mirror of https://github.com/Jackett/Jackett
Re-run dotnet format and enable style enforcement. (#8053)
This commit is contained in:
parent
4f9670413d
commit
6dc00de864
|
@ -254,9 +254,52 @@ stages:
|
|||
inputs:
|
||||
pathtoPublish: '$(Build.ArtifactStagingDirectory)'
|
||||
|
||||
- stage: CodeStyle
|
||||
displayName: Code Style Compliance
|
||||
dependsOn: []
|
||||
jobs:
|
||||
- job: Linting
|
||||
pool:
|
||||
vmImage: ubuntu-latest
|
||||
workspace:
|
||||
clean: all
|
||||
steps:
|
||||
- checkout: self
|
||||
|
||||
- task: UseDotNet@2
|
||||
displayName: Install .NET Core SDK
|
||||
inputs:
|
||||
packageType: sdk
|
||||
version: $(netCoreSdkVersion)
|
||||
installationPath: $(Agent.ToolsDirectory)/dotnet
|
||||
|
||||
- task: DotNetCoreCLI@2
|
||||
displayName: Install Dotnet Format
|
||||
inputs:
|
||||
command: custom
|
||||
custom: tool
|
||||
arguments: update -g dotnet-format
|
||||
|
||||
- task: Bash@3
|
||||
displayName: Lint Dotnet
|
||||
inputs:
|
||||
workingDirectory: $(Build.SourcesDirectory)
|
||||
targetType: inline
|
||||
failOnStderr: true
|
||||
script: |
|
||||
dotnet-format --dry-run --check --verbosity diagnostic --folder ./src/DateTimeRoutines
|
||||
dotnet-format --dry-run --check --verbosity diagnostic --folder ./src/Jackett.Common
|
||||
dotnet-format --dry-run --check --verbosity diagnostic --folder ./src/Jackett.IntegrationTests
|
||||
dotnet-format --dry-run --check --verbosity diagnostic --folder ./src/Jackett.Server
|
||||
dotnet-format --dry-run --check --verbosity diagnostic --folder ./src/Jackett.Service
|
||||
dotnet-format --dry-run --check --verbosity diagnostic --folder ./src/Jackett.Test
|
||||
dotnet-format --dry-run --check --verbosity diagnostic --folder ./src/Jackett.Tray
|
||||
dotnet-format --dry-run --check --verbosity diagnostic --folder ./src/Jackett.Updater
|
||||
|
||||
|
||||
- stage: UnitTestJackett
|
||||
displayName: Unit Tests
|
||||
dependsOn: CodeStyle
|
||||
jobs:
|
||||
- job: UnitTest
|
||||
workspace:
|
||||
|
|
|
@ -155,7 +155,7 @@ namespace Jackett.Common.Indexers.Abstract
|
|||
.Replace("text-pink", string.Empty);
|
||||
release.Category = MapTrackerCatToNewznab(cat.Trim());
|
||||
|
||||
var grabs =row.QuerySelector("td:nth-child(9)").Text();
|
||||
var grabs = row.QuerySelector("td:nth-child(9)").Text();
|
||||
release.Grabs = ParseUtil.CoerceInt(grabs);
|
||||
|
||||
if (row.QuerySelectorAll("i.fa-star").Any())
|
||||
|
@ -185,7 +185,7 @@ namespace Jackett.Common.Indexers.Abstract
|
|||
try
|
||||
{
|
||||
var imdbUrl = IMDBSearch + imdbId;
|
||||
var imdbHeaders = new Dictionary<string, string> { {"X-Requested-With", "XMLHttpRequest"} };
|
||||
var imdbHeaders = new Dictionary<string, string> { { "X-Requested-With", "XMLHttpRequest" } };
|
||||
var imdbResponse = await RequestStringWithCookiesAndRetry(imdbUrl, null, null, imdbHeaders);
|
||||
if (imdbResponse.IsRedirect)
|
||||
{
|
||||
|
|
|
@ -87,7 +87,7 @@ namespace Jackett.Common.Indexers
|
|||
qc.Add("action", "latestmovies");
|
||||
// the endpoint 'latestmovies' only returns movies, this hack overwrites categories to get movies even if
|
||||
// you are searching for tv series. this allows to configure the tracker in Sonarr
|
||||
query.Categories = new int[] {};
|
||||
query.Categories = new int[] { };
|
||||
}
|
||||
|
||||
var searchUrl = SearchUrl + "?" + qc.GetQueryString();
|
||||
|
|
|
@ -253,7 +253,7 @@ namespace Jackett.Common.Indexers
|
|||
release.Description += line + "\n";
|
||||
if (line.Contains(":"))
|
||||
{
|
||||
if(!(line.StartsWith("Lançado") || line.StartsWith("Resolução") || line.StartsWith("Idioma") || line.StartsWith("Autor")))
|
||||
if (!(line.StartsWith("Lançado") || line.StartsWith("Resolução") || line.StartsWith("Idioma") || line.StartsWith("Autor")))
|
||||
{
|
||||
var info = line.Substring(line.IndexOf(": ") + 2);
|
||||
if (info == "Dual Áudio")
|
||||
|
|
|
@ -105,11 +105,11 @@ namespace Jackett.Common.Indexers
|
|||
|
||||
return new ConfigurationDataBasicLogin
|
||||
{
|
||||
SiteLink = {Value = configData.SiteLink.Value},
|
||||
Instructions = {Value = configData.Instructions.Value},
|
||||
Username = {Value = configData.Username.Value},
|
||||
Password = {Value = configData.Password.Value},
|
||||
CookieHeader = {Value = loginPage.Cookies}
|
||||
SiteLink = { Value = configData.SiteLink.Value },
|
||||
Instructions = { Value = configData.Instructions.Value },
|
||||
Username = { Value = configData.Username.Value },
|
||||
Password = { Value = configData.Password.Value },
|
||||
CookieHeader = { Value = loginPage.Cookies }
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -122,7 +122,7 @@ namespace Jackett.Common.Indexers
|
|||
PublishDate = lastPublishDate,
|
||||
BannerUrl = banner,
|
||||
Description = description,
|
||||
Category = new List<int> {TorznabCatType.BooksEbook.ID},
|
||||
Category = new List<int> { TorznabCatType.BooksEbook.ID },
|
||||
Size = 5242880, // 5 MB
|
||||
Seeders = 1,
|
||||
Peers = 2,
|
||||
|
@ -151,7 +151,8 @@ namespace Jackett.Common.Indexers
|
|||
var result = await RequestStringWithCookiesAndRetry(link.AbsoluteUri);
|
||||
if (SobrecargaUrl.Equals(result.RedirectingTo))
|
||||
throw new Exception("El servidor se encuentra sobrecargado en estos momentos. / The server is currently overloaded.");
|
||||
try {
|
||||
try
|
||||
{
|
||||
var parser = new HtmlParser();
|
||||
var doc = parser.ParseDocument(result.Content);
|
||||
var magnetLink = doc.QuerySelector("a[id=en_desc]").GetAttribute("href");
|
||||
|
|
|
@ -29,7 +29,7 @@ namespace Jackett.Common.Indexers.Feeds
|
|||
protected virtual ReleaseInfo ResultFromFeedItem(XElement item)
|
||||
{
|
||||
var attributes = item.Descendants().Where(e => e.Name.LocalName == "attr");
|
||||
var size = long.TryParse(ReadAttribute(attributes, "size"), out var longVal ) ? (long?)longVal : null;
|
||||
var size = long.TryParse(ReadAttribute(attributes, "size"), out var longVal) ? (long?)longVal : null;
|
||||
var files = long.TryParse(ReadAttribute(attributes, "files"), out longVal) ? (long?)longVal : null;
|
||||
var seeders = int.TryParse(ReadAttribute(attributes, "seeders"), out var intVal) ? (int?)intVal : null;
|
||||
var peers = int.TryParse(ReadAttribute(attributes, "peers"), out intVal) ? (int?)intVal : null;
|
||||
|
|
|
@ -91,16 +91,16 @@ namespace Jackett.Common.Indexers
|
|||
|
||||
var categories = MapTorznabCapsToTrackers(query);
|
||||
|
||||
if(categories.Any())
|
||||
if (categories.Any())
|
||||
requestData.Add("category", JToken.FromObject(categories));
|
||||
|
||||
if(configData.Codecs.Values.Any())
|
||||
if (configData.Codecs.Values.Any())
|
||||
requestData.Add("codec", JToken.FromObject(configData.Codecs.Values.Select(int.Parse)));
|
||||
|
||||
if(configData.Mediums.Values.Any())
|
||||
if (configData.Mediums.Values.Any())
|
||||
requestData.Add("medium", JToken.FromObject(configData.Mediums.Values.Select(int.Parse)));
|
||||
|
||||
if(configData.Origins.Values.Any())
|
||||
if (configData.Origins.Values.Any())
|
||||
requestData.Add("origin", JToken.FromObject(configData.Origins.Values.Select(int.Parse)));
|
||||
|
||||
requestData["limit"] = 100;
|
||||
|
|
|
@ -140,7 +140,7 @@ namespace Jackett.Common.Indexers
|
|||
release.Guid = release.Comments;
|
||||
|
||||
var imdbLink = row.Children[1].QuerySelector("a[href*=imdb]");
|
||||
if(imdbLink != null)
|
||||
if (imdbLink != null)
|
||||
release.Imdb = ParseUtil.GetImdbID(imdbLink.GetAttribute("href").Split('/').Last());
|
||||
|
||||
var qDownload = row.Children[3].FirstElementChild;
|
||||
|
|
|
@ -723,7 +723,7 @@ namespace Jackett.Common.Indexers
|
|||
// TODO this feels sparse compared to other trackers. Expand later
|
||||
var release = new ReleaseInfo
|
||||
{
|
||||
Category = new[] {TorznabCatType.TV.ID},
|
||||
Category = new[] { TorznabCatType.TV.ID },
|
||||
Title = string.Join(" - ", titleComponents.Where(s => !string.IsNullOrEmpty(s))),
|
||||
Link = link,
|
||||
Guid = link,
|
||||
|
|
|
@ -36,10 +36,10 @@ namespace Jackett.Common.Indexers.Meta
|
|||
|
||||
public async Task<IEnumerable<TorznabQuery>> FallbackQueries()
|
||||
{
|
||||
if(string.IsNullOrEmpty(query.ImdbID))
|
||||
if (string.IsNullOrEmpty(query.ImdbID))
|
||||
return Enumerable.Empty<TorznabQuery>();
|
||||
var title = (await resolver.MovieForId(query.ImdbID)).Title;
|
||||
return title != null ? new[] {query.CreateFallback(title)} : Enumerable.Empty<TorznabQuery>();
|
||||
return title != null ? new[] { query.CreateFallback(title) } : Enumerable.Empty<TorznabQuery>();
|
||||
}
|
||||
|
||||
private readonly IImdbResolver resolver;
|
||||
|
|
|
@ -95,7 +95,7 @@ namespace Jackett.Common.Indexers
|
|||
|
||||
|
||||
var movieListSearchUrl = SearchUrl;
|
||||
var queryCollection = new NameValueCollection {{"json", "noredirect"}};
|
||||
var queryCollection = new NameValueCollection { { "json", "noredirect" } };
|
||||
|
||||
if (!string.IsNullOrEmpty(query.ImdbID))
|
||||
queryCollection.Add("searchstr", query.ImdbID);
|
||||
|
|
|
@ -186,7 +186,7 @@ namespace Jackett.Common.Indexers
|
|||
MinimumRatio = 1,
|
||||
MinimumSeedTime = 72 * 60 * 60,
|
||||
Title = group + " " + title.TextContent,
|
||||
Category = new List<int> {TorznabCatType.MoviesHD.ID},
|
||||
Category = new List<int> { TorznabCatType.MoviesHD.ID },
|
||||
Link = link,
|
||||
Comments = comments,
|
||||
Guid = link,
|
||||
|
|
|
@ -156,10 +156,10 @@ namespace Jackett.Common.Indexers
|
|||
var dateStr = qPudDate.Text().Trim();
|
||||
DateTime pubDateUtc;
|
||||
if (dateStr.StartsWith("Today "))
|
||||
pubDateUtc = DateTime.SpecifyKind(DateTime.UtcNow.Date, DateTimeKind.Unspecified) + DateTime.ParseExact(dateStr.Split(new [] { ' ' }, 2)[1], "hh:mm tt", CultureInfo.InvariantCulture).TimeOfDay;
|
||||
pubDateUtc = DateTime.SpecifyKind(DateTime.UtcNow.Date, DateTimeKind.Unspecified) + DateTime.ParseExact(dateStr.Split(new[] { ' ' }, 2)[1], "hh:mm tt", CultureInfo.InvariantCulture).TimeOfDay;
|
||||
else if (dateStr.StartsWith("Yesterday "))
|
||||
pubDateUtc = DateTime.SpecifyKind(DateTime.UtcNow.Date, DateTimeKind.Unspecified) +
|
||||
DateTime.ParseExact(dateStr.Split(new [] { ' ' }, 2)[1], "hh:mm tt", CultureInfo.InvariantCulture).TimeOfDay - TimeSpan.FromDays(1);
|
||||
DateTime.ParseExact(dateStr.Split(new[] { ' ' }, 2)[1], "hh:mm tt", CultureInfo.InvariantCulture).TimeOfDay - TimeSpan.FromDays(1);
|
||||
else
|
||||
pubDateUtc = DateTime.SpecifyKind(DateTime.ParseExact(dateStr, "MMM d yyyy hh:mm tt", CultureInfo.InvariantCulture), DateTimeKind.Unspecified);
|
||||
|
||||
|
|
|
@ -122,10 +122,10 @@ namespace Jackett.Common.Indexers
|
|||
{
|
||||
var stdResult = new ConfigurationDataBasicLogin
|
||||
{
|
||||
SiteLink = {Value = configData.SiteLink.Value},
|
||||
Username = {Value = configData.Username.Value},
|
||||
Password = {Value = configData.Password.Value},
|
||||
CookieHeader = {Value = loginPage.Cookies}
|
||||
SiteLink = { Value = configData.SiteLink.Value },
|
||||
Username = { Value = configData.Username.Value },
|
||||
Password = { Value = configData.Password.Value },
|
||||
CookieHeader = { Value = loginPage.Cookies }
|
||||
};
|
||||
return stdResult;
|
||||
}
|
||||
|
|
|
@ -162,8 +162,8 @@ namespace Jackett.Common.Indexers
|
|||
}
|
||||
foreach (var release in releases)
|
||||
release.Category = release.Title.Contains("1080p") || release.Title.Contains("720p")
|
||||
? new List<int> {TorznabCatType.TVHD.ID}
|
||||
: new List<int> {TorznabCatType.TVSD.ID};
|
||||
? new List<int> { TorznabCatType.TVHD.ID }
|
||||
: new List<int> { TorznabCatType.TVSD.ID };
|
||||
return releases;
|
||||
}
|
||||
|
||||
|
|
|
@ -89,7 +89,7 @@ namespace Jackett.Common.Indexers
|
|||
MinimumSeedTime = 172800, // 48 hours
|
||||
Title = title,
|
||||
Comments = magnetUri,
|
||||
Category = new List<int> {category},
|
||||
Category = new List<int> { category },
|
||||
Guid = guid,
|
||||
PublishDate = publishDate,
|
||||
Description = infoHash,
|
||||
|
|
|
@ -120,7 +120,7 @@ namespace Jackett.Common.Indexers
|
|||
var size = ReleaseInfo.GetBytes(Size.TextContent);
|
||||
var grabs = ParseUtil.CoerceLong(Grabs.TextContent);
|
||||
var files = ParseUtil.CoerceLong(Files.TextContent);
|
||||
var category = new List<int> {TvCategoryParser.ParseTvShowQuality(description)};
|
||||
var category = new List<int> { TvCategoryParser.ParseTvShowQuality(description) };
|
||||
var release = new ReleaseInfo
|
||||
{
|
||||
MinimumRatio = 1,
|
||||
|
|
|
@ -120,11 +120,11 @@ namespace Jackett.Common.Indexers
|
|||
{
|
||||
var result = new ConfigurationDataBasicLogin
|
||||
{
|
||||
SiteLink = {Value = configData.SiteLink.Value},
|
||||
Instructions = {Value = configData.Instructions.Value},
|
||||
Username = {Value = configData.Username.Value},
|
||||
Password = {Value = configData.Password.Value},
|
||||
CookieHeader = {Value = loginPage.Cookies}
|
||||
SiteLink = { Value = configData.SiteLink.Value },
|
||||
Instructions = { Value = configData.Instructions.Value },
|
||||
Username = { Value = configData.Username.Value },
|
||||
Password = { Value = configData.Password.Value },
|
||||
CookieHeader = { Value = loginPage.Cookies }
|
||||
};
|
||||
return result;
|
||||
}
|
||||
|
|
|
@ -155,7 +155,7 @@ namespace Jackett.Common.Indexers
|
|||
var tvEpisode = query.GetEpisodeSearchString();
|
||||
if (!string.IsNullOrWhiteSpace(tvEpisode))
|
||||
{
|
||||
if(tvEpisode.StartsWith("S") && !tvEpisode.Contains("E"))
|
||||
if (tvEpisode.StartsWith("S") && !tvEpisode.Contains("E"))
|
||||
tvEpisode += "*";
|
||||
searchStringArray = searchStringArray.Append($"+{tvEpisode}");
|
||||
}
|
||||
|
@ -202,7 +202,7 @@ namespace Jackett.Common.Indexers
|
|||
var dateStr = rawDateStr.Replace("von", "")
|
||||
.Replace("Heute", "Today")
|
||||
.Replace("Gestern", "Yesterday");
|
||||
var dateGerman =DateTimeUtil.FromUnknown(dateStr);
|
||||
var dateGerman = DateTimeUtil.FromUnknown(dateStr);
|
||||
var pubDateUtc = TimeZoneInfo.ConvertTimeToUtc(dateGerman, germanyTz);
|
||||
var longFromString = ParseUtil.GetLongFromString(descCol.QuerySelector("a[href*=\"&searchin=imdb\"]")?.GetAttribute("href"));
|
||||
var sizeFileCountRowChilds = row.Children[5].Children;
|
||||
|
|
|
@ -102,7 +102,7 @@ namespace Jackett.Common.Indexers
|
|||
// TODO dynamically generate list periodically from online tracker repositories like
|
||||
// https://torrents.io/tracker-list/
|
||||
// https://github.com/ngosang/trackerslist
|
||||
var magnet = new Uri( "magnet:?xt=urn:btih:" + torrent.Value<JToken>("infohash") +
|
||||
var magnet = new Uri("magnet:?xt=urn:btih:" + torrent.Value<JToken>("infohash") +
|
||||
"&tr=udp://tracker.coppersurfer.tk:6969/announce" +
|
||||
"&tr=udp://tracker.leechers-paradise.org:6969/announce" +
|
||||
"&tr=udp://tracker.internetwarriors.net:1337/announce" +
|
||||
|
|
|
@ -737,7 +737,7 @@ namespace Jackett.Common.Indexers
|
|||
AddCategoryMapping(334, TorznabCatType.Books, "|- Водный транспорт");
|
||||
AddCategoryMapping(1202, TorznabCatType.TVDocumentary, "Фильмы и передачи по авто/мото");
|
||||
AddCategoryMapping(1985, TorznabCatType.TVDocumentary, "|- Документальные/познавательные фильмы");
|
||||
AddCategoryMapping(1982, TorznabCatType.TVOTHER , "|- Развлекательные передачи");
|
||||
AddCategoryMapping(1982, TorznabCatType.TVOTHER, "|- Развлекательные передачи");
|
||||
AddCategoryMapping(2151, TorznabCatType.TVDocumentary, "|- Top Gear/Топ Гир");
|
||||
AddCategoryMapping(1983, TorznabCatType.TVDocumentary, "|- Тест драйв/Обзоры/Автосалоны");
|
||||
AddCategoryMapping(1984, TorznabCatType.TVDocumentary, "|- Тюнинг/форсаж");
|
||||
|
@ -842,7 +842,7 @@ namespace Jackett.Common.Indexers
|
|||
AddCategoryMapping(880, TorznabCatType.Audio, "|- Мюзикл (lossy и lossless)");
|
||||
AddCategoryMapping(655, TorznabCatType.AudioVideo, "|- Мюзикл (Видео и DVD Video)");
|
||||
AddCategoryMapping(1215, TorznabCatType.Audio, "Шансон, Авторская и Военная песня");
|
||||
AddCategoryMapping(1220, TorznabCatType.AudioLossless , "|- Отечественный шансон (lossless)");
|
||||
AddCategoryMapping(1220, TorznabCatType.AudioLossless, "|- Отечественный шансон (lossless)");
|
||||
AddCategoryMapping(1221, TorznabCatType.AudioMP3, "|- Отечественный шансон (lossy)");
|
||||
AddCategoryMapping(1334, TorznabCatType.AudioMP3, "|- Сборники отечественного шансона (lossy)");
|
||||
AddCategoryMapping(1216, TorznabCatType.AudioLossless, "|- Военная песня, марши (lossless)");
|
||||
|
@ -1174,13 +1174,13 @@ namespace Jackett.Common.Indexers
|
|||
AddCategoryMapping(2186, TorznabCatType.ConsoleOther, "|- Аниме для PSP");
|
||||
AddCategoryMapping(700, TorznabCatType.ConsoleOther, "|- Видео для PSP");
|
||||
AddCategoryMapping(1926, TorznabCatType.ConsoleOther, "|- Видео для PS3 и других консолей");
|
||||
AddCategoryMapping(650, TorznabCatType.PCPhoneOther , "Игры для мобильных устройств");
|
||||
AddCategoryMapping(2149, TorznabCatType.PCPhoneAndroid , "|- Игры для Android");
|
||||
AddCategoryMapping(650, TorznabCatType.PCPhoneOther, "Игры для мобильных устройств");
|
||||
AddCategoryMapping(2149, TorznabCatType.PCPhoneAndroid, "|- Игры для Android");
|
||||
AddCategoryMapping(1001, TorznabCatType.PCPhoneOther, "|- Игры для Java");
|
||||
AddCategoryMapping(1004, TorznabCatType.PCPhoneOther, "|- Игры для Symbian");
|
||||
AddCategoryMapping(1002, TorznabCatType.PCPhoneOther, "|- Игры для Windows Mobile");
|
||||
AddCategoryMapping(2420, TorznabCatType.PCPhoneOther, "|- Игры для Windows Phone");
|
||||
AddCategoryMapping(240, TorznabCatType.OtherMisc , "Игровое видео");
|
||||
AddCategoryMapping(240, TorznabCatType.OtherMisc, "Игровое видео");
|
||||
AddCategoryMapping(2415, TorznabCatType.OtherMisc, "|- Видеопрохождения игр");
|
||||
AddCategoryMapping(1012, TorznabCatType.PC, "Операционные системы от Microsoft");
|
||||
AddCategoryMapping(2523, TorznabCatType.PC, "|- Настольные ОС от Microsoft - Windows 8 и далее");
|
||||
|
@ -1490,7 +1490,7 @@ namespace Jackett.Common.Indexers
|
|||
|
||||
// TODO finish extracting release variables to simiplify release initialization
|
||||
if (release.Category.Contains(TorznabCatType.TV.ID) ||
|
||||
TorznabCatType.TV.SubCategories.Any(subCat => release.Category.Contains(subCat .ID)))
|
||||
TorznabCatType.TV.SubCategories.Any(subCat => release.Category.Contains(subCat.ID)))
|
||||
{
|
||||
// extract season and episodes
|
||||
//var regex = new Regex(".+\\/\\s([^а-яА-я\\/]+)\\s\\/.+Сезон\\s*[:]*\\s+(\\d+).+(?:Серии|Эпизод)+\\s*[:]*\\s+(\\d+-*\\d*).+,\\s+(.+)\\].+(\\(.+\\)).*");
|
||||
|
@ -1507,7 +1507,7 @@ namespace Jackett.Common.Indexers
|
|||
}
|
||||
else
|
||||
if (release.Category.Contains(TorznabCatType.Movies.ID) ||
|
||||
TorznabCatType.Movies.SubCategories.Any(subCat => release.Category.Contains(subCat .ID)))
|
||||
TorznabCatType.Movies.SubCategories.Any(subCat => release.Category.Contains(subCat.ID)))
|
||||
{
|
||||
// remove director's name from title
|
||||
// rutracker movies titles look like: russian name / english name (russian director / english director) other stuff
|
||||
|
|
|
@ -5,7 +5,7 @@ namespace Jackett.Common.Models.IndexerConfig
|
|||
public StringItem Pin { get; private set; }
|
||||
|
||||
public ConfigurationDataPinNumber(string instructionMessageOptional = null)
|
||||
: base (instructionMessageOptional)
|
||||
: base(instructionMessageOptional)
|
||||
=> Pin = new StringItem { Name = "Login Pin Number" };
|
||||
}
|
||||
}
|
||||
|
|
|
@ -102,7 +102,7 @@ namespace Jackett.Server.Services
|
|||
{
|
||||
var firstLine = reader.ReadLine();
|
||||
if (firstLine != null)
|
||||
logger.Info( $"File {issueFile}: {firstLine}");
|
||||
logger.Info($"File {issueFile}: {firstLine}");
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
|
|
|
@ -25,7 +25,7 @@ namespace Jackett.Common.Utils.Tests
|
|||
};
|
||||
|
||||
foreach (var testCase in testCases)
|
||||
Assert.AreEqual( testCase.Value, DateTimeUtil.FromUnknown(testCase.Key));
|
||||
Assert.AreEqual(testCase.Value, DateTimeUtil.FromUnknown(testCase.Key));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue