def set_dirty_and_flush_changes(non_const_func):
 def flush_changes(self, *args, **kwargs):
  rval = non_const_func(self, *args, **kwargs)
  self._dirty = True
  self.write()
  return rval
 flush_changes.__name__ = non_const_func.__name__
 return flush_changes

def set_dirty_and_flush_changes ( non_const_func ) : def flush_changes ( self , * args , ** kwargs ) : rval = non_const_func ( self , * args , ** kwargs ) self . _dirty = True self . write ( ) return rval flush_changes . __name__ = non_const_func . __name__ return flush_changes
return method that checks whether given non constant function may be called .