def Parser(connection): # parse the argument and insert accordingly fileName = sys.argv[1] with open(fileName) as file: lines = file.readlines() for line in lines: line = line[0:len(line)] splittedLine = line.split(',') lineAsList = [] for word in splittedLine: lineAsList.append(word.strip()) # for word in line: if lineAsList[0] == 'R': class1 = objectClasses.Classroom(lineAsList[1], lineAsList[2]) objectClasses.Dao(objectClasses.Classroom, connection).insert(class1) elif lineAsList[0] == 'C': course1 = objectClasses.Course(lineAsList[1], lineAsList[2], lineAsList[3], lineAsList[4], lineAsList[5], lineAsList[6]) objectClasses.Dao(objectClasses.Course, connection).insert(course1) else: student1 = objectClasses.Student(lineAsList[1], lineAsList[2]) objectClasses.Dao(objectClasses.Student, connection).insert(student1)
def print_tables(conn): print("courses") print_table(objectClasses.Dao(objectClasses.Course, conn).take_all()) print("classrooms") print_table(objectClasses.Dao(objectClasses.Classroom, conn).take_all()) print("students") print_table(objectClasses.Dao(objectClasses.Student, conn).take_all())
def assign_class(classroom, course_to_insert, conn, iteration): objectClasses.Dao(objectClasses.Classroom, conn).update({'current_course_id': course_to_insert.id}, {'id': course_to_insert.classroom_id}) objectClasses.Dao(objectClasses.Classroom, conn).update( {'current_course_time_left': course_to_insert.course_length}, {'id': course_to_insert.classroom_id}) studentType = course_to_insert.student countToAssign = objectClasses.Dao(objectClasses.Student, conn).find(grade=studentType) countToAssign = countToAssign[0].count - course_to_insert.number_of_students objectClasses.Dao(objectClasses.Student, conn).update({'count': countToAssign}, {'grade': studentType}) print("({}) {}: {} is schedule to start".format( iteration, classroom.location, course_to_insert.course_name))
print_table(objectClasses.Dao(objectClasses.Course, conn).take_all()) print("classrooms") print_table(objectClasses.Dao(objectClasses.Classroom, conn).take_all()) print("students") print_table(objectClasses.Dao(objectClasses.Student, conn).take_all()) if os.path.isfile('schedule.db'): conn = sqlite3.connect('schedule.db') cursor = conn.cursor() # represent iteration iteration = 0 if len(objectClasses.Dao(objectClasses.Course, conn).find_all()) <= 0: print_tables() while os.path.isfile('schedule.db') and len( objectClasses.Dao(objectClasses.Course, conn).find_all()) > 0: # conditions to break the loop # there is no db # if not os.path.isfile('schedule.db'): # break # filling classes with courses for checkedClass in objectClasses.Dao(objectClasses.Classroom, conn).find_all(): if checkedClass.current_course_id == 0: #if there is no course in that class course_to_assign = objectClasses.Dao( objectClasses.Course, conn).find(classroom_id=checkedClass.id)