def check_for_user_or_create_session(self, user, *args, **kwargs): if not user: # Create session sess = gaesessions.get_current_session() user_id = sess.get("user_id", None) if user_id == None: new_user = CoUser() new_user.put() sess["user_id"] = new_user.user_id() return fn(self, user=new_user, *args, **kwargs) else: old_user = CoUser.get(user_id) return fn(self, user=old_user, *args, **kwargs) else: return fn(self, user=user, *args, **kwargs)