Hello, Kris.

On Thu, Jan 5, 2012 at 2:57 PM, Kris Reeves <myn...@gmail.com> wrote:
> 3) You keep addressing my mistakes but not my points.
> 3a) I cannot provide any metadata providers to setup_sql_auth() with
> the default base TurboGears quickstart project, assuming it should
> only be called once. If it's okay to call it twice, or there's some
> way to inject my provider into the load environment, I'd love to know.

In TG2, you can add something like the following to

    app_cfg.sa_auth.mdproviders = [('foo', FooPlugin()), ('bar', BarPlugin())]


> 3b) As shown in the source I linked last message, the groups and
> permissions environment variables do get overwritten, which I see as a
> problem whether or not any of the rest of this is true.

I think I now understand what you mean: repoze.what-quickstart puts
the repoze.what metadata plugin for repoze.who as the very last plugin
to be executed.

I think it'll be safe to put that plugin as the first one, which will
solve your problem. I can't see this change being backwards
incompatible, but it's probably better not to trust myself at midnight
so I'll change it over the weekend. I'll let you know when it's

> 3c) The providers are indeed stored in a dictionary, as linked in (2),
> so ordering cannot be relied on. (If {} is *not* a blank dictionary,
> then please tell me so I can facepalm!)

In that function, the plugins are grouped by type in a dictionary
whose keys are the interfaces (i.e., classes) and the items are the
plugins themselves *in the same order they were defined*.

Gustavo Narea.
Aspiring Software Craftsman.
Repoze-dev mailing list

Reply via email to