From 461e469f2853f5048d4743151209439ecbd746d9 Mon Sep 17 00:00:00 2001 From: Dean Gardiner Date: Thu, 6 Feb 2014 22:18:41 +1300 Subject: [PATCH] Updated rtorrent-python library - Fixed bencode encoding bug with long types --- libs/rtorrent/lib/bencode.py | 2 +- libs/rtorrent/lib/torrentparser.py | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/libs/rtorrent/lib/bencode.py b/libs/rtorrent/lib/bencode.py index 97bd2f0e..ba99ef93 100755 --- a/libs/rtorrent/lib/bencode.py +++ b/libs/rtorrent/lib/bencode.py @@ -267,7 +267,7 @@ def _encode_dict(data): def encode(data): if isinstance(data, bool): return False - elif isinstance(data, int): + elif isinstance(data, (int, long)): return _encode_int(data) elif isinstance(data, bytes): return _encode_string(data) diff --git a/libs/rtorrent/lib/torrentparser.py b/libs/rtorrent/lib/torrentparser.py index 30170d32..b339bce4 100755 --- a/libs/rtorrent/lib/torrentparser.py +++ b/libs/rtorrent/lib/torrentparser.py @@ -90,10 +90,10 @@ class TorrentParser(): def _calc_info_hash(self): self.info_hash = None if "info" in self._torrent_decoded.keys(): - info_encoded = bencode.encode(self._torrent_decoded["info"]) + info_encoded = bencode.encode(self._torrent_decoded["info"]) - if info_encoded: - self.info_hash = hashlib.sha1(info_encoded).hexdigest().upper() + if info_encoded: + self.info_hash = hashlib.sha1(info_encoded).hexdigest().upper() return(self.info_hash)