diff --git a/src/calibre/customize/ui.py b/src/calibre/customize/ui.py index 3a2d638aab..70a6e104c3 100644 --- a/src/calibre/customize/ui.py +++ b/src/calibre/customize/ui.py @@ -92,8 +92,7 @@ def restore_plugin_state_to_default(plugin_or_name): config['enabled_plugins'] = ep default_disabled_plugins = set([ - 'Douban Books', 'Douban.com covers', 'Nicebooks', 'Nicebooks covers', - 'Kent District Library' + 'Overdrive', ]) def is_disabled(plugin): diff --git a/src/calibre/ebooks/metadata/sources/overdrive.py b/src/calibre/ebooks/metadata/sources/overdrive.py index ad570a8b28..4ee248579e 100755 --- a/src/calibre/ebooks/metadata/sources/overdrive.py +++ b/src/calibre/ebooks/metadata/sources/overdrive.py @@ -41,7 +41,7 @@ class OverDrive(Source): cached_cover_url_is_reliable = True options = ( - Option('get_full_metadata', 'bool', False, + Option('get_full_metadata', 'bool', True, _('Download all metadata (slow)'), _('Enable this option to gather all metadata available from Overdrive.')), ) diff --git a/src/calibre/ebooks/pdf/input.py b/src/calibre/ebooks/pdf/input.py index 8de3f44d36..51f44ba502 100644 --- a/src/calibre/ebooks/pdf/input.py +++ b/src/calibre/ebooks/pdf/input.py @@ -32,10 +32,11 @@ class PDFInput(InputFormatPlugin): def convert_new(self, stream, accelerators): from calibre.ebooks.pdf.reflow import PDFDocument + from calibre.utils.cleantext import clean_ascii_chars if pdfreflow_err: raise RuntimeError('Failed to load pdfreflow: ' + pdfreflow_err) pdfreflow.reflow(stream.read(), 1, -1) - xml = open('index.xml', 'rb').read() + xml = clean_ascii_chars(open('index.xml', 'rb').read()) PDFDocument(xml, self.opts, self.log) return os.path.join(os.getcwd(), 'metadata.opf') diff --git a/src/calibre/gui2/metadata/basic_widgets.py b/src/calibre/gui2/metadata/basic_widgets.py index b8a5140169..c4282b3654 100644 --- a/src/calibre/gui2/metadata/basic_widgets.py +++ b/src/calibre/gui2/metadata/basic_widgets.py @@ -295,9 +295,8 @@ class AuthorSortEdit(EnLineEdit): return property(fget=fget, fset=fset) def update_state_and_val(self): - au = unicode(self.authors_edit.text()) # Handle case change if the authors box changed - aus = authors_to_sort_string(string_to_authors(au)) + aus = authors_to_sort_string(self.authors_edit.current_val) if strcmp(aus, self.current_val) == 0: self.current_val = aus self.update_state() diff --git a/src/calibre/gui2/metadata/single.py b/src/calibre/gui2/metadata/single.py index 69c7677a2e..f0a05d171f 100644 --- a/src/calibre/gui2/metadata/single.py +++ b/src/calibre/gui2/metadata/single.py @@ -292,13 +292,17 @@ class MetadataSingleDialogBase(ResizableDialog): show=True) return - def update_from_mi(self, mi): + def update_from_mi(self, mi, update_sorts=True): if not mi.is_null('title'): self.title.current_val = mi.title + if update_sorts: + self.title_sort.auto_generate() if not mi.is_null('authors'): self.authors.current_val = mi.authors if not mi.is_null('author_sort'): self.author_sort.current_val = mi.author_sort + elif update_sorts: + self.author_sort.auto_generate() if not mi.is_null('rating'): try: self.rating.current_val = mi.rating