The settings dictionary is copied once when you pass it into the configurator, and it is supposed to be a shallow copy.
new_settings = {} new_settings.update(settings) That doesn't explain your issue though. A likely fix is just to follow the pattern I use, which is to leave the settings dictionary for primitive types. Services and utilities are things I attach to the registry itself (it's a dict too). On Thu, May 23, 2013 at 2:19 PM, ian marcinkowski <ianmarcinkow...@gmail.com > wrote: > Are objects modified when they are saved in the Configurator > registry.settings dictionary? > > I am trying to store a Suds SOAP Client in the registry which can be > cloned in my view-callables so I can avoid re-parsing that WSDL document. > When I am trying to clone the Suds Client that has been stored in the > registry, my app is crashing horribly due to a maximum recursion limit > reached exception. > > Some code: > > In my app __init__.py: > def main(global_config, **app_settings): > settings = {} > ... > settings['soap_client'] = suds.client.Client('file:///service.wsdl', > username='foo', password='bar') > > config = Configurator(settings=settings, ...) > return config.make_wsgi_app() > > view-callable.py > def view(request): > cloned_soap_client = request.registry.settings['soap_client'].clone() > <-- Induces Max. Recursion exception > return cloned_soap_client.service.SomeMethod() > > If I drop in to a PDB terminal inside of my application's main() function > and try cloneing settings['soap_client'] I do not encounter this recursion > limit. > > Sure, this is probably an bug with the Suds client, but I'm not sure how > toreproduce it outside of my application. > > Thoughts? > > -- > Ian Marcinkowski > ianmarcinkow...@gmail.com > > -- > You received this message because you are subscribed to the Google Groups > "pylons-discuss" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to pylons-discuss+unsubscr...@googlegroups.com. > To post to this group, send email to pylons-discuss@googlegroups.com. > Visit this group at http://groups.google.com/group/pylons-discuss?hl=en. > For more options, visit https://groups.google.com/groups/opt_out. > > > -- You received this message because you are subscribed to the Google Groups "pylons-discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to pylons-discuss+unsubscr...@googlegroups.com. To post to this group, send email to pylons-discuss@googlegroups.com. Visit this group at http://groups.google.com/group/pylons-discuss?hl=en. For more options, visit https://groups.google.com/groups/opt_out.