def crear_grafica_mascotas(self):
     dao = dao_mas()
     lista_n = dao.consultar_tipo_mascota(self.__database)
     #var = ["".join(str(i)) for i in lista_n]
     var = [list(row) for row in lista_n]
     print("lista de listas ", var)
     labels = list(filter(self.etiquetas, var))
     labels = list(self.flatten(labels))
     #print("etiquetas",labels)
     sizes = list(filter(self.valores, var))
     colors = ['#ff9999', '#66b3ff', '#99ff99']
     fig1, ax1 = plt.subplots()
     ax1.pie(sizes,
             colors=colors,
             labels=labels,
             autopct='%1.1f%%',
             startangle=90)  #draw circle
     centre_circle = plt.Circle((0, 0), 0.70, fc='white')
     fig = plt.gcf()
     fig.gca().add_artist(
         centre_circle
     )  # Equal aspect ratio ensures that pie is drawn as a circle
     ax1.axis('equal')
     plt.tight_layout()
     plt.show()
    def buscar_tabla(self, e):
        dao = dao_mas()
        if e.text().isalpha():
            texto = self.txt_buscar_mascota.text() + e.text()
            self.txt_buscar_mascota.setText(texto)
            dao.busqueda_avanzada(self.__database, texto, self.tbl_mascota,
                                  self.prueba_imprimir,
                                  self.actualizar_mascota_accion)

        #dao.busqueda_avanzada(self.__database, texto, self.tbl_mascota, self.prueba_imprimir, self.actualizar_mascota_accion)
        if e.key() == Qt.Key_Return:
            print(' return')
        elif e.key() == Qt.Key_Enter:
            print(' enter')
        elif e.key() == Qt.Key_Backspace:
            texto = self.txt_buscar_mascota.text()
            print('valor')
            texto = texto.replace(texto[len(texto) - 1:len(texto)], " ")
            print(
                'funciones ',
                texto.replace(texto[len(texto) - 2:len(texto)], " ").strip() +
                'o')
            texto = texto.strip()
            print(texto)
            self.txt_buscar_mascota.setText(texto)
            dao.busqueda_avanzada(self.__database, texto, self.tbl_mascota,
                                  self.prueba_imprimir,
                                  self.actualizar_mascota_accion)
    def cargar_tabla(self):

        dao = dao_mas()
        lista = dao.consutar_mascota(self.__database)
        columna: int = 0
        fila: int = 0
        self.tbl_mascota.setRowCount(len(lista))
        numeroFilas = self.tbl_mascota.rowCount()
        self.tbl_mascota.insertRow(numeroFilas)
        for i in lista:
            self.btn_eliminar = QtWidgets.QPushButton('Eliminar')
            self.btn_eliminar.clicked.connect(self.prueba_imprimir)
            self.tbl_mascota.setCellWidget(columna, 6, self.btn_eliminar)
            self.btn_actualizar_registro_mascota = QtWidgets.QPushButton(
                'Actualizar')
            self.btn_actualizar_registro_mascota.clicked.connect(
                self.actualizar_mascota_accion)
            self.tbl_mascota.setCellWidget(
                columna, 7, self.btn_actualizar_registro_mascota)
            for e in i:
                self.tbl_mascota.setItem(columna, fila,
                                         QTableWidgetItem(str(e)))
                fila += 1
            columna += 1
            fila = 0
 def prueba_imprimir(self):
     button = QtWidgets.qApp.focusWidget()
     dao = dao_mas()
     index = self.tbl_mascota.indexAt(button.pos())
     if index.isValid():
         print(index.row(), index.column())
         id = self.tbl_mascota.item(index.row(), 0).text()
         dao.eliminar_mascota(id, self.__database)
         print(str(id))
         self.cargar_tabla()