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