Fix calibre.app to work correctly even when it is moved into a path that has spaces in it

This commit is contained in:
Kovid Goyal 2009-03-06 12:46:30 -08:00
parent a6cf06dc25
commit 36a771c7f1
2 changed files with 5 additions and 3 deletions

View File

@ -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'''

View File

@ -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: