def seleccionar(cls):
     cursor = Conexion.obtener_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)
     Conexion.cerrar()
     return personas
 def eliminar(cls, persona):
     try:
         cursor = Conexion.obtener_cursor()
         logger.debug(cursor.mogrify(cls.__ELIMINAR))
         logger.debug(f'Persona a eliminar: {persona}')
         
         valores = ( persona.get_idPersona(), )
         
         cursor.execute(cls.__ELIMINAR, valores)
         Conexion.obtener_conexion().commit()
         return cursor.rowcount
         
     except Exception as e:
         Conexion.obtener_conexion().rollback()
         logger.error(f'Excepción al eliminar persona: {e}')
     finally:
         Conexion.cerrar()
 def insertar(cls, persona):
     try:
         # conexion = Conexion.obtener_conexion()
         cursor = Conexion.obtener_cursor()
         logger.debug(cursor.mogrify(cls.__INSERTAR))
         logger.debug(f'Persona a insertar: {persona}')
         
         valores = (
             persona.get_nombre(),
             persona.get_apellido(),
             persona.get_email()
         )
         
         cursor.execute(cls.__INSERTAR, valores)
         Conexion.obtener_conexion().commit()
         return cursor.rowcount
     except Exception as e:
         Conexion.obtener_conexion().rollback()
         logger.error(f'Excepción al insertar persona: {e}')
     finally:
         Conexion.cerrar()