mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Simplify setting of covers in database and remove unneccessary Qt dependancy
This commit is contained in:
parent
272437e901
commit
7afc38ba2c
@ -10,7 +10,7 @@ import os, uuid
|
|||||||
|
|
||||||
from PyQt4.Qt import QPixmap, SIGNAL
|
from PyQt4.Qt import QPixmap, SIGNAL
|
||||||
|
|
||||||
from calibre.gui2 import choose_images, error_dialog, pixmap_to_data
|
from calibre.gui2 import choose_images, error_dialog
|
||||||
from calibre.gui2.convert.metadata_ui import Ui_Form
|
from calibre.gui2.convert.metadata_ui import Ui_Form
|
||||||
from calibre.ebooks.metadata import authors_to_string, string_to_authors, \
|
from calibre.ebooks.metadata import authors_to_string, string_to_authors, \
|
||||||
MetaInformation
|
MetaInformation
|
||||||
@ -185,7 +185,7 @@ class MetadataWidget(Widget, Ui_Form):
|
|||||||
opf.render(self.opf_file)
|
opf.render(self.opf_file)
|
||||||
self.opf_file.close()
|
self.opf_file.close()
|
||||||
if self.cover_changed:
|
if self.cover_changed:
|
||||||
self.db.set_cover(self.book_id, pixmap_to_data(self.cover.pixmap()))
|
self.db.set_cover(self.book_id, self.cover.pixmap())
|
||||||
cover = self.db.cover(self.book_id, index_is_id=True)
|
cover = self.db.cover(self.book_id, index_is_id=True)
|
||||||
if cover:
|
if cover:
|
||||||
cf = PersistentTemporaryFile('.jpeg')
|
cf = PersistentTemporaryFile('.jpeg')
|
||||||
|
@ -16,7 +16,7 @@ from PyQt4.QtCore import SIGNAL, QObject, QCoreApplication, Qt, QTimer, QThread,
|
|||||||
from PyQt4.QtGui import QPixmap, QListWidgetItem, QErrorMessage, QDialog
|
from PyQt4.QtGui import QPixmap, QListWidgetItem, QErrorMessage, QDialog
|
||||||
|
|
||||||
from calibre.gui2 import qstring_to_unicode, error_dialog, file_icon_provider, \
|
from calibre.gui2 import qstring_to_unicode, error_dialog, file_icon_provider, \
|
||||||
choose_files, pixmap_to_data, choose_images, ResizableDialog
|
choose_files, choose_images, ResizableDialog
|
||||||
from calibre.gui2.dialogs.metadata_single_ui import Ui_MetadataSingleDialog
|
from calibre.gui2.dialogs.metadata_single_ui import Ui_MetadataSingleDialog
|
||||||
from calibre.gui2.dialogs.fetch_metadata import FetchMetadata
|
from calibre.gui2.dialogs.fetch_metadata import FetchMetadata
|
||||||
from calibre.gui2.dialogs.tag_editor import TagEditor
|
from calibre.gui2.dialogs.tag_editor import TagEditor
|
||||||
@ -512,7 +512,7 @@ class MetadataSingleDialog(ResizableDialog, Ui_MetadataSingleDialog):
|
|||||||
self.db.set_pubdate(self.id, datetime(d.year(), d.month(), d.day()))
|
self.db.set_pubdate(self.id, datetime(d.year(), d.month(), d.day()))
|
||||||
|
|
||||||
if self.cover_changed:
|
if self.cover_changed:
|
||||||
self.db.set_cover(self.id, pixmap_to_data(self.cover.pixmap()))
|
self.db.set_cover(self.id, self.cover.pixmap())
|
||||||
QDialog.accept(self)
|
QDialog.accept(self)
|
||||||
if callable(self.accepted_callback):
|
if callable(self.accepted_callback):
|
||||||
self.accepted_callback(self.id)
|
self.accepted_callback(self.id)
|
||||||
|
@ -11,9 +11,15 @@ import os, re, sys, shutil, cStringIO, glob, collections, textwrap, \
|
|||||||
from itertools import repeat
|
from itertools import repeat
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
||||||
from PyQt4.QtCore import QCoreApplication, QThread, QReadWriteLock
|
from PyQt4.QtCore import QThread, QReadWriteLock
|
||||||
from PyQt4.QtGui import QApplication, QImage
|
try:
|
||||||
__app = None
|
from PIL import Image as PILImage
|
||||||
|
PILImage
|
||||||
|
except ImportError:
|
||||||
|
import Image as PILImage
|
||||||
|
|
||||||
|
|
||||||
|
from PyQt4.QtGui import QImage
|
||||||
|
|
||||||
from calibre.ebooks.metadata import title_sort
|
from calibre.ebooks.metadata import title_sort
|
||||||
from calibre.library.database import LibraryDatabase
|
from calibre.library.database import LibraryDatabase
|
||||||
@ -819,14 +825,11 @@ class LibraryDatabase2(LibraryDatabase):
|
|||||||
if callable(getattr(data, 'save', None)):
|
if callable(getattr(data, 'save', None)):
|
||||||
data.save(path)
|
data.save(path)
|
||||||
else:
|
else:
|
||||||
if not QCoreApplication.instance():
|
f = data
|
||||||
global __app
|
if not callable(getattr(data, 'read', None)):
|
||||||
__app = QApplication([])
|
f = cStringIO.StringIO(data)
|
||||||
p = QImage()
|
im = PILImage.open(f)
|
||||||
if callable(getattr(data, 'read', None)):
|
im.convert('RGB').save(path, 'JPEG')
|
||||||
data = data.read()
|
|
||||||
p.loadFromData(data)
|
|
||||||
p.save(path)
|
|
||||||
|
|
||||||
def all_formats(self):
|
def all_formats(self):
|
||||||
formats = self.conn.get('SELECT format from data')
|
formats = self.conn.get('SELECT format from data')
|
||||||
@ -1528,6 +1531,7 @@ class LibraryDatabase2(LibraryDatabase):
|
|||||||
return data
|
return data
|
||||||
|
|
||||||
def migrate_old(self, db, progress):
|
def migrate_old(self, db, progress):
|
||||||
|
from PyQt4.QtCore import QCoreApplication
|
||||||
header = _(u'<p>Migrating old database to ebook library in %s<br><center>')%self.library_path
|
header = _(u'<p>Migrating old database to ebook library in %s<br><center>')%self.library_path
|
||||||
progress.setValue(0)
|
progress.setValue(0)
|
||||||
progress.setLabelText(header)
|
progress.setLabelText(header)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user