示例#1
0
class TestCourse(unittest.TestCase):

    def setUp(self):
        self.course = Course()
        self.id_course = self.course.id_course

    def test_init(self):
        self.assertEqual(self.course.language, None)
        self.assertEqual(self.course.level, None)
        self.assertEqual(self.course.price, None)
        self.assertEqual(self.course.teachers, [])
        self.assertEqual(self.course.students, [])
        self.assertEqual(self.course.address, None)
        self.assertEqual(self.course.books, [])

    def test_add_teacher(self):
        self.course.add_teacher(11)
        self.assertIn(11, self.course.teachers)

    def test_add_student(self):
        self.course.add_student(18)
        self.assertIn(18, self.course.students)

    def test_str(self):
        self.assertEqual(str(self.course), f'id_course: {self.id_course}, ')

    def tearDown(self):
        Course.id -= 1
    def __init__(self, uid, name, courses_html, course_list):
        self.uid = uid
        Teacher.teacher_ids.append(uid)
        self.name = name

        # Courses
        soup = BeautifulSoup(courses_html, 'html.parser')

        item_names = soup.select('.course-item-right')
        courses = []
        for item in item_names:
            course_link = item.select('a')[0].attrs['href']
            course_id = int(course_link[8:])
            course_name = item.select('a')[0].get_text()
            if course_id not in Course.course_ids:
                new_course = Course(course_id, course_name)
                new_course.add_teacher(self)
                course_list.append(new_course)
            else:
                for c in course_list:
                    if c.cid == course_id:
                        c.add_teacher(self)
            courses.append(course_id)
        
        self.courses = courses
示例#3
0
def listsubject():
    connect = sqlite3.connect('information.db')
    subjects = connect.execute(
        'SELECT course.courseID, course.courseName, course.schoolYear FROM course INNER JOIN courseDetails ON course.courseID=courseDetails.courseID GROUP BY course.courseID;'
    )
    for subject in subjects:
        course = Course(subject[0], subject[1])
        for class_num, classroom, limitation, teacher in connect.execute(
                'SELECT courseDetails.class, courseDetails.classroom, courseDetails.limitation, courseDetails.teacher FROM course INNER JOIN courseDetails ON course.courseID=courseDetails.courseID WHERE course.courseID=? GROUP BY courseDetails.class;',
            (subject[0], )).fetchall():
            course.add_class_num(class_num, subject[0], subject[1])
            course.add_classroom(subject[0], subject[1], class_num - 1,
                                 classroom)
            course.add_limitation(subject[0], subject[1], class_num - 1,
                                  limitation)
            course.add_teacher(subject[0], subject[1], class_num - 1, teacher)
            dates_and_times = connect.execute(
                'SELECT courseDetails.day, courseDetails.month, courseDetails.year, courseDetails.startHour, courseDetails.startMinute, courseDetails.endHour, courseDetails.endMinute FROM course INNER JOIN courseDetails ON course.courseID=courseDetails.courseID WHERE courseDetails.class=?;',
                (class_num, ))
            for date_and_time in dates_and_times:
                course.add_datetime(
                    subject[0], subject[1], class_num - 1,
                    datetime(date_and_time[2], date_and_time[1],
                             date_and_time[0]),
                    time(date_and_time[3], date_and_time[4]),
                    time(date_and_time[5], date_and_time[6]))
        course_list.add_course(course.get_course())
    connect.commit()
    connect.close()
    return jsonify(course_list.get_list())
示例#4
0
from datetime import datetime, time
import sqlite3

course_list = CourseList()
connect = sqlite3.connect('information.db')
subjects = connect.execute(
    'SELECT course.courseID, course.courseName, course.schoolYear FROM course INNER JOIN courseDetails ON course.courseID=courseDetails.courseID GROUP BY course.courseID;'
)
for subject in subjects:
    course = Course(subject[0], subject[1])
    for class_num, classroom, limitation, teacher in connect.execute(
            'SELECT courseDetails.class, courseDetails.classroom, courseDetails.limitation, courseDetails.teacher FROM course INNER JOIN courseDetails ON course.courseID=courseDetails.courseID WHERE course.courseID=? GROUP BY courseDetails.class;',
        (subject[0], )).fetchall():
        course.add_class_num(class_num, subject[0], subject[1])
        course.add_classroom(subject[0], subject[1], class_num - 1, classroom)
        course.add_limitation(subject[0], subject[1], class_num - 1,
                              limitation)
        course.add_teacher(subject[0], subject[1], class_num - 1, teacher)
        dates_and_times = connect.execute(
            'SELECT courseDetails.day, courseDetails.month, courseDetails.year, courseDetails.startHour, courseDetails.startMinute, courseDetails.endHour, courseDetails.endMinute FROM course INNER JOIN courseDetails ON course.courseID=courseDetails.courseID WHERE courseDetails.class=?;',
            (class_num, ))
        for date_and_time in dates_and_times:
            course.add_datetime(
                subject[0], subject[1], class_num - 1,
                datetime(date_and_time[2], date_and_time[1], date_and_time[0]),
                time(date_and_time[3], date_and_time[4]),
                time(date_and_time[5], date_and_time[6]))
    course_list.add_course(course.get_course())
print(course_list.get_list())
connect.commit()
connect.close()