mirror of
https://github.com/Jackett/Jackett.git
synced 2025-09-17 17:34:09 +02:00
core: remove string extensions in favor of explicit conversion (#7839)
This commit is contained in:
@@ -211,7 +211,7 @@ namespace Jackett.Common.Indexers
|
|||||||
|
|
||||||
var author = row.QuerySelector("dd.lastpost > span");
|
var author = row.QuerySelector("dd.lastpost > span");
|
||||||
var timestr = author.TextContent.Split('\n')
|
var timestr = author.TextContent.Split('\n')
|
||||||
.Where(str => !str.IsNullOrEmptyOrWhitespace()) //Filter blank lines
|
.Where(str => !string.IsNullOrWhiteSpace(str)) //Filter blank lines
|
||||||
.Skip(1) //Skip author name
|
.Skip(1) //Skip author name
|
||||||
.FirstOrDefault()
|
.FirstOrDefault()
|
||||||
.Trim();
|
.Trim();
|
||||||
|
@@ -136,7 +136,7 @@ namespace Jackett.Common.Indexers
|
|||||||
|
|
||||||
// If the search string is empty use the latest releases
|
// If the search string is empty use the latest releases
|
||||||
protected override async Task<IEnumerable<ReleaseInfo>> PerformQuery(TorznabQuery query)
|
protected override async Task<IEnumerable<ReleaseInfo>> PerformQuery(TorznabQuery query)
|
||||||
=> query.IsTest || query.SearchTerm.IsNullOrEmptyOrWhitespace()
|
=> query.IsTest || string.IsNullOrWhiteSpace(query.SearchTerm)
|
||||||
? await FetchNewReleases()
|
? await FetchNewReleases()
|
||||||
: await PerformSearch(query);
|
: await PerformSearch(query);
|
||||||
|
|
||||||
@@ -313,7 +313,7 @@ namespace Jackett.Common.Indexers
|
|||||||
var releaseNode = tabNode.ParentElement;
|
var releaseNode = tabNode.ParentElement;
|
||||||
var quality = GetQuality(releaseNode);
|
var quality = GetQuality(releaseNode);
|
||||||
|
|
||||||
if (!quality.IsNullOrEmptyOrWhitespace())
|
if (!string.IsNullOrWhiteSpace(quality))
|
||||||
{
|
{
|
||||||
return $"{baseTitle} [{quality}]";
|
return $"{baseTitle} [{quality}]";
|
||||||
}
|
}
|
||||||
@@ -324,7 +324,7 @@ namespace Jackett.Common.Indexers
|
|||||||
private static string GetQuality(IElement releaseNode)
|
private static string GetQuality(IElement releaseNode)
|
||||||
{
|
{
|
||||||
// For some releases there's no block with quality
|
// For some releases there's no block with quality
|
||||||
if (releaseNode.Id.IsNullOrEmptyOrWhitespace())
|
if (string.IsNullOrWhiteSpace(releaseNode.Id))
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
@@ -47,7 +47,7 @@ namespace Jackett.Common.Indexers.Feeds
|
|||||||
if (enclosures.Any())
|
if (enclosures.Any())
|
||||||
{
|
{
|
||||||
var enclosure = enclosures.First().Attribute("url").Value;
|
var enclosure = enclosures.First().Attribute("url").Value;
|
||||||
release.Link = enclosure.ToUri();
|
release.Link = new Uri(enclosure);
|
||||||
}
|
}
|
||||||
// add some default values if none returned by feed
|
// add some default values if none returned by feed
|
||||||
release.Seeders = release.Seeders > 0 ? release.Seeders : 0;
|
release.Seeders = release.Seeders > 0 ? release.Seeders : 0;
|
||||||
|
@@ -32,7 +32,7 @@ namespace Jackett.Common.Indexers.Feeds
|
|||||||
protected override async Task<IEnumerable<ReleaseInfo>> PerformQuery(TorznabQuery query)
|
protected override async Task<IEnumerable<ReleaseInfo>> PerformQuery(TorznabQuery query)
|
||||||
{
|
{
|
||||||
var requestUri = FeedUri.ToString();
|
var requestUri = FeedUri.ToString();
|
||||||
if (!query.SearchTerm.IsNullOrEmptyOrWhitespace())
|
if (!string.IsNullOrWhiteSpace(query.SearchTerm))
|
||||||
requestUri = requestUri + "?q=" + query.SearchTerm;
|
requestUri = requestUri + "?q=" + query.SearchTerm;
|
||||||
var request = new WebRequest
|
var request = new WebRequest
|
||||||
{
|
{
|
||||||
|
@@ -1,3 +1,4 @@
|
|||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Xml.Linq;
|
using System.Xml.Linq;
|
||||||
@@ -31,10 +32,10 @@ namespace Jackett.Common.Indexers.Feeds
|
|||||||
var release = new ReleaseInfo
|
var release = new ReleaseInfo
|
||||||
{
|
{
|
||||||
Title = item.FirstValue("title"),
|
Title = item.FirstValue("title"),
|
||||||
Guid = item.FirstValue("guid").ToUri(),
|
Guid = new Uri(item.FirstValue("guid")),
|
||||||
Link = item.FirstValue("link").ToUri(),
|
Link = new Uri(item.FirstValue("link")),
|
||||||
Comments = item.FirstValue("comments").ToUri(),
|
Comments = new Uri(item.FirstValue("comments")),
|
||||||
PublishDate = item.FirstValue("pubDate").ToDateTime(),
|
PublishDate = DateTime.Parse(item.FirstValue("pubDate")),
|
||||||
Category = new List<int> { int.Parse(attributes.First(e => e.Attribute("name").Value == "category").Attribute("value").Value) },
|
Category = new List<int> { int.Parse(attributes.First(e => e.Attribute("name").Value == "category").Attribute("value").Value) },
|
||||||
Size = ReadAttribute(attributes, "size").TryParse<long>(),
|
Size = ReadAttribute(attributes, "size").TryParse<long>(),
|
||||||
Files = ReadAttribute(attributes, "files").TryParse<long>(),
|
Files = ReadAttribute(attributes, "files").TryParse<long>(),
|
||||||
@@ -42,7 +43,7 @@ namespace Jackett.Common.Indexers.Feeds
|
|||||||
Seeders = ReadAttribute(attributes, "seeders").TryParse<int>(),
|
Seeders = ReadAttribute(attributes, "seeders").TryParse<int>(),
|
||||||
Peers = ReadAttribute(attributes, "peers").TryParse<int>(),
|
Peers = ReadAttribute(attributes, "peers").TryParse<int>(),
|
||||||
InfoHash = attributes.First(e => e.Attribute("name").Value == "infohash").Attribute("value").Value,
|
InfoHash = attributes.First(e => e.Attribute("name").Value == "infohash").Attribute("value").Value,
|
||||||
MagnetUri = attributes.First(e => e.Attribute("name").Value == "magneturl").Attribute("value").Value.ToUri(),
|
MagnetUri = new Uri(attributes.First(e => e.Attribute("name").Value == "magneturl").Attribute("value").Value),
|
||||||
};
|
};
|
||||||
return release;
|
return release;
|
||||||
}
|
}
|
||||||
|
@@ -183,7 +183,7 @@ namespace Jackett.Common.Indexers
|
|||||||
|
|
||||||
searchUrl += "?" + queryCollection.GetQueryString();
|
searchUrl += "?" + queryCollection.GetQueryString();
|
||||||
|
|
||||||
if (passkey.IsNullOrEmptyOrWhitespace())
|
if (string.IsNullOrWhiteSpace(passkey))
|
||||||
await ApplyConfiguration(null);
|
await ApplyConfiguration(null);
|
||||||
|
|
||||||
var result = await SendAPIRequest(searchUrl, null);
|
var result = await SendAPIRequest(searchUrl, null);
|
||||||
|
@@ -34,11 +34,11 @@ namespace Jackett.Common.Models.DTO
|
|||||||
};
|
};
|
||||||
if (request.t != null)
|
if (request.t != null)
|
||||||
query.QueryType = request.t;
|
query.QueryType = request.t;
|
||||||
if (!request.extended.IsNullOrEmptyOrWhitespace())
|
if (!string.IsNullOrWhiteSpace(request.extended))
|
||||||
query.Extended = ParseUtil.CoerceInt(request.extended);
|
query.Extended = ParseUtil.CoerceInt(request.extended);
|
||||||
if (!request.limit.IsNullOrEmptyOrWhitespace())
|
if (!string.IsNullOrWhiteSpace(request.limit))
|
||||||
query.Limit = ParseUtil.CoerceInt(request.limit);
|
query.Limit = ParseUtil.CoerceInt(request.limit);
|
||||||
if (!request.offset.IsNullOrEmptyOrWhitespace())
|
if (!string.IsNullOrWhiteSpace(request.offset))
|
||||||
query.Offset = ParseUtil.CoerceInt(request.offset);
|
query.Offset = ParseUtil.CoerceInt(request.offset);
|
||||||
|
|
||||||
if (request.cat != null)
|
if (request.cat != null)
|
||||||
@@ -53,23 +53,23 @@ namespace Jackett.Common.Models.DTO
|
|||||||
query.Categories = new int[0];
|
query.Categories = new int[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!request.rid.IsNullOrEmptyOrWhitespace())
|
if (!string.IsNullOrWhiteSpace(request.rid))
|
||||||
query.RageID = int.Parse(request.rid);
|
query.RageID = int.Parse(request.rid);
|
||||||
|
|
||||||
if (!request.season.IsNullOrEmptyOrWhitespace())
|
if (!string.IsNullOrWhiteSpace(request.season))
|
||||||
query.Season = int.Parse(request.season);
|
query.Season = int.Parse(request.season);
|
||||||
|
|
||||||
if (!request.album.IsNullOrEmptyOrWhitespace())
|
if (!string.IsNullOrWhiteSpace(request.album))
|
||||||
query.Album = request.album;
|
query.Album = request.album;
|
||||||
if (!request.artist.IsNullOrEmptyOrWhitespace())
|
if (!string.IsNullOrWhiteSpace(request.artist))
|
||||||
query.Artist = request.artist;
|
query.Artist = request.artist;
|
||||||
if (!request.label.IsNullOrEmptyOrWhitespace())
|
if (!string.IsNullOrWhiteSpace(request.label))
|
||||||
query.Label = request.label;
|
query.Label = request.label;
|
||||||
if (!request.track.IsNullOrEmptyOrWhitespace())
|
if (!string.IsNullOrWhiteSpace(request.track))
|
||||||
query.Track = request.track;
|
query.Track = request.track;
|
||||||
if (!request.year.IsNullOrEmptyOrWhitespace())
|
if (!string.IsNullOrWhiteSpace(request.year))
|
||||||
query.Year = int.Parse(request.year);
|
query.Year = int.Parse(request.year);
|
||||||
if (!request.genre.IsNullOrEmptyOrWhitespace())
|
if (!string.IsNullOrWhiteSpace(request.genre))
|
||||||
query.Genre = request.genre.Split(',');
|
query.Genre = request.genre.Split(',');
|
||||||
|
|
||||||
query.ExpandCatsToSubCats();
|
query.ExpandCatsToSubCats();
|
||||||
|
@@ -159,7 +159,7 @@ namespace Jackett.Common.Services
|
|||||||
var omdbApiKey = serverConfig.OmdbApiKey;
|
var omdbApiKey = serverConfig.OmdbApiKey;
|
||||||
IFallbackStrategyProvider fallbackStrategyProvider = null;
|
IFallbackStrategyProvider fallbackStrategyProvider = null;
|
||||||
IResultFilterProvider resultFilterProvider = null;
|
IResultFilterProvider resultFilterProvider = null;
|
||||||
if (!omdbApiKey.IsNullOrEmptyOrWhitespace())
|
if (!string.IsNullOrWhiteSpace(omdbApiKey))
|
||||||
{
|
{
|
||||||
var imdbResolver = new OmdbResolver(webClient, omdbApiKey.ToNonNull(), serverConfig.OmdbApiUrl);
|
var imdbResolver = new OmdbResolver(webClient, omdbApiKey.ToNonNull(), serverConfig.OmdbApiUrl);
|
||||||
fallbackStrategyProvider = new ImdbFallbackStrategyProvider(imdbResolver);
|
fallbackStrategyProvider = new ImdbFallbackStrategyProvider(imdbResolver);
|
||||||
|
@@ -48,17 +48,6 @@ namespace Jackett.Common.Utils
|
|||||||
public static IEnumerable<T> Flatten<T>(this IEnumerable<IEnumerable<T>> list) => list.SelectMany(x => x);
|
public static IEnumerable<T> Flatten<T>(this IEnumerable<IEnumerable<T>> list) => list.SelectMany(x => x);
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO This class should be removed in favor of explicit conversions
|
|
||||||
public static class StringExtension
|
|
||||||
{
|
|
||||||
// string.IsNullOrWhitespace already checks string.IsNullOrEmpty should remove this?
|
|
||||||
public static bool IsNullOrEmptyOrWhitespace(this string str) => string.IsNullOrEmpty(str) || string.IsNullOrWhiteSpace(str);
|
|
||||||
|
|
||||||
public static DateTime ToDateTime(this string str) => DateTime.Parse(str);
|
|
||||||
|
|
||||||
public static Uri ToUri(this string str) => new Uri(str);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static class CollectionExtension
|
public static class CollectionExtension
|
||||||
{
|
{
|
||||||
// IEnumerable class above already does this. All ICollection are IEnumerable, so favor IEnumerable?
|
// IEnumerable class above already does this. All ICollection are IEnumerable, so favor IEnumerable?
|
||||||
|
@@ -39,7 +39,7 @@ namespace Jackett.Server.Controllers
|
|||||||
}
|
}
|
||||||
|
|
||||||
var indexerId = parameters["indexerId"] as string;
|
var indexerId = parameters["indexerId"] as string;
|
||||||
if (indexerId.IsNullOrEmptyOrWhitespace())
|
if (string.IsNullOrWhiteSpace(indexerId))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
var indexerService = indexerController.IndexerService;
|
var indexerService = indexerController.IndexerService;
|
||||||
|
@@ -71,7 +71,7 @@ namespace Jackett.Server.Controllers
|
|||||||
}
|
}
|
||||||
|
|
||||||
var indexerId = parameters["indexerId"] as string;
|
var indexerId = parameters["indexerId"] as string;
|
||||||
if (indexerId.IsNullOrEmptyOrWhitespace())
|
if (string.IsNullOrWhiteSpace(indexerId))
|
||||||
{
|
{
|
||||||
indexerController.CurrentIndexer = null;
|
indexerController.CurrentIndexer = null;
|
||||||
context.Result = ResultsController.GetErrorActionResult(context.RouteData, HttpStatusCode.NotFound, 201, "Indexer is not specified (empty value)");
|
context.Result = ResultsController.GetErrorActionResult(context.RouteData, HttpStatusCode.NotFound, 201, "Indexer is not specified (empty value)");
|
||||||
|
Reference in New Issue
Block a user