]> git.ipfire.org Git - people/ms/pakfire.git/commitdiff
Improve inheritance of lexers.
authorMichael Tremer <michael.tremer@ipfire.org>
Wed, 21 Dec 2011 23:15:58 +0000 (00:15 +0100)
committerMichael Tremer <michael.tremer@ipfire.org>
Wed, 21 Dec 2011 23:15:58 +0000 (00:15 +0100)
python/pakfire/packages/lexer.py

index 66811d5a9ec43b3234087ecad3916f7c54e43b34..1fc803a95e479e5bd3baeba0bd3165487f57214b 100644 (file)
@@ -117,7 +117,14 @@ class Lexer(object):
 
        @property
        def definitions(self):
-               return self._definitions
+               definitions = {}
+
+               if self.parent:
+                       definitions.update(self.parent.definitions)
+
+               definitions.update(self._definitions)
+
+               return definitions
 
        @classmethod
        def open(cls, filename, *args, **kwargs):
@@ -586,16 +593,6 @@ class TemplateLexer(DefaultLexer):
                # Inherit all scriptlets.
                self.scriptlets.update(other.scriptlets)
 
-       @property
-       def definitions(self):
-               definitions = {}
-
-               assert self.parent
-               definitions.update(self.parent.definitions)
-               definitions.update(self._definitions)
-
-               return definitions
-
        def get_parsers(self):
                return [
                        (LEXER_SCRIPTLET_BEGIN, self.parse_scriptlet),