mirror of
https://github.com/Jackett/Jackett
synced 2025-02-23 14:51:01 +00:00
beyondhd: add imdbid support (torznab and dashboard search) resolves #4850
This commit is contained in:
parent
43f0f03b05
commit
e060c82cd3
1 changed files with 23 additions and 4 deletions
|
@ -43,6 +43,8 @@ namespace Jackett.Common.Indexers
|
|||
|
||||
configData.DisplayText.Value = "Go to the general tab of your BeyondHD user profile and create/copy the Login Link.";
|
||||
|
||||
TorznabCaps.SupportsImdbSearch = true;
|
||||
|
||||
AddCategoryMapping(37, TorznabCatType.MoviesBluRay, "Movie / Blu-ray");
|
||||
AddCategoryMapping(71, TorznabCatType.Movies3D, "Movie / 3D");
|
||||
AddCategoryMapping(83, TorznabCatType.Movies3D, "FraMeSToR 3D");
|
||||
|
@ -101,12 +103,22 @@ namespace Jackett.Common.Indexers
|
|||
protected override async Task<IEnumerable<ReleaseInfo>> PerformQuery(TorznabQuery query)
|
||||
{
|
||||
List<ReleaseInfo> releases = new List<ReleaseInfo>();
|
||||
Regex IMDBRegEx = new Regex(@"tt(\d+)", RegexOptions.Compiled);
|
||||
|
||||
var searchString = query.GetQueryString();
|
||||
var searchUrl = SearchUrl;
|
||||
var queryCollection = new NameValueCollection();
|
||||
var searchStringIsImdbQuery = (ParseUtil.GetImdbID(searchString) != null);
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(searchString))
|
||||
if (query.IsImdbQuery)
|
||||
{
|
||||
queryCollection.Add("search", query.ImdbID);
|
||||
}
|
||||
else if (searchStringIsImdbQuery)
|
||||
{
|
||||
queryCollection.Add("search", searchString);
|
||||
}
|
||||
else if (!string.IsNullOrWhiteSpace(searchString))
|
||||
{
|
||||
Regex ReplaceRegex = new Regex("[^a-zA-Z0-9]+");
|
||||
searchString = "%" + ReplaceRegex.Replace(searchString, "%") + "%";
|
||||
|
@ -139,15 +151,15 @@ namespace Jackett.Common.Indexers
|
|||
release.Category = MapTrackerCatToNewznab(catStr);
|
||||
|
||||
var qLink = row.ChildElements.ElementAt(2).FirstChild.Cq();
|
||||
release.Link = new Uri(SiteLink + "/" + qLink.Attr("href"));
|
||||
release.Link = new Uri(SiteLink + qLink.Attr("href"));
|
||||
var torrentId = qLink.Attr("href").Split('=').Last();
|
||||
|
||||
var descCol = row.ChildElements.ElementAt(3);
|
||||
var qCommentLink = descCol.FirstChild.Cq();
|
||||
release.Title = qCommentLink.Text();
|
||||
if ((query.ImdbID == null || !TorznabCaps.SupportsImdbSearch) && !query.MatchQueryStringAND(release.Title))
|
||||
if (!query.IsImdbQuery && !query.MatchQueryStringAND(release.Title))
|
||||
continue;
|
||||
release.Comments = new Uri(SiteLink + "/" + qCommentLink.Attr("href"));
|
||||
release.Comments = new Uri(SiteLink + qCommentLink.Attr("href"));
|
||||
release.Guid = release.Comments;
|
||||
release.Link = new Uri($"{SiteLink}download.php?torrent={torrentId}");
|
||||
|
||||
|
@ -166,6 +178,13 @@ namespace Jackett.Common.Indexers
|
|||
var grabs = qRow.Find("td:nth-child(9) > a").Get(0).FirstChild.ToString();
|
||||
release.Grabs = ParseUtil.CoerceInt(grabs);
|
||||
|
||||
var imdbLink = qRow.Find("a[href*=\"imdb.com/title/\"]").Attr("href");
|
||||
if (imdbLink != null)
|
||||
{
|
||||
var IMDBMatch = IMDBRegEx.Match(imdbLink);
|
||||
release.Imdb = ParseUtil.CoerceLong(IMDBMatch.Groups[1].Value);
|
||||
}
|
||||
|
||||
release.DownloadVolumeFactor = 0;
|
||||
release.UploadVolumeFactor = 1;
|
||||
|
||||
|
|
Loading…
Reference in a new issue