Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/src/carquinyol/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/carquinyol/__init__.py')
-rw-r--r--src/carquinyol/__init__.py59
1 files changed, 0 insertions, 59 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)