From 3f2d6f0cee159b00955e245e202dd8566f23d265 Mon Sep 17 00:00:00 2001 From: kaso17 Date: Sun, 25 Jun 2017 18:25:16 +0200 Subject: [PATCH] Add support for non numeric episodes --- src/Jackett/Controllers/AdminController.cs | 2 +- src/Jackett/Models/TorznabQuery.cs | 12 ++++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/Jackett/Controllers/AdminController.cs b/src/Jackett/Controllers/AdminController.cs index 58d557f1b..5818c792b 100644 --- a/src/Jackett/Controllers/AdminController.cs +++ b/src/Jackett/Controllers/AdminController.cs @@ -498,7 +498,7 @@ namespace Jackett.Controllers queryStr = queryStr.Remove(seasonMatch.Index, seasonMatch.Length); } - var episodeMatch = Regex.Match(queryStr, @"E(\d{2,4})"); + var episodeMatch = Regex.Match(queryStr, @"E(\d{2,4}[A-Za-z]?)"); if (episodeMatch.Success) { stringQuery.Episode = episodeMatch.Groups[1].Value; diff --git a/src/Jackett/Models/TorznabQuery.cs b/src/Jackett/Models/TorznabQuery.cs index 197c0a631..1e57a2dcc 100644 --- a/src/Jackett/Models/TorznabQuery.cs +++ b/src/Jackett/Models/TorznabQuery.cs @@ -202,8 +202,16 @@ namespace Jackett.Models else if (string.IsNullOrEmpty(Episode)) episodeString = string.Format("S{0:00}", Season); else - episodeString = string.Format("S{0:00}E{1:00}", Season, ParseUtil.CoerceInt(Episode)); - + { + try + { + episodeString = string.Format("S{0:00}E{1:00}", Season, ParseUtil.CoerceInt(Episode)); + } catch (FormatException) // e.g. seaching for S01E01A + { + episodeString = string.Format("S{0:00}E{1}", Season, Episode); + } + + } return episodeString; }