Esempio n. 1
0
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)
Esempio n. 2
0
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())
Esempio n. 3
0
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))
Esempio n. 4
0
    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)