From cd85ad95abbf88e423569597313efbacce9ede4c Mon Sep 17 00:00:00 2001
From: Dustyn Gibson <dustyn.gibson@gmail.com>
Date: Fri, 12 Jun 2015 18:13:21 -0700
Subject: [PATCH] Fix removeWords, ignoreWords, requiredWords fixes
 SiCKRAGETV/sickrage-issues#1294 SiCKRAGETV/sickrage-issues#1761 and proper
 fix for SiCKRAGETV/sickrage-issues#1074

---
 sickbeard/helpers.py                 | 31 +++++++++++++++++++++++-----
 sickbeard/providers/alpharatio.py    |  2 --
 sickbeard/providers/bitsoup.py       |  2 --
 sickbeard/providers/freshontv.py     |  2 --
 sickbeard/providers/generic.py       | 26 +++--------------------
 sickbeard/providers/hdbits.py        |  2 --
 sickbeard/providers/hdtorrents.py    |  2 --
 sickbeard/providers/kat.py           |  2 --
 sickbeard/providers/morethantv.py    |  2 --
 sickbeard/providers/oldpiratebay.py  |  1 -
 sickbeard/providers/rarbg.py         |  2 --
 sickbeard/providers/rsstorrent.py    |  2 --
 sickbeard/providers/scc.py           |  2 --
 sickbeard/providers/scenetime.py     |  2 --
 sickbeard/providers/speedcd.py       |  2 --
 sickbeard/providers/t411.py          |  2 --
 sickbeard/providers/thepiratebay.py  |  1 -
 sickbeard/providers/tntvillage.py    |  2 --
 sickbeard/providers/tokyotoshokan.py |  2 --
 sickbeard/providers/torrentbytes.py  |  2 --
 sickbeard/providers/torrentday.py    |  2 --
 sickbeard/providers/torrentleech.py  |  2 --
 22 files changed, 29 insertions(+), 66 deletions(-)

diff --git a/sickbeard/helpers.py b/sickbeard/helpers.py
index 81c5473f..2017e671 100644
--- a/sickbeard/helpers.py
+++ b/sickbeard/helpers.py
@@ -106,12 +106,33 @@ def remove_non_release_groups(name):
     Remove non release groups from name
     """
 
-    if name and "-" in name:
-        name_group = name.rsplit('-', 1)
-        if name_group[-1].upper() in ["RP", "NZBGEEK"]:
-            name = name_group[0]
+    if not name:
+        return name
 
-    return name
+    removeWordsList = {'\[rartv\]$':       'searchre',
+                       '\[rarbg\]$':       'searchre',
+                       '\[eztv\]$':        'searchre',
+                       '\[ettv\]$':        'searchre',
+                       '\[GloDLS\]$':      'searchre',
+                       '\[silv4\]$':       'searchre',
+                       '\[Seedbox\]$':     'searchre',
+                       '\[AndroidTwoU\]$': 'searchre',
+                       '\.RiPSaLoT$':      'searchre',
+                       '-NZBGEEK$':        'searchre',
+                       '-RP$':             'searchre',
+                      }
+
+    _name = name
+    for remove_string, remove_type in removeWordsList.iteritems():
+        if remove_type == 'search':
+            _name = _name.replace(remove_string, '')
+        elif remove_type == 'searchre':
+            _name = re.sub(r'(?i)' + remove_string, '', _name)
+
+    #if _name != name:
+    #    logger.log(u'Change title from {old_name} to {new_name}'.format(old_name=name, new_name=_name), logger.DEBUG)
+
+    return _name
 
 
 def replaceExtension(filename, newExt):
diff --git a/sickbeard/providers/alpharatio.py b/sickbeard/providers/alpharatio.py
index 91d006fa..23cc8112 100755
--- a/sickbeard/providers/alpharatio.py
+++ b/sickbeard/providers/alpharatio.py
@@ -222,8 +222,6 @@ class AlphaRatioProvider(generic.TorrentProvider):
         title, url, id, seeders, leechers = item
 
         if title:
-            title = u'' + title
-            title = title.replace(' ', '.')
             title = self._clean_title_from_provider(title)
 
         if url:
diff --git a/sickbeard/providers/bitsoup.py b/sickbeard/providers/bitsoup.py
index 080bcaf0..03a95bfc 100644
--- a/sickbeard/providers/bitsoup.py
+++ b/sickbeard/providers/bitsoup.py
@@ -228,8 +228,6 @@ class BitSoupProvider(generic.TorrentProvider):
         title, url, id, seeders, leechers = item
 
         if title:
-            title = u'' + title
-            title = title.replace(' ', '.')
             title = self._clean_title_from_provider(title)
 
         if url:
diff --git a/sickbeard/providers/freshontv.py b/sickbeard/providers/freshontv.py
index 24572d40..d75474d5 100755
--- a/sickbeard/providers/freshontv.py
+++ b/sickbeard/providers/freshontv.py
@@ -326,8 +326,6 @@ class FreshOnTVProvider(generic.TorrentProvider):
         title, url, id, seeders, leechers = item
 
         if title:
-            title = u'' + title
-            title = title.replace(' ', '.')
             title = self._clean_title_from_provider(title)
 
         if url:
diff --git a/sickbeard/providers/generic.py b/sickbeard/providers/generic.py
index 4f35c7b4..7b6e8ca3 100644
--- a/sickbeard/providers/generic.py
+++ b/sickbeard/providers/generic.py
@@ -499,31 +499,11 @@ class TorrentProvider(GenericProvider):
         GenericProvider.__init__(self, name)
 
         self.providerType = GenericProvider.TORRENT
-        
-        # Don't add a rule to remove everything between bracket, it will break anime release
-        self.removeWordsList = {'\[rartv\]$': 'searchre',
-                               '\[rarbg\]$': 'searchre',
-                               '\[eztv\]$': 'searchre',
-                               '\[ettv\]$': 'searchre',
-                               '\[GloDLS\]$': 'searchre',
-                               '\[silv4\]$': 'searchre',
-                               '\[Seedbox\]$': 'searchre',
-                               '\[AndroidTwoU\]$': 'searchre',
-                               '\.RiPSaLoT$': 'searchre',
-                              }
 
     def _clean_title_from_provider(self, title):
-        torrent_title = title
-        for remove_string, remove_type in self.removeWordsList.iteritems():
-            if remove_type == 'search':
-                torrent_title = torrent_title.replace(remove_string, '')
-            elif remove_type == 'searchre':
-                torrent_title = re.sub(remove_string, '', torrent_title)
-
-        if torrent_title != title:
-            logger.log(u'Change title from {old_name} to {new_name}'.format(old_name=title, new_name=torrent_title), logger.DEBUG)
-
-        return torrent_title
+        if title:
+            title = u'' + title.replace(' ', '.')
+        return title
 
 
 class ProviderProxy:
diff --git a/sickbeard/providers/hdbits.py b/sickbeard/providers/hdbits.py
index d5822bf8..fa3daa11 100644
--- a/sickbeard/providers/hdbits.py
+++ b/sickbeard/providers/hdbits.py
@@ -84,8 +84,6 @@ class HDBitsProvider(generic.TorrentProvider):
 
         title = item['name']
         if title:
-            title = u'' + title
-            title = title.replace(' ', '.')
             title = self._clean_title_from_provider(title)
 
         url = self.urls['download'] + urllib.urlencode({'id': item['id'], 'passkey': self.passkey})
diff --git a/sickbeard/providers/hdtorrents.py b/sickbeard/providers/hdtorrents.py
index ffc3d498..f9a20749 100644
--- a/sickbeard/providers/hdtorrents.py
+++ b/sickbeard/providers/hdtorrents.py
@@ -292,8 +292,6 @@ class HDTorrentsProvider(generic.TorrentProvider):
         title, url, id, seeders, leechers = item
 
         if title:
-            title = u'' + title
-            title = title.replace(' ', '.')
             title = self._clean_title_from_provider(title)
 
         if url:
diff --git a/sickbeard/providers/kat.py b/sickbeard/providers/kat.py
index 672f6964..763091dd 100644
--- a/sickbeard/providers/kat.py
+++ b/sickbeard/providers/kat.py
@@ -297,8 +297,6 @@ class KATProvider(generic.TorrentProvider):
         title, url, id, seeders, leechers, size, pubdate = item
 
         if title:
-            title = u'' + title
-            title = title.replace(' ', '.')
             title = self._clean_title_from_provider(title)
 
         if url:
diff --git a/sickbeard/providers/morethantv.py b/sickbeard/providers/morethantv.py
index d2db798c..e73f9a48 100755
--- a/sickbeard/providers/morethantv.py
+++ b/sickbeard/providers/morethantv.py
@@ -265,8 +265,6 @@ class MoreThanTVProvider(generic.TorrentProvider):
         title, url, id, seeders, leechers = item
 
         if title:
-            title = u'' + title
-            title = title.replace(' ', '.')
             title = self._clean_title_from_provider(title)
 
         if url:
diff --git a/sickbeard/providers/oldpiratebay.py b/sickbeard/providers/oldpiratebay.py
index 49381b2c..d6de1213 100644
--- a/sickbeard/providers/oldpiratebay.py
+++ b/sickbeard/providers/oldpiratebay.py
@@ -293,7 +293,6 @@ class OldPirateBayProvider(generic.TorrentProvider):
         title, url, id, seeders, leechers = item
 
         if title:
-            title = u'' + title.replace(' ', '.')
             title = self._clean_title_from_provider(title)
 
         if url:
diff --git a/sickbeard/providers/rarbg.py b/sickbeard/providers/rarbg.py
index 7c281490..e0d938ee 100644
--- a/sickbeard/providers/rarbg.py
+++ b/sickbeard/providers/rarbg.py
@@ -334,8 +334,6 @@ class RarbgProvider(generic.TorrentProvider):
         title, url = item
 
         if title:
-            title = u'' + title
-            title = title.replace(' ', '.')
             title = self._clean_title_from_provider(title)
 
         if url:
diff --git a/sickbeard/providers/rsstorrent.py b/sickbeard/providers/rsstorrent.py
index 8f6910c1..807114e6 100644
--- a/sickbeard/providers/rsstorrent.py
+++ b/sickbeard/providers/rsstorrent.py
@@ -78,8 +78,6 @@ class TorrentRssProvider(generic.TorrentProvider):
 
         title = item.get(self.titleTAG)
         if title:
-            title = u'' + title
-            title = title.replace(' ', '.')
             title = self._clean_title_from_provider(title)
 
         attempt_list = [lambda: item.get('torrent_magneturi'),
diff --git a/sickbeard/providers/scc.py b/sickbeard/providers/scc.py
index 3827abf9..5bbc2245 100644
--- a/sickbeard/providers/scc.py
+++ b/sickbeard/providers/scc.py
@@ -259,8 +259,6 @@ class SCCProvider(generic.TorrentProvider):
         title, url, id, seeders, leechers = item
 
         if title:
-            title = u'' + title
-            title = title.replace(' ', '.')
             title = self._clean_title_from_provider(title)
 
         if url:
diff --git a/sickbeard/providers/scenetime.py b/sickbeard/providers/scenetime.py
index ff572b3e..35461560 100644
--- a/sickbeard/providers/scenetime.py
+++ b/sickbeard/providers/scenetime.py
@@ -233,8 +233,6 @@ class SceneTimeProvider(generic.TorrentProvider):
         title, url, id, seeders, leechers = item
 
         if title:
-            title = u'' + title
-            title = title.replace(' ', '.')
             title = self._clean_title_from_provider(title)
 
         if url:
diff --git a/sickbeard/providers/speedcd.py b/sickbeard/providers/speedcd.py
index 0a83d9aa..9d92114f 100644
--- a/sickbeard/providers/speedcd.py
+++ b/sickbeard/providers/speedcd.py
@@ -204,8 +204,6 @@ class SpeedCDProvider(generic.TorrentProvider):
         title, url, seeders, leechers = item
 
         if title:
-            title = u'' + title
-            title = title.replace(' ', '.')
             title = self._clean_title_from_provider(title)
 
         if url:
diff --git a/sickbeard/providers/t411.py b/sickbeard/providers/t411.py
index 6c0c7811..e48778a1 100644
--- a/sickbeard/providers/t411.py
+++ b/sickbeard/providers/t411.py
@@ -214,8 +214,6 @@ class T411Provider(generic.TorrentProvider):
         title, url = item
 
         if title:
-            title += u''
-            title = title.replace(' ', '.')
             title = self._clean_title_from_provider(title)
 
         if url:
diff --git a/sickbeard/providers/thepiratebay.py b/sickbeard/providers/thepiratebay.py
index 08cbe2fb..24d9aa11 100644
--- a/sickbeard/providers/thepiratebay.py
+++ b/sickbeard/providers/thepiratebay.py
@@ -282,7 +282,6 @@ class ThePirateBayProvider(generic.TorrentProvider):
         title, url, id, seeders, leechers = item
 
         if title:
-            title = u'' + title.replace(' ', '.')
             title = self._clean_title_from_provider(title)
 
         if url:
diff --git a/sickbeard/providers/tntvillage.py b/sickbeard/providers/tntvillage.py
index f31b7c21..fa9ddcc4 100644
--- a/sickbeard/providers/tntvillage.py
+++ b/sickbeard/providers/tntvillage.py
@@ -439,8 +439,6 @@ class TNTVillageProvider(generic.TorrentProvider):
         title, url, id, seeders, leechers = item
 
         if title:
-            title = u'' + title
-            title = title.replace(' ', '.')
             title = self._clean_title_from_provider(title)
 
         if url:
diff --git a/sickbeard/providers/tokyotoshokan.py b/sickbeard/providers/tokyotoshokan.py
index ba9bbd7f..4d1c3680 100644
--- a/sickbeard/providers/tokyotoshokan.py
+++ b/sickbeard/providers/tokyotoshokan.py
@@ -147,8 +147,6 @@ class TokyoToshokanCache(tvcache.TVCache):
 
         title = item.title if item.title else None
         if title:
-            title = u'' + title
-            title = title.replace(' ', '.')
             title = self._clean_title_from_provider(title)
 
         url = item.link if item.link else None
diff --git a/sickbeard/providers/torrentbytes.py b/sickbeard/providers/torrentbytes.py
index e52deb7f..6a6f5a21 100644
--- a/sickbeard/providers/torrentbytes.py
+++ b/sickbeard/providers/torrentbytes.py
@@ -227,8 +227,6 @@ class TorrentBytesProvider(generic.TorrentProvider):
         title, url, id, seeders, leechers = item
 
         if title:
-            title = u'' + title
-            title = title.replace(' ', '.')
             title = self._clean_title_from_provider(title)
 
         if url:
diff --git a/sickbeard/providers/torrentday.py b/sickbeard/providers/torrentday.py
index 787d471b..6ba30f50 100644
--- a/sickbeard/providers/torrentday.py
+++ b/sickbeard/providers/torrentday.py
@@ -236,8 +236,6 @@ class TorrentDayProvider(generic.TorrentProvider):
         title, url = item[0], item[1]
 
         if title:
-            title = u'' + title
-            title = title.replace(' ', '.')
             title = self._clean_title_from_provider(title)
 
         if url:
diff --git a/sickbeard/providers/torrentleech.py b/sickbeard/providers/torrentleech.py
index a52cbc1e..26c0b778 100644
--- a/sickbeard/providers/torrentleech.py
+++ b/sickbeard/providers/torrentleech.py
@@ -229,8 +229,6 @@ class TorrentLeechProvider(generic.TorrentProvider):
         title, url, id, seeders, leechers = item
 
         if title:
-            title = u'' + title
-            title = title.replace(' ', '.')
             title = self._clean_title_from_provider(title)
 
         if url:
-- 
GitLab