mirror of
https://github.com/Jackett/Jackett.git
synced 2025-09-17 17:34:09 +02:00
newpct: fix parser multi-episode and minor improvements (#3327)
* fix: add multiepisode parsing and minor improvements Now a quality it's ensured Now quality it's cleaned from brackets Add dash as multiepisode separator * fix: prevent an error if cannot guess serie name from title * fix: now title is being extracted correctly
This commit is contained in:

committed by
kaso17

parent
115dfd20e7
commit
6081094b73
@@ -37,7 +37,7 @@ namespace Jackett.Common.Indexers
|
|||||||
private ReleaseInfo _mostRecentRelease;
|
private ReleaseInfo _mostRecentRelease;
|
||||||
private Regex _searchStringRegex = new Regex(@"(.+?)S0?(\d+)(E0?(\d+))?$", RegexOptions.IgnoreCase);
|
private Regex _searchStringRegex = new Regex(@"(.+?)S0?(\d+)(E0?(\d+))?$", RegexOptions.IgnoreCase);
|
||||||
private Regex _titleListRegex = new Regex(@"Serie(.+?)(Temporada(.+?)(\d+)(.+?))?Capitulos?(.+?)(\d+)((.+?)(\d+))?(.+?)-(.+?)Calidad(.*)", RegexOptions.IgnoreCase);
|
private Regex _titleListRegex = new Regex(@"Serie(.+?)(Temporada(.+?)(\d+)(.+?))?Capitulos?(.+?)(\d+)((.+?)(\d+))?(.+?)-(.+?)Calidad(.*)", RegexOptions.IgnoreCase);
|
||||||
private Regex _titleClassicRegex = new Regex(@"(\[[^\]]*\])?\[Cap\.(\d{1,2})(\d{2})(_(\d{1,2})(\d{2}))?\]", RegexOptions.IgnoreCase);
|
private Regex _titleClassicRegex = new Regex(@"(\[[^\]]*\])?\[Cap\.(\d{1,2})(\d{2})([_-](\d{1,2})(\d{2}))?\]", RegexOptions.IgnoreCase);
|
||||||
private Regex _titleClassicTvQualityRegex = new Regex(@"\[([^\]]*HDTV[^\]]*)", RegexOptions.IgnoreCase);
|
private Regex _titleClassicTvQualityRegex = new Regex(@"\[([^\]]*HDTV[^\]]*)", RegexOptions.IgnoreCase);
|
||||||
|
|
||||||
private int _maxDailyPages = 7;
|
private int _maxDailyPages = 7;
|
||||||
@@ -420,10 +420,28 @@ namespace Jackett.Common.Indexers
|
|||||||
|
|
||||||
private string FixedTitle(NewpctRelease release, string quality)
|
private string FixedTitle(NewpctRelease release, string quality)
|
||||||
{
|
{
|
||||||
|
if (String.IsNullOrEmpty(release.SerieName))
|
||||||
|
{
|
||||||
|
release.SerieName = release.Title;
|
||||||
|
if (release.Title.Contains("-"))
|
||||||
|
{
|
||||||
|
release.SerieName = release.Title.Substring(0, release.Title.IndexOf('-') - 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (String.IsNullOrEmpty(quality))
|
||||||
|
{
|
||||||
|
quality = "HDTV";
|
||||||
|
}
|
||||||
|
var seasonAndEpisode = "S" + release.Season.ToString().PadLeft(2, '0');
|
||||||
|
seasonAndEpisode += "E" + release.Episode.ToString().PadLeft(2, '0');
|
||||||
|
if (release.EpisodeTo != release.Episode && release.EpisodeTo != null && release.EpisodeTo != 0)
|
||||||
|
{
|
||||||
|
seasonAndEpisode += "-" + release.EpisodeTo.ToString().PadLeft(2, '0');
|
||||||
|
}
|
||||||
var titleParts = new List<string>();
|
var titleParts = new List<string>();
|
||||||
titleParts.Add(release.SerieName);
|
titleParts.Add(release.SerieName);
|
||||||
titleParts.Add("S" + release.Season.ToString().PadLeft(2, '0') + "E" + release.Episode.ToString().PadLeft(2, '0'));
|
titleParts.Add(seasonAndEpisode);
|
||||||
titleParts.Add(quality);
|
titleParts.Add(quality.Replace("[", "").Replace("]", ""));
|
||||||
if (release.Title.ToLower().Contains("esp") || release.Title.ToLower().Contains("cast"))
|
if (release.Title.ToLower().Contains("esp") || release.Title.ToLower().Contains("cast"))
|
||||||
{
|
{
|
||||||
titleParts.Add("Spanish");
|
titleParts.Add("Spanish");
|
||||||
|
Reference in New Issue
Block a user