On Sat, Feb 02, 2013 at 12:58:02PM -0800, Mikołaj Siedlarek wrote:
> Hi,
>
> Is there any way I could use zope.components ZCML configuration in my
> Pyramid project *not losing* the ability to run multiple application in one
> process?
>
> I know I could just use `Configurator.hook_zca` and use global components
> site, but this wouldn't work for multiple apps in one process.
>
> I tried to use zope.configuration ZCML utilities on Pyramid configurator
> and it's attributes but they seem incompatible. There is some class in
> `pyramid.config` called `ActionState` that kind of resembles
> `ConfigurationMachine` from `zope.configuration`, but not enough to use
> `zope.configuration.xmlconfig` stuff on it.
>
> Am I missing something?
I do something similar with pretty hacky code like this. Basically
loading the adapters registered in the ZCML into the configurator's
registry rather than the global one:
from pyramid.threadlocal import manager
from pyramid.config import Configurator
from zope.configuration import xmlconfig
def set_up_app():
config = Configurator()
config.hook_zca()
manager.push(dict(registry=config.registry))
try:
xmlconfig.file(site_zcml)
finally:
manager.pop()
Of course, not all zcml commands are created equal and some will
register components globally despite these gymnastics.
<tales:expressiontype> is one I know that does not work. <adapter> and
<utiltiy> from zope.component 3.9.3 and up do work.
http://docs.pylonsproject.org/projects/pyramid_zcml/en/latest/ would be
another option, but I'm not familiar with it.
>
> Thanks,
> Mikołaj
>
> --
> 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 [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/pylons-discuss?hl=en.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
--
Brian Sutherland
--
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 [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/pylons-discuss?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.