Пример #1
0
 def first(self):
     dias = duzz(self.cred).tabelas()
     cond = False
     for i in range(len(dias)):
         for c in range(len(dias[i])):
             if self.date in dias[i][c]:
                 cond = True
     if not cond:
         duzz(self.cred).criar_table(self.date)
Пример #2
0
 def dados(self, ref, tipo):
     """
     return is True
     
     RETORNA OS DADOS PARA PLOTAR NO GRAFICO,
     SENDO TIPO:
                 1 = GRAFICO MENSAL;
                 2 = GRAFICO DIARIO;
     SENDO REF:
                 VALOR REFERENTE AO DIA/MES
     """
     
     retorno = list()
     
     if tipo == 1:
         dados = list()
         kwh = list()
         dias = self.dia_mes(mes = ref)
         for dia in dias:
             conta = 0
             kw = 0.0
             horas = duzz(self.cred).colunas(dia)
             for hora in horas:
                 pot_hora = 0.0
                 dados = duzz(self.cred).buscar_dados(dia, hora)
                 for dado in dados:
                     potencia = ORG().trata_potencia(str(dado))
                     pot_hora += float(potencia)
                     kw += float(potencia)
                 if pot_hora > 0:
                     conta += 1
             kw = kw / (1800 * conta)
             kw = kw / 1000
             kwh.append(kw)
             
         #ADICIONANDO NA LISTA DE RETORNO OS DIAS E AS LEITURAS
         retorno.append(dias)        #EIXO X = 0
         retorno.append(kwh)         #EIXO y = 1
         
     else:
         kwh = list()
         horas = list()
         horas.append(duzz(self.cred).colunas(ref))
         for hora in horas[0]:
             dados = duzz(self.cred).buscar_dados(ref, hora)
             kw = 0.0
             for dado in dados:
                 potencia = ORG().trata_potencia(str(dado))
                 kw += float(potencia)
             kw = (kw / 1800) / 1000
             kwh.append(kw)
         #ADICIONANDO NA LISTA DE RETORNO AS HORAS E AS LEITURAS
         retorno.append(horas[0])    #EIXO X = 0
         retorno.append(kwh)         #EIXO Y = 1
         
     return retorno
Пример #3
0
    def envia(self, cred):

        #PEGANDO A AUTENTICAÇÃO DO BD
        self.cred = cred
        #PEGANDO A HORA
        horario = self.horario()
        #ORGANIZANDO O TXT
        ORG().organiza(horario)
        #PEGANDO DADOS ORGANIZADOS
        dados = ORG().organiza_BD()
        #SALVANDO O VALOR DO CONSUMO
        self.potencia = float(dados[1])
        self.hora = dados[0]
        #SALVANDO O DIA AO QUAL FOI FEITO O CONSUMO
        self.date = self.data()
        #FAZENDO BACKUP DO ARQUIVO COM OS DADOS
        ORG().backup(self.date, horario[0])

        #SUBINDO DADOS AO BANCO DE DADOS
        self.first()
        duzz(self.cred).subir_dado(dia=self.date,
                                   hora=self.hora,
                                   potencia=self.potencia)  #Subimos os dados
        os.remove("backup/dados.txt")
Пример #4
0
    def pega_item(self, item, mes = None):
        
        """
        retorna os itens pedidos
        sendo:
                0 = ANO;
                1 = MES;
                2 = DIA;
                
        """

        self.retorno = list()
        lista = list()
        dias = duzz(self.cred).tabelas()

        if item == 2:
            try:
                mes != None
            except:
                raise exception("O Mês deve ser passado como argumento")
            else:
                for dia in dias:
                    lista.append(ORG().trata(str(dia)))
                for i in lista:
                    retorno = ORG().data(i)
                    if retorno[1] == mes:
                        self.retorno.append(str(retorno[item]))

        else:
        
            for dia in dias:
                lista.append(ORG().trata(str(dia)))
            for i in lista:
                retorno = ORG().data(i)
                self.retorno.append(str(retorno[item]))

        return sorted(set(self.retorno))
Пример #5
0
 def f_dias(self):
     self.dia = list()
     self.dias = duzz(self.cred).tabelas()
     for dia in self.dias:
         self.dia.append(ORG().trata(str(dia)))