Python R2


Usar los template ya hechos en Sigma en Python

Posted in Python por Arturo Elias Antón en 19 septiembre 2008
Tags: , , , ,

En estos días tuve que migrar todo un código PHP a Python.
Este sistema hecho en PHP, ya tenía todos los template HTML hechos en Sigma.
Como no encontré ningún sistema de template de python compatible con Sigma, hoy me puse a hacer uno.

Ejemplo

Template:
ejemplo.htm

<html>
<head>
</head>
<body>

{prueba1}
<h1>{prueba2}</h1>
<!-- INCLUDE ejemploSub.htm -->
</body>
</html>

ejemploSub.htm

<table>
<!-- BEGIN fila -->
<tr>
    <!-- BEGIN columna -->
    <td>
	    <input type="text" value="{dato1}"/>
    </td>
    <!-- END columna -->
</tr>
<!-- END fila -->
</table>

Codigo:

#!/usr/bin/python
from binsdWeb import *
import sys

strTemplate =sys.argv[0].split(".")[0]+".htm"
fileTemplate = file(strTemplate)

template = binsdTemplate.BinsdTemplate("1",fileTemplate.read())
template.addBlock("ejemploSub")

for i in range(5): #recorro del 0 al 4 para formar  5 filas
    template.ejemploSub1.addBlock("fila")
    template.ejemploSub1.fila[i].addNumBlock("columna",4)     #<---|
    for j in range(4): # recorro del 0 al 3 para formar 4 filas----|
        template.ejemploSub1.fila[i].columna[j].dato1 = str(i)+"-"+str(j)

print "Content-Type: text/html"
print ""
print """\
"""
print template.printTemplate()

Me gustaría aclarar que donde dice ” template.ejemploSub1″ podría haber dicho ” template.ejemploSub[0]” y tendríamos el mismo resultado.  ya que tanto los bloques, como los include, pueden ser referenciados por medio del subíndice de la lista que van de 0 a n, o por medio de la propiedad, que tendrá el mismo nombre del bloque o include, mas un índice de 1 a n.

Si alguien necesita una ayuda solo escríbame y le mandare más info. Para bajar el paquete con ej ejemplo aca esta el link http://www.binsd.com.ar/binsdWeb/binsdWeb.rar

y para ver correr el ejemplo http://www.binsd.com.ar/binsdWeb/ejemplo.py

De todos los sistemas de template que me recomendaron uno que respeta la filosofia de Sigma es PyPa. Pero bueno para este proyecto no me sirvió ;(

Anuncios

2 comentarios to 'Usar los template ya hechos en Sigma en Python'

Subscribe to comments with RSS o TrackBack to 'Usar los template ya hechos en Sigma en Python'.

  1. zodman said,

    mmmmm tambien pudiste haber migrado el template a otro sistema de templates como Jinja.

    Y en ves de re-hacer/parsear el archivo era mejor escribir un script que cambie el template de sigma a otro sistema.

  2. tigrux said,

    Sé que tus razones habrás tenido de usar ese sistema de plantillas, pero la verdad creo que python-kid o los templates de django son mejores.


Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s


A %d blogueros les gusta esto: