Merge from trunk

This commit is contained in:
Charles Haley 2011-05-06 15:34:55 +01:00
commit 2bc30f891c
4 changed files with 18 additions and 14 deletions

View File

@ -506,7 +506,7 @@ class ITUNES(DriverBase):
if self.iTunes:
# Check for connected book-capable device
self.sources = self._get_sources()
if 'iPod' in self.sources:
if 'iPod' in self.sources and not self.ejected:
#if DEBUG:
#sys.stdout.write('.')
#sys.stdout.flush()
@ -2036,16 +2036,17 @@ class ITUNES(DriverBase):
if 'iPod' in self.sources:
connected_device = self.sources['iPod']
device = self.iTunes.sources[connected_device]
dev_books = None
for pl in device.playlists():
if pl.special_kind() == appscript.k.Books:
if DEBUG:
self.log.info(" Book playlist: '%s'" % (pl.name()))
books = pl.file_tracks()
dev_books = pl.file_tracks()
break
else:
self.log.error(" book_playlist not found")
for book in books:
for book in dev_books:
# This may need additional entries for international iTunes users
if book.kind() in self.Audiobooks:
if DEBUG:

View File

@ -4,12 +4,12 @@ __docformat__ = 'restructuredtext en'
__license__ = 'GPL v3'
from PyQt4.Qt import (Qt, QDialog, QTableWidgetItem, QAbstractItemView, QIcon,
QString, QDialogButtonBox, QFrame, QLabel, QTimer)
QDialogButtonBox, QFrame, QLabel, QTimer)
from calibre.ebooks.metadata import author_to_author_sort
from calibre.gui2 import error_dialog
from calibre.gui2.dialogs.edit_authors_dialog_ui import Ui_EditAuthorsDialog
from calibre.utils.icu import sort_key, strcmp
from calibre.utils.icu import sort_key
class tableItem(QTableWidgetItem):
def __ge__(self, other):

View File

@ -8,7 +8,6 @@ __copyright__ = '2011, Kovid Goyal <kovid@kovidgoyal.net>'
__docformat__ = 'restructuredtext en'
import textwrap, re, os
from functools import partial
from PyQt4.Qt import (Qt, QDateEdit, QDate, pyqtSignal, QMessageBox,
QIcon, QToolButton, QWidget, QLabel, QGridLayout,
@ -23,7 +22,7 @@ from calibre.ebooks.metadata import (title_sort, authors_to_string,
string_to_authors, check_isbn)
from calibre.ebooks.metadata.meta import get_metadata
from calibre.gui2 import (file_icon_provider, UNDEFINED_QDATE, UNDEFINED_DATE,
choose_files, error_dialog, choose_images, question_dialog)
choose_files, error_dialog, choose_images)
from calibre.utils.date import local_tz, qt_to_dt
from calibre import strftime
from calibre.ebooks import BOOK_EXTENSIONS
@ -192,8 +191,8 @@ class AuthorsEdit(MultiCompleteComboBox):
else:
self.current_val = self.original_val
first_author = self.current_val[0] if len(self.current_val) else None
self.dialog.parent().do_author_sort_edit(self,
self.db.get_author_id(first_author),
first_author_id = self.db.get_author_id(first_author) if first_author else None
self.dialog.parent().do_author_sort_edit(self, first_author_id,
select_sort=False)
self.initialize(self.db, self.id_)
self.dialog.author_sort.initialize(self.db, self.id_)
@ -273,13 +272,13 @@ class AuthorSortEdit(EnLineEdit):
'No action is required if this is what you want.'))
self.tooltips = (ok_tooltip, bad_tooltip)
self.authors_edit.editTextChanged.connect(partial(self.update_state, True))
self.textChanged.connect(partial(self.update_state, False))
self.authors_edit.editTextChanged.connect(self.update_state_and_val)
self.textChanged.connect(self.update_state)
autogen_button.clicked.connect(self.auto_generate)
copy_a_to_as_action.triggered.connect(self.auto_generate)
copy_as_to_a_action.triggered.connect(self.copy_to_authors)
self.update_state(False)
self.update_state()
@dynamic_property
def current_val(self):
@ -295,12 +294,15 @@ class AuthorSortEdit(EnLineEdit):
return property(fget=fget, fset=fset)
def update_state(self, modify_aus, *args):
def update_state_and_val(self):
au = unicode(self.authors_edit.text())
# Handle case change if the authors box changed
if modify_aus and strcmp(au, self.current_val) == 0:
if strcmp(au, self.current_val) == 0:
self.current_val = au
self.update_state()
def update_state(self, *args):
au = unicode(self.authors_edit.text())
au = re.sub(r'\s+et al\.$', '', au)
au = self.db.author_sort_from_authors(string_to_authors(au))

View File

@ -944,6 +944,7 @@ class EPUB_MOBI(CatalogPlugin):
catalog.createDirectoryStructure()
catalog.copyResources()
catalog.buildSources()
Options managed in gui2.catalog.catalog_epub_mobi.py
'''
# A single number creates 'Last x days' only.