Thanks Michael! It's worth noting that the last pyramid app created, isn't actually determined from the order in the .ini file. Since it ultimately serializes to a dictionary {(domain, path): loader, ...} and we all know and love the unordered natured of Python dicts.
-C On Wednesday, July 22, 2015 at 4:53:40 PM UTC-4, Michael Merickel wrote: > > Pyramid has no way to know which pyramid app you are referring to in > bootstrap unless you specify the section. As pyramid at a fundamental > level supports running multiple apps in the same process you have to > handle this yourself outside if you need to load a specific app for > your script to run. > > The config_uri supports specifying the section without your patch. You > just do bootstrap('development.ini#project'). By default it uses main > of course, and after that it falls back to loading "the last pyramid > app created" logic which is what's finding your support app right now. > If this isn't working for you then you should be specifying the > section in your scripts. > > On Wed, Jul 22, 2015 at 2:09 PM, Chip Kellam <ch...@honey.is <javascript:>> > wrote: > > I have defined my config.ini file as such using the paste urlmap > guidelines > > for creating this type of application: > > > > [composite:main] > > use = egg:Paste#urlmap > > / = project > > domain developer.domain.com / = dev > > domain support.domain.internal / = support # Internal/VPN-only URL > > > > [app:project] > > use = egg:project > > > > [app:dev] > > paste.app_factory = dev:main > > > > [app:support] > > paste.app_factory = support:main > > > > > > "support" is a new module we just wrote to allow our CSRs to manage data > > through a CRUD-style interface. However, when I added this 3rd app > ("dev" > > has been there for a while), Pyramid now bootstraps that app in console > > scripts INSTEAD of "project". I can tell because when I run: proutes > > config.ini, I see the "support" routes and NOT the "project" routes. > > > > I'm using the standard: > > > > from pyramid.paster import bootstrap > > env = bootstrap(config_uri) > > > > I did notice if I monkey patch bootstrap and pass in the app name I > want, it > > works fine, e.g: > > > > def bootstrap(config_uri, request=None, options=None, name='main'): > > app = get_app(config_uri, name=name) > > env = prepare(request) > > env['app'] = app > > return env > > > > > > Any idea why this would be occurring?? I'd rather not do anything hacky > > with the core pyramid code, but this is affecting all of the logic in > our > > scripts that deal with any custom app configurations. > > > > Thanks for your help! > > > > -Chip > > > > -- > > You received this message because you are subscribed to the Google > Groups > > "pylons-devel" group. > > To unsubscribe from this group and stop receiving emails from it, send > an > > email to pylons-devel...@googlegroups.com <javascript:>. > > To post to this group, send email to pylons...@googlegroups.com > <javascript:>. > > Visit this group at http://groups.google.com/group/pylons-devel. > > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "pylons-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to pylons-devel+unsubscr...@googlegroups.com. To post to this group, send email to pylons-devel@googlegroups.com. Visit this group at http://groups.google.com/group/pylons-devel. For more options, visit https://groups.google.com/d/optout.