Merge branch 'master' into python3
[wrw.git] / wrw / util.py
index 58ead25..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,7 +53,7 @@ class sessiondata(object):
             except KeyError:
                 if not create:
                     return None
-                ret = cls(req)
+                ret = cls(req, sess)
                 sess[cls] = ret
                 return ret