Merge branch 'master' into python3
[wrw.git] / wrw / util.py
index e338e2c..c8b7b2c 100644 (file)
@@ -6,6 +6,15 @@ def wsgiwrap(callable):
         return dispatch.handle(req.origrequest(env), startreq, callable)
     return wrapper
 
+def stringwrap(charset):
+    def dec(callable):
+        def wrapper(*args, **kwargs):
+            bk = callable(*args, **kwargs)
+            for string in bk:
+                yield string.encode(charset)
+        return wrapper
+    return dec
+
 def formparams(callable):
     def wrapper(req):
         data = form.formdata(req)
@@ -44,13 +53,13 @@ class sessiondata(object):
             except KeyError:
                 if not create:
                     return None
-                ret = cls(req)
+                ret = cls(req, sess)
                 sess[cls] = ret
                 return ret
 
     @classmethod
     def sessdb(cls):
-        return session.default
+        return session.default.val
 
 class autodirty(sessiondata):
     @classmethod