summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMalthe Borch <mborch@gmail.com>2008-09-30 16:13:19 +0000
committerMalthe Borch <mborch@gmail.com>2008-09-30 16:13:19 +0000
commiteba6f875f3fd0af8ff0aa5ba821c3f899535348f (patch)
treea104f1753b1be7517f48f16f3a2ace771315b59e
parente3c69c7c7dc09cf39e578e1df4b106745d02f48f (diff)
downloadpyramid-eba6f875f3fd0af8ff0aa5ba821c3f899535348f.tar.gz
pyramid-eba6f875f3fd0af8ff0aa5ba821c3f899535348f.tar.bz2
pyramid-eba6f875f3fd0af8ff0aa5ba821c3f899535348f.zip
Formally declare registry attribute.
-rw-r--r--repoze/bfg/interfaces.py7
-rw-r--r--repoze/bfg/router.py9
2 files changed, 14 insertions, 2 deletions
diff --git a/repoze/bfg/interfaces.py b/repoze/bfg/interfaces.py
index 16a4a7b21..196809437 100644
--- a/repoze/bfg/interfaces.py
+++ b/repoze/bfg/interfaces.py
@@ -75,6 +75,13 @@ class IViewPermissionFactory(Interface):
def __call__(context, request):
""" Return an IViewPermission """
+class IRouter(Interface):
+ """WSGI application which routes requests to 'view' code based on
+ a view registry."""
+
+ registry = interface.Attribute(
+ """Component architecture registry local to this application.""")
+
class IRoutesContext(Interface):
""" A context (model instance) that is created as a result of URL
dispatching"""
diff --git a/repoze/bfg/router.py b/repoze/bfg/router.py
index ab8850110..2adc461ca 100644
--- a/repoze/bfg/router.py
+++ b/repoze/bfg/router.py
@@ -1,6 +1,6 @@
from zope.component import getAdapter
from zope.component.event import dispatch
-from zope.interface import directlyProvides
+from zope.interface import directlyProvides, implements
from webob import Request
from webob.exc import HTTPNotFound
@@ -12,6 +12,8 @@ from repoze.bfg.events import WSGIApplicationCreatedEvent
from repoze.bfg.interfaces import ITraverserFactory
from repoze.bfg.interfaces import IRequest
+from repoze.bfg.interfaces import IRequest
+from repoze.bfg.interfaces import IRouter
from repoze.bfg.registry import registry_manager
from repoze.bfg.registry import makeRegistry
@@ -23,9 +25,12 @@ from repoze.bfg.view import render_view_to_response
_marker = ()
-class Router:
+class Router(object):
""" WSGI application which routes requests to 'view' code based on
a view registry"""
+
+ implements(IRouter)
+
def __init__(self, root_policy, registry):
self.root_policy = root_policy
self.registry = registry