From ed437c3e0df47ddefe279b0311d1e29ee2cd3e17 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 11 Jul 2018 14:50:33 +0530 Subject: [PATCH] Fix raw_input() for importing calibre data via calibre-debug --- src/calibre/utils/exim.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/calibre/utils/exim.py b/src/calibre/utils/exim.py index 567dfd4fb3..9b422b6366 100644 --- a/src/calibre/utils/exim.py +++ b/src/calibre/utils/exim.py @@ -390,6 +390,10 @@ def run_exporter(export_dir=None, args=None): if len(args) < 2: raise SystemExit('You must specify the export dir and libraries to export') export_dir = args[0] + if not os.path.exists(export_dir): + os.makedirs(export_dir) + if os.listdir(export_dir): + raise SystemExit('%s is not empty' % export_dir) all_libraries = {os.path.normcase(os.path.abspath(path)):lus for path, lus in all_known_libraries().iteritems()} if 'all' in args[1:]: libraries = set(all_libraries) @@ -422,7 +426,7 @@ def run_exporter(export_dir=None, args=None): def run_importer(): - export_dir = raw_input('Enter path to folder containing previously exported data: ').decode(filesystem_encoding) + export_dir = raw_input('Enter path to folder containing previously exported data: ').decode(filesystem_encoding).rstrip('\r') if not os.path.isdir(export_dir): raise SystemExit('%s is not a folder' % export_dir) try: @@ -430,7 +434,7 @@ def run_importer(): except ValueError as err: raise SystemExit(err.message) - import_dir = raw_input('Enter path to an empty folder (all libraries will be created inside this folder): ').decode(filesystem_encoding) + import_dir = raw_input('Enter path to an empty folder (all libraries will be created inside this folder): ').decode(filesystem_encoding).rstrip('\r') if not os.path.exists(import_dir): os.makedirs(import_dir) if not os.path.isdir(import_dir):