mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -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_path = os.path.join(dirpath, base_name+'.py')
|
||||||
loader = open(loader_path, 'w')
|
loader = open(loader_path, 'w')
|
||||||
site_packages = glob.glob(resources_dir+'/lib/python*/site-packages.zip')[0]
|
site_packages = glob.glob(resources_dir+'/lib/python*/site-packages.zip')[0]
|
||||||
print >>loader, '#!'+python
|
|
||||||
print >>loader, 'import sys'
|
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, 'if', repr(dirpath), 'in sys.path: sys.path.remove(', repr(dirpath), ')'
|
||||||
print >>loader, 'sys.path.append(', repr(site_packages), ')'
|
print >>loader, 'sys.path.append(', repr(site_packages), ')'
|
||||||
print >>loader, 'sys.frozen = "macosx_app"'
|
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['FC_CONFIG_DIR'] = os.path.join(resources_dir, 'fonts')
|
||||||
os.environ['MAGICK_HOME'] = os.path.join(frameworks_dir, 'ImageMagick')
|
os.environ['MAGICK_HOME'] = os.path.join(frameworks_dir, 'ImageMagick')
|
||||||
os.environ['DYLD_LIBRARY_PATH'] = os.path.join(frameworks_dir, 'ImageMagick', 'lib')
|
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 = \
|
CHECK_SYMLINKS_PRESCRIPT = \
|
||||||
r'''
|
r'''
|
||||||
|
@ -140,6 +140,8 @@ class MobiReader(object):
|
|||||||
|
|
||||||
def __init__(self, filename_or_stream, verbose=False):
|
def __init__(self, filename_or_stream, verbose=False):
|
||||||
self.verbose = verbose
|
self.verbose = verbose
|
||||||
|
self.embedded_mi = None
|
||||||
|
|
||||||
if hasattr(filename_or_stream, 'read'):
|
if hasattr(filename_or_stream, 'read'):
|
||||||
stream = filename_or_stream
|
stream = filename_or_stream
|
||||||
stream.seek(0)
|
stream.seek(0)
|
||||||
@ -216,7 +218,6 @@ class MobiReader(object):
|
|||||||
guides = root.xpath('//guide')
|
guides = root.xpath('//guide')
|
||||||
guide = guides[0] if guides else None
|
guide = guides[0] if guides else None
|
||||||
metadata_elems = root.xpath('//metadata')
|
metadata_elems = root.xpath('//metadata')
|
||||||
self.embedded_mi = None
|
|
||||||
if metadata_elems and self.book_header.exth is None:
|
if metadata_elems and self.book_header.exth is None:
|
||||||
self.read_embedded_metadata(root, metadata_elems[0], guide)
|
self.read_embedded_metadata(root, metadata_elems[0], guide)
|
||||||
for elem in guides + metadata_elems:
|
for elem in guides + metadata_elems:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user