mirror of
https://github.com/Jackett/Jackett.git
synced 2025-09-17 17:34:09 +02:00
torrentsmegafilmes: removed. resolves #15727
This commit is contained in:
@@ -1,87 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Diagnostics.CodeAnalysis;
|
|
||||||
using AngleSharp.Dom;
|
|
||||||
using AngleSharp.Html.Parser;
|
|
||||||
using Jackett.Common.Extensions;
|
|
||||||
using Jackett.Common.Indexers.Definitions.Abstract;
|
|
||||||
using Jackett.Common.Models;
|
|
||||||
using Jackett.Common.Services.Interfaces;
|
|
||||||
using Jackett.Common.Utils.Clients;
|
|
||||||
using NLog;
|
|
||||||
|
|
||||||
namespace Jackett.Common.Indexers.Definitions
|
|
||||||
{
|
|
||||||
[ExcludeFromCodeCoverage]
|
|
||||||
public class TorrentsMegaFilmes : PublicBrazilianIndexerBase
|
|
||||||
{
|
|
||||||
public override string Id => "torrentsmegafilmes";
|
|
||||||
public override string Name => "Torrents Mega Filmes";
|
|
||||||
public override string SiteLink { get; protected set; } = "https://torrentsmegafilmes.top/";
|
|
||||||
|
|
||||||
public TorrentsMegaFilmes(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps, ICacheService cs) : base(configService, wc, l, ps, cs)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
public override IParseIndexerResponse GetParser() => new TorrentsMegaFilmesParser(webclient);
|
|
||||||
}
|
|
||||||
|
|
||||||
public class TorrentsMegaFilmesParser : PublicBrazilianParser
|
|
||||||
{
|
|
||||||
private readonly WebClient _webclient;
|
|
||||||
public TorrentsMegaFilmesParser(WebClient webclient)
|
|
||||||
{
|
|
||||||
_webclient = webclient;
|
|
||||||
}
|
|
||||||
|
|
||||||
public override IList<ReleaseInfo> ParseResponse(IndexerResponse indexerResponse)
|
|
||||||
{
|
|
||||||
var releases = new List<ReleaseInfo>();
|
|
||||||
|
|
||||||
var parser = new HtmlParser();
|
|
||||||
var dom = parser.ParseDocument(indexerResponse.Content);
|
|
||||||
var detailAnchors = dom.QuerySelectorAll("div.title > a");
|
|
||||||
foreach (var detailAnchor in detailAnchors)
|
|
||||||
{
|
|
||||||
var detailUrl = new Uri(detailAnchor?.GetAttribute("href") ?? string.Empty);
|
|
||||||
var title = detailAnchor?.TextContent.Trim();
|
|
||||||
var detailsPage = _webclient.GetResultAsync(new WebRequest(detailUrl.ToString())).Result;
|
|
||||||
var detailsDom = parser.ParseDocument(detailsPage.ContentString);
|
|
||||||
var detailsInfo = detailsDom.QuerySelector("div.info");
|
|
||||||
var releaseCommonInfo = new ReleaseInfo
|
|
||||||
{
|
|
||||||
Title = CleanTitle(title),
|
|
||||||
Genres = detailsInfo.ExtractGenres(),
|
|
||||||
Subs = detailsInfo.ExtractSubtitles(),
|
|
||||||
Size = detailsInfo.ExtractSize(),
|
|
||||||
Languages = detailsInfo.ExtractLanguages(),
|
|
||||||
Details = detailUrl,
|
|
||||||
Guid = detailUrl,
|
|
||||||
PublishDate = detailsInfo.ExtractReleaseDate(),
|
|
||||||
Seeders = 1
|
|
||||||
};
|
|
||||||
foreach (var downloadButton in detailsDom.QuerySelectorAll("ul.buttons a[href]"))
|
|
||||||
{
|
|
||||||
var magnet = downloadButton.ExtractMagnet();
|
|
||||||
var release = releaseCommonInfo.Clone() as ReleaseInfo;
|
|
||||||
release.Guid = release.MagnetUri = magnet;
|
|
||||||
release.Title = ExtractTitleOrDefault(downloadButton, release.Title + " " + downloadButton.TextContent);
|
|
||||||
release.Category = downloadButton.ExtractCategory(release.Title);
|
|
||||||
release.DownloadVolumeFactor = 0; // Free
|
|
||||||
release.UploadVolumeFactor = 1;
|
|
||||||
|
|
||||||
if (release.Title.IsNotNullOrWhiteSpace())
|
|
||||||
{
|
|
||||||
releases.Add(release);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return releases;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Return null to concatenate titles rather than ranking, i.e., button only contains resolution, season, and episode.
|
|
||||||
*/
|
|
||||||
protected override INode GetTitleElementOrNull(IElement downloadButton) => null;
|
|
||||||
}
|
|
||||||
}
|
|
Reference in New Issue
Block a user