Esempio n. 1
0
 def _leer_desde_sql(self):
     registros = []
     try:
         registros = self.cursor.fetchall()
     except Exception as e:
         escribir_al_log(e, f'Un error ocurrió al momento de leer desde la BD')
     return registros
Esempio n. 2
0
 def obtener_documento(self, condicion):
     documento = None
     try:
         documento = self.coleccion.find_one(condicion)
     except errors.PyMongoError as e:
         escribir_al_log(
             e, "Ocurrio un error al obtener el documento de la BD MongoDB")
     return documento
Esempio n. 3
0
 def insertar_documento(self, datos_documento):
     nuevo_id = None
     try:
         resultado = self.coleccion.insert_one(datos_documento)
         nuevo_id = resultado.inserted_id
     except errors.PyMongoError as e:
         escribir_al_log(
             e, "Ocurrio un error al insertar el documento a la BD MongoDB")
     return nuevo_id
Esempio n. 4
0
 def eliminar_documento(self, condicion):
     eliminacion_exitosa = False
     try:
         resultado = self.coleccion.delete_one(condicion)
         eliminacion_exitosa = resultado.deleted_count > 0
     except errors.PyMongoError as e:
         escribir_al_log(
             e,
             "Ocurrio un error al eliminar el documento de la BD MongoDB")
     return eliminacion_exitosa
Esempio n. 5
0
 def __init__(self, cadena_conexion, base_datos, coleccion):
     try:
         self.client = MongoClient(cadena_conexion)
         self.db = self.client[base_datos]
         self.coleccion = self.db[coleccion]
     except errors.ConnectionFailure as e:
         escribir_al_log(
             e,
             f"Ocurrio un error al conectarnos a la BD MongoDB {base_datos}"
         )
Esempio n. 6
0
 def obtener_documentos(self, condicion):
     documentos = []
     try:
         respuesta = self.coleccion.find(condicion)
         documentos = list(respuesta)
     except errors.PyMongoError as e:
         escribir_al_log(
             e,
             "Ocurrio un error al buscar los documentos en la BD MongoDB")
     return documentos
Esempio n. 7
0
 def __init__(self, **parametros):
     try:
         self.db = connect(host=parametros['direccion_servidor'],
                           user=parametros['usuario'],
                           password=parametros['contrasenia'],
                           database=parametros['base_datos'])
         self.cursor = self.db.cursor()
     except Error as e:
         escribir_al_log(e,
                         "ocurrio un error al conectar a la base de datos")
Esempio n. 8
0
 def actualizar_documento(self, condicion, atributos_cambiar):
     actualizacion_exitosa = False
     try:
         resultado = self.coleccion.update_one(condicion,
                                               {'$set': atributos_cambiar})
         actualizacion_exitosa = resultado.modified_count > 0
     except errors.PyMongoError as e:
         escribir_al_log(
             e,
             "Ocurrio un error al actualizar el documento en la BD MongoDB")
     return actualizacion_exitosa
Esempio n. 9
0
 def _ejecutar_sql(
     self, sentencia_sql, parametros=None, 
     escribir_en_bd=True
 ):
     try:
         self.cursor.execute(sentencia_sql, parametros) # execute corre las sentencias sql
         if escribir_en_bd:
             self.db.commit()
     except Exception as e:
         escribir_al_log(e, f"Ocurrio un error al ejecutar la sentencia SQL:\n\n{sentencia_sql}\n")
         if escribir_en_bd:
             self.db.rollback()
Esempio n. 10
0
 def consultar_cabecera_prestamo(self):
     try:
         self._ejecutar_sql(
             "SELECT CASE WHEN max(id_prest) IS NULL THEN 0 ELSE max(id_prest) END AS id_prest FROM PRESTAMO;",
             escribir_en_bd=False)
         if self.cursor.rowcount:
             id_fila = self.cursor.fetchone()[0]
             return id_fila
         else:
             return self.cursor.rowcount
     except Exception as e:
         escribir_al_log(
             e, f'Un error ocurrió al momento de consultar cabecera')
Esempio n. 11
0
 def consultar_estado_libro(self, isbn):
     try:
         self._ejecutar_sql("SELECT estado FROM " + self.tabla +
                            f"""  WHERE isbn ='{isbn}';""",
                            escribir_en_bd=False)
         if self.cursor.rowcount:
             id_fila = self.cursor.fetchone()[0]
             return id_fila
         else:
             return self.cursor.rowcount
     except Exception as e:
         escribir_al_log(
             e, f'Un error ocurrió al momento de consultar registro libro')
Esempio n. 12
0
 def consultar_registro_lector(self, num_tarjeta):
     try:
         self._ejecutar_sql("SELECT id_lector FROM " + self.tabla +
                            f"""  WHERE num_tarjeta='{num_tarjeta}';""",
                            escribir_en_bd=False)
         if self.cursor.rowcount:
             id_fila = self.cursor.fetchone()[0]
             return id_fila
         else:
             return self.cursor.rowcount
     except Exception as e:
         escribir_al_log(
             e, f'Un error ocurrió al momento de consultar registro lector')
Esempio n. 13
0
 def consultar_registro_editorial(self, nombre):
     try:
         self._ejecutar_sql("SELECT cod_ed FROM " + self.tabla +
                            f"""  WHERE nombre='{nombre}';""",
                            escribir_en_bd=False)
         if self.cursor.rowcount:
             id_fila = self.cursor.fetchone()[0]
             return id_fila
         else:
             return self.cursor.rowcount
     except Exception as e:
         escribir_al_log(
             e, f'Un error ocurrió al momento de consultar registro')
Esempio n. 14
0
    def __init__(self, **parametros):

        try:
            self.db = connect(host=parametros['direccion_servidor'],
                              user=parametros['usuario'],
                              password=parametros['contrasena'],
                              database=parametros['base_datos'])
            self.cursor = self.db.cursor()
            self.tabla = parametros['tabla']
            self.campo_condicional = ''

        except Error as e:
            escribir_al_log(
                e, "Ocurrio un error al conectar a la base de datos aqui")
Esempio n. 15
0
    def consultar_prestamo_lector(self, id_lector):
        try:

            self._ejecutar_sql(f"""
            SELECT CAB.id_prest, LIB.isbn, LIB.titulo, DET.est_prest, CAB.fec_solic, DET.fec_devol_max
            FROM PRESTAMO AS CAB
            INNER JOIN  DETALLE_PRESTAMO AS DET 
            ON CAB.id_prest = DET.id_prest INNER JOIN LIBRO AS LIB
            ON DET.id_libro = LIB.id_libro
            WHERE CAB.id_lector={id_lector};""",
                               escribir_en_bd=False)

            return self._leer_desde_sql()

        except Exception as e:
            escribir_al_log(
                e,
                f'Un error ocurrió al momento de consultar prestamo por lector'
            )