-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Chris Rossi wrote: > On Fri, Jun 5, 2009 at 11:33 AM, Chris McDonough <chr...@plope.com> wrote: > >> - If a "factory" is specified on a route, it will need to point at a >> function that had the same call/response convention as a traversal >> root factory. This will break code. "Context factories" accept >> key/value pairs assumed to be items that matched in the URL match. >> These would cease working, and would need to be rewritten as root >> factories, which accept a WSGI environment. >> > > My gut feeling is this should be a show-stopper. Not having easy access to > the match dict when doing routes just goes too far in terms of breaking > expectations about how routes should work.
I don't think we'd have to lose the match dict: one obvious thing would be to put the dict into the environ before calling the root/context factory, which would then pick it out and do whatever was appropriate. > That said, I think the goal of unifying the two methods is very compelling, > so we should spend some more time thinking about how to accomplish this > without breaking fundamental expectations with regards to url dispatch. The > idea of performing a graph traversal starting at a context found by a routes > match is particularly compelling and reason enough to pursue a unification. > > I'd just suggest thinking about it a little more before starting to move > code around. I'll try and devote some brain cycles of my own to the > problem. How many folks have real routes-based applications which would need fixing? I'm assuming that we would fix anything in our repository; it should even be possible to do so in a BBB-compatible way, e.g.:: def context_factory(environ=None, **kw): match_dict = kw.copy() if environ is not None: # called as "root factory" match_dict.update(environ['repoze.bfg.matchdict']) Tres. - -- =================================================================== Tres Seaver +1 540-429-0999 tsea...@palladion.com Palladion Software "Excellence by Design" http://palladion.com -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFKKUFX+gerLs4ltQ4RAkKQAJ4gBz1BHRAQ10D9eilPnMEAasRYaQCgqMIO 2+ymmyONf2QDBof51MXJ6Rw= =Vj/q -----END PGP SIGNATURE----- _______________________________________________ Repoze-dev mailing list Repoze-dev@lists.repoze.org http://lists.repoze.org/listinfo/repoze-dev