Hi Iain,

Use an ini file setting in your bfg app's paste.ini section like:

configure_zcml = /path/to/configure.zcml

This can also be controlled with an environment variable.   See 
http://docs.repoze.org/bfg/current/narr/environment.html#environment-chapter 
for 
more information about the "configure_zcml" .ini file setting.

See also http://docs.repoze.org/bfg/current/narr/extending.html for more 
conceptual info about this sort of thing.

On 8/28/09 1:56 PM, Iain Duncan wrote:
> On Fri, 2009-08-28 at 13:43 -0400, Chris McDonough wrote:
>> The bfg "repoze.bfg.router.make_app", used by most application paster entry
>> point functions, returns a Router object.  This is just a fancy WSGI
>> application.  Call make_app from within Pylons to get a WSGI app, serve that
>> WSGI app via some Pylons controller.
>>
>> Other than that, with respect to application model-agnosticism, I don't 
>> really
>> understand the pattern, nor what you're trying to achieve.  But you can use 
>> full
>> paths in configure.zcml (e.g. rather than ".model.foo", use 
>> "mypackage.model.foo").
>
> Thanks Chris. What I'm wondering is how my call to make_app knows to
> parse and use my configure.zcml(s). From the test example it looks like
> I just need to do:
>
> import zope.configuration.xmlconfig
> zope.configuration.xmlconfig.file('configure.zcml', package=my_pkg)
>
> Thought I'm not sure where this should be done. Once at the top project
> level?
>
> thanks
> Iain
>
>>
>> - C
>>
>>
>> On 8/28/09 12:59 PM, Iain Duncan wrote:
>>> ( apologies if this is a duplicate, it doesn't seem to have made it to
>>> me through the list so resending )
>>>
>>> Hi folks, I have a bfg app that makes a crud controller, where objects
>>> from the model package get attached through configure.zcml. This
>>> achieves my purpose of having the application completely unaware of the
>>> model. I want to use this app as a wsgi callable in another app ( a
>>> pylons project ), but I'm stuck on a few things with my limited wsgi
>>> knowledge:
>>>
>>> - I understand that run:app provides the paster entry point, but how
>>> would I import my whole app into another python app?
>>> - I want my model to be installable as a separate, framework agnostic,
>>> sqlalchemy model, that only needs to import interfaces from the crud
>>> apps interfaces module
>>> - configure.zcml hooks things up right now with calls like:
>>>
>>> <utility
>>>     provides=".model.pet.IPet"
>>>     component=".model.pet.Pet"
>>>     name="pet"
>>> />
>>> <adapter
>>> factory=".model.pet.PetFields"
>>> for=".model.pet.IPet .interfaces.IActionView
>>> repoze.bfg.interfaces.IRequest" />
>>>
>>> But I'm at a loss as to how I make this app know to look in a
>>> configure.zcml file in the model package without touching the stuff in
>>> the app itself?
>>>
>>> Thanks!
>>> Iain
>>>
>>>
>>> _______________________________________________
>>> Repoze-dev mailing list
>>> Repoze-dev@lists.repoze.org
>>> http://lists.repoze.org/listinfo/repoze-dev
>>>
>>
>> _______________________________________________
>> Repoze-dev mailing list
>> Repoze-dev@lists.repoze.org
>> http://lists.repoze.org/listinfo/repoze-dev
>

_______________________________________________
Repoze-dev mailing list
Repoze-dev@lists.repoze.org
http://lists.repoze.org/listinfo/repoze-dev

Reply via email to