From c0aee6772dc23a6e411c341f2b16ddb377c70df8 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 12 Sep 2012 14:50:59 +0530 Subject: [PATCH] ... --- src/calibre/devices/mtp/unix/driver.py | 7 +++++-- src/calibre/devices/mtp/windows/driver.py | 5 ++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/calibre/devices/mtp/unix/driver.py b/src/calibre/devices/mtp/unix/driver.py index 31f886b875..6e5d91c0a0 100644 --- a/src/calibre/devices/mtp/unix/driver.py +++ b/src/calibre/devices/mtp/unix/driver.py @@ -7,7 +7,7 @@ __license__ = 'GPL v3' __copyright__ = '2012, Kovid Goyal ' __docformat__ = 'restructuredtext en' -import operator, traceback, pprint, sys +import operator, traceback, pprint, sys, time from threading import RLock from collections import namedtuple from functools import partial @@ -16,7 +16,7 @@ from calibre import prints, as_unicode from calibre.constants import plugins from calibre.ptempfile import SpooledTemporaryFile from calibre.devices.errors import OpenFailed, DeviceError, BlacklistedDevice -from calibre.devices.mtp.base import MTPDeviceBase, synchronous +from calibre.devices.mtp.base import MTPDeviceBase, synchronous, debug MTPDevice = namedtuple('MTPDevice', 'busnum devnum vendor_id product_id ' 'bcd serial manufacturer product') @@ -193,6 +193,8 @@ class MTP_DEVICE(MTPDeviceBase): @property def filesystem_cache(self): if self._filesystem_cache is None: + st = time.time() + debug('Loading filesystem metadata...') from calibre.devices.mtp.filesystem_cache import FilesystemCache with self.lock: storage, all_items, all_errs = [], [], [] @@ -220,6 +222,7 @@ class MTP_DEVICE(MTPDeviceBase): self.current_friendly_name, self.format_errorstack(all_errs))) self._filesystem_cache = FilesystemCache(storage, all_items) + debug('Filesystem metadata loaded in %g seconds'%(time.time()-st)) return self._filesystem_cache @synchronous diff --git a/src/calibre/devices/mtp/windows/driver.py b/src/calibre/devices/mtp/windows/driver.py index 50638496d1..3290115028 100644 --- a/src/calibre/devices/mtp/windows/driver.py +++ b/src/calibre/devices/mtp/windows/driver.py @@ -16,7 +16,7 @@ from calibre import as_unicode, prints from calibre.constants import plugins, __appname__, numeric_version from calibre.ptempfile import SpooledTemporaryFile from calibre.devices.errors import OpenFailed, DeviceError, BlacklistedDevice -from calibre.devices.mtp.base import MTPDeviceBase +from calibre.devices.mtp.base import MTPDeviceBase, debug class ThreadingViolation(Exception): @@ -199,6 +199,8 @@ class MTP_DEVICE(MTPDeviceBase): @property def filesystem_cache(self): if self._filesystem_cache is None: + debug('Loading filesystem metadata...') + st = time.time() from calibre.devices.mtp.filesystem_cache import FilesystemCache ts = self.total_space() all_storage = [] @@ -218,6 +220,7 @@ class MTP_DEVICE(MTPDeviceBase): all_storage.append(storage) items.append(id_map.itervalues()) self._filesystem_cache = FilesystemCache(all_storage, chain(*items)) + debug('Filesystem metadata loaded in %g seconds'%(time.time()-st)) return self._filesystem_cache @same_thread