split platform
This commit is contained in:
commit
8c9b09577d
2261 changed files with 676163 additions and 0 deletions
41
lib/python3.5/site-packages/setuptools/unicode_utils.py
Normal file
41
lib/python3.5/site-packages/setuptools/unicode_utils.py
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
import unicodedata
|
||||
import sys
|
||||
from setuptools.compat import unicode as decoded_string
|
||||
|
||||
|
||||
# HFS Plus uses decomposed UTF-8
|
||||
def decompose(path):
|
||||
if isinstance(path, decoded_string):
|
||||
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
|
||||
"""
|
||||
|
||||
fs_enc = sys.getfilesystemencoding()
|
||||
if isinstance(path, decoded_string):
|
||||
return path
|
||||
|
||||
for enc in (fs_enc, "utf-8"):
|
||||
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
|
||||
Loading…
Add table
Add a link
Reference in a new issue