def update(session, id_grade, value, new_date, new_path_file, note, feedback): try: new_date = str_to_date(new_date) s = session.query(Grade).filter_by(id_grade=id_grade) if new_path_file == '': s.update({ Grade.value: value, Grade.note: note, Grade.feedback: feedback, Grade.date: new_date }) else: s.update({ Grade.value: value, Grade.path_file: new_path_file, Grade.note: note, Grade.feedback: feedback, Grade.date: new_date }) session.commit() except Exception as e: session.rollback() bd_error()
def all(session, discipline, group_number): try: student_all: list = session.query(Student).join(Group).filter( Group.number == group_number).order_by(Student.fio).all() safety_all: list = session.query(Safety).join(Group).join( Discipline).filter(Group.number == group_number).filter( Discipline.name == discipline).all() ls = [] for i in student_all: row = [] row.append(i.fio) for j in safety_all: pass_safety = session.query(PassSafety).join(Student).join(Safety). \ filter(Student.id_student == i.id_student).filter(Safety.id_safety == j.id_safety).first() if pass_safety: row.append(str(pass_safety.date)) else: row.append('') ls.append(row) ls = np.array(ls) return ls except Exception as e: session.rollback() bd_error()
def all(session, discipline, group_number): try: student_all: list = session.query(Student).join(Group).filter( Group.number == group_number).order_by(Student.fio).all() work_all: list = session.query(Work).join(Group).join( Discipline).filter(Group.number == group_number).filter( Discipline.name == discipline).all() ls = [] history_all: list = session.query(HistoryGrade).all() for i in history_all: for j in work_all: if i.id_work == j.id_work: for k in student_all: if i.id_student == k.id_student: row = [] row.append(k.fio) row.append(j.name) row.append(i.action) row.append(str(i.date)) row.append(i.value) ls.append(row) ls = np.array(ls) return ls except Exception as e: session.rollback() bd_error()
def show_name(session, group_number, discipline_name, flag_header=False): try: occupation_all: list = session.query(Occupation).join(Group).join( Discipline).join(ScheduledDay).filter( Group.number == group_number).filter( Discipline.name == discipline_name).order_by( ScheduledDay.date).all() occupation_count: int = len(occupation_all) if flag_header: ls = [] ls.append('ФИО студента') else: ls = [] # Заполняем шапку таблицы for i in range(occupation_count): value = str(occupation_all[i].scheduled_day.date) value += "|" + occupation_all[i].class_format.name ls.append(value) return ls except Exception as e: session.rollback() bd_error()
def show_name(session, group_number: str, discipline_name: str, flag_header=False): try: work_all: list = session.query(Work).join(Group).join( Discipline).filter(Group.number == group_number).filter( Discipline.name == discipline_name).order_by( Work.id_work).all() work_count: int = len(work_all) if flag_header: ls = [] ls.append('ФИО студента') else: ls = [] # Заполняем шапку таблицы for i in range(work_count): ls.append(work_all[i].name) if flag_header: ls.append('Дата защиты') return ls except Exception as e: session.rollback() bd_error()
def add(session, discipline_name, group_number, name, task, note, grade_scale, new_date, isdeadline): try: new_date = str_to_date(new_date) g = session.query(Group).filter_by(number=group_number).first() id_group = g.id_group d = session.query(Discipline).filter_by( name=discipline_name).first() id_discipline = d.id_discipline max = grade_scale.split('-', 1) max = max[1] gr = session.query(GradeScale).filter_by(max=max).first() id_grade_scale = gr.id_grade_scale new_work = Work(id_group=id_group, id_discipline=id_discipline, id_grade_scale=id_grade_scale, name=name, task=task, note=note, deadline=new_date, isdeadline=isdeadline) session.add(new_work) session.commit() session.flush() except Exception as e: session.rollback() bd_error()
def get_from_id(session, id_work): try: w = session.query(Work).filter_by(id_work=id_work).first() return w except Exception as e: session.rollback() bd_error()
def get(session): try: settings = session.query(Settings).first() return settings.schedule_format except Exception as e: session.rollback() bd_error()
def delete(session, number): try: s = session.query(Student).filter_by(number=number) s.delete() session.commit() except Exception as e: session.rollback() bd_error()
def set(session, new_value): try: s = session.query(Settings) s.update({Settings.schedule_format: new_value}) session.commit() except Exception as e: session.rollback() bd_error()
def add(session, name): try: new = ClassFormat(name=name) session.add(new) session.commit() session.flush() except Exception as e: session.rollback() bd_error()
def update(session, old_number, corps, number): try: s = session.query(Audience).filter_by(number=old_number) s.update({Audience.corps: corps, Audience.number: number}) session.commit() except Exception as e: session.rollback() bd_error()
def add(session, corps, number): try: new_audience = Audience(corps=corps, number=number) session.add(new_audience) session.commit() session.flush() except Exception as e: session.rollback() bd_error()
def update(session, old_name, name): try: s = session.query(ClassFormat).filter_by(name=old_name) s.update({ClassFormat.name: name}) session.commit() except Exception as e: session.rollback() bd_error()
def delete(session, id_grade): try: s = session.query(Grade).filter_by(id_grade=id_grade) s.delete() session.commit() except Exception as e: session.rollback() bd_error()
def get(session, id_work, student_name): try: g = session.query(Grade).join(Work).join(Student).filter( Work.id_work == id_work).filter( Student.fio == student_name).first() return g except Exception as e: session.rollback() bd_error()
def add(self, session, number, note, spec): try: s = session.query(Specialty).filter_by(name=spec).first() id_spec = s.id_specialty new_group = Group(number=number, note=note, id_specialty=id_spec) session.add(new_group) session.commit() session.flush() except Exception as e: bd_error()
def show_name(self, session): try: list_all = session.query(Discipline).all() ls = [] for i in list_all: ls.append(i.name) return ls except Exception as e: session.rollback() bd_error()
def get(session, group_number, discipline_name, work_choosen): try: w = session.query(Work).join(Group).join(Discipline).filter( Group.number == group_number).filter( Discipline.name == discipline_name).filter( Work.name == work_choosen).first() return w except Exception as e: session.rollback() bd_error()
def show_name(session): try: list_all = session.query(Audience).order_by(Audience.corps).all() ls = [] for i in list_all: value = i.corps + ' ' + i.number ls.append(value) return ls except Exception as e: session.rollback() bd_error()
def update(session, old_number, fio, number, note): try: s = session.query(Student).filter_by(number=old_number) s.update({ Student.number: number, Student.note: note, Student.fio: fio }) session.commit() except Exception as e: session.rollback() bd_error()
def show_name(session, group_number: str): try: student_list: list = session.query(Student).all() ls: list = [] for i in student_list: if i.group.number == group_number: ls.append(i.fio) return ls except Exception as e: session.rollback() bd_error()
def add(session, fio, number, note, group_number): try: g = session.query(Group).filter_by(number=group_number).first() id_group = g.id_group new_student = Student(fio=fio, number=number, note=note, id_group=id_group) session.add(new_student) session.commit() session.flush() except Exception as e: bd_error()
def show_all(session): try: list = session.query(ClassFormat).all() ls = [] for i in list: ls1 = [] ls1.append(i.name) ls.append(ls1) return ls except Exception as e: session.rollback() bd_error()
def all(session): try: grade_scale_list: list = session.query(GradeScale).all() ls: list = [] for i in grade_scale_list: min = str(i.min) max = str(i.max) value = min + "-" + max ls.append(value) return ls except Exception as e: session.rollback() bd_error()
def update(self, session, old_number, number, note, spec): try: s = session.query(Specialty).filter_by(name=spec).first() id_spec = s.id_specialty g = session.query(Group).filter_by(number=old_number) g.update({ Group.number: number, Group.note: note, Group.id_specialty: id_spec }) session.commit() except Exception as e: session.rollback() bd_error()
def show_all(session): try: list = session.query(Audience).all() ls = [] for i in list: ls1 = [] ls1.append(i.corps) ls1.append(i.number) ls.append(ls1) return ls except Exception as e: session.rollback() bd_error()
def delete(session, id_work): try: grade = session.query(Grade).join(Work).filter( Work.id_work == id_work).all() for i in grade: id_grade = i.id_grade s = session.query(Grade).filter_by(id_grade=id_grade) s.delete() s = session.query(Work).filter_by(id_work=id_work) s.delete() session.commit() except Exception as e: session.rollback() bd_error()
def add(session, discipline, group_number, name): try: g = session.query(Group).filter_by(number=group_number).first() id_group = g.id_group d = session.query(Discipline).filter_by(name=discipline).first() id_discipline = d.id_discipline new_safety = Safety(name=name, id_group=id_group, id_discipline=id_discipline) session.add(new_safety) session.commit() session.flush() except Exception as e: session.rollback() bd_error()
def update(session, fio, safety, new_date, discipline_name, group_number): try: s = session.query(PassSafety).join(Safety).join(Discipline).join(Group).join(Student).filter( Discipline.name == discipline_name) \ .filter(Group.number == group_number).filter(Safety.name == safety).filter(Student.fio == fio).first() id = s.id_pass_safety s = session.query(PassSafety).filter_by(id_pass_safety=id) new_date = str_to_date(new_date) s.update({PassSafety.date: new_date}) session.commit() except Exception as e: print(e) session.rollback() bd_error()