From 01dc9cb0a5737cb5d897c8a3915c98fe9b2fd9ab Mon Sep 17 00:00:00 2001 From: unknown Date: Sat, 25 Jul 2015 21:53:53 -0600 Subject: [PATCH] Replaced most indexers' byte size string parsing with shared helper function --- README.md | 2 +- src/Jackett/Indexers/AnimeBytes.cs | 3 +-- src/Jackett/Indexers/BB.cs | 5 ++--- src/Jackett/Indexers/BakaBT.cs | 4 ++-- src/Jackett/Indexers/BeyondHD.cs | 7 ++----- src/Jackett/Indexers/BitHdtv.cs | 6 ++---- src/Jackett/Indexers/BitMeTV.cs | 6 ++---- src/Jackett/Indexers/FrenchTorrentDb.cs | 6 ++---- src/Jackett/Indexers/Freshon.cs | 6 ++---- src/Jackett/Indexers/HDTorrents.cs | 3 +-- src/Jackett/Indexers/IPTorrents.cs | 6 ++---- src/Jackett/Indexers/Pretome.cs | 1 - src/Jackett/Indexers/PrivateHD.cs | 5 ++--- src/Jackett/Indexers/SceneAccess.cs | 3 +-- src/Jackett/Indexers/SceneTime.cs | 6 ++---- src/Jackett/Indexers/SpeedCD.cs | 4 ++-- src/Jackett/Indexers/ThePirateBay.cs | 5 +---- src/Jackett/Indexers/TorrentDay.cs | 5 ++--- src/Jackett/Indexers/TorrentLeech.cs | 4 ++-- src/Jackett/Indexers/TorrentShack.cs | 5 ++--- src/Jackett/Jackett.csproj | 2 +- 21 files changed, 34 insertions(+), 60 deletions(-) diff --git a/README.md b/README.md index 2de027969..a4819e880 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,7 @@ Download in the [Releases page](https://github.com/zone117x/Jackett/releases) ### Supported Trackers * [AlphaRatio](https://alpharatio.cc/) * [AnimeBytes](https://animebytes.tv/) + * [BakaBT](http://bakabt.me/) * [bB](http://reddit.com/r/baconbits) * [BeyondHD](https://beyondhd.me/) * [BIT-HDTV](https://www.bit-hdtv.com) @@ -47,7 +48,6 @@ Download in the [Releases page](https://github.com/zone117x/Jackett/releases) * [TorrentLeech](http://www.torrentleech.org/) * [TorrentShack](http://torrentshack.me/) * [Torrentz](https://torrentz.eu/) - * [BakaBT](http://bakabt.me/) ### Additional Trackers diff --git a/src/Jackett/Indexers/AnimeBytes.cs b/src/Jackett/Indexers/AnimeBytes.cs index e9b0314a3..44c4af949 100644 --- a/src/Jackett/Indexers/AnimeBytes.cs +++ b/src/Jackett/Indexers/AnimeBytes.cs @@ -353,8 +353,7 @@ namespace Jackett.Indexers var size = rowCq.Find(".torrent_size"); if (size.Count() > 0) { - var sizeParts = size.First().Text().Split(' '); - release.Size = ReleaseInfo.GetBytes(sizeParts[1], ParseUtil.CoerceFloat(sizeParts[0])); + release.Size = ReleaseInfo.GetBytes(size.First().Text()); } // Additional 5 hours per GB diff --git a/src/Jackett/Indexers/BB.cs b/src/Jackett/Indexers/BB.cs index 6eadcee5a..9e7c39251 100644 --- a/src/Jackett/Indexers/BB.cs +++ b/src/Jackett/Indexers/BB.cs @@ -132,9 +132,8 @@ namespace Jackett.Indexers var dateStr = row.ChildElements.ElementAt(3).Cq().Text().Trim().Replace(" and", ""); release.PublishDate = DateTimeUtil.FromTimeAgo(dateStr); - var sizeStr = row.ChildElements.ElementAt(4).Cq().Text().Trim(); - var sizeParts = sizeStr.Split(' '); - release.Size = ReleaseInfo.GetBytes(sizeParts[1], ParseUtil.CoerceFloat(sizeParts[0])); + var sizeStr = row.ChildElements.ElementAt(4).Cq().Text(); + release.Size = ReleaseInfo.GetBytes(sizeStr); release.Seeders = ParseUtil.CoerceInt(row.ChildElements.ElementAt(7).Cq().Text().Trim()); release.Peers = ParseUtil.CoerceInt(row.ChildElements.ElementAt(8).Cq().Text().Trim()) + release.Seeders; diff --git a/src/Jackett/Indexers/BakaBT.cs b/src/Jackett/Indexers/BakaBT.cs index c239b8be1..647c6f878 100644 --- a/src/Jackett/Indexers/BakaBT.cs +++ b/src/Jackett/Indexers/BakaBT.cs @@ -185,8 +185,8 @@ namespace Jackett.Indexers release.MinimumRatio = 1; - var size = qRow.Find(".size").First().Text().Split(' '); - release.Size = ReleaseInfo.GetBytes(size[1], ParseUtil.CoerceFloat(size[0])); + var size = qRow.Find(".size").First().Text(); + release.Size = ReleaseInfo.GetBytes(size); //22 Jul 15 var dateStr = qRow.Find(".added . datetime").First().Text().Replace("'", string.Empty); diff --git a/src/Jackett/Indexers/BeyondHD.cs b/src/Jackett/Indexers/BeyondHD.cs index db6843757..152a9b9f9 100644 --- a/src/Jackett/Indexers/BeyondHD.cs +++ b/src/Jackett/Indexers/BeyondHD.cs @@ -116,11 +116,8 @@ namespace Jackett.Indexers var dateStr = descCol.ChildElements.Last().Cq().Text().Split('|').Last().ToLowerInvariant().Replace("ago.", "").Trim(); release.PublishDate = DateTimeUtil.FromTimeAgo(dateStr); - var sizeEl = row.ChildElements.ElementAt(7); - var sizeVal = ParseUtil.CoerceFloat(sizeEl.ChildNodes.First().NodeValue); - var sizeUnit = sizeEl.ChildNodes.Last().NodeValue; - - release.Size = ReleaseInfo.GetBytes(sizeUnit, sizeVal); + var sizeStr = row.ChildElements.ElementAt(7).Cq().Text(); + release.Size = ReleaseInfo.GetBytes(sizeStr); release.Seeders = ParseUtil.CoerceInt(row.ChildElements.ElementAt(9).Cq().Text()); release.Peers = ParseUtil.CoerceInt(row.ChildElements.ElementAt(10).Cq().Text()) + release.Seeders; diff --git a/src/Jackett/Indexers/BitHdtv.cs b/src/Jackett/Indexers/BitHdtv.cs index 9e802cf65..66ea5b035 100644 --- a/src/Jackett/Indexers/BitHdtv.cs +++ b/src/Jackett/Indexers/BitHdtv.cs @@ -125,10 +125,8 @@ namespace Jackett.Indexers var pubDate = DateTime.ParseExact(dateString, "yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture); release.PublishDate = DateTime.SpecifyKind(pubDate, DateTimeKind.Local); - var sizeCol = qRow.Children().ElementAt(6); - var sizeVal = sizeCol.ChildNodes[0].NodeValue; - var sizeUnit = sizeCol.ChildNodes[2].NodeValue; - release.Size = ReleaseInfo.GetBytes(sizeUnit, ParseUtil.CoerceFloat(sizeVal)); + var sizeStr = qRow.Children().ElementAt(6).Cq().Text(); + release.Size = ReleaseInfo.GetBytes(sizeStr); release.Seeders = ParseUtil.CoerceInt(qRow.Children().ElementAt(8).Cq().Text().Trim()); release.Peers = ParseUtil.CoerceInt(qRow.Children().ElementAt(9).Cq().Text().Trim()) + release.Seeders; diff --git a/src/Jackett/Indexers/BitMeTV.cs b/src/Jackett/Indexers/BitMeTV.cs index 0867db4da..4ee4e8aad 100644 --- a/src/Jackett/Indexers/BitMeTV.cs +++ b/src/Jackett/Indexers/BitMeTV.cs @@ -163,10 +163,8 @@ namespace Jackett.Indexers release.Link = new Uri(SiteLink + "/" + row.ChildElements.ElementAt(2).Cq().Children("a.index").Attr("href")); - var sizeCol = row.ChildElements.ElementAt(6); - var sizeVal = ParseUtil.CoerceFloat(sizeCol.ChildNodes[0].NodeValue); - var sizeUnit = sizeCol.ChildNodes[2].NodeValue; - release.Size = ReleaseInfo.GetBytes(sizeUnit, sizeVal); + var sizeStr = row.ChildElements.ElementAt(6).Cq().Text(); + release.Size = ReleaseInfo.GetBytes(sizeStr); release.Seeders = ParseUtil.CoerceInt(row.ChildElements.ElementAt(8).Cq().Text()); release.Peers = ParseUtil.CoerceInt(row.ChildElements.ElementAt(9).Cq().Text()) + release.Seeders; diff --git a/src/Jackett/Indexers/FrenchTorrentDb.cs b/src/Jackett/Indexers/FrenchTorrentDb.cs index 128b0e674..982fabd30 100644 --- a/src/Jackett/Indexers/FrenchTorrentDb.cs +++ b/src/Jackett/Indexers/FrenchTorrentDb.cs @@ -139,10 +139,8 @@ namespace Jackett.Indexers release.PublishDate = DateTime.Now; release.Seeders = ParseUtil.CoerceInt(qRow.Find("li.torrents_seeders").Text()); release.Peers = ParseUtil.CoerceInt(qRow.Find("li.torrents_leechers").Text()) + release.Seeders; - var sizeParts = qRow.Find("li.torrents_size").Text().Split(' '); - var sizeVal = ParseUtil.CoerceFloat(sizeParts[0]); - var sizeUnit = sizeParts[1]; - release.Size = ReleaseInfo.GetBytes(sizeUnit, sizeVal); + var sizeParts = qRow.Find("li.torrents_size").Text(); + release.Size = ReleaseInfo.GetBytes(sizeParts); releases.Add(release); } diff --git a/src/Jackett/Indexers/Freshon.cs b/src/Jackett/Indexers/Freshon.cs index 8c7d0346e..cc59ab6a4 100644 --- a/src/Jackett/Indexers/Freshon.cs +++ b/src/Jackett/Indexers/Freshon.cs @@ -162,10 +162,8 @@ namespace Jackett.Indexers release.Seeders = ParseUtil.CoerceInt(qRow.Find("td.table_seeders").Text().Trim()); release.Peers = ParseUtil.CoerceInt(qRow.Find("td.table_leechers").Text().Trim()) + release.Seeders; - var sizeCol = qRow.Find("td.table_size")[0]; - var sizeVal = ParseUtil.CoerceFloat(sizeCol.ChildNodes[0].NodeValue.Trim()); - var sizeUnit = sizeCol.ChildNodes[2].NodeValue.Trim(); - release.Size = ReleaseInfo.GetBytes(sizeUnit, sizeVal); + var sizeStr = qRow.Find("td.table_size")[0].Cq().Text(); + release.Size = ReleaseInfo.GetBytes(sizeStr); releases.Add(release); } diff --git a/src/Jackett/Indexers/HDTorrents.cs b/src/Jackett/Indexers/HDTorrents.cs index dafca3908..9d8edc90d 100644 --- a/src/Jackett/Indexers/HDTorrents.cs +++ b/src/Jackett/Indexers/HDTorrents.cs @@ -167,8 +167,7 @@ namespace Jackett.Indexers } string fullSize = qRow.Find("td.mainblockcontent").Get(6).InnerText; - string[] sizeSplit = fullSize.Split(' '); - release.Size = ReleaseInfo.GetBytes(sizeSplit[1], ParseUtil.CoerceFloat(sizeSplit[0])); + release.Size = ReleaseInfo.GetBytes(fullSize); release.Guid = new Uri(SiteLink + "/" + qRow.Find("td.mainblockcontent b a").Attr("href")); release.Link = new Uri(SiteLink + "/" + qRow.Find("td.mainblockcontent").Get(3).FirstChild.GetAttribute("href")); diff --git a/src/Jackett/Indexers/IPTorrents.cs b/src/Jackett/Indexers/IPTorrents.cs index aa9356f21..1bf2923e6 100644 --- a/src/Jackett/Indexers/IPTorrents.cs +++ b/src/Jackett/Indexers/IPTorrents.cs @@ -150,10 +150,8 @@ namespace Jackett.Indexers var qLink = row.ChildElements.ElementAt(3).Cq().Children("a"); release.Link = new Uri(SiteLink + qLink.Attr("href")); - var sizeStr = row.ChildElements.ElementAt(5).Cq().Text().Trim(); - var sizeVal = ParseUtil.CoerceFloat(sizeStr.Split(' ')[0]); - var sizeUnit = sizeStr.Split(' ')[1]; - release.Size = ReleaseInfo.GetBytes(sizeUnit, sizeVal); + var sizeStr = row.ChildElements.ElementAt(5).Cq().Text(); + release.Size = ReleaseInfo.GetBytes(sizeStr); release.Seeders = ParseUtil.CoerceInt(qRow.Find(".t_seeders").Text().Trim()); release.Peers = ParseUtil.CoerceInt(qRow.Find(".t_leechers").Text().Trim()) + release.Seeders; diff --git a/src/Jackett/Indexers/Pretome.cs b/src/Jackett/Indexers/Pretome.cs index be1acc50e..f4bd52149 100644 --- a/src/Jackett/Indexers/Pretome.cs +++ b/src/Jackett/Indexers/Pretome.cs @@ -30,7 +30,6 @@ namespace Jackett.Indexers { return new Item[] { Pin, Username, Password }; } - } private readonly string LoginUrl = ""; diff --git a/src/Jackett/Indexers/PrivateHD.cs b/src/Jackett/Indexers/PrivateHD.cs index 9230f7888..6337b8b50 100644 --- a/src/Jackett/Indexers/PrivateHD.cs +++ b/src/Jackett/Indexers/PrivateHD.cs @@ -154,9 +154,8 @@ namespace Jackett.Indexers var dateStr = row.ChildElements.ElementAt(5).Cq().Text().Trim(); release.PublishDate = DateTimeUtil.FromTimeAgo(dateStr); - var sizeStr = row.ChildElements.ElementAt(6).Cq().Text().Trim(); - var sizeParts = sizeStr.Split(new char[0], StringSplitOptions.RemoveEmptyEntries); - release.Size = ReleaseInfo.GetBytes(sizeParts[1], ParseUtil.CoerceFloat(sizeParts[0])); + var sizeStr = row.ChildElements.ElementAt(6).Cq().Text(); + release.Size = ReleaseInfo.GetBytes(sizeStr); release.Seeders = ParseUtil.CoerceInt(row.ChildElements.ElementAt(8).Cq().Text()); release.Peers = ParseUtil.CoerceInt(row.ChildElements.ElementAt(9).Cq().Text()) + release.Seeders; diff --git a/src/Jackett/Indexers/SceneAccess.cs b/src/Jackett/Indexers/SceneAccess.cs index d8056080d..176aed44e 100644 --- a/src/Jackett/Indexers/SceneAccess.cs +++ b/src/Jackett/Indexers/SceneAccess.cs @@ -138,8 +138,7 @@ namespace Jackett.Indexers release.Link = new Uri(SiteLink + "/" + qRow.Find(".td_dl > a").Attr("href")); var sizeStr = qRow.Find(".ttr_size").Contents()[0].NodeValue; - var sizeParts = sizeStr.Split(' '); - release.Size = ReleaseInfo.GetBytes(sizeParts[1], ParseUtil.CoerceFloat(sizeParts[0])); + release.Size = ReleaseInfo.GetBytes(sizeStr); var timeStr = qRow.Find(".ttr_added").Text(); DateTime time; diff --git a/src/Jackett/Indexers/SceneTime.cs b/src/Jackett/Indexers/SceneTime.cs index f7a80b4c8..a7cb9aa1a 100644 --- a/src/Jackett/Indexers/SceneTime.cs +++ b/src/Jackett/Indexers/SceneTime.cs @@ -137,10 +137,8 @@ namespace Jackett.Indexers var localDate = TimeZoneInfo.ConvertTimeToUtc(euDate, TimeZoneInfo.FindSystemTimeZoneById(timezoneString)).ToLocalTime(); release.PublishDate = localDate; - var sizeNodes = row.ChildElements.ElementAt(5).ChildNodes; - var sizeVal = sizeNodes.First().NodeValue; - var sizeUnit = sizeNodes.Last().NodeValue; - release.Size = ReleaseInfo.GetBytes(sizeUnit, ParseUtil.CoerceFloat(sizeVal)); + var sizeStr = row.ChildElements.ElementAt(5).Cq().Text(); + release.Size = ReleaseInfo.GetBytes(sizeStr); release.Seeders = ParseUtil.CoerceInt(row.ChildElements.ElementAt(6).Cq().Text().Trim()); release.Peers = ParseUtil.CoerceInt(row.ChildElements.ElementAt(7).Cq().Text().Trim()) + release.Seeders; diff --git a/src/Jackett/Indexers/SpeedCD.cs b/src/Jackett/Indexers/SpeedCD.cs index 8754833a9..ba48e7161 100644 --- a/src/Jackett/Indexers/SpeedCD.cs +++ b/src/Jackett/Indexers/SpeedCD.cs @@ -121,8 +121,8 @@ namespace Jackett.Indexers release.Title = Regex.Replace((string)jobj["name"], "<.*?>", String.Empty); - var sizeParts = ((string)jobj["size"]).Split(' '); - release.Size = ReleaseInfo.GetBytes(sizeParts[1], ParseUtil.CoerceFloat(sizeParts[0])); + var SizeStr = ((string)jobj["size"]); + release.Size = ReleaseInfo.GetBytes(SizeStr); release.Seeders = ParseUtil.CoerceInt((string)jobj["seed"]); release.Peers = ParseUtil.CoerceInt((string)jobj["leech"]) + release.Seeders; diff --git a/src/Jackett/Indexers/ThePirateBay.cs b/src/Jackett/Indexers/ThePirateBay.cs index 281df8382..e30169b19 100644 --- a/src/Jackett/Indexers/ThePirateBay.cs +++ b/src/Jackett/Indexers/ThePirateBay.cs @@ -152,10 +152,7 @@ namespace Jackett.Indexers release.PublishDate = DateTime.SpecifyKind(utc, DateTimeKind.Utc).ToLocalTime(); } - var sizeParts = descParts[1].Split(new char[] { ' ', ' ' }, StringSplitOptions.RemoveEmptyEntries); - var sizeVal = ParseUtil.CoerceFloat(sizeParts[1]); - var sizeUnit = sizeParts[2]; - release.Size = ReleaseInfo.GetBytes(sizeUnit, sizeVal); + release.Size = ReleaseInfo.GetBytes(descParts[1]); release.Seeders = ParseUtil.CoerceInt(row.ChildElements.ElementAt(2).Cq().Text()); release.Peers = ParseUtil.CoerceInt(row.ChildElements.ElementAt(3).Cq().Text()) + release.Seeders; diff --git a/src/Jackett/Indexers/TorrentDay.cs b/src/Jackett/Indexers/TorrentDay.cs index fb7d9ca03..7399366ec 100644 --- a/src/Jackett/Indexers/TorrentDay.cs +++ b/src/Jackett/Indexers/TorrentDay.cs @@ -132,9 +132,8 @@ namespace Jackett.Indexers release.Comments = release.Guid; release.Link = new Uri(SiteLink + "/" + qRow.Find(".dlLinksInfo > a").Attr("href")); - var sizeStr = qRow.Find(".sizeInfo").Text().Trim(); - var sizeParts = sizeStr.Split(' '); - release.Size = ReleaseInfo.GetBytes(sizeParts[1], ParseUtil.CoerceFloat(sizeParts[0])); + var sizeStr = qRow.Find(".sizeInfo").Text(); + release.Size = ReleaseInfo.GetBytes(sizeStr); var dateStr = qRow.Find(".ulInfo").Text().Split('|').Last().Trim(); release.PublishDate = DateTimeUtil.FromTimeAgo(dateStr); diff --git a/src/Jackett/Indexers/TorrentLeech.cs b/src/Jackett/Indexers/TorrentLeech.cs index 7ce21111e..52c4bc4bc 100644 --- a/src/Jackett/Indexers/TorrentLeech.cs +++ b/src/Jackett/Indexers/TorrentLeech.cs @@ -128,8 +128,8 @@ namespace Jackett.Indexers //"yyyy-MMM-dd hh:mm:ss" release.PublishDate = DateTime.ParseExact(dateString, "yyyy-MM-ddHH:mm:ss", CultureInfo.InvariantCulture); - var sizeStringParts = qRow.Children().ElementAt(4).InnerText.Split(' '); - release.Size = ReleaseInfo.GetBytes(sizeStringParts[1], ParseUtil.CoerceFloat(sizeStringParts[0])); + var sizeStr = qRow.Children().ElementAt(4).InnerText; + release.Size = ReleaseInfo.GetBytes(sizeStr); release.Seeders = ParseUtil.CoerceInt(qRow.Find(".seeders").Text()); release.Peers = release.Seeders + ParseUtil.CoerceInt(qRow.Find(".leechers").Text()); diff --git a/src/Jackett/Indexers/TorrentShack.cs b/src/Jackett/Indexers/TorrentShack.cs index f209cac41..97eb3f99a 100644 --- a/src/Jackett/Indexers/TorrentShack.cs +++ b/src/Jackett/Indexers/TorrentShack.cs @@ -120,9 +120,8 @@ namespace Jackett.Indexers var dateStr = qRow.Find(".time").Text().Trim(); release.PublishDate = DateTimeUtil.FromTimeAgo(dateStr); - var sizeStr = qRow.Find(".size")[0].ChildNodes[0].NodeValue.Trim(); - var sizeParts = sizeStr.Split(' '); - release.Size = ReleaseInfo.GetBytes(sizeParts[1], ParseUtil.CoerceFloat(sizeParts[0])); + var sizeStr = qRow.Find(".size")[0].ChildNodes[0].NodeValue; + release.Size = ReleaseInfo.GetBytes(sizeStr); release.Seeders = ParseUtil.CoerceInt(qRow.Children().ElementAt(6).InnerText.Trim()); release.Peers = ParseUtil.CoerceInt(qRow.Children().ElementAt(7).InnerText.Trim()) + release.Seeders; diff --git a/src/Jackett/Jackett.csproj b/src/Jackett/Jackett.csproj index 6c72b4ec5..5e2230b6a 100644 --- a/src/Jackett/Jackett.csproj +++ b/src/Jackett/Jackett.csproj @@ -279,7 +279,7 @@ PreserveNewest - + PreserveNewest