Compare commits
3 Commits
master
...
old/unicod
Author | SHA1 | Date |
---|---|---|
|
f99b40c2f3 | 11 years ago |
|
ae00e83c9d | 11 years ago |
|
d4f2f12924 | 11 years ago |
7 changed files with 79 additions and 15 deletions
@ -0,0 +1,51 @@ |
|||||
|
import os |
||||
|
from chardet import detect |
||||
|
from couchpotato import Env |
||||
|
|
||||
|
fs_enc = Env.get('fs_encoding') |
||||
|
|
||||
|
|
||||
|
def list_dir(path, full_path = True): |
||||
|
""" |
||||
|
List directory don't error when it doesn't exist |
||||
|
""" |
||||
|
|
||||
|
path = unicode_path(path) |
||||
|
|
||||
|
if os.path.isdir(path): |
||||
|
for f in os.listdir(path): |
||||
|
if full_path: |
||||
|
yield join(path, f) |
||||
|
else: |
||||
|
yield f |
||||
|
|
||||
|
|
||||
|
def join(*args): |
||||
|
""" |
||||
|
Join path, encode properly before joining |
||||
|
""" |
||||
|
|
||||
|
return os.path.join(*[safe(x) for x in args]) |
||||
|
|
||||
|
|
||||
|
def unicode_path(path): |
||||
|
""" |
||||
|
Convert back to unicode |
||||
|
:param path: path string |
||||
|
""" |
||||
|
|
||||
|
if isinstance(path, str): |
||||
|
detected = detect(path) |
||||
|
print detected |
||||
|
path = path.decode(detected.get('encoding')) |
||||
|
path = path.decode('unicode_escape') |
||||
|
|
||||
|
return path |
||||
|
|
||||
|
|
||||
|
def safe(path): |
||||
|
|
||||
|
if isinstance(path, unicode): |
||||
|
return path.encode('unicode_escape') |
||||
|
|
||||
|
return path |
Loading…
Reference in new issue