From 0288ba6012ac1bc707f16277330fdd86e3872f43 Mon Sep 17 00:00:00 2001 From: Ebag333 Date: Fri, 24 Feb 2017 03:27:29 -0800 Subject: [PATCH 1/8] Initial submission for locale testing --- tests/__init__.py | 0 tests/test_locale/Pyfa/__init__.py | 0 tests/test_locale/Pyfa/test_codec.py | 30 ++++++++++ tests/test_locale/Pyfa/testcodec | 1 + tests/test_locale/__init__.py | 0 tests/test_locale/locale_functions.py | 81 +++++++++++++++++++++++++++ tests/test_locale/readme.md | 1 + tests/test_locale/знаф/__init__.py | 0 tests/test_locale/знаф/test_codec.py | 30 ++++++++++ tests/test_locale/знаф/testcodec | 1 + 10 files changed, 144 insertions(+) create mode 100644 tests/__init__.py create mode 100644 tests/test_locale/Pyfa/__init__.py create mode 100644 tests/test_locale/Pyfa/test_codec.py create mode 100644 tests/test_locale/Pyfa/testcodec create mode 100644 tests/test_locale/__init__.py create mode 100644 tests/test_locale/locale_functions.py create mode 100644 tests/test_locale/readme.md create mode 100644 tests/test_locale/знаф/__init__.py create mode 100644 tests/test_locale/знаф/test_codec.py create mode 100644 tests/test_locale/знаф/testcodec diff --git a/tests/__init__.py b/tests/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/test_locale/Pyfa/__init__.py b/tests/test_locale/Pyfa/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/test_locale/Pyfa/test_codec.py b/tests/test_locale/Pyfa/test_codec.py new file mode 100644 index 000000000..5cf5c7bee --- /dev/null +++ b/tests/test_locale/Pyfa/test_codec.py @@ -0,0 +1,30 @@ +# English + +import os +import platform +from tests.test_locale.locale_functions import GetPath + + +def test_codec(): + use_codec = { + "Windows": "cp1252", + "Linux" : "utf8", + "Darwin" : "utf8", + } + + os_name = platform.system() + current_directory = os.path.dirname(os.path.abspath(__file__)) + + try: + decoded_file = GetPath(current_directory, "testcodec", use_codec[os_name]) + except: + assert False, "Specified codec (" + use_codec[os_name] + ") failed to decrypt file path." + + try: + with open(decoded_file, 'r') as f: + read_data = f.read() + f.closed + except: + assert False, "Specified codec (" + use_codec[os_name] + ") failed to read file." + + assert read_data == "True" diff --git a/tests/test_locale/Pyfa/testcodec b/tests/test_locale/Pyfa/testcodec new file mode 100644 index 000000000..4791ed555 --- /dev/null +++ b/tests/test_locale/Pyfa/testcodec @@ -0,0 +1 @@ +True \ No newline at end of file diff --git a/tests/test_locale/__init__.py b/tests/test_locale/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/test_locale/locale_functions.py b/tests/test_locale/locale_functions.py new file mode 100644 index 000000000..1955d81b4 --- /dev/null +++ b/tests/test_locale/locale_functions.py @@ -0,0 +1,81 @@ +import os + +# https://msdn.microsoft.com/en-us/library/windows/desktop/dd317756(v=vs.85).aspx +windows_codecs = { + 'cp1252', # Standard Windows + 'cp1251', # Russian + 'cp037', + 'cp424', + 'cp437', + 'cp500', + 'cp720', + 'cp737', + 'cp775', + 'cp850', + 'cp852', + 'cp855', + 'cp856', + 'cp857', + 'cp858', + 'cp860', + 'cp861', + 'cp862', + 'cp863', + 'cp864', + 'cp865', + 'cp866', + 'cp869', + 'cp874', + 'cp875', + 'cp932', + 'cp949', + 'cp950', + 'cp1006', + 'cp1026', + 'cp1140', + 'cp1250', + 'cp1253', + 'cp1254', + 'cp1255', + 'cp1256', + 'cp1257', + 'cp1258', +} + +linux_codecs = { + 'utf_8', # Generic Linux/Mac +} + +mac_codecs = [ + 'utf_8', # Generic Linux/Mac + 'mac_cyrillic', + 'mac_greek', + 'mac_iceland', + 'mac_latin2', + 'mac_roman', + 'mac_turkish', +] + +universal_codecs = [ + 'utf_16', 'utf_32', 'utf_32_be', 'utf_32_le', 'utf_16_be', 'utf_16_le', 'utf_7', 'utf_8_sig', +] + +other_codecs = [ + 'scii', 'big5', 'big5hkscs', 'euc_jp', 'euc_jis_2004', 'euc_jisx0213', 'euc_kr', 'gb2312', 'gbk', 'gb18030', 'hz', 'iso2022_jp', 'iso2022_jp_1', + 'iso2022_jp_2', 'iso2022_jp_2004', 'iso2022_jp_3', 'iso2022_jp_ext', 'iso2022_kr', 'latin_1', 'iso8859_2', 'iso8859_3', 'iso8859_4', 'iso8859_5', + 'iso8859_6', 'iso8859_7', 'iso8859_8', 'iso8859_9', 'iso8859_10', 'iso8859_11', 'iso8859_13', 'iso8859_14', 'iso8859_15', 'iso8859_16', 'johab', 'koi8_r', + 'koi8_u', 'ptcp154', 'shift_jis', 'shift_jis_2004', 'shift_jisx0213' +] + +system_names = { + 'Windows': windows_codecs, + 'Linux': linux_codecs, + 'Darwin': mac_codecs, +} + + +def GetPath(root, file, codec): + # Replace this with the function we actually use for this + base_path = os.path.realpath(os.path.abspath(root)) + path = os.path.join(base_path, file).decode(codec) + return path diff --git a/tests/test_locale/readme.md b/tests/test_locale/readme.md new file mode 100644 index 000000000..bf413bae3 --- /dev/null +++ b/tests/test_locale/readme.md @@ -0,0 +1 @@ +Use this to dynamically test languages. \ No newline at end of file diff --git a/tests/test_locale/знаф/__init__.py b/tests/test_locale/знаф/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/test_locale/знаф/test_codec.py b/tests/test_locale/знаф/test_codec.py new file mode 100644 index 000000000..9d0071506 --- /dev/null +++ b/tests/test_locale/знаф/test_codec.py @@ -0,0 +1,30 @@ +# Russian + +import os +import platform +from tests.test_locale.locale_functions import GetPath + + +def test_codec(): + use_codec = { + "Windows": "cp1251", + "Linux" : "utf8", + "Darwin" : "mac_cyrillic", + } + + os_name = platform.system() + current_directory = os.path.dirname(os.path.abspath(__file__)) + + try: + decoded_file = GetPath(current_directory, "testcodec", use_codec[os_name]) + except: + assert False, "Specified codec (" + use_codec[os_name] + ") failed to decrypt file path." + + try: + with open(decoded_file, 'r') as f: + read_data = f.read() + f.closed + except: + assert False, "Specified codec (" + use_codec[os_name] + ") failed to read file." + + assert read_data == "True" diff --git a/tests/test_locale/знаф/testcodec b/tests/test_locale/знаф/testcodec new file mode 100644 index 000000000..4791ed555 --- /dev/null +++ b/tests/test_locale/знаф/testcodec @@ -0,0 +1 @@ +True \ No newline at end of file From 78597a8554fe563261d7d59c580d7c5b6ed6e055 Mon Sep 17 00:00:00 2001 From: Ebag333 Date: Fri, 24 Feb 2017 03:34:16 -0800 Subject: [PATCH 2/8] Add hebrew and chinese --- tests/test_locale/פטכש/__init__.py | 0 tests/test_locale/פטכש/test_codec.py | 30 ++++++++++++++++++++++++++++ tests/test_locale/פטכש/testcodec | 1 + tests/test_locale/测试/__init__.py | 0 tests/test_locale/测试/test_codec.py | 30 ++++++++++++++++++++++++++++ tests/test_locale/测试/testcodec | 1 + 6 files changed, 62 insertions(+) create mode 100644 tests/test_locale/פטכש/__init__.py create mode 100644 tests/test_locale/פטכש/test_codec.py create mode 100644 tests/test_locale/פטכש/testcodec create mode 100644 tests/test_locale/测试/__init__.py create mode 100644 tests/test_locale/测试/test_codec.py create mode 100644 tests/test_locale/测试/testcodec diff --git a/tests/test_locale/פטכש/__init__.py b/tests/test_locale/פטכש/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/test_locale/פטכש/test_codec.py b/tests/test_locale/פטכש/test_codec.py new file mode 100644 index 000000000..d8a716621 --- /dev/null +++ b/tests/test_locale/פטכש/test_codec.py @@ -0,0 +1,30 @@ +# Hebrew + +import os +import platform +from tests.test_locale.locale_functions import GetPath + + +def test_codec(): + use_codec = { + "Windows": "cp1252", + "Linux" : "utf8", + "Darwin" : "utf8", + } + + os_name = platform.system() + current_directory = os.path.dirname(os.path.abspath(__file__)) + + try: + decoded_file = GetPath(current_directory, "testcodec", use_codec[os_name]) + except: + assert False, "Specified codec (" + use_codec[os_name] + ") failed to decrypt file path." + + try: + with open(decoded_file, 'r') as f: + read_data = f.read() + f.closed + except: + assert False, "Specified codec (" + use_codec[os_name] + ") failed to read file." + + assert read_data == "True" diff --git a/tests/test_locale/פטכש/testcodec b/tests/test_locale/פטכש/testcodec new file mode 100644 index 000000000..4791ed555 --- /dev/null +++ b/tests/test_locale/פטכש/testcodec @@ -0,0 +1 @@ +True \ No newline at end of file diff --git a/tests/test_locale/测试/__init__.py b/tests/test_locale/测试/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/test_locale/测试/test_codec.py b/tests/test_locale/测试/test_codec.py new file mode 100644 index 000000000..f72f2e0cb --- /dev/null +++ b/tests/test_locale/测试/test_codec.py @@ -0,0 +1,30 @@ +# Chinese (Simplified) + +import os +import platform +from tests.test_locale.locale_functions import GetPath + + +def test_codec(): + use_codec = { + "Windows": "cp1252", + "Linux" : "utf8", + "Darwin" : "utf8", + } + + os_name = platform.system() + current_directory = os.path.dirname(os.path.abspath(__file__)) + + try: + decoded_file = GetPath(current_directory, "testcodec", use_codec[os_name]) + except: + assert False, "Specified codec (" + use_codec[os_name] + ") failed to decrypt file path." + + try: + with open(decoded_file, 'r') as f: + read_data = f.read() + f.closed + except: + assert False, "Specified codec (" + use_codec[os_name] + ") failed to read file." + + assert read_data == "True" diff --git a/tests/test_locale/测试/testcodec b/tests/test_locale/测试/testcodec new file mode 100644 index 000000000..4791ed555 --- /dev/null +++ b/tests/test_locale/测试/testcodec @@ -0,0 +1 @@ +True \ No newline at end of file From 86a145f01ccd401199a7f0d45d515d1ac85484fc Mon Sep 17 00:00:00 2001 From: Ebag333 Date: Fri, 24 Feb 2017 03:47:21 -0800 Subject: [PATCH 3/8] some cleanup --- tests/test_locale/Pyfa/__init__.py | 0 tests/test_locale/Pyfa/test_codec.py | 2 +- tests/test_locale/знаф/__init__.py | 0 tests/test_locale/знаф/test_codec.py | 2 +- tests/test_locale/פטכש/__init__.py | 0 tests/test_locale/פטכש/test_codec.py | 2 +- tests/test_locale/测试/__init__.py | 0 tests/test_locale/测试/test_codec.py | 2 +- 8 files changed, 4 insertions(+), 4 deletions(-) delete mode 100644 tests/test_locale/Pyfa/__init__.py delete mode 100644 tests/test_locale/знаф/__init__.py delete mode 100644 tests/test_locale/פטכש/__init__.py delete mode 100644 tests/test_locale/测试/__init__.py diff --git a/tests/test_locale/Pyfa/__init__.py b/tests/test_locale/Pyfa/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/tests/test_locale/Pyfa/test_codec.py b/tests/test_locale/Pyfa/test_codec.py index 5cf5c7bee..8d0b63900 100644 --- a/tests/test_locale/Pyfa/test_codec.py +++ b/tests/test_locale/Pyfa/test_codec.py @@ -5,7 +5,7 @@ import platform from tests.test_locale.locale_functions import GetPath -def test_codec(): +def test_codec_english(): use_codec = { "Windows": "cp1252", "Linux" : "utf8", diff --git a/tests/test_locale/знаф/__init__.py b/tests/test_locale/знаф/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/tests/test_locale/знаф/test_codec.py b/tests/test_locale/знаф/test_codec.py index 9d0071506..30dd8c709 100644 --- a/tests/test_locale/знаф/test_codec.py +++ b/tests/test_locale/знаф/test_codec.py @@ -5,7 +5,7 @@ import platform from tests.test_locale.locale_functions import GetPath -def test_codec(): +def test_codec_russian(): use_codec = { "Windows": "cp1251", "Linux" : "utf8", diff --git a/tests/test_locale/פטכש/__init__.py b/tests/test_locale/פטכש/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/tests/test_locale/פטכש/test_codec.py b/tests/test_locale/פטכש/test_codec.py index d8a716621..d6c94812d 100644 --- a/tests/test_locale/פטכש/test_codec.py +++ b/tests/test_locale/פטכש/test_codec.py @@ -5,7 +5,7 @@ import platform from tests.test_locale.locale_functions import GetPath -def test_codec(): +def test_codec_hebrew(): use_codec = { "Windows": "cp1252", "Linux" : "utf8", diff --git a/tests/test_locale/测试/__init__.py b/tests/test_locale/测试/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/tests/test_locale/测试/test_codec.py b/tests/test_locale/测试/test_codec.py index f72f2e0cb..0a33605f4 100644 --- a/tests/test_locale/测试/test_codec.py +++ b/tests/test_locale/测试/test_codec.py @@ -5,7 +5,7 @@ import platform from tests.test_locale.locale_functions import GetPath -def test_codec(): +def test_codec_chinese_simplified(): use_codec = { "Windows": "cp1252", "Linux" : "utf8", From 5c55290944d201d8eda954fbfb706c5541449dd6 Mon Sep 17 00:00:00 2001 From: Ebag333 Date: Fri, 24 Feb 2017 04:04:43 -0800 Subject: [PATCH 4/8] rename some tests --- tests/test_locale/Pyfa/{test_codec.py => test_codec_english.py} | 0 tests/test_locale/знаф/{test_codec.py => test_codec_russian.py} | 0 tests/test_locale/פטכש/{test_codec.py => test_codec_hebrew.py} | 0 .../测试/{test_codec.py => test_codec_chinese_simplified.py} | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename tests/test_locale/Pyfa/{test_codec.py => test_codec_english.py} (100%) rename tests/test_locale/знаф/{test_codec.py => test_codec_russian.py} (100%) rename tests/test_locale/פטכש/{test_codec.py => test_codec_hebrew.py} (100%) rename tests/test_locale/测试/{test_codec.py => test_codec_chinese_simplified.py} (100%) diff --git a/tests/test_locale/Pyfa/test_codec.py b/tests/test_locale/Pyfa/test_codec_english.py similarity index 100% rename from tests/test_locale/Pyfa/test_codec.py rename to tests/test_locale/Pyfa/test_codec_english.py diff --git a/tests/test_locale/знаф/test_codec.py b/tests/test_locale/знаф/test_codec_russian.py similarity index 100% rename from tests/test_locale/знаф/test_codec.py rename to tests/test_locale/знаф/test_codec_russian.py diff --git a/tests/test_locale/פטכש/test_codec.py b/tests/test_locale/פטכש/test_codec_hebrew.py similarity index 100% rename from tests/test_locale/פטכש/test_codec.py rename to tests/test_locale/פטכש/test_codec_hebrew.py diff --git a/tests/test_locale/测试/test_codec.py b/tests/test_locale/测试/test_codec_chinese_simplified.py similarity index 100% rename from tests/test_locale/测试/test_codec.py rename to tests/test_locale/测试/test_codec_chinese_simplified.py From ac200306123d6da4ca93ebc592a2ffd96ae5731c Mon Sep 17 00:00:00 2001 From: Ebag333 Date: Sat, 25 Feb 2017 10:52:52 -0800 Subject: [PATCH 5/8] Simple wx file dialog test --- tests/test_locale/file_dialog_test.py | 86 +++++++++++++++++++++++++++ tests/test_locale/locale_functions.py | 26 +++++++- 2 files changed, 109 insertions(+), 3 deletions(-) create mode 100644 tests/test_locale/file_dialog_test.py diff --git a/tests/test_locale/file_dialog_test.py b/tests/test_locale/file_dialog_test.py new file mode 100644 index 000000000..07eb70563 --- /dev/null +++ b/tests/test_locale/file_dialog_test.py @@ -0,0 +1,86 @@ +import wx +import locale_functions +import sys + + +class MyForm(wx.Frame): + + #---------------------------------------------------------------------- + def __init__(self): + wx.Frame.__init__(self, None, wx.ID_ANY, "Tutorial", size=(500,500)) + + # Add a panel so it looks the correct on all platforms + panel = wx.Panel(self, wx.ID_ANY) + + SAVE_FILE_ID = wx.NewId() + self.Bind(wx.EVT_MENU, self.saveFile, id=SAVE_FILE_ID) + + LOAD_FILE_ID = wx.NewId() + self.Bind(wx.EVT_MENU, self.loadFile, id=LOAD_FILE_ID) + + accel_tbl = wx.AcceleratorTable([(wx.ACCEL_CTRL, ord('O'), LOAD_FILE_ID ), + (wx.ACCEL_CTRL, ord('S'), SAVE_FILE_ID )] + ) + self.SetAcceleratorTable(accel_tbl) + + #---------------------------------------------------------------------- + def loadFile(self, event): + openFileDialog = wx.FileDialog(self, "Open", "", "", + "Python files (*.py)|*.py", + wx.FD_OPEN | wx.FD_FILE_MUST_EXIST) + openFileDialog.ShowModal() + path = openFileDialog.GetPath() + try: + os_walk_without_codec = locale_functions.GetPath(path) + except (UnicodeEncodeError, UnicodeTranslateError, UnicodeError, UnicodeDecodeError, UnicodeWarning, TypeError) as e: + os_walk_without_codec = e + + try: + os_walk_with_system_codec = locale_functions.GetPath(path, None, sys.getdefaultencoding()) + except (UnicodeEncodeError, UnicodeTranslateError, UnicodeError, UnicodeDecodeError, UnicodeWarning, TypeError) as e: + os_walk_with_system_codec = e + + try: + os_walk_unicode_without_codec = locale_functions.GetUnicodePath(path) + except (UnicodeEncodeError, UnicodeTranslateError, UnicodeError, UnicodeDecodeError, UnicodeWarning, TypeError) as e: + os_walk_unicode_without_codec = e + + try: + os_walk_unicode_with_system_codec = locale_functions.GetUnicodePath(path, None, sys.getdefaultencoding()) + except (UnicodeEncodeError, UnicodeTranslateError, UnicodeError, UnicodeDecodeError, UnicodeWarning, TypeError) as e: + os_walk_unicode_with_system_codec = e + + print("Simple print:") + print(path) + + print("Type:") + print(type(path)) + + print("OS Walk: No Codec:") + print(os_walk_without_codec) + + print("OS Walk: Default System Codec:") + print(os_walk_with_system_codec) + + print("OS Unicode Walk: No Codec:") + print(os_walk_unicode_without_codec) + + print("OS Unicode Walk: Default System Codec:") + print(os_walk_unicode_with_system_codec) + openFileDialog.Destroy() + + #---------------------------------------------------------------------- + def saveFile(self, event): + saveFileDialog = wx.FileDialog(self, "Save As", "", "", + "Python files (*.py)|*.py", + wx.FD_SAVE | wx.FD_OVERWRITE_PROMPT) + saveFileDialog.ShowModal() + saveFileDialog.GetPath() + saveFileDialog.Destroy() + +# Run the program +if __name__ == "__main__": + app = wx.App(False) + frame = MyForm() + frame.Show() + app.MainLoop() diff --git a/tests/test_locale/locale_functions.py b/tests/test_locale/locale_functions.py index 1955d81b4..4d4d29f4e 100644 --- a/tests/test_locale/locale_functions.py +++ b/tests/test_locale/locale_functions.py @@ -74,8 +74,28 @@ system_names = { } -def GetPath(root, file, codec): +def GetPath(root, file=None, codec=None): # Replace this with the function we actually use for this - base_path = os.path.realpath(os.path.abspath(root)) - path = os.path.join(base_path, file).decode(codec) + path = os.path.realpath(os.path.abspath(root)) + + if file: + path = os.path.join(path, file) + + if codec: + path = path.decode(codec) + + return path + +def GetUnicodePath(root, file=None, codec=None): + # Replace this with the function we actually use for this + path = os.path.realpath(os.path.abspath(root)) + + if file: + path = os.path.join(path, file) + + if codec: + path = unicode(path, codec) + else: + path = unicode(path) + return path From 04b412dd5b0ce2b6dbcafa5f365225ae5cfcd428 Mon Sep 17 00:00:00 2001 From: Ebag333 Date: Sat, 25 Feb 2017 11:20:40 -0800 Subject: [PATCH 6/8] Test walking subdirectories, and using new unicode path --- tests/test_locale/test_os_walk.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 tests/test_locale/test_os_walk.py diff --git a/tests/test_locale/test_os_walk.py b/tests/test_locale/test_os_walk.py new file mode 100644 index 000000000..d97822885 --- /dev/null +++ b/tests/test_locale/test_os_walk.py @@ -0,0 +1,26 @@ +import os +import platform +from tests.test_locale.locale_functions import GetPath + +def test_os_walk(): + os_name = platform.system() + current_directory = os.path.dirname(os.path.abspath(unicode(__file__))) + subfolders = os.listdir(current_directory) + subfolders = [e for e in subfolders if not (e.endswith(".py") or e.endswith(".pyc") or e.endswith(".md"))] + + subfolder_count = 0 + for subfolder in subfolders: + subdir = GetPath(current_directory, subfolder) + testfile = GetPath(subdir, "testcodec") + + try: + with open(testfile, 'r') as f: + read_data = f.read() + f.closed + except: + assert False, "Failed to read file." + + assert read_data == "True" + subfolder_count += 1 + + assert len(subfolders) == subfolder_count \ No newline at end of file From 3383153b66c4af6160972634ddaa9261e65f768b Mon Sep 17 00:00:00 2001 From: Ebag333 Date: Sat, 25 Feb 2017 11:23:07 -0800 Subject: [PATCH 7/8] Little cleanup --- tests/test_locale/file_dialog_test.py | 23 ++++++++++++----------- tests/test_locale/test_os_walk.py | 7 ++++--- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/tests/test_locale/file_dialog_test.py b/tests/test_locale/file_dialog_test.py index 07eb70563..2394c9be4 100644 --- a/tests/test_locale/file_dialog_test.py +++ b/tests/test_locale/file_dialog_test.py @@ -1,13 +1,13 @@ +# noinspection PyPackageRequirements import wx import locale_functions import sys class MyForm(wx.Frame): - - #---------------------------------------------------------------------- + # ---------------------------------------------------------------------- def __init__(self): - wx.Frame.__init__(self, None, wx.ID_ANY, "Tutorial", size=(500,500)) + wx.Frame.__init__(self, None, wx.ID_ANY, "Tutorial", size=(500, 500)) # Add a panel so it looks the correct on all platforms panel = wx.Panel(self, wx.ID_ANY) @@ -18,12 +18,12 @@ class MyForm(wx.Frame): LOAD_FILE_ID = wx.NewId() self.Bind(wx.EVT_MENU, self.loadFile, id=LOAD_FILE_ID) - accel_tbl = wx.AcceleratorTable([(wx.ACCEL_CTRL, ord('O'), LOAD_FILE_ID ), - (wx.ACCEL_CTRL, ord('S'), SAVE_FILE_ID )] + accel_tbl = wx.AcceleratorTable([(wx.ACCEL_CTRL, ord('O'), LOAD_FILE_ID), + (wx.ACCEL_CTRL, ord('S'), SAVE_FILE_ID)] ) self.SetAcceleratorTable(accel_tbl) - #---------------------------------------------------------------------- + # ---------------------------------------------------------------------- def loadFile(self, event): openFileDialog = wx.FileDialog(self, "Open", "", "", "Python files (*.py)|*.py", @@ -32,22 +32,22 @@ class MyForm(wx.Frame): path = openFileDialog.GetPath() try: os_walk_without_codec = locale_functions.GetPath(path) - except (UnicodeEncodeError, UnicodeTranslateError, UnicodeError, UnicodeDecodeError, UnicodeWarning, TypeError) as e: + except (UnicodeEncodeError, UnicodeTranslateError, UnicodeError, UnicodeDecodeError, UnicodeWarning, TypeError) as e: os_walk_without_codec = e try: os_walk_with_system_codec = locale_functions.GetPath(path, None, sys.getdefaultencoding()) - except (UnicodeEncodeError, UnicodeTranslateError, UnicodeError, UnicodeDecodeError, UnicodeWarning, TypeError) as e: + except (UnicodeEncodeError, UnicodeTranslateError, UnicodeError, UnicodeDecodeError, UnicodeWarning, TypeError) as e: os_walk_with_system_codec = e try: os_walk_unicode_without_codec = locale_functions.GetUnicodePath(path) - except (UnicodeEncodeError, UnicodeTranslateError, UnicodeError, UnicodeDecodeError, UnicodeWarning, TypeError) as e: + except (UnicodeEncodeError, UnicodeTranslateError, UnicodeError, UnicodeDecodeError, UnicodeWarning, TypeError) as e: os_walk_unicode_without_codec = e try: os_walk_unicode_with_system_codec = locale_functions.GetUnicodePath(path, None, sys.getdefaultencoding()) - except (UnicodeEncodeError, UnicodeTranslateError, UnicodeError, UnicodeDecodeError, UnicodeWarning, TypeError) as e: + except (UnicodeEncodeError, UnicodeTranslateError, UnicodeError, UnicodeDecodeError, UnicodeWarning, TypeError) as e: os_walk_unicode_with_system_codec = e print("Simple print:") @@ -69,7 +69,7 @@ class MyForm(wx.Frame): print(os_walk_unicode_with_system_codec) openFileDialog.Destroy() - #---------------------------------------------------------------------- + # ---------------------------------------------------------------------- def saveFile(self, event): saveFileDialog = wx.FileDialog(self, "Save As", "", "", "Python files (*.py)|*.py", @@ -78,6 +78,7 @@ class MyForm(wx.Frame): saveFileDialog.GetPath() saveFileDialog.Destroy() + # Run the program if __name__ == "__main__": app = wx.App(False) diff --git a/tests/test_locale/test_os_walk.py b/tests/test_locale/test_os_walk.py index d97822885..4b347478a 100644 --- a/tests/test_locale/test_os_walk.py +++ b/tests/test_locale/test_os_walk.py @@ -1,9 +1,8 @@ import os -import platform from tests.test_locale.locale_functions import GetPath + def test_os_walk(): - os_name = platform.system() current_directory = os.path.dirname(os.path.abspath(unicode(__file__))) subfolders = os.listdir(current_directory) subfolders = [e for e in subfolders if not (e.endswith(".py") or e.endswith(".pyc") or e.endswith(".md"))] @@ -13,9 +12,11 @@ def test_os_walk(): subdir = GetPath(current_directory, subfolder) testfile = GetPath(subdir, "testcodec") + # noinspection PyBroadException try: with open(testfile, 'r') as f: read_data = f.read() + # noinspection PyStatementEffect f.closed except: assert False, "Failed to read file." @@ -23,4 +24,4 @@ def test_os_walk(): assert read_data == "True" subfolder_count += 1 - assert len(subfolders) == subfolder_count \ No newline at end of file + assert len(subfolders) == subfolder_count From 4e9d2a5e186f672fb0190271ec5b4b6c4832a7af Mon Sep 17 00:00:00 2001 From: Ebag333 Date: Sun, 26 Feb 2017 08:55:29 -0800 Subject: [PATCH 8/8] Rename file so pytest doesn't think it's a test. --- tests/test_locale/{file_dialog_test.py => file_dialog.py} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename tests/test_locale/{file_dialog_test.py => file_dialog.py} (97%) diff --git a/tests/test_locale/file_dialog_test.py b/tests/test_locale/file_dialog.py similarity index 97% rename from tests/test_locale/file_dialog_test.py rename to tests/test_locale/file_dialog.py index 2394c9be4..ce12af517 100644 --- a/tests/test_locale/file_dialog_test.py +++ b/tests/test_locale/file_dialog.py @@ -7,7 +7,7 @@ import sys class MyForm(wx.Frame): # ---------------------------------------------------------------------- def __init__(self): - wx.Frame.__init__(self, None, wx.ID_ANY, "Tutorial", size=(500, 500)) + wx.Frame.__init__(self, None, wx.ID_ANY, "CTRL-O to open, CTRL-S to save", size=(500, 500)) # Add a panel so it looks the correct on all platforms panel = wx.Panel(self, wx.ID_ANY)