From 30763035bb7dbcbf1a5adcf70ff915af8f950b85 Mon Sep 17 00:00:00 2001 From: Chris McDonough Date: Wed, 10 Aug 2011 01:21:40 -0400 Subject: simplify aliasing logic a bit (thanks raydeo) --- pyramid/tests/test_tweens.py | 14 +++++++------- pyramid/tweens.py | 9 ++++----- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/pyramid/tests/test_tweens.py b/pyramid/tests/test_tweens.py index 20a64908e..54297cb81 100644 --- a/pyramid/tests/test_tweens.py +++ b/pyramid/tests/test_tweens.py @@ -22,16 +22,16 @@ class TestTweens(unittest.TestCase): self.assertEqual(tweens.names, ['name']) self.assertEqual(tweens.factories, {'name':'factory'}) - self.assertEqual(tweens.alias_to_name, D) - self.assertEqual(tweens.name_to_alias, D) + self.assertEqual(tweens.alias_to_name['name'], 'name') + self.assertEqual(tweens.name_to_alias['name'], 'name') self.assertEqual(tweens.order, [(INGRESS, 'name')]) self.assertEqual(tweens.ingress_alias_names, ['name']) tweens.add_implicit('name2', 'factory2') self.assertEqual(tweens.names, ['name', 'name2']) self.assertEqual(tweens.factories, {'name':'factory', 'name2':'factory2'}) - self.assertEqual(tweens.alias_to_name, D) - self.assertEqual(tweens.name_to_alias, D) + self.assertEqual(tweens.alias_to_name['name2'], 'name2') + self.assertEqual(tweens.name_to_alias['name2'], 'name2') self.assertEqual(tweens.order, [(INGRESS, 'name'), (INGRESS, 'name2')]) self.assertEqual(tweens.ingress_alias_names, ['name', 'name2']) @@ -41,8 +41,8 @@ class TestTweens(unittest.TestCase): self.assertEqual(tweens.factories, {'name':'factory', 'name2':'factory2', 'name3':'factory3'}) - self.assertEqual(tweens.alias_to_name, D) - self.assertEqual(tweens.name_to_alias, D) + self.assertEqual(tweens.alias_to_name['name3'], 'name3') + self.assertEqual(tweens.name_to_alias['name3'], 'name3') self.assertEqual(tweens.order, [(INGRESS, 'name'), (INGRESS, 'name2'), ('name3', 'name2')]) @@ -108,7 +108,7 @@ class TestTweens(unittest.TestCase): return handler def factory2(handler, registry): return '123' - tweens.names = ['foo1', 'foo2'] + tweens.names = ['name', 'name2'] tweens.alias_to_name = {'foo1':'name', 'foo2':'name2'} tweens.name_to_alias = {'name':'foo1', 'name2':'foo2'} tweens.factories = {'name':factory1, 'name2':factory2} diff --git a/pyramid/tweens.py b/pyramid/tweens.py index 9a7d432dc..a9426c456 100644 --- a/pyramid/tweens.py +++ b/pyramid/tweens.py @@ -72,11 +72,10 @@ class Tweens(object): self.explicit.append((name, factory)) def add_implicit(self, name, factory, alias=None, under=None, over=None): - if alias is not None: - self.alias_to_name[alias] = name - self.name_to_alias[name] = alias - else: + if alias is None: alias = name + self.alias_to_name[alias] = name + self.name_to_alias[name] = alias self.names.append(name) self.factories[name] = factory if under is None and over is None: @@ -96,7 +95,7 @@ class Tweens(object): ingress_alias_names = self.ingress_alias_names[:] for name in self.names: - aliases.append(self.name_to_alias.get(name, name)) + aliases.append(self.name_to_alias[name]) for a, b in self.order: # try to convert both a and b to an alias -- cgit v1.2.3