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)
Exemple #3
0
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))
Exemple #5
0
    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
Exemple #6
0
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.")
Exemple #7
0
    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
Exemple #8
0
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))
Exemple #9
0
    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
Exemple #10
0
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)
Exemple #13
0
 def AgragarMateria(self, materia):
     mate = Materia(materia)
     self.lista_materias.append(mate)