diff --git a/installer/osx/freeze.py b/installer/osx/freeze.py index dbaad72748..ff1684bb04 100644 --- a/installer/osx/freeze.py +++ b/installer/osx/freeze.py @@ -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''' diff --git a/src/calibre/ebooks/mobi/reader.py b/src/calibre/ebooks/mobi/reader.py index 8898798c34..2c80cc1c8c 100644 --- a/src/calibre/ebooks/mobi/reader.py +++ b/src/calibre/ebooks/mobi/reader.py @@ -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: