X-Git-Url: http://dolda2000.com/gitweb/?a=blobdiff_plain;f=wrw%2Futil.py;h=c8b7b2c0cbf42a16b28007f0ecae11f1095c269f;hb=3414365c207c42f3a2d26edac5b5a1d0bd782d7a;hp=e338e2c7a1e9e9dad57ef4e79aa549b3c47c5034;hpb=f9e9a7b5b192adfc7318e7f3ba0153668eef3bc1;p=wrw.git diff --git a/wrw/util.py b/wrw/util.py index e338e2c..c8b7b2c 100644 --- a/wrw/util.py +++ b/wrw/util.py @@ -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