def alta(self, mat: Materia): if mat.get_nombre() not in self.key_materias: raise KeyError('El nombre de la materia es inválida.') else: for val in self.listado: if mat.get_nombre() == val.get_nombre() and mat.get_nro_reg( ) == val.get_nro_reg(): raise KeyError('Ya existe la materia.') self.listado.append(mat)
def mod_materia(self, materia: Materia): nro_reg = materia.get_nro_reg() try: # Checks for valid nro_reg self.cons_alumno(nro_reg) except: raise KeyError( 'No existe un alumno con el número de registro {0}'.format( nro_reg)) self.get_table('T-materias').baja(nro_reg, materia.get_nombre()) self.get_table('T-materias').alta(materia)
def main(): hora = Hora("7:00", " 9:00") materia1 = Materia("Bases Datos", hora) materia2 = Materia("Sistemas", Hora("9:00", "11:00")) materias = [materia1, materia2] oneday = Dia("Lunes") print(oneday) pass
def carga_bd(self, name: str, folder: str): try: f = open(folder + name + '.json', 'r') data = f.read() f.close() except OSError: raise OSError('El archivo {0} en {1} no se pudo abrir.'.format( name, folder)) backup = json.loads(data) for alum in backup['tablas'][0]['listado'].values(): try: self.reg_alumno(Alumno(from_dict=alum)) except KeyError: print('Alumno ya registrado, salteando...') self.acceso.update(backup['acceso']) self.cant_usuarios = len(self.acceso) for val in backup['tablas'][1]['listado']: materia = Materia() for key, value in val.items(): setattr(materia, key, value) try: self.get_table('T-materias').alta(materia) except KeyError: print('Materia {0} from {1} already in database, skipping...'. format(materia.nombre, materia.nro_reg))
def get_one(self, id_materia): materias_sql = "SELECT m.id, m.nombre, \ c.anio, c.division, c.descripcion, c.id, \ m.docente, m.sticky, m.logo, m.mail \ FROM materias m JOIN cursos c ON m.curso = c.id \ WHERE m.id = ?" self.cursor.execute(materias_sql, [id_materia]) for row in self.cursor.fetchall(): curso = Curso(row[5], row[2], row[3], row[4]) materia = Materia(row[0], row[1], curso, row[8], row[7], row[6], row[9]) return materia return None
def cadastrarMateria(): try: materia = Materia(tela.lineMateria.text()) database.inserirMateria(materia.getNome()) tela.lineMateria.setText("") #msg = QMessageBox(None) #msg.setWindowTitle("Cadastro Realizado") #msg.setIcon(QMessageBox.Information) #msg.setText("Cadastro realizado com sucesso!") #msg.show() #msg.exec_() except ValueError: print("Por favor, primeiro digite o nome da matéria.") #msg = QMessageBox(None) #msg.setWindowTitle("Erro") #msg.setIcon(QMessageBox.Critical) #msg.setText("Por favor, primeiro digite o nome da matéria") #msg.show() #msg.exec_() except UserWarning: print("Matéria já cadastrada. Tente novamente.")
def get_all(self): materias_sql = "SELECT m.id, m.nombre, \ c.anio, c.division, c.descripcion, c.id, \ m.docente, m.sticky, m.logo, m.mail \ FROM materias m JOIN cursos c ON m.curso = c.id \ ORDER BY m.curso, sticky DESC;" self.cursor.execute(materias_sql) materias = [] for row in self.cursor.fetchall(): curso = Curso(row[5], row[2], row[3], row[4]) materia = Materia(row[0], row[1], curso, row[8], row[7], row[6], row[9]) materias.append(materia) return materias
def update_materia(id_materia): rm = RepositorioMateria() rc = RepositorioCurso() if request.method == "GET": cursos = rc.get_all() materia = rm.get_one(int(id_materia)) if not materia: return "Error: materia no encontrada. id_materia: " + str( id_materia) form = FlaskForm() return render_template("nueva_materia.html", mensaje=None, form=form, materia=materia, cursos=cursos) else: # Capturar los datos del request idm = request.form["id_materia"] nombre = request.form["nombre"] id_curso = request.form["curso"] docente = request.form["docente"] mail = request.form["mail"] if request.form.get("sticky"): sticky = True else: sticky = False if request.form.get("cambiar_logo"): logo = request.form["logo"] else: logo = None rc = RepositorioCurso() curso = rc.get_one(id_curso) materia = Materia(idm, nombre, curso, logo, sticky, docente, mail) #HACER EL UPDATE if materia.logo: resultado = rm.update(materia) else: resultado = rm.update(materia, cambiar_logo=False) if resultado: mensaje = "Datos de la materia modificados" else: mensaje = "Error al modificar los datos de la materia" #Redirigir a cursos: return redirect(url_for('materias', mensaje=mensaje))
def get_all_curso(self, id_curso): #Si me pasan un curso en vez de un id: if type(id_curso) is Curso: id_curso = id_curso.id materias_sql = "SELECT m.id, m.nombre, \ c.anio, c.division, c.descripcion, c.id, \ m.docente, m.sticky, m.logo, m.mail \ FROM materias m JOIN cursos c ON m.curso = c.id \ WHERE m.curso = ? \ ORDER BY m.curso, sticky DESC;" self.cursor.execute(materias_sql, [id_curso]) materias = [] for row in self.cursor.fetchall(): curso = Curso(row[5], row[2], row[3], row[4]) materia = Materia(row[0], row[1], curso, row[8], row[7], row[6], row[9]) materias.append(materia) return materias
def create_materia(curso=None): if request.method == "GET": form = FlaskForm() rc = RepositorioCurso() cursos = rc.get_all() return render_template("nueva_materia.html", form=form, mensaje=None, materia=None, cursos=cursos, curso=curso) else: # Capturar los datos del request nombre = request.form["nombre"] id_curso = request.form["curso"] docente = request.form["docente"] mail = request.form["mail"] if request.form.get("sticky"): sticky = True else: sticky = False logo = request.form["logo"] rc = RepositorioCurso() curso = rc.get_one(id_curso) materia = Materia(None, nombre, curso, logo, sticky, docente, mail) #GUARDAR EL NUEVO CURSO rm = RepositorioMateria() id_materia = rm.create(materia) if id_materia: mensaje = "Materia creada correctamente" else: mensaje = "Error al crear la materia" #Redirigir a cursos: flash(mensaje) return materias(id_curso)
def cargar_materias(): # 71.12 materia_12 = Materia() materia_12.nombre = '7112 ESTRUCTURA DE LAS ORGANIZACIONES' curso_12 = Curso() curso_12.docentes = 'REYES' curso_12.horarios = [HorarioDeCursada('miercoles', '18:00', '23:00')] materia_12.agregar_curso(curso_12) _materias['12'] = materia_12 # 71.13 materia_13 = Materia() materia_13.nombre = '7113 INFORMACION EN LAS ORGANIZACIONES' curso_13 = Curso() curso_13.docentes = 'MARKDORF' curso_13.horarios = [HorarioDeCursada('martes', '18:00', '22:00')] materia_13.agregar_curso(curso_13) _materias['13'] = materia_13 # 71.15 materia_15 = Materia() materia_15.nombre = '7115 MODELOS Y OPTIMIZACION II' curso_15 = Curso() curso_15.docentes = 'MARKDORF' curso_15.horarios = [HorarioDeCursada('miercoles', '19:00', '21:00'), HorarioDeCursada('jueves', '19:00', '23:00')] materia_15.agregar_curso(curso_15) _materias['15'] = materia_15 # 71.16 materia_16 = Materia() materia_16.nombre = '7116 ADMINISTRACION DE PROYECTOS' curso_16 = Curso() curso_16.docentes = 'BILELLO' curso_16.horarios = [HorarioDeCursada('martes', '19:30', '22:30'), HorarioDeCursada('viernes', '19:30', '22:30')] materia_16.agregar_curso(curso_16) _materias['16'] = materia_16 # 71.40 materia_40 = Materia() materia_40.nombre = '7140 LEG Y EJ PROFESIONAL DE ING EN INFORMATICA' curso_40 = Curso() curso_40.docentes = 'NOREMBERG' curso_40.horarios = [HorarioDeCursada('viernes', '19:00', '23:00')] materia_40.agregar_curso(curso_40) _materias['40'] = materia_40 # 71.14 materia_14 = Materia() materia_14.nombre = 'MODELOS Y OPTIMIZACION I' curso_14_1 = Curso() curso_14_1.docentes = 'RAMONET-NAVARRO' curso_14_1.horarios = [HorarioDeCursada('lunes', '19:00', '22:00'), HorarioDeCursada('jueves', '9:00', '11:30')] materia_14.agregar_curso(curso_14_1) curso_14_2 = Curso() curso_14_2.docentes = 'RAMONET-OITANA' curso_14_2.horarios = [HorarioDeCursada('martes', '19:00', '22:00'), HorarioDeCursada('jueves', '9:00', '11:30')] materia_14.agregar_curso(curso_14_2) curso_14_3 = Curso() curso_14_3.docentes = 'RAMONET-ECHEVARRIA' curso_14_3.horarios = [HorarioDeCursada('martes', '9:00', '12:00'), HorarioDeCursada('jueves', '9:00', '11:30')] materia_14.agregar_curso(curso_14_3) curso_14_4 = Curso() curso_14_4.docentes = 'RAMONET-COLOMBO' curso_14_4.horarios = [HorarioDeCursada('sabados', '10:00', '13:00'), HorarioDeCursada('jueves', '9:00', '11:30')] materia_14.agregar_curso(curso_14_4) curso_14_5 = Curso() curso_14_5.docentes = 'RAMONET-ROMANO' curso_14_5.horarios = [HorarioDeCursada('jueves', '19:00', '22:00'), HorarioDeCursada('jueves', '9:00', '11:30')] materia_14.agregar_curso(curso_14_5) curso_14_6 = Curso() curso_14_6.docentes = 'RAMOS-NAVARRO' curso_14_6.horarios = [HorarioDeCursada('lunes', '19:00', '22:00'), HorarioDeCursada('miercoles', '18:00', '21:30')] materia_14.agregar_curso(curso_14_6) curso_14_7 = Curso() curso_14_7.docentes = 'RAMOS-OITANA' curso_14_7.horarios = [HorarioDeCursada('martes', '19:00', '22:00'), HorarioDeCursada('miercoles', '18:00', '21:30')] materia_14.agregar_curso(curso_14_7) curso_14_8 = Curso() curso_14_8.docentes = 'RAMOS-ECHEVARRIA' curso_14_8.horarios = [HorarioDeCursada('martes', '9:00', '12:00'), HorarioDeCursada('miercoles', '18:00', '21:30')] materia_14.agregar_curso(curso_14_8) curso_14_9 = Curso() curso_14_9.docentes = 'RAMOS-COLOMBO' curso_14_9.horarios = [HorarioDeCursada('sabado', '10:00', '13:00'), HorarioDeCursada('miercoles', '18:00', '21:30')] materia_14.agregar_curso(curso_14_9) curso_14_10 = Curso() curso_14_10.docentes = 'RAMOS-ROMANO' curso_14_10.horarios = [HorarioDeCursada('jueves', '19:00', '22:00'), HorarioDeCursada('miercoles', '18:00', '21:30')] materia_14.agregar_curso(curso_14_10) _materias['14'] = materia_14
def modificar(self, mat: Materia): self.baja(mat.get_nro_reg(), mat.get_nombre()) self.alta(mat)
def AgragarMateria(self, materia): mate = Materia(materia) self.lista_materias.append(mate)