95 return keys |
95 return keys |
96 |
96 |
97 def init(self, schema, check=True): |
97 def init(self, schema, check=True): |
98 # XXX check existing keys against schema |
98 # XXX check existing keys against schema |
99 if check: |
99 if check: |
100 for (stype, rtype, otype, tagged), value in self._tagdefs.items(): |
100 for (stype, rtype, otype, tagged), value in list(self._tagdefs.items()): |
101 for ertype in (stype, rtype, otype): |
101 for ertype in (stype, rtype, otype): |
102 if ertype != '*' and not ertype in schema: |
102 if ertype != '*' and not ertype in schema: |
103 self.warning('removing rtag %s: %s, %s undefined in schema', |
103 self.warning('removing rtag %s: %s, %s undefined in schema', |
104 (stype, rtype, otype, tagged), value, ertype) |
104 (stype, rtype, otype, tagged), value, ertype) |
105 self.del_rtag(stype, rtype, otype, tagged) |
105 self.del_rtag(stype, rtype, otype, tagged) |