Yup, the "last pyramid app loaded" is definitely non-deterministic. It's the best sane default we could think of as most people have only one app and it's sometimes wrapped in a [pipeline:main] so we didn't want you to have to specify the section name every single time in that scenario.
It's esoteric enough that if you have a better idea we can always consider it! On Wed, Jul 22, 2015 at 4:05 PM, Chip Kellam <c...@honey.is> wrote: > 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> 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. >> > To post to this group, send email to pylons...@googlegroups.com. >> > 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. -- 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.