Current Dir: /snap/core22/2955/usr/lib/python3/dist-packages/setuptools/
[DIR] command [ delete | rename ]
[DIR] extern [ delete | rename ]
[DIR] _distutils [ delete | rename ]
[DIR] _vendor [ delete | rename ]
[DIR] __pycache__ [ delete | rename ]
[FILE] archive_util.py [ edit | delete | rename ]
[FILE] build_meta.py [ edit | delete | rename ]
[FILE] config.py [ edit | delete | rename ]
[FILE] depends.py [ edit | delete | rename ]
[FILE] dep_util.py [ edit | delete | rename ]
[FILE] dist.py [ edit | delete | rename ]
[FILE] errors.py [ edit | delete | rename ]
[FILE] extension.py [ edit | delete | rename ]
[FILE] glob.py [ edit | delete | rename ]
[FILE] installer.py [ edit | delete | rename ]
[FILE] launch.py [ edit | delete | rename ]
[FILE] monkey.py [ edit | delete | rename ]
[FILE] msvc.py [ edit | delete | rename ]
[FILE] namespaces.py [ edit | delete | rename ]
[FILE] package_index.py [ edit | delete | rename ]
[FILE] py34compat.py [ edit | delete | rename ]
[FILE] sandbox.py [ edit | delete | rename ]
[FILE] script (dev).tmpl [ edit | delete | rename ]
[FILE] script.tmpl [ edit | delete | rename ]
[FILE] unicode_utils.py [ edit | delete | rename ]
[FILE] version.py [ edit | delete | rename ]
[FILE] wheel.py [ edit | delete | rename ]
[FILE] windows_support.py [ edit | delete | rename ]
[FILE] _deprecation_warning.py [ edit | delete | rename ]
[FILE] _imp.py [ edit | delete | rename ]
[FILE] __init__.py [ edit | delete | rename ]
Viewing: /snap/core22/2955/usr/lib/python3/dist-packages/setuptools/unicode_utils.py
import unicodedata
import sys
# HFS Plus uses decomposed UTF-8
def decompose(path):
if isinstance(path, str):
return unicodedata.normalize('NFD', path)
try:
path = path.decode('utf-8')
path = unicodedata.normalize('NFD', path)
path = path.encode('utf-8')
except UnicodeError:
pass # Not UTF-8
return path
def filesys_decode(path):
"""
Ensure that the given path is decoded,
NONE when no expected encoding works
"""
if isinstance(path, str):
return path
fs_enc = sys.getfilesystemencoding() or 'utf-8'
candidates = fs_enc, 'utf-8'
for enc in candidates:
try:
return path.decode(enc)
except UnicodeDecodeError:
continue
def try_encode(string, enc):
"turn unicode encoding into a functional routine"
try:
return string.encode(enc)
except UnicodeEncodeError:
return None