diff options
| -rw-r--r-- | ishtar_common/utils.py | 15 | 
1 files changed, 13 insertions, 2 deletions
| diff --git a/ishtar_common/utils.py b/ishtar_common/utils.py index 2156d4f95..e6bc38237 100644 --- a/ishtar_common/utils.py +++ b/ishtar_common/utils.py @@ -1031,7 +1031,14 @@ def rename_and_simplify_media_name(full_path_name, rename=True):      :param rename: rename file if True (default: True)      :return: new full path name (or old if not changed), modified      """ -    if not os.path.exists(full_path_name) or not os.path.isfile(full_path_name): +    try: +        exists = os.path.exists(full_path_name) +        is_file = os.path.isfile(full_path_name) +    except UnicodeEncodeError: +        full_path_name = full_path_name.encode('utf-8') +        exists = os.path.exists(full_path_name) +        is_file = os.path.isfile(full_path_name) +    if not exists or not is_file:          return full_path_name, False      path, current_name, name = simplify_name(full_path_name, @@ -1206,8 +1213,12 @@ def try_fix_file(filename, make_copy=True):      path, current_name, simplified_ref_name = simplify_name(          filename, check_existing=False) +    try: +        dirs = list(os.listdir(path)) +    except UnicodeDecodeError: +        dirs = list(os.listdir(path.encode('utf-8')))      # check existing files in the path -    for file in sorted(list(os.listdir(path))): +    for file in sorted(dirs):          full_file = os.sep.join([path, file])          if not os.path.isfile(full_file):  # must be a file              continue | 
