From 9623a1713782ffccf3576e47a668294af8471f9a Mon Sep 17 00:00:00 2001 From: Nicolas Martinelli <nicolas.martinelli@gmail.com> Date: Mon, 27 Apr 2015 19:48:00 +0200 Subject: [PATCH] Add flexibility when determine title from link in eztvapi.re: 1) try magnet link 2) try rarbg link 3) try extratorrent link 4) try '([^/]+$)' : everything after last slash character (not accurate) 5) fallback, title is equal to link Sanitizes the title. Fixes https://github.com/SiCKRAGETV/sickrage-issues/issues/1437 --- sickbeard/providers/eztv.py | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/sickbeard/providers/eztv.py b/sickbeard/providers/eztv.py index c5527214..a60ed35a 100644 --- a/sickbeard/providers/eztv.py +++ b/sickbeard/providers/eztv.py @@ -143,12 +143,27 @@ class EZTVProvider(generic.TorrentProvider): for quality in episode['torrents'].keys(): link = episode['torrents'][quality]['url'] - getTitle = re.search('&dn=(.*?)&', link) - if getTitle: - title = getTitle.group(1) - else: + if not re.match('magnet', link) and not re.match('http', link): continue + # Get title from link: + # 1) try magnet link + # 2) try rarbg link + # 3) try extratorrent link + # 4) try '([^/]+$)' : everything after last slash character (not accurate) + # 5) fallback, title is equal to link + if re.match('.*&dn=(.*?)&', link): + title = re.match('.*&dn=(.*?)&', link).group(1) + elif re.match('http://rarbg.to', link): + title = re.search('([^=]+$)', link).group(0) + elif re.match('http://extratorrent.cc', link): + title = re.search('([^/]+$)', link).group(0) + elif re.search('([^/]+$)', link): + title = re.search('([^/]+$)', link).group(0) + else: + title = link + + title = title.replace('+', '.').replace('%20', '.').replace('%5B', '[').replace('%5D', ']') item = { 'title': title, 'link': link, -- GitLab