[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: htmls automaticas con la consola de comandos



2011/2/26 rantis cares <rantiscares@gmail.com>:
> Hola Listeros:
>
> Tratare de expresar nuevamente algunas cosas que parece ser no me di a entender.
>
> - Yo no soy experto en linux, considerenme newbie en este ambito
> linux, soy un torpe grandote.
> - No manejo terminologias avanzadas (reiterando mi condicion como en
> la linea anterior).
> - No por lo dicho anteriormente en las lineas superiores, signifique
> que soy un guevon pa no buscar en la red.
> - Considero que por muchas preguntas que resuelvo. hago una pregunta
> en la lista.
> - No se hacer bases de datos, apenas toy aprendiendo.
>
> Bien, ahora recomenzare:
>
> Tengo datos de varios articulos en formato texto ejemplo como el que sigue:
>
> ----
> PRODUCTO: CELULAR NOKIA FR 100
> PRECIO: 1500
> CARACTERISTICAS: PROCESADOR DE ALTA REGENERACION, PANTALLA DE 30 MEGAPIXELES.
> COMENTARIOS: ESTE CELULAR ME PARECE BUENO Y LO RECOMIENDO AMPLIAMENTE.
> ----
>
> Asi tengo miles de archivos de texto con miles de productos diversos,
> precios diferentes, caracteristicas diferentes y comentarios
> diferentes.
>

Entiendo por esto que dices que cada producto se encuentra en un
archivo de texto separado?

> ¿Como puedo hacer para que cada articulo lo pueda mostrar en una
> pagina html PERSONALIZADA?.
>

Te refieres a que de cada archivo con un producto te genere un archivo
html? Siempre y cuando el formato de tu archivo de texto no varíe,
podrías hacer algo con python así:

with open("producto.txt","r") as f:
    lineas = f.readlines();
    producto = lineas[1].replace("PRODUCTO: ", "")
    precio = lineas[2].replace("PRECIO: ", "")
    caracteristicas = lineas[3].replace("CARACTERISTICAS: ", "")
    comentarios = lineas[4].replace("COMENTARIOS: ", "")

    html = """
<html>
  <body>
    <dl>
      <dt>Producto</dt> <dd> %(prod) </dd>
      <dt>Precio</dt> <dd>%(prec) </dd>
      <dt>Características</dt> <dd>%(carac) </dd>
      <dt>comentarios</dt> <dd>%(com)</dd>
    </dl>
  </body>
</html>
""")
    print html % {"prod": producto, "prec": precio, "carac":
caracteristicas, "com": comentarios}

luego corres el script y redireccionas la salida hacia un archivo html nuevo
procesar.py > producto.html

No estoy en una maquina con python para probar, pero algo así es. Dejo
de tarea buscar como utilizar un argumento en la linea de comandos en
lugar de harcodear el nombre del archivo "producto.txt" :)


> El formato de la pagina weg en html ya lo tengo prediseñado, que
> tambien contiene la informacion, al ser un machote lo que cambia es la
> informacion de cada producto que se importara de cada archivo de
> texto.
>
> Ya tengo un script que hice, al parecer funcionara bien, pero ¿Existe
> alguna otra manera para importar la informacion de texto dentro del
> archivo html y crear para cada articulo un html personalizada?.
>
> Para darles una idea mas clara del script que hice voy a poner un ejemplo:
>
> ESTE ES MI MACHOTE
>
> machote.html
>
> <html>
> <strong>PRODUCTO: tipodeproducto</strong>
>
> mediante mi script hice lo siguiente
>
> #!/bin/bash/
> awk -F ":" '{ print $2 }' miarchivodetexto.txt
> sed s/`awk -F ":" '{ print $2 }'
> miarchivodetexto.txt`/tipodeproducto/g machote.html >
> archivopersonalizado.html
>
> Este es el proceso que estoy siguiendo, pero ¿Alguno conocera algun
> proceso mas facil para automatizar las html? y no me refiero a
> "automagicamente" soy newbie pero no tanto.
>

Una vez tengas el script es solo cuestion de utilizar un bucle en la consola

for i in $(ls *.txt); do
    procesar.py ${i} > ${i#.txt}.html
done


Por cierto, machote significa plantilla? primera vez que lo leo, en
donde se utiliza ese término?

Saludos
-- 
Linux Registered User # 386081
A menudo unas pocas horas de "Prueba y error" podrán ahorrarte minutos
de leer manuales.


Reply to: