diff options
author | bbangert <devnull@localhost> | 2006-12-04 19:36:09 +0000 |
---|---|---|
committer | bbangert <devnull@localhost> | 2006-12-04 19:36:09 +0000 |
commit | 6161089542b06bed1e03be548da2ad790b14da77 (patch) | |
tree | 36cb95f4ffb5c5a311fdf0616b5b547a62845ac5 /paste/registry.py | |
parent | 90be33b0920fce6c5b1c29656ccf896da03fb41c (diff) | |
download | paste-6161089542b06bed1e03be548da2ad790b14da77.tar.gz |
Added replace method to registry for replacing registered objects with a new one.
Diffstat (limited to 'paste/registry.py')
-rw-r--r-- | paste/registry.py | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/paste/registry.py b/paste/registry.py index 05bca7b..68e7c03 100644 --- a/paste/registry.py +++ b/paste/registry.py @@ -275,6 +275,19 @@ class Registry(object): stacked._push_object(obj) myreglist = self.reglist[-1] myreglist[id(stacked)] = (stacked, obj) + + def replace(self, stacked, obj): + """Replace the object referenced by a StackedObjectProxy with a + different object + + In the event that no object has been registered, the new object will + be registered. + """ + myreglist = self.reglist[-1] + if id(stacked) in myreglist: + stacked._pop_object(myreglist[id(stacked)][1]) + stacked._push_object(obj) + self.register(stacked, obj) def cleanup(self): """Remove all objects from all StackedObjectProxy instances that |