def handle_login(user): """ Handle all aspects of login, return the user id """ with execute_session() as session: try: return Customer.get_user_id_by_facebook_id( session, get_facebook_user_id(user) ) except NoResultFound: add_and_commit(session, Customer( session, get_facebook_name(user), get_facebook_user_id(user) )) return Customer.get_user_id_by_facebook_id( session, get_facebook_user_id(user) )
def handle_view_dues(id): """ Handle viewing dues owed to/by other customers """ with execute_session() as session: dues = Dues.get_total_dues_per_friend(session, id) return [{ "name": Customer.get_name_by_id(session, id), "amount": amount, "friend_id": id } for id, amount in dues.iteritems()]