mirror of
https://github.com/fergalmoran/picard.git
synced 2026-01-06 16:44:06 +00:00
Fix a bunch of flake8 warnings, mostly cosmetic changes
This commit is contained in:
@@ -363,7 +363,7 @@ class CommonTests:
|
||||
instrument = "accordéon clavier « boutons »"
|
||||
artist = "桑山哲也"
|
||||
tag = "performer:" + instrument
|
||||
metadata = Metadata({ tag: artist })
|
||||
metadata = Metadata({tag: artist})
|
||||
loaded_metadata = save_and_load_metadata(self.filename, metadata)
|
||||
self.assertIn(tag, loaded_metadata)
|
||||
self.assertEqual(artist, loaded_metadata[tag])
|
||||
|
||||
@@ -107,4 +107,3 @@ class AcoustIDManagerTest(PicardTestCase):
|
||||
self.assertEqual(self.mock_api_helper.submit_acoustid_fingerprints.call_count, 6)
|
||||
for f in files:
|
||||
self.assertFalse(self.acoustidmanager.is_submitted(f))
|
||||
|
||||
|
||||
@@ -62,7 +62,8 @@ class Testbytes2human(PicardTestCase):
|
||||
# be sure it is disabled
|
||||
self.fail('!!! UNSET create_test_data mode !!! (%s)' % filename)
|
||||
|
||||
def _create_testlist(self):
|
||||
@staticmethod
|
||||
def _create_testlist():
|
||||
values = [0, 1]
|
||||
for n in [1000, 1024]:
|
||||
p = 1
|
||||
@@ -77,12 +78,14 @@ class Testbytes2human(PicardTestCase):
|
||||
bytes2human.short_string(x, 1024, 2)]))
|
||||
return list
|
||||
|
||||
def _save_expected_to(self, path, a_list):
|
||||
@staticmethod
|
||||
def _save_expected_to(path, a_list):
|
||||
with open(path, 'wb') as f:
|
||||
f.writelines([l + "\n" for l in a_list])
|
||||
f.close()
|
||||
|
||||
def _read_expected_from(self, path):
|
||||
@staticmethod
|
||||
def _read_expected_from(path):
|
||||
with open(path, 'r') as f:
|
||||
lines = [l.rstrip("\n") for l in f.readlines()]
|
||||
f.close()
|
||||
|
||||
@@ -73,7 +73,7 @@ class TestPicardConfig(TestPicardConfigCommon):
|
||||
|
||||
class TestPicardConfigTextOption(TestPicardConfigCommon):
|
||||
|
||||
### TextOption
|
||||
# TextOption
|
||||
def test_text_opt_convert(self):
|
||||
opt = TextOption("setting", "text_option", "abc")
|
||||
self.assertEqual(opt.convert(123), "123")
|
||||
@@ -117,7 +117,7 @@ class TestPicardConfigTextOption(TestPicardConfigCommon):
|
||||
|
||||
class TestPicardConfigBoolOption(TestPicardConfigCommon):
|
||||
|
||||
### BoolOption
|
||||
# BoolOption
|
||||
def test_bool_opt_convert(self):
|
||||
opt = BoolOption("setting", "bool_option", False)
|
||||
self.assertEqual(opt.convert(1), True)
|
||||
@@ -175,7 +175,7 @@ class TestPicardConfigBoolOption(TestPicardConfigCommon):
|
||||
|
||||
class TestPicardConfigIntOption(TestPicardConfigCommon):
|
||||
|
||||
### IntOption
|
||||
# IntOption
|
||||
def test_int_opt_convert(self):
|
||||
opt = IntOption("setting", "int_option", 666)
|
||||
self.assertEqual(opt.convert("123"), 123)
|
||||
@@ -277,7 +277,7 @@ class TestPicardConfigFloatOption(TestPicardConfigCommon):
|
||||
|
||||
class TestPicardConfigListOption(TestPicardConfigCommon):
|
||||
|
||||
### ListOption
|
||||
# ListOption
|
||||
def test_list_opt_convert(self):
|
||||
opt = ListOption("setting", "list_option", [])
|
||||
self.assertEqual(opt.convert("123"), ['1', '2', '3'])
|
||||
@@ -328,7 +328,7 @@ class TestPicardConfigListOption(TestPicardConfigCommon):
|
||||
|
||||
class TestPicardConfigVarOption(TestPicardConfigCommon):
|
||||
|
||||
### Option
|
||||
# Option
|
||||
def test_var_opt_convert(self):
|
||||
opt = Option("setting", "var_option", set())
|
||||
self.assertEqual(opt.convert(["a", "b", "a"]), {"a", "b"})
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
#!/usr/bin/env python
|
||||
# coding: utf-8
|
||||
import os.path
|
||||
import unittest
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
#!/usr/bin/env python
|
||||
# coding: utf-8
|
||||
import os.path
|
||||
|
||||
|
||||
@@ -321,30 +321,29 @@ class ImageListTest(PicardTestCase):
|
||||
self.assertEqual(len(self.imagelist), 1)
|
||||
|
||||
def test_imagelist_insert(self):
|
||||
l = ImageList()
|
||||
l.insert(0, 'a')
|
||||
self.assertEqual(l[0], 'a')
|
||||
l.insert(0, 'b')
|
||||
self.assertEqual(l[0], 'b')
|
||||
self.assertEqual(l[1], 'a')
|
||||
imagelist = ImageList()
|
||||
imagelist.insert(0, 'a')
|
||||
self.assertEqual(imagelist[0], 'a')
|
||||
imagelist.insert(0, 'b')
|
||||
self.assertEqual(imagelist[0], 'b')
|
||||
self.assertEqual(imagelist[1], 'a')
|
||||
|
||||
def test_imagelist_clear(self):
|
||||
l = ImageList(['a', 'b'])
|
||||
self.assertEqual(len(l), 2)
|
||||
l.clear()
|
||||
self.assertEqual(len(l), 0)
|
||||
imagelist = ImageList(['a', 'b'])
|
||||
self.assertEqual(len(imagelist), 2)
|
||||
imagelist.clear()
|
||||
self.assertEqual(len(imagelist), 0)
|
||||
|
||||
def test_imagelist_copy(self):
|
||||
l = ['a', 'b']
|
||||
l1 = ImageList(l)
|
||||
l2 = l1.copy()
|
||||
l3 = l1
|
||||
l1[0] = 'c'
|
||||
self.assertEqual(l2[0], 'a')
|
||||
self.assertEqual(l3[0], 'c')
|
||||
imagelist1 = ImageList(['a', 'b'])
|
||||
imagelist2 = imagelist1.copy()
|
||||
imagelist3 = imagelist1
|
||||
imagelist1[0] = 'c'
|
||||
self.assertEqual(imagelist2[0], 'a')
|
||||
self.assertEqual(imagelist3[0], 'c')
|
||||
|
||||
def test_imagelist_del(self):
|
||||
l = ImageList(['a', 'b'])
|
||||
del l[0]
|
||||
self.assertEqual(l[0], 'b')
|
||||
self.assertEqual(len(l), 1)
|
||||
imagelist = ImageList(['a', 'b'])
|
||||
del imagelist[0]
|
||||
self.assertEqual(imagelist[0], 'b')
|
||||
self.assertEqual(len(imagelist), 1)
|
||||
|
||||
@@ -202,7 +202,8 @@ class MetadataTest(PicardTestCase):
|
||||
self.assertNotIn("single1", self.metadata.deleted_tags)
|
||||
|
||||
def test_metadata_applyfunc(self):
|
||||
def func(x): return x[1:]
|
||||
def func(x):
|
||||
return x[1:]
|
||||
self.metadata.apply_func(func)
|
||||
|
||||
self.assertEqual("ingle1-value", self.metadata["single1"])
|
||||
@@ -219,14 +220,16 @@ class MetadataTest(PicardTestCase):
|
||||
m[PRESERVED_TAGS[0]] = 'value1'
|
||||
m['not_preserved'] = 'value2'
|
||||
|
||||
def func(x): return x[1:]
|
||||
def func(x):
|
||||
return x[1:]
|
||||
m.apply_func(func)
|
||||
|
||||
self.assertEqual("value1", m[PRESERVED_TAGS[0]])
|
||||
self.assertEqual("alue2", m['not_preserved'])
|
||||
|
||||
def test_metadata_applyfunc_delete_tags(self):
|
||||
def func(x): return None
|
||||
def func(x):
|
||||
return None
|
||||
metadata = Metadata(self.metadata)
|
||||
metadata.apply_func(func)
|
||||
self.assertEqual(0, len(metadata.rawitems()))
|
||||
@@ -356,16 +359,13 @@ class MetadataTest(PicardTestCase):
|
||||
self.assertIn('unknown', m.deleted_tags)
|
||||
|
||||
def test_metadata_mapping_iter(self):
|
||||
l = set(self.metadata_d1)
|
||||
self.assertEqual(l, {'a', 'c', 'd'})
|
||||
self.assertEqual(set(self.metadata_d1), {'a', 'c', 'd'})
|
||||
|
||||
def test_metadata_mapping_keys(self):
|
||||
l = set(self.metadata_d1.keys())
|
||||
self.assertEqual(l, {'a', 'c', 'd'})
|
||||
self.assertEqual(set(self.metadata_d1.keys()), {'a', 'c', 'd'})
|
||||
|
||||
def test_metadata_mapping_values(self):
|
||||
l = set(self.metadata_d1.values())
|
||||
self.assertEqual(l, {'b', '2', 'x; y'})
|
||||
self.assertEqual(set(self.metadata_d1.values()), {'b', '2', 'x; y'})
|
||||
|
||||
def test_metadata_mapping_len(self):
|
||||
m = self.metadata_d1
|
||||
@@ -462,7 +462,7 @@ class MetadataTest(PicardTestCase):
|
||||
|
||||
m1 = Metadata(a='b', length=1234, images=[image1])
|
||||
self.assertEqual(m1.images[0], image1)
|
||||
self.assertEqual(len(m1), 2) # one tag, one image
|
||||
self.assertEqual(len(m1), 2) # one tag, one image
|
||||
|
||||
m1.images.append(image2)
|
||||
self.assertEqual(m1.images[1], image2)
|
||||
|
||||
@@ -9,45 +9,45 @@ from picard.const.sys import IS_WIN
|
||||
show_latin2ascii_coverage = False
|
||||
|
||||
compatibility_from = (
|
||||
u"\u0132\u0133\u017F\u01C7\u01C8\u01C9\u01CA\u01CB\u01CC\u01F1" # IJijſLJLjljNJNjnjDZ
|
||||
u"\u01F2\u01F3\uFB00\uFB01\uFB02\uFB03\uFB04\uFB05\uFB06\uFF21" # DzdzfffiflffifflſtstA
|
||||
u"\uFF22\uFF23\uFF24\uFF25\uFF26\uFF27\uFF28\uFF29\uFF2A\uFF2B" # BCDEFGHIJK
|
||||
u"\uFF2C\uFF2D\uFF2E\uFF2F\uFF30\uFF31\uFF32\uFF33\uFF34\uFF35" # LMNOPQRSTU
|
||||
u"\uFF36\uFF37\uFF38\uFF39\uFF3A\uFF41\uFF42\uFF43\uFF44\uFF45" # VWXYZabcde
|
||||
u"\uFF46\uFF47\uFF48\uFF49\uFF4A\uFF4B\uFF4C\uFF4D\uFF4E\uFF4F" # fghijklmno
|
||||
u"\uFF50\uFF51\uFF52\uFF53\uFF54\uFF55\uFF56\uFF57\uFF58\uFF59" # pqrstuvwxy
|
||||
u"\uFF5A\u2100\u2101\u2102\u2105\u2106\u210A\u210B\u210C\u210D" # z℀℁ℂ℅℆ℊℋℌℍ
|
||||
u"\u210E\u2110\u2111\u2112\u2113\u2115\u2116\u2119\u211A\u211B" # ℎℐℑℒℓℕ№ℙℚℛ
|
||||
u"\u211C\u211D\u2121\u2124\u2128\u212C\u212D\u212F\u2130\u2131" # ℜℝ℡ℤℨℬℭℯℰℱ
|
||||
u"\u2133\u2134\u2139\u213B\u2145\u2146\u2147\u2148\u2149\u3371" # ℳℴℹ℻ⅅⅆⅇⅈⅉ㍱
|
||||
u"\u3372\u3373\u3374\u3375\u3376\u3377\u337A\u3380\u3381\u3383" # ㍲㍳㍴㍵㍶㍷㍺㎀㎁㎃
|
||||
u"\u3384\u3385\u3386\u3387\u3388\u3389\u338A\u338B\u338E\u338F" # ㎄㎅㎆㎇㎈㎉㎊㎋㎎㎏
|
||||
u"\u3390\u3391\u3392\u3393\u3394\u3399\u339A\u339C\u339D\u339E" # ㎐㎑㎒㎓㎔㎙㎚㎜㎝㎞
|
||||
u"\u33A9\u33AA\u33AB\u33AC\u33AD\u33B0\u33B1\u33B3\u33B4\u33B5" # ㎩㎪㎫㎬㎭㎰㎱㎳㎴㎵
|
||||
u"\u33B7\u33B8\u33B9\u33BA\u33BB\u33BD\u33BE\u33BF\u33C2\u33C3" # ㎷㎸㎹㎺㎻㎽㎾㎿㏂㏃
|
||||
u"\u33C4\u33C5\u33C7\u33C8\u33C9\u33CA\u33CB\u33CC\u33CD\u33CE" # ㏄㏅㏇㏈㏉㏊㏋㏌㏍㏎
|
||||
u"\u33CF\u33D0\u33D1\u33D2\u33D3\u33D4\u33D5\u33D6\u33D7\u33D8" # ㏏㏐㏑㏒㏓㏔㏕㏖㏗㏘
|
||||
u"\u33D9\u33DA\u33DB\u33DC\u33DD\u249C\u249D\u249E\u249F\u24A0" # ㏙㏚㏛㏜㏝⒜⒝⒞⒟⒠
|
||||
u"\u24A1\u24A2\u24A3\u24A4\u24A5\u24A6\u24A7\u24A8\u24A9\u24AA" # ⒡⒢⒣⒤⒥⒦⒧⒨⒩⒪
|
||||
u"\u24AB\u24AC\u24AD\u24AE\u24AF\u24B0\u24B1\u24B2\u24B3\u24B4" # ⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴
|
||||
u"\u24B5\u2160\u2161\u2162\u2163\u2164\u2165\u2166\u2167\u2168" # ⒵ⅠⅡⅢⅣⅤⅥⅦⅧⅨ
|
||||
u"\u2169\u216A\u216B\u216C\u216D\u216E\u216F\u2170\u2171\u2172" # ⅩⅪⅫⅬⅭⅮⅯⅰⅱⅲ
|
||||
u"\u2173\u2174\u2175\u2176\u2177\u2178\u2179\u217A\u217B\u217C" # ⅳⅴⅵⅶⅷⅸⅹⅺⅻⅼ
|
||||
u"\u217D\u217E\u217F\u2474\u2475\u2476\u2477\u2478\u2479\u247A" # ⅽⅾⅿ⑴⑵⑶⑷⑸⑹⑺
|
||||
u"\u247B\u247C\u247D\u247E\u247F\u2480\u2481\u2482\u2483\u2484" # ⑻⑼⑽⑾⑿⒀⒁⒂⒃⒄
|
||||
u"\u2485\u2486\u2487\u2488\u2489\u248A\u248B\u248C\u248D\u248E" # ⒅⒆⒇⒈⒉⒊⒋⒌⒍⒎
|
||||
u"\u248F\u2490\u2491\u2492\u2493\u2494\u2495\u2496\u2497\u2498" # ⒏⒐⒑⒒⒓⒔⒕⒖⒗⒘
|
||||
u"\u2499\u249A\u249B\uFF10\uFF11\uFF12\uFF13\uFF14\uFF15\uFF16" # ⒙⒚⒛0123456
|
||||
u"\uFF17\uFF18\uFF19\u2002\u2003\u2004\u2005\u2006\u2007\u2008" # 789\u2002\u2003\u2004\u2005\u2006\u2007\u2008
|
||||
u"\u2009\u200A\u205F\uFF02\uFF07\uFE63\uFF0D\u2024\u2025\u2026" # \u2009\u200A\u205F"'﹣-․‥…
|
||||
u"\u203C\u2047\u2048\u2049\uFE10\uFE13\uFE14\uFE15\uFE16\uFE19" # ‼⁇⁈⁉︐︓︔︕︖︙
|
||||
u"\uFE30\uFE35\uFE36\uFE37\uFE38\uFE47\uFE48\uFE50\uFE52\uFE54" # ︰︵︶︷︸﹇﹈﹐﹒﹔
|
||||
u"\uFE55\uFE56\uFE57\uFE59\uFE5A\uFE5B\uFE5C\uFE5F\uFE60\uFE61" # ﹕﹖﹗﹙﹚﹛﹜﹟﹠﹡
|
||||
u"\uFE62\uFE64\uFE65\uFE66\uFE68\uFE69\uFE6A\uFE6B\uFF01\uFF03" # ﹢﹤﹥﹦﹨﹩﹪﹫!#
|
||||
u"\uFF04\uFF05\uFF06\uFF08\uFF09\uFF0A\uFF0B\uFF0C\uFF0E\uFF0F" # $%&()*+,./
|
||||
u"\uFF1A\uFF1B\uFF1C\uFF1D\uFF1E\uFF1F\uFF20\uFF3B\uFF3C\uFF3D" # :;<=>?@[\]
|
||||
u"\uFF3E\uFF3F\uFF40\uFF5B\uFF5C\uFF5D\uFF5E\u2A74\u2A75\u2A76" # ^_`{|}~⩴⩵⩶
|
||||
)
|
||||
u"\u0132\u0133\u017F\u01C7\u01C8\u01C9\u01CA\u01CB\u01CC\u01F1" # IJijſLJLjljNJNjnjDZ
|
||||
u"\u01F2\u01F3\uFB00\uFB01\uFB02\uFB03\uFB04\uFB05\uFB06\uFF21" # DzdzfffiflffifflſtstA
|
||||
u"\uFF22\uFF23\uFF24\uFF25\uFF26\uFF27\uFF28\uFF29\uFF2A\uFF2B" # BCDEFGHIJK
|
||||
u"\uFF2C\uFF2D\uFF2E\uFF2F\uFF30\uFF31\uFF32\uFF33\uFF34\uFF35" # LMNOPQRSTU
|
||||
u"\uFF36\uFF37\uFF38\uFF39\uFF3A\uFF41\uFF42\uFF43\uFF44\uFF45" # VWXYZabcde
|
||||
u"\uFF46\uFF47\uFF48\uFF49\uFF4A\uFF4B\uFF4C\uFF4D\uFF4E\uFF4F" # fghijklmno
|
||||
u"\uFF50\uFF51\uFF52\uFF53\uFF54\uFF55\uFF56\uFF57\uFF58\uFF59" # pqrstuvwxy
|
||||
u"\uFF5A\u2100\u2101\u2102\u2105\u2106\u210A\u210B\u210C\u210D" # z℀℁ℂ℅℆ℊℋℌℍ
|
||||
u"\u210E\u2110\u2111\u2112\u2113\u2115\u2116\u2119\u211A\u211B" # ℎℐℑℒℓℕ№ℙℚℛ
|
||||
u"\u211C\u211D\u2121\u2124\u2128\u212C\u212D\u212F\u2130\u2131" # ℜℝ℡ℤℨℬℭℯℰℱ
|
||||
u"\u2133\u2134\u2139\u213B\u2145\u2146\u2147\u2148\u2149\u3371" # ℳℴℹ℻ⅅⅆⅇⅈⅉ㍱
|
||||
u"\u3372\u3373\u3374\u3375\u3376\u3377\u337A\u3380\u3381\u3383" # ㍲㍳㍴㍵㍶㍷㍺㎀㎁㎃
|
||||
u"\u3384\u3385\u3386\u3387\u3388\u3389\u338A\u338B\u338E\u338F" # ㎄㎅㎆㎇㎈㎉㎊㎋㎎㎏
|
||||
u"\u3390\u3391\u3392\u3393\u3394\u3399\u339A\u339C\u339D\u339E" # ㎐㎑㎒㎓㎔㎙㎚㎜㎝㎞
|
||||
u"\u33A9\u33AA\u33AB\u33AC\u33AD\u33B0\u33B1\u33B3\u33B4\u33B5" # ㎩㎪㎫㎬㎭㎰㎱㎳㎴㎵
|
||||
u"\u33B7\u33B8\u33B9\u33BA\u33BB\u33BD\u33BE\u33BF\u33C2\u33C3" # ㎷㎸㎹㎺㎻㎽㎾㎿㏂㏃
|
||||
u"\u33C4\u33C5\u33C7\u33C8\u33C9\u33CA\u33CB\u33CC\u33CD\u33CE" # ㏄㏅㏇㏈㏉㏊㏋㏌㏍㏎
|
||||
u"\u33CF\u33D0\u33D1\u33D2\u33D3\u33D4\u33D5\u33D6\u33D7\u33D8" # ㏏㏐㏑㏒㏓㏔㏕㏖㏗㏘
|
||||
u"\u33D9\u33DA\u33DB\u33DC\u33DD\u249C\u249D\u249E\u249F\u24A0" # ㏙㏚㏛㏜㏝⒜⒝⒞⒟⒠
|
||||
u"\u24A1\u24A2\u24A3\u24A4\u24A5\u24A6\u24A7\u24A8\u24A9\u24AA" # ⒡⒢⒣⒤⒥⒦⒧⒨⒩⒪
|
||||
u"\u24AB\u24AC\u24AD\u24AE\u24AF\u24B0\u24B1\u24B2\u24B3\u24B4" # ⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴
|
||||
u"\u24B5\u2160\u2161\u2162\u2163\u2164\u2165\u2166\u2167\u2168" # ⒵ⅠⅡⅢⅣⅤⅥⅦⅧⅨ
|
||||
u"\u2169\u216A\u216B\u216C\u216D\u216E\u216F\u2170\u2171\u2172" # ⅩⅪⅫⅬⅭⅮⅯⅰⅱⅲ
|
||||
u"\u2173\u2174\u2175\u2176\u2177\u2178\u2179\u217A\u217B\u217C" # ⅳⅴⅵⅶⅷⅸⅹⅺⅻⅼ
|
||||
u"\u217D\u217E\u217F\u2474\u2475\u2476\u2477\u2478\u2479\u247A" # ⅽⅾⅿ⑴⑵⑶⑷⑸⑹⑺
|
||||
u"\u247B\u247C\u247D\u247E\u247F\u2480\u2481\u2482\u2483\u2484" # ⑻⑼⑽⑾⑿⒀⒁⒂⒃⒄
|
||||
u"\u2485\u2486\u2487\u2488\u2489\u248A\u248B\u248C\u248D\u248E" # ⒅⒆⒇⒈⒉⒊⒋⒌⒍⒎
|
||||
u"\u248F\u2490\u2491\u2492\u2493\u2494\u2495\u2496\u2497\u2498" # ⒏⒐⒑⒒⒓⒔⒕⒖⒗⒘
|
||||
u"\u2499\u249A\u249B\uFF10\uFF11\uFF12\uFF13\uFF14\uFF15\uFF16" # ⒙⒚⒛0123456
|
||||
u"\uFF17\uFF18\uFF19\u2002\u2003\u2004\u2005\u2006\u2007\u2008" # 789\u2002\u2003\u2004\u2005\u2006\u2007\u2008
|
||||
u"\u2009\u200A\u205F\uFF02\uFF07\uFE63\uFF0D\u2024\u2025\u2026" # \u2009\u200A\u205F"'﹣-․‥…
|
||||
u"\u203C\u2047\u2048\u2049\uFE10\uFE13\uFE14\uFE15\uFE16\uFE19" # ‼⁇⁈⁉︐︓︔︕︖︙
|
||||
u"\uFE30\uFE35\uFE36\uFE37\uFE38\uFE47\uFE48\uFE50\uFE52\uFE54" # ︰︵︶︷︸﹇﹈﹐﹒﹔
|
||||
u"\uFE55\uFE56\uFE57\uFE59\uFE5A\uFE5B\uFE5C\uFE5F\uFE60\uFE61" # ﹕﹖﹗﹙﹚﹛﹜﹟﹠﹡
|
||||
u"\uFE62\uFE64\uFE65\uFE66\uFE68\uFE69\uFE6A\uFE6B\uFF01\uFF03" # ﹢﹤﹥﹦﹨﹩﹪﹫!#
|
||||
u"\uFF04\uFF05\uFF06\uFF08\uFF09\uFF0A\uFF0B\uFF0C\uFF0E\uFF0F" # $%&()*+,./
|
||||
u"\uFF1A\uFF1B\uFF1C\uFF1D\uFF1E\uFF1F\uFF20\uFF3B\uFF3C\uFF3D" # :;<=>?@[\]
|
||||
u"\uFF3E\uFF3F\uFF40\uFF5B\uFF5C\uFF5D\uFF5E\u2A74\u2A75\u2A76" # ^_`{|}~⩴⩵⩶
|
||||
)
|
||||
compatibility_to = (
|
||||
u"IJijsLJLjljNJNjnjDZDzdzfffiflffifflststABCDEFGHIJKLMNOPQRSTU"
|
||||
u"VWXYZabcdefghijklmnopqrstuvwxyza/ca/sCc/oc/ugHHH"
|
||||
@@ -59,49 +59,49 @@ compatibility_to = (
|
||||
u"18.19.20.0123456789 \"'--......!!???!!?,:;!?..."
|
||||
u"..(){}[],.;:?!(){}#&*+<>=\\$%@!#$%&()*+,./"
|
||||
u":;<=>?@[\\]^_`{|}~::======"
|
||||
)
|
||||
)
|
||||
compatibility_from += (
|
||||
u"\u1D00\u1D04\u1D05\u1D07\u1D0A\u1D0B\u1D0D\u1D0F\u1D18\u1D1B" # ᴀᴄᴅᴇᴊᴋᴍᴏᴘᴛ
|
||||
u"\u1D1C\u1D20\u1D21\u1D22\u3007\u00A0\u3000" # ᴜᴠᴡᴢ〇\u00A0\u3000
|
||||
)
|
||||
u"\u1D00\u1D04\u1D05\u1D07\u1D0A\u1D0B\u1D0D\u1D0F\u1D18\u1D1B" # ᴀᴄᴅᴇᴊᴋᴍᴏᴘᴛ
|
||||
u"\u1D1C\u1D20\u1D21\u1D22\u3007\u00A0\u3000" # ᴜᴠᴡᴢ〇\u00A0\u3000
|
||||
)
|
||||
compatibility_to += u"ACDEJKMOPTUVWZ0 "
|
||||
punctuation_from = (
|
||||
u"\u2018\u2019\u201A\u201B\u201C\u201D\u201E\u201F\u2032\u301D" # ‘’‚‛“”„‟′〝
|
||||
u"\u301E\u00AB\u00BB\u2039\u203A\u00AD\u2010\u2012\u2013\u2014" # 〞«»‹›\u00AD‐‒–—
|
||||
u"\u2015\u2016\u2044\u2045\u2046\u204E\u3008\u3009\u300A\u300B" # ―‖⁄⁅⁆⁎〈〉《》
|
||||
u"\u3014\u3015\u3018\u3019\u301A\u301B\u2212\u2215\u2216\u2223" # 〔〕〘〙〚〛−∕∖∣
|
||||
u"\u2225\u226A\u226B\u2985\u2986\u200B" # ∥≪≫⦅⦆·
|
||||
)
|
||||
u"\u2018\u2019\u201A\u201B\u201C\u201D\u201E\u201F\u2032\u301D" # ‘’‚‛“”„‟′〝
|
||||
u"\u301E\u00AB\u00BB\u2039\u203A\u00AD\u2010\u2012\u2013\u2014" # 〞«»‹›\u00AD‐‒–—
|
||||
u"\u2015\u2016\u2044\u2045\u2046\u204E\u3008\u3009\u300A\u300B" # ―‖⁄⁅⁆⁎〈〉《》
|
||||
u"\u3014\u3015\u3018\u3019\u301A\u301B\u2212\u2215\u2216\u2223" # 〔〕〘〙〚〛−∕∖∣
|
||||
u"\u2225\u226A\u226B\u2985\u2986\u200B" # ∥≪≫⦅⦆·
|
||||
)
|
||||
punctuation_to = u"''''\"\"\"\"'\"\"<<>><>-----||/[]*<><<>>[][][]-/\\|||<<>>(())"
|
||||
combinations_from = (
|
||||
u"\u00C6\u00D0\u00D8\u00DE\u00DF\u00E6\u00F0\u00F8\u00FE\u0110" # ÆÐØÞßæðøþĐ
|
||||
u"\u0111\u0126\u0127\u0131\u0138\u0141\u0142\u014A\u014B\u0152" # đĦħıĸŁłŊŋŒ
|
||||
u"\u0153\u0166\u0167\u0180\u0181\u0182\u0183\u0187\u0188\u0189" # œŦŧƀƁƂƃƇƈƉ
|
||||
u"\u018A\u018B\u018C\u0190\u0191\u0192\u0193\u0195\u0196\u0197" # ƊƋƌƐƑƒƓƕƖƗ
|
||||
u"\u0198\u0199\u019A\u019D\u019E\u01A2\u01A3\u01A4\u01A5\u01AB" # ƘƙƚƝƞƢƣƤƥƫ
|
||||
u"\u01AC\u01AD\u01AE\u01B2\u01B3\u01B4\u01B5\u01B6\u01E4\u01E5" # ƬƭƮƲƳƴƵƶǤǥ
|
||||
u"\u0221\u0224\u0225\u0234\u0235\u0236\u0237\u0238\u0239\u023A" # ȡȤȥȴȵȶȷȸȹȺ
|
||||
u"\u023B\u023C\u023D\u023E\u023F\u0240\u0243\u0244\u0246\u0247" # ȻȼȽȾȿɀɃɄɆɇ
|
||||
u"\u0248\u0249\u024C\u024D\u024E\u024F\u0253\u0255\u0256\u0257" # ɈɉɌɍɎɏɓɕɖɗ
|
||||
u"\u025B\u025F\u0260\u0261\u0262\u0266\u0267\u0268\u026A\u026B" # ɛɟɠɡɢɦɧɨɪɫ
|
||||
u"\u026C\u026D\u0271\u0272\u0273\u0274\u027C\u027D\u027E\u0280" # ɬɭɱɲɳɴɼɽɾʀ
|
||||
u"\u0282\u0288\u0289\u028B\u028F\u0290\u0291\u0299\u029B\u029C" # ʂʈʉʋʏʐʑʙʛʜ
|
||||
u"\u029D\u029F\u02A0\u02A3\u02A5\u02A6\u02AA\u02AB\u1D03\u1D06" # ʝʟʠʣʥʦʪʫᴃᴆ
|
||||
u"\u1D0C\u1D6B\u1D6C\u1D6D\u1D6E\u1D6F\u1D70\u1D71\u1D72\u1D73" # ᴌᵫᵬᵭᵮᵯᵰᵱᵲᵳ
|
||||
u"\u1D74\u1D75\u1D76\u1D7A\u1D7B\u1D7D\u1D7E\u1D80\u1D81\u1D82" # ᵴᵵᵶᵺᵻᵽᵾᶀᶁᶂ
|
||||
u"\u1D83\u1D84\u1D85\u1D86\u1D87\u1D88\u1D89\u1D8A\u1D8C\u1D8D" # ᶃᶄᶅᶆᶇᶈᶉᶊᶌᶍ
|
||||
u"\u1D8E\u1D8F\u1D91\u1D92\u1D93\u1D96\u1D99\u1E9C\u1E9D\u1E9E" # ᶎᶏᶑᶒᶓᶖᶙẜẝẞ
|
||||
u"\u1EFA\u1EFB\u1EFC\u1EFD\u1EFE\u1EFF\u00A9\u00AE\u20A0\u20A2" # ỺỻỼỽỾỿ©®₠₢
|
||||
u"\u20A3\u20A4\u20A7\u20BA\u20B9\u211E\u3001\u3002\u00D7\u00F7" # ₣₤₧₺₹℞、。×÷
|
||||
u"\u00B7\u1E9F\u0184\u0185\u01BE" # ·ẟƄƅƾ
|
||||
)
|
||||
u"\u00C6\u00D0\u00D8\u00DE\u00DF\u00E6\u00F0\u00F8\u00FE\u0110" # ÆÐØÞßæðøþĐ
|
||||
u"\u0111\u0126\u0127\u0131\u0138\u0141\u0142\u014A\u014B\u0152" # đĦħıĸŁłŊŋŒ
|
||||
u"\u0153\u0166\u0167\u0180\u0181\u0182\u0183\u0187\u0188\u0189" # œŦŧƀƁƂƃƇƈƉ
|
||||
u"\u018A\u018B\u018C\u0190\u0191\u0192\u0193\u0195\u0196\u0197" # ƊƋƌƐƑƒƓƕƖƗ
|
||||
u"\u0198\u0199\u019A\u019D\u019E\u01A2\u01A3\u01A4\u01A5\u01AB" # ƘƙƚƝƞƢƣƤƥƫ
|
||||
u"\u01AC\u01AD\u01AE\u01B2\u01B3\u01B4\u01B5\u01B6\u01E4\u01E5" # ƬƭƮƲƳƴƵƶǤǥ
|
||||
u"\u0221\u0224\u0225\u0234\u0235\u0236\u0237\u0238\u0239\u023A" # ȡȤȥȴȵȶȷȸȹȺ
|
||||
u"\u023B\u023C\u023D\u023E\u023F\u0240\u0243\u0244\u0246\u0247" # ȻȼȽȾȿɀɃɄɆɇ
|
||||
u"\u0248\u0249\u024C\u024D\u024E\u024F\u0253\u0255\u0256\u0257" # ɈɉɌɍɎɏɓɕɖɗ
|
||||
u"\u025B\u025F\u0260\u0261\u0262\u0266\u0267\u0268\u026A\u026B" # ɛɟɠɡɢɦɧɨɪɫ
|
||||
u"\u026C\u026D\u0271\u0272\u0273\u0274\u027C\u027D\u027E\u0280" # ɬɭɱɲɳɴɼɽɾʀ
|
||||
u"\u0282\u0288\u0289\u028B\u028F\u0290\u0291\u0299\u029B\u029C" # ʂʈʉʋʏʐʑʙʛʜ
|
||||
u"\u029D\u029F\u02A0\u02A3\u02A5\u02A6\u02AA\u02AB\u1D03\u1D06" # ʝʟʠʣʥʦʪʫᴃᴆ
|
||||
u"\u1D0C\u1D6B\u1D6C\u1D6D\u1D6E\u1D6F\u1D70\u1D71\u1D72\u1D73" # ᴌᵫᵬᵭᵮᵯᵰᵱᵲᵳ
|
||||
u"\u1D74\u1D75\u1D76\u1D7A\u1D7B\u1D7D\u1D7E\u1D80\u1D81\u1D82" # ᵴᵵᵶᵺᵻᵽᵾᶀᶁᶂ
|
||||
u"\u1D83\u1D84\u1D85\u1D86\u1D87\u1D88\u1D89\u1D8A\u1D8C\u1D8D" # ᶃᶄᶅᶆᶇᶈᶉᶊᶌᶍ
|
||||
u"\u1D8E\u1D8F\u1D91\u1D92\u1D93\u1D96\u1D99\u1E9C\u1E9D\u1E9E" # ᶎᶏᶑᶒᶓᶖᶙẜẝẞ
|
||||
u"\u1EFA\u1EFB\u1EFC\u1EFD\u1EFE\u1EFF\u00A9\u00AE\u20A0\u20A2" # ỺỻỼỽỾỿ©®₠₢
|
||||
u"\u20A3\u20A4\u20A7\u20BA\u20B9\u211E\u3001\u3002\u00D7\u00F7" # ₣₤₧₺₹℞、。×÷
|
||||
u"\u00B7\u1E9F\u0184\u0185\u01BE" # ·ẟƄƅƾ
|
||||
)
|
||||
combinations_to = (
|
||||
u"AEDOETHssaedoethDdHhiqLlNnOEoeTtbBBbCcDDDdEFfGhvII"
|
||||
u"KklNnGHghPptTtTVYyZzGgdZzlntjdbqpACcLTszBUEe"
|
||||
u"JjRrYybcddejggGhhiIlllmnnNrrrRstuvYzzBGH"
|
||||
u"jLqdzdztslslzBDLuebdfmnprrstzthIpUbdfgklmnprsvx"
|
||||
u"zadeeiussSSLLllVvYy(C)(R)CECrFr.L.PtsTLRsRx,.x/.ddHhts"
|
||||
)
|
||||
)
|
||||
ascii_chars = u" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~"
|
||||
|
||||
|
||||
@@ -159,10 +159,10 @@ class CombinationsTest(PicardTestCase):
|
||||
class AsciiPunctTest(PicardTestCase):
|
||||
|
||||
def test_correct(self):
|
||||
self.assertEqual(util.textencoding.asciipunct(u"‘Test’"), u"'Test'") # Quotations
|
||||
self.assertEqual(util.textencoding.asciipunct(u"“Test”"), u"\"Test\"") # Quotations
|
||||
self.assertEqual(util.textencoding.asciipunct(u"1′6″"), u"1'6\"") # Quotations
|
||||
self.assertEqual(util.textencoding.asciipunct(u"…"), u"...") # Ellipses
|
||||
self.assertEqual(util.textencoding.asciipunct(u"‘Test’"), u"'Test'") # Quotations
|
||||
self.assertEqual(util.textencoding.asciipunct(u"“Test”"), u"\"Test\"") # Quotations
|
||||
self.assertEqual(util.textencoding.asciipunct(u"1′6″"), u"1'6\"") # Quotations
|
||||
self.assertEqual(util.textencoding.asciipunct(u"…"), u"...") # Ellipses
|
||||
|
||||
def test_incorrect(self):
|
||||
pass
|
||||
@@ -192,15 +192,15 @@ class ReplaceNonAsciiTest(PicardTestCase):
|
||||
self.assertEqual(util.textencoding.replace_non_ascii(u"Ænima"), u"AEnima")
|
||||
self.assertEqual(util.textencoding.replace_non_ascii(u"ænima"), u"aenima")
|
||||
self.assertEqual(util.textencoding.replace_non_ascii(u"小室哲哉"), u"____")
|
||||
self.assertEqual(util.textencoding.replace_non_ascii(u"ᴀᴄᴇ"), u"ACE") # Latin Letter Small
|
||||
self.assertEqual(util.textencoding.replace_non_ascii(u"Abc"), u"Abc") # Fullwidth Latin
|
||||
self.assertEqual(util.textencoding.replace_non_ascii(u"500㎏,2㎓"), u"500kg,2GHz") # Technical
|
||||
self.assertEqual(util.textencoding.replace_non_ascii(u"⒜⒝⒞"), u"(a)(b)(c)") # Parenthesised Latin
|
||||
self.assertEqual(util.textencoding.replace_non_ascii(u"ⅯⅯⅩⅣ"), u"MMXIV") # Roman numerals
|
||||
self.assertEqual(util.textencoding.replace_non_ascii(u"ⅿⅿⅹⅳ"), u"mmxiv") # Roman numerals small
|
||||
self.assertEqual(util.textencoding.replace_non_ascii(u"⑴⑵⑶"), u"(1)(2)(3)") # Parenthesised numbers
|
||||
self.assertEqual(util.textencoding.replace_non_ascii(u"⒈ ⒉ ⒊"), u"1. 2. 3.") # Digit full stop
|
||||
self.assertEqual(util.textencoding.replace_non_ascii(u"123"), u"123") # Fullwidth digits
|
||||
self.assertEqual(util.textencoding.replace_non_ascii(u"ᴀᴄᴇ"), u"ACE") # Latin Letter Small
|
||||
self.assertEqual(util.textencoding.replace_non_ascii(u"Abc"), u"Abc") # Fullwidth Latin
|
||||
self.assertEqual(util.textencoding.replace_non_ascii(u"500㎏,2㎓"), u"500kg,2GHz") # Technical
|
||||
self.assertEqual(util.textencoding.replace_non_ascii(u"⒜⒝⒞"), u"(a)(b)(c)") # Parenthesised Latin
|
||||
self.assertEqual(util.textencoding.replace_non_ascii(u"ⅯⅯⅩⅣ"), u"MMXIV") # Roman numerals
|
||||
self.assertEqual(util.textencoding.replace_non_ascii(u"ⅿⅿⅹⅳ"), u"mmxiv") # Roman numerals small
|
||||
self.assertEqual(util.textencoding.replace_non_ascii(u"⑴⑵⑶"), u"(1)(2)(3)") # Parenthesised numbers
|
||||
self.assertEqual(util.textencoding.replace_non_ascii(u"⒈ ⒉ ⒊"), u"1. 2. 3.") # Digit full stop
|
||||
self.assertEqual(util.textencoding.replace_non_ascii(u"123"), u"123") # Fullwidth digits
|
||||
|
||||
def test_pathsave(self):
|
||||
expected = '__/8 1_2\\' if IS_WIN else '\\_/8 1_2\\'
|
||||
@@ -213,6 +213,7 @@ class ReplaceNonAsciiTest(PicardTestCase):
|
||||
self.assertNotEqual(util.textencoding.replace_non_ascii(u"Lukáš"), u"Lukáš")
|
||||
self.assertNotEqual(util.textencoding.replace_non_ascii(u"Lukáš"), u"Luk____")
|
||||
|
||||
|
||||
if show_latin2ascii_coverage:
|
||||
# The following code set blocks are taken from:
|
||||
# http://en.wikipedia.org/wiki/Latin_script_in_Unicode
|
||||
@@ -240,13 +241,13 @@ if show_latin2ascii_coverage:
|
||||
print("The following lines show the coverage of Latin characters conversion to ascii.")
|
||||
print("Underscores are characters which currently do not have an ASCII representation.")
|
||||
print()
|
||||
print("latin-1: ",util.textencoding.replace_non_ascii(latin_1))
|
||||
print("latin-1: ",util.textencoding.replace_non_ascii(latin_1))
|
||||
print("latin-a: ",util.textencoding.replace_non_ascii(latin_a))
|
||||
print("latin-b: ",util.textencoding.replace_non_ascii(latin_b))
|
||||
print("ipa-ext: ",util.textencoding.replace_non_ascii(ipa_ext))
|
||||
print("phonetic: ",util.textencoding.replace_non_ascii(phonetic))
|
||||
print("latin-ext-add: ",util.textencoding.replace_non_ascii(latin_ext_add))
|
||||
print("letter-like: ",util.textencoding.replace_non_ascii(letter_like))
|
||||
print("enclosed: ",util.textencoding.replace_non_ascii(enclosed))
|
||||
print("latin-1: ", util.textencoding.replace_non_ascii(latin_1))
|
||||
print("latin-1: ", util.textencoding.replace_non_ascii(latin_1))
|
||||
print("latin-a: ", util.textencoding.replace_non_ascii(latin_a))
|
||||
print("latin-b: ", util.textencoding.replace_non_ascii(latin_b))
|
||||
print("ipa-ext: ", util.textencoding.replace_non_ascii(ipa_ext))
|
||||
print("phonetic: ", util.textencoding.replace_non_ascii(phonetic))
|
||||
print("latin-ext-add: ", util.textencoding.replace_non_ascii(latin_ext_add))
|
||||
print("letter-like: ", util.textencoding.replace_non_ascii(letter_like))
|
||||
print("enclosed: ", util.textencoding.replace_non_ascii(enclosed))
|
||||
print()
|
||||
|
||||
@@ -37,7 +37,7 @@ class LRUCacheTest(PicardTestCase):
|
||||
self.assertEqual('test3', lrucache._ordered_keys[0])
|
||||
self.assertEqual('test2', lrucache._ordered_keys[1])
|
||||
self.assertEqual('test1', lrucache._ordered_keys[2])
|
||||
v = lrucache['test2']
|
||||
self.assertEqual(2, lrucache['test2'])
|
||||
self.assertEqual('test2', lrucache._ordered_keys[0])
|
||||
self.assertEqual('test3', lrucache._ordered_keys[1])
|
||||
self.assertEqual('test1', lrucache._ordered_keys[2])
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
import unittest
|
||||
|
||||
from test.picardtestcase import PicardTestCase
|
||||
|
||||
from picard.util import natsort
|
||||
@@ -13,7 +11,7 @@ class NatsortTest(PicardTestCase):
|
||||
self.assertTrue(natsort.natkey('foo (100)') < natsort.natkey('foo (00200)'))
|
||||
|
||||
def test_natsorted(self):
|
||||
l = ['foo11', 'foo0012', 'foo02', 'foo0', 'foo1', 'foo10', 'foo9']
|
||||
ls = natsort.natsorted(l)
|
||||
self.assertEqual(
|
||||
['foo0', 'foo1', 'foo02', 'foo9', 'foo10', 'foo11', 'foo0012'], ls)
|
||||
unsorted_list = ['foo11', 'foo0012', 'foo02', 'foo0', 'foo1', 'foo10', 'foo9']
|
||||
expected = ['foo0', 'foo1', 'foo02', 'foo9', 'foo10', 'foo11', 'foo0012']
|
||||
sorted_list = natsort.natsorted(unsorted_list)
|
||||
self.assertEqual(expected, sorted_list)
|
||||
|
||||
@@ -18,7 +18,7 @@ from picard.version import (
|
||||
class VersionsTest(PicardTestCase):
|
||||
|
||||
def test_version_conversion(self):
|
||||
versions = (
|
||||
versions = (
|
||||
(Version(1, 1, 0, 'final', 0), '1.1.0.final0'),
|
||||
(Version(0, 0, 1, 'dev', 1), '0.0.1.dev1'),
|
||||
(Version(1, 1, 0, 'dev', 0), '1.1.0.dev0'),
|
||||
@@ -36,7 +36,7 @@ class VersionsTest(PicardTestCase):
|
||||
self.assertEqual(v, version_from_string(s))
|
||||
|
||||
def test_version_conversion_short(self):
|
||||
versions = (
|
||||
versions = (
|
||||
(Version(1, 1, 0, 'final', 0), '1.1'),
|
||||
(Version(1, 1, 1, 'final', 0), '1.1.1'),
|
||||
(Version(0, 0, 1, 'dev', 1), '0.0.1.dev1'),
|
||||
@@ -54,8 +54,8 @@ class VersionsTest(PicardTestCase):
|
||||
self.assertEqual(v, version_from_string(s))
|
||||
|
||||
def test_version_to_string_invalid_identifier(self):
|
||||
l = (1, 0, 2, 'xx', 0)
|
||||
self.assertRaises(VersionError, version_to_string, (l))
|
||||
invalid = (1, 0, 2, 'xx', 0)
|
||||
self.assertRaises(VersionError, version_to_string, (invalid))
|
||||
|
||||
def test_version_from_string_underscores(self):
|
||||
l, s = (1, 1, 0, 'dev', 0), '1_1_0_dev_0'
|
||||
@@ -66,8 +66,8 @@ class VersionsTest(PicardTestCase):
|
||||
self.assertEqual(l, version_from_string(s))
|
||||
|
||||
def test_version_from_string_invalid(self):
|
||||
l = 'anything_28x_1_0_dev_0'
|
||||
self.assertRaises(VersionError, version_to_string, (l))
|
||||
invalid = 'anything_28x_1_0_dev_0'
|
||||
self.assertRaises(VersionError, version_to_string, (invalid))
|
||||
|
||||
def test_version_from_string_prefixed_final(self):
|
||||
l, s = (1, 1, 0, 'final', 0), 'anything_28_1_1_0'
|
||||
|
||||
Reference in New Issue
Block a user