Private GIT

Skip to content
Snippets Groups Projects
Commit 36e17d60 authored by miigotu's avatar miigotu
Browse files

Add missed definition of _convertSize

Remove excess whitespacee and fix bad indents
Fixup regex
parent 56e412d8
No related branches found
No related tags found
No related merge requests found
...@@ -25,7 +25,7 @@ from sickrage.helper.common import try_int ...@@ -25,7 +25,7 @@ from sickrage.helper.common import try_int
from sickrage.providers.TorrentProvider import TorrentProvider from sickrage.providers.TorrentProvider import TorrentProvider
class HoundDawgsProvider(TorrentProvider): class HoundDawgsProvider(TorrentProvider): # pylint: disable=too-many-instance-attributes
def __init__(self): def __init__(self):
...@@ -39,11 +39,12 @@ class HoundDawgsProvider(TorrentProvider): ...@@ -39,11 +39,12 @@ class HoundDawgsProvider(TorrentProvider):
self.freeleech = None self.freeleech = None
self.ranked = None self.ranked = None
self.cache = HoundDawgsCache(self)
self.urls = {'base_url': 'https://hounddawgs.org/', self.urls = {
'base_url': 'https://hounddawgs.org/',
'search': 'https://hounddawgs.org/torrents.php', 'search': 'https://hounddawgs.org/torrents.php',
'login': 'https://hounddawgs.org/login.php'} 'login': 'https://hounddawgs.org/login.php'
}
self.url = self.urls['base_url'] self.url = self.urls['base_url']
...@@ -63,12 +64,16 @@ class HoundDawgsProvider(TorrentProvider): ...@@ -63,12 +64,16 @@ class HoundDawgsProvider(TorrentProvider):
"searchtags": '' "searchtags": ''
} }
self.cache = HoundDawgsCache(self)
def login(self): def login(self):
login_params = {'username': self.username, login_params = {
'username': self.username,
'password': self.password, 'password': self.password,
'keeplogged': 'on', 'keeplogged': 'on',
'login': 'Login'} 'login': 'Login'
}
self.get_url(self.urls['base_url'], timeout=30) self.get_url(self.urls['base_url'], timeout=30)
response = self.get_url(self.urls['login'], post_data=login_params, timeout=30) response = self.get_url(self.urls['login'], post_data=login_params, timeout=30)
...@@ -84,7 +89,7 @@ class HoundDawgsProvider(TorrentProvider): ...@@ -84,7 +89,7 @@ class HoundDawgsProvider(TorrentProvider):
return True return True
def search(self, search_strings, age=0, ep_obj=None): def search(self, search_strings, age=0, ep_obj=None): # pylint: disable=too-many-locals,too-many-branches,too-many-statements
results = [] results = []
items = {'Season': [], 'Episode': [], 'RSS': []} items = {'Season': [], 'Episode': [], 'RSS': []}
...@@ -139,9 +144,9 @@ class HoundDawgsProvider(TorrentProvider): ...@@ -139,9 +144,9 @@ class HoundDawgsProvider(TorrentProvider):
continue continue
title = allAs[2].string title = allAs[2].string
download_url = self.urls['base_url']+allAs[0].attrs['href'] download_url = self.urls['base_url']+allAs[0].attrs['href']
torrent_size = (result.find("td", class_="nobr").find_next_sibling("td").string).replace("i", "") torrent_size = result.find("td", class_="nobr").find_next_sibling("td").string
if re.match(r"\d+([,\.]\d+)?\s*[KkMmGgTt]?[Bb]", torrent_size): if torrent_size:
size = self._convertSize(torrent_size.rstrip()) size = self._convertSize(torrent_size)
seeders = try_int((result.findAll('td')[6]).text) seeders = try_int((result.findAll('td')[6]).text)
leechers = try_int((result.findAll('td')[7]).text) leechers = try_int((result.findAll('td')[7]).text)
...@@ -163,7 +168,7 @@ class HoundDawgsProvider(TorrentProvider): ...@@ -163,7 +168,7 @@ class HoundDawgsProvider(TorrentProvider):
items[mode].append(item) items[mode].append(item)
except Exception, e: except Exception:
logger.log(u"Failed parsing provider. Traceback: %s" % traceback.format_exc(), logger.ERROR) logger.log(u"Failed parsing provider. Traceback: %s" % traceback.format_exc(), logger.ERROR)
# For each search mode sort all the items by seeders if available # For each search mode sort all the items by seeders if available
...@@ -173,6 +178,21 @@ class HoundDawgsProvider(TorrentProvider): ...@@ -173,6 +178,21 @@ class HoundDawgsProvider(TorrentProvider):
return results return results
@staticmethod
def _convertSize(size):
size = re.sub(r'[i, ]+', '', size)
matches = re.match(r'([\d.]+)([TGMK])', size.strip().upper())
if not matches:
return -1
size = matches.group(1)
modifier = matches.group(2)
mod = {'K': 1, 'M': 2, 'G': 3, 'T': 4}
return float(size) * 1024**mod[modifier]
def seed_ratio(self): def seed_ratio(self):
return self.ratio return self.ratio
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment