[Python-es] problemas con opciones

Pablo Rodríguez oinos en web.de
Mie Mayo 14 19:25:44 CEST 2008


Arnau Sanchez wrote:
> Pablo Rodríguez escribió:
>> Hola,
>>
>> en un programa que estoy mejorando
>> (http://ousia.justfree.com/iracconshow.txt), no consigo que un par de
>> opciones me funcionen.
>>
>> Declaro una variable como verdadera o falsa de modo predeterminado y no
>> la cambia (como en -k o --keep-files), o no cambia el archivo final (con
>> -o u --output-file). No me da error, pero no hace nada, tanto si lo
>> especifico como si no lo hago.
>>
>> Sé muy poco de programación. ¿Alguien me podría decir qué tengo que
>> hacer para corregir las opciones que he dicho modifiquen las variables?
>>   
> Pablo, tendrás que ser más preciso, yo al menos no entiendo bien el
> problema. He probado a ejecutar el script con -k y sí entra en el la
> opción correspondiente (back.keepfiles = True). Si luego eso funciona
> como debe o no, no lo sé, porque el script necesita una serie de
> ficheros (pdf, sound-file, timeline, etc) que no tenemos. Te
> recomendaría que nos pasaras tanto los enlaces a los ficheros necesarios
> para reproducir el problema, como los comandos que ejecutas, la salida
> correspondiente y lo que esperas.

Gracias por la respuesta, Arnau y perdón por ser tan impreciso (supongo
que se debe a la ignorancia). Y siento no haber podido responder antes
(pero es la primera vez que enciendo el portátil desde el lunes por la
tarde).

Antes de escribir he estado intentado corregir los errores por mí mismo,
y se ve que todos los errores eran de sintaxis. Siento no haberlo
descubierto cuando lo estuve trabajando.

La opción -o no funcionaba, porque me olvidé de ponerle dos puntos
después de invocarla.

-k o --keep-files funcionó no sé muy bien cómo, pero -b o --with-buttons
no funcionaba porque ponía doble igual en vez de uno. Así si que era
imposible que funcionase.

> Por otra parte, creo que el enfoque del script no es el más adecuado
> (esa cantidad de "filebuffer.append" que hay asustan). Se diría que lo
> que se necesita ahí es un lenguaje de plantillas (templating):
> 
> http://wiki.python.org/moin/Templating
> 
> De este modo tendrías ficheros separados, código y plantilla, y quedaría
> mucho más limpio. De hecho, la lógica es tan simple (casi todo lo que
> hay son condicionales "if self.buttons"), que llegado el caso podrías
> crearte el sistema tú mismo, sin depender de librerías externas. Sería,
> de paso, un buen ejercicio para ganar soltura con el lenguaje.

Tomo nota de las plantillas y a ver si consigo aclararme para hacerlo
mejor, aunque no sé si entiendo muy bién cuál es la idea general.

Gracias por la ayuda,


Pablo


Más información sobre la lista de distribución Python-es