armador.py
1.97 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
from Libmod.psql import BaseDatos
from Libmod.reporte import Reporte
import random, string, time
class NegroReport():
def __init__(self):
self.__DBinit__()
self.ConfiguracionExecl()
def __DBinit__(self):
self.DB = BaseDatos()
self.DB.HOST = "127.0.0.1" #"192.168.10.59"
self.DB.PORT = 5432
self.DB.USER = "administrador"
self.DB.PASS = "administrador"
self.DB.DB = "isvareporte"
self.DB.SELECT = ""
def ConfiguradorDB(self, BaseDatos):
"""Aca gestionamos el objeto que se recive de falange para configurar
la db postgress usuario, db, puerto, pass, host enviados por falange"""
self.DB.USER = BaseDatos["usuario"]
self.DB.PASS = BaseDatos["pass"]
self.DB.PORT = BaseDatos["puerto"]
self.DB.DB = BaseDatos["db"]
self.DB.HOST = BaseDatos["host"]
def ConfiguracionExecl(self):
"""configuro la clase que genera el excel y almaseno el nombre del archivo"""
self.Excel = Reporte()
string = time.strftime("%y%m%d%H%M%S")
self.Archivo = "tmp/reporte{}.xlsx".format(string)
self.Excel.archivo = self.Archivo
string = ""
def randomString(self, stringLength=10):
"""Generate a random string of fixed length """
letters = string.ascii_lowercase
return(''.join(random.choice(letters) for i in range(stringLength)))
def Encabezado(self, Reporte):
"""Trato de cargar el encabezado si este no es nulo sino"""
#print("armador encabezado", Reporte["Titulos"])
try:
self.Excel.Encabesado = Reporte["Titulos"]
print("armador encabezado", Reporte["Titulos"])
except:
self.Excel.Encabesado = []
print("falla encavezado")
def Generador(self):
self.DB.Leer()
self.ConfiguracionExecl()
self.Excel.QUERY = self.DB.resultado
self.Excel.ArmarLibro()
return(self.Archivo)