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()
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)
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})