diff options
Diffstat (limited to 'qface/generator.py')
-rw-r--r-- | qface/generator.py | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/qface/generator.py b/qface/generator.py index e65ad15..1e1da41 100644 --- a/qface/generator.py +++ b/qface/generator.py @@ -238,9 +238,11 @@ class RuleGenerator(Generator): self.context.update(rule.get('context', {})) self.destination = rule.get('destination', None) self.source = rule.get('source', None) - for target, source in rule.get('documents', {}).items(): + for entry in rule.get('documents', []): + target, source = self._resolve_rule_document(entry) self.write(target, source) - for target, source in rule.get('preserve', {}).items(): + for entry in rule.get('preserve', []): + target, source = self._resolve_rule_document(entry) self.write(target, source, preserve=True) def _shall_proceed(self, obj): @@ -252,6 +254,11 @@ class RuleGenerator(Generator): result = self.features.intersection(set(conditions)) return bool(len(result)) + def _resolve_rule_document(self, entry): + if type(entry) is dict: + return next(iter(entry.items())) + return (entry, entry) + class FileSystem(object): """QFace helper functions to work with the file system""" |