From 4c49fb79e81a55682b037a312e114ad22974885d Mon Sep 17 00:00:00 2001 From: laoshu133 Date: Fri, 14 Mar 2014 14:51:29 +0800 Subject: [PATCH] Fix #3, Path has Chinese text don't work --- EmmetNPP/emmet/file.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/EmmetNPP/emmet/file.py b/EmmetNPP/emmet/file.py index b4bbd8b..7adc3c0 100644 --- a/EmmetNPP/emmet/file.py +++ b/EmmetNPP/emmet/file.py @@ -31,11 +31,19 @@ def read_file(path, size=-1, mode='rb'): with open(path, mode, **kwargs) as fp: return fp.read(size) +def unicode_str_isneed(str, encoding='utf-8'): + if not isinstance(str, unicode): + str = unicode(str, encoding) + + return str + + class File(): def __init__(self): pass def _read(self, path, size, mode='rb'): + path = unicode_str_isneed(path) reader = is_url(path) and read_http or read_file return reader(path, size, mode) @@ -93,6 +101,9 @@ def locate_file(self, editor_file, file_name): result = None + editor_file = unicode_str_isneed(editor_file) + file_name = unicode_str_isneed(file_name) + previous_parent = '' parent = os.path.dirname(editor_file) while parent and os.path.exists(parent) and parent != previous_parent: