mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-08 18:54:09 -04:00
Fix calibre.app to work correctly even when it is moved into a path that has spaces in it
This commit is contained in:
parent
a6cf06dc25
commit
36a771c7f1
@ -34,8 +34,8 @@ python = os.path.join(base_dir, 'MacOS', 'python')
|
||||
loader_path = os.path.join(dirpath, base_name+'.py')
|
||||
loader = open(loader_path, 'w')
|
||||
site_packages = glob.glob(resources_dir+'/lib/python*/site-packages.zip')[0]
|
||||
print >>loader, '#!'+python
|
||||
print >>loader, 'import sys'
|
||||
print >>loader, 'sys.argv[0] =', repr(os.path.basename(path))
|
||||
print >>loader, 'if', repr(dirpath), 'in sys.path: sys.path.remove(', repr(dirpath), ')'
|
||||
print >>loader, 'sys.path.append(', repr(site_packages), ')'
|
||||
print >>loader, 'sys.frozen = "macosx_app"'
|
||||
@ -49,7 +49,8 @@ os.environ['PYTHONHOME'] = resources_dir
|
||||
os.environ['FC_CONFIG_DIR'] = os.path.join(resources_dir, 'fonts')
|
||||
os.environ['MAGICK_HOME'] = os.path.join(frameworks_dir, 'ImageMagick')
|
||||
os.environ['DYLD_LIBRARY_PATH'] = os.path.join(frameworks_dir, 'ImageMagick', 'lib')
|
||||
os.execv(loader_path, sys.argv)
|
||||
args = [path, loader_path] + sys.argv[1:]
|
||||
os.execv(python, args)
|
||||
'''
|
||||
CHECK_SYMLINKS_PRESCRIPT = \
|
||||
r'''
|
||||
|
@ -140,6 +140,8 @@ class MobiReader(object):
|
||||
|
||||
def __init__(self, filename_or_stream, verbose=False):
|
||||
self.verbose = verbose
|
||||
self.embedded_mi = None
|
||||
|
||||
if hasattr(filename_or_stream, 'read'):
|
||||
stream = filename_or_stream
|
||||
stream.seek(0)
|
||||
@ -216,7 +218,6 @@ class MobiReader(object):
|
||||
guides = root.xpath('//guide')
|
||||
guide = guides[0] if guides else None
|
||||
metadata_elems = root.xpath('//metadata')
|
||||
self.embedded_mi = None
|
||||
if metadata_elems and self.book_header.exth is None:
|
||||
self.read_embedded_metadata(root, metadata_elems[0], guide)
|
||||
for elem in guides + metadata_elems:
|
||||
|
Loading…
x
Reference in New Issue
Block a user