Package common :: Module registry :: Class traced_selection
[frames] | no frames]

Class traced_selection

source code

object --+
         |
        traced_selection


Typical usage is :

.. sourcecode:: python

    >>> from logilab.common.registry import traced_selection
    >>> with traced_selection():
    ...     # some code in which you want to debug selectors
    ...     # for all objects

Don't forget the 'from __future__ import with_statement' at the module top-level
if you're using python prior to 2.6.

This will yield lines like this in the logs::

    selector one_line_rset returned 0 for <class 'elephant.Babar'>

You can also give to :class:`traced_selection` the identifiers of objects on
which you want to debug selection ('oid1' and 'oid2' in the example above).

.. sourcecode:: python

    >>> with traced_selection( ('regid1', 'regid2') ):
    ...     # some code in which you want to debug selectors
    ...     # for objects with __regid__ 'regid1' and 'regid2'

A potentially useful point to set up such a tracing function is
the `logilab.common.registry.Registry.select` method body.

Instance Methods
 
__init__(self, traced='all')
x.__init__(...) initializes x; see help(type(x)) for signature
source code
 
__enter__(self) source code
 
__exit__(self, exctype, exc, traceback) source code

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __str__, __subclasshook__

Properties

Inherited from object: __class__

Method Details

__init__(self, traced='all')
(Constructor)

source code 

x.__init__(...) initializes x; see help(type(x)) for signature

Overrides: object.__init__
(inherited documentation)