diff options
-rw-r--r-- | src/carquinyol/__init__.py | 13 | ||||
-rw-r--r-- | src/carquinyol/datastore.py | 16 |
2 files changed, 18 insertions, 11 deletions
diff --git a/src/carquinyol/__init__.py b/src/carquinyol/__init__.py index d53da54..68d961b 100644 --- a/src/carquinyol/__init__.py +++ b/src/carquinyol/__init__.py @@ -1,8 +1,15 @@ import logging import decorator -@decorator.decorator -def trace(f, *args, **kwargs) : - logging.debug("%s(%s)" % (f.__name__, ", ".join([repr(a) for a in args]+['%s=%r' % (k,v) for (k,v) in kwargs.items()]))), +# TODO: skip positional arguments by name as well +def trace(skip_args=[], skip_kwargs=[]) : + def _trace(f, *args, **kwargs) : + logging.debug("%s(%s)" % (f.__name__, + ", ".join( + [repr(a) for (idx, a) in enumerate(args) if idx not in skip_args]+\ + ['%s=%r' % (k,v) for (k,v) in kwargs.items() if k not in skip_kwargs]))) + return f(*args, **kwargs) + return decorator.decorator(_trace) + diff --git a/src/carquinyol/datastore.py b/src/carquinyol/datastore.py index 9b66ccd..1fd17eb 100644 --- a/src/carquinyol/datastore.py +++ b/src/carquinyol/datastore.py @@ -115,7 +115,7 @@ class DataStore(dbus.service.Object): else: return True - @trace + @trace() def _create_completion_cb(self, async_cb, async_err_cb, uid, vid, exc=None): if exc is not None: async_err_cb(exc) @@ -154,7 +154,7 @@ class DataStore(dbus.service.Object): def Created(self, uid, vid): pass - @trace + @trace() def _update_completion_cb(self, async_cb, async_err_cb, uid, vid, exc=None): if exc is not None: async_err_cb(exc) @@ -170,7 +170,7 @@ class DataStore(dbus.service.Object): out_signature='ss', async_callbacks=('async_cb', 'async_err_cb'), byte_arrays=True) - @trace + @trace(skip_args=[3], skip_kwargs=["props"]) # "preview" metadata will clutter logfile otherwise def update(self, uid, vid, props, file_path, transfer_ownership, async_cb, async_err_cb): @@ -203,7 +203,7 @@ class DataStore(dbus.service.Object): @dbus.service.method(DS_DBUS_INTERFACE, in_signature='a{sv}as', out_signature='aa{sv}u') - @trace + @trace() def find(self, query, properties): uvids = None if layoutmanager.get_instance().index_updated: @@ -237,11 +237,11 @@ class DataStore(dbus.service.Object): return self._find_all(query, properties) + entries = [] + for (uid,vid) in uvids: metadata = self._metadata_store.retrieve(uid, vid, properties) entries.append(metadata) - logger.debug('find(): %r' % (time.time() - t)) - return entries, count def _find_all(self, query, properties): @@ -271,7 +271,7 @@ class DataStore(dbus.service.Object): in_signature='ss', out_signature='s', sender_keyword='sender') - @trace + @trace() def get_filename(self, uid, vid, sender=None): user_id = dbus.Bus().get_unix_user(sender) extension = self._get_extension(uid,vid) @@ -286,7 +286,7 @@ class DataStore(dbus.service.Object): @dbus.service.method(DS_DBUS_INTERFACE, in_signature='ss', out_signature='a{sv}') - @trace + @trace() def get_properties(self, uid, vid): metadata = self._metadata_store.retrieve(uid,vid) return metadata |