-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgeneradorHtml.py
109 lines (82 loc) · 3.32 KB
/
generadorHtml.py
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
99
100
101
102
103
104
105
106
107
108
109
# -*- coding: utf-8 -*-
import database
import os
def llenarSelectBD(tabla):
"""Llena un select con los nombres de una tabla.
Recibe como parámetro un string con el nombre de la tabla que contiene los
nombres deseados.
Retorna un string con el código html listo para emplazar en el contenido de
un select
"""
bd = database.DatabaseManager()
dicc={}
lista=bd.obtenerDatos(tabla)
for registro in lista:
dicc[registro["nombre"]]=registro["id"]
options=llenarSelect(dicc)
return options
def llenarSelect(diccionario):
"""Llena un select con los valores de un diccionario.
Recibe como parámetro un diccionario con el formato {"nombre":"valor"}, con
los que se llenará el select.
Retorna un string con el código html listo para emplazar en el contenido de
un select
"""
selectHtml = ""
for item in diccionario:
selectHtml += '<option value="%s">%s</option>\n' % (str(diccionario[item]), item)
return selectHtml
def llenarTablaBD(tabla,listaCampos,ud=0):
"""Llena una tabla html a partir de los registros en la base de datos.
Recibe como parámetro "tabla", que es el nombre de la tabla como string y
"listaCampos", una lista con el nombre de los campos a llenar
Retorna un string con una tabla html que contiene los registros de la tabla
indicada
"""
bdm = database.DatabaseManager()
listaDiccionarios=bdm.obtenerDatos(tabla)
listaResultado=[listaCampos]
for diccionario in listaDiccionarios:
#se crean sublistas
subLista=[]
for valor in listaCampos:
subLista.append(diccionario[valor.lower()])
if ud:
id=diccionario["id"]
botones="""<a href='editar/%s'><img alt='Editar' title='Editar'
src='https://dl.dropbox.com/u/36392791/edit.png'></a>
<a href='eliminar/%s'><img alt='Eliminar' title='Eliminar'
src='https://dl.dropbox.com/u/36392791/delete.png'></a>""" % (id,id)
subLista.append(botones)
# subLista.append("<a href='eliminar/%s'><img alt='Eliminar' title='Eliminar' src='https://dl.dropbox.com/u/36392791/delete.png'></a>" % diccionario["id"] )
# subLista.append("hola")
listaResultado.append(subLista)
if ud:
listaResultado[0].append("Accionn")
#listaResultado[0].append("Eliminar")
return llenarTabla(listaResultado)
def llenarTabla(listaTabla):
"""
A partir de una lista devuelve el código html necesario para una tabla.
Recibe como parámetro una lista de listas cuyo primer Ãtem es una lista con
los nombres de las columnas de la tabla y los demás itemas son listas con los
valores respectivos de cada renglón.
Retorna un string con el código html listo de una tabla llena.
"""
#Llena el renglón de headers de la tabla
html="<table border=1>\n"
iterador=0
for renglon in listaTabla:
html+=" <tr>\n"
if iterador==0:
for nombre in renglon:
html+=" <th>%s</th>\n" % nombre
else:
for valor in renglon:
html+=" <td>%s</td>\n" % valor
html+=" </tr>\n"
html+="</table>"
return html
if __name__ == "__main__":
print os.environ["PORT"]
print os.environ["IP"]