示例#1
0
def del_event(time, day):
    session = make_session()
    event = session.query(Event).filter_by(time=time, day=day).first()
    if event is not None:
        session.delete(event)
        session.commit()
    session.close()
示例#2
0
def del_all_events():
    session = make_session()
    events = session.query(Event).all()
    for event in events:
        session.delete(event)
    session.commit()
    session.close()
示例#3
0
def del_pdt_events():
    session = make_session()
    events = session.query(Event).filter_by(for_pdts=True).all()
    for event in events:
        session.delete(event)
    session.commit()
    session.close()
示例#4
0
def del_user(user_id):
    session = make_session()
    user = session.query(User).filter_by(user_id=user_id).first()
    if user is not None:
        session.delete(user)
        session.commit()
    session.close()
示例#5
0
def del_events_for_a_day(day):
    session = make_session()
    events = session.query(Event).filter_by(day=day).all()
    for event in events:
        session.delete(event)
    session.commit()
    session.close()
示例#6
0
def check_database():
    database_name = database_getter(without_exceptions=True)
    if database_name:
        if database_name == DATABASE_NAME:
            session = make_session()
            try:
                superuser = session.query(User).filter_by(
                    user_id=SUPERUSER_ID).first()
                if superuser is None:
                    session.add(User(SUPERUSER_ID, True, False, False, 0))
                else:
                    superuser.is_admin, superuser.is_pdt, superuser.is_promotion = True, False, False
                    superuser.subscription = 0
                session.commit()
                session.close()
                print('Database was checked!')
            except Exception:
                session.close()
                remove(database_name)
                __make_database()
                print('Database was recreated and filled!')
        else:
            remove(database_name)
            __make_database()
            print('Database was created and filled!')
    else:
        __make_database()
        print('Database was created and filled!')
示例#7
0
def update_event(time, day, chat_id, message_id, for_admins, for_pdts, for_promotions):
    session = make_session()
    event = session.query(Event).filter_by(time=time, day=day).first()
    if event is None:
        session.add(Event(time, day, chat_id, message_id, for_admins, for_pdts, for_promotions))
    else:
        event.chat_id, event.message_id = chat_id, message_id
        event.for_admins, event.for_pdts, event.for_promotions = for_admins, for_pdts, for_promotions
    session.commit()
    session.close()
示例#8
0
def update_subscription_days():
    session = make_session()
    promotions = session.query(User).filter_by(is_promotion=True).all()
    for promotion in promotions:
        if promotion.subscription <= 1:
            promotion.is_promotion = False
            promotion.subscription = 0
        else:
            promotion.subscription -= 1
    session.commit()
    session.close()
示例#9
0
def update_user(user_id, is_admin, is_pdt, is_promotion, subscription):
    session = make_session()
    user = session.query(User).filter_by(user_id=user_id).first()
    if user is None:
        session.add(User(user_id, is_admin, is_pdt, is_promotion,
                         subscription))
    else:
        user.is_admin, user.is_pdt, user.is_promotion = is_admin, is_pdt, is_promotion
        user.subscription = subscription
    session.commit()
    session.close()
示例#10
0
def get_event(time, day):
    session = make_session()
    event = session.query(Event).filter_by(time=time, day=day).first()
    session.close()
    return event
示例#11
0
def get_promotion_users():
    session = make_session()
    promotions = session.query(User).filter_by(is_promotion=True).all()
    session.close()
    return promotions
示例#12
0
def get_pdt_users():
    session = make_session()
    pdts = session.query(User).filter_by(is_pdt=True).all()
    session.close()
    return pdts
示例#13
0
def get_admin_users():
    session = make_session()
    admins = session.query(User).filter_by(is_admin=True).all()
    session.close()
    return admins
示例#14
0
def get_all_users():
    session = make_session()
    users = session.query(User).all()
    session.close()
    return users
示例#15
0
def get_user(user_id):
    session = make_session()
    user = session.query(User).filter_by(user_id=user_id).first()
    session.close()
    return user
示例#16
0
def get_admin_events():
    session = make_session()
    admin_events = session.query(Event).filter_by(for_admins=True).all()
    session.close()
    return admin_events
示例#17
0
def __fill_database():
    session = make_session()
    session.add(User(SUPERUSER_ID, True, False, False, 0))
    session.commit()
    session.close()
示例#18
0
def get_all_events():
    session = make_session()
    events = session.query(Event).all()
    session.close()
    return events
示例#19
0
def get_promotion_events():
    session = make_session()
    promotion_events = session.query(Event).filter_by(for_promotions=True).all()
    session.close()
    return promotion_events