rtags.py
branchtls-sprint
changeset 1752 4b0b912ff5b7
parent 1748 aa1806e76699
child 1769 fb91d2b8a441
equal deleted inserted replaced
1751:59e9a4f5bfea 1752:4b0b912ff5b7
     8 
     8 
     9 import logging
     9 import logging
    10 
    10 
    11 from logilab.common.logging_ext import set_log_methods
    11 from logilab.common.logging_ext import set_log_methods
    12 
    12 
       
    13 RTAGS = []
       
    14 def register_rtag(rtag):
       
    15     RTAGS.append(rtag)
    13 
    16 
    14 class RelationTags(object):
    17 class RelationTags(object):
    15     """a tag store for full relation definitions :
    18     """a tag store for full relation definitions :
    16 
    19 
    17          (subject type, relation type, object type, tagged)
    20          (subject type, relation type, object type, tagged)
    24     def __init__(self, initfunc=None, allowed_values=None):
    27     def __init__(self, initfunc=None, allowed_values=None):
    25         self._tagdefs = {}
    28         self._tagdefs = {}
    26         if allowed_values is not None:
    29         if allowed_values is not None:
    27             self._allowed_values = allowed_values
    30             self._allowed_values = allowed_values
    28         self._initfunc = initfunc
    31         self._initfunc = initfunc
    29 
    32         register_rtag(self)
       
    33         
    30     def __repr__(self):
    34     def __repr__(self):
    31         return repr(self._tagdefs)
    35         return repr(self._tagdefs)
    32 
    36 
    33     # dict compat
    37     # dict compat
    34     def __getitem__(self, key):
    38     def __getitem__(self, key):