From 32d9deace3d82637f08e58c73c314bc5cfe53c80 Mon Sep 17 00:00:00 2001 From: david-sarah Date: Tue, 8 Jun 2010 17:08:03 -0700 Subject: [PATCH] Back out Windows-specific Unicode argument support for v1.7. --- src/allmydata/test/test_stringutils.py | 11 ++++------- src/allmydata/util/stringutils.py | 4 ++-- windows/tahoe.py | 12 +----------- 3 files changed, 7 insertions(+), 20 deletions(-) diff --git a/src/allmydata/test/test_stringutils.py b/src/allmydata/test/test_stringutils.py index a4095c84..413eae88 100644 --- a/src/allmydata/test/test_stringutils.py +++ b/src/allmydata/test/test_stringutils.py @@ -27,7 +27,7 @@ if __name__ == "__main__": print " platform = '%s'" % sys.platform print " filesystem_encoding = '%s'" % sys.getfilesystemencoding() print " output_encoding = '%s'" % sys.stdout.encoding - print " argv_encoding = '%s'" % (sys.platform == "win32" and 'utf-8' or sys.stdout.encoding) + print " argv_encoding = '%s'" % (sys.platform == "win32" and 'ascii' or sys.stdout.encoding) try: tmpdir = tempfile.mkdtemp() @@ -272,31 +272,28 @@ class UbuntuKarmicLatin1(StringUtils, unittest.TestCase): class WindowsXP(StringUtils, unittest.TestCase): uname = 'Windows XP 5.1.2600 x86 x86 Family 15 Model 75 Step ping 2, AuthenticAMD' output = 'lumi\x8are' - argv = 'lumi\xc3\xa8re' platform = 'win32' filesystem_encoding = 'mbcs' output_encoding = 'cp850' - argv_encoding = 'utf-8' + argv_encoding = 'ascii' dirlist = [u'Blah blah.txt', u'test_file', u'\xc4rtonwall.mp3'] class WindowsXP_UTF8(StringUtils, unittest.TestCase): uname = 'Windows XP 5.1.2600 x86 x86 Family 15 Model 75 Step ping 2, AuthenticAMD' output = 'lumi\xc3\xa8re' - argv = 'lumi\xc3\xa8re' platform = 'win32' filesystem_encoding = 'mbcs' output_encoding = 'cp65001' - argv_encoding = 'utf-8' + argv_encoding = 'ascii' dirlist = [u'Blah blah.txt', u'test_file', u'\xc4rtonwall.mp3'] class WindowsVista(StringUtils, unittest.TestCase): uname = 'Windows Vista 6.0.6000 x86 x86 Family 6 Model 15 Stepping 11, GenuineIntel' output = 'lumi\x8are' - argv = 'lumi\xc3\xa8re' platform = 'win32' filesystem_encoding = 'mbcs' output_encoding = 'cp850' - argv_encoding = 'utf-8' + argv_encoding = 'ascii' dirlist = [u'Blah blah.txt', u'test_file', u'\xc4rtonwall.mp3'] class MacOSXLeopard(StringUtils, unittest.TestCase): diff --git a/src/allmydata/util/stringutils.py b/src/allmydata/util/stringutils.py index eb511914..d5c20865 100644 --- a/src/allmydata/util/stringutils.py +++ b/src/allmydata/util/stringutils.py @@ -41,8 +41,8 @@ def _reload(): filesystem_encoding = _canonical_encoding(sys.getfilesystemencoding()) output_encoding = _canonical_encoding(sys.stdout.encoding or locale.getpreferredencoding()) if sys.platform == 'win32': - # arguments are converted to utf-8 in windows/tahoe.py - argv_encoding = 'utf-8' + # Unicode arguments are not supported on Windows yet; see #565 and #1074. + argv_encoding = 'ascii' else: argv_encoding = output_encoding is_unicode_platform = sys.platform in ["win32", "darwin"] diff --git a/windows/tahoe.py b/windows/tahoe.py index 42161f48..e3e4b469 100644 --- a/windows/tahoe.py +++ b/windows/tahoe.py @@ -4,16 +4,6 @@ import depends # import dependencies so that py2exe finds them _junk = depends # appease pyflakes import sys -from ctypes import WINFUNCTYPE, POINTER, byref, c_wchar_p, c_int, windll from allmydata.scripts import runner -GetCommandLineW = WINFUNCTYPE(c_wchar_p)(("GetCommandLineW", windll.kernel32)) -CommandLineToArgvW = WINFUNCTYPE(POINTER(c_wchar_p), c_wchar_p, POINTER(c_int)) \ - (("CommandLineToArgvW", windll.shell32)) - -argc = c_int(0) -argv = CommandLineToArgvW(GetCommandLineW(), byref(argc)) -argv_utf8 = [argv[i].encode('utf-8') for i in xrange(1, argc.value)] - -rc = runner(argv_utf8, install_node_control=False) -sys.exit(rc) \ No newline at end of file +sys.exit(runner(install_node_control=False)) \ No newline at end of file -- 2.45.2