--- a/pvl/verkko/web.py Wed Oct 10 23:36:23 2012 +0300
+++ b/pvl/verkko/web.py Wed Oct 10 23:44:37 2012 +0300
@@ -1,5 +1,13 @@
# encoding: utf-8
+def merge (*dicts) :
+ dict = {}
+
+ for d in dicts :
+ dict.update(d)
+
+ return dict
+
# response types
from werkzeug.wrappers import Response
from werkzeug.exceptions import (
@@ -23,7 +31,7 @@
"/static/style.css",
)
- def __init__ (self, app, request, urls) :
+ def __init__ (self, app, request, urls, params) :
"""
app - wsgi.Application
request - werkzeug.Request
@@ -34,6 +42,7 @@
self.db = app.db
self.request = request
self.urlmap = urls
+ self.params = params
def url (self, handler=None, **params) :
"""
@@ -41,7 +50,9 @@
"""
if not handler :
+ # XXX: just generate a plain-relative '?foo=...' url instead?
handler = self.__class__
+ params = merge(self.params, params)
return self.urlmap.build(handler, params)
@@ -89,29 +100,18 @@
pass
- def respond (self, **params) :
+ def respond (self) :
"""
Generate a response, or raise an HTTPException
Does an HTML layout'd response per default.
-
- **params - url-mapped parameters
"""
# XXX: returning e.g. redirect?
- self.process(**params)
+ self.process(**self.params)
# render as html per default
text = unicode(html.document(self.render_html()))
return Response(text, mimetype='text/html')
-class Index (Handler) :
- def render (self) :
- return (
- html.ul(
- # TODO: self.url
- html.a(href='/hosts')("DHCP Hosts"),
- )
- )
-