Merge branch 'master' into python3
authorFredrik Tolf <fredrik@dolda2000.com>
Wed, 28 Dec 2011 00:46:22 +0000 (01:46 +0100)
committerFredrik Tolf <fredrik@dolda2000.com>
Wed, 28 Dec 2011 00:46:22 +0000 (01:46 +0100)
Conflicts:
wrw/util.py

1  2 
wrw/util.py

diff --combined wrw/util.py
@@@ -1,4 -1,4 +1,4 @@@
 -import req, dispatch, session
 +from . import req, dispatch, session
  
  def wsgiwrap(callable):
      def wrapper(env, startreq):
@@@ -29,7 -29,6 +29,6 @@@ class sessiondata(object)
                  return sess[cls]
              except KeyError:
                  ret = cls(req)
-                 ret._is_dirty = [False]
                  sess[cls] = ret
                  return ret
  
      def sessdb(cls):
          return session.default
  
 -        ret = super(autodirty, cls).get(req)
+ class autodirty(sessiondata):
+     @classmethod
+     def get(cls, req):
++        ret = super().get(req)
+         if "_is_dirty" not in ret.__dict__:
+             ret.__dict__["_is_dirty"] = False
      def sessfrozen(self):
-         self._is_dirty[:] = [False]
+         self.__dict__["_is_dirty"] = False
  
      def sessdirty(self):
-         return self._is_dirty[0]
+         return self._is_dirty
  
      def __setattr__(self, name, value):
-         if hasattr(self, "_is_dirty"):
-             self._is_dirty[:] = [True]
 -        super(autodirty, self).__setattr__(name, value)
 +        super().__setattr__(name, value)
+         if "_is_dirty" in self.__dict__:
+             self.__dict__["_is_dirty"] = True
  
      def __delattr__(self, name):
-         super().__delattr__(name)
-         self._is_dirty[:] = [True]
 -        super(autodirty, self).__delattr__(name, value)
++        super().__delattr__(name, value)
+         if "_is_dirty" in self.__dict__:
+             self.__dict__["_is_dirty"] = True
+ class manudirty(object):
+     def __init__(self, *args, **kwargs):
 -        super(manudirty, self).__init__(*args, **kwargs)
++        super().__init__(*args, **kwargs)
+         self.__dirty = False
+     def sessfrozen(self):
+         self.__dirty = False
+     def sessdirty(self):
+         return self.__dirty
+     def dirty(self):
+         self.__dirty = True