Fix displaying torrents with non-utf8 encodings in add torrent dialog

This commit is contained in:
Andrew Resch 2009-04-05 18:31:43 +00:00
parent 8d8e1ef5c3
commit e8d9c43b48
2 changed files with 12 additions and 4 deletions

View file

@ -4,6 +4,9 @@
* Fix #855 force a resume on a torrent if a 'Force Recheck' is initiated
* Fix #862 deluged crash when access http://localhost:58846
==== GtkUI ====
* Fix displaying torrents with non-utf8 encodings in add torrent dialog
==== WebUI ====
* Fix #870 use proper config location for loading ssl cert

View file

@ -46,29 +46,34 @@ class TorrentInfo(object):
self.__m_info_hash = sha(bencode.bencode(self.__m_metadata["info"])).hexdigest()
# Get encoding from torrent file if available
self.encoding = "UTF-8"
if "encoding" in self.__m_metadata:
self.encoding = self.__m_metadata["encoding"]
# Get list of files from torrent info
self.__m_files = []
if self.__m_metadata["info"].has_key("files"):
prefix = ""
if len(self.__m_metadata["info"]["files"]) > 1:
prefix = self.__m_metadata["info"]["name"]
prefix = self.__m_metadata["info"]["name"].decode(self.encoding).encode("utf8")
for f in self.__m_metadata["info"]["files"]:
self.__m_files.append({
'path': os.path.join(prefix, *f["path"]),
'path': os.path.join(prefix, *f["path"]).decode(self.encoding).encode("utf8"),
'size': f["length"],
'download': True
})
else:
self.__m_files.append({
"path": self.__m_metadata["info"]["name"],
"path": self.__m_metadata["info"]["name"].decode(self.encoding).encode("utf8"),
"size": self.__m_metadata["info"]["length"],
"download": True
})
@property
def name(self):
return self.__m_metadata["info"]["name"]
return self.__m_metadata["info"]["name"].decode(self.encoding).encode("utf8")
@property
def info_hash(self):