From 6161089542b06bed1e03be548da2ad790b14da77 Mon Sep 17 00:00:00 2001 From: bbangert Date: Mon, 4 Dec 2006 19:36:09 +0000 Subject: Added replace method to registry for replacing registered objects with a new one. --- paste/registry.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'paste/registry.py') 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 -- cgit v1.2.1