summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
Diffstat (limited to 'Lib')
-rw-r--r--Lib/os.py21
-rw-r--r--Lib/test/test_ssl.py9
2 files changed, 16 insertions, 14 deletions
diff --git a/Lib/os.py b/Lib/os.py
index 8f47137..e9d44cc6 100644
--- a/Lib/os.py
+++ b/Lib/os.py
@@ -533,16 +533,19 @@ if supports_bytes_environ:
return environb.get(key, default)
__all__.append("getenvb")
-if name != 'nt':
- def fsencode(value):
- """Encode value for use in the file system, environment variables
- or the command line."""
- if isinstance(value, bytes):
- return value
- elif isinstance(value, str):
- return value.encode(sys.getfilesystemencoding(), 'surrogateescape')
+def fsencode(value):
+ """Encode value for use in the file system, environment variables
+ or the command line."""
+ if isinstance(value, bytes):
+ return value
+ elif isinstance(value, str):
+ encoding = sys.getfilesystemencoding()
+ if encoding == 'mbcs':
+ return value.encode(encoding)
else:
- raise TypeError("expect bytes or str, not %s" % type(value).__name__)
+ return value.encode(encoding, 'surrogateescape')
+ else:
+ raise TypeError("expect bytes or str, not %s" % type(value).__name__)
def _exists(name):
return name in globals()
diff --git a/Lib/test/test_ssl.py b/Lib/test/test_ssl.py
index c464440..9c0d263 100644
--- a/Lib/test/test_ssl.py
+++ b/Lib/test/test_ssl.py
@@ -33,16 +33,15 @@ else:
HOST = support.HOST
data_file = lambda name: os.path.join(os.path.dirname(__file__), name)
-fsencode = lambda name: name.encode(sys.getfilesystemencoding(), "surrogateescape")
CERTFILE = data_file("keycert.pem")
-BYTES_CERTFILE = fsencode(CERTFILE)
+BYTES_CERTFILE = os.fsencode(CERTFILE)
ONLYCERT = data_file("ssl_cert.pem")
ONLYKEY = data_file("ssl_key.pem")
-BYTES_ONLYCERT = fsencode(ONLYCERT)
-BYTES_ONLYKEY = fsencode(ONLYKEY)
+BYTES_ONLYCERT = os.fsencode(ONLYCERT)
+BYTES_ONLYKEY = os.fsencode(ONLYKEY)
CAPATH = data_file("capath")
-BYTES_CAPATH = fsencode(CAPATH)
+BYTES_CAPATH = os.fsencode(CAPATH)
SVN_PYTHON_ORG_ROOT_CERT = data_file("https_svn_python_org_root.pem")