diff options
-rw-r--r-- | src/lib/Server/Core.py | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/lib/Server/Core.py b/src/lib/Server/Core.py index 448471781..4c619b7a9 100644 --- a/src/lib/Server/Core.py +++ b/src/lib/Server/Core.py @@ -278,8 +278,11 @@ class Core(object): return glist[0].Entries[entry.tag][entry.get('name')](entry, metadata) elif len(glist) > 1: generators = ", ".join([gen.__name__ for gen in glist]) - logger.error("%s %s served by multiple generators: %s" % (entry.tag, - entry.get('name'), generators)) + logger.error("%s %s served by multiple generators: %s" % \ + (entry.tag, entry.get('name'), generators)) + g2list = [gen for gen in self.generators if gen.HandlesEntry(entry)] + if len(g2list) == 1: + return g2list[0].HandleEntry(entry, metadata) raise PluginExecutionError, (entry.tag, entry.get('name')) def BuildConfiguration(self, client): |