mirror of
https://github.com/janeczku/calibre-web
synced 2024-11-28 12:30:00 +00:00
Fixes for windows (moving files not allowed -> Close pdf after metadata extracting, add os.path.normcase to path while renaming folders, as thi caused also trouble
Added hint for missing ghostcript on cover extraction
This commit is contained in:
parent
66acd1821d
commit
0ccc3f7252
@ -340,13 +340,13 @@ def update_dir_structure_file(book_id, calibrepath, first_author):
|
|||||||
new_title_path = os.path.join(os.path.dirname(path), new_titledir)
|
new_title_path = os.path.join(os.path.dirname(path), new_titledir)
|
||||||
try:
|
try:
|
||||||
if not os.path.exists(new_title_path):
|
if not os.path.exists(new_title_path):
|
||||||
os.renames(path, new_title_path)
|
os.renames(os.path.normcase(path), os.path.normcase(new_title_path))
|
||||||
else:
|
else:
|
||||||
log.info("Copying title: %s into existing: %s", path, new_title_path)
|
log.info("Copying title: %s into existing: %s", path, new_title_path)
|
||||||
for dir_name, __, file_list in os.walk(path):
|
for dir_name, __, file_list in os.walk(path):
|
||||||
for file in file_list:
|
for file in file_list:
|
||||||
os.renames(os.path.join(dir_name, file),
|
os.renames(os.path.normcase(os.path.join(dir_name, file)),
|
||||||
os.path.join(new_title_path + dir_name[len(path):], file))
|
os.path.normcase(os.path.join(new_title_path + dir_name[len(path):], file)))
|
||||||
path = new_title_path
|
path = new_title_path
|
||||||
localbook.path = localbook.path.split('/')[0] + '/' + new_titledir
|
localbook.path = localbook.path.split('/')[0] + '/' + new_titledir
|
||||||
except OSError as ex:
|
except OSError as ex:
|
||||||
@ -357,7 +357,7 @@ def update_dir_structure_file(book_id, calibrepath, first_author):
|
|||||||
if authordir != new_authordir:
|
if authordir != new_authordir:
|
||||||
new_author_path = os.path.join(calibrepath, new_authordir, os.path.basename(path))
|
new_author_path = os.path.join(calibrepath, new_authordir, os.path.basename(path))
|
||||||
try:
|
try:
|
||||||
os.renames(path, new_author_path)
|
os.renames(os.path.normcase(path), os.path.normcase(new_author_path))
|
||||||
localbook.path = new_authordir + '/' + localbook.path.split('/')[1]
|
localbook.path = new_authordir + '/' + localbook.path.split('/')[1]
|
||||||
except OSError as ex:
|
except OSError as ex:
|
||||||
log.error("Rename author from: %s to %s: %s", path, new_author_path, ex)
|
log.error("Rename author from: %s to %s: %s", path, new_author_path, ex)
|
||||||
@ -370,8 +370,9 @@ def update_dir_structure_file(book_id, calibrepath, first_author):
|
|||||||
new_name = get_valid_filename(localbook.title) + ' - ' + get_valid_filename(new_authordir)
|
new_name = get_valid_filename(localbook.title) + ' - ' + get_valid_filename(new_authordir)
|
||||||
path_name = os.path.join(calibrepath, new_authordir, os.path.basename(path))
|
path_name = os.path.join(calibrepath, new_authordir, os.path.basename(path))
|
||||||
for file_format in localbook.data:
|
for file_format in localbook.data:
|
||||||
os.renames(os.path.join(path_name, file_format.name + '.' + file_format.format.lower()),
|
os.renames(os.path.normcase(
|
||||||
os.path.join(path_name, new_name + '.' + file_format.format.lower()))
|
os.path.join(path_name, file_format.name + '.' + file_format.format.lower())),
|
||||||
|
os.path.normcase(os.path.join(path_name, new_name + '.' + file_format.format.lower())))
|
||||||
file_format.name = new_name
|
file_format.name = new_name
|
||||||
except OSError as ex:
|
except OSError as ex:
|
||||||
log.error("Rename file in path %s to %s: %s", path, new_name, ex)
|
log.error("Rename file in path %s to %s: %s", path, new_name, ex)
|
||||||
|
@ -116,8 +116,8 @@ def default_meta(tmp_file_path, original_file_name, original_file_extension):
|
|||||||
def pdf_meta(tmp_file_path, original_file_name, original_file_extension):
|
def pdf_meta(tmp_file_path, original_file_name, original_file_extension):
|
||||||
doc_info = None
|
doc_info = None
|
||||||
if use_pdf_meta:
|
if use_pdf_meta:
|
||||||
doc_info = PdfFileReader(open(tmp_file_path, 'rb')).getDocumentInfo()
|
with open(tmp_file_path, 'rb') as f:
|
||||||
|
doc_info = PdfFileReader(f).getDocumentInfo()
|
||||||
if doc_info:
|
if doc_info:
|
||||||
author = doc_info.author if doc_info.author else u'Unknown'
|
author = doc_info.author if doc_info.author else u'Unknown'
|
||||||
title = doc_info.title if doc_info.title else original_file_name
|
title = doc_info.title if doc_info.title else original_file_name
|
||||||
@ -156,6 +156,7 @@ def pdf_preview(tmp_file_path, tmp_dir):
|
|||||||
return None
|
return None
|
||||||
except Exception as ex:
|
except Exception as ex:
|
||||||
log.warning('Cannot extract cover image, using default: %s', ex)
|
log.warning('Cannot extract cover image, using default: %s', ex)
|
||||||
|
log.warning('On Windows this error could be caused by missing ghostscript')
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user