diff --git a/src/calibre/db/adding.py b/src/calibre/db/adding.py index 8059afcf3a..a1b5e25850 100644 --- a/src/calibre/db/adding.py +++ b/src/calibre/db/adding.py @@ -5,15 +5,18 @@ __license__ = 'GPL v3' __copyright__ = '2013, Kovid Goyal ' -import os, time, re +import os +import re +import time from collections import defaultdict -from polyglot.builtins import itervalues, map as it_map, unicode_type from contextlib import contextmanager from functools import partial from calibre import prints -from calibre.constants import iswindows, ismacos, filesystem_encoding +from calibre.constants import filesystem_encoding, ismacos, iswindows from calibre.ebooks import BOOK_EXTENSIONS +from calibre.utils.filenames import make_long_path_useable +from polyglot.builtins import itervalues, map as it_map, unicode_type def splitext(path): @@ -85,7 +88,7 @@ else: def listdir(root, sort_by_mtime=False): - items = (os.path.join(root, x) for x in unicode_listdir(root)) + items = (make_long_path_useable(os.path.join(root, x)) for x in unicode_listdir(root)) if sort_by_mtime: def safe_mtime(x): try: @@ -123,12 +126,13 @@ def run_import_plugins(formats): ans = run_import_plugins(formats, import_ctx['group_id'], import_ctx['tdir']) fm = import_ctx['format_map'] for old_path, new_path in zip(formats, ans): + new_path = make_long_path_useable(new_path) fm[new_path] = old_path return ans def find_books_in_directory(dirpath, single_book_per_directory, compiled_rules=(), listdir_impl=listdir): - dirpath = os.path.abspath(dirpath) + dirpath = make_long_path_useable(os.path.abspath(dirpath)) if single_book_per_directory: formats = {} for path in listdir_impl(dirpath):