diff --git a/CHANGES.md b/CHANGES.md index 08da918..6daafd4 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -118,6 +118,7 @@ * Change Kodi show nfo remove tags 'id' * Change output non valid xml that Kodi will accept * Change remove redundant py26 version check +* Fix reduce quote usage to optional [develop changelog] diff --git a/sickbeard/providers/generic.py b/sickbeard/providers/generic.py index c382daa..364d28c 100644 --- a/sickbeard/providers/generic.py +++ b/sickbeard/providers/generic.py @@ -864,7 +864,7 @@ class GenericProvider(object): return title, url - def _link(self, url, url_tmpl=None): + def _link(self, url, url_tmpl=None, url_quote=None): if url: if PY2: @@ -878,7 +878,8 @@ class GenericProvider(object): # noinspection PyUnresolvedReferences return url if re.match('(?i)(https?://|magnet:)', url) \ else (url_tmpl or self.urls.get('get', (getattr(self, 'url', '') or - getattr(self, 'url_base')) + '%s')) % quote(url).lstrip('/') + getattr(self, 'url_base')) + '%s')) % ( + not url_quote and url or quote(url)).lstrip('/') @staticmethod def _header_row(table_row, custom_match=None, custom_tags=None, header_strip=''): diff --git a/sickbeard/providers/torrentleech.py b/sickbeard/providers/torrentleech.py index 0158f92..66ae3e5 100644 --- a/sickbeard/providers/torrentleech.py +++ b/sickbeard/providers/torrentleech.py @@ -26,6 +26,8 @@ from bs4_parser import BS4Parser from _23 import unidecode from six import iteritems +from six import PY2 + class TorrentLeechProvider(generic.TorrentProvider): def __init__(self): @@ -130,7 +132,7 @@ class TorrentLeechProvider(generic.TorrentProvider): info = tr.find('td', class_='name').a title = (info.attrs.get('title') or info.get_text()).strip() size = cells[head['size']].get_text().strip() - download_url = self._link(dl) + download_url = self._link(dl, url_quote=PY2 and isinstance(dl, unicode) or None) except (AttributeError, TypeError, ValueError): continue