download: py2html.py
#!/usr/bin/python2.3
# py2html me permite generar archivos html simples a partir de
# de ejemplos de codigo para publicar en la web.
#
# autor: Juan Jose Conti <jjconti@gnu.org>
# url: http://www.juanjoconti.com.ar
#
# version: 0.2
#
import sys, string
foot_note = "Copyleft 2006 <a href='mailto:jjconti@gnu.org'>Juanjo Conti</a>"
if len(sys.argv) < 2: # no se pasaron argumentos
sys.stderr.write("Uso: ./py2html.py arch1.py [arch2.py arch3.py..]\n")
sys.exit(1)
else:
for arch in sys.argv[1:]:
file_name = arch
try:
file = open(file_name,"r") # con la opcion 'read' si el archivo no existe, se produce una excepcion
except:
sys.stderr.write("No se puede leer el archivo %s.\n" % file_name)
continue
html_file_name = file_name + ".html"
try:
html_file = open(html_file_name,"w") # con la opcion 'write' si el archivo no existe, se crea
except:
sys.stderr.write("Problemas para escribir en el directorio actual.\nPuede ocurrir que no tenga permisos de escritura en el mismo.\n")
file.close()
sys.exit(2)
# head
html_file.write("<html>\n<head>\n<title>" + file_name + "</title>\n</head>\n<body bgcolor='lightblue'>")
html_file.write("<a href='" + file_name + "'><b>download:</b> " + file_name + "</a>\n")
html_file.write("<pre>\n")
# body
file_text = file.read()
# evito elementos con un significado propio en html
file_text = string.replace(file_text,"&","&")
file_text = string.replace(file_text,"<","<")
html_file.write(file_text)
# foot
html_file.write("</pre>\n<hr>\n<div align='right'>" + foot_note + "</div></body>\n</html>")
# cierro los archivos que abri
html_file.close()
file.close()
# todo resulto bien
sys.stdout.write("Archivo %s procesado.\n" % file_name)