Possible fix for failed to send torrent errors

This commit is contained in:
echel0n 2014-08-17 19:14:07 -07:00
parent e2d1178515
commit 4752e07733

View file

@ -142,16 +142,14 @@ class GenericClient(object):
def _get_torrent_hash(self, result): def _get_torrent_hash(self, result):
result.hash = None
if result.url.startswith('magnet'): if result.url.startswith('magnet'):
result.hash = re.findall('urn:btih:([\w]{32,40})', result.url)[0] result.hash = re.findall('urn:btih:([\w]{32,40})', result.url)[0]
if len(result.hash) == 32: if len(result.hash) == 32:
result.hash = b16encode(b32decode(result.hash)).lower() result.hash = b16encode(b32decode(result.hash)).lower()
else: else:
result.content = result.provider.getURL(result.url) result.content = result.provider.getURL(result.url)
if result.content: info = bdecode(result.content)["info"]
info = bdecode(result.content)["info"] result.hash = sha1(bencode(info)).hexdigest()
result.hash = sha1(bencode(info)).hexdigest()
return result return result