From 56f0b1e170e28ef29e0ed439e7ca0e4ea1b93acb Mon Sep 17 00:00:00 2001 From: Jaisen Mathai Date: Tue, 24 Jan 2017 00:25:52 -0800 Subject: [PATCH] Fix unicode decoding bug in compatability.py and add_original_name.py (#194) --- elodie/compatability.py | 3 ++- elodie/tools/add_original_name.py | 10 ++++------ 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/elodie/compatability.py b/elodie/compatability.py index e11967d..9d65f75 100644 --- a/elodie/compatability.py +++ b/elodie/compatability.py @@ -1,10 +1,11 @@ import os import shutil +import sys from elodie import constants -def _decode(string, encoding='utf8'): +def _decode(string, encoding=sys.getfilesystemencoding()): """Return a utf8 encoded unicode string. Python2 and Python3 differ in how they handle strings. diff --git a/elodie/tools/add_original_name.py b/elodie/tools/add_original_name.py index d97eea9..2f39a2b 100644 --- a/elodie/tools/add_original_name.py +++ b/elodie/tools/add_original_name.py @@ -30,11 +30,10 @@ def main(argv): if os.path.isdir(path): for source in filesystem.get_all_files(path, None): status = add_original_name(source, subclasses) - result.append((source, status)) - + result.append((_decode(source), status)) else: status = add_original_name(path, subclasses) - result.append((path, status)) + result.append((_decode(path), status)) result.write() @@ -48,11 +47,10 @@ def add_original_name(source, subclasses): if metadata['original_name'] is not None: print('{} already has OriginalFileName...Skipping'.format(source)) return - + original_name = parse_original_name_from_media(metadata) return media.set_original_name(original_name) - - + def parse_original_name_from_media(metadata): # 2015-07-23_04-31-12-img_9414-test3.jpg base_name = metadata['base_name']