[Twisted-Python] Accessing app-wide data in Woven
mesozoic at polynode.com
Fri Jul 18 12:44:22 EDT 2003
I am writing a Woven app that I would like to make fairly configurable by
the end-user without asking them to change my code. The way I'm doing this
now is with a special class, SiteConfiguration, that is given various data
in the root-level .rpy.
Now, every Page, every Model, and every View should (in my perfect world) be
able to get at this class. There should be only one SiteConfiguration; I'd
like to avoid calling it "global", because I know that word means many
different things. So what I do in my .rpy is:
cfg = SiteConfiguration(...)
Then, my site's static.File class sets 'child.registry = self.registry' and
'child.model.registry = self.registry' on everything it returns from
getChild. My Model classes then do some funkiness to find their top-level
parent and get the registry from that; I imagine my Pages could do the same.
But this seems a bit kludgish to me; I'm wondering if there is a more
general way of doing this that would not involve changing the behavior of
"Never let your sense of morals prevent you from doing what is right."
-- Salvor Hardin, Isaac Asimov's _Foundation_
More information about the Twisted-Python