def _lltrace(selector):
 def traced(cls, *args, **kwargs):
  ret = selector(cls, *args, **kwargs)
  if (TRACED_OIDS is not None):
   _trace_selector(cls, selector, args, ret)
  return ret
 traced.__name__ = selector.__name__
 traced.__doc__ = selector.__doc__
 return traced

def _lltrace ( selector ) : def traced ( cls , * args , ** kwargs ) : ret = selector ( cls , * args , ** kwargs ) if ( TRACED_OIDS is not None ) : _trace_selector ( cls , selector , args , ret ) return ret traced . __name__ = selector . __name__ traced . __doc__ = selector . __doc__ return traced
use this decorator on your predicates so they become traceable with :class:traced_selection .