From pytus en outlook.com Sun Dec 1 02:21:35 2013 From: pytus en outlook.com (Rodrigo Quintanar) Date: Sat, 30 Nov 2013 19:21:35 -0600 Subject: [Python-es] =?iso-8859-1?q?=BFC=F3mo_implementar_un_sistema_de_me?= =?iso-8859-1?q?nciones_como_lo_hace_twitter=3F_=5BSolucionado=5D?= In-Reply-To: References: , Message-ID: Gracias lasizoillo, me fue de mucha ayuda la info. Date: Sat, 30 Nov 2013 10:45:31 +0100 From: lasizoillo en gmail.com To: python-es en python.org Subject: Re: [Python-es] ¿Cómo implementar un sistema de menciones como lo hace twitter? El 30 de noviembre de 2013 06:03, Rodrigo Quintanar escribió: Hola a todos, deseo saber si alguien tiene idea de como hacer un sistema de menciones ( @userA a @userB ) tal como lo hace twitter, he buscado en google pero no tengo idea de como se llama esta función, si de casualidad alguno de ustedes tiene algunos links con los que me pueda guiar les agradecería. La primera parte es obtener los nombres a partir de un texto. Si esto fuese algo complejo te diría que miraras algún analizador sintáctico[1] en python, pero como es simple usaría expresiones regulares: In [5]: re.findall("@\w+", u"Qué pasa @mercenario? Cómo tu por aquí y la carcel vacia? Recuerdos del @trucho")Out[5]: [u'@mercenario', u'@trucho'] [1] http://es.wikipedia.org/wiki/Analizador_sint%C3%A1ctico Pueden ser en frameworks como django, flask o web2py... eso sería de gran ayuda. Gracias de antemano, esperando que tengan un excelente día. Prueba en http://goo.gl/wqSdzv para ver ejemplos de cosas de esas. Un saludo, Javi _______________________________________________ Python-es mailing list Python-es en python.org https://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ _______________________________________________ Python-es mailing list Python-es en python.org https://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From oinos en web.de Sun Dec 1 19:08:34 2013 From: oinos en web.de (=?ISO-8859-1?Q?Pablo_Rodr=EDguez?=) Date: Sun, 01 Dec 2013 19:08:34 +0100 Subject: [Python-es] dudas para un proyecto nuevo Message-ID: <529B7B22.1050409@web.de> Hola a todos, estoy con lo que es mi primer proyecto de código de mi vida. Digamos que estoy aprendiendo Python y es el único lenguaje de programación que conozco (algo, también, aunque poco, de ActionScript). Hay tres cosas que me gustaría saber cómo se hacen. Lo que necesito es saber la forma canónica de hacerlo. O la mejor o más habitual. Son dos utilidades de código sin ventanas. Necesito saber: 1. Cómo hacer que tengan los dos programas una misma versión. Sé que poner una variable "version" en cada uno de los programas sería una opción, pero entiendo que es posible que haya una manera de hacerlo para que todos los programas tengan la misma versión. Así no me olvidaría de actualizarlo en una y no en otra. 2. Los programas tienen un pequeño texto de interacción con el usuario. Está en inglés, pero me gustaría que pudiese traducirse a otros idiomas. ¿Cuál es la manera mejor de hacerlo? Lo digo para que por eso el código no se vuelva ilegible. 3. Para facilitar que la gente pueda configurar su programilla, me gustaría que cada cual tuviese un archivo de configuración. ¿La manera mejor de hacerlo es ConfigParser? (Entiendo que puede ser un único archivo para las dos utitilidades.) Para que mi explicación no quede tan seca, pensad que los programas son tan simples como: hola.py import sys print "Hola mundo" sys.exit() adios.py import sys print "Adiós mundo" sys.exit() Por si fuese relevante, uso y desarrollo para Linux. Muchas gracias de antemano, Pablo -- http://www.ousia.tk From lastvnm en gmail.com Sun Dec 1 22:30:20 2013 From: lastvnm en gmail.com (Hiko hitokiri) Date: Sun, 1 Dec 2013 15:30:20 -0600 Subject: [Python-es] dudas para un proyecto nuevo In-Reply-To: <529B7B22.1050409@web.de> References: <529B7B22.1050409@web.de> Message-ID: podrías crear un proyecto y dentro de este crear las dos aplicaciones dentro de el proyetcto crear un archivo settings para las dos ahí podrías poner tus configuraciones globales he información global para las dos aplicaciones ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From niwi en niwi.be Mon Dec 2 10:03:04 2013 From: niwi en niwi.be (Andrey Antukh) Date: Mon, 2 Dec 2013 10:03:04 +0100 Subject: [Python-es] Alternativa a Pickle In-Reply-To: <528C8A99.1060205@gmail.com> References: <528B5D89.8070805@gmail.com> <528C8A99.1060205@gmail.com> Message-ID: bsddb no esta deprecado, lo que pasa es que en python3 no esta en la biblioteca estandar :D https://pypi.python.org/pypi/bsddb3/ El 20 de noviembre de 2013 11:10, Francesc Alted escribió: > El objecto VLArray de PyTables es basicamente una tupla de objetos de > longitud variable persistente en disco. Aqui puedes ver un ejemplo muy > basico: > > """ > import tables > > # Crea el fichero con un VLArray y objetos > with tables.openFile("myfile.h5", "w") as f: > vla = f.createVLArray(f.root, "vla", tables.ObjectAtom()) > for i in xrange(1000): > vla.append((i, "H%d" % i)) > > # Reabre el fichero y lee algunas filas > with tables.openFile("myfile.h5", "r") as f: > print f.root.vla[100:200:20] > """ > > El output the esto es: > > [(100, 'H100'), (120, 'H120'), (140, 'H140'), (160, 'H160'), (180, 'H180')] > > Como ves, el formato admite accessos aleatorios a los elementos de la > tupla. > > PyTables lo puedes encontrar en las principales distribuciones de Python > (Anaconda, Canopy), asi como en la mayoria de distribuciones Linux. > > Saludos, > Francesc > > > On 11/19/13, 1:46 PM, kausdiv wrote: > >> Hola. >> >> Estoy buscando una alternativa a Pickle para que se guarden los datos >> codificados mediante clave. >> >> Básicamente lo quiero para guardar una tupla de diccionarios. Pretendo >> que no se vean los datos si se edita el archivo. >> >> Y no estoy muy interesado en codificar yo cada elemento del diccionario >> de cada elemento de la tupla. >> >> Si alguien conoce algo... >> >> Saludos >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> https://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> > > > -- > Francesc Alted > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > -- Andrey Antukh - ?????? ????? - http://www.niwi.be/about.html http://www.kaleidos.net/A5694F/ "Linux is for people who hate Windows, BSD is for people who love UNIX" "Social Engineer -> Because there is no patch for human stupidity" ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From oinos en web.de Mon Dec 2 19:03:33 2013 From: oinos en web.de (=?ISO-8859-1?Q?Pablo_Rodr=EDguez?=) Date: Mon, 02 Dec 2013 19:03:33 +0100 Subject: [Python-es] dudas para un proyecto nuevo In-Reply-To: References: <529B7B22.1050409@web.de> Message-ID: <529CCB75.3060507@web.de> Muchas gracias por la respuesta, Hiko. Debido a mi ignorancia, me temo que no entiendo nada Entiendo que por un lado van los archivos de configuración y por otro las traducciones y el número de versión. Pero como nunca he hecho eso, realmente no sé cómo va. Pero trataré de buscar. Gracias por la ayuda, Pablo On 12/01/2013 10:30 PM, Hiko hitokiri wrote: > podrías crear un proyecto y dentro de este crear las dos aplicaciones > dentro de el proyetcto crear un archivo settings para las dos ahí > podrías poner tus configuraciones globales he información global para > las dos aplicaciones > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > -- http://www.ousia.tk From lastvnm en gmail.com Mon Dec 2 19:16:42 2013 From: lastvnm en gmail.com (Hiko hitokiri) Date: Mon, 2 Dec 2013 12:16:42 -0600 Subject: [Python-es] dudas para un proyecto nuevo In-Reply-To: <529CCB75.3060507@web.de> References: <529B7B22.1050409@web.de> <529CCB75.3060507@web.de> Message-ID: osea crear un archivo donde pongas las configuraciones flobales y la informacion de el projecto luego desde el __main__ file llamas la info global para las aplicaciones para que con los shell argssaques la info que necesitas ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From eventgrafic en gmail.com Mon Dec 2 20:42:16 2013 From: eventgrafic en gmail.com (Eduard Diaz) Date: Mon, 2 Dec 2013 20:42:16 +0100 Subject: [Python-es] dudas para un proyecto nuevo In-Reply-To: References: <529B7B22.1050409@web.de> <529CCB75.3060507@web.de> Message-ID: Hola Pablo Como te ha dicho Hiko puedes crear un archivo settings.py con las variables de configuración que sean necesarias y según tengas pensado. A partir de aquí sólo necesitas importarlo en tus programas y utilizarlo Ejemplo: imagina que tienes un proyecto con los siguientes archivos: __init__.py settings.py programa1.py programa2.py Contenido del __init__.py: ------------------------------------- Nada de momento puede ser un archivo vacío [1] Contenido de settings.py: ------------------------------------- #!/usr/bin/env python # -*- coding:utf-8 -*- VERSION = '0.0.1' Contenido de programa1.py --------------------------------------- #!/usr/bin/env python # -*- coding:utf-8 -*- import sys from settings import VERSION def main(): print "Hola mundo", VERSION if __name__ == "__main__": main() Contenido de programa2.py --------------------------------------- #!/usr/bin/env python # -*- coding:utf-8 -*- import sys from settings import VERSION def main(): print "Adiós mundo", VERSION if __name__ == "__main__": main() Veras que los dos cargan la versión del settings.py el uso de if __name__ == "__main__" es para ejecutarlo como script [2] y, ahora que estas empezando, es una buena costumbre y muy recomendable ya que te permite usar tu script como un módulo en otro programa y reutilizar sus funciones [1] http://www.pythondiario.com/2013/06/initpy-en-python-que-es-y-como-funciona.html [2] http://docs.python.org/2/tutorial/modules.html#executing-modules-as-scripts [3] http://python.majibu.org/preguntas/2464/para-que-es-__name__ [4] http://es.wikibooks.org/wiki/Inmersi%C3%B3n_en_Python/Su_primer_programa_en_Python/Prueba_de_m%C3%B3dulos Saludos From oinos en web.de Mon Dec 2 20:56:20 2013 From: oinos en web.de (=?ISO-8859-1?Q?Pablo_Rodr=EDguez?=) Date: Mon, 02 Dec 2013 20:56:20 +0100 Subject: [Python-es] dudas para un proyecto nuevo In-Reply-To: References: <529B7B22.1050409@web.de> <529CCB75.3060507@web.de> Message-ID: <529CE5E4.8030903@web.de> Muchas gracias, Hiko y Eduard, por las respuestas. Gracias a la explicación ya veo por dónde van los tiros. ¡Cuánto me queda por aprender! Pues nada, supongo que poco a poco. Muchas gracias de nuevo, Pablo On 12/02/2013 08:42 PM, Eduard Diaz wrote: > Hola Pablo > > Como te ha dicho Hiko puedes crear un archivo settings.py con las > variables de configuración que sean necesarias y según tengas pensado. > > A partir de aquí sólo necesitas importarlo en tus programas y utilizarlo > > Ejemplo: imagina que tienes un proyecto con los siguientes archivos: > __init__.py > settings.py > programa1.py > programa2.py > > Contenido del __init__.py: > ------------------------------------- > Nada de momento puede ser un archivo vacío [1] > > Contenido de settings.py: > ------------------------------------- > #!/usr/bin/env python > # -*- coding:utf-8 -*- > > VERSION = '0.0.1' > > Contenido de programa1.py > --------------------------------------- > #!/usr/bin/env python > # -*- coding:utf-8 -*- > > import sys > from settings import VERSION > > def main(): > print "Hola mundo", VERSION > > if __name__ == "__main__": > main() > > > Contenido de programa2.py > --------------------------------------- > #!/usr/bin/env python > # -*- coding:utf-8 -*- > > import sys > from settings import VERSION > > def main(): > print "Adiós mundo", VERSION > > if __name__ == "__main__": > main() > > Veras que los dos cargan la versión del settings.py > > el uso de if __name__ == "__main__" es para ejecutarlo como script > [2] y, ahora que estas empezando, es una buena costumbre y muy > recomendable ya que te permite usar tu script como un módulo en otro > programa y reutilizar sus funciones > > [1] http://www.pythondiario.com/2013/06/initpy-en-python-que-es-y-como-funciona.html > [2] http://docs.python.org/2/tutorial/modules.html#executing-modules-as-scripts > [3] http://python.majibu.org/preguntas/2464/para-que-es-__name__ > [4] http://es.wikibooks.org/wiki/Inmersi%C3%B3n_en_Python/Su_primer_programa_en_Python/Prueba_de_m%C3%B3dulos > > > Saludos > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > -- http://www.ousia.tk From manuelcortez00 en gmail.com Tue Dec 3 16:13:43 2013 From: manuelcortez00 en gmail.com (manuelcortez) Date: Tue, 03 Dec 2013 09:13:43 -0600 Subject: [Python-es] =?windows-1252?q?Dudas_al_usar_GTK_en_Linux_y_WxPytho?= =?windows-1252?q?n_en_Windows_para_una_aplicaci=F3n?= Message-ID: <529DF527.3020606@gmail.com> Hola, Para una aplicación que planeo correr en dos tipos de SO (Win32 y GNU/Linux) necesito utilizar diferentes librerías para interfaces gráficas. Por cuestiones de Accesibilidad, bajo Linux debería usar GTK+3 y en Windows WxPython. MI pregunta es si puedo hacer esto con un mismo código fuente, es decir, si en el mismo programa podría hacer que se tomara una u otra librería sin afectar al rendimiento del mismo. En un principio pensé en hacer algo así: Crear un módulo llamado GUI, que dentro contenga una carpeta por cada SO, o sea dos directorios, win32 y linux. Poner el __init__.py en cada uno de esos directorios, e importar todo lo que necesito que puedan importar otras partes de la aplicación. Luego, fuera de esos directorios, en el directorio GUI, hacer el __init__.py, con algo como esto: # -*- coding: utf-8 -*- import sys if sys.platform == "win32": from win32 import * elif sys.platform == "linux2": from linux import * Y así ir haciendo con cada SO que necesite. Las preguntas: 1. ¿Hay alguna forma mejor de hacer esto? Solo se necesitarían librerías gráficas diferentes, todo lo demás funcionará bien en ambas plataformas. 2. En el archivo que ejecuta la aplicación, se inicializa el MainLoop de Wx para Windows o el GTK si se usa en Linux. Uso if's como en los módulos para determinar la plataforma. Si el import de wx o GTK está dentro del bloque de código del IF, supongo que no se importará si la condición no es cierta. ¿Es mejor separar el código y hacer un archivo para inicializar la app en Windows y otro para Linux? 3. En el setup.py, por ahora no he encontrado forma de hacer que como dependencia se tenga GTK o WX si se tiene según qué plataforma, debería volver a probar con IF? o hay instrucciones en setuptools para usar según qué herramientas para diferentes OS. Muchas gracias por la respuesta, saludos! -- Cordialmente: Manuel Cortéz Blog: http://manuel.a12x.net V Semestre Universidad de Monterrey (Prepa UDEM) Cita: ?Free software, free society? Manuel Cortéz ?La libertad no es poder elegir entre unas pocas opciones impuestas, sino tener el control de tu propia vida. La libertad no es elegir quien será tu amo, es no tener amo.? Richard Stallman ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 260 bytes Desc: OpenPGP digital signature URL: From mlacunza en gmail.com Tue Dec 3 17:42:33 2013 From: mlacunza en gmail.com (Mario Lacunza) Date: Tue, 03 Dec 2013 11:42:33 -0500 Subject: [Python-es] =?utf-8?q?Dudas_al_usar_GTK_en_Linux_y_WxPython_en_Wi?= =?utf-8?q?ndows_para_una_aplicaci=C3=B3n?= In-Reply-To: <529DF527.3020606@gmail.com> References: <529DF527.3020606@gmail.com> Message-ID: <529E09F9.3020204@gmail.com> Hola, la verdad q no entiendo el enrollo q estas planeando.. si te ves la definicion de wxPython este wrapper para python de wxWidgets lo q hace (a diferencia de QT) es usar los controles nativos del OS, es decir en win usara los de win y en Linux GTK, es decir no necesitas nada salvo empezar a programar.. o de casualidad ya has hecho pruebas y no funciona como esperas/deberia ser?? Saludos / Best regards Mario Lacunza Email:: mlacunza en gmail.com Personal Website:: http://www.lacunza.biz/ Hosting:: http://mlv-host.com/ Mascotas Perdidas:: http://mascotas-perdidas.com/ Google Talk / Y! messenger / Skype: mlacunzav El 03/12/13 10:13, manuelcortez escribió: > Hola, > > Para una aplicación que planeo correr en dos tipos de SO (Win32 y > GNU/Linux) necesito utilizar diferentes librerías para interfaces > gráficas. Por cuestiones de Accesibilidad, bajo Linux debería usar GTK+3 > y en Windows WxPython. MI pregunta es si puedo hacer esto con un mismo > código fuente, es decir, si en el mismo programa podría hacer que se > tomara una u otra librería sin afectar al rendimiento del mismo. > > En un principio pensé en hacer algo así: > > Crear un módulo llamado GUI, que dentro contenga una carpeta por cada > SO, o sea dos directorios, win32 y linux. Poner el __init__.py en cada > uno de esos directorios, e importar todo lo que necesito que puedan > importar otras partes de la aplicación. Luego, fuera de esos > directorios, en el directorio GUI, hacer el __init__.py, con algo como esto: > > # -*- coding: utf-8 -*- > import sys > > if sys.platform == "win32": > from win32 import * > elif sys.platform == "linux2": > from linux import * > > Y así ir haciendo con cada SO que necesite. > > Las preguntas: > > 1. ¿Hay alguna forma mejor de hacer esto? Solo se necesitarían librerías > gráficas diferentes, todo lo demás funcionará bien en ambas plataformas. > 2. En el archivo que ejecuta la aplicación, se inicializa el MainLoop de > Wx para Windows o el GTK si se usa en Linux. Uso if's como en los > módulos para determinar la plataforma. Si el import de wx o GTK está > dentro del bloque de código del IF, supongo que no se importará si la > condición no es cierta. ¿Es mejor separar el código y hacer un archivo > para inicializar la app en Windows y otro para Linux? > 3. En el setup.py, por ahora no he encontrado forma de hacer que como > dependencia se tenga GTK o WX si se tiene según qué plataforma, debería > volver a probar con IF? o hay instrucciones en setuptools para usar > según qué herramientas para diferentes OS. > > Muchas gracias por la respuesta, saludos! > > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From manuelcortez00 en gmail.com Tue Dec 3 17:54:06 2013 From: manuelcortez00 en gmail.com (manuelcortez) Date: Tue, 03 Dec 2013 10:54:06 -0600 Subject: [Python-es] =?windows-1252?q?Dudas_al_usar_GTK_en_Linux_y_WxPytho?= =?windows-1252?q?n_en_Windows_para_una_aplicaci=F3n?= In-Reply-To: <529E09F9.3020204@gmail.com> References: <529DF527.3020606@gmail.com> <529E09F9.3020204@gmail.com> Message-ID: <529E0CAE.2070700@gmail.com> Hola. Sí, ya he hecho pruebas, y cuento con las opiniones de otros usuarios y desarrolladores ciegos, y pese a que WxPython usa GTK para Linux, varios de sus controles y el manejo del foco del sistema no los hace como deberían, y las aplicaciones que requieren de tecnologías de asistencia (AT-SPI) no lo interpretan correctamente. en palabras sencillas se podría decir que wxPython es accesible en Windows en un 99% y en Linux en algo más de un 65%, mientras que GTK "nativo" en Windows es 0% accesible y en Linux es lo más accesible que te vas a encontrar. Por eso va inicialmente mi consulta. NO tengo problema por hacer las dos interfaces, la cosa es como implementarlas en una aplicación. Saludos. El 03/12/2013 10:42 a.m., Mario Lacunza escribió: > Hola, > > la verdad q no entiendo el enrollo q estas planeando.. si te ves la > definicion de wxPython este wrapper para python de wxWidgets lo q hace > (a diferencia de QT) es usar los controles nativos del OS, es decir en > win usara los de win y en Linux GTK, es decir no necesitas nada salvo > empezar a programar.. o de casualidad ya has hecho pruebas y no > funciona como esperas/deberia ser?? > > Saludos / Best regards > > Mario Lacunza > Email:: mlacunza en gmail.com > Personal Website:: http://www.lacunza.biz/ > Hosting:: http://mlv-host.com/ > Mascotas Perdidas:: http://mascotas-perdidas.com/ > Google Talk / Y! messenger / Skype: mlacunzav > El 03/12/13 10:13, manuelcortez escribió: >> Hola, >> >> Para una aplicación que planeo correr en dos tipos de SO (Win32 y >> GNU/Linux) necesito utilizar diferentes librerías para interfaces >> gráficas. Por cuestiones de Accesibilidad, bajo Linux debería usar GTK+3 >> y en Windows WxPython. MI pregunta es si puedo hacer esto con un mismo >> código fuente, es decir, si en el mismo programa podría hacer que se >> tomara una u otra librería sin afectar al rendimiento del mismo. >> >> En un principio pensé en hacer algo así: >> >> Crear un módulo llamado GUI, que dentro contenga una carpeta por cada >> SO, o sea dos directorios, win32 y linux. Poner el __init__.py en cada >> uno de esos directorios, e importar todo lo que necesito que puedan >> importar otras partes de la aplicación. Luego, fuera de esos >> directorios, en el directorio GUI, hacer el __init__.py, con algo como esto: >> >> # -*- coding: utf-8 -*- >> import sys >> >> if sys.platform == "win32": >> from win32 import * >> elif sys.platform == "linux2": >> from linux import * >> >> Y así ir haciendo con cada SO que necesite. >> >> Las preguntas: >> >> 1. ¿Hay alguna forma mejor de hacer esto? Solo se necesitarían librerías >> gráficas diferentes, todo lo demás funcionará bien en ambas plataformas. >> 2. En el archivo que ejecuta la aplicación, se inicializa el MainLoop de >> Wx para Windows o el GTK si se usa en Linux. Uso if's como en los >> módulos para determinar la plataforma. Si el import de wx o GTK está >> dentro del bloque de código del IF, supongo que no se importará si la >> condición no es cierta. ¿Es mejor separar el código y hacer un archivo >> para inicializar la app en Windows y otro para Linux? >> 3. En el setup.py, por ahora no he encontrado forma de hacer que como >> dependencia se tenga GTK o WX si se tiene según qué plataforma, debería >> volver a probar con IF? o hay instrucciones en setuptools para usar >> según qué herramientas para diferentes OS. >> >> Muchas gracias por la respuesta, saludos! >> >> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> https://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ > > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ -- Cordialmente: Manuel Cortéz Blog: http://manuel.a12x.net V Semestre Universidad de Monterrey (Prepa UDEM) Cita: ?Free software, free society? Manuel Cortéz ?La libertad no es poder elegir entre unas pocas opciones impuestas, sino tener el control de tu propia vida. La libertad no es elegir quien será tu amo, es no tener amo.? Richard Stallman ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 260 bytes Desc: OpenPGP digital signature URL: From monobot.soft en gmail.com Tue Dec 3 17:56:37 2013 From: monobot.soft en gmail.com (monoBOT) Date: Tue, 3 Dec 2013 16:56:37 +0000 Subject: [Python-es] =?iso-8859-1?q?Dudas_al_usar_GTK_en_Linux_y_WxPython_?= =?iso-8859-1?q?en_Windows_para_una_aplicaci=F3n?= In-Reply-To: <529E09F9.3020204@gmail.com> References: <529DF527.3020606@gmail.com> <529E09F9.3020204@gmail.com> Message-ID: Yo he hecho aplicaciones con WxPython y funcionaban igual para windows y linux. (el aspecto es diferente pero las pantallas tienen lo mismo) El 3 de diciembre de 2013 16:42, Mario Lacunza escribió: > Hola, > > la verdad q no entiendo el enrollo q estas planeando.. si te ves la > definicion de wxPython este wrapper para python de wxWidgets lo q hace (a > diferencia de QT) es usar los controles nativos del OS, es decir en win > usara los de win y en Linux GTK, es decir no necesitas nada salvo empezar a > programar.. o de casualidad ya has hecho pruebas y no funciona como > esperas/deberia ser?? > > Saludos / Best regards > > Mario Lacunza > Email:: mlacunza en gmail.com > Personal Website:: http://www.lacunza.biz/ > Hosting:: http://mlv-host.com/ > Mascotas Perdidas:: http://mascotas-perdidas.com/ > Google Talk / Y! messenger / Skype: mlacunzav > > El 03/12/13 10:13, manuelcortez escribió: > > Hola, > > Para una aplicación que planeo correr en dos tipos de SO (Win32 y > GNU/Linux) necesito utilizar diferentes librerías para interfaces > gráficas. Por cuestiones de Accesibilidad, bajo Linux debería usar GTK+3 > y en Windows WxPython. MI pregunta es si puedo hacer esto con un mismo > código fuente, es decir, si en el mismo programa podría hacer que se > tomara una u otra librería sin afectar al rendimiento del mismo. > > En un principio pensé en hacer algo así: > > Crear un módulo llamado GUI, que dentro contenga una carpeta por cada > SO, o sea dos directorios, win32 y linux. Poner el __init__.py en cada > uno de esos directorios, e importar todo lo que necesito que puedan > importar otras partes de la aplicación. Luego, fuera de esos > directorios, en el directorio GUI, hacer el __init__.py, con algo como esto: > > # -*- coding: utf-8 -*- > import sys > > if sys.platform == "win32": > from win32 import * > elif sys.platform == "linux2": > from linux import * > > Y así ir haciendo con cada SO que necesite. > > Las preguntas: > > 1. ¿Hay alguna forma mejor de hacer esto? Solo se necesitarían librerías > gráficas diferentes, todo lo demás funcionará bien en ambas plataformas. > 2. En el archivo que ejecuta la aplicación, se inicializa el MainLoop de > Wx para Windows o el GTK si se usa en Linux. Uso if's como en los > módulos para determinar la plataforma. Si el import de wx o GTK está > dentro del bloque de código del IF, supongo que no se importará si la > condición no es cierta. ¿Es mejor separar el código y hacer un archivo > para inicializar la app en Windows y otro para Linux? > 3. En el setup.py, por ahora no he encontrado forma de hacer que como > dependencia se tenga GTK o WX si se tiene según qué plataforma, debería > volver a probar con IF? o hay instrucciones en setuptools para usar > según qué herramientas para diferentes OS. > > Muchas gracias por la respuesta, saludos! > > > > > _______________________________________________ > Python-es mailing listPython-es en python.orghttps://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > -- *monoBOT* Visite mi sitio(Visit my site): monobotblog.alvarezalonso.es ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From manuelcortez00 en gmail.com Tue Dec 3 18:07:39 2013 From: manuelcortez00 en gmail.com (manuelcortez) Date: Tue, 03 Dec 2013 11:07:39 -0600 Subject: [Python-es] =?windows-1252?q?Dudas_al_usar_GTK_en_Linux_y_WxPytho?= =?windows-1252?q?n_en_Windows_para_una_aplicaci=F3n?= In-Reply-To: References: <529DF527.3020606@gmail.com> <529E09F9.3020204@gmail.com> Message-ID: <529E0FDB.2050402@gmail.com> Creo que envié una respuesta a una cuenta de correo en vez de la lista, pero aquí está: Hola. Sí, ya he hecho pruebas, y cuento con las opiniones de otros usuarios y desarrolladores ciegos, y pese a que WxPython usa GTK para Linux, varios de sus controles y el manejo del foco del sistema no los hace como deberían, y las aplicaciones que requieren de tecnologías de asistencia (AT-SPI) no lo interpretan correctamente. en palabras sencillas se podría decir que wxPython es accesible en Windows en un 99% y en Linux en algo más de un 65%, mientras que GTK "nativo" en Windows es 0% accesible y en Linux es lo más accesible que te vas a encontrar. Por eso va inicialmente mi consulta. NO tengo problema por hacer las dos interfaces, la cosa es como implementarlas en una aplicación. Saludos. El 03/12/2013 10:56 a.m., monoBOT escribió: > Yo he hecho aplicaciones con WxPython y funcionaban igual para windows > y linux. (el aspecto es diferente pero las pantallas tienen lo mismo) > > > > El 3 de diciembre de 2013 16:42, Mario Lacunza > escribió: > > Hola, > > la verdad q no entiendo el enrollo q estas planeando.. si te ves > la definicion de wxPython este wrapper para python de wxWidgets lo > q hace (a diferencia de QT) es usar los controles nativos del OS, > es decir en win usara los de win y en Linux GTK, es decir no > necesitas nada salvo empezar a programar.. o de casualidad ya has > hecho pruebas y no funciona como esperas/deberia ser?? > > Saludos / Best regards > > Mario Lacunza > Email:: mlacunza en gmail.com > Personal Website:: http://www.lacunza.biz/ > Hosting:: http://mlv-host.com/ > Mascotas Perdidas:: http://mascotas-perdidas.com/ > Google Talk / Y! messenger / Skype: mlacunzav > > El 03/12/13 10:13, manuelcortez escribió: >> Hola, >> >> Para una aplicación que planeo correr en dos tipos de SO (Win32 y >> GNU/Linux) necesito utilizar diferentes librerías para interfaces >> gráficas. Por cuestiones de Accesibilidad, bajo Linux debería usar GTK+3 >> y en Windows WxPython. MI pregunta es si puedo hacer esto con un mismo >> código fuente, es decir, si en el mismo programa podría hacer que se >> tomara una u otra librería sin afectar al rendimiento del mismo. >> >> En un principio pensé en hacer algo así: >> >> Crear un módulo llamado GUI, que dentro contenga una carpeta por cada >> SO, o sea dos directorios, win32 y linux. Poner el __init__.py en cada >> uno de esos directorios, e importar todo lo que necesito que puedan >> importar otras partes de la aplicación. Luego, fuera de esos >> directorios, en el directorio GUI, hacer el __init__.py, con algo como esto: >> >> # -*- coding: utf-8 -*- >> import sys >> >> if sys.platform == "win32": >> from win32 import * >> elif sys.platform == "linux2": >> from linux import * >> >> Y así ir haciendo con cada SO que necesite. >> >> Las preguntas: >> >> 1. ¿Hay alguna forma mejor de hacer esto? Solo se necesitarían librerías >> gráficas diferentes, todo lo demás funcionará bien en ambas plataformas. >> 2. En el archivo que ejecuta la aplicación, se inicializa el MainLoop de >> Wx para Windows o el GTK si se usa en Linux. Uso if's como en los >> módulos para determinar la plataforma. Si el import de wx o GTK está >> dentro del bloque de código del IF, supongo que no se importará si la >> condición no es cierta. ¿Es mejor separar el código y hacer un archivo >> para inicializar la app en Windows y otro para Linux? >> 3. En el setup.py, por ahora no he encontrado forma de hacer que como >> dependencia se tenga GTK o WX si se tiene según qué plataforma, debería >> volver a probar con IF? o hay instrucciones en setuptools para usar >> según qué herramientas para diferentes OS. >> >> Muchas gracias por la respuesta, saludos! >> >> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> https://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > > > > -- > *monoBOT* > Visite mi sitio(Visit my site): monobotblog.alvarezalonso.es > > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ -- Cordialmente: Manuel Cortéz Blog: http://manuel.a12x.net V Semestre Universidad de Monterrey (Prepa UDEM) Cita: ?Free software, free society? Manuel Cortéz ?La libertad no es poder elegir entre unas pocas opciones impuestas, sino tener el control de tu propia vida. La libertad no es elegir quien será tu amo, es no tener amo.? Richard Stallman ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 260 bytes Desc: OpenPGP digital signature URL: From mlacunza en gmail.com Tue Dec 3 18:15:31 2013 From: mlacunza en gmail.com (Mario Lacunza) Date: Tue, 03 Dec 2013 12:15:31 -0500 Subject: [Python-es] =?utf-8?q?Dudas_al_usar_GTK_en_Linux_y_WxPython_en_Wi?= =?utf-8?q?ndows_para_una_aplicaci=C3=B3n?= In-Reply-To: <529E0FDB.2050402@gmail.com> References: <529DF527.3020606@gmail.com> <529E09F9.3020204@gmail.com> <529E0FDB.2050402@gmail.com> Message-ID: <529E11B3.60005@gmail.com> Pues si has hecho la prueba y no puedes corregir esos problemas q mencionas(de pasada has consultado en la lista en ingles de wxpython al respecto?) yo lo q haria seria hacer dos versiones una para cada os y asi evitarme problemas, total lo unico q tendrias q hacer diferente seria la capa frontend o ventanas. Saludos / Best regards Mario Lacunza Email:: mlacunza en gmail.com Personal Website:: http://www.lacunza.biz/ Hosting:: http://mlv-host.com/ Mascotas Perdidas:: http://mascotas-perdidas.com/ Google Talk / Y! messenger / Skype: mlacunzav El 03/12/13 12:07, manuelcortez escribió: > Creo que envié una respuesta a una cuenta de correo en vez de la lista, > pero aquí está: > > Hola. Sí, ya he hecho pruebas, y cuento con las opiniones de otros > usuarios y desarrolladores ciegos, y pese a que WxPython usa GTK para > Linux, varios de sus controles y el manejo del foco del sistema no los > hace como deberían, y las aplicaciones que requieren de tecnologías de > asistencia (AT-SPI) no lo interpretan correctamente. en palabras > sencillas se podría decir que wxPython es accesible en Windows en un 99% > y en Linux en algo más de un 65%, mientras que GTK "nativo" en Windows > es 0% accesible y en Linux es lo más accesible que te vas a encontrar. > Por eso va inicialmente mi consulta. NO tengo problema por hacer las dos > interfaces, la cosa es como implementarlas en una aplicación. Saludos. > > El 03/12/2013 10:56 a.m., monoBOT escribió: >> Yo he hecho aplicaciones con WxPython y funcionaban igual para windows >> y linux. (el aspecto es diferente pero las pantallas tienen lo mismo) >> >> >> >> El 3 de diciembre de 2013 16:42, Mario Lacunza > > escribió: >> >> Hola, >> >> la verdad q no entiendo el enrollo q estas planeando.. si te ves >> la definicion de wxPython este wrapper para python de wxWidgets lo >> q hace (a diferencia de QT) es usar los controles nativos del OS, >> es decir en win usara los de win y en Linux GTK, es decir no >> necesitas nada salvo empezar a programar.. o de casualidad ya has >> hecho pruebas y no funciona como esperas/deberia ser?? >> >> Saludos / Best regards >> >> Mario Lacunza >> Email:: mlacunza en gmail.com >> Personal Website:: http://www.lacunza.biz/ >> Hosting:: http://mlv-host.com/ >> Mascotas Perdidas:: http://mascotas-perdidas.com/ >> Google Talk / Y! messenger / Skype: mlacunzav >> >> El 03/12/13 10:13, manuelcortez escribió: >>> Hola, >>> >>> Para una aplicación que planeo correr en dos tipos de SO (Win32 y >>> GNU/Linux) necesito utilizar diferentes librerías para interfaces >>> gráficas. Por cuestiones de Accesibilidad, bajo Linux debería usar GTK+3 >>> y en Windows WxPython. MI pregunta es si puedo hacer esto con un mismo >>> código fuente, es decir, si en el mismo programa podría hacer que se >>> tomara una u otra librería sin afectar al rendimiento del mismo. >>> >>> En un principio pensé en hacer algo así: >>> >>> Crear un módulo llamado GUI, que dentro contenga una carpeta por cada >>> SO, o sea dos directorios, win32 y linux. Poner el __init__.py en cada >>> uno de esos directorios, e importar todo lo que necesito que puedan >>> importar otras partes de la aplicación. Luego, fuera de esos >>> directorios, en el directorio GUI, hacer el __init__.py, con algo como esto: >>> >>> # -*- coding: utf-8 -*- >>> import sys >>> >>> if sys.platform == "win32": >>> from win32 import * >>> elif sys.platform == "linux2": >>> from linux import * >>> >>> Y así ir haciendo con cada SO que necesite. >>> >>> Las preguntas: >>> >>> 1. ¿Hay alguna forma mejor de hacer esto? Solo se necesitarían librerías >>> gráficas diferentes, todo lo demás funcionará bien en ambas plataformas. >>> 2. En el archivo que ejecuta la aplicación, se inicializa el MainLoop de >>> Wx para Windows o el GTK si se usa en Linux. Uso if's como en los >>> módulos para determinar la plataforma. Si el import de wx o GTK está >>> dentro del bloque de código del IF, supongo que no se importará si la >>> condición no es cierta. ¿Es mejor separar el código y hacer un archivo >>> para inicializar la app en Windows y otro para Linux? >>> 3. En el setup.py, por ahora no he encontrado forma de hacer que como >>> dependencia se tenga GTK o WX si se tiene según qué plataforma, debería >>> volver a probar con IF? o hay instrucciones en setuptools para usar >>> según qué herramientas para diferentes OS. >>> >>> Muchas gracias por la respuesta, saludos! >>> >>> >>> >>> _______________________________________________ >>> Python-es mailing list >>> Python-es en python.org >>> https://mail.python.org/mailman/listinfo/python-es >>> FAQ: http://python-es-faq.wikidot.com/ >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> https://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> >> >> >> -- >> *monoBOT* >> Visite mi sitio(Visit my site): monobotblog.alvarezalonso.es >> >> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> https://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ > > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From alejandrorivadeneira en yahoo.com Tue Dec 3 18:22:35 2013 From: alejandrorivadeneira en yahoo.com (Alejandro Rivadeneira) Date: Tue, 3 Dec 2013 09:22:35 -0800 (PST) Subject: [Python-es] =?iso-8859-1?q?Lista_de_libros_de_programaci=F3n_libr?= =?iso-8859-1?q?es/gratuitos?= In-Reply-To: <527F8F56.5090008@gmail.com> References: <526255DB.4080104@gmail.com> <527D792C.5070705@gmail.com> <527F8F56.5090008@gmail.com> Message-ID: <1386091355.43594.YahooMailNeo@web162406.mail.bf1.yahoo.com> Muchisimas gracias por el link. Saludos El Domingo, 10 de noviembre, 2013 10:51:43, Gerardo Diez García escribió: El 09/11/13 22:03, David Villa escribió: > Hola: > > Traducir no supone mover el error, supone multiplicarlo. Habrá errores > de interpretación en el original y potencialmente en todas las > traducciones, por parte tanto de los lectores como de los traductores. > > Saludos > > > El 9 de noviembre de 2013 00:52, Gerardo Diez García > > > escribió: > >    El 08/11/13 16:59, David Villa escribió: >    > Hola: >    > >    > En mi experiencia la documentación técnica traducida al español (e >    > imagino que pasa con otros idiomas) es siempre menos completa, más >    > anticuada, menos precisa y suele contener errores de >    interpretación por >    > parte de los traductores, además de las erratas propias de todo >    proceso >    > de traducción. Además muchas veces el traductor no tiene el mismo >    nivel >    > técnico que los autores orignales y se nota que no comprende >    > completamente lo que está contando. >    > >    > Por mucho que nos duela si queremos documentación reciente y correcta >    > hay que ir a la original en inglés. >    > >    > Saludos >    Eso presupone un nivel de traducción y comprensión mayor en los lectores >    que en los propios traductores. Así sólo se consigue mover dónde se >    produce el error de comprensión. (Mal que nos pese) >    _______________________________________________ Antes de nada dejar claro que estoy de acuerdo en la necesidad de acudir a la documentación en inglés para mantenerse actualizado. Creo que no lo señale en mi correo anterior. Pero sigo defendiendo que sería preferible una traducción de calidad (igual es este el punto en el que flaquea) que el que alguien con unos conocimientos básicos de la materia se lance a hacer sus propias interpretaciones. En mi caso hay veces que me resulta complicado entender conceptos en castellano, como para lanzarme a la fuente original. _______________________________________________ Python-es mailing list Python-es en python.org https://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From jza en oooes.org Tue Dec 3 18:30:09 2013 From: jza en oooes.org (Alexandro Colorado) Date: Tue, 3 Dec 2013 11:30:09 -0600 Subject: [Python-es] Documentacion de Flesk Message-ID: Alguien tiene algunos libros o sitios recomendados de este microframework aparte del sitio oficial? He notado que aun no hay libros de Flask, la mayoria esta enfocada en Django TurboGear y CherryPy. -- Alexandro Colorado Apache OpenOffice Contributor http://www.openoffice.org 882C 4389 3C27 E8DF 41B9 5C4C 1DB7 9D1C 7F4C 2614 ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From kikocorreoso en gmail.com Tue Dec 3 18:36:18 2013 From: kikocorreoso en gmail.com (Kiko) Date: Tue, 3 Dec 2013 18:36:18 +0100 Subject: [Python-es] Documentacion de Flesk In-Reply-To: References: Message-ID: El 3 de diciembre de 2013 18:30, Alexandro Colorado escribió: > Alguien tiene algunos libros o sitios recomendados de este microframework > aparte del sitio oficial? He notado que aun no hay libros de Flask, la > mayoria esta enfocada en Django TurboGear y CherryPy. > > Últimamente están saliendo unos cuantos libros de Flask: http://www.amazon.com/Instant-Flask-Web-Development-DuPlain/dp/1782169628/ref=sr_1_1?s=books&ie=UTF8&qid=1386091978&sr=1-1&keywords=flask http://www.amazon.com/Flask-Web-Development-Developing-Applications/dp/1449372627/ref=sr_1_5?s=books&ie=UTF8&qid=1386091997&sr=1-5&keywords=flask Y aquí tienes muchos enlaces a flask: http://www.reddit.com/r/Python/search?q=flask&sort=new&restrict_sr=on&t=all Entre los enlaces más nuevos tienes una serie de posts sobre como crear un blog en flask que, supongo, será una buena forma de empezar con el microframework. ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From josech en openintelligence.mx Mon Dec 2 20:06:00 2013 From: josech en openintelligence.mx (=?ISO-8859-1?Q?Jos=E9_Luis_Chiquete_Valdivieso?=) Date: Mon, 02 Dec 2013 13:06:00 -0600 Subject: [Python-es] dudas para un proyecto nuevo In-Reply-To: <529B7B22.1050409@web.de> References: <529B7B22.1050409@web.de> Message-ID: <529CDA18.1080201@openintelligence.mx> Hola Pablo. 1. Me parece que más bien necesitas un sistema de control de versiones. Te recomiendo que te familiarices con Git o si quiere empezar con algo basado en Python, Mercurial. En vista de que estás comenzando, hay que hacerlo con las herramientas correctas. 2. Python cuenta con un tipo de datos llamado diccionario (dict). Es una excelente opción para facilitar el tema de idiomas múltiples. 3. Creo que te puede ser útil el código que estoy usando para una serie de cursos. El caso de estudio que utilizo es un sistema de altas que incluye un archivo de configuración por medio de lectura/escritura de archivos. Quizás te sea útil. Te paso la liga a las presentaciones del curso en cuestión en slideshare. Revisa el script poliglota.py (diapositiva 229) para tu duda sobre diccionarios y el caso de uso con escritura/lectura de archivos (a partir de la diapositiva 281 en adelante). http://www.slideshare.net/josech/programador-jr-para-python-primera-parte-13120 El código del curso lo puedes ver aquí: https://docs.google.com/file/d/0B-tF2kZLbAXPN0dZX1ZHTUJqUkE/edit El 01/12/13 12:08, Pablo Rodríguez escribió: > Hola a todos, > > estoy con lo que es mi primer proyecto de código de mi vida. Digamos que > estoy aprendiendo Python y es el único lenguaje de programación que > conozco (algo, también, aunque poco, de ActionScript). > > Hay tres cosas que me gustaría saber cómo se hacen. Lo que necesito es > saber la forma canónica de hacerlo. O la mejor o más habitual. > > Son dos utilidades de código sin ventanas. Necesito saber: > > 1. Cómo hacer que tengan los dos programas una misma versión. Sé que > poner una variable "version" en cada uno de los programas sería una > opción, pero entiendo que es posible que haya una manera de hacerlo para > que todos los programas tengan la misma versión. Así no me olvidaría de > actualizarlo en una y no en otra. > > 2. Los programas tienen un pequeño texto de interacción con el usuario. > Está en inglés, pero me gustaría que pudiese traducirse a otros idiomas. > ¿Cuál es la manera mejor de hacerlo? Lo digo para que por eso el código > no se vuelva ilegible. > > 3. Para facilitar que la gente pueda configurar su programilla, me > gustaría que cada cual tuviese un archivo de configuración. ¿La manera > mejor de hacerlo es ConfigParser? (Entiendo que puede ser un único > archivo para las dos utitilidades.) > > Para que mi explicación no quede tan seca, pensad que los programas son > tan simples como: > > hola.py > import sys > print "Hola mundo" > sys.exit() > > adios.py > import sys > print "Adiós mundo" > sys.exit() > > Por si fuese relevante, uso y desarrollo para Linux. > > Muchas gracias de antemano, > > > Pablo -- Ing. José Luis Chiquete Valdivieso Director General Open Intelligence, S.A. de C.V. http://openintelligence.mx Tel. +52 (55) 3548-1400 Móvil +52 1 (55) 4390-7327 ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From francisco.soto.del en gmail.com Tue Dec 3 16:25:07 2013 From: francisco.soto.del en gmail.com (Francisco Soto) Date: Tue, 3 Dec 2013 12:25:07 -0300 Subject: [Python-es] =?iso-8859-1?q?Dudas_al_usar_GTK_en_Linux_y_WxPython_?= =?iso-8859-1?q?en_Windows_para_una_aplicaci=F3n?= In-Reply-To: <529DF527.3020606@gmail.com> References: <529DF527.3020606@gmail.com> Message-ID: Estimado: En lo personal estoy usando python con Qt, funciona super para windows (xp, 7, 8) y linux (ubuntu 8.04 y 12.04). * Ojo, algunas librerías en 12.04 no están en 8.04, por loq eu tienes que ver bien que vas a utilizar si es en distintas versiones de ubuntu. ** Si piensas usar hilos procesos, linux por seguridad es un poco molesto, por lo que recomiendo hacer la app en linux y después probar en windows (que no debería arrojar ningún problema). Saludos! Francisco Ingeniero de Desarrollo El 3 de diciembre de 2013 12:13, manuelcortez escribió: > Hola, > > Para una aplicación que planeo correr en dos tipos de SO (Win32 y > GNU/Linux) necesito utilizar diferentes librerías para interfaces > gráficas. Por cuestiones de Accesibilidad, bajo Linux debería usar GTK+3 > y en Windows WxPython. MI pregunta es si puedo hacer esto con un mismo > código fuente, es decir, si en el mismo programa podría hacer que se > tomara una u otra librería sin afectar al rendimiento del mismo. > > En un principio pensé en hacer algo así: > > Crear un módulo llamado GUI, que dentro contenga una carpeta por cada > SO, o sea dos directorios, win32 y linux. Poner el __init__.py en cada > uno de esos directorios, e importar todo lo que necesito que puedan > importar otras partes de la aplicación. Luego, fuera de esos > directorios, en el directorio GUI, hacer el __init__.py, con algo como > esto: > > # -*- coding: utf-8 -*- > import sys > > if sys.platform == "win32": > from win32 import * > elif sys.platform == "linux2": > from linux import * > > Y así ir haciendo con cada SO que necesite. > > Las preguntas: > > 1. ¿Hay alguna forma mejor de hacer esto? Solo se necesitarían librerías > gráficas diferentes, todo lo demás funcionará bien en ambas plataformas. > 2. En el archivo que ejecuta la aplicación, se inicializa el MainLoop de > Wx para Windows o el GTK si se usa en Linux. Uso if's como en los > módulos para determinar la plataforma. Si el import de wx o GTK está > dentro del bloque de código del IF, supongo que no se importará si la > condición no es cierta. ¿Es mejor separar el código y hacer un archivo > para inicializar la app en Windows y otro para Linux? > 3. En el setup.py, por ahora no he encontrado forma de hacer que como > dependencia se tenga GTK o WX si se tiene según qué plataforma, debería > volver a probar con IF? o hay instrucciones en setuptools para usar > según qué herramientas para diferentes OS. > > Muchas gracias por la respuesta, saludos! > > -- > Cordialmente: > > Manuel Cortéz > > Blog: http://manuel.a12x.net > > V Semestre > Universidad de Monterrey (Prepa UDEM) > > Cita: > ?Free software, free society? > Manuel Cortéz > > ?La libertad no es poder elegir entre unas pocas opciones impuestas, sino > tener el control de tu propia vida. La libertad no es elegir quien será tu > amo, es no tener amo.? > Richard Stallman > > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From revxfire en gmail.com Wed Dec 4 04:34:06 2013 From: revxfire en gmail.com (Victor Villalobos) Date: Tue, 3 Dec 2013 23:04:06 -0430 Subject: [Python-es] =?iso-8859-1?q?Dudas_al_usar_GTK_en_Linux_y_WxPython_?= =?iso-8859-1?q?en_Windows_para_una_aplicaci=F3n?= In-Reply-To: References: <529DF527.3020606@gmail.com> Message-ID: No entiendo en que se complicaría(Ademas de que Gtk se actualiza a cada rato y no hay retrocompatibilidad de librerias), yo personalmente usaría Qt4 o Qt5, provee excelente compatibilidad en ambos SO. Saludos El 3 de diciembre de 2013 10:55, Francisco Soto < francisco.soto.del en gmail.com> escribió: > Estimado: > > En lo personal estoy usando python con Qt, funciona super para windows > (xp, 7, 8) y linux (ubuntu 8.04 y 12.04). > > > * Ojo, algunas librerías en 12.04 no están en 8.04, por loq eu tienes que > ver bien que vas a utilizar si es en distintas versiones de ubuntu. > > ** Si piensas usar hilos procesos, linux por seguridad es un poco molesto, > por lo que recomiendo hacer la app en linux y después probar en windows > (que no debería arrojar ningún problema). > > Saludos! > > Francisco > Ingeniero de Desarrollo > > > El 3 de diciembre de 2013 12:13, manuelcortez escribió: > >> Hola, >> >> Para una aplicación que planeo correr en dos tipos de SO (Win32 y >> GNU/Linux) necesito utilizar diferentes librerías para interfaces >> gráficas. Por cuestiones de Accesibilidad, bajo Linux debería usar GTK+3 >> y en Windows WxPython. MI pregunta es si puedo hacer esto con un mismo >> código fuente, es decir, si en el mismo programa podría hacer que se >> tomara una u otra librería sin afectar al rendimiento del mismo. >> >> En un principio pensé en hacer algo así: >> >> Crear un módulo llamado GUI, que dentro contenga una carpeta por cada >> SO, o sea dos directorios, win32 y linux. Poner el __init__.py en cada >> uno de esos directorios, e importar todo lo que necesito que puedan >> importar otras partes de la aplicación. Luego, fuera de esos >> directorios, en el directorio GUI, hacer el __init__.py, con algo como >> esto: >> >> # -*- coding: utf-8 -*- >> import sys >> >> if sys.platform == "win32": >> from win32 import * >> elif sys.platform == "linux2": >> from linux import * >> >> Y así ir haciendo con cada SO que necesite. >> >> Las preguntas: >> >> 1. ¿Hay alguna forma mejor de hacer esto? Solo se necesitarían librerías >> gráficas diferentes, todo lo demás funcionará bien en ambas plataformas. >> 2. En el archivo que ejecuta la aplicación, se inicializa el MainLoop de >> Wx para Windows o el GTK si se usa en Linux. Uso if's como en los >> módulos para determinar la plataforma. Si el import de wx o GTK está >> dentro del bloque de código del IF, supongo que no se importará si la >> condición no es cierta. ¿Es mejor separar el código y hacer un archivo >> para inicializar la app en Windows y otro para Linux? >> 3. En el setup.py, por ahora no he encontrado forma de hacer que como >> dependencia se tenga GTK o WX si se tiene según qué plataforma, debería >> volver a probar con IF? o hay instrucciones en setuptools para usar >> según qué herramientas para diferentes OS. >> >> Muchas gracias por la respuesta, saludos! >> >> -- >> Cordialmente: >> >> Manuel Cortéz >> >> Blog: http://manuel.a12x.net >> >> V Semestre >> Universidad de Monterrey (Prepa UDEM) >> >> Cita: >> ?Free software, free society? >> Manuel Cortéz >> >> ?La libertad no es poder elegir entre unas pocas opciones impuestas, sino >> tener el control de tu propia vida. La libertad no es elegir quien será tu >> amo, es no tener amo.? >> Richard Stallman >> >> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> https://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > -- Victor Villalobos Bahia Pirata Inversiones Villalobos Balzan. 0412 6882141 ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From faltet en gmail.com Wed Dec 4 11:33:48 2013 From: faltet en gmail.com (Francesc Alted) Date: Wed, 04 Dec 2013 11:33:48 +0100 Subject: [Python-es] =?iso-8859-1?q?Reuni=F3=28n=29_de_Pythonistas_en_Cast?= =?iso-8859-1?q?ell=F3?= Message-ID: <529F050C.4000105@gmail.com> Hola, [En castellano más abajo] Els Pythonistes de Castelló de la Plana i rodalies pensem reunir-nos per a parlar del llenguatge i d'altres coses interessants. Els interessats podeu acudir el proper proper divendres 13 de desembre de 2013 a les 19:30 hores, al bar Ágora , que és un garito a l'aire lliure que han obert a la placeta del carrer Campoamor, prop del carrer Governador, a Castelló. Com que el lloc és nou i no sé molt bé el seu horari d'apertura, la segona opció seria la cafeteria 'Teapot' que es troba a la mateixa placeta. ---- Los Pythonistas de Castellón de la Plana vamos a reunirnos para hablar del lenguaje y otras cosas interesantes. Los interesados podeis acudir el próximo viernes 13 de diciembre de 2013 a las 19:30 horas, al bar Ágora, que es un garito al aire libre en la placita de la calle Campoamor, cerca de la calle Governador, en Castellón. Como el lugar es nuevo y no conozco bien su horario de apertura, la segunda opción sería la cafetería 'Teapot' sita en la misma plaza. Ens veiem! -- Francesc Alted From manuelcortez00 en gmail.com Wed Dec 4 15:07:44 2013 From: manuelcortez00 en gmail.com (manuelcortez) Date: Wed, 04 Dec 2013 08:07:44 -0600 Subject: [Python-es] =?windows-1252?q?Dudas_al_usar_GTK_en_Linux_y_WxPytho?= =?windows-1252?q?n_en_Windows_para_una_aplicaci=F3n?= In-Reply-To: References: <529DF527.3020606@gmail.com> Message-ID: <529F3730.1000709@gmail.com> Muchas gracias por sus respuestas, pero no puedo escojer entre algo más que no sea GTK+3 para Linux y WXPython para Windows. Ni QT ni GTK funcionan como se esperan con las herramientas de accesibilidad para Windows, y recién se ha creado un plugin para qt para que haga puente con at-spi, pero tampoco es muy buena. Tristemente no se toma con seriedad la accesibilidad en algunos proyectos. Saludos! El 03/12/2013 09:34 p.m., Victor Villalobos escribió: > No entiendo en que se complicaría(Ademas de que Gtk se actualiza a > cada rato y no hay retrocompatibilidad de librerias), yo personalmente > usaría Qt4 o Qt5, provee excelente compatibilidad en ambos SO. > > Saludos > > > El 3 de diciembre de 2013 10:55, Francisco Soto > > > escribió: > > Estimado: > > En lo personal estoy usando python con Qt, funciona super para > windows (xp, 7, 8) y linux (ubuntu 8.04 y 12.04). > > > * Ojo, algunas librerías en 12.04 no están en 8.04, por loq eu > tienes que ver bien que vas a utilizar si es en distintas > versiones de ubuntu. > > ** Si piensas usar hilos procesos, linux por seguridad es un poco > molesto, por lo que recomiendo hacer la app en linux y después > probar en windows (que no debería arrojar ningún problema). > > Saludos! > > Francisco > Ingeniero de Desarrollo > > > El 3 de diciembre de 2013 12:13, manuelcortez > > escribió: > > Hola, > > Para una aplicación que planeo correr en dos tipos de SO (Win32 y > GNU/Linux) necesito utilizar diferentes librerías para interfaces > gráficas. Por cuestiones de Accesibilidad, bajo Linux debería > usar GTK+3 > y en Windows WxPython. MI pregunta es si puedo hacer esto con > un mismo > código fuente, es decir, si en el mismo programa podría hacer > que se > tomara una u otra librería sin afectar al rendimiento del mismo. > > En un principio pensé en hacer algo así: > > Crear un módulo llamado GUI, que dentro contenga una carpeta > por cada > SO, o sea dos directorios, win32 y linux. Poner el __init__.py > en cada > uno de esos directorios, e importar todo lo que necesito que > puedan > importar otras partes de la aplicación. Luego, fuera de esos > directorios, en el directorio GUI, hacer el __init__.py, con > algo como esto: > > # -*- coding: utf-8 -*- > import sys > > if sys.platform == "win32": > from win32 import * > elif sys.platform == "linux2": > from linux import * > > Y así ir haciendo con cada SO que necesite. > > Las preguntas: > > 1. ¿Hay alguna forma mejor de hacer esto? Solo se necesitarían > librerías > gráficas diferentes, todo lo demás funcionará bien en ambas > plataformas. > 2. En el archivo que ejecuta la aplicación, se inicializa el > MainLoop de > Wx para Windows o el GTK si se usa en Linux. Uso if's como en los > módulos para determinar la plataforma. Si el import de wx o > GTK está > dentro del bloque de código del IF, supongo que no se > importará si la > condición no es cierta. ¿Es mejor separar el código y hacer un > archivo > para inicializar la app en Windows y otro para Linux? > 3. En el setup.py, por ahora no he encontrado forma de hacer > que como > dependencia se tenga GTK o WX si se tiene según qué > plataforma, debería > volver a probar con IF? o hay instrucciones en setuptools para > usar > según qué herramientas para diferentes OS. > > Muchas gracias por la respuesta, saludos! > > -- > Cordialmente: > > Manuel Cortéz > > Blog: http://manuel.a12x.net > > V Semestre > Universidad de Monterrey (Prepa UDEM) > > Cita: > ?Free software, free society? > Manuel Cortéz > > ?La libertad no es poder elegir entre unas pocas opciones > impuestas, sino tener el control de tu propia vida. La > libertad no es elegir quien será tu amo, es no tener amo.? > Richard Stallman > > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > > > > -- > Victor Villalobos > Bahia Pirata > Inversiones Villalobos Balzan. > 0412 6882141 > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ -- Cordialmente: Manuel Cortéz Blog: http://manuel.a12x.net V Semestre Universidad de Monterrey (Prepa UDEM) Cita: ?Free software, free society? Manuel Cortéz ?La libertad no es poder elegir entre unas pocas opciones impuestas, sino tener el control de tu propia vida. La libertad no es elegir quien será tu amo, es no tener amo.? Richard Stallman ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 260 bytes Desc: OpenPGP digital signature URL: From plobarinas en jcea.es Wed Dec 4 19:22:43 2013 From: plobarinas en jcea.es (=?UTF-8?B?UGFibG8gTG9iYXJpw7Fhcw==?=) Date: Wed, 04 Dec 2013 19:22:43 +0100 Subject: [Python-es] =?utf-8?q?Convocatorio_Reuni=C3=B3n_Python-Madrid_Dic?= =?utf-8?q?iembre_2013?= Message-ID: <529F72F3.4090109@jcea.es> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hola a todos: Aunque el mes pasado no hubo reunión de Python-Madrid por la PyConES, este mes ya tenemos fecha y tema, para todos los interesados aquí tenéis los detalles: http://www.python-madrid.es/post/reunion-python-madrid-diciembre-2013/ Un saludo -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (Darwin) Comment: GPGTools - http://gpgtools.org iEYEARECAAYFAlKfcvMACgkQnPFBatEMYOetdgCeLQFL5MjRK9XD9rxm6FW80YM6 yTEAoM49GT7CUNhLNwK73vRVBhNjb8yz =xSyM -----END PGP SIGNATURE----- From gerardo.diez.garcia en gmail.com Fri Dec 6 00:52:18 2013 From: gerardo.diez.garcia en gmail.com (=?ISO-8859-1?Q?Gerardo_Diez_Garc=EDa?=) Date: Fri, 06 Dec 2013 00:52:18 +0100 Subject: [Python-es] Cabecera html y respuesta 304 Message-ID: <52A111B2.9070702@gmail.com> Hola, estoy haciendo un script tonto para descargar las actualizaciones de un archivo en línea. Quiero andar comprobando si existen modificaciones desde que modifiqué el archivo por última vez así que trato de usar la cabecera If-Modified-Since. Lo curioso es que si tomo como referencia el valor de ayer, me da el resultado esperado con un código 304. Mientras que si empleo el valor tomado del archivo me da una respuesta 200. El trozo de código afectado es este: #!/usr/bin/python # -*- coding: utf-8 -*- import urllib2 import datetime import os arch = "hosts" (mode, ino, dev, nlink, uid, gid, size, atime, mtime, ctime) = os.stat(arch) print datetime.datetime.fromtimestamp(atime).strftime("%a, %d %b %Y %H:%M:%S GMT") GoodFormated = datetime.datetime.fromtimestamp(atime).strftime("%a, %d %b %Y %H:%M:%S GMT") req = urllib2.Request('http://someonewhocares.org/hosts/hosts') req.add_header('If-Modified-Since', GoodFormated) print "Código %s" % urllib2.urlopen(req).code resp = urllib2.urlopen(req) LastMod = resp.info()['Last-Modified'] print "Ultima modificación %s" % datetime.datetime.strptime(LastMod, "%a, %d %b %Y %H:%M:%S GMT") AnotherDay = datetime.datetime.today() - datetime.timedelta(days=1) AnotherGoodFormated = AnotherDay.strftime("%a, %d %b %Y %H:%M:%S GMT") print AnotherGoodFormated req = urllib2.Request('http://someonewhocares.org/hosts/hosts') req.add_header('If-Modified-Since', AnotherGoodFormated) try: urllib2.urlopen(req) except urllib2.URLError, e: if e.code == 304: print "Aquí está. Código %s" % e.code ¿A alguien se le ocurre qué está pasando? Muchas gracias From fvillarroel en yahoo.com Fri Dec 6 02:13:24 2013 From: fvillarroel en yahoo.com (Fernando Villarroel) Date: Thu, 5 Dec 2013 22:13:24 -0300 Subject: [Python-es] Concurrencia en memoria Message-ID: <633D1816-73B5-4817-A896-4F403861261E@yahoo.com> Hola a todos. Primero que nada y aprovechando esta fecha les deseo a todos unas hermosas fiestas de fin de año y un exitoso 2014. Bueno como dice mi subject necesito manipular datos en RAM, me explico estoy trabajando con Asterisk (VoIP es un software que funciona como central telefonica), llevo un par de años usando Asterisk y programando sistemas de billing en Python usando la librería pyst y aveces Twisted. Bueno el asunto es que quiero manipular cada llamada saliente desde la central telefónica una ves que que Asterisk cree el nombre de canal, una ves ahí rescatar el nombre de canal que esta en RAM y comenzar a hacer consultas a la base de datos desde la RAM, algo así como un Hearbeat, es decir cada x segundos hacer una consulta a la base de datos. Que librería me recomiendan para trabajar con datos persistentes en memoria. Saludos. Enviado desde mi iPhone From euribates en gmail.com Fri Dec 6 18:49:27 2013 From: euribates en gmail.com (Juan Ignacio) Date: Fri, 6 Dec 2013 17:49:27 +0000 Subject: [Python-es] Concurrencia en memoria In-Reply-To: <633D1816-73B5-4817-A896-4F403861261E@yahoo.com> References: <633D1816-73B5-4817-A896-4F403861261E@yahoo.com> Message-ID: No sé si he entindido bien el probleme, pero ¿Quizá puedes usar Redis como base de datos en RAM? Eso te permitiría también en el futuro migrar a máquina. Y Redis te da operaciones atómicas y clientes muy ligeros. 2013/12/6 Fernando Villarroel > Hola a todos. > > Primero que nada y aprovechando esta fecha les deseo a todos unas hermosas > fiestas de fin de año y un exitoso 2014. > > Bueno como dice mi subject necesito manipular datos en RAM, me explico > estoy trabajando con Asterisk (VoIP es un software que funciona como > central telefonica), llevo un par de años usando Asterisk y programando > sistemas de billing en Python usando la librería pyst y aveces Twisted. > > Bueno el asunto es que quiero manipular cada llamada saliente desde la > central telefónica una ves que que Asterisk cree el nombre de canal, una > ves ahí rescatar el nombre de canal que esta en RAM y comenzar a hacer > consultas a la base de datos desde la RAM, algo así como un Hearbeat, es > decir cada x segundos hacer una consulta a la base de datos. > > Que librería me recomiendan para trabajar con datos persistentes en > memoria. > > Saludos. > > Enviado desde mi iPhone > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > -- Juan Ignacio Rodríguez de León Móvil: 605 890514 E-Mail: euribates en gmail.com http://www.metriz.com/ http://descon2.com/ http://www.elornitorrincoenmascarado.com/ ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From gerardo.diez.garcia en gmail.com Fri Dec 6 21:53:24 2013 From: gerardo.diez.garcia en gmail.com (=?ISO-8859-1?Q?Gerardo_Diez_Garc=EDa?=) Date: Fri, 06 Dec 2013 21:53:24 +0100 Subject: [Python-es] Cabecera html y respuesta 304 In-Reply-To: <52A111B2.9070702@gmail.com> References: <52A111B2.9070702@gmail.com> Message-ID: <52A23944.30308@gmail.com> El 06/12/13 00:52, Gerardo Diez García escribió: > Hola, estoy haciendo un script tonto para descargar las actualizaciones > de un archivo en línea. Quiero andar comprobando si existen > modificaciones desde que modifiqué el archivo por última vez así que > trato de usar la cabecera If-Modified-Since. Lo curioso es que si tomo > como referencia el valor de ayer, me da el resultado esperado con un > código 304. Mientras que si empleo el valor tomado del archivo me da una > respuesta 200. El trozo de código afectado es este: > > #!/usr/bin/python > # -*- coding: utf-8 -*- > import urllib2 > import datetime > import os > > arch = "hosts" > > (mode, ino, dev, nlink, uid, gid, size, atime, mtime, ctime) = os.stat(arch) > print datetime.datetime.fromtimestamp(atime).strftime("%a, %d %b %Y > %H:%M:%S GMT") > GoodFormated = datetime.datetime.fromtimestamp(atime).strftime("%a, %d > %b %Y %H:%M:%S GMT") > > > req = urllib2.Request('http://someonewhocares.org/hosts/hosts') > req.add_header('If-Modified-Since', GoodFormated) > > print "Código %s" % urllib2.urlopen(req).code > resp = urllib2.urlopen(req) > LastMod = resp.info()['Last-Modified'] > print "Ultima modificación %s" % datetime.datetime.strptime(LastMod, > "%a, %d %b %Y %H:%M:%S GMT") > > AnotherDay = datetime.datetime.today() - datetime.timedelta(days=1) > AnotherGoodFormated = AnotherDay.strftime("%a, %d %b %Y %H:%M:%S GMT") > print AnotherGoodFormated > > req = urllib2.Request('http://someonewhocares.org/hosts/hosts') > req.add_header('If-Modified-Since', AnotherGoodFormated) > > try: > urllib2.urlopen(req) > except urllib2.URLError, e: > if e.code == 304: > print "Aquí está. Código %s" % e.code > > ¿A alguien se le ocurre qué está pasando? > Muchas gracias > Perdón por el ruido. Hoy funciona correctamente. Parece cosa de meigas From nicolaslino1 en gmail.com Sun Dec 8 16:33:06 2013 From: nicolaslino1 en gmail.com (Nicolas lino) Date: Sun, 8 Dec 2013 13:33:06 -0200 Subject: [Python-es] Dudas al implementar MVC Message-ID: Buenos días, estoy experimentando con python e interfaces, la verdad solo soy un programador de scripting y me falta mucho en el campo de POO, pero aun asi estoy decidido a aprender! Estuve desarrollando un cliente servidor de chat. El servidor no fue un inconveniente, lo tengo listo y funcional. Mi problema es el cliente. Con el cual me decidi a usar MVC para organizar su estructura. Tengo armado con WX una pequeña interface muy sencilla, y tengo armado en otro programa mi cliente socket. Ahora, mi problema viene al tratar de integrarlos. Se me ocurrió una idea muy poco practica en la cual generaría un socket en el localhost (me pareció bastante rustico, por no usar otra palabra). Yo se que lo que me esta faltando es un controlador, pero no se como hacer el traspaso de datos entre los diferentes módulos. Creo que solo necesito un empujón, una idea para poder seguir, pero ya llevo dos dias trabado en esto, y no he encontrado información que me ayude a resolverlo. Agradecería cualquier ayuda! ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From oinos en web.de Sun Dec 8 18:09:24 2013 From: oinos en web.de (=?ISO-8859-1?Q?Pablo_Rodr=EDguez?=) Date: Sun, 08 Dec 2013 18:09:24 +0100 Subject: [Python-es] =?iso-8859-1?q?duda_b=E1sica_de_una_tonter=EDa?= Message-ID: <52A4A7C4.7090202@web.de> Hola a todos, me temo que esta pregunta va a dejar mi nivel del betún, pero es que en realidad no sé. Tengo un programita que funciona usando dos plantillas Es muy simple. Uso Linux y tengo el siguiente «problema»: sólo puedo invocar el programita desde el directorio donde están el programita y las plantillas. Si lo intento invocar desde otro directorio (mediante enlace o no) me da error, porque lógicamente no puede encontrar las plantillas. Vamos, me da que ésta no será a la primera persona que me ocurra. ¿Dónde puedo encontrar información de cuál es la forma de solucionar este problema? Muchas gracias de antemano, Pablo -- http://www.ousia.tk From sergio en wikier.org Sun Dec 8 18:46:42 2013 From: sergio en wikier.org (=?UTF-8?Q?Sergio_Fern=C3=A1ndez?=) Date: Sun, 8 Dec 2013 18:46:42 +0100 Subject: [Python-es] =?utf-8?q?duda_b=C3=A1sica_de_una_tonter=C3=ADa?= In-Reply-To: <52A4A7C4.7090202@web.de> References: <52A4A7C4.7090202@web.de> Message-ID: Efectivamente Pablo, no es ya sólo una dua específica de Python, sino más bien un problema de fundamentos generales de programación... pero bueno. Sin ver tu código, imagino que supongas tu plantilla esta en un fichero "plantilla.tpl". Evidentemente esa ruta relativa depende de la invocación del programa, y por tanto no va a funcionar a no ser que lo ejecutes desde el mismo directorio. La solución más simple es que compongas adecuadamente la ruta a la plantilla: 1. obteniendo la ruta donde esta instalado tu programa, con algo como: dir = os.path.dirname(os.path.abspath(__file__)) 2. construyendo apropiadamente la ruta a tu plantilla, algo como: tpl = os.path.join(dir, "plantilla.tpl") Espero te haya ayudado. Aunque sincermente creo que para alcanzar un nivel mínimo leer te será de más ayuda que simplemente preguntar. Un saludo, 2013/12/8 Pablo Rodríguez : > Hola a todos, > > me temo que esta pregunta va a dejar mi nivel del betún, pero es que en > realidad no sé. > > Tengo un programita que funciona usando dos plantillas Es muy simple. > > Uso Linux y tengo el siguiente «problema»: sólo puedo invocar el > programita desde el directorio donde están el programita y las plantillas. > > Si lo intento invocar desde otro directorio (mediante enlace o no) me da > error, porque lógicamente no puede encontrar las plantillas. > > Vamos, me da que ésta no será a la primera persona que me ocurra. ¿Dónde > puedo encontrar información de cuál es la forma de solucionar este problema? > > Muchas gracias de antemano, > > > Pablo > -- > http://www.ousia.tk > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ -- Sergio Fernández From txema en nabla.net Sun Dec 8 21:28:18 2013 From: txema en nabla.net (Txema Vicente) Date: Sun, 08 Dec 2013 21:28:18 +0100 Subject: [Python-es] Dudas al implementar MVC In-Reply-To: References: Message-ID: <52A4D662.6020306@nabla.net> Buenas. Para hacer el traspaso de datos entre diferentes módulos "desacoplados" puedes usar wx.lib.pubsub [1], que te permite hacer canales de datos en los que unos publican, y los demas pueden escuchar. No me lo he leido, pero este tuto puede venirte bien [2]. Saludos. [1] http://wiki.wxpython.org/WxLibPubSub [2] http://pablotilli.com.ar/2009/05/crear-una-pequena-aplicacion-completa.html El 08/12/2013 16:33, Nicolas lino escribió: > Buenos días, estoy experimentando con python e interfaces, la verdad > solo soy un programador de scripting y me falta mucho en el campo de > POO, pero aun asi estoy decidido a aprender! > > Estuve desarrollando un cliente servidor de chat. El servidor no fue > un inconveniente, lo tengo listo y funcional. > Mi problema es el cliente. Con el cual me decidi a usar MVC para > organizar su estructura. > Tengo armado con WX una pequeña interface muy sencilla, y tengo armado > en otro programa mi cliente socket. > Ahora, mi problema viene al tratar de integrarlos. Se me ocurrió una > idea muy poco practica en la cual generaría un socket en el localhost > (me pareció bastante rustico, por no usar otra palabra). > > Yo se que lo que me esta faltando es un controlador, pero no se como > hacer el traspaso de datos entre los diferentes módulos. > > Creo que solo necesito un empujón, una idea para poder seguir, pero ya > llevo dos dias trabado en esto, y no he encontrado información que me > ayude a resolverlo. > > Agradecería cualquier ayuda! > > > > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From nicolaslino1 en gmail.com Mon Dec 9 03:26:54 2013 From: nicolaslino1 en gmail.com (Nicolas lino) Date: Mon, 9 Dec 2013 00:26:54 -0200 Subject: [Python-es] Dudas al implementar MVC In-Reply-To: <52A4D662.6020306@nabla.net> References: <52A4D662.6020306@nabla.net> Message-ID: Muchas gracias por la info! es justo lo que necesitaba... El 8 de diciembre de 2013 17:28, Txema Vicente escribió: > Buenas. > > Para hacer el traspaso de datos entre diferentes módulos "desacoplados" > puedes usar wx.lib.pubsub [1], que te permite hacer canales de datos en los > que unos publican, y los demas pueden escuchar. > > No me lo he leido, pero este tuto puede venirte bien [2]. > > Saludos. > > [1] http://wiki.wxpython.org/WxLibPubSub > [2] > http://pablotilli.com.ar/2009/05/crear-una-pequena-aplicacion-completa.html > > El 08/12/2013 16:33, Nicolas lino escribió: > > Buenos días, estoy experimentando con python e interfaces, la verdad solo > soy un programador de scripting y me falta mucho en el campo de POO, pero > aun asi estoy decidido a aprender! > > Estuve desarrollando un cliente servidor de chat. El servidor no fue un > inconveniente, lo tengo listo y funcional. > Mi problema es el cliente. Con el cual me decidi a usar MVC para organizar > su estructura. > Tengo armado con WX una pequeña interface muy sencilla, y tengo armado en > otro programa mi cliente socket. > Ahora, mi problema viene al tratar de integrarlos. Se me ocurrió una idea > muy poco practica en la cual generaría un socket en el localhost (me > pareció bastante rustico, por no usar otra palabra). > > Yo se que lo que me esta faltando es un controlador, pero no se como > hacer el traspaso de datos entre los diferentes módulos. > > Creo que solo necesito un empujón, una idea para poder seguir, pero ya > llevo dos dias trabado en esto, y no he encontrado información que me ayude > a resolverlo. > > Agradecería cualquier ayuda! > > > > > > _______________________________________________ > Python-es mailing listPython-es en python.orghttps://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From pych3m4 en gmail.com Mon Dec 9 04:17:23 2013 From: pych3m4 en gmail.com (Chema Cortes) Date: Mon, 9 Dec 2013 04:17:23 +0100 Subject: [Python-es] =?iso-8859-1?q?duda_b=E1sica_de_una_tonter=EDa?= In-Reply-To: References: <52A4A7C4.7090202@web.de> Message-ID: El día 8 de diciembre de 2013 18:46, Sergio Fernández escribió: > Efectivamente Pablo, no es ya sólo una dua específica de Python, sino > más bien un problema de fundamentos generales de programación... pero > bueno. > > Sin ver tu código, imagino que supongas tu plantilla esta en un > fichero "plantilla.tpl". Evidentemente esa ruta relativa depende de > la invocación del programa, y por tanto no va a funcionar a no ser que > lo ejecutes desde el mismo directorio. > > La solución más simple es que compongas adecuadamente la ruta a la plantilla: > > 1. obteniendo la ruta donde esta instalado tu programa, con algo como: > > dir = os.path.dirname(os.path.abspath(__file__)) Por seguridad, emplearía os.path.realpath por si se emplean enlaces simbólicos: dir = os.path.dirname(os.path.realpath(__file__)) > > 2. construyendo apropiadamente la ruta a tu plantilla, algo como: > > tpl = os.path.join(dir, "plantilla.tpl") > > Espero te haya ayudado. Aunque sincermente creo que para alcanzar un > nivel mínimo leer te será de más ayuda que simplemente preguntar. > > Un saludo, > > 2013/12/8 Pablo Rodríguez : >> Hola a todos, >> >> me temo que esta pregunta va a dejar mi nivel del betún, pero es que en >> realidad no sé. >> >> Tengo un programita que funciona usando dos plantillas Es muy simple. >> >> Uso Linux y tengo el siguiente «problema»: sólo puedo invocar el >> programita desde el directorio donde están el programita y las plantillas. >> >> Si lo intento invocar desde otro directorio (mediante enlace o no) me da >> error, porque lógicamente no puede encontrar las plantillas. >> >> Vamos, me da que ésta no será a la primera persona que me ocurra. ¿Dónde >> puedo encontrar información de cuál es la forma de solucionar este problema? >> >> Muchas gracias de antemano, >> >> >> Pablo >> -- >> http://www.ousia.tk >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> https://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ > > > > -- > > Sergio Fernández > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ -- Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": http://ch3m4.org/blog Buscador Python Hispano: http://ch3m4.org/python-es From oinos en web.de Mon Dec 9 21:16:40 2013 From: oinos en web.de (=?windows-1252?Q?Pablo_Rodr=EDguez?=) Date: Mon, 09 Dec 2013 21:16:40 +0100 Subject: [Python-es] =?windows-1252?q?duda_b=E1sica_de_una_tonter=EDa?= In-Reply-To: References: <52A4A7C4.7090202@web.de> Message-ID: <52A62528.4060802@web.de> On 12/08/2013 06:46 PM, Sergio Fernández wrote: > Efectivamente Pablo, no es ya sólo una dua específica de Python, sino > más bien un problema de fundamentos generales de programación... pero > bueno. Muchas gracias, Sergio, por tu respuesta. No sé si habría cambiado algo el hecho de que hubiese explicado el hecho de que yo había intentado conseguir installdir con: installdir= os.path.dirname(os.path.abspath(sys.argv[0])) Pero no me funcionaba si usaba un enlace simbólico. > Sin ver tu código, imagino que supongas tu plantilla esta en un > fichero "plantilla.tpl". Evidentemente esa ruta relativa depende de > la invocación del programa, y por tanto no va a funcionar a no ser que > lo ejecutes desde el mismo directorio. > > La solución más simple es que compongas adecuadamente la ruta a la plantilla: > > 1. obteniendo la ruta donde esta instalado tu programa, con algo como: > > dir = os.path.dirname(os.path.abspath(__file__)) > > 2. construyendo apropiadamente la ruta a tu plantilla, algo como: > > tpl = os.path.join(dir, "plantilla.tpl") > > Espero te haya ayudado. Aunque sincermente creo que para alcanzar un > nivel mínimo leer te será de más ayuda que simplemente preguntar. Sí, yo también prefiero aprender a preguntar (explicar esto exigiría un mensaje más largo que no puedo escribir ahora mismo). Me he leído «Python para todos» y ?A Byte of Python?. ¿Cuál sería un buen recurso disponible en la red gratuitamente que fuese interesante que viese? Muchas gracias de nuevo, Pablo -- http://www.ousia.tk From oinos en web.de Mon Dec 9 21:23:41 2013 From: oinos en web.de (=?ISO-8859-1?Q?Pablo_Rodr=EDguez?=) Date: Mon, 09 Dec 2013 21:23:41 +0100 Subject: [Python-es] =?iso-8859-1?q?duda_b=E1sica_de_una_tonter=EDa?= In-Reply-To: References: <52A4A7C4.7090202@web.de> Message-ID: <52A626CD.3010903@web.de> On 12/09/2013 04:17 AM, Chema Cortes wrote: > El día 8 de diciembre de 2013 18:46, Sergio Fernández escribió: >> Efectivamente Pablo, no es ya sólo una dua específica de Python, sino >> [...] >> La solución más simple es que compongas adecuadamente la ruta a la plantilla: >> >> 1. obteniendo la ruta donde esta instalado tu programa, con algo como: >> >> dir = os.path.dirname(os.path.abspath(__file__)) > > Por seguridad, emplearía os.path.realpath por si se emplean enlaces simbólicos: > > dir = os.path.dirname(os.path.realpath(__file__)) Muchas gracias, Chema. os.path.realpath() es justo lo que necesitaba para los enlaces simbólicos. Pablo -- http://www.ousia.tk From pych3m4 en gmail.com Mon Dec 9 23:37:12 2013 From: pych3m4 en gmail.com (Chema Cortes) Date: Mon, 9 Dec 2013 23:37:12 +0100 Subject: [Python-es] Dudas al implementar MVC In-Reply-To: References: <52A4D662.6020306@nabla.net> Message-ID: El día 9 de diciembre de 2013 03:26, Nicolas lino escribió: > Muchas gracias por la info! es justo lo que necesitaba... Ya sé que dices que la parte servidor del chat la tienes resuelta, pero podrías también echarle un vistazo a twisted y su wxreactor. Sin saber nada más, tu modelo de datos debería ser simple como para no necesitar el patrón MVC. Twisted: http://twistedmatrix.com WxReactor: Ejemplos, entre los que hay un chat: http://twistedmatrix.com/documents/current/core/examples/ > > > > > El 8 de diciembre de 2013 17:28, Txema Vicente escribió: > >> Buenas. >> >> Para hacer el traspaso de datos entre diferentes módulos "desacoplados" >> puedes usar wx.lib.pubsub [1], que te permite hacer canales de datos en los >> que unos publican, y los demas pueden escuchar. >> >> No me lo he leido, pero este tuto puede venirte bien [2]. >> >> Saludos. >> >> [1] http://wiki.wxpython.org/WxLibPubSub >> [2] >> http://pablotilli.com.ar/2009/05/crear-una-pequena-aplicacion-completa.html >> >> El 08/12/2013 16:33, Nicolas lino escribió: >> >> Buenos días, estoy experimentando con python e interfaces, la verdad solo >> soy un programador de scripting y me falta mucho en el campo de POO, pero >> aun asi estoy decidido a aprender! >> >> Estuve desarrollando un cliente servidor de chat. El servidor no fue un >> inconveniente, lo tengo listo y funcional. >> Mi problema es el cliente. Con el cual me decidi a usar MVC para organizar >> su estructura. >> Tengo armado con WX una pequeña interface muy sencilla, y tengo armado en >> otro programa mi cliente socket. >> Ahora, mi problema viene al tratar de integrarlos. Se me ocurrió una idea >> muy poco practica en la cual generaría un socket en el localhost (me pareció >> bastante rustico, por no usar otra palabra). >> >> Yo se que lo que me esta faltando es un controlador, pero no se como hacer >> el traspaso de datos entre los diferentes módulos. >> >> Creo que solo necesito un empujón, una idea para poder seguir, pero ya >> llevo dos dias trabado en esto, y no he encontrado información que me ayude >> a resolverlo. >> >> Agradecería cualquier ayuda! >> >> >> >> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> https://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> >> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> https://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > -- Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": http://ch3m4.org/blog Buscador Python Hispano: http://ch3m4.org/python-es From rodriguez.mauricio55 en gmail.com Tue Dec 10 02:20:44 2013 From: rodriguez.mauricio55 en gmail.com (mauricio rodriguez) Date: Mon, 9 Dec 2013 23:20:44 -0200 Subject: [Python-es] Dudas al implementar MVC In-Reply-To: References: <52A4D662.6020306@nabla.net> Message-ID: Mira con respecto a MVC te paso un link donde a mi juicio se encuentra uno papers muy buenos http://library.originalhacker.org/biblioteca/articulo/autor/2 El 9 de diciembre de 2013 20:37, Chema Cortes escribió: > El día 9 de diciembre de 2013 03:26, Nicolas lino > escribió: > > Muchas gracias por la info! es justo lo que necesitaba... > > Ya sé que dices que la parte servidor del chat la tienes resuelta, > pero podrías también echarle un vistazo a twisted y su wxreactor. Sin > saber nada más, tu modelo de datos debería ser simple como para no > necesitar el patrón MVC. > > Twisted: > http://twistedmatrix.com > > WxReactor: > < > https://twistedmatrix.com/documents/current/core/howto/choosing-reactor.html#auto13 > > > > Ejemplos, entre los que hay un chat: > http://twistedmatrix.com/documents/current/core/examples/ > > > > > > > > > > > > > El 8 de diciembre de 2013 17:28, Txema Vicente > escribió: > > > >> Buenas. > >> > >> Para hacer el traspaso de datos entre diferentes módulos "desacoplados" > >> puedes usar wx.lib.pubsub [1], que te permite hacer canales de datos en > los > >> que unos publican, y los demas pueden escuchar. > >> > >> No me lo he leido, pero este tuto puede venirte bien [2]. > >> > >> Saludos. > >> > >> [1] http://wiki.wxpython.org/WxLibPubSub > >> [2] > >> > http://pablotilli.com.ar/2009/05/crear-una-pequena-aplicacion-completa.html > >> > >> El 08/12/2013 16:33, Nicolas lino escribió: > >> > >> Buenos días, estoy experimentando con python e interfaces, la verdad > solo > >> soy un programador de scripting y me falta mucho en el campo de POO, > pero > >> aun asi estoy decidido a aprender! > >> > >> Estuve desarrollando un cliente servidor de chat. El servidor no fue un > >> inconveniente, lo tengo listo y funcional. > >> Mi problema es el cliente. Con el cual me decidi a usar MVC para > organizar > >> su estructura. > >> Tengo armado con WX una pequeña interface muy sencilla, y tengo armado > en > >> otro programa mi cliente socket. > >> Ahora, mi problema viene al tratar de integrarlos. Se me ocurrió una > idea > >> muy poco practica en la cual generaría un socket en el localhost (me > pareció > >> bastante rustico, por no usar otra palabra). > >> > >> Yo se que lo que me esta faltando es un controlador, pero no se como > hacer > >> el traspaso de datos entre los diferentes módulos. > >> > >> Creo que solo necesito un empujón, una idea para poder seguir, pero ya > >> llevo dos dias trabado en esto, y no he encontrado información que me > ayude > >> a resolverlo. > >> > >> Agradecería cualquier ayuda! > >> > >> > >> > >> > >> > >> _______________________________________________ > >> Python-es mailing list > >> Python-es en python.org > >> https://mail.python.org/mailman/listinfo/python-es > >> FAQ: http://python-es-faq.wikidot.com/ > >> > >> > >> > >> > >> _______________________________________________ > >> Python-es mailing list > >> Python-es en python.org > >> https://mail.python.org/mailman/listinfo/python-es > >> FAQ: http://python-es-faq.wikidot.com/ > >> > > > > > > _______________________________________________ > > Python-es mailing list > > Python-es en python.org > > https://mail.python.org/mailman/listinfo/python-es > > FAQ: http://python-es-faq.wikidot.com/ > > > > > > -- > Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": > http://ch3m4.org/blog > Buscador Python Hispano: http://ch3m4.org/python-es > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From jza en oooes.org Tue Dec 10 02:41:04 2013 From: jza en oooes.org (Alexandro Colorado) Date: Mon, 9 Dec 2013 19:41:04 -0600 Subject: [Python-es] Dudas al implementar MVC In-Reply-To: References: <52A4D662.6020306@nabla.net> Message-ID: Me pregunto si hay videos instruccionales que simplifiquen la logica de MVC, algo que un novato pueda entender rapidamente sin que este muy casado con un lenguaje en especifico pero que tambien haga sentido. 2013/12/9 mauricio rodriguez > Mira con respecto a MVC te paso un link donde a mi juicio se encuentra uno > papers muy buenos > > http://library.originalhacker.org/biblioteca/articulo/autor/2 > > > El 9 de diciembre de 2013 20:37, Chema Cortes escribió: > > El día 9 de diciembre de 2013 03:26, Nicolas lino >> escribió: >> > Muchas gracias por la info! es justo lo que necesitaba... >> >> Ya sé que dices que la parte servidor del chat la tienes resuelta, >> pero podrías también echarle un vistazo a twisted y su wxreactor. Sin >> saber nada más, tu modelo de datos debería ser simple como para no >> necesitar el patrón MVC. >> >> Twisted: >> http://twistedmatrix.com >> >> WxReactor: >> < >> https://twistedmatrix.com/documents/current/core/howto/choosing-reactor.html#auto13 >> > >> >> Ejemplos, entre los que hay un chat: >> http://twistedmatrix.com/documents/current/core/examples/ >> >> >> >> > >> > >> > >> > >> > El 8 de diciembre de 2013 17:28, Txema Vicente >> escribió: >> > >> >> Buenas. >> >> >> >> Para hacer el traspaso de datos entre diferentes módulos "desacoplados" >> >> puedes usar wx.lib.pubsub [1], que te permite hacer canales de datos >> en los >> >> que unos publican, y los demas pueden escuchar. >> >> >> >> No me lo he leido, pero este tuto puede venirte bien [2]. >> >> >> >> Saludos. >> >> >> >> [1] http://wiki.wxpython.org/WxLibPubSub >> >> [2] >> >> >> http://pablotilli.com.ar/2009/05/crear-una-pequena-aplicacion-completa.html >> >> >> >> El 08/12/2013 16:33, Nicolas lino escribió: >> >> >> >> Buenos días, estoy experimentando con python e interfaces, la verdad >> solo >> >> soy un programador de scripting y me falta mucho en el campo de POO, >> pero >> >> aun asi estoy decidido a aprender! >> >> >> >> Estuve desarrollando un cliente servidor de chat. El servidor no fue un >> >> inconveniente, lo tengo listo y funcional. >> >> Mi problema es el cliente. Con el cual me decidi a usar MVC para >> organizar >> >> su estructura. >> >> Tengo armado con WX una pequeña interface muy sencilla, y tengo armado >> en >> >> otro programa mi cliente socket. >> >> Ahora, mi problema viene al tratar de integrarlos. Se me ocurrió una >> idea >> >> muy poco practica en la cual generaría un socket en el localhost (me >> pareció >> >> bastante rustico, por no usar otra palabra). >> >> >> >> Yo se que lo que me esta faltando es un controlador, pero no se como >> hacer >> >> el traspaso de datos entre los diferentes módulos. >> >> >> >> Creo que solo necesito un empujón, una idea para poder seguir, pero ya >> >> llevo dos dias trabado en esto, y no he encontrado información que me >> ayude >> >> a resolverlo. >> >> >> >> Agradecería cualquier ayuda! >> >> >> >> >> >> >> >> >> >> >> >> _______________________________________________ >> >> Python-es mailing list >> >> Python-es en python.org >> >> https://mail.python.org/mailman/listinfo/python-es >> >> FAQ: http://python-es-faq.wikidot.com/ >> >> >> >> >> >> >> >> >> >> _______________________________________________ >> >> Python-es mailing list >> >> Python-es en python.org >> >> https://mail.python.org/mailman/listinfo/python-es >> >> FAQ: http://python-es-faq.wikidot.com/ >> >> >> > >> > >> > _______________________________________________ >> > Python-es mailing list >> > Python-es en python.org >> > https://mail.python.org/mailman/listinfo/python-es >> > FAQ: http://python-es-faq.wikidot.com/ >> > >> >> >> >> -- >> Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": >> http://ch3m4.org/blog >> Buscador Python Hispano: http://ch3m4.org/python-es >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> https://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > -- Alexandro Colorado Apache OpenOffice Contributor http://www.openoffice.org 882C 4389 3C27 E8DF 41B9 5C4C 1DB7 9D1C 7F4C 2614 ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From pych3m4 en gmail.com Tue Dec 10 15:18:31 2013 From: pych3m4 en gmail.com (Chema Cortes) Date: Tue, 10 Dec 2013 15:18:31 +0100 Subject: [Python-es] Dudas al implementar MVC In-Reply-To: References: <52A4D662.6020306@nabla.net> Message-ID: El día 10 de diciembre de 2013 02:41, Alexandro Colorado escribió: > Me pregunto si hay videos instruccionales que simplifiquen la logica de MVC, > algo que un novato pueda entender rapidamente sin que este muy casado con un > lenguaje en especifico pero que tambien haga sentido. No sé si existe tal cosa, sobre todo teniendo en cuenta que poca gente usa el patrón MVC puro, confundiéndose bastante con el patrón MVP (Modelo-Vista-Presentador) cuando se incorporan plantillas (http://en.wikipedia.org/wiki/Model?view?presenter). Incluso los hay que no les queda claro a qué llamar Vista o Controlador, como dicen los de django en su FAQ. Un vídeo corto explicativo de la MVC: http://www.youtube.com/watch?v=eTdVkgF_Slo También te recomendaría echar un vistazo a las aplicaciones multicapa. Aunque más orientadas a mejorar la "escalibilidad", la "lógica" subyacente es parecida. Un buen artículo, aunque anticuado: http://bulma.net/body.phtml?nIdNoticia=734 > > > 2013/12/9 mauricio rodriguez >> >> Mira con respecto a MVC te paso un link donde a mi juicio se encuentra uno >> papers muy buenos >> >> http://library.originalhacker.org/biblioteca/articulo/autor/2 >> >> >> El 9 de diciembre de 2013 20:37, Chema Cortes >> escribió: >> >>> El día 9 de diciembre de 2013 03:26, Nicolas lino >>> escribió: >>> > Muchas gracias por la info! es justo lo que necesitaba... >>> >>> Ya sé que dices que la parte servidor del chat la tienes resuelta, >>> pero podrías también echarle un vistazo a twisted y su wxreactor. Sin >>> saber nada más, tu modelo de datos debería ser simple como para no >>> necesitar el patrón MVC. >>> >>> Twisted: >>> http://twistedmatrix.com >>> >>> WxReactor: >>> >>> >>> >>> Ejemplos, entre los que hay un chat: >>> http://twistedmatrix.com/documents/current/core/examples/ >>> >>> >>> >>> > >>> > >>> > >>> > >>> > El 8 de diciembre de 2013 17:28, Txema Vicente >>> > escribió: >>> > >>> >> Buenas. >>> >> >>> >> Para hacer el traspaso de datos entre diferentes módulos >>> >> "desacoplados" >>> >> puedes usar wx.lib.pubsub [1], que te permite hacer canales de datos >>> >> en los >>> >> que unos publican, y los demas pueden escuchar. >>> >> >>> >> No me lo he leido, pero este tuto puede venirte bien [2]. >>> >> >>> >> Saludos. >>> >> >>> >> [1] http://wiki.wxpython.org/WxLibPubSub >>> >> [2] >>> >> >>> >> http://pablotilli.com.ar/2009/05/crear-una-pequena-aplicacion-completa.html >>> >> >>> >> El 08/12/2013 16:33, Nicolas lino escribió: >>> >> >>> >> Buenos días, estoy experimentando con python e interfaces, la verdad >>> >> solo >>> >> soy un programador de scripting y me falta mucho en el campo de POO, >>> >> pero >>> >> aun asi estoy decidido a aprender! >>> >> >>> >> Estuve desarrollando un cliente servidor de chat. El servidor no fue >>> >> un >>> >> inconveniente, lo tengo listo y funcional. >>> >> Mi problema es el cliente. Con el cual me decidi a usar MVC para >>> >> organizar >>> >> su estructura. >>> >> Tengo armado con WX una pequeña interface muy sencilla, y tengo armado >>> >> en >>> >> otro programa mi cliente socket. >>> >> Ahora, mi problema viene al tratar de integrarlos. Se me ocurrió una >>> >> idea >>> >> muy poco practica en la cual generaría un socket en el localhost (me >>> >> pareció >>> >> bastante rustico, por no usar otra palabra). >>> >> >>> >> Yo se que lo que me esta faltando es un controlador, pero no se como >>> >> hacer >>> >> el traspaso de datos entre los diferentes módulos. >>> >> >>> >> Creo que solo necesito un empujón, una idea para poder seguir, pero ya >>> >> llevo dos dias trabado en esto, y no he encontrado información que me >>> >> ayude >>> >> a resolverlo. >>> >> >>> >> Agradecería cualquier ayuda! >>> >> >>> >> >>> >> >>> >> >>> >> >>> >> _______________________________________________ >>> >> Python-es mailing list >>> >> Python-es en python.org >>> >> https://mail.python.org/mailman/listinfo/python-es >>> >> FAQ: http://python-es-faq.wikidot.com/ >>> >> >>> >> >>> >> >>> >> >>> >> _______________________________________________ >>> >> Python-es mailing list >>> >> Python-es en python.org >>> >> https://mail.python.org/mailman/listinfo/python-es >>> >> FAQ: http://python-es-faq.wikidot.com/ >>> >> >>> > >>> > >>> > _______________________________________________ >>> > Python-es mailing list >>> > Python-es en python.org >>> > https://mail.python.org/mailman/listinfo/python-es >>> > FAQ: http://python-es-faq.wikidot.com/ >>> > >>> >>> >>> >>> -- >>> Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": >>> http://ch3m4.org/blog >>> Buscador Python Hispano: http://ch3m4.org/python-es >>> _______________________________________________ >>> Python-es mailing list >>> Python-es en python.org >>> https://mail.python.org/mailman/listinfo/python-es >>> FAQ: http://python-es-faq.wikidot.com/ >> >> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> https://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> > > > > -- > Alexandro Colorado > Apache OpenOffice Contributor > http://www.openoffice.org > 882C 4389 3C27 E8DF 41B9 5C4C 1DB7 9D1C 7F4C 2614 > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > -- Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": http://ch3m4.org/blog Buscador Python Hispano: http://ch3m4.org/python-es From malvarez99 en gmail.com Mon Dec 9 22:04:29 2013 From: malvarez99 en gmail.com (Manuel) Date: Mon, 9 Dec 2013 22:04:29 +0100 Subject: [Python-es] Guardar y consultar posteriormente episodios ya descargados. Message-ID: Buenas noches a todos. Estoy dando mis primeros pasos en Python, he conseguido hacer un script para bajar series de anime, pero me gustaría guardar en un archivo de texto las descargas ya realizadas, así la próxima vez que se ejecutara, mire en el archivo de texto para no descargar el mismo episodio. Este es el código de lo que tengo hecho. #!/usr/bin/python import re, urllib import webbrowser import time def descarga_anime(): lista_anime = ["coppelion", "flamenco", "freezing", "hajime", "log-horizon", "valvrave", "arpeggio"] myurl = "http://www.animetake.com" for i in re.findall('''href=["'](.[^"']+)["']''', urllib.urlopen(myurl).read(), re.I): #time.sleep(900) for serie in lista_anime: if serie in i and "episode" in i: webbrowser.open(i) time.sleep(4) for torrent in re.findall('''href=["'](.[^"']+)["']''', urllib.urlopen(i).read(), re.I): if "nyaa.se" in torrent: if "#038" in torrent: torrent = torrent.replace("#038;", "") torrent = torrent.replace("amp;", "").replace(" ", "") webbrowser.open(torrent) time.sleep(4) break descarga_anime() Muchas gracias por vuestro tiempo y ayuda. Manuel. From jza en oooes.org Tue Dec 10 23:12:42 2013 From: jza en oooes.org (Alexandro Colorado) Date: Tue, 10 Dec 2013 16:12:42 -0600 Subject: [Python-es] Algunas preguntas sobre el proyecto de python hispano In-Reply-To: References: <5289FF7E.8030807@gmail.com> <528A0ABB.1020203@gmail.com> Message-ID: 2013/11/18 Alexandro Colorado > > > > 2013/11/18 Juan Luis Cano > >> On 11/18/2013 01:12 PM, Alexandro Colorado wrote: >> >> >> >> >> 2013/11/18 Juan Luis Cano >> >>> On 11/15/2013 07:30 PM, Alexandro Colorado wrote: >>> >>> Quiero saber si hay algunas actividades de Python foundation en esta >>> lista, y si hay tareas por hacer. Quiero saber si existe un community >>> manager, si se mantiene la documentacion de Python en castellano, o si hay >>> contribuciones desde este proyecto, o QA relacionados con el idioma. >>> >>> -- >>> Alexandro Colorad >>> ? o? >>> >>> >>> Hola Alexandro, >>> >>> Como ya comentó Chema, básicamente quien está ejerciendo de CM en las >>> cuentas de Twitter y Facebook de Python Hispano soy yo, con mayor o menor >>> eficacia. >>> >>> La documentación de Python en castellano la mantiene la gente de Python >>> Argentina en este sitio: >>> >>> http://docs.python.org.ar/tutorial/ >>> >> >> ?Interesante, por que no se integra a la fundacion Python? Altguien >> trabaja directamente con ellos? Python Hispano es igual que Python >> Foundation en español?? Por ejemplo en la pagina de >> ?? >> http://www.python.org/community/lists/ veo lo siguiente, como ves, no >> hay un es.comp.lang.python: >> comp.lang.python in non-English >> >> There are some non-English language versions of this newsgroup. The links >> provided here are to the Google Groups archive for each: >> de.comp.lang.python(German), >> it.comp.lang.python(Italian), >> pl.comp.lang.python(Polish), >> fr.comp.lang.python(French), and >> cz.comp.lang.python(Czech). >> >> >> No, Python Hispano no es la versión española de la PSF. No sé si hay >> interés por parte de la Python Foundation en integrar traducciones de la >> documentación, o si la gente de PyAr quiere. De esto no te puedo decir más, >> habría que preguntarles a ellos. >> >> En cuando a la lista, es curioso que no aparezca esta porque lleva muchos >> años ya. Por ejemplo sí que hay página sobre recursos en español en la wiki >> oficial de Python (hice un poco de limpieza hace no mucho pero sobran >> muchísimos enlaces desactualizados): >> >> https://wiki.python.org/moin/SpanishLanguage >> >> Tal vez podríamos pedirles que lo incluyeran pero no sé si merece mucho >> la pena. >> > > ?No veo por que no, acabas de poner "el problema y el trapito", por una > parte no hay mucha gente para apoyar el proyecto, y por otra acabas de ver > que no estamos en el portal mas representativo de Python. Escribir un breve > coreo a la lista de la fundacion no deberia requerir demasiado esfuerzo y > si podria tener un buen resultado. ? > ?Tomo sus semanas de retrazo pero ayer me comunicaron que ya hicieron el ajuste en el sitio de python.org para incluir la direccion de la lista. ? ? ? http://www.python.org/community/lists/ PD: Mi error, pase el vinculo del archivo en vez de la pagina principal de la lista, pero aun asi creo que muchos encontraran el camino a esta.? > > > > >> >> Juanlu >> >> >>> Y hasta donde yo sé desde Python Hispano hemos tenido poco que ver en >>> ello. Yo me he incorporado recientemente al proyecto y por tanto no conozco >>> del todo bien la historia. >>> >>> Hay un QA mantenido por Joe di Castro aquí: >>> >>> http://python.majibu.org/ >>> >>> Pero actualmente y por desgracia no ve demasiada actividad. Por alguna >>> razón no ha terminado de despegar, y la gente no ha acabado de entender su >>> funcionamiento. >>> >>> Existen otros QA sobre Python que no tienen nada que ver con Python >>> Hispano, y en los próximos meses aparecerá «el oficial», dentro de la red >>> Stack Exchange (hermanado con sitios como Stack Overflow, Super User y >>> muchos más): >>> >>> http://python.majibu.org/ >>> >>> Desde Pybonacci apoyé y difundí mucho el proyecto y finalmente alcanzó >>> la masa crítica necesaria. Ahora estamos a la espera de que traduzcan la >>> interfaz: sabemos que están trabajando en ello, pero no tenemos una >>> estimación de cuándo llegará. >>> >>> Python Hispano no está constituido como una asociación formalmente ni >>> nada por el estilo, si no que es más bien un grupo de gente >>> (mayoritariamente o en su totalidad de España) que pretendían aglutinar >>> recursos sobre el lenguaje en español. Ahora estamos en un proceso, por un >>> lado, de relevo (algunos de sus fundadores han dado un paso atrás y otros >>> nos hemos incorporado con ganas de aportar cosas nuevas) y, por otro, de >>> consolidar la comunidad Python española: este fin de semana es la primera >>> PyConES. Las dos cosas nos tienen bastante ocupados, y por tanto no tenemos >>> una dirección o ideas sobre proyectos concretos. >>> >>> Mi opinión personal es que, cuando pase la PyCon España (que si no me >>> equivoco será la última del año en español, después de PyCon Argentina en >>> octubre y PyCon Uruguay a principios de este mes) podríamos pensar si >>> queremos mantener Python Hispano, y si es así con qué filosofía, qué >>> proyectos llevar adelante y con qué medios humanos y materiales contamos. >>> Mi sueño es que fuera un punto de encuentro para las comunidades Python >>> hispanohablantes, pero para eso hacen falta dos cosas fundamentales: gente >>> involucrada de diversos países y que esa gente llegue a acuerdos y puntos >>> en común. >>> >>> Se aceptan todo tipo de ayudas y sugerencias :) Hay mucho trabajo por >>> hacer, y cuantos más lo hagamos menos haremos cada uno. >>> >>> Un saludo, >>> >>> Juan Luis >>> >>> >>> >>> _______________________________________________ >>> Python-es mailing listPython-es en python.orghttps://mail.python.org/mailman/listinfo/python-es >>> FAQ: http://python-es-faq.wikidot.com/ >>> >>> >>> >> >> >> -- >> Alexandro Colorado >> Apache OpenOffice Contributor >> http://www.openoffice.org >> 882C 4389 3C27 E8DF 41B9 5C4C 1DB7 9D1C 7F4C 2614 >> >> >> >> >> >> >> > > > -- > Alexandro Colorado > Apache OpenOffice Contributor > http://www.openoffice.org > 882C 4389 3C27 E8DF 41B9 5C4C 1DB7 9D1C 7F4C 2614 > > > > > > -- Alexandro Colorado Apache OpenOffice Contributor http://www.openoffice.org 882C 4389 3C27 E8DF 41B9 5C4C 1DB7 9D1C 7F4C 2614 ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From bertothunder en gmail.com Thu Dec 12 11:33:40 2013 From: bertothunder en gmail.com (Alberto Curro) Date: Thu, 12 Dec 2013 10:33:40 +0000 Subject: [Python-es] Guardar y consultar posteriormente episodios ya descargados. In-Reply-To: References: Message-ID: El 9 de diciembre de 2013 21:04, Manuel escribió: > Buenas noches a todos. > > Estoy dando mis primeros pasos en Python, he conseguido hacer un script > para bajar series de anime, pero me gustaría guardar en un archivo de texto > las descargas ya realizadas, así la próxima vez que se ejecutara, mire en > el archivo de texto para no descargar el mismo episodio. > > Este es el código de lo que tengo hecho. > > #!/usr/bin/python > import re, urllib > import webbrowser > import time > > > def descarga_anime(): > lista_anime = ["coppelion", "flamenco", "freezing", "hajime", > "log-horizon", "valvrave", "arpeggio"] > myurl = "http://www.animetake.com" > > for i in re.findall('''href=["'](.[^"']+)["']''', > urllib.urlopen(myurl).read(), re.I): > #time.sleep(900) > for serie in lista_anime: > > if serie in i and "episode" in i: > webbrowser.open(i) > time.sleep(4) > > for torrent in re.findall('''href=["'](.[^"']+)["']''', > urllib.urlopen(i).read(), re.I): > if "nyaa.se" in torrent: > if "#038" in torrent: > torrent = torrent.replace("#038;", "") > torrent = torrent.replace("amp;", "").replace(" ", > "") > webbrowser.open(torrent) > time.sleep(4) > break > > descarga_anime() > > > Muchas gracias por vuestro tiempo y ayuda. > Manuel. > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > Por qué el break al final del for??? Sólo esperas encontrar en la lista un candidato a substitución? Por otro lado, google es tu amigo: http://docs.python.org/2/tutorial/inputoutput.html http://stackoverflow.com/questions/899103/python-write-a-list-to-a-file http://www.afterhoursprogramming.com/tutorial/Python/Writing-to-Files/ Saludos ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From pych3m4 en gmail.com Thu Dec 12 16:19:07 2013 From: pych3m4 en gmail.com (Chema Cortes) Date: Thu, 12 Dec 2013 16:19:07 +0100 Subject: [Python-es] Guardar y consultar posteriormente episodios ya descargados. In-Reply-To: References: Message-ID: El día 9 de diciembre de 2013 22:04, Manuel escribió: > Buenas noches a todos. > > Estoy dando mis primeros pasos en Python, he conseguido hacer un script para bajar series de anime, pero me gustaría guardar en un archivo de texto las descargas ya realizadas, así la próxima vez que se ejecutara, mire en el archivo de texto para no descargar el mismo episodio. Si pretendes hacer búsquedas, posiblemente te vaya mejor una base de datos en sqlite que un fichero de texto en plano. Además podrías añadir más información por cada registro, o añadir una tabla de tipos de animes en lugar de tenerlos como una lista en el código. Por estructurar tu código, se pueden diferenciar tres partes: - lectura de información de la web - obtención de la lista de episodios - descarga del episodio Por cada parte, crea una función. Si fuera a hacerse más complejo, cada parte sería una clase, un módulo o un paquete, según se incrementara la complejidad. Cuando aparece la palabra "lista" en un diseño funcional, programando en python equivale a trabajar con iteradores. El la práctica, todo bucle puede ser sustituído por iteradores, mucho más eficientes y elegantes. Para introducir "persistencia", tendríamos: - en la parte donde se obtiene la lista, se filtraría la lista de episodios para no volver a descargar episodios descargados - en la parte de descarga, se añadiría a la base de datos los episodios descargados Una última recomendación: si te dedicas a extraer información de páginas webs ("web scraping") usa alguna de las librería indicadas para ello como "BeautifulSoup" (http://www.crummy.com/software/BeautifulSoup/). > > Este es el código de lo que tengo hecho. > > #!/usr/bin/python > import re, urllib > import webbrowser > import time > > > def descarga_anime(): > lista_anime = ["coppelion", "flamenco", "freezing", "hajime", "log-horizon", "valvrave", "arpeggio"] > myurl = "http://www.animetake.com" > > for i in re.findall('''href=["'](.[^"']+)["']''', urllib.urlopen(myurl).read(), re.I): > #time.sleep(900) > for serie in lista_anime: > > if serie in i and "episode" in i: > webbrowser.open(i) > time.sleep(4) > > for torrent in re.findall('''href=["'](.[^"']+)["']''', urllib.urlopen(i).read(), re.I): > if "nyaa.se" in torrent: > if "#038" in torrent: > torrent = torrent.replace("#038;", "") > torrent = torrent.replace("amp;", "").replace(" ", "") > webbrowser.open(torrent) > time.sleep(4) > break > > descarga_anime() -- Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": http://ch3m4.org/blog Buscador Python Hispano: http://ch3m4.org/python-es From azotillo en gmail.com Fri Dec 13 12:03:41 2013 From: azotillo en gmail.com (Diego pascual lopez) Date: Fri, 13 Dec 2013 12:03:41 +0100 Subject: [Python-es] Guardar y consultar posteriormente episodios ya descargados. In-Reply-To: References: Message-ID: Buenas, Ademas de lo que ha comentado Chema de usar BeautifulSoup yo te recomendaria que usaras tambien http://scrapy.org/ un framework para hacer scraping, sobre todo por que te permite crear crawlers de manera bastante rapida y facil. Un saludo. 2013/12/12 Chema Cortes > El día 9 de diciembre de 2013 22:04, Manuel > escribió: > > Buenas noches a todos. > > > > Estoy dando mis primeros pasos en Python, he conseguido hacer un script > para bajar series de anime, pero me gustaría guardar en un archivo de texto > las descargas ya realizadas, así la próxima vez que se ejecutara, mire en > el archivo de texto para no descargar el mismo episodio. > > Si pretendes hacer búsquedas, posiblemente te vaya mejor una base de > datos en sqlite que un fichero de texto en plano. Además podrías > añadir más información por cada registro, o añadir una tabla de tipos > de animes en lugar de tenerlos como una lista en el código. > > Por estructurar tu código, se pueden diferenciar tres partes: > > - lectura de información de la web > - obtención de la lista de episodios > - descarga del episodio > > Por cada parte, crea una función. Si fuera a hacerse más complejo, > cada parte sería una clase, un módulo o un paquete, según se > incrementara la complejidad. > > Cuando aparece la palabra "lista" en un diseño funcional, programando > en python equivale a trabajar con iteradores. El la práctica, todo > bucle puede ser sustituído por iteradores, mucho más eficientes y > elegantes. > > Para introducir "persistencia", tendríamos: > > - en la parte donde se obtiene la lista, se filtraría la lista de > episodios para no volver a descargar episodios descargados > - en la parte de descarga, se añadiría a la base de datos los > episodios descargados > > Una última recomendación: si te dedicas a extraer información de > páginas webs ("web scraping") usa alguna de las librería indicadas > para ello como "BeautifulSoup" > (http://www.crummy.com/software/BeautifulSoup/). > > > > > Este es el código de lo que tengo hecho. > > > > #!/usr/bin/python > > import re, urllib > > import webbrowser > > import time > > > > > > def descarga_anime(): > > lista_anime = ["coppelion", "flamenco", "freezing", "hajime", > "log-horizon", "valvrave", "arpeggio"] > > myurl = "http://www.animetake.com" > > > > for i in re.findall('''href=["'](.[^"']+)["']''', > urllib.urlopen(myurl).read(), re.I): > > #time.sleep(900) > > for serie in lista_anime: > > > > if serie in i and "episode" in i: > > webbrowser.open(i) > > time.sleep(4) > > > > for torrent in re.findall('''href=["'](.[^"']+)["']''', > urllib.urlopen(i).read(), re.I): > > if "nyaa.se" in torrent: > > if "#038" in torrent: > > torrent = torrent.replace("#038;", "") > > torrent = torrent.replace("amp;", "").replace(" > ", "") > > webbrowser.open(torrent) > > time.sleep(4) > > break > > > > descarga_anime() > > > -- > Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": > http://ch3m4.org/blog > Buscador Python Hispano: http://ch3m4.org/python-es > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From horacio9573 en gmail.com Sat Dec 14 20:22:13 2013 From: horacio9573 en gmail.com (Horacio) Date: Sat, 14 Dec 2013 17:22:13 -0200 Subject: [Python-es] python --- > mysql Message-ID: Buenas, tengo un programa de análisis masivo de imágenes en python, y además tengo la posibilidad de cargar los resultados en una base de datos mysql... Entonces lo que debe hacer el programa es usar la bases de datos existente, crear la tabla si no existe, y si existe abrila para anexar datos,,, y cargar los resultados puestos en una tupla, El programa es ejecutado via un for de esta manera... for i in *.jpg; do python grises.py $i ; done Alguien sabe donde sacar ejemplos de código para que pueda usar para así programar esto? y con alguna explicación si es posible... :) Saludos... From jza en oooes.org Sat Dec 14 22:08:26 2013 From: jza en oooes.org (Alexandro Colorado) Date: Sat, 14 Dec 2013 15:08:26 -0600 Subject: [Python-es] python --- > mysql In-Reply-To: References: Message-ID: El uso tradicional de mysql es que se registra una direccion del archivo fisico, este usualmente se da un un nombre aleatorio el cual se asocia con algun campo de nombre de archivo. Para usar MySQL puedes usar MySQLdb o modulos de abstraccion como SQLAlchemy. La documentacion te da como registrar esta. 2013/12/14 Horacio > Buenas, tengo un programa de análisis masivo de imágenes en python, y > además tengo la posibilidad de cargar los resultados en una base de > datos mysql... > > Entonces lo que debe hacer el programa es usar la bases de datos > existente, crear la tabla si no existe, y si existe abrila para anexar > datos,,, y cargar los resultados puestos en una tupla, > > El programa es ejecutado via un for de esta manera... > > for i in *.jpg; do python grises.py $i ; done > > Alguien sabe donde sacar ejemplos de código para que pueda usar para > así programar esto? y con alguna explicación si es posible... :) > > Saludos... > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > -- Alexandro Colorado Apache OpenOffice Contributor http://www.openoffice.org 882C 4389 3C27 E8DF 41B9 5C4C 1DB7 9D1C 7F4C 2614 ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From jza en oooes.org Wed Dec 18 07:52:47 2013 From: jza en oooes.org (Alexandro Colorado) Date: Wed, 18 Dec 2013 00:52:47 -0600 Subject: [Python-es] Modulos para manejar usuarios en Python Message-ID: Saludos, ando buscando ejemplos o recetas para gestionar usuarios/grupos en Linux (o Unix). Basicamente manipular su estatus, crear, eliminar, actualizar o monitorear usuarios en un sistema Unix (Linux). Si alguien ha hecho algo similar o tiene un tutorial al respecto o recomendacion de algun modulo. -- Alexandro Colorado Apache OpenOffice Contributor http://www.openoffice.org 882C 4389 3C27 E8DF 41B9 5C4C 1DB7 9D1C 7F4C 2614 ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From pych3m4 en gmail.com Wed Dec 18 09:32:58 2013 From: pych3m4 en gmail.com (Chema Cortes) Date: Wed, 18 Dec 2013 09:32:58 +0100 Subject: [Python-es] Modulos para manejar usuarios en Python In-Reply-To: References: Message-ID: El día 18 de diciembre de 2013, 7:52, Alexandro Colorado escribió: > Saludos, ando buscando ejemplos o recetas para gestionar usuarios/grupos en > Linux (o Unix). Basicamente manipular su estatus, crear, eliminar, > actualizar o monitorear usuarios en un sistema Unix (Linux). > > Si alguien ha hecho algo similar o tiene un tutorial al respecto o > recomendacion de algun modulo. Básicamente, hay una colección de módulos alrededor de "fabric" que son muy útiles para la gestión de servidores. En concreto, el módulo "cuisine" te permite la gestión de usuarios y permisos bastante sencilla: http://fabfile.org https://pypi.python.org/pypi/cuisine > > -- > Alexandro Colorado > Apache OpenOffice Contributor > http://www.openoffice.org > 882C 4389 3C27 E8DF 41B9 5C4C 1DB7 9D1C 7F4C 2614 > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > -- Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": http://ch3m4.org/blog Buscador Python Hispano: http://ch3m4.org/python-es From cleon1970 en msn.com Tue Dec 17 20:26:43 2013 From: cleon1970 en msn.com (Claudio Leon) Date: Tue, 17 Dec 2013 16:26:43 -0300 Subject: [Python-es] python --- > Twitter In-Reply-To: References: , Message-ID: Buenas, alguien sabe donde descargar la libreria para twitter para python 2.7 en Windows? Gracias anticipadas. Saludos, Claudio. Date: Sat, 14 Dec 2013 15:08:26 -0600 From: jza en oooes.org To: python-es en python.org Subject: Re: [Python-es] python --- > mysql El uso tradicional de mysql es que se registra una direccion del archivo fisico, este usualmente se da un un nombre aleatorio el cual se asocia con algun campo de nombre de archivo. Para usar MySQL puedes usar MySQLdb o modulos de abstraccion como SQLAlchemy. La documentacion te da como registrar esta. 2013/12/14 Horacio Buenas, tengo un programa de análisis masivo de imágenes en python, y además tengo la posibilidad de cargar los resultados en una base de datos mysql... Entonces lo que debe hacer el programa es usar la bases de datos existente, crear la tabla si no existe, y si existe abrila para anexar datos,,, y cargar los resultados puestos en una tupla, El programa es ejecutado via un for de esta manera... for i in *.jpg; do python grises.py $i ; done Alguien sabe donde sacar ejemplos de código para que pueda usar para así programar esto? y con alguna explicación si es posible... :) Saludos... _______________________________________________ Python-es mailing list Python-es en python.org https://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ -- Alexandro Colorado Apache OpenOffice Contributor http://www.openoffice.org 882C 4389 3C27 E8DF 41B9 5C4C 1DB7 9D1C 7F4C 2614 _______________________________________________ Python-es mailing list Python-es en python.org https://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From kikocorreoso en gmail.com Wed Dec 18 09:47:29 2013 From: kikocorreoso en gmail.com (Kiko) Date: Wed, 18 Dec 2013 09:47:29 +0100 Subject: [Python-es] python --- > Twitter In-Reply-To: References: Message-ID: El 17 de diciembre de 2013, 20:26, Claudio Leon escribió: > Buenas, > alguien sabe donde descargar la libreria para twitter para python 2.7 > en Windows? > No existe una única librería. En general, las cosas suelen estar referenciadas en PyPI. Para twitter puedes ver lo siguiente: https://pypi.python.org/pypi?%3Aaction=search&term=twitter&submit=search ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From monobot.soft en gmail.com Wed Dec 18 09:54:39 2013 From: monobot.soft en gmail.com (monoBOT) Date: Wed, 18 Dec 2013 08:54:39 +0000 Subject: [Python-es] Modulos para manejar usuarios en Python In-Reply-To: References: Message-ID: No tiene nada que ver con Python pero ... en la linea de comandos: http://linux.about.com/od/commands/l/blcmdl8_adduser.htm http://linux.about.com/library/cmd/blcmdl8_userdel.htm http://linux.about.com/od/commands/l/blcmdl8_groupad.htm http://linux.about.com/library/cmd/blcmdl8_groupdel.htm http://linux.about.com/od/commands/l/blcmdl5_passwd.htm Y en casi todas las distribuciones modernas hay guis para todo esto El 18 de diciembre de 2013, 6:52, Alexandro Colorado escribió: > Saludos, ando buscando ejemplos o recetas para gestionar usuarios/grupos > en Linux (o Unix). Basicamente manipular su estatus, crear, eliminar, > actualizar o monitorear usuarios en un sistema Unix (Linux). > > Si alguien ha hecho algo similar o tiene un tutorial al respecto o > recomendacion de algun modulo. > > -- > Alexandro Colorado > Apache OpenOffice Contributor > http://www.openoffice.org > 882C 4389 3C27 E8DF 41B9 5C4C 1DB7 9D1C 7F4C 2614 > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > -- *monoBOT* Visite mi sitio(Visit my site): monobotblog.alvarezalonso.es ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From jza en oooes.org Wed Dec 18 10:17:10 2013 From: jza en oooes.org (Alexandro Colorado) Date: Wed, 18 Dec 2013 03:17:10 -0600 Subject: [Python-es] Modulos para manejar usuarios en Python In-Reply-To: References: Message-ID: Encontre uno que se llama psutils muy sencillo pero es lo que necesito ya que no solo va a usuarios sino a procesos, listeners, etc. 2013/12/18 monoBOT > No tiene nada que ver con Python pero ... > > en la linea de comandos: > http://linux.about.com/od/commands/l/blcmdl8_adduser.htm > http://linux.about.com/library/cmd/blcmdl8_userdel.htm > http://linux.about.com/od/commands/l/blcmdl8_groupad.htm > http://linux.about.com/library/cmd/blcmdl8_groupdel.htm > http://linux.about.com/od/commands/l/blcmdl5_passwd.htm > > Y en casi todas las distribuciones modernas hay guis para todo esto > > > El 18 de diciembre de 2013, 6:52, Alexandro Colorado escribió: > >> Saludos, ando buscando ejemplos o recetas para gestionar usuarios/grupos >> en Linux (o Unix). Basicamente manipular su estatus, crear, eliminar, >> actualizar o monitorear usuarios en un sistema Unix (Linux). >> >> Si alguien ha hecho algo similar o tiene un tutorial al respecto o >> recomendacion de algun modulo. >> >> -- >> Alexandro Colorado >> Apache OpenOffice Contributor >> http://www.openoffice.org >> 882C 4389 3C27 E8DF 41B9 5C4C 1DB7 9D1C 7F4C 2614 >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> https://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> > > > -- > *monoBOT* > Visite mi sitio(Visit my site): monobotblog.alvarezalonso.es > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > -- Alexandro Colorado Apache OpenOffice Contributor http://www.openoffice.org 882C 4389 3C27 E8DF 41B9 5C4C 1DB7 9D1C 7F4C 2614 ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From cleon1970 en msn.com Wed Dec 18 19:42:13 2013 From: cleon1970 en msn.com (Claudio Leon) Date: Wed, 18 Dec 2013 15:42:13 -0300 Subject: [Python-es] python --- > Twitter In-Reply-To: References: , , , Message-ID: Muchas gracias Kiko. Saludos! Date: Wed, 18 Dec 2013 09:47:29 +0100 From: kikocorreoso en gmail.com To: python-es en python.org Subject: Re: [Python-es] python --- > Twitter El 17 de diciembre de 2013, 20:26, Claudio Leon escribió: Buenas, alguien sabe donde descargar la libreria para twitter para python 2.7 en Windows? No existe una única librería. En general, las cosas suelen estar referenciadas en PyPI. Para twitter puedes ver lo siguiente: https://pypi.python.org/pypi?%3Aaction=search&term=twitter&submit=search _______________________________________________ Python-es mailing list Python-es en python.org https://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From la.reina.roja en gmail.com Mon Dec 23 13:09:37 2013 From: la.reina.roja en gmail.com (=?ISO-8859-1?Q?Mai_Gim=E9nez?=) Date: Mon, 23 Dec 2013 13:09:37 +0100 Subject: [Python-es] =?iso-8859-1?q?Reuni=F3=28n=29_de_Pythonistas_en_Cast?= =?iso-8859-1?q?ell=F3?= In-Reply-To: <529F050C.4000105@gmail.com> References: <529F050C.4000105@gmail.com> Message-ID: ¿Cómo fue la reunión? Lamentablemente estaba de entregas en la facultad y me fue imposible acercarme. ¿Repetireís? Estaría muy bien! 2013/12/4 Francesc Alted > Hola, > > [En castellano más abajo] > > Els Pythonistes de Castelló de la Plana i rodalies pensem reunir-nos per a > parlar del llenguatge i d'altres coses interessants. > > Els interessats podeu acudir el proper proper divendres 13 de desembre de > 2013 a les 19:30 hores, al bar Ágora , que és un garito a l'aire lliure que > han obert a la placeta del carrer Campoamor, prop del carrer Governador, a > Castelló. Com que el lloc és nou i no sé molt bé el seu horari d'apertura, > la segona opció seria la cafeteria 'Teapot' que es troba a la mateixa > placeta. > > ---- > > Los Pythonistas de Castellón de la Plana vamos a reunirnos para hablar del > lenguaje y otras cosas interesantes. > > Los interesados podeis acudir el próximo viernes 13 de diciembre de 2013 a > las 19:30 horas, al bar Ágora, que es un garito al aire libre en la placita > de la calle Campoamor, cerca de la calle Governador, en Castellón. Como el > lugar es nuevo y no conozco bien su horario de apertura, la segunda opción > sería la cafetería 'Teapot' sita en la misma plaza. > > Ens veiem! > > -- > Francesc Alted > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From jcea en jcea.es Tue Dec 31 10:06:39 2013 From: jcea en jcea.es (Jesus Cea) Date: Tue, 31 Dec 2013 10:06:39 +0100 Subject: [Python-es] =?iso-8859-15?q?=BFAlg=FAn_recurso_sobre_trucos_pr=E1?= =?iso-8859-15?q?cticos_y_ejemplos_realistas_de_testing=3F?= Message-ID: <52C2891F.803@jcea.es> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Una cosa que he ido descubriendo con los años es que para poder hacer buenos tests es conveniente que lo que estés probando se preste a ello. Tienes que programar de forma que lo que haces sea fácilmente testable. El enfoque habitual en otros lenguajes, y mi tendencia en el pasado es utilizar inyección de dependencias. De hecho hubo una época en la que di la lata un poco para incluir inyección de dependencias en Python, pero la respuesta masiva fue que eso era antipitónico y que el futuro eran los mocks y similares. Pero me encuentro que para probar una rutina de 20 lineas escribo 200 lineas de tests más complejos que la propia rutina a comprobar, el desarrollo es lento y no puedo evitar pensar que estoy haciendo algo mal :-). Así que, ¿alguien conoce recursos online con consejos prácticos y ejemplos realistas?. Porque hacer un chequeo mínimamente completo de esta rutina está siendo un infierno. Esta rutina genera una clave al azar e intenta registrarla en un servidor, que devuelve un 401 mientras un administrador no ha admitido el registro (y en ese caso devuelve un 200). Una vez que tenemos el 200, nos guardamos ese usuario y clave en disco y no necesitamos repetir la operación. """ def consigue_autenticacion() : # Creamos el fichero si es preciso open("/tmp/heartbeat", "w").close() #os.utime("/tmp/heartbeat") try : with open("/local/auth", "r") as f : token = f.read().strip() if " " in token : return # Ya tenemos usuario y clave except FileNotFoundError : with open("/dev/urandom", "rb") as f : token = f.read(4096) if len(token) != 4096 : raise RuntimeError("Lectura parcial de entropía") token = md5(token).hexdigest() with open("/local/auth", "w") as f : f.write(token+"\n") usuario = "XXXXXX" clave = "XXXXXXXX" # Confidencial, pero no crítico auth = requests.auth.HTTPBasicAuth(usuario, clave) addr = netifaces.ifaddresses("eth0") ip_addr = addr[netifaces.AF_INET][0]["addr"] mac_addr = addr[netifaces.AF_LINK][0]["addr"] mac_addr = mac_addr[0:2]+mac_addr[3:5]+mac_addr[6:8]+ \ mac_addr[9:11]+mac_addr[12:14]+mac_addr[15:17] factor = 1*60 while True : t = time.time() respuesta = requests.get("https://XXXXXX.jcea.es/registro?" "ip_addr=%s&mac_addr=%s&ts=%.0f" \ %(ip_addr, mac_addr, time.time()), auth = auth, verify = "XXXXXXXXX.jcea.es.cert", timeout = 1*60, headers = {"clave": token}) os.utime("/tmp/heartbeat") if respuesta.status_code == 401 : t = t + factor factor = factor * 3 if factor > 3600 : factor = 3600 while time.time() < t : time.sleep(10) os.utime("/tmp/heartbeat") continue # Volvemos a intentarlo elif respuesta.status_code == 200 : with open("/local/auth", "w") as f : f.write(mac_addr+" "+token+"\n") return else : raise RuntimeError("El servidor nos devuelve un status %s" \ %respuesta.status_code) """ El código de testeo de esta rutina es complicado de cojones, feo, frágil. Uso Mocks para comprobar que las llamadas se realizan en el orden y con los parámetros correctos, tiro excepciones, simulo ficheros, etc. La pruebo a fondo. Pero desarrollar el test ha sido costosísimo. ¿Consejos?. Se admiten recomendaciones de libros. - -- Jesús Cea Avión _/_/ _/_/_/ _/_/_/ jcea en jcea.es - http://www.jcea.es/ _/_/ _/_/ _/_/ _/_/ _/_/ Twitter: @jcea _/_/ _/_/ _/_/_/_/_/ jabber / xmpp:jcea en jabber.org _/_/ _/_/ _/_/ _/_/ _/_/ "Things are not so easy" _/_/ _/_/ _/_/ _/_/ _/_/ _/_/ "My name is Dump, Core Dump" _/_/_/ _/_/_/ _/_/ _/_/ "El amor es poner tu felicidad en la felicidad de otro" - Leibniz -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.15 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQCVAwUBUsKJG5lgi5GaxT1NAQLu7wQAlG+qzPwUIZWi0wLtgXBg44WWMbODuqZd SQrsSxFxEL5GHhyWiW2RCJ7cG5B9Sgtbfg2Sez0o9PiAwFxMku42DxTJwS/tPTpK 15I9WUuvN2lylAOvMPvn5CuUsuis2wQ0R2hv5jgXPJ39Kl/e2ncwuiZB83J1APvd 5jZXkbYoTz8= =9H+8 -----END PGP SIGNATURE----- From pych3m4 en gmail.com Tue Dec 31 16:44:42 2013 From: pych3m4 en gmail.com (Chema Cortes) Date: Tue, 31 Dec 2013 16:44:42 +0100 Subject: [Python-es] =?iso-8859-1?q?=BFAlg=FAn_recurso_sobre_trucos_pr=E1c?= =?iso-8859-1?q?ticos_y_ejemplos_realistas_de_testing=3F?= In-Reply-To: <52C2891F.803@jcea.es> References: <52C2891F.803@jcea.es> Message-ID: El día 31 de diciembre de 2013, 10:06, Jesus Cea escribió: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Una cosa que he ido descubriendo con los años es que para poder hacer > buenos tests es conveniente que lo que estés probando se preste a > ello. Tienes que programar de forma que lo que haces sea fácilmente > testable. > > El enfoque habitual en otros lenguajes, y mi tendencia en el pasado es > utilizar inyección de dependencias. De hecho hubo una época en la que > di la lata un poco para incluir inyección de dependencias en Python, > pero la respuesta masiva fue que eso era antipitónico y que el futuro > eran los mocks y similares. > > Pero me encuentro que para probar una rutina de 20 lineas escribo 200 > lineas de tests más complejos que la propia rutina a comprobar, el > desarrollo es lento y no puedo evitar pensar que estoy haciendo algo > mal :-). > > Así que, ¿alguien conoce recursos online con consejos prácticos y > ejemplos realistas?. Porque hacer un chequeo mínimamente completo de > esta rutina está siendo un infierno. > > Esta rutina genera una clave al azar e intenta registrarla en un > servidor, que devuelve un 401 mientras un administrador no ha admitido > el registro (y en ese caso devuelve un 200). Una vez que tenemos el > 200, nos guardamos ese usuario y clave en disco y no necesitamos > repetir la operación. > > """ > def consigue_autenticacion() : > # Creamos el fichero si es preciso > open("/tmp/heartbeat", "w").close() > #os.utime("/tmp/heartbeat") > > try : > with open("/local/auth", "r") as f : > token = f.read().strip() > if " " in token : > return # Ya tenemos usuario y clave > except FileNotFoundError : > with open("/dev/urandom", "rb") as f : > token = f.read(4096) > if len(token) != 4096 : > raise RuntimeError("Lectura parcial de entropía") > token = md5(token).hexdigest() > with open("/local/auth", "w") as f : > f.write(token+"\n") > > usuario = "XXXXXX" > clave = "XXXXXXXX" # Confidencial, pero no crítico > auth = requests.auth.HTTPBasicAuth(usuario, clave) > > addr = netifaces.ifaddresses("eth0") > ip_addr = addr[netifaces.AF_INET][0]["addr"] > mac_addr = addr[netifaces.AF_LINK][0]["addr"] > mac_addr = mac_addr[0:2]+mac_addr[3:5]+mac_addr[6:8]+ \ > mac_addr[9:11]+mac_addr[12:14]+mac_addr[15:17] > > factor = 1*60 > while True : > t = time.time() > respuesta = requests.get("https://XXXXXX.jcea.es/registro?" > "ip_addr=%s&mac_addr=%s&ts=%.0f" \ > %(ip_addr, mac_addr, time.time()), > auth = auth, > verify = "XXXXXXXXX.jcea.es.cert", > timeout = 1*60, > headers = {"clave": token}) > os.utime("/tmp/heartbeat") > if respuesta.status_code == 401 : > t = t + factor > factor = factor * 3 > if factor > 3600 : > factor = 3600 > while time.time() < t : > time.sleep(10) > os.utime("/tmp/heartbeat") > continue # Volvemos a intentarlo > elif respuesta.status_code == 200 : > with open("/local/auth", "w") as f : > f.write(mac_addr+" "+token+"\n") > return > else : > raise RuntimeError("El servidor nos devuelve un status %s" \ > %respuesta.status_code) > """ > > El código de testeo de esta rutina es complicado de cojones, feo, > frágil. Uso Mocks para comprobar que las llamadas se realizan en el > orden y con los parámetros correctos, tiro excepciones, simulo > ficheros, etc. La pruebo a fondo. Pero desarrollar el test ha sido > costosísimo. > > ¿Consejos?. > > Se admiten recomendaciones de libros. Para peticiones asíncronas, el patrón que parece funcionar mejor es el patrón "Actor". Al convesar con el resto de actores a través de mensajes, es mucho más fácil desacoplar y testear cada parte por separado (o sea, con "mocks" que emulan otros actores). Lo único complicado es crear un diseño de actores que sea suficientemente resiliente (recuperación frente a fallos). Para python hay librerías Actor como pykka[1], parley[2] o pulsar[3], pero no las he probado como para darte alguna idea. Para realizar las pruebas, mírate pywovs[4] a ver si te ahorra trabajo. [1]: http://pykka.readthedocs.org/en/latest/ [2]: http://osl.cs.uiuc.edu/parley/ [3]: http://pythonhosted.org/pulsar/ [4]: http://heynemann.github.io/pyvows/ No conozco libros que traten de estos temas para python. Mi consejo es que te mires otros lenguajes como Scala/Akka o Erlang si piensas hacer un sistema de actores algo más complejo. -- Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": http://ch3m4.org/blog Buscador Python Hispano: http://ch3m4.org/python-es