def make_session(user, sessionid=None, expires_in=3600): if not sessionid: sessionid = str(uuid.uuid4()) DBSession.query(Session).filter(Session.sessionid == sessionid).delete() logging.debug("making session for %s with sessionid %s" % (user.username, sessionid)) s = Session(user_id=user.id, sessionid=sessionid, expires=datetime.datetime.now() + datetime.timedelta(0, expires_in)) DBSession.add(s) DBSession.flush() DBSession.expunge(s) return s
def create_user(username, password): logging.debug("creating user %s" % (username)) if find_user(username): raise RuntimeError("User %s already exists" % (username)) hashed_password = hash_password(password) u = User(username=username, password=hashed_password) DBSession.add(u) DBSession.flush() DBSession.expunge(u) return u