diff --git a/src/calibre/constants.py b/src/calibre/constants.py index a4a35210ed..e823cdbfb0 100644 --- a/src/calibre/constants.py +++ b/src/calibre/constants.py @@ -2,7 +2,7 @@ __license__ = 'GPL v3' __copyright__ = '2008, Kovid Goyal kovid@kovidgoyal.net' __docformat__ = 'restructuredtext en' __appname__ = 'calibre' -__version__ = '0.4.84b6' +__version__ = '0.4.84b7' __author__ = "Kovid Goyal " ''' Various run time constants. diff --git a/src/calibre/gui2/dialogs/metadata_single.py b/src/calibre/gui2/dialogs/metadata_single.py index fa6ea780d2..3dca51107d 100644 --- a/src/calibre/gui2/dialogs/metadata_single.py +++ b/src/calibre/gui2/dialogs/metadata_single.py @@ -100,7 +100,7 @@ class MetadataSingleDialog(QDialog, Ui_MetadataSingleDialog): old_extensions, new_extensions, paths = set(), set(), {} for row in range(self.formats.count()): fmt = self.formats.item(row) - ext, path = fmt.ext, fmt.path + ext, path = fmt.ext.lower(), fmt.path if 'unknown' in ext.lower(): ext = None if path: @@ -109,8 +109,8 @@ class MetadataSingleDialog(QDialog, Ui_MetadataSingleDialog): else: old_extensions.add(ext) for ext in new_extensions: - self.db.add_format(self.row, ext, open(paths[ext], "rb")) - db_extensions = set(self.db.formats(self.row).split(',')) + self.db.add_format(self.row, ext, open(paths[ext], 'rb')) + db_extensions = set([f.lower() for f in self.db.formats(self.row).split(',')]) extensions = new_extensions.union(old_extensions) for ext in db_extensions: if ext not in extensions: diff --git a/src/calibre/library/database2.py b/src/calibre/library/database2.py index b28406dca4..c40ebf75e7 100644 --- a/src/calibre/library/database2.py +++ b/src/calibre/library/database2.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +from __future__ import with_statement __license__ = 'GPL v3' __copyright__ = '2008, Kovid Goyal kovid@kovidgoyal.net' __docformat__ = 'restructuredtext en' @@ -360,7 +360,9 @@ class LibraryDatabase2(LibraryDatabase): self.conn.execute('DELETE FROM data WHERE book=? AND format=?', (id, format)) name = self.construct_file_name(id) ext = ('.' + format.lower()) if format else '' - shutil.copyfileobj(stream, open(os.path.join(path, name+ext), 'wb')) + dest = os.path.join(path, name+ext) + with open(dest, 'wb') as f: + shutil.copyfileobj(stream, f) stream.seek(0, 2) size=stream.tell() self.conn.execute('INSERT INTO data (book,format,uncompressed_size,name) VALUES (?,?,?,?)', diff --git a/src/calibre/utils/fontconfig.py b/src/calibre/utils/fontconfig.py index 93ee9f6566..9a6ba01992 100644 --- a/src/calibre/utils/fontconfig.py +++ b/src/calibre/utils/fontconfig.py @@ -151,7 +151,7 @@ class FontScanner(Thread): def run(self): # Initialize the fontconfig library. This has to be done manually # for the OS X bundle as it may have its own private fontconfig. - if getattr(sys, 'frameworks_dir', False) and not os.path.exists('/usr/X11/lib/libfontconfig.1.dylib'): + if getattr(sys, 'frameworks_dir', False):# and not os.path.exists('/usr/X11/lib/libfontconfig.1.dylib'): config_dir = os.path.join(os.path.dirname(getattr(sys, 'frameworks_dir')), 'Resources', 'fonts') if isinstance(config_dir, unicode): config_dir = config_dir.encode(sys.getfilesystemencoding())