Exemple #1
0
    def testPersonaBasic(self):
        """ Basic usage tested for every cipher suite. """
        for Cs in supported_cipher_suites:
            
            alice = Persona(Cs)
            bob   = Persona(Cs)
            carol = Persona(Cs)
            
            # simple key introduction of peers
            alice.addPeer( bob.public_key_bytes, name='bob' )
            alice.addPeer( carol.public_key_bytes, name='carol' )
            
            pt  = b'Testing encryption to peers'
            ctb1  = alice.wrap('bob', pt)
            ctb2  = alice.wrap('bob', pt)
            
            self.assertNotEqual( ctb1, ctb2 )  # each ephemerally encrypted

            bob.addPeer( alice.public_key_bytes, name='alice1' )
            ptb1 = bob.unwrap( 'alice1', ctb1 )
            ptb2 = bob.unwrap( 'alice1', ctb2 )
            self.assertEqual( pt, ptb1 )
            self.assertEqual( pt, ptb2 )

            # error case
            bob.addPeer( alice.public_key_bytes, name='a' )
            try:
                pt3 = carol.unwrap( 'a', ct )         # should fail
                # assert goes here ... 
            except:
                pass
Exemple #2
0
    def test_argumentos_son_opcionales(self):

        # No da error cuando no especificamos alguno de los parámetros
        try:
            Persona("72545123K", "")
            Persona("", "John", 45)
            Persona(45)

        except Exception:
            self.fail("Persona() raised ExceptionType unexpectedly!")
  def tipo(self, tipo, p = None):
    if tipo == "principal" and p == None:
      print("- - - MENU PRINCIPAL - - -")
      print("(1) Registrar persona")
      print("(2) Registrar material")
      print("(3) Registrar pedido")
      print("(4) Registrar devolucion")
      print("(5) Lista de personas")
      print("(6) Lista de pedidos")
      print("(7) Lista de devoluciones")
      print("(8) Lista de materiales")
      print("(9) Salir")
      print("          ")

    if tipo == "persona":
      p = Persona()
      print("Ingrese el nombre de la persona:") 
      n = input()
      print("Ingrese la edad de la persona:") 
      e = input()
      p.registrar(n,e)

    if tipo == "material":
      print("Ingrese el nombre del material:") 
      nm = input()
      m.registrar(nm)

    if tipo == "pedido" :
      p = Persona()
      print("Ingrese el ID de la persona:")
      idp = str(input())
      print("Ingrese el ID del material prestado:") 
      idm = str(input())
      print("Ingrese la fecha de pedido (AAAA/MM/DD):")
      fped = input()
      print("          ")
      print("Mensaje: La persona " + str(idp) + " pidió  el material " + str(idm))
      print("          ")
      p.pide(idp, idm, fped)
      
      
    if tipo == "devolucion" :
      p = Persona()
      print("Ingrese el ID de la persona:")
      idp = str(input())
      print("Ingrese el ID del material prestado:") 
      idm = str(input())
      print("Ingrese la fecha de pedido (AAAA/MM/DD):")
      fdev = input()
      print("          ")
      print("Mensaje: La persona " + str(idp) + " devolvio el material " + str(idm))
      print("          ")
      p.devuelve(idp, idm, fdev)
Exemple #4
0
 def filtrar(self, valor):
     if valor == 1:
         self.filtre2.clear()
         self.filtre3.clear()
         filtre1 = unicode(self.filtre1.text())
         sql = 'SELECT * FROM contactes WHERE nom LIKE "%s%%" ORDER BY nom' % filtre1
     elif valor == 2:
         self.filtre1.clear()
         self.filtre3.clear()
         filtre2 = unicode(self.filtre2.text())
         sql = 'SELECT * FROM contactes WHERE cognoms LIKE "%s%%" ORDER BY nom' % filtre2
     else:
         self.filtre1.clear()
         self.filtre2.clear()
         filtre3 = unicode(self.filtre3.text())
         sql = 'SELECT * FROM contactes WHERE cognoms LIKE "%s%%" ORDER BY nom' % filtre3
     self.tableData = PersonTableModel()
     self.tableLectura.setModel(self.tableData)
     connexio = sqlite3.connect('contactes.db')
     cursor = connexio.cursor()
     cursor.execute(sql)
     resultat = cursor.fetchall()
     if len(resultat) == 0:
         QtGui.QMessageBox.information(
             self, "Informacio", "No hi ha coincidencies amb el filtre")
     else:
         for item in resultat:
             self.tableData.addPersona(Persona(item[0], item[1], item[2]))
     cursor.close()
     connexio.close()
Exemple #5
0
 def AgregarConductor(self, nombre, apellido, DNI, fecha_ingreso):
     P = Persona()
     P.nombre = nombre
     P.apellido = apellido
     P.DNI = DNI
     P.fecha_ingreso = fecha_ingreso
     self.lista_conductores.append(P)
Exemple #6
0
 def SetOperario(self, nombre, apellido, DNI, fecha_ingreso):
     Pe = Persona()
     Pe.nombre = nombre
     Pe.apellido = apellido
     Pe.DNI = DNI
     Pe.fecha_ingreso = fecha_ingreso
     self.operario = Pe
Exemple #7
0
 def test(self):
     person1 = Persona(self.name,
                       self.age,
                       self.gender,
                       weight=self.weight,
                       height=self.height)
     person2 = Persona(self.name, self.age, self.gender)
     person3 = Persona()
     person3.setName('Ricardo Montealegre')
     person3.setAge(15)
     person3.setDni('DBU123654789')
     print(person1.toString() + ', es mayor: ' +
           '{}'.format(person1.esMayorDeEdad()))
     print(person2.toString() + ', es mayor: ' +
           '{}'.format(person2.esMayorDeEdad()))
     print(person3.toString() + ', es mayor: ' +
           '{}'.format(person3.esMayorDeEdad()))
def main():
    persona = Persona('jose', '21')

    persona.say_hello()

    persona.name = 'Jose Oliva'

    persona.say_hello()
Exemple #9
0
 def test_constructor_con_valores_iniciales_partida(self):
     persona = Persona()
     serv = Service()
     persona = serv.add_person('Oriel', 'Barroso', 24)
     self.assertEqual(persona, {
         '_nombre': 'Oriel',
         '_apellido': 'Barroso',
         '_edad': 24
     })
Exemple #10
0
def main():
    try:
        print("\nCreando personas:")
        print("---------------------")
        laura = Persona('Laura', 23, '25678445A')
        print(laura.mostrar())
        jon = Persona('Jon', 15, '30123456B')
        print(jon.mostrar())
        print("¿Es laura mayor de edad ?: {0}".format(
            laura.es_mayor_de_edad()))
        print("¿Es jon mayor de edad ?: {0}".format(jon.es_mayor_de_edad()))

        print("\nCreando cuentas:")
        print("---------------------")
        cuenta_jon = Cuenta(jon, 60)
        print(cuenta_jon.mostrar())
        cuenta_laura = Cuenta(laura, 286)
        print(cuenta_laura.mostrar())
        maria = Persona("Maria", 25, "25885613X")
        cuenta_maria = Cuenta(maria)
        print(cuenta_maria.mostrar())

        print("\nIngresar y retirar de las cuentas:")
        print("---------------------------------------")
        print(cuenta_maria.ingresar(23.5))
        print(cuenta_maria.ingresar(200))
        print(cuenta_maria.retirar(50))
        print(cuenta_jon.retirar(25))
        print(cuenta_jon.retirar(85))
        print(cuenta_jon.ingresar(-67))

        print("\nCreando cuentas Jovenes:")
        print("---------------------")
        cuenta_joven_laura = CuentaJoven(laura, 300, 5)
        print(cuenta_joven_laura.mostrar())
        print(cuenta_joven_laura.ingresar(500))
        print(cuenta_joven_laura.retirar(200))
        cuenta_joven_jon = CuentaJoven(jon)
        print(cuenta_joven_jon.mostrar())
        print(cuenta_joven_jon.ingresar(100))
        print(cuenta_joven_jon.retirar(50))

    except Exception as e:
        print(e)
Exemple #11
0
    def test_mostrar(self):

        unaPersona = Persona("72545123K", "John", 45)

        with Capturing() as output:
            unaPersona.mostrar()

        self.assertEqual('DNI: 72545123K', output[0])
        self.assertEqual('Nombre: John', output[1])
        self.assertEqual('Edad: 45', output[2])
 def eliminar_persona_controller(self):
     """Controlador para eliminar un persona"""
     listado = self.traer_persona()
     idpersona = self.vista.eliminar_persona(listado)
     idpersona = idpersona
     persona = Persona()
     persona.idpersona = idpersona
     persona.delete()
     self.vista.confirmar_eliminar_persona()
     self.persona_controller()
Exemple #13
0
 def seleccionar(cls):
     with CursorDelPool() as cursor:
         logger.debug(cursor.mogrify(cls.__SELECCIONAR))
         cursor.execute(cls.__SELECCIONAR)
         registros = cursor.fetchall()
         personas = []
         for registro in registros:
             persona = Persona(registro[0], registro[1], registro[2], registro[3])
             personas.append(persona)
         return personas
Exemple #14
0
 def seleccionar(cls):
     with Conexion.obtenerConexion() as conexion:
         with conexion.cursor() as cursor:
             cursor.execute(cls._SELECCIONAR)
             registros = cursor.fetchall()
             personas = []
             for registro in registros:
                 persona = Persona(registro[0], registro[1], registro[2],
                                   registro[3])
                 personas.append(persona)
             return personas
Exemple #15
0
 def seleccionar(cls):
     cursor = Conexion.obtenerCursor()
     logger.debug(cursor.mogrify(cls.__SELECCIONAR))
     cursor.execute(cls.__SELECCIONAR)
     registros = cursor.fetchall()
     personas = []
     for registro in registros:
         persona = Persona(registro[0], registro[1], registro[2], registro[3])
         personas.append(persona)
     Conexion.cerrar()
     return personas
 def crear_persona_controller(self):
     """Controlador para creación de nueva persona"""
     (persona_nombre, persona_apellido,
      persona_dni) = self.vista.crear_persona()
     persona = Persona()
     persona.nombre = persona_nombre
     persona.apellido = persona_apellido
     persona.dni = persona_dni
     persona.create()
     self.vista.confirmar_creacion()
     self.persona_controller()
Exemple #17
0
 def get_all_persons(self):
     connexio = self.db.getConnexio()
     cursor = connexio.cursor()
     cursor.execute('SELECT * FROM contactes ORDER BY nom')
     resultat = cursor.fetchall()
     persones = []
     if len(resultat) > 0:
         for item in resultat:
             persones.append(Persona(item[0], item[1], item[2]))
     cursor.close()
     self.db.closeConnexio()
     return persones
Exemple #18
0
    def test_es_mayor_de_edad(self):

        # Mayor de edad
        unaPersona = Persona("72545123K", "John", 45)
        self.assertEqual(unaPersona.esMayorDeEdad(), True)

        # De 18
        unaPersona = Persona("72545123K", "John", 18)
        self.assertEqual(unaPersona.esMayorDeEdad(), True)

        # Menor de edad
        unaPersona = Persona("72545123K", "John", 17)
        self.assertEqual(unaPersona.esMayorDeEdad(), False)

        # Edad desconocida
        unaPersona = Persona("72545123K", "John")
        self.assertEqual(unaPersona.esMayorDeEdad(), None)

        # Edad no válida
        unaPersona = Persona("72545123K", "John", "esto no es válido")
        self.assertEqual(unaPersona.esMayorDeEdad(), None)
 def editar_persona_controller(self):
     """Controlador para editar un persona"""
     listado = self.traer_persona()
     (idpersona, nombre, apellido, dni) = self.vista.editar_persona(listado)
     persona = Persona()
     persona.idpersona = int(idpersona)
     persona.nombre = nombre
     persona.apellido = apellido
     persona.dni = int(dni)
     persona.update()
     self.vista.confirmar_editar_persona()
     self.persona_controller()
Exemple #20
0
 def seleccionar(cls):
     with CursorDelPool() as cursor:
         logger.debug(
             cursor.mogrify(cls.__SELECCIONAR)
         )  # manda a imprimir el query q se va a ejecutar pero en la base de datos
         cursor.execute(cls.__SELECCIONAR)
         registros = cursor.fetchall()
         personas = []
         for registro in registros:
             persona = Persona(registro[0], registro[1], registro[2],
                               registro[3])
             personas.append(persona)
         return personas
Exemple #21
0
 def get_by_email(self, correu):
     connexio = self.db.getConnexio()
     cursor = connexio.cursor()
     sql = 'SELECT * FROM contactes WHERE cognoms LIKE "%s%%" ORDER BY nom' % correu
     cursor.execute(sql)
     resultat = cursor.fetchall()
     persones = []
     if len(resultat) > 0:
         for item in resultat:
             persones.append(Persona(item[0], item[1], item[2]))
     cursor.close()
     self.db.closeConnexio()
     return persones
Exemple #22
0
    def poblar(self, indicePoblacion):
        self.habitantes = []
        m = 0

        for i in range(len(self.matriz)):
            for j in range(len(self.matriz[i])):

                dado = random.randint(1, indicePoblacion)
                if dado == math.ceil(indicePoblacion / 2):
                    self.matriz[i][j] = Persona(1, i, j, 0)
                    self.habitantes.append(self.matriz[i][j])
                    m += 1
                else:
                    self.matriz[i][j] = 0
Exemple #23
0
 def seleccionar(cls):
     cursor = Conexion.obtenerCursor()
     logger.debug(
         cursor.mogrify(cls.__SELECCIONAR)
     )  # manda a imprimir el query q se va a ejecutar pero en la base de datos
     cursor.execute(cls.__SELECCIONAR)
     registros = cursor.fetchall()
     personas = []
     for registro in registros:
         persona = Persona(registro[0], registro[1], registro[2],
                           registro[3])
         personas.append(persona)
     Conexion.cerrar()
     return personas
Exemple #24
0
    def seleccionar(cls):
        cursor = Conexion.obtenerCursor()
        # .mogrify(sql) mostrara el string que se ejecutara en la BD
        logger.debug(cursor.mogrify(cls.__SELECCIONAR))
        cursor.execute(cls.__SELECCIONAR)
        registros = cursor.fetchall()
        personas = []
        for registro in registros:
            # con los registros retornamos una lista de objetos con informacion de persona
            persona = Persona(registro[0], registro[1], registro[2],
                              registro[3])
            personas.append(persona)

        Conexion.cerrarConexion()
        return personas
 def register(self):
     persona = Persona(self.ui.le_dni.text(), self.ui.le_nombre.text(),
                       self.ui.le_apellido.text(), self.ui.le_edad.text(),
                       self.ui.cb_sexo.currentText(),
                       self.ui.cb_provincia.currentText(),
                       self.ui.le_fecha_registro.date())
     print(persona)
     if not persona.is_empty():
         self.personas.append(persona)
         self.save_file()
         self.clear_all()
         if self.list_window.isHidden():
             self.list_window.show()
         self.list_window.agregar_row(persona)
     else:
         QMessageBox().warning(self, "Datos Faltantes",
                               "Cuidado!!! Faltan datos")
Exemple #26
0
def main():

    print('Este es el nuevo banco, ¿qué quiere hacer? \n')
    print('1) Registar un nuevo usuario')
    print('2) Iniciar sesion')

    try:
        userInput = int(
            input(
                'Escriba bien su opción o le quito $1000 cada vez que se equivoque: '
            ))

    except:
        print(
            'Lo siento se le han retirado $1000, vuelva a ingresar la opción correcta :)'
        )

    else:
        if userInput == 1:
            print('Ha elegido registrar a un señor')
            nuevoUsuario()

        elif userInput == 2:
            print('Ha elegido iniciar sesion')
            usr = input('Ingrese su nombre de usuario ')
            psw = input('ingrese su contraseña ')

            account = Persona(usr, psw)

            iniciarSesion(usr=usr, psw=psw, Persona=account)

        else:
            print(
                'No ha escogido alguna de las dos opciones, se le retirarán $1000, intente de nuevo :)'
            )

    finally:

        userInput = input('Desea realizar alguna otra acción? Y/N ').lower()

        if userInput == 'y':
            main()
        else:
            print('Ai nos vemos')
Exemple #27
0
 def seleccionar(cls):
     # con with abre el cursor y lo cierra de forma automatica, usada comun mente para abrir y cerrar recursos
     """
     Con la definicion de esta forma se obiene la ejecucion atuomatica de los siguientes metodos:
         __enter__() cuando crea la variable
         __exit__() cuando finaliza las lineas de codigo que contenga
     """
     with CursorDelPool() as cursor:
         # .mogrify(sql) mostrara el string que se ejecutara en la BD
         logger.debug(cursor.mogrify(cls.__SELECCIONAR))
         cursor.execute(cls.__SELECCIONAR)
         registros = cursor.fetchall()
         personas = []
         for registro in registros:
             # con los registros retornamos una lista de objetos con informacion de persona
             persona = Persona(registro[0], registro[1], registro[2],
                               registro[3])
             personas.append(persona)
         return personas
Exemple #28
0
    def test_editar_propiedades(self):

        unaPersona = Persona("72545123K", "John", 45)

        # Ediciones válidas

        unaPersona.dni = "72545333L"
        unaPersona.nombre = "Pepe"
        unaPersona.edad = 33
        self.assertEqual(unaPersona.dni, "72545333L")
        self.assertEqual(unaPersona.nombre, "Pepe")
        self.assertEqual(unaPersona.edad, 33)

        # Ediciones NO válidas (No hay cambio)
        unaPersona.dni = "dni no válido"
        unaPersona.nombre = 34
        unaPersona.edad = -12
        self.assertEqual(unaPersona.dni, "72545333L")
        self.assertEqual(unaPersona.nombre, "Pepe")
        self.assertEqual(unaPersona.edad, 33)
Exemple #29
0
 def emplenar(self):
     self.filtre1.clear()
     self.filtre2.clear()
     self.filtre3.clear()
     self.tableData = PersonTableModel()
     self.tableLectura.setModel(self.tableData)
     self.tableLectura.setColumnWidth(0, 135)
     self.tableLectura.setColumnWidth(1, 205)
     self.tableLectura.setColumnWidth(2, 174)
     connexio = sqlite3.connect('contactes.db')
     cursor = connexio.cursor()
     cursor.execute('SELECT * FROM contactes ORDER BY nom')
     resultat = cursor.fetchall()
     if len(resultat) == 0 and self.tabWidget.currentIndex() == 1:
         QtGui.QMessageBox.information(self, "Informacio",
                                       "La base de dades esta buida")
     else:
         for item in resultat:
             self.tableData.addPersona(Persona(item[0], item[1], item[2]))
     cursor.close()
     connexio.close()
def generarCenso(cantPersonas, data, trabajos):
    inicio = datetime(1990, 1, 30)
    fin = datetime(2000, 12, 31)
    prob = normal.Normal()
    for i in range(1, cantPersonas + 1):
        cantHermanos = 0
        genero = random.randint(0, 1)
        randomDate = inicio + (fin - inicio) * random.random()
        trabaja = (True if prob.generateProb() > 1.5 else False)
        vivePadres = (True if prob.generateProb() > 1.5 else False)
        tieneHermanos = (True if prob.generateProb() > 1.5 else False)
        estadoCivil = ("S" if prob.generateProb() > 1.5 else "C")
        edad = time.localtime(time.time()).tm_year - randomDate.year
        fechaNacimiento = "{}-{}-{}".format(randomDate.year, randomDate.month,
                                            randomDate.day)
        if (tieneHermanos):
            cantHermanos = round(prob.generateProb())
        pais, estado, ciudad = getPaisEstadoCiudad(data)
        trabajo = getTrabajo(trabajos)
        persona = Persona(i, genero, fechaNacimiento, edad, pais, estado,
                          ciudad, trabajo, estadoCivil, trabaja, vivePadres,
                          tieneHermanos, cantHermanos)
        collection.insert(persona.toDBCollection())