From 6209577c528ad88b7f042b7454b630f08a093f63 Mon Sep 17 00:00:00 2001 From: Chris McDonough Date: Wed, 3 Jun 2009 12:41:19 +0000 Subject: - The default routes context (``repoze.bfg.urldispatch.DefaultRoutesContext``) object now subclasses from ``dict``. This means you can use the mapping protocol in views against it. --- repoze/bfg/urldispatch.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'repoze/bfg/urldispatch.py') diff --git a/repoze/bfg/urldispatch.py b/repoze/bfg/urldispatch.py index 612843cfa..f108b965f 100644 --- a/repoze/bfg/urldispatch.py +++ b/repoze/bfg/urldispatch.py @@ -1,7 +1,5 @@ import re -from zope.component import queryUtility - from zope.interface import implements from zope.interface import alsoProvides from zope.interface import classProvides @@ -13,16 +11,18 @@ from routes import url_for from repoze.bfg.interfaces import IContextNotFound from repoze.bfg.interfaces import IContextURL from repoze.bfg.interfaces import IRoutesContext -from repoze.bfg.interfaces import IRoutesContextFactory from repoze.bfg.interfaces import ITraverser from repoze.bfg.interfaces import ITraverserFactory _marker = () -class DefaultRoutesContext(object): +class DefaultRoutesContext(dict): implements(IRoutesContext) - def __init__(self, **kw): - self.__dict__.update(kw) + def __getattr__(self, name): + try: + return self[name] + except KeyError: + raise AttributeError(name) class RoutesContextNotFound(object): implements(IContextNotFound) -- cgit v1.2.3