Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes15kdownloads
unicode_utils.py45 linesDownload Raw Back to setuptools
1import unicodedata2import sys3 4 5# HFS Plus uses decomposed UTF-86def decompose(path):7    if isinstance(path, str):8        return unicodedata.normalize('NFD', path)9    try:10        path = path.decode('utf-8')11        path = unicodedata.normalize('NFD', path)12        path = path.encode('utf-8')13    except UnicodeError:14        pass  # Not UTF-815    return path16 17 18def filesys_decode(path):19    """20    Ensure that the given path is decoded,21    ``None`` when no expected encoding works22    """23 24    if isinstance(path, str):25        return path26 27    fs_enc = sys.getfilesystemencoding() or 'utf-8'28    candidates = fs_enc, 'utf-8'29 30    for enc in candidates:31        try:32            return path.decode(enc)33        except UnicodeDecodeError:34            continue35 36    return None37 38 39def try_encode(string, enc):40    "turn unicode encoding into a functional routine"41    try:42        return string.encode(enc)43    except UnicodeEncodeError:44        return None45 
codekingpro/portable-devtools · Team Ai