From cc5ef891397427a7a7817a574453a11e754cc3aa Mon Sep 17 00:00:00 2001 From: bendikro Date: Tue, 1 Jan 2013 17:15:00 +0000 Subject: [PATCH] Fix #2241 : Can't add any torrent files with GUI running This fixes a bug in commit 60f196ff933, adds a test and removes unneeded ignore when encoding unicode to utf8. --- deluge/common.py | 8 ++++--- deluge/tests/test_ui_common.py | 30 +++++++++++++++++++++++++ deluge/tests/unicode_filenames.torrent | Bin 0 -> 34298 bytes 3 files changed, 35 insertions(+), 3 deletions(-) create mode 100644 deluge/tests/test_ui_common.py create mode 100644 deluge/tests/unicode_filenames.torrent diff --git a/deluge/common.py b/deluge/common.py index b68c1c776..1116572c1 100644 --- a/deluge/common.py +++ b/deluge/common.py @@ -659,20 +659,22 @@ def decode_string(s, encoding="utf8"): pass return u'' -def utf8_encoded(s): +def utf8_encoded(s, encoding="utf8"): """ Returns a utf8 encoded string of s :param s: (unicode) string to (re-)encode :type s: basestring + :keyword encoding: the encoding to use in the decoding + :type encoding: string :returns: a utf8 encoded string of s :rtype: str """ if isinstance(s, str): - s = decode_string(s).encode("utf8") + s = decode_string(s, encoding).encode("utf8") elif isinstance(s, unicode): - s = s.encode("utf8", "ignore") + s = s.encode("utf8") return s class VersionSplit(object): diff --git a/deluge/tests/test_ui_common.py b/deluge/tests/test_ui_common.py new file mode 100644 index 000000000..14d58e7b4 --- /dev/null +++ b/deluge/tests/test_ui_common.py @@ -0,0 +1,30 @@ +# -*- coding: utf-8 -*- +from twisted.trial import unittest +import os +from deluge.ui.common import TorrentInfo + +class UICommonTestCase(unittest.TestCase): + def setUp(self): + pass + + def tearDown(self): + pass + + def test_utf8_encoded_paths(self): + filename = os.path.join(os.path.dirname(__file__), "test.torrent") + ti = TorrentInfo(filename) + self.assertTrue(ti.files_tree.has_key("azcvsupdater_2.6.2.jar")) + + def test_utf8_encoded_paths2(self): + filename = os.path.join(os.path.dirname(__file__), "unicode_filenames.torrent") + ti = TorrentInfo(filename) + + files = ti.files_tree["unicode_filenames"] + self.assertTrue(files.has_key("\xe3\x83\x86\xe3\x82\xaf\xe3\x82\xb9\xe3\x83\xbb\xe3\x83" + "\x86\xe3\x82\xaf\xe3\x82\xb5\xe3\x83\xb3.mkv")) + self.assertTrue(files.has_key("\xd0\x9c\xd0\xb8\xd1\x85\xd0\xb0\xd0\xb8\xd0\xbb \xd0\x93" + "\xd0\xbe\xd1\x80\xd0\xb1\xd0\xb0\xd1\x87\xd1\x91\xd0\xb2.mkv")) + self.assertTrue(files.has_key("Alisher ibn G'iyosiddin Navoiy.mkv")) + self.assertTrue(files.has_key("Ascii title.mkv")) + self.assertTrue(files.has_key("\xe0\xa6\xb8\xe0\xa7\x81\xe0\xa6\x95\xe0\xa7\x81\xe0\xa6" + "\xae\xe0\xa6\xbe\xe0\xa6\xb0 \xe0\xa6\xb0\xe0\xa6\xbe\xe0\xa7\x9f.mkv")) diff --git a/deluge/tests/unicode_filenames.torrent b/deluge/tests/unicode_filenames.torrent new file mode 100644 index 0000000000000000000000000000000000000000..e34f055dfb68bb2e92cd5a8ca47e0f73759ac1b5 GIT binary patch literal 34298 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 Lq-GkVrltY_m;z39 literal 0 HcmV?d00001