Fix #756807 (unhandled exception when creating catalogs in EPUB or MOBI format)

This commit is contained in:
Kovid Goyal 2011-04-10 13:58:05 -06:00
parent 5556a1604c
commit e35860a2b2
2 changed files with 32 additions and 2 deletions

View File

@ -193,7 +193,10 @@ class PluginWidget(QWidget,Ui_Form):
opts_dict['header_note_source_field'] = self.header_note_source_field_name
# Append the output profile
try:
opts_dict['output_profile'] = [load_defaults('page_setup')['output_profile']]
except:
opts_dict['output_profile'] = ['default']
if False:
print "opts_dict"
for opt in sorted(opts_dict.keys()):

View File

@ -9,7 +9,7 @@ __docformat__ = 'restructuredtext en'
from operator import attrgetter
from PyQt4.Qt import (QAbstractTableModel, Qt)
from PyQt4.Qt import (QAbstractTableModel, Qt, QAbstractListModel)
from calibre.gui2.preferences import ConfigWidgetBase, test_widget
from calibre.gui2.preferences.metadata_sources_ui import Ui_Form
@ -125,6 +125,29 @@ class SourcesModel(QAbstractTableModel): # {{{
# }}}
class FieldsModel(QAbstractListModel): # {{{
def __init__(self, parent=None):
QAbstractTableModel.__init__(self, parent)
self.fields = []
def rowCount(self, parent=None):
return len(self.fields)
def initialize(self):
fields = set()
for p in all_metadata_plugins():
fields |= p.touched_fields
self.fields = []
for x in fields:
if not x.startswith('identifiers:'):
self.fields.append(x)
self.reset()
# }}}
class ConfigWidget(ConfigWidgetBase, Ui_Form):
def genesis(self, gui):
@ -139,6 +162,10 @@ class ConfigWidget(ConfigWidgetBase, Ui_Form):
self.sources_view.setModel(self.sources_model)
self.sources_model.dataChanged.connect(self.changed_signal)
self.fields_model = FieldsModel(self)
self.fields_view.setModel(self.fields_model)
self.fields_model.dataChanged.connect(self.changed_signal)
def configure_plugin(self):
pass