Change search of SpeedCD, TVChaos and parse of TorrentDay.

This commit is contained in:
JackDandy 2017-03-30 03:18:36 +01:00
parent 95b8994fa2
commit aa45c2f81a
5 changed files with 10 additions and 5 deletions

View file

@ -1,4 +1,9 @@
### 0.12.11 (2017-03-17 02:00:00 UTC)
### 0.12.12 (2017-03-30 03:15:00 UTC)
* Change search of SpeedCD, TVChaos and parse of TorrentDay.
### 0.12.11 (2017-03-17 02:00:00 UTC)
* Change SpeedCD to cookie auth as username/password is not reliable
* Change Usenet-Crawler media provider icon

View file

@ -614,7 +614,7 @@ def sanitizeSceneName(name):
"""
if name:
bad_chars = u",:()'!?\u2019"
bad_chars = u",:()£'!?\u2019"
# strip out any bad chars
for x in bad_chars:

View file

@ -62,7 +62,6 @@ class SpeedCDProvider(generic.TorrentProvider):
for mode in search_params.keys():
rc['cats'] = re.compile('(?i)cat=(?:%s)' % self._categories_string(mode, template='', delimiter='|'))
for search_string in search_params[mode]:
search_string = '+'.join(search_string.split())
post_data = dict((x.split('=') for x in self._categories_string(mode).split('&')), search=search_string,
jxt=2, jxw='b', freeleech=('on', None)[not self.freeleech])
@ -116,7 +115,7 @@ class SpeedCDProvider(generic.TorrentProvider):
def _episode_strings(self, ep_obj, **kwargs):
return generic.TorrentProvider._episode_strings(self, ep_obj, sep_date='.', **kwargs)
return generic.TorrentProvider._episode_strings(self, ep_obj, scene=False, sep_date='.', **kwargs)
@staticmethod
def ui_string(key):

View file

@ -79,7 +79,7 @@ class TorrentDayProvider(generic.TorrentProvider):
if not html or self._has_no_results(html):
raise generic.HaltParseException
with BS4Parser(html, features=['html5lib', 'permissive']) as soup:
with BS4Parser(html, features=['html5lib', 'permissive'], tag='table', attr='torrentTable') as soup:
torrent_table = soup.find('table', id='torrentTable')
torrent_rows = [] if not torrent_table else torrent_table.find_all('tr')

View file

@ -59,6 +59,7 @@ class TVChaosUKProvider(generic.TorrentProvider):
rc = dict((k, re.compile('(?i)' + v)) for (k, v) in {'info': 'detail', 'get': 'download', 'fl': 'free'}.items())
for mode in search_params.keys():
for search_string in search_params[mode]:
search_string = search_string.replace(u'£', '%')
search_string = isinstance(search_string, unicode) and unidecode(search_string) or search_string
kwargs = dict(post_data={'keywords': search_string, 'do': 'quick_sort', 'page': '0',