mirror of
https://git.deluge-torrent.org/deluge
synced 2025-08-02 22:48:40 +00:00
Fix displaying torrents with non-utf8 encodings in add torrent dialog
This commit is contained in:
parent
8d8e1ef5c3
commit
e8d9c43b48
2 changed files with 12 additions and 4 deletions
|
@ -4,6 +4,9 @@
|
||||||
* Fix #855 force a resume on a torrent if a 'Force Recheck' is initiated
|
* Fix #855 force a resume on a torrent if a 'Force Recheck' is initiated
|
||||||
* Fix #862 deluged crash when access http://localhost:58846
|
* Fix #862 deluged crash when access http://localhost:58846
|
||||||
|
|
||||||
|
==== GtkUI ====
|
||||||
|
* Fix displaying torrents with non-utf8 encodings in add torrent dialog
|
||||||
|
|
||||||
==== WebUI ====
|
==== WebUI ====
|
||||||
* Fix #870 use proper config location for loading ssl cert
|
* Fix #870 use proper config location for loading ssl cert
|
||||||
|
|
||||||
|
|
|
@ -46,29 +46,34 @@ class TorrentInfo(object):
|
||||||
|
|
||||||
self.__m_info_hash = sha(bencode.bencode(self.__m_metadata["info"])).hexdigest()
|
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
|
# Get list of files from torrent info
|
||||||
self.__m_files = []
|
self.__m_files = []
|
||||||
if self.__m_metadata["info"].has_key("files"):
|
if self.__m_metadata["info"].has_key("files"):
|
||||||
prefix = ""
|
prefix = ""
|
||||||
if len(self.__m_metadata["info"]["files"]) > 1:
|
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"]:
|
for f in self.__m_metadata["info"]["files"]:
|
||||||
self.__m_files.append({
|
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"],
|
'size': f["length"],
|
||||||
'download': True
|
'download': True
|
||||||
})
|
})
|
||||||
else:
|
else:
|
||||||
self.__m_files.append({
|
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"],
|
"size": self.__m_metadata["info"]["length"],
|
||||||
"download": True
|
"download": True
|
||||||
})
|
})
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def name(self):
|
def name(self):
|
||||||
return self.__m_metadata["info"]["name"]
|
return self.__m_metadata["info"]["name"].decode(self.encoding).encode("utf8")
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def info_hash(self):
|
def info_hash(self):
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue