From 786729fa6f3dc35b01c792ab271fe3a925bed9fd Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sat, 1 Sep 2012 12:02:19 +0530 Subject: [PATCH] ... --- src/calibre/devices/mtp/books.py | 4 +++- src/calibre/devices/mtp/driver.py | 10 ++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/calibre/devices/mtp/books.py b/src/calibre/devices/mtp/books.py index c02923702e..2179c49a8a 100644 --- a/src/calibre/devices/mtp/books.py +++ b/src/calibre/devices/mtp/books.py @@ -12,6 +12,7 @@ import os from calibre.devices.interface import BookList as BL from calibre.ebooks.metadata.book.base import Metadata from calibre.ebooks.metadata.book.json_codec import JsonCodec +from calibre.utils.date import utcnow class BookList(BL): @@ -26,8 +27,9 @@ class Book(Metadata): def __init__(self, storage_id, lpath, other=None): Metadata.__init__(self, _('Unknown'), other=other) self.storage_id, self.lpath = storage_id, lpath - self.lpath = self.lpath.replace(os.sep, '/') + self.lpath = self.path = self.lpath.replace(os.sep, '/') self.mtp_relpath = tuple([icu_lower(x) for x in self.lpath.split('/')]) + self.datetime = utcnow().timetuple() def matches_file(self, mtp_file): return (self.storage_id == mtp_file.storage_id and diff --git a/src/calibre/devices/mtp/driver.py b/src/calibre/devices/mtp/driver.py index 72e8df9df8..385914a9c9 100644 --- a/src/calibre/devices/mtp/driver.py +++ b/src/calibre/devices/mtp/driver.py @@ -183,6 +183,16 @@ class MTP_DEVICE(BASE): size = stream.tell() stream.seek(0) self.put_file(storage, self.METADATA_CACHE, stream, size) + + def sync_booklists(self, booklists, end_session=True): + for bl in booklists: + if getattr(bl, 'storage_id', None) is None: + continue + storage = self.filesystem_cache.storage(bl.storage_id) + if storage is None: + continue + self.write_metadata_cache(storage, bl) + # }}} def create_upload_path(self, path, mdata, fname):