fosadiaria.py
3.19 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
from datetime import datetime
from time import sleep
import os, subprocess
from configuracion import *
import pandas as pd
class FosaDiaria():
"""Esta clase almacenara todos los datos de finalizacion de
una planilla de foza, se busca se baja el excel se abra
y se guarda en ran los resultados"""
def __init__(self) -> None:
self.Cache = {}
self.Archivo = "data/fosa.json"
self.cabezaera = cabezaeraDescargas
self.CarpetaDescarga = carpetaDescargas
def BuscarDatosDominio(self,dominio,selenium,dia=False):
if dia == False:
now = datetime.now()
dia = now.strftime("%d/%m/%Y")
try:
data = self[dia][dominio]
except:
data = False
if not data == False:
return data
try:
self.ActualizarDatosDominios(selenium)
except Exception as E:
print(f"""Error al actualizar dominio {str(E)}""")
return self.LimpiarData(data,dominio,dia)
def LimpiarData(self,data,dominio,dia):
return(data)
def ActualizarDatosDominios(self,selenium):
self.BajarExcel(selenium)
archivo = self.BuscarExcelDescargado()
df = pd.read_excel(archivo)
print(df)
def BajarExcel(self,selenium):
self.LimpiarCarpertaDescarga()
selenium.get("https://rto.cent.gov.ar/rto/RTO/planillaDiaria")
now = datetime.now()
dia = now.strftime("%d")
mes = now.strftime("%m")
ano = now.strftime("%Y")
self.LimpiarCarpertaDescarga()
URL = f"""https://rto.cent.gov.ar/rto/report/planillaDiariaEXCEL/planillaDiariaEXCEL?codTaller=54&fechaConsulta={dia}%2F{mes}%2F{ano}&agruparPorLinea=false&format=excel&extension=xls"""
selenium.get(URL)
def BuscarExcelDescargado(self,tmp="/dev/shm/tmpscdecas.txt"):
test = True
n = 0
while test:
arc = self._BuscarExcelDescargado(tmp)
print(arc, n)
n = n + 1
if not arc == False:
test = False
if n > 70:
return " "
return(arc)
def _BuscarExcelDescargado(self,tmp):
rta = False
#cmd = f"""ls {self.CarpetaDescarga} -ls |grep {self.cabezaera}| grep xls | grep -v crdownload""".split(" ")
rte = subprocess.check_output(["bash",grepfile])
#os.system(cmd)
#print(cmd)
print(rte)
Lines = str(rte).split("\n")
#sleep(0.1)
#file1 = open(tmp, 'r')
#Lines = file1.readlines()
for line in Lines:
der = str(line).split(" ")
#print(1,type(line),type(der))
#print(2,der)
archivo = f"""{self.CarpetaDescarga}{der[-1]}"""
#print(3,line,der,der[-1],archivo)
print(archivo)
rta = archivo
#file1.close()
os.system(f"""rm {tmp}""")
return rta
def LimpiarCarpertaDescarga(self):
try:
os.system(f"""rm {self.CarpetaDescarga}{self.cabezaera}*""")
sleep(0.5)
except Exception as E:
print(f"Error al intentar borrar planillas diarias anteriores: {str(E)}")