summaryrefslogtreecommitdiff
path: root/paste/registry.py
diff options
context:
space:
mode:
authorbbangert <devnull@localhost>2006-12-04 19:36:09 +0000
committerbbangert <devnull@localhost>2006-12-04 19:36:09 +0000
commit6161089542b06bed1e03be548da2ad790b14da77 (patch)
tree36cb95f4ffb5c5a311fdf0616b5b547a62845ac5 /paste/registry.py
parent90be33b0920fce6c5b1c29656ccf896da03fb41c (diff)
downloadpaste-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.py13
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