Esempio n. 1
0
    def make(self):
        #Desactivamos el boton de MAKE para evitar colisiones
        self.fusion.setEnabled(False)
        #NewFileCampos:  contiene los campos que seran usados en el tercer archivo
        self.NewFileCampos = self.campos_lista1
        #Se le agregan los datos del segundo archivo seleccionado
        self.NewFileCampos += self.campos_lista2
        #Este for recorre la lista de tipos que contiene el file1 , y por medio de una comparacion encuentra los proximos a usar
        #en el tercer archivo
        for i in range(len(self.indices_lista1)):
            self.NewFileTipos.append(self.tiposFile1[self.indices_lista1[i]])
        #Este for recorre la lista de tipos que contiene el file2 , y por medio de una comparacion encuentra los proximos a usar
        #en el tercer archivo
        for i in range(len(self.indices_lista2)):
            self.NewFileTipos.append(self.tiposFile2[self.indices_lista2[i]])

        #creamos una instancia de FILe donde le mandamos las dos rutas para trabajar con sus registros
        FILE = File(self.ruta1, self.ruta2)
        #cantFile1: la cantidad de datos del file1
        cantFile1 = int
        #cantFile2: la cantidad de datos del file2
        cantFile2 = int
        #arriba fueron declarados como int
        #a continuacion se les asigna los datos capturados de file1 y file2
        cantFile1 = FILE.getCantFile1()
        cantFile2 = FILE.getCantFile2()

        #Si la cantidad de datos que contiene es la misma :
        if cantFile1 == cantFile2:
            #por medio de la instancia file, llamamos a crearNewFile, este escribe en el tercer archivo la metadata
            FILE.createNewFile(self.NewFileTipos, self.NewFileCampos,
                               cantFile1)
            #esta siguiente llamada escribe los campos seleccionados de los dos archivos
            FILE.write_in_newFile(self.indices_lista1, self.indices_lista2)
            #Este codigo es usado para mostrar un aviso a nuestro usuario
            msg = QtGui.QMessageBox()
            msg.setIcon(QtGui.QMessageBox.Information)
            msg.setText("MERGE REALIZADO CON EXITO!")
            msg.setWindowTitle("Merge Files")
            retval = msg.exec_()
        else:
            #Si nuestros archivos no comparten la misma cantidad de datos le decimos al usuario que no puede realizarse la accion
            msg = QtGui.QMessageBox()
            msg.setIcon(QtGui.QMessageBox.Information)
            msg.setText("NO PUEDE FUSIONAR ARCHIVOS DE TAMANOS DIFERENTES!")
            msg.setWindowTitle("Merge Files")
            retval = msg.exec_()
Esempio n. 2
0
import urllib.request, json
import urllib.parse
import re
import sys
sys.path.append('element.py')
from element import Element
sys.path.append('file.py')
from file import File

with urllib.request.urlopen(
        "http://localhost/zabbix/json/getAllSlaByService.php") as url:
    data = json.loads(url.read().decode())
    print(len(data))
tab = []

for i in range(0, len(data)):
    e = Element(data[i]['host_name'], data[i]['list'])
    tab.append(e)
f = File("result.csv")
f.createNewFile()

for i in range(0, len(tab)):
    #print (tab[i].getHost_name())
    #print (tab[i].getSla())
    raw = tab[i].convertString_To_Float(tab[i].getSla())
    s = "%s;%f" % (tab[i].getHost_name(),
                   round(tab[i].calcul_prediction(raw), 4))
    print(s)
    f.addNewLineInFile(s)