def init_db():
    from models import Professor, SchoolClass
    # Base.metadata.drop_all(bind=engine)
    Base.metadata.create_all(bind=engine)

    # Check for any courses in database
    # TODO: Figure out the clean way to check if the database is empty
    count = 0
    check = db_session.query(SchoolClass)
    for course in check:
        count += 1

    if count != 0:
        return

    print("initializing database from 'data.json'")
    try:
        course_data = json.load(open('data.json'))
    except IOError:
        print("put the initial course data into data.json")

    courses = course_data['courses']
    for course in courses:
        prof_names = course['faculty']
        # Todo: Handle multiple teachers well
        prof_name = prof_names[0]
        prof = Professor.query.filter_by(name=prof_name).first()
        if prof is None:
            prof = Professor(name=prof_name)
            db_session.add(prof)
        if course['schedule'] != []:
            start_time = course['schedule'][0]['startTime']
            end_time = course['schedule'][0]['endTime']
            days = course['schedule'][0]['days']
            if days == []:
                days = ""
        else:
            start_time = None
            end_time = None
            days = None
        course = SchoolClass(department=course['department'],
                             number=course['courseNumber'],
                             suffix=course['courseCodeSuffix'],
                             school=course['school'],
                             section=course['section'],
                             name=course['courseName'],
                             professor=prof,
                             open_seats=course['openSeats'],
                             total_seats=course['totalSeats'],
                             course_status=course['courseStatus'],
                             days=days,
                             start_time=start_time,
                             end_time=end_time,
                             credits=course['quarterCredits'],
                             start_date=course['startDate'],
                             end_date=course['endDate'])
        db_session.add(course)

    db_session.commit()
Esempio n. 2
0
from models import TimetableDay, TimetableClass, SchoolClass

if SchoolClass.get_class_by_name("1a") is None:
    school_class = SchoolClass("1a", "", 21)
    school_class.save()

#  аргумент это номер класса(id его будущий)
if TimetableClass.get_by_id(1) is None:
    timetable_class = TimetableClass(1, 2, 3, 4, 5)
    timetable_class.save()

#69 - 75

if TimetableDay.get_by_id(1) is None:
    monday = TimetableDay(69, 70, 71, 72, None, None, None, None)
    monday.save()

if TimetableDay.get_by_id(2) is None:
    tuesday = TimetableDay(73, 74, 75, 69, None, None, None, None)
    tuesday.save()

if TimetableDay.get_by_id(3) is None:
    wednesday = TimetableDay(70, 71, 72, 73, None, None, None, None)
    wednesday.save()

if TimetableDay.get_by_id(4) is None:
    thursday = TimetableDay(74, 75, 69, 70, None, None, None, None)
    thursday.save()

if TimetableDay.get_by_id(5) is None:
    friday = TimetableDay(71, 72, 73, 74, None, None, None, None)
Esempio n. 3
0
def register():
    if request.form:
        login = request.form.get("login")
        password = request.form.get("password")
        name = request.form.get("name")
        surname = request.form.get("surname")
        position = request.form.get("position")

        if position == "Teacher":
            teacher = Teacher.auth(login, password)

            if teacher:
                return json.dumps({'resultCode': 1})

            email = request.form.get("email")
            phone = request.form.get("phone")
            qualification = request.form.get("qualification")

            teacher = Teacher(login, password, name, surname, qualification,
                              phone, email, False)
            teacher.save()

            session["auth"] = teacher.id

            return json.dumps({
                'resultCode': 0,
                'data': {
                    'userId': teacher.id,
                    'login': login,
                    'password': password,
                    'position': position,
                    'name': name,
                    'surname': surname,
                    'email ': email,
                    'phone ': phone,
                    'qualification ': qualification
                }
            })

        elif position == "Pupil":
            pupil = Pupil.auth(login, password)

            print(pupil)

            if pupil:
                return json.dumps({'resultCode': 1})

            clas = request.form.get('clas')
            pupil = Pupil(name, surname, login, password, clas)
            pupil.save()

            school_class = SchoolClass.get_class_by_name(clas)
            school_class.add_student(pupil.id)

            session["auth"] = pupil.id

            return json.dumps({
                'resultCode': 0,
                'data': {
                    'userId': pupil.id,
                    'login': login,
                    'password': password,
                    'position': position,
                    'name': name,
                    'surname': surname,
                    'clas': clas
                }
            })

        elif position == "Parent":
            parent = Parent.auth(login, password)

            if parent:
                return json.dumps({'resultCode': 1})

            child_id = request.form.get("child_id")
            parent = Parent(name, surname, child_id, login, password)
            parent.save()

            session["auth"] = parent.id

            return json.dumps({
                'resultCode': 0,
                'data': {
                    'userId': parent.id,
                    'login': login,
                    'password': password,
                    'position': position,
                    'name': name,
                    'surname': surname,
                    'child_id': child_id
                }
            })

        else:
            return json.dumps({'resultCode': 1})