equal
deleted
inserted
replaced
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): |