rtags.py
branchstable
changeset 1849 1901fa97f521
parent 1769 fb91d2b8a441
child 1859 b068abd45a1c
equal deleted inserted replaced
1848:981b8dc9e4d0 1849:1901fa97f521
    22     allowing to set tags using wildcard (eg '*') as subject type / object type
    22     allowing to set tags using wildcard (eg '*') as subject type / object type
    23 
    23 
    24     This class associates a single tag to each key.
    24     This class associates a single tag to each key.
    25     """
    25     """
    26     _allowed_values = None
    26     _allowed_values = None
    27     def __init__(self, initfunc=None, allowed_values=None):
    27     def __init__(self, name=None, initfunc=None, allowed_values=None):
       
    28         self._name = name or '<unknown>'
    28         self._tagdefs = {}
    29         self._tagdefs = {}
    29         if allowed_values is not None:
    30         if allowed_values is not None:
    30             self._allowed_values = allowed_values
    31             self._allowed_values = allowed_values
    31         self._initfunc = initfunc
    32         self._initfunc = initfunc
    32         register_rtag(self)
    33         register_rtag(self)
    33 
    34 
    34     def __repr__(self):
    35     def __repr__(self):
    35         return repr(self._tagdefs)
    36         return '%s: %s' % (self._name, repr(self._tagdefs))
    36 
    37 
    37     # dict compat
    38     # dict compat
    38     def __getitem__(self, key):
    39     def __getitem__(self, key):
    39         return self.get(*key)
    40         return self.get(*key)
    40     __contains__ = __getitem__
    41     __contains__ = __getitem__