From 01be1fcee1fd3f5de85f7095f459cbddafe99b3f Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sat, 19 Mar 2011 10:10:56 -0600 Subject: [PATCH 1/4] ... --- src/calibre/web/feeds/recipes/model.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/calibre/web/feeds/recipes/model.py b/src/calibre/web/feeds/recipes/model.py index 712f37c5bf..2de674cc15 100644 --- a/src/calibre/web/feeds/recipes/model.py +++ b/src/calibre/web/feeds/recipes/model.py @@ -140,8 +140,8 @@ class RecipeModel(QAbstractItemModel, SearchQueryParser): self.scheduler_config = SchedulerConfig() try: with zipfile.ZipFile(P('builtin_recipes.zip'), 'r') as zf: - self.favicons = dict([(x, zf.getinfo(x)) for x in zf.namelist() if - x.endswith('.png')]) + self.favicons = dict([(x.filename, x) for x in zf.infolist() if + x.filename.endswith('.png')]) except: self.favicons = {} self.do_refresh() From 54a21b4d48fd69c9e4ba90117960d3da5a2a956f Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sat, 19 Mar 2011 10:27:16 -0600 Subject: [PATCH 2/4] Fix Find button above tag browser too small --- src/calibre/gui2/tag_view.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/calibre/gui2/tag_view.py b/src/calibre/gui2/tag_view.py index dd8c81d819..61727a9247 100644 --- a/src/calibre/gui2/tag_view.py +++ b/src/calibre/gui2/tag_view.py @@ -16,7 +16,7 @@ from PyQt4.Qt import Qt, QTreeView, QApplication, pyqtSignal, QFont, QSize, \ QIcon, QPoint, QVBoxLayout, QHBoxLayout, QComboBox, QTimer,\ QAbstractItemModel, QVariant, QModelIndex, QMenu, QFrame,\ QPushButton, QWidget, QItemDelegate, QString, QLabel, \ - QShortcut, QKeySequence, SIGNAL, QMimeData + QShortcut, QKeySequence, SIGNAL, QMimeData, QSizePolicy from calibre.ebooks.metadata import title_sort from calibre.gui2 import config, NONE, gprefs @@ -2061,7 +2061,8 @@ class TagBrowserWidget(QWidget): # {{{ self.search_button = QPushButton() self.search_button.setText(_('F&ind')) self.search_button.setToolTip(_('Find the first/next matching item')) - self.search_button.setFixedWidth(40) + self.search_button.setSizePolicy(QSizePolicy(QSizePolicy.Minimum, + QSizePolicy.Minimum)) search_layout.addWidget(self.search_button) self.expand_button = QPushButton() @@ -2069,6 +2070,9 @@ class TagBrowserWidget(QWidget): # {{{ self.expand_button.setFixedWidth(20) self.expand_button.setToolTip(_('Collapse all categories')) search_layout.addWidget(self.expand_button) + search_layout.setStretch(0, 10) + search_layout.setStretch(1, 1) + search_layout.setStretch(2, 1) self.current_find_position = None self.search_button.clicked.connect(self.find) From 0e3f09968b8276a84cc1b6c51b2043660c5d9259 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sat, 19 Mar 2011 10:30:46 -0600 Subject: [PATCH 3/4] Fix #9449 (Viewer failure on Mobipocket ebook) --- src/calibre/ebooks/metadata/opf2.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/calibre/ebooks/metadata/opf2.py b/src/calibre/ebooks/metadata/opf2.py index 6af4f79cbb..d360451e2e 100644 --- a/src/calibre/ebooks/metadata/opf2.py +++ b/src/calibre/ebooks/metadata/opf2.py @@ -21,6 +21,7 @@ from calibre.ebooks.metadata.book.base import Metadata from calibre.utils.date import parse_date, isoformat from calibre.utils.localization import get_lang from calibre import prints +from calibre.utils.cleantext import clean_ascii_chars class Resource(object): # {{{ ''' @@ -1157,7 +1158,7 @@ class OPFCreator(Metadata): def DC_ELEM(tag, text, dc_attrs={}, opf_attrs={}): if text: - elem = getattr(DC, tag)(text, **dc_attrs) + elem = getattr(DC, tag)(clean_ascii_chars(text), **dc_attrs) else: elem = getattr(DC, tag)(**dc_attrs) for k, v in opf_attrs.items(): @@ -1260,7 +1261,6 @@ def metadata_to_opf(mi, as_string=True): from lxml import etree import textwrap from calibre.ebooks.oeb.base import OPF, DC - from calibre.utils.cleantext import clean_ascii_chars if not mi.application_id: mi.application_id = str(uuid.uuid4()) From 39333edbc306d5c39de76d8d62fa5ebf571bdfd4 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sat, 19 Mar 2011 10:56:00 -0600 Subject: [PATCH 4/4] Fix commas in author names being converted to pipe symbols in the book details window --- src/calibre/gui2/library/models.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/calibre/gui2/library/models.py b/src/calibre/gui2/library/models.py index c5b13901ae..a200562ea9 100644 --- a/src/calibre/gui2/library/models.py +++ b/src/calibre/gui2/library/models.py @@ -428,7 +428,7 @@ class BooksModel(QAbstractTableModel): # {{{ au = self.db.authors(row) if not au: au = _('Unknown') - au = ', '.join([a.strip() for a in au.split(',')]) + au = authors_to_string([a.strip().replace('|', ',') for a in au.split(',')]) data[_('Author(s)')] = au return data