Fix loading improperly created torrents with mismatched encodings

This commit is contained in:
Andrew Resch 2009-04-21 17:16:19 +00:00
parent abc5bcf389
commit fbb5cd94e8
2 changed files with 6 additions and 5 deletions

View file

@ -1,12 +1,13 @@
=== Deluge 1.1.7 - (In Development) ===
==== Core ====
* Fix issue where cannot resume torrent after doing a 'Pause All'
==== GtkUI ====
* Fix #883 segfault if locale is not using UTF-8 encoding
* Fix for adding torrents with invalid filename encodings
* Fix displaying IPv6 peers in the Peers tab
* Fix starting the daemon in OS X
* Fix loading improperly created torrents with mismatched encodings
=== Deluge 1.1.6 - (06 April 2009) ===
==== Core ====

View file

@ -70,24 +70,24 @@ class TorrentInfo(object):
if self.__m_metadata["info"].has_key("files"):
prefix = ""
if len(self.__m_metadata["info"]["files"]) > 1:
prefix = self.__m_metadata["info"]["name"].decode(self.encoding).encode("utf8")
prefix = self.__m_metadata["info"]["name"].decode(self.encoding, "replace").encode("utf8")
for f in self.__m_metadata["info"]["files"]:
self.__m_files.append({
'path': os.path.join(prefix, *f["path"]).decode(self.encoding).encode("utf8"),
'path': os.path.join(prefix, *f["path"]).decode(self.encoding, "replace").encode("utf8"),
'size': f["length"],
'download': True
})
else:
self.__m_files.append({
"path": self.__m_metadata["info"]["name"].decode(self.encoding).encode("utf8"),
"path": self.__m_metadata["info"]["name"].decode(self.encoding, "replace").encode("utf8"),
"size": self.__m_metadata["info"]["length"],
"download": True
})
@property
def name(self):
return self.__m_metadata["info"]["name"].decode(self.encoding).encode("utf8")
return self.__m_metadata["info"]["name"].decode(self.encoding, "replace").encode("utf8")
@property
def info_hash(self):