def get_most_recently_completed_interview(self, phone_number, for_update = False): last_interview = None db_session = DB_Session_Factory.get_db_session() query = db_session.query(interview.Interview).filter(interview.Interview.interviewer_email==self.email, func.date(interview.Interview.start_time) == func.date(func.now()), interview.Interview.end_time < func.now(), interview.Interview.phone_number_to_use == phone_number).order_by(interview.Interview.end_time.desc()) if for_update is True: query = query.with_lockmode('update') return query.first()
def session_is_active(session_id): db_session = DB_Session_Factory.get_db_session() user = db_session.query(User).filter(User.session_id == session_id).first() session_is_active = False if user is not None and user.session_expiration > datetime.now(): session_is_active = True return session_is_active
def user_for_session_cookie(session_id): if session_id is None: return None db_session = DB_Session_Factory.get_db_session() user = db_session.query(User).filter(User.session_id == session_id).first() session_is_active = False if user is None or user.session_expiration < datetime.now(): user = None return user
def department_for_keyword(keyword): db_session = DB_Session_Factory.get_db_session() best_dep_keyword = None for dep_keyword in db_session.query(Department_Keyword).filter(func.instr(keyword, Department_Keyword.keyword) > 0): if best_dep_keyword is None or len(best_dep_keyword.keyword) < len(dep_keyword.keyword): best_dep_keyword = dep_keyword department = None if best_dep_keyword is not None: department = db_session.query(Department).get(best_dep_keyword.department_id) return department
def refresh_user_session(email): db_session = DB_Session_Factory.get_db_session() user = db_session.query(User).get(email) if user is None: user = User(email) else: user.session_expiration = datetime.now() + timedelta(hours = 2) db_session.add(user) db_session.commit() return user
def refresh_user_session(email): db_session = DB_Session_Factory.get_db_session() user = db_session.query(User).get(email) if user is None: user = User(email) else: if user.session_expiration < datetime.now(): user.session_id = hashlib.sha1(email + user.session_expiration.isoformat()).hexdigest() user.session_expiration = datetime.now() + timedelta(hours=2) db_session.add(user) db_session.commit() return user
def get_interviewer_by_phone_number(phone_number): session = DB_Session_Factory.get_db_session() return session.query(Interviewer).filter(Interviewer.phone_number == phone_number).first()
def get_opt_ins_after_date(min_date): if min_date is None: min_date = datetime.fromtimestamp(28800) db_session = DB_Session_Factory.get_db_session() return db_session.query(Opt_In).filter(Opt_In.updated > min_date).order_by(Opt_In.updated.asc())