Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSascha Silbe <sascha@silbe.org>2009-07-22 16:56:32 (GMT)
committer Sascha Silbe <sascha@silbe.org>2009-08-17 11:24:08 (GMT)
commitdee44acbb76fd9e5b3226646bbf5c041f8890497 (patch)
tree5d674ae6a1d03c11ab3b70e8cf9874e64007e8b6
parent1dd650d774dc3d6797934e3ca479b5e81ee0cd8f (diff)
use sugar.logger.trace() instead of carquinyol.trace()onlyversions
-rw-r--r--src/carquinyol/__init__.py59
-rw-r--r--src/carquinyol/datastore.py14
2 files changed, 7 insertions, 66 deletions
diff --git a/src/carquinyol/__init__.py b/src/carquinyol/__init__.py
index cc8d7eb..8b13789 100644
--- a/src/carquinyol/__init__.py
+++ b/src/carquinyol/__init__.py
@@ -1,60 +1 @@
-import logging
-import decorator
-
-
-def filter_maxsize(val, maxsize_list, maxsize_dict, maxsize_string) :
- if isinstance(val, (list, tuple)) :
- if len(val) > maxsize_list :
- return "[...]"
-
- return [filter_maxsize(child, maxsize_list, maxsize_dict, maxsize_string)
- for child in val]
-
- elif isinstance(val, dict) :
- if len(val) > maxsize_dict :
- return "{...}"
-
- return dict([
- (key, filter_maxsize(child, maxsize_list, maxsize_dict, maxsize_string))
- for (key, child) in val.items()])
-
- elif isinstance(val, (basestring, buffer)) :
- if len(val) > maxsize_string :
- return "'...'"
-
- return val
-
- else :
- val = repr(val)
- if len(val) > maxsize_string :
- return "<...>"
-
- return val
-
-
-TRACE=9
-logging.addLevelName(TRACE, 'TRACE')
-
-# TODO: lazy evaluation of parameters
-def trace(skip_args=[], skip_kwargs=[], maxsize_list=30, maxsize_dict=30, maxsize_string=300) :
- def _trace(f, *args, **kwargs) :
- params_formatted = ", ".join(
- [repr(filter_maxsize(a, maxsize_list, maxsize_dict, maxsize_string))
- for (idx, a) in enumerate(args) if idx not in skip_args]+\
- ['%s=%r' % (k,filter_maxsize(v, maxsize_list, maxsize_dict, maxsize_string))
- for (k,v) in kwargs.items() if k not in skip_kwargs])
-
- logging.log(TRACE, "%s(%s) invoked", f.__name__, params_formatted)
-
- try :
- res=f(*args, **kwargs)
- except :
- logging.exception("Exception occured in %s", f.__name__)
- raise
-
- logging.log(TRACE, "%s(%s) returned %r", f.__name__, params_formatted,
- filter_maxsize(res, maxsize_list, maxsize_dict, maxsize_string))
- return res
-
- return decorator.decorator(_trace)
diff --git a/src/carquinyol/datastore.py b/src/carquinyol/datastore.py
index 60cf94c..86757aa 100644
--- a/src/carquinyol/datastore.py
+++ b/src/carquinyol/datastore.py
@@ -27,8 +27,8 @@ import gobject
from sugar import mime
import sugar.datastore
+from sugar.logger import trace
-from carquinyol import trace
from carquinyol import layoutmanager
from carquinyol import migration
from carquinyol.layoutmanager import MAX_QUERY_LIMIT
@@ -120,7 +120,7 @@ class DataStore(dbus.service.Object):
in_signature='ssa{sv}sb',
out_signature='ss',
byte_arrays=True)
- @trace()
+ @trace(logger=logger)
def save(self, tree_id, parent_id, metadata, path, delete_after):
return self._save(tree_id, parent_id, metadata, path, delete_after)
@@ -163,7 +163,7 @@ class DataStore(dbus.service.Object):
return (tree_id, child_id)
- @trace()
+ @trace(logger=logger)
def _save_completion_cb(self, tree_id, parent_id, child_id, exc=None):
if exc is not None:
logging.error("Error during saving of entry (%r,%r,%r):\n%s" % (
@@ -184,7 +184,7 @@ class DataStore(dbus.service.Object):
in_signature='ssa{sv}',
out_signature='',
byte_arrays=True)
- @trace()
+ @trace(logger=logger)
def change_metadata(self, tree_id, version_id, metadata) :
# TODO: copy docstring from datastore-redesign.html
self._metadata_store.store(tree_id, version_id, metadata)
@@ -199,7 +199,7 @@ class DataStore(dbus.service.Object):
in_signature='a{sv}a{sv}',
out_signature='aa{sv}u',
byte_arrays=True)
- @trace()
+ @trace(logger=logger)
def find(self, query, options):
return self._find(query, options)
@@ -207,7 +207,7 @@ class DataStore(dbus.service.Object):
in_signature='sa{sv}a{sv}',
out_signature='aa{sv}u',
byte_arrays=True)
- @trace()
+ @trace(logger=logger)
def textsearch(self, querystring, query, options) :
return self._find(query, options, querystring)
@@ -259,7 +259,7 @@ class DataStore(dbus.service.Object):
out_signature='s',
sender_keyword='sender',
byte_arrays=True)
- @trace()
+ @trace(logger=logger)
def get_data(self, tree_id, version_id, sender=None):
# TODO: copy docstring from datastore-redesign.html
user_id = dbus.Bus().get_unix_user(sender)