def show_student_analytics_window(self): group = Group() ls_name = group.show_name(self.session) self.choice_group_ui.comboBox.clear() self.choice_group_ui.comboBox.addItems(ls_name) self.choice_analytics_window.hide() self.choice_group_ui.update(self.dark_theme) self.choice_group_window.show()
def show_analytics_window(self): group = Group() ls_name = group.show_name(self.session) discipline = Discipline d_name = discipline.show_name(self.session) self.choice_discipline_ui.comboBox.clear() self.choice_discipline_ui.comboBox.addItems(d_name) self.choice_discipline_window.show() self.choice_discipline_ui.update(self.dark_theme) self.choice_analytics_window.hide()
def show_grade_window(self): group = Group() ls_name = group.show_name(self.session) self.grade_ui.comboBox_2.clear() self.grade_ui.comboBox_2.addItems(ls_name) discipline = Discipline d_name = discipline.show_name(self.session) self.grade_ui.comboBox.clear() self.grade_ui.comboBox.addItems(d_name) self.grade_ui.update(self.dark_theme) self.grade_window.show()
def delete(self): items = self.tableWidget.selectedItems() for i in items: row = self.tableWidget.row(i) number = self.tableWidget.item(row, 1).text() group = Group() group.delete(self.session, number) self.tableWidget.removeRow(row) self.combo.clear() ls_name = group.show_name(self.session) self.combo.addItems(ls_name)
def next_page(self): choice = self.comboBox.currentText() if choice == 'По группам': self.choice_discipline_group_ui.discipline = self.discipline self.choice_discipline_group_ui.update(self.dark_theme) self.choice_discipline_group_window.show() else: group = Group() ls_name = group.show_name(self.session) self.choice_discipline_student_group_ui.comboBox.clear() self.choice_discipline_student_group_ui.comboBox.addItems(ls_name) self.choice_discipline_student_group_ui.discipline = self.discipline self.choice_discipline_student_group_ui.update(self.dark_theme) self.choice_discipline_student_group_window.show() self.choice_discipline_group_or_student_window.hide()
def parser_moodle(address, login, password, session) -> int: # address = 'https://cp29191-wordpress-8.tw1.ru' # login = "******" # password = "******" login_address = address + "/login/index.php" chrome_options = webdriver.ChromeOptions() chrome_options.add_argument("--ignore-certificate-errors") driver = webdriver.Chrome(ChromeDriverManager().install(), chrome_options=chrome_options) try: driver.get(login_address) username = driver.find_element_by_id('username') username.click() username.send_keys(login) password_ = driver.find_element_by_id("password") password_.click() password_.send_keys(password) submit = driver.find_element_by_id("loginbtn") submit.click() time.sleep(1) number_course = 0 while number_course != -1: courses = driver.find_elements_by_class_name( 'list-group-item-action') flag = 0 this_number_course = 0 flag_number_course = 0 for course in courses: if flag == 1 and this_number_course == number_course: # Синхронизация дисциплин c = course c.click() title = driver.title name_course = title.split('Курс: ')[1] d = Discipline() discipline = d.all(session) flag_d = 0 for d in discipline: if d.name == name_course: flag_d = 1 break if not flag_d: d.add(session, discipline) driver.find_element_by_partial_link_text( "Участники").click() time.sleep(5) # Синхронизация групп и студентов i = 0 flag_e = 0 id_template = "user-index-participants-4_r" while flag_e == 0: try: id = id_template + str(i) tr = driver.find_element_by_id(id) i += 1 name = tr.find_elements_by_class_name('c1') name = name[0].text role = tr.find_elements_by_class_name('c3') role = role[0].text group = tr.find_elements_by_class_name('c4') group = group[0].text if role == 'Студент': g = Group() g_names = g.show_name(session) g_flag = 0 for g_name in g_names: if g_name == group: g_flag = 1 break if g_flag == 0: g.add(session, group, 'Информационная безопасность') s = Student() s_names = s.all(session, group) s_flag = 0 for s_name in s_names: if s_name == name: s_flag = 1 break if s_flag == 0: record_book = randint(100000, 999999) s.add(session, name, record_book, group) except: flag_e = 1 driver.back() time.sleep(3) driver.back() time.sleep(3) number_course += 1 flag_number_course = 1 break elif flag == 1: this_number_course += 1 if course.text == "Личные файлы": flag = 1 if flag_number_course == 0: number_course = -1 driver.close() return 0 except: driver.close() return 1
def show_group_choice_window(self): group = Group() ls_name = group.show_name(self.session) self.group_choice_ui.comboBox.addItems(ls_name) self.group_choice_ui.update(self.dark_theme) self.group_choice_window.show()