From 101d6a37ce7c727b3f2b22ceebf28a702eea3492 Mon Sep 17 00:00:00 2001 From: Sergei Trofimov Date: Mon, 27 Apr 2015 11:57:34 +0100 Subject: [PATCH] Fix: correctly handle non-identifier alias names Update ExtensionLoader to index aliases by their identifier'd name. --- wlauto/core/extension_loader.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/wlauto/core/extension_loader.py b/wlauto/core/extension_loader.py index e82260e1..980e221b 100644 --- a/wlauto/core/extension_loader.py +++ b/wlauto/core/extension_loader.py @@ -374,9 +374,10 @@ class ExtensionLoader(object): store = self._get_store(ext) store[key] = obj for alias in obj.aliases: - if alias in self.extensions or alias in self.aliases: + alias_id = identifier(alias.name) + if alias_id in self.extensions or alias_id in self.aliases: raise LoaderError('{} {} already exists.'.format(ext.name, obj.name)) - self.aliases[alias.name] = alias + self.aliases[alias_id] = alias # Update global aliases list. If a global alias is already in the list, # then make sure this extension is in the same parent/child hierarchy