[pyar] Puedo evitar ejecución del bloque con un Context Manager?

fisa fisadev en gmail.com
Lun Jun 17 12:44:19 ART 2013


El día 15 de junio de 2013 13:41, Hystrix <ego en hystrix.com.ar> escribió:
> 2013/6/15 Lucio Torre <lucio.torre en gmail.com>:
>> Esto a lo mejor tendria mas sentido asi:
>>
>> if not task_done(task_name):
>>      with task_monitor(task_name):
>>           do_task()
>>
>> Y la razon que propongo esto es porque nadie miente sobre lo que hace. Task
>> done te dice si un task se hizo y task monitor se fija si un task se hace.
>> (seguro hay un nombre mejor).
>> En el otro ejemplo algo dice ser un avoid_twice, pero si vos no estas
>> checkeando por el valor de done no cumple con su funcion.
>>
>> El problema seria la duplicacion de task_name.
>>
>> Lucio.
>
> Es verdad, se podría cambiar el nombre de Avoid_twice a Was_done
>
> Hystrix
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de Argentina - http://www.usla.org.ar

Gracias por las ideas gente!

* Por la idea del decorador, como dije antes, no iría porque
implicaría tener una tonelada de funcioncitas (y la mayoría con solo
una linea adentro). Está bien para funciones enteras que uno no
quisiera repetir, pero no es mi caso. Mi caso es de pequeños bloques
de código perdidos entre otras cosas que sí deben repetirse.

* Desisto de evitar la ejecución del bloque del with, evidentemente no
hay forma sana de hacerlo. Igual, interesante el hack de lucio, jeje.

* Me quedo con un context manager y un if afuera, a pesar de seguir
con la repetición. Al menos el código repetido no está en los
extremos, sino solo al inicio del bloque.

Saludos!

--
fisa  -  Juan Pedro Fisanotti


More information about the pyar mailing list