From claudio.anion en gmail.com Mon Jan 1 05:00:24 2007 From: claudio.anion en gmail.com (claudio.anion) Date: Wed Oct 24 11:14:29 2007 Subject: [Python-es] IDE para python en windows Message-ID: <355919408.20070101010024@gmail.com> Hola, recien estoy empezando con python y queria saber si me pueden recomendar un buen ide para usar. -- Saludos, claudio.anion mailto:claudio.anion@gmail.com From nocreyentes en terra.es Mon Jan 1 15:28:39 2007 From: nocreyentes en terra.es (nocreyente) Date: Wed Oct 24 11:14:29 2007 Subject: [Python-es] Buscadores en python Message-ID: <45991A97.8030803@terra.es> Buenas: Ayer como me aburria mucho, me puse a mirar modulos para hacer busquedas en python. Vi esta pagina con un pequeño resumen de lo que existe para hacer "full text search" http://trac.edgewall.org/wiki/AdvancedSearch El caso, es que de usar uno de esos no sabria por cual optar: - Xapian parece una buena opcion - PyLucene creo que tambien - Hype tiene la web caida ¿ha desaparecido? - La opcion de una capa intermedia resulta de lo más tentadora: - merquery tiene una pinta estupenda, pero se ha vuelto demasiado dependiente de django (soy mas de Turbogears) - pyndexter parece una opción más correcta para mis necesidades. Pero el proyecto lleva un tiempo parado (sin estar completo). La parte más completa depende de Hype :-( - La opcion de usar directamente la BBDD no me gusta, demasiado dependiente de una tecnologia determinada. Quizá como extension de SQLObject o SQLAlchemy estaría mejor. ¿Hay algo de eso? Esto si que seria ideal. El caso es que lo que más me esta tirando es extender SQLObject o SQLAlchemy para que sea transparente y comodo. De todas formas, quiero un buscador para las cosas que se almacenan en BBDD sin tener que hacer tablas con indices precalculados (quiero aplicar eso del DRY). Lo cual me hace pensar en otra via de accion: buscar sistemas OLAP. Y tal como se dijo en su dia http://listas.aditel.org/archivos/python-es/2005-March/012578.html pytables puede ser una buena opcion para el indice. De todas formas; solo hace falta un parser, un steamer y mucho arte para hacer los indices para las busqueda de texto. En definitiva: ¿Existe algun modulo para convertir un modelo de datos de SQLAlchemy o SQLObject en un sistema Olap? De no existir, ¿que literatura sobre Olap me recomendais para ponerme las pilas sobre la teoria que hace falta? Ando un poco verde con eso de los cubos, funciones de pivotaje, ... Un saludo y gracias por adelantado: Javi From flaper87 en gmail.com Mon Jan 1 20:01:00 2007 From: flaper87 en gmail.com (Flaper87) Date: Wed Oct 24 11:14:29 2007 Subject: [Python-es] IDE para python en windows In-Reply-To: <355919408.20070101010024@gmail.com> References: <355919408.20070101010024@gmail.com> Message-ID: Hola, recien estoy empezando con python y queria saber si me pueden > recomendar un buen ide para usar. > Hola te recomiendo usar wxGlade o Visualwx, son los que he usado y son realmente buenos. El wx es un poquito mas complicado, pero una vez que le agarras cariño, no te despegas de el. Tambien he escuchado acerca de boaconstructor(no se que tal es) :) Suerte y bienvenido al mundo de python ;) -- Flavio Percoco Premoli, A.K.A. [Flaper87] http://www.flaper87.com Usuario Linux registrado #436538 Key Fingerprint: CFC0 C67D FF73 463B 7E55 CF43 25D1 E75B E2DB 15C7 From claudio.anion en gmail.com Mon Jan 1 21:45:16 2007 From: claudio.anion en gmail.com (claudio.anion) Date: Wed Oct 24 11:14:29 2007 Subject: [Python-es] IDE para python en windows In-Reply-To: References: <355919408.20070101010024@gmail.com> Message-ID: <1909676709.20070101174516@gmail.com> Estimado Flaper87, Con fecha Lunes, 01 de Enero de 2007, 04:01:00 p.m., escribió: > Hola, recien estoy empezando con python y queria saber si me pueden >> recomendar un buen ide para usar. >> > Hola te recomiendo usar wxGlade o Visualwx, son los que he usado y son > realmente buenos. > El wx es un poquito mas complicado, pero una vez que le agarras cariño, no > te despegas de el. > Tambien he escuchado acerca de boaconstructor(no se que tal es) :) > Suerte y bienvenido al mundo de python ;) Muchas Gracias, lo voy a probar. Actualmente estoy viendo que existe un plug in para eclipse, parece interesante. -- Saludos, claudio.anion mailto:claudio.anion@gmail.com From flaper87 en gmail.com Mon Jan 1 21:51:59 2007 From: flaper87 en gmail.com (Flaper87) Date: Wed Oct 24 11:14:29 2007 Subject: [Python-es] IDE para python en windows In-Reply-To: <1909676709.20070101174516@gmail.com> References: <355919408.20070101010024@gmail.com> <1909676709.20070101174516@gmail.com> Message-ID: 2007/1/1, claudio.anion : > > Estimado Flaper87, > > Con fecha Lunes, 01 de Enero de 2007, 04:01:00 p.m., escribió: > > > Hola, recien estoy empezando con python y queria saber si me pueden > >> recomendar un buen ide para usar. > >> > > > Hola te recomiendo usar wxGlade o Visualwx, son los que he usado y son > > realmente buenos. > > > El wx es un poquito mas complicado, pero una vez que le agarras cariño, > no > > te despegas de el. > > > Tambien he escuchado acerca de boaconstructor(no se que tal es) :) > > > Suerte y bienvenido al mundo de python ;) > > > Muchas Gracias, lo voy a probar. Actualmente estoy viendo que existe > un plug in para eclipse, parece interesante. > > -- > Saludos, > claudio.anion mailto:claudio.anion@gmail.com Pues no conosco mucho de eclipse asi que no te puedo dar informacion acerca de eso :). Me acabo de dar cuenta que me comi una palabra en el correo anterior que te envie, cuando dije que el wx es un poquito mas complicado me referia al wxGlade ;) Saludos y Feliz Año -- Flavio Percoco Premoli, A.K.A. [Flaper87] http://www.flaper87.com Usuario Linux registrado #436538 Key Fingerprint: CFC0 C67D FF73 463B 7E55 CF43 25D1 E75B E2DB 15C7 From claudio.anion en gmail.com Mon Jan 1 23:06:32 2007 From: claudio.anion en gmail.com (claudio.anion) Date: Wed Oct 24 11:14:29 2007 Subject: [Python-es] cual es el uso que se le da a python hoy en dia? In-Reply-To: References: <355919408.20070101010024@gmail.com> <1909676709.20070101174516@gmail.com> Message-ID: <1344183783.20070101190632@gmail.com> Hola, actualmente para que se utiliza python?, tiene futuro? -- Saludos, claudio.anion mailto:claudio.anion@gmail.com From kernel.no.found en gmail.com Mon Jan 1 23:24:21 2007 From: kernel.no.found en gmail.com (=?ISO-8859-1?Q?Juan_Jos=E9_Alonso.?=) Date: Wed Oct 24 11:14:29 2007 Subject: [Python-es] Excelente articulo: GnomeApplet Message-ID: <117d6e170701011424g45adee93q7334348ea5fa2769@mail.gmail.com> Excelente articulo sobre la programacion de applets con este modulo. http://dotpy.net/articulos/modulos_y_apis/programacion_de_applets_en_gnome.html -- Juan José Alonso. KarlsBerg. eMail: kernel.no.found@gmail.com MSN: kernel.no.found@gmail.com From mlacunza en gmail.com Tue Jan 2 00:43:44 2007 From: mlacunza en gmail.com (Mario Lacunza) Date: Wed Oct 24 11:14:29 2007 Subject: [Python-es] Error critico de mi programa en Debian: `window != NULL' failed In-Reply-To: References: <1167524938.4971.12.camel@laptop> <1167526855.4971.15.camel@laptop> <1167528247.4971.17.camel@laptop> <9e021980612302206i7b95256fn82635cb8d8ff2feb@mail.gmail.com> <1167546477.4967.4.camel@laptop> <1167578134.4958.3.camel@laptop> Message-ID: <1167695024.4962.11.camel@laptop> El dom, 31-12-2006 a las 12:31 -0400, Flaper87 escribió: > 2006/12/31, Mario Lacunza : > > > > El dom, 31-12-2006 a las 07:54 -0400, Flaper87 escribió: > > > Buenas, he buscado en todo el codigo donde diga NULL o windows = NULL, y > > no > > > existe nada igual, es por ello que no se donde puede estar el error, mas > > sin > > > embargo si estoy buscando la forma de utilizar el wxpython 2.8, ya lo he > > > instalado pero no logro hacer que utilice ese en vez de el 2.6 ya que > > > el 2.6lo instala automaticamente el wxglade, asi que toy un poco > > > trncado ahi. > > > > > > > desinstalaste el 2.6? al instalar el wxGlade tendrias q linkearlo al 2.8 > > > > Si tu Debian no te los preinstala es complicado. > > > Yo instale el wxglade con el aptitude, y el automaticamente instalo todo > (wxpython 2.6), ahora descargue el 2.8 pero esto buscando como puedo hacer > para que el glade utilice el 2.8. Alguna ayuda? > no se xq en Ubuntu al añadir el repositorio de wxpython lo actualiza en auto. > Por cierto, al correr desde la consola un archivo .py como hago para saber > que version de wxpython esta usando? > print wx.__version__ -- Mario Lacunza From mlacunza en gmail.com Tue Jan 2 00:44:50 2007 From: mlacunza en gmail.com (Mario Lacunza) Date: Wed Oct 24 11:14:29 2007 Subject: [Python-es] cual es el uso que se le da a python hoy en dia? In-Reply-To: <1344183783.20070101190632@gmail.com> References: <355919408.20070101010024@gmail.com> <1909676709.20070101174516@gmail.com> <1344183783.20070101190632@gmail.com> Message-ID: <1167695090.4962.13.camel@laptop> El lun, 01-01-2007 a las 19:06 -0300, claudio.anion escribió: > Hola, actualmente para que se utiliza python?, tiene futuro? > _______________________________________________ > Python-es mailing list > Python-es@aditel.org > http://listas.aditel.org/listinfo/python-es Has probado en Google??? -- Mario Lacunza From tigerdequilmes en gmail.com Tue Jan 2 01:02:09 2007 From: tigerdequilmes en gmail.com (Mariano Del Popolo) Date: Wed Oct 24 11:14:29 2007 Subject: [Python-es] cual es el uso que se le da a python hoy en dia? In-Reply-To: <1167695090.4962.13.camel@laptop> References: <355919408.20070101010024@gmail.com> <1909676709.20070101174516@gmail.com> <1344183783.20070101190632@gmail.com> <1167695090.4962.13.camel@laptop> Message-ID: <4599A101.7010409@gmail.com> Mario Lacunza wrote: > El lun, 01-01-2007 a las 19:06 -0300, claudio.anion escribió: > >> Hola, actualmente para que se utiliza python?, tiene futuro? >> _______________________________________________ >> Python-es mailing list >> Python-es@aditel.org >> http://listas.aditel.org/listinfo/python-es >> > > Has probado en Google??? > > > ------------------------------------------------------------------------ > > _______________________________________________ > Python-es mailing list > Python-es@aditel.org > http://listas.aditel.org/listinfo/python-es > De hecho, google lo usa :D :D :D From eduardo en topprecios.com Tue Jan 2 03:25:54 2007 From: eduardo en topprecios.com (=?iso-8859-1?Q?Eduardo_Jim=E9nez?=) Date: Wed Oct 24 11:14:29 2007 Subject: [Python-es] Re: cual es el uso que se le da a python hoy en dia? References: <20070101234425.3BC34145F3D1@devnull.aditel.org> Message-ID: <001901c72e15$586148b0$8000a8c0@PortatilEduardo> Hola Clauido, No soy un experto, pero que yo sepa entre otras cosas Python es uno de los lenguajes utilizados por Google. Por algo será. Por lo que respondiendo a tu pregunta, tiene presente y futuro. Otra cosa bien distinta es que encuentres trabajo programando en Python en tu localidad. Para que alcance esos niveles de popularidad, según mi opinión falta bastante, y supongo que se darán cuando se desarrollen mejores entornos de depuración y en general aplicaciones que nos ayuden a generar proyectos visuales más fácilmente. Espero a verte resuelto alguna dudas. Saludos Atentamente, Eduardo Jiménez www.TopPrecios.com ------------------------------ Date: Mon, 1 Jan 2007 19:06:32 -0300 From: "claudio.anion" Subject: [Python-es] cual es el uso que se le da a python hoy en dia? Hola, actualmente para que se utiliza python?, tiene futuro? -- Saludos, claudio.anion From flaper87 en gmail.com Tue Jan 2 04:52:36 2007 From: flaper87 en gmail.com (Flaper87) Date: Wed Oct 24 11:14:29 2007 Subject: [Python-es] Re: cual es el uso que se le da a python hoy en dia? In-Reply-To: <001901c72e15$586148b0$8000a8c0@PortatilEduardo> References: <20070101234425.3BC34145F3D1@devnull.aditel.org> <001901c72e15$586148b0$8000a8c0@PortatilEduardo> Message-ID: El día 1/01/07, Eduardo Jiménez escribió: > > Hola Clauido, > > No soy un experto, pero que yo sepa entre otras cosas Python es uno de los > lenguajes utilizados por Google. Por algo será. > Por lo que respondiendo a tu pregunta, tiene presente y futuro. > Otra cosa bien distinta es que encuentres trabajo programando en Python en > tu localidad. > Para que alcance esos niveles de popularidad, según mi opinión falta > bastante, y supongo que se darán cuando se desarrollen mejores entornos de > depuración y en general aplicaciones que nos ayuden a generar proyectos > visuales más fácilmente. > > Espero a verte resuelto alguna dudas. > > Saludos > > Atentamente, > Eduardo Jiménez > www.TopPrecios.com Hola a todos!!! Comparto lo que dice Eduardo, python tiene presente y futuro, es utilizado por compañias, en desarrollo web, desarrollo de softwares entre otros. Pero siento que la popularidad de python no va a depender solamente del desarrollo de entornos de depuracion, ni del desarrollo de programas para generar proyectos mas visuales ya que muchos programamos en python y realmente aunque no se creen las interfaces mas agradables a la vista, se pueden crear interfaces totalmente completas. En mi opinion (aunque todo lo que dice Eduardo lo comparto), la popularidad de python va a depender tambien de que la gente descubra todas sus potencialidades, y de que muchos salgan de la costumbre y de la seguridad que les dan los lenguajes de programacion que ya conocen para experimentar otros lenguajes muy buenos como Python. ;) Saludos. Feliz Año a Todos!!! -- Flavio Percoco Premoli, A.K.A. [Flaper87] http://www.flaper87.com Usuario Linux registrado #436538 Key Fingerprint: CFC0 C67D FF73 463B 7E55 CF43 25D1 E75B E2DB 15C7 From posyotincunabici en gmail.com Tue Jan 2 13:02:00 2007 From: posyotincunabici en gmail.com (Jaime Forcada) Date: Wed Oct 24 11:14:29 2007 Subject: [Python-es] Re: cual es el uso que se le da a python hoy en dia? In-Reply-To: References: <20070101234425.3BC34145F3D1@devnull.aditel.org> <001901c72e15$586148b0$8000a8c0@PortatilEduardo> Message-ID: YouTube esta hecho en python xD 2007/1/2, Flaper87 : > > El día 1/01/07, Eduardo Jiménez escribió: > > > > Hola Clauido, > > > > No soy un experto, pero que yo sepa entre otras cosas Python es uno de > los > > lenguajes utilizados por Google. Por algo será. > > Por lo que respondiendo a tu pregunta, tiene presente y futuro. > > Otra cosa bien distinta es que encuentres trabajo programando en Python > en > > tu localidad. > > Para que alcance esos niveles de popularidad, según mi opinión falta > > bastante, y supongo que se darán cuando se desarrollen mejores entornos > de > > depuración y en general aplicaciones que nos ayuden a generar proyectos > > visuales más fácilmente. > > > > Espero a verte resuelto alguna dudas. > > > > Saludos > > > > Atentamente, > > Eduardo Jiménez > > www.TopPrecios.com > > > Hola a todos!!! > > Comparto lo que dice Eduardo, python tiene presente y futuro, es > utilizado > por compañias, en desarrollo web, desarrollo de softwares entre otros. > Pero > siento que la popularidad de python no va a depender solamente del > desarrollo de entornos de depuracion, ni del desarrollo de programas para > generar proyectos mas visuales ya que muchos programamos en python y > realmente aunque no se creen las interfaces mas agradables a la vista, se > pueden crear interfaces totalmente completas. > En mi opinion (aunque todo lo que dice Eduardo lo comparto), la > popularidad > de python va a depender tambien de que la gente descubra todas sus > potencialidades, y de que muchos salgan de la costumbre y de la seguridad > que les dan los lenguajes de programacion que ya conocen para experimentar > otros lenguajes muy buenos como Python. ;) > > Saludos. > Feliz Año a Todos!!! > > -- > Flavio Percoco Premoli, A.K.A. [Flaper87] > http://www.flaper87.com > Usuario Linux registrado #436538 > Key Fingerprint: CFC0 C67D FF73 463B 7E55 CF43 25D1 E75B E2DB 15C7 > _______________________________________________ > Python-es mailing list > Python-es@aditel.org > http://listas.aditel.org/listinfo/python-es > From hfoffani en gmail.com Tue Jan 2 13:10:37 2007 From: hfoffani en gmail.com (Hernan M Foffani) Date: Wed Oct 24 11:14:29 2007 Subject: [Python-es] Buscadores en python In-Reply-To: <45991A97.8030803@terra.es> References: <45991A97.8030803@terra.es> Message-ID: <11fab4bc0701020410o5663463dt4d079ca5966971dc@mail.gmail.com> No entiendo por qué relacionas la búsqueda sobre texto libre con OLAP. ¿O es que estás interesado en usar ambas en tu aplicación? On 1/1/07, nocreyente wrote: > Buenas: > > Ayer como me aburria mucho, me puse a mirar modulos para hacer busquedas > en python. Vi esta pagina con un pequeño resumen de lo que existe para > hacer "full text search" http://trac.edgewall.org/wiki/AdvancedSearch > > El caso, es que de usar uno de esos no sabria por cual optar: > - Xapian parece una buena opcion > - PyLucene creo que tambien > - Hype tiene la web caida ¿ha desaparecido? > - La opcion de una capa intermedia resulta de lo más tentadora: > - merquery tiene una pinta estupenda, pero se ha vuelto demasiado > dependiente de django (soy mas de Turbogears) > - pyndexter parece una opción más correcta para mis necesidades. Pero > el proyecto lleva un tiempo parado (sin estar completo). La parte más > completa depende de Hype :-( > - La opcion de usar directamente la BBDD no me gusta, demasiado > dependiente de una tecnologia determinada. Quizá como extension de > SQLObject o SQLAlchemy estaría mejor. ¿Hay algo de eso? Esto si que > seria ideal. > > El caso es que lo que más me esta tirando es extender SQLObject o > SQLAlchemy para que sea transparente y comodo. De todas formas, quiero > un buscador para las cosas que se almacenan en BBDD sin tener que hacer > tablas con indices precalculados (quiero aplicar eso del DRY). Lo cual > me hace pensar en otra via de accion: buscar sistemas OLAP. Y tal como > se dijo en su dia > http://listas.aditel.org/archivos/python-es/2005-March/012578.html > pytables puede ser una buena opcion para el indice. De todas formas; > solo hace falta un parser, un steamer y mucho arte para hacer los > indices para las busqueda de texto. > > En definitiva: > ¿Existe algun modulo para convertir un modelo de datos de SQLAlchemy o > SQLObject en un sistema Olap? > De no existir, ¿que literatura sobre Olap me recomendais para ponerme > las pilas sobre la teoria que hace falta? Ando un poco verde con eso de > los cubos, funciones de pivotaje, ... > > Un saludo y gracias por adelantado: > > Javi > _______________________________________________ > Python-es mailing list > Python-es@aditel.org > http://listas.aditel.org/listinfo/python-es > From marco.bustam en gmail.com Tue Jan 2 13:31:17 2007 From: marco.bustam en gmail.com (Marco Bustamante) Date: Wed Oct 24 11:14:29 2007 Subject: [Python-es] Re: cual es el uso que se le da a python hoy en dia? In-Reply-To: References: <20070101234425.3BC34145F3D1@devnull.aditel.org> <001901c72e15$586148b0$8000a8c0@PortatilEduardo> Message-ID: <73a726350701020431s490faed8yf9cf0068077b0a31@mail.gmail.com> según sale en http://www.python.org/ "NASA uses Python..." Using Python For... - Web Programming - CGI , Zope, Django , TurboGears, XML - Databases - ODBC , MySQL, Others - GUI Development - wxPython , tkInter, PyGtk , PyQt - Scientific and Numeric - Bioinformatics, Physics - Education - pyBiblio , Software Carpentry Course - Networking - Sockets , Twisted - Software Development - Buildbot , Trac, Roundup , IDEs - Game Development - PyGame , PyKyra, 3D Rendering 2007/1/2, Jaime Forcada : > > YouTube esta hecho en python xD > > 2007/1/2, Flaper87 : > > > > El día 1/01/07, Eduardo Jiménez escribió: > > > > > > Hola Clauido, > > > > > > No soy un experto, pero que yo sepa entre otras cosas Python es uno de > > los > > > lenguajes utilizados por Google. Por algo será. > > > Por lo que respondiendo a tu pregunta, tiene presente y futuro. > > > Otra cosa bien distinta es que encuentres trabajo programando en > Python > > en > > > tu localidad. > > > Para que alcance esos niveles de popularidad, según mi opinión falta > > > bastante, y supongo que se darán cuando se desarrollen mejores > entornos > > de > > > depuración y en general aplicaciones que nos ayuden a generar > proyectos > > > visuales más fácilmente. > > > > > > Espero a verte resuelto alguna dudas. > > > > > > Saludos > > > > > > Atentamente, > > > Eduardo Jiménez > > > www.TopPrecios.com > > > > > > Hola a todos!!! > > > > Comparto lo que dice Eduardo, python tiene presente y futuro, es > > utilizado > > por compañias, en desarrollo web, desarrollo de softwares entre otros. > > Pero > > siento que la popularidad de python no va a depender solamente del > > desarrollo de entornos de depuracion, ni del desarrollo de programas > para > > generar proyectos mas visuales ya que muchos programamos en python y > > realmente aunque no se creen las interfaces mas agradables a la vista, > se > > pueden crear interfaces totalmente completas. > > En mi opinion (aunque todo lo que dice Eduardo lo comparto), la > > popularidad > > de python va a depender tambien de que la gente descubra todas sus > > potencialidades, y de que muchos salgan de la costumbre y de la > seguridad > > que les dan los lenguajes de programacion que ya conocen para > experimentar > > otros lenguajes muy buenos como Python. ;) > > > > Saludos. > > Feliz Año a Todos!!! > > > > -- > > Flavio Percoco Premoli, A.K.A. [Flaper87] > > http://www.flaper87.com > > Usuario Linux registrado #436538 > > Key Fingerprint: CFC0 C67D FF73 463B 7E55 CF43 25D1 E75B E2DB 15C7 > > _______________________________________________ > > Python-es mailing list > > Python-es@aditel.org > > http://listas.aditel.org/listinfo/python-es > > > _______________________________________________ > Python-es mailing list > Python-es@aditel.org > http://listas.aditel.org/listinfo/python-es > -- Marco Antonio Bustamante Ferrada Ingeniero (E) en Computación en Informática (c) Universidad Católica del Maule Usuario LINUX registrado #410407 From fpalm en ula.ve Tue Jan 2 13:48:46 2007 From: fpalm en ula.ve (Francisco Palm) Date: Wed Oct 24 11:14:29 2007 Subject: [Python-es] Re: cual es el uso que se le da a python hoy en dia? In-Reply-To: <73a726350701020431s490faed8yf9cf0068077b0a31@mail.gmail.com> References: <20070101234425.3BC34145F3D1@devnull.aditel.org> <001901c72e15$586148b0$8000a8c0@PortatilEduardo> <73a726350701020431s490faed8yf9cf0068077b0a31@mail.gmail.com> Message-ID: <459A54AE.4020909@ula.ve> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El problema no es si Python "se usa", o si es muy popular. La gente que escucha música lo tiene bastante claro: es muy poco probable que lo que es realmente bueno se haga muy popular. ¿Porqué no se usa mucho ahora?: por la misma razón de la música, Python no cuenta con los recursos de publicidad de mercadeo de Java o .Net. La cuestión es, ¿Quieres usar lo mejor?: usa Python. ¿Crees que le falta algo?: participa y trabaja por mejorarlo. Mientras uses Python le llevarás una gran ventaja competitiva a la mayoría. Acaso has visto algo tipo YouTube hecho en Java?, es prácticamente imposible. ¿Tiene futuro?, tiene unos cuantos buenos años por delante, las tecnologías cambiarán y aparecerán nuevas cosas, aún mejores. Saludos F. Palm -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.3 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFFmlSt/ojaFvmpYDoRAqPfAJ9JWuAyZ1pzCVe25+dmFCXHQIX5fACeKwPf leqdK7P8mjJ7b8A7Td3idjI= =QL+I -----END PGP SIGNATURE----- From lautaro.listas en gmail.com Tue Jan 2 14:37:50 2007 From: lautaro.listas en gmail.com (Lautaro Cozzani) Date: Wed Oct 24 11:14:29 2007 Subject: [Python-es] Re: cual es el uso que se le da a python hoy en dia? In-Reply-To: <459A54AE.4020909@ula.ve> References: <20070101234425.3BC34145F3D1@devnull.aditel.org> <001901c72e15$586148b0$8000a8c0@PortatilEduardo> <73a726350701020431s490faed8yf9cf0068077b0a31@mail.gmail.com> <459A54AE.4020909@ula.ve> Message-ID: On 1/2/07, Francisco Palm wrote: > La cuestión es, ¿Quieres usar lo mejor?: usa Python. ¿Crees que le falta ^^^^^^^^^^^^^^ > algo?: participa y trabaja por mejorarlo. ¿una justificacion de porque afirmas que es "lo mejor"? > > Mientras uses Python le llevarás una gran ventaja competitiva a la > mayoría. Acaso has visto algo tipo YouTube hecho en Java?, es > prácticamente imposible. ¿porque decís que es prácticamente imposible? ACLARACIÓN: no hago estas preguntas para empezar a discutir sin sentido, solo que me pareció que lo que dijiste es como demasiado extremista. -- Lautaro Cozzani Los mapaches son la prueba viviente de que Dios tiene sentido del humor. Pero darle alas a las cucharachas, es muestra de que es un verdadero hijo de puta!!! From arturoeanton en yahoo.com.ar Tue Jan 2 14:54:03 2007 From: arturoeanton en yahoo.com.ar (arturo anton) Date: Wed Oct 24 11:14:29 2007 Subject: [Python-es] IDE para python en windows In-Reply-To: <355919408.20070101010024@gmail.com> Message-ID: <20070102135403.5197.qmail@web52912.mail.yahoo.com> eclipse + pydev http://pydev.sourceforge.net/ "claudio.anion" escribió: Hola, recien estoy empezando con python y queria saber si me pueden recomendar un buen ide para usar. -- Saludos, claudio.anion mailto:claudio.anion@gmail.com _______________________________________________ Python-es mailing list Python-es@aditel.org http://listas.aditel.org/listinfo/python-es "!notnA sailE orutrA" v v_@>>>>>>>>>>>>>>>>>>>v ,^>>>>>>>>>>>>>>>>>>>>v ^<<<<<<<<<<<<<<<<<<<<<< __________________________________________________ Correo Yahoo! Espacio para todos tus mensajes, antivirus y antispam ¡gratis! ¡Abrí tu cuenta ya! - http://correo.yahoo.com.ar From mlacunza en gmail.com Tue Jan 2 15:20:08 2007 From: mlacunza en gmail.com (Mario Lacunza) Date: Wed Oct 24 11:14:29 2007 Subject: [Python-es] Re: cual es el uso que se le da a python hoy en dia? In-Reply-To: References: <20070101234425.3BC34145F3D1@devnull.aditel.org> <001901c72e15$586148b0$8000a8c0@PortatilEduardo> <73a726350701020431s490faed8yf9cf0068077b0a31@mail.gmail.com> <459A54AE.4020909@ula.ve> Message-ID: <1167747608.5287.2.camel@laptop> Lautaro: A ver si moderas tu pie de correo. Debes leerte bien la netiquete antes de poner esas cosas. -- Mario Lacunza From listas en soft-com.es Tue Jan 2 15:22:54 2007 From: listas en soft-com.es (=?ISO-8859-1?Q?Oswaldo_Hern=E1ndez?=) Date: Wed Oct 24 11:14:29 2007 Subject: [Python-es] Crear clases dinamicamente Message-ID: <459A6ABE.2090301@soft-com.es> Hola a todos, Me suena que este tema ya se ha tratado, pero no lo localizo. Estoy intentando crear clases en tiempo de ejecución, algo como: eval("class xxxx(yyy): pass") Pero esto no funciona, ¿Hay otra forma de hacerlo? Gracias, -- ***************************************** Oswaldo Hernández oswaldo (@) soft-com (.) es ***************************************** From listas en soft-com.es Tue Jan 2 15:32:45 2007 From: listas en soft-com.es (=?ISO-8859-1?Q?Oswaldo_Hern=E1ndez?=) Date: Wed Oct 24 11:14:29 2007 Subject: [Python-es] Crear clases dinamicamente In-Reply-To: <459A6ABE.2090301@soft-com.es> References: <459A6ABE.2090301@soft-com.es> Message-ID: <459A6D0D.9050604@soft-com.es> Oswaldo Hernández escribió: > Hola a todos, > > Me suena que este tema ya se ha tratado, pero no lo localizo. > > Estoy intentando crear clases en tiempo de ejecución, algo como: > eval("class xxxx(yyy): pass") > > Pero esto no funciona, ¿Hay otra forma de hacerlo? > Solucionado, era con 'exec' Saludos, -- ***************************************** Oswaldo Hernández oswaldo (@) soft-com (.) es ***************************************** From morillas en gmail.com Tue Jan 2 15:40:59 2007 From: morillas en gmail.com (Luis Miguel Morillas) Date: Wed Oct 24 11:14:29 2007 Subject: [Python-es] Crear clases dinamicamente In-Reply-To: <459A6ABE.2090301@soft-com.es> References: <459A6ABE.2090301@soft-com.es> Message-ID: <68d25cbc0701020640m76e027c2s636fb7fa3444f864@mail.gmail.com> El 2/01/07, Oswaldo Hernández escribió: > Hola a todos, > > Me suena que este tema ya se ha tratado, pero no lo localizo. > > Estoy intentando crear clases en tiempo de ejecución, algo como: > eval("class xxxx(yyy): pass") > exec "class %s(%s): pass" % (nombre, base) > Pero esto no funciona, ¿Hay otra forma de hacerlo? > > Gracias, > > -- > ***************************************** > Oswaldo Hernández > oswaldo (@) soft-com (.) es > ***************************************** > _______________________________________________ > Python-es mailing list > Python-es@aditel.org > http://listas.aditel.org/listinfo/python-es > -- Saludos, -- Luis Miguel From subespacio_de_dimension_5 en yahoo.com.ar Tue Jan 2 17:29:46 2007 From: subespacio_de_dimension_5 en yahoo.com.ar (CVA) Date: Wed Oct 24 11:14:29 2007 Subject: [Python-es] Re: Crear clases dinamicamente Message-ID: <20070102162946.79640.qmail@web54001.mail.yahoo.com> Hola a todos. Al ver el "Subject" del mail, me surgio la duda: Cual es la utilidad o en que casos seria necesario o beneficioso crear una nueva clase en tiempo de ejecución? Saludos y gracias! Seba. *********** "..Sólo sé que no se nada.." ************** __________________________________________________ Correo Yahoo! Espacio para todos tus mensajes, antivirus y antispam ¡gratis! ¡Abrí tu cuenta ya! - http://correo.yahoo.com.ar From morillas en gmail.com Tue Jan 2 18:10:29 2007 From: morillas en gmail.com (Luis Miguel Morillas) Date: Wed Oct 24 11:14:29 2007 Subject: [Python-es] Re: Crear clases dinamicamente In-Reply-To: <20070102162946.79640.qmail@web54001.mail.yahoo.com> References: <20070102162946.79640.qmail@web54001.mail.yahoo.com> Message-ID: <68d25cbc0701020910j67ade610g32778d1fcc06acc8@mail.gmail.com> El 2/01/07, CVA escribió: > Hola a todos. Al ver el "Subject" del mail, me surgio la duda: Cual es la utilidad o en que casos seria necesario o beneficioso crear una nueva clase en tiempo de ejecución? > En nuestro caso, el parser de xml crea una clase para cada nuevo elemento, así permite usar elementos xml como si usáramos objetos python: http://notes.4suite.org/AmaraXmlToolkit Saludos, -- Luis Miguel From mlacunza en gmail.com Tue Jan 2 18:15:27 2007 From: mlacunza en gmail.com (Mario Lacunza) Date: Wed Oct 24 11:14:29 2007 Subject: [Python-es] Re: Crear clases dinamicamente In-Reply-To: <20070102162946.79640.qmail@web54001.mail.yahoo.com> References: <20070102162946.79640.qmail@web54001.mail.yahoo.com> Message-ID: <1167758127.5287.21.camel@laptop> El mar, 02-01-2007 a las 13:29 -0300, CVA escribió: > Hola a todos. Al ver el "Subject" del mail, me surgio la duda: Cual es la utilidad o en que casos seria necesario o beneficioso crear una nueva clase en tiempo de ejecución? > > Saludos y gracias! > > Seba. > > > Lo primero q se me ocurre es para PlugIns o AddOns... > > > *********** "..Sólo sé que no se nada.." ************** > __________________________________________________ > Correo Yahoo! > Espacio para todos tus mensajes, antivirus y antispam ¡gratis! > ¡Abrí tu cuenta ya! - http://correo.yahoo.com.ar > _______________________________________________ > Python-es mailing list > Python-es@aditel.org > http://listas.aditel.org/listinfo/python-es -- Mario Lacunza From lmontilla en uc.edu.ve Tue Jan 2 18:38:34 2007 From: lmontilla en uc.edu.ve (lmontilla@uc.edu.ve) Date: Wed Oct 24 11:14:29 2007 Subject: [Python-es] Qt en windows Message-ID: <8667.200.1.171.138.1167759514.squirrel@www.correo.uc.edu.ve> hola a todos. estoy comenzando a utilizar python y estoy trabajando con una interfaz gráfica, pero se me presenta un problema al tratar de pasar el archivo de .ui a .py; cuando ejecuto el comando "pyuic4" me dice: "el sistema no puede hallar la ruta especificada". si alguien puede ayudarme se los agradecería...... From listas en soft-com.es Tue Jan 2 20:00:07 2007 From: listas en soft-com.es (=?ISO-8859-1?Q?Oswaldo_Hern=E1ndez?=) Date: Wed Oct 24 11:14:30 2007 Subject: [Python-es] Re: Crear clases dinamicamente In-Reply-To: <20070102162946.79640.qmail@web54001.mail.yahoo.com> References: <20070102162946.79640.qmail@web54001.mail.yahoo.com> Message-ID: <459AABB7.2020700@soft-com.es> CVA escribió: > Hola a todos. Al ver el "Subject" del mail, me surgio la duda: Cual es la utilidad o en que casos seria necesario o beneficioso crear una nueva clase en tiempo de ejecución? > Mi interes por hacerlo esta facilitarme a nivel de aplicación la gestión de excepciones de PostgreSQL (psycopg2) Explico lo que estoy tratando de realizar: Tengo una diccionario de tuplas con sq1state, nombre de clase de error y descipcion "entendible": ERRORESPG = { "23505" : ("unique_violation", "Intento de duplicar un registro que ya existe."), "23514" : ("check_violation", "El valor no cumple las condiciones impuestas.") etc ... } Una clase base de Errores class PgError(Exception): def __init__(self, baseError, msg = "Excepcion en base de datos", Detalles = ""): self.ErrorOriginal = baseError self.msg = msg + Detalles def __str__(self): return self.msg Una función para gestionar este diccionario que recibe el error original y lo transforma en otro mas detallado, como la excepcion debe ser una clase, la crea dinámicamente y la devuelve como nueva clase de error: def CheckErrorBD(error, detalle = ""): # crear clase if hasattr(error, "pgcode"): # crear la clase exec "class %s(PgError): pass" % (ERRORESPG[error.pgcode][0],) # devolver la instancia personalizada return eval("%s(error, '%s', detalle)" % (ERRORESPG[error.pgcode][0], ERRORESPG[error.pgcode][1])) return PgError(error) Cierto es que en este caso podría haber definido directamente las +- 100 clases de error que existen, pero esta solución me parecía mas 'pythonica' :) Se admite cualquier tipo de sugerencia. -- ***************************************** Oswaldo Hernández oswaldo (@) soft-com (.) es ***************************************** From jose.lecaros en gmail.com Tue Jan 2 20:45:01 2007 From: jose.lecaros en gmail.com (=?ISO-8859-1?Q?Jos=E9_Lecaros?=) Date: Wed Oct 24 11:14:30 2007 Subject: [Python-es] =?iso-8859-1?q?Proxy_con_autenticaci=F3n_dominio-usu?= =?iso-8859-1?q?ario-pass?= Message-ID: <31407a390701021145h23292d64ofafbd5d77d21185@mail.gmail.com> Estimados, estoy tratando de salir por un proxy que requiere autenticación, indicando además del usuario el dominio. Hasta ahora solo he obtenido error 407. les copio el código que estoy utilizando a ver si me pueden dar una manito. proxy_vars = {'host': "servidor_proxy", 'port': "7070", 'user': "DOMINIO\usuario", 'password': "lacontraseña", } password_mgr = urllib2.HTTPPasswordMgrWithDefaultRealm() password_mgr.add_password (None, proxy_vars['host'], proxy_vars['user'], proxy_vars['password']) auth_handler = urllib2.ProxyBasicAuthHandler(password_mgr) proxy_url = 'http://%(host)s:%(port)s/' % proxy_vars proxy_handler = urllib2.ProxyHandler( {'http': proxy_url} ) opener = urllib2.build_opener(proxy_handler, auth_handler) urllib2.install_opener(opener) page = urllib2.urlopen(url) el código lo saqué de un mensaje de esta lista y lo modifiqué según los parámetros que requería, pero no he podido salir. el error es File "C:\Python24\lib\urllib2.py", line 480, in http_error_default raise HTTPError(req.get_full_url(), code, msg , hdrs, fp) urllib2.HTTPError: HTTP Error 407: Proxy Authentication Required ( The ISA Server requires authoriza tion to fulfill the request. Access to the Web Proxy filter is denied. ) Estoy en winxp, con python 2.4.3 gracias sl3 -- José Lecaros Cisterna móvil: (56+9)789 78 00 lecaros@ubuntu-cl.org jose.lecaros@gmail.com lecaros at irc.freenode.net #edubuntu #edubuntu-es lecaros.wordpress.com From alexis.roda.villalonga en gmail.com Tue Jan 2 21:59:33 2007 From: alexis.roda.villalonga en gmail.com (Alexis Roda) Date: Wed Oct 24 11:14:30 2007 Subject: [Python-es] Re: Crear clases dinamicamente In-Reply-To: <459AABB7.2020700@soft-com.es> References: <20070102162946.79640.qmail@web54001.mail.yahoo.com> <459AABB7.2020700@soft-com.es> Message-ID: <459AC7B5.80307@gmail.com> En/na Oswaldo Hernández ha escrit: > CVA escribió: >> Hola a todos. Al ver el "Subject" del mail, me surgio la duda: Cual es >> la utilidad o en que casos seria necesario o beneficioso crear una >> nueva clase en tiempo de ejecución? >> > > Mi interes por hacerlo esta facilitarme a nivel de aplicación la gestión > de excepciones de PostgreSQL (psycopg2) > > Explico lo que estoy tratando de realizar: > > Tengo una diccionario de tuplas con sq1state, nombre de clase de error y > descipcion "entendible": > > ERRORESPG = { > "23505" : ("unique_violation", "Intento de duplicar un registro que > ya existe."), > "23514" : ("check_violation", "El valor no cumple las condiciones > impuestas.") > etc ... > } > > > Una clase base de Errores > class PgError(Exception): > def __init__(self, baseError, msg = "Excepcion en base de datos", > Detalles = ""): > self.ErrorOriginal = baseError > self.msg = msg + Detalles > def __str__(self): > return self.msg > > Una función para gestionar este diccionario que recibe el error original > y lo transforma en otro mas detallado, como la excepcion debe ser una > clase, la crea dinámicamente y la devuelve como nueva clase de error: Las excepciones también pueden ser instancias. Dependiendo de tus necesidades podrías instanciar PgError directamente en lugar de crear una clase para cada error. El "problema" de este enfoque monoclase es que en un try ... except ... no puedes distinguir la causa del error, todos son PgError. En la práctica no se si realmente es necesaria esta granularidad tan fina a la hora de distinguir excepciones. Personalmente encuentro problemático tratar de controlar todos los errores que se pueden producir al hacer un simple update, por ejemplo: try: # ejecutar update except unique_violation, check_violation, error de sintaxis SQL, funcion no definida, campo no existente, formato de fecha erróneo, error en trigger, error de E/S ... mas teniendo en cuenta que posiblemente el programa no pueda hacer nada cuando se produce una excepción, aparte de informar del error y abortar la ejecución. ¿ Que ocurrirá cuando los desarrolladores de postgres incluyan un nuevo error y tu no lo reflejes en ERRORESPG ? Por lo que respecta a la pregunta original, te recomendaría utilizar new.classobj(): clase_error = new.classobj("unique_violation", (PgError, ), {}) instancia = clase_error(error, msg, detalle) Saludos From nocreyentes en terra.es Tue Jan 2 23:35:13 2007 From: nocreyentes en terra.es (nocreyente) Date: Wed Oct 24 11:14:30 2007 Subject: [Python-es] Re: Crear clases dinamicamente In-Reply-To: <459AABB7.2020700@soft-com.es> References: <20070102162946.79640.qmail@web54001.mail.yahoo.com> <459AABB7.2020700@soft-com.es> Message-ID: <459ADE21.7070106@terra.es> Oswaldo Hernández escribió: > CVA escribió: >> Hola a todos. Al ver el "Subject" del mail, me surgio la duda: Cual >> es la utilidad o en que casos seria necesario o beneficioso crear una >> nueva clase en tiempo de ejecución? >> > > Mi interes por hacerlo esta facilitarme a nivel de aplicación la > gestión de excepciones de PostgreSQL (psycopg2) > > Explico lo que estoy tratando de realizar: > > Tengo una diccionario de tuplas con sq1state, nombre de clase de error > y descipcion "entendible": > > ERRORESPG = { > "23505" : ("unique_violation", "Intento de duplicar un registro > que ya existe."), > "23514" : ("check_violation", "El valor no cumple las condiciones > impuestas.") > etc ... > } > > > Una clase base de Errores > class PgError(Exception): > def __init__(self, baseError, msg = "Excepcion en base de datos", > Detalles = ""): > self.ErrorOriginal = baseError > self.msg = msg + Detalles > def __str__(self): > return self.msg > > Una función para gestionar este diccionario que recibe el error > original y lo transforma en otro mas detallado, como la excepcion > debe ser una clase, la crea dinámicamente y la devuelve como nueva > clase de error: > > def CheckErrorBD(error, detalle = ""): > # crear clase > if hasattr(error, "pgcode"): > # crear la clase > exec "class %s(PgError): pass" % (ERRORESPG[error.pgcode][0],) #Realmente no se como se haria. Es una idea a lo comentado al final. exec "class %s(PgError, %s): pass" % (ERRORESPG[error.pgcode][0], error.__class__.__name__) > > # devolver la instancia personalizada > return eval("%s(error, '%s', detalle)" % > (ERRORESPG[error.pgcode][0], ERRORESPG[error.pgcode][1])) > > return PgError(error) > > > Cierto es que en este caso podría haber definido directamente las +- > 100 clases de error que existen, pero esta solución me parecía mas > 'pythonica' :) > > > Se admite cualquier tipo de sugerencia. > Desde el punto de vista pythonico, creo que no hay que olvidar la jerarquia de excepciones propuesta en http://www.python.org/dev/peps/pep-0249/ Jerarquia que, por cierto, respeta psycopg2 y que me parece que te estas cargando. El tener un conjunto de excepciones de grano fino, me parece una idea estupenda, pero creo que lo correcto es mantener una jerarquia y que el usuario de la libreria elija el grano que quiera. Y si es con mensajes chulos, mejor ;-) Un saludo y suerte con tu proyecto. From rolandojtorres en gmail.com Wed Jan 3 02:40:56 2007 From: rolandojtorres en gmail.com (=?UTF-8?Q?Rolando_Jos=C3=A9_Torres_S=C3=A1nchez?=) Date: Wed Oct 24 11:14:30 2007 Subject: [Python-es] Re: cual es el uso que se le da a python hoy en dia? In-Reply-To: <1167747608.5287.2.camel@laptop> References: <20070101234425.3BC34145F3D1@devnull.aditel.org> <001901c72e15$586148b0$8000a8c0@PortatilEduardo> <73a726350701020431s490faed8yf9cf0068077b0a31@mail.gmail.com> <459A54AE.4020909@ula.ve> <1167747608.5287.2.camel@laptop> Message-ID: <6a39a1d0701021740m55c60b18p27102b3674344c1b@mail.gmail.com> Alguien sabe que hace python dentro de OpenOffice? Porque las versiones de OpenOffice traen python? Cuando se compila el código de python con py2exe, queda algún rastro de que ese software compilado fue programado con python? Para popularizar Python se necesitaría una aplicación web o de escritorio que sea desarrollada completamente en python para que pueda ser llevada a cualquier plataforma sin problemas, que no incluya librerías compiladas, que sea opensource y que no mezcle código con otros lenguajes para que sea independiente y pueda ser ejecutada en plataformas distintas con completa compatibilidad. Hacer un OpenOffice , un Flash, un Acrobat o un navegador completamente hecho en Python que se pueda ejecutar el mismo código en PC con Windows, Linux o Mac y en dispositivos móviles con Windows Mobile, Palm, Symbian y Linux, pues estos dispositivos móviles en pocos años sumaran mas que todos los PC. Quizás esto no sea aun posible, pero pienso que seria la única forma para que se popularice Python frente a otros lenguajes de la competencia comercial. De lo contrario, seria casi invisible ver el desarrollo de Python, pues los usuarios de Google o Youtube, no ven mas que codigo HTML y JavaScript, que puede ser generado con cualquier otro lenguaje. De no ser por las declaraciones de los programadores, Python seria aun desconocido, pero dudo que esos mismos programadores entreguen pruebas de ese codigo escrito en python y conociendo el caracter competitivo de esas empresas, seria una estrategia no darle credito de su fortaleza a tecnologias comerciales que puedan hacerles competencia. Yo creeria que Bittrorrent fue hecho en Python, porque puedo ver el codigo, pero con Google o Youtube... Quien a visto el código? Rolando José Torres Sánchez TCL/TK inside Python MSN:rolandojtorres@hotmail.com From pych3m4 en gmail.com Wed Jan 3 02:49:20 2007 From: pych3m4 en gmail.com (Chema Cortes) Date: Wed Oct 24 11:14:30 2007 Subject: [Python-es] Re: Crear clases dinamicamente In-Reply-To: <459AABB7.2020700@soft-com.es> References: <20070102162946.79640.qmail@web54001.mail.yahoo.com> <459AABB7.2020700@soft-com.es> Message-ID: <2c9fb0dd0701021749q48816b69t352781ed0346c7cc@mail.gmail.com> El 2/01/07, Oswaldo Hernández escribió: > Explico lo que estoy tratando de realizar: > > Tengo una diccionario de tuplas con sq1state, nombre de clase de error y descipcion "entendible": > > ERRORESPG = { > "23505" : ("unique_violation", "Intento de duplicar un registro que ya existe."), > "23514" : ("check_violation", "El valor no cumple las condiciones impuestas.") > etc ... > } > > > Una clase base de Errores > class PgError(Exception): > def __init__(self, baseError, msg = "Excepcion en base de datos", Detalles = ""): > self.ErrorOriginal = baseError > self.msg = msg + Detalles > def __str__(self): > return self.msg > > Una función para gestionar este diccionario que recibe el error original y lo transforma en otro mas > detallado, como la excepcion debe ser una clase, la crea dinámicamente y la devuelve como nueva > clase de error: > > def CheckErrorBD(error, detalle = ""): > # crear clase > if hasattr(error, "pgcode"): > # crear la clase > exec "class %s(PgError): pass" % (ERRORESPG[error.pgcode][0],) > # devolver la instancia personalizada > return eval("%s(error, '%s', detalle)" % (ERRORESPG[error.pgcode][0], ERRORESPG[error.pgcode][1])) > > return PgError(error) Aparte de lo conveniente que sea crear así las excepciones, para crear clases dinámicas lo aconsejado sería con type(): type(nombre,bases,diccionario) pe: type("MiExcepcion", (PgError,), {"msg":"Mi excepción"}) From flaper87 en gmail.com Wed Jan 3 03:21:15 2007 From: flaper87 en gmail.com (Flaper87) Date: Wed Oct 24 11:14:30 2007 Subject: [Python-es] Re: cual es el uso que se le da a python hoy en dia? In-Reply-To: <6a39a1d0701021740m55c60b18p27102b3674344c1b@mail.gmail.com> References: <20070101234425.3BC34145F3D1@devnull.aditel.org> <001901c72e15$586148b0$8000a8c0@PortatilEduardo> <73a726350701020431s490faed8yf9cf0068077b0a31@mail.gmail.com> <459A54AE.4020909@ula.ve> <1167747608.5287.2.camel@laptop> <6a39a1d0701021740m55c60b18p27102b3674344c1b@mail.gmail.com> Message-ID: > Yo creeria que Bittrorrent fue hecho en Python, porque puedo ver el > codigo, pero con Google o Youtube... Quien a visto el código? Aqui esta la prueba de que youtube.com utiliza python :)[1]Mira en los paneles de la derecha, exactamente en el que dice "What they are saying" No creo que publiquen algo que no es cierto. Y simplemente como Google compro Youtube, no veo el porque Google no utilize python en sus paginas viendo la efectividad del mismo en youtube.; ) [1]http://www.python.org/ -- Flavio Percoco Premoli, A.K.A. [Flaper87] http://www.flaper87.com Usuario Linux registrado #436538 Key Fingerprint: CFC0 C67D FF73 463B 7E55 CF43 25D1 E75B E2DB 15C7 From eduardo en topprecios.com Wed Jan 3 03:52:44 2007 From: eduardo en topprecios.com (=?iso-8859-1?Q?Eduardo_Jim=E9nez?=) Date: Wed Oct 24 11:14:30 2007 Subject: [Python-es] Re: Re: Re: cual es el uso que se le da a python hoy en dia? References: <20070103014209.D5C5C145F3D2@devnull.aditel.org> Message-ID: <003501c72ee2$428ef460$8000a8c0@PortatilEduardo> Estimado Rolando, Con respecto al código Python de Google, puedes encontrarlo en su Web. No es el código que clasifica las páginas web, pero si el de muchas aplicaciones. Puedes ver por ejemplo: "Google mMaim" herramienta que permite monitorizar y analizar el funcionamiento de nuestro servidor de Base de Datos MySQL, "Google Goopy" colección de funciones de Python que suelen utilizar frecuentemente los programadores de la compañía. Sus respectivos enlaces: http://goog-mmaim.sourceforge.net/ http://goog-goopy.sourceforge.net/ Atentamente, Eduardo Jiménez 902 955 441 www.TopPrecios.com ------------------------------ >Message: 7 >Date: Tue, 2 Jan 2007 20:40:56 -0500 >Alguien sabe que hace python dentro de OpenOffice? > >Porque las versiones de OpenOffice traen python? > >Cuando se compila el código de python con py2exe, queda algún rastro >de que ese software compilado fue programado con python? > >Para popularizar Python se necesitaría una aplicación web o de >escritorio que sea desarrollada completamente en python para que pueda >ser llevada a cualquier plataforma sin problemas, que no incluya >librerías compiladas, que sea opensource y que no mezcle código con >otros lenguajes para que sea independiente y pueda ser ejecutada en >plataformas distintas con completa compatibilidad. > >Hacer un OpenOffice , un Flash, un Acrobat o un navegador >completamente hecho en Python que se pueda ejecutar el mismo código en >PC con Windows, Linux o Mac y en dispositivos móviles con Windows >Mobile, Palm, Symbian y Linux, pues estos dispositivos móviles en >pocos años sumaran mas que todos los PC. > >Quizás esto no sea aun posible, pero pienso que seria la única forma >para que se popularice Python frente a otros lenguajes de la >competencia comercial. > >De lo contrario, seria casi invisible ver el desarrollo de Python, >pues los usuarios de Google o Youtube, no ven mas que codigo HTML y >JavaScript, que puede ser generado con cualquier otro lenguaje. > >De no ser por las declaraciones de los programadores, Python seria aun >desconocido, pero dudo que esos mismos programadores entreguen pruebas >de ese codigo escrito en python y conociendo el caracter competitivo >de esas empresas, seria una estrategia no darle credito de su >fortaleza a tecnologias comerciales que puedan hacerles competencia. > >Yo creeria que Bittrorrent fue hecho en Python, porque puedo ver el >codigo, pero con Google o Youtube... Quien a visto el código? > > >Rolando José Torres Sánchez >TCL/TK inside Python >MSN:rolandojtorres@hotmail.com > >>------------------------------ From flaper87 en gmail.com Wed Jan 3 03:56:09 2007 From: flaper87 en gmail.com (Flaper87) Date: Wed Oct 24 11:14:30 2007 Subject: [Python-es] Re: cual es el uso que se le da a python hoy en dia? In-Reply-To: <6a39a1d0701021740m55c60b18p27102b3674344c1b@mail.gmail.com> References: <20070101234425.3BC34145F3D1@devnull.aditel.org> <001901c72e15$586148b0$8000a8c0@PortatilEduardo> <73a726350701020431s490faed8yf9cf0068077b0a31@mail.gmail.com> <459A54AE.4020909@ula.ve> <1167747608.5287.2.camel@laptop> <6a39a1d0701021740m55c60b18p27102b3674344c1b@mail.gmail.com> Message-ID: > Yo creeria que Bittrorrent fue hecho en Python, porque puedo ver el > codigo, pero con Google o Youtube... Quien a visto el código? Acabo de revisar bien en python.org y google tambien ha escrito algo acerca del uso de python en su compañia. http://www.python.org/about/quotes/ -- Flavio Percoco Premoli, A.K.A. [Flaper87] http://www.flaper87.com Usuario Linux registrado #436538 Key Fingerprint: CFC0 C67D FF73 463B 7E55 CF43 25D1 E75B E2DB 15C7 From rolandojtorres en gmail.com Wed Jan 3 04:12:07 2007 From: rolandojtorres en gmail.com (=?UTF-8?Q?Rolando_Jos=C3=A9_Torres_S=C3=A1nchez?=) Date: Wed Oct 24 11:14:30 2007 Subject: [Python-es] Re: cual es el uso que se le da a python hoy en dia? In-Reply-To: References: <20070101234425.3BC34145F3D1@devnull.aditel.org> <001901c72e15$586148b0$8000a8c0@PortatilEduardo> <73a726350701020431s490faed8yf9cf0068077b0a31@mail.gmail.com> <459A54AE.4020909@ula.ve> <1167747608.5287.2.camel@laptop> <6a39a1d0701021740m55c60b18p27102b3674344c1b@mail.gmail.com> Message-ID: <6a39a1d0701021912h6b22a725h2b4b73230c192425@mail.gmail.com> 2007/1/2, Flaper87 : > > Yo creeria que Bittrorrent fue hecho en Python, porque puedo ver el > > codigo, pero con Google o Youtube... Quien a visto el código? > > > Aqui esta la prueba de que youtube.com utiliza python :)[1]Mira en los > paneles de la derecha, exactamente en el que dice "What they are saying" Realmente debo estar ciego, porque no encuentro lo que dices, revise el codigo del panel derecho y no encuentro nada que este en Python, ni algo que se le parezca. > No creo que publiquen algo que no es cierto. Y simplemente como Google > compro Youtube, no veo el porque Google no utilize python en sus paginas > viendo la efectividad del mismo en youtube.; ) Bueno no creo que sea bueno para el prestigio de Google haciendole tanta guerra y competencia a Micrrosoft, aceptar que estan programando en C#, .Net o incluso en Mono. Era como el rumor de que en Microsoft los servidores de Hotmail usaban Linux. Si fue cierto, creo que los debieron cambiar a Windows inmediatamente, pero por mas que los usaran, no van a dar declaraciones de la tecnologia que usan, mas cuando es opositora a la propia. En cuanto a mi respecta compañias como Google o Youtube que desarrollaron aplicaciones muy efectivas, tratarian de esconder lo mas posible el lenguaje o el codigo y se trataria de desviar la atención del público, diciendo que esta programada enteramente en otro lenguaje y si ese lenguaje es libre mejor, porque no habria que darle credito y prestigio a nadie que pueda ser competencia. Apuesto que tu de hacer una super aplicación, para una web, la compilarias en un lenguaje y la dejaria como CGI y usaria otro lenguaje menos efectivo y comun como PHP o Python para la parte "menos importante" que se pudiera y se permitiera exponer al publico. Ahora bien que si vienes a decirme que Python se usa en Youtube, creo que Action Script puede ser mucho mas importante para ellos que python, y no por eso, Google pasaria su araña a ActionScript. Cual es el uso que se le da a Python hoy en dia en empresas como Google y Youtube?? Un uso secundario que probablemente pueda ser reemplazado por otro lenguaje que quizas en estos momentos ellos esten desarrollando. Python se quedará en la Base, de ese desarrollo si no aparecen aplicaciones que realmente puedan mostrar su codigo en Python y que se usen a diario en todo computador, movil o no y por toda clase de usuarios y programadores. > -- > Flavio Percoco Premoli, A.K.A. [Flaper87] > http://www.flaper87.com > Usuario Linux registrado #436538 > Key Fingerprint: CFC0 C67D FF73 463B 7E55 CF43 25D1 E75B E2DB 15C7 > _______________________________________________ > Python-es mailing list > Python-es@aditel.org > http://listas.aditel.org/listinfo/python-es > -- Rolando José Torres Sánchez TCL/TK inside Python MSN:rolandojtorres@hotmail.com From ivan.figueroa en gmail.com Wed Jan 3 07:09:56 2007 From: ivan.figueroa en gmail.com (Ivan Figueroa) Date: Wed Oct 24 11:14:30 2007 Subject: [Python-es] Re: cual es el uso que se le da a python hoy en dia? In-Reply-To: <6a39a1d0701021912h6b22a725h2b4b73230c192425@mail.gmail.com> References: <20070101234425.3BC34145F3D1@devnull.aditel.org> <73a726350701020431s490faed8yf9cf0068077b0a31@mail.gmail.com> <459A54AE.4020909@ula.ve> <1167747608.5287.2.camel@laptop> <6a39a1d0701021740m55c60b18p27102b3674344c1b@mail.gmail.com> <6a39a1d0701021912h6b22a725h2b4b73230c192425@mail.gmail.com> Message-ID: > Bueno no creo que sea bueno para el prestigio de Google haciendole > tanta guerra y competencia a Micrrosoft, aceptar que estan programando > en C#, .Net o incluso en Mono. Bien podrían estar utilizando el compilador Java de Sun o un compilador de Borland, Intel o Watcom de C++, o incluso tarjetas perforadas... > Era como el rumor de que en Microsoft los servidores de Hotmail usaban Linux. Erhhh... No es Linux, es Freebsd y no era un rumor, cuando compraron el sitio de Hotmail corría en ese sistema, posteriormente lo migraron a windows 2000, como puedes ver en el siguiente enlace: http://www.microsoft.com/technet/interopmigration/case/hotmail/default.mspx > > Si fue cierto, creo que los debieron cambiar a Windows inmediatamente, > pero por mas que los usaran, no van a dar declaraciones de la > tecnologia que usan, mas cuando es opositora a la propia. De hecho fueron alrededor de 4 años los que se llevó la migración, y aún después de ese tiempo había rumores de que el corazón del sistema seguía corriendo con "otros productos" http://news.zdnet.com/2100-9595_22-530081.html Naturalmente, las declaraciones de que se seguía usando la tecnología anterior tuvieron que ser extraidas con sacacorchos, como tú bien señalas. > En cuanto a mi respecta compañias como Google o Youtube que > desarrollaron aplicaciones muy efectivas, tratarian de esconder lo mas > posible el lenguaje o el codigo y se trataria de desviar la atención > del público, diciendo que esta programada enteramente en otro lenguaje > y si ese lenguaje es libre mejor, porque no habria que darle credito y > prestigio a nadie que pueda ser competencia. Con esto supones que efectivamente se está utilizando alguna herramienta propietaria impronunciable, y que existe todo un mecanismo para tratar de esconder esta "dolorosa verdad", probablemente dicho mecanismo está diseñado por las mismas personas que mantienen escondido el platillo volador en Rockwell o momificado el cuerpo de Fidel. El hecho de que Microsoft tenga este tipo de desplantes no quiere decir que el caso sea una regla en la industria. Sun ha aceptado en diversas ocasiones que trabajaban alegremente con el Office de Microsoft hasta que cayeron en cuenta de que con el dinero que gastaban en licencias podían comprar y mantener su propia suite, de la cual se desprende lo que hoy es el Open Office. > Apuesto que tu de hacer una super aplicación, para una web, la > compilarias en un lenguaje y la dejaria como CGI y usaria otro > lenguaje menos efectivo y comun como PHP o Python para la parte "menos > importante" que se pudiera y se permitiera exponer al publico. Yo probablemente si la dejaría como CGI, pero... ¿Qué ganaría con ocultar la herramienta con que la hice? Con mantener el código con una licencia propietaria y distribuir solamente el ejecutable me parece suficiente. Para la parte "menos importante" desde tu punto de vista, la parte expuesta al público, trataría de generar una interface con cada lenguaje disponible en el mercado para cada sistema operativo comercial, de tal manera que asegure la presencia de mi super aplicación por varios años. Pregunta a Oracle, a IBM o a Progress por ejemplos de este tipo. > Ahora bien que si vienes a decirme que Python se usa en Youtube, creo > que Action Script puede ser mucho mas importante para ellos que > python, y no por eso, Google pasaria su araña a ActionScript. ¿Y sabes porqué no la pasarían? Porque ActionScript es un lenguaje propietario, cuyo desarrollo esta subordinado a los caprichos de la empresa que lo produce, lo cual en caso de que dicha empresa quiebre o desaparezca o decida que va a desarrollar un nuevo lenguaje significaría un enorme revés a tu negocio, y probablemente se tendría que reescribir todo lo ya hecho en otro lenguaje. Pregunta a los desarrolladores de VB 6 damnificados con el paso a .NET, ellos lo han sentido en carne propia. http://visualbasic.about.com/od/imhoinmyhumbleopinion/a/VB6Petition.htm > Cual es el uso que se le da a Python hoy en dia en empresas como > Google y Youtube?? > > Un uso secundario que probablemente pueda ser reemplazado por otro > lenguaje que quizas en estos momentos ellos esten desarrollando. Las herramientas de instalación y configuración de Red Hat están escritas en Python, por no hablar del sistema de actualizaciones. A mi me parece suficientemente importante como para decir que la empresa depende en gran medida de sus desarrollos en Python. > Python se quedará en la Base, de ese desarrollo si no aparecen > aplicaciones que realmente puedan mostrar su codigo en Python y que se > usen a diario en todo computador, movil o no y por toda clase de > usuarios y programadores. Word y Excel son aplicaciones que se utilizan a diario en la gran mayoria computadores y por toda clase de usuarios y programadores, aunque creo que JAMAS han mostrado su código. Te perdiste en el camino chaval, ni siquiera te alcanzas a acercar en tus elucubraciones a las verdaderas razones por las que un lenguaje o una herramienta de desarrollo son utilizados o no por una empresa o sector. Recuerda que el lenguaje de programación es una interfaz hacia los humanos. Independientemente de si escribes tus programas en C#, en Haskell o en Lisp tu máquina solo ve unos y ceros, por lo que las razones de uso deben buscarse en las bondades que ofrezca dicha interfaz hacia las personas. También recuerda que vivimos en una sociedad capitalista donde los dueños de los medios de producción deciden qué herramientas se utilizarán para crear capital. Finalmente ten en cuenta que Python es un lenguaje relativamente joven, sin una empresa que desarrolle campañas propagandísticas masivas, y que en su momento, se pensó que el C++ era un hermano bastardo de C condenado a la extinción. Tiempo al tiempo. Saludos From listas en soft-com.es Wed Jan 3 11:28:40 2007 From: listas en soft-com.es (=?ISO-8859-1?Q?Oswaldo_Hern=E1ndez?=) Date: Wed Oct 24 11:14:30 2007 Subject: [Python-es] Re: Crear clases dinamicamente In-Reply-To: <459AC7B5.80307@gmail.com> References: <20070102162946.79640.qmail@web54001.mail.yahoo.com> <459AABB7.2020700@soft-com.es> <459AC7B5.80307@gmail.com> Message-ID: <459B8558.9090600@soft-com.es> Alexis Roda escribió: > En/na Oswaldo Hernández ha escrit: ... > > Las excepciones también pueden ser instancias. Dependiendo de tus > necesidades podrías instanciar PgError directamente en lugar de crear > una clase para cada error. > Si es cierto, puedo reducirlo todo a un tipo de excepción y añadirle como propiedad el tipo. > El "problema" de este enfoque monoclase es que en un try ... except ... > no puedes distinguir la causa del error, todos son PgError. En la > práctica no se si realmente es necesaria esta granularidad tan fina a la > hora de distinguir excepciones. Personalmente encuentro problemático > tratar de controlar todos los errores que se pueden producir al hacer un > simple update, por ejemplo: > > try: > # ejecutar update > except unique_violation, check_violation, error de sintaxis SQL, funcion > no definida, campo no existente, formato de fecha erróneo, error en > trigger, error de E/S ... > En las pruebas que estoy realizando *si* me captura tanto las excepcion genérica 'PgError' como las excepcion individuales: try: .... except PgError, e: if isinstance (e, (unique_violation, check_violation, ..)): .... try: .... except unique_violation: .... Tambien le acabo de hacer una modificación para que en la derivacion se incluya la base original y tambien reponda a las clases estandar DBAPI2: except psycopg2.ProgrammingError: ... > mas teniendo en cuenta que posiblemente el programa no pueda hacer nada > cuando se produce una excepción, aparte de informar del error y abortar > la ejecución. Cierto es que con muchas de las excepciones no hay diferencia en las acciones que puede realizar la aplicación, pero si hay otras que me interesa controlar en detalle, como los bloqueos de tablas y registros... ¿ Que ocurrirá cuando los desarrolladores de postgres > incluyan un nuevo error y tu no lo reflejes en ERRORESPG ? > Esta clero que si se modifican o amplian los errores habrá que modificar el diccionario, pero siempre me responderá como error genérico y DBAPI2 estandar. > > Por lo que respecta a la pregunta original, te recomendaría utilizar > new.classobj(): > > clase_error = new.classobj("unique_violation", (PgError, ), {}) > instancia = clase_error(error, msg, detalle) > He probado con classobj, pero tengo algun problema con ella. De momento dejaré el exec y veré mas tarde como resolver esto. En resumen, no se si estoy matando moscas a cañonazos, aqui se ha mezclado la necesidad de controlar en detalle ciertas excepciones, con las ganas de experimentar ;) Saludos, -- ***************************************** Oswaldo Hernández oswaldo (@) soft-com (.) es ***************************************** From listas en soft-com.es Wed Jan 3 11:28:59 2007 From: listas en soft-com.es (=?ISO-8859-1?Q?Oswaldo_Hern=E1ndez?=) Date: Wed Oct 24 11:14:30 2007 Subject: [Python-es] Re: Crear clases dinamicamente In-Reply-To: <459ADE21.7070106@terra.es> References: <20070102162946.79640.qmail@web54001.mail.yahoo.com> <459AABB7.2020700@soft-com.es> <459ADE21.7070106@terra.es> Message-ID: <459B856B.9040201@soft-com.es> nocreyente escribió: > Desde el punto de vista pythonico, creo que no hay que olvidar la > jerarquia de excepciones propuesta en > http://www.python.org/dev/peps/pep-0249/ > > Jerarquia que, por cierto, respeta psycopg2 y que me parece que te estas > cargando. El tener un conjunto de excepciones de grano fino, me parece > una idea estupenda, pero creo que lo correcto es mantener una jerarquia > y que el usuario de la libreria elija el grano que quiera. Y si es con > mensajes chulos, mejor ;-) > Con las ultimas modificaciones que le he realizado se incluye en la derivacion la clase de excepcion original generada por psycopg2, por lo que se mantiene la compatibilidad con el PEP249. Saludos, -- ***************************************** Oswaldo Hernández oswaldo (@) soft-com (.) es ***************************************** From listas en soft-com.es Wed Jan 3 11:56:43 2007 From: listas en soft-com.es (=?ISO-8859-1?Q?Oswaldo_Hern=E1ndez?=) Date: Wed Oct 24 11:14:30 2007 Subject: [Python-es] Re: Crear clases dinamicamente In-Reply-To: <2c9fb0dd0701021749q48816b69t352781ed0346c7cc@mail.gmail.com> References: <20070102162946.79640.qmail@web54001.mail.yahoo.com> <459AABB7.2020700@soft-com.es> <2c9fb0dd0701021749q48816b69t352781ed0346c7cc@mail.gmail.com> Message-ID: <459B8BEB.5050009@soft-com.es> Chema Cortes escribió: > El 2/01/07, Oswaldo Hernández escribió: >... > > Aparte de lo conveniente que sea crear así las excepciones, para crear > clases dinámicas lo aconsejado sería con type(): > > type(nombre,bases,diccionario) > > pe: > type("MiExcepcion", (PgError,), {"msg":"Mi excepción"}) Por lo que veo funciona igual que new.classobj y me da los mismos problemas que este para que el nombre de la clase creada sea dinámico: >>> excepcion = "MiExcepcion" >>> >>> type(excepcion, (PgError,), globals()) >>> >>> eval("%s('%s')" % (excepcion, "mensaje de prueba")) Traceback (most recent call last): File "", line 1, in File "", line 1, in NameError: name 'MiExcepcion' is not defined >>> Parece que la clase si se crea, pero no puedo instanciarla. -- ***************************************** Oswaldo Hernández oswaldo (@) soft-com (.) es ***************************************** From hfoffani en gmail.com Wed Jan 3 12:09:49 2007 From: hfoffani en gmail.com (Hernan M Foffani) Date: Wed Oct 24 11:14:30 2007 Subject: [Python-es] Re: Crear clases dinamicamente In-Reply-To: <459B8BEB.5050009@soft-com.es> References: <20070102162946.79640.qmail@web54001.mail.yahoo.com> <459AABB7.2020700@soft-com.es> <2c9fb0dd0701021749q48816b69t352781ed0346c7cc@mail.gmail.com> <459B8BEB.5050009@soft-com.es> Message-ID: <11fab4bc0701030309o6f4a277bj54e323a731371680@mail.gmail.com> > > Aparte de lo conveniente que sea crear así las excepciones, para crear > > clases dinámicas lo aconsejado sería con type(): > > > > type(nombre,bases,diccionario) > > > > pe: > > type("MiExcepcion", (PgError,), {"msg":"Mi excepción"}) > > Por lo que veo funciona igual que new.classobj y me da los mismos problemas que este para que el > nombre de la clase creada sea dinámico: > > >>> excepcion = "MiExcepcion" > >>> > >>> type(excepcion, (PgError,), globals()) > > >>> > >>> eval("%s('%s')" % (excepcion, "mensaje de prueba")) > Traceback (most recent call last): > File "", line 1, in > File "", line 1, in > NameError: name 'MiExcepcion' is not defined > >>> > > Parece que la clase si se crea, pero no puedo instanciarla. Al eval le estás pasando el string 'MiExcepcion' y lo que le tienes que pasar es el objeto que te devuelve la expresión del type(..) -H. From antonio en xilus.es Wed Jan 3 12:17:11 2007 From: antonio en xilus.es (Antonio =?ISO-8859-1?Q?Guti=E9rrez?=) Date: Wed Oct 24 11:14:30 2007 Subject: [Python-es] Qt en windows In-Reply-To: <8667.200.1.171.138.1167759514.squirrel@www.correo.uc.edu.ve> References: <8667.200.1.171.138.1167759514.squirrel@www.correo.uc.edu.ve> Message-ID: <1167823031.6152.12.camel@Pc-01> El mar, 02-01-2007 a las 13:38 -0400, lmontilla@uc.edu.ve escribió: > hola a todos. > > estoy comenzando a utilizar python y estoy trabajando con una interfaz > gráfica, pero se me presenta un problema al tratar de pasar el archivo de > .ui a .py; cuando ejecuto el comando "pyuic4" me dice: "el sistema no > puede hallar la ruta especificada". > > si alguien puede ayudarme se los agradecería...... > > Debes de usar la ruta completa a pyuic4 o agregar la ruta del ejecutable al path de ms-dos. ejemplo: c:\> c:\qt\pyuic4 -o c:\misdocumentos\miarchivo.py c:\misdocumentos \miventana.ui otra forma: c:\qt\> pyuic4 -o c:\misdocumentos\miarchivo.py c:\misdocumentos \miventana.ui Esta sería la forma de poner la ruta completa tanto al ejecutable de pyuic4 como a los documentos Para la forma de agregar la ruta del ejecutable al path, no la recuerdo muy bien pero creo que era: c:\> set path = c:\qt y ahora ya puedes irte a cualquier directorio que con solo poner pyuic4 funcionará -- Antonio Gutiérrez From antonio en xilus.es Wed Jan 3 12:09:50 2007 From: antonio en xilus.es (Antonio =?ISO-8859-1?Q?Guti=E9rrez?=) Date: Wed Oct 24 11:14:30 2007 Subject: [Python-es] =?iso-8859-1?q?Se=F1ales?= en qt4 Message-ID: <1167822590.6152.7.camel@Pc-01> Hola a todos!! Ante nada feliz año a todo el mundo!! Llevo programando en python sobre unos 6 meses aproximadamente y me va genial, pero he empezado a programar gui's en QT 4 (antes lo hacia en wxPython) y aqui ya no hay eventos según parece. El tema de mi consulta es que no se como conectar el formulario completo para que al cerrar el formulario se ejecute una función. El codigo es el siguiente: import sys from PyQt4 import QtCore, QtGui from Ventanas.principal import Ui_MainWindow import amara class VentanaPrincipal(QtGui.QMainWindow): def __init__(self): QtGui.QMainWindow.__init__(self) self.ui = Ui_MainWindow() self.ui.setupUi(self) self.CargarBindings() self.CargarFormatos() self.CargarConfiguracion() def CargarBindings(self): self.connect(self.ui, QtCore.SIGNAL("closed()"),self.AlCerrar) def CargarConfiguracion(self): pass def CargarFormatos(self): pass def AlCerrar(self): print "me he salido" if __name__=="__main__": app = QtGui.QApplication(sys.argv) MainWindow = VentanaPrincipal() MainWindow.show() sys.exit(app.exec_()) El problema me lo da la linea: self.connect(self.ui, QtCore.SIGNAL("closed()"),self.AlCerrar) el error es el siguiente : File "Inicio.pyw", line 18, in CargarBindings self.connect(self.ui, QtCore.SIGNAL("closed()"),self.AlCerrar) TypeError: argument 1 of QObject.connect() has an invalid type Otra duda que me surge es si la señal "closed()" está bien, porque no he encontrado nada que haga referencia al cerrar un widget. Saludos y Gracias -- Antonio Gutiérrez From fpalm en ula.ve Wed Jan 3 12:22:59 2007 From: fpalm en ula.ve (Francisco Palm) Date: Wed Oct 24 11:14:30 2007 Subject: [Python-es] Re: cual es el uso que se le da a python hoy en dia? In-Reply-To: References: <20070101234425.3BC34145F3D1@devnull.aditel.org> <001901c72e15$586148b0$8000a8c0@PortatilEduardo> <73a726350701020431s490faed8yf9cf0068077b0a31@mail.gmail.com> <459A54AE.4020909@ula.ve> Message-ID: 2007/1/2, Lautaro Cozzani : > On 1/2/07, Francisco Palm wrote: > > La cuestión es, ¿Quieres usar lo mejor?: usa Python. ¿Crees que le falta > ^^^^^^^^^^^^^^ > > algo?: participa y trabaja por mejorarlo. > > ¿una justificacion de porque afirmas que es "lo mejor"? > Yo hablo desde mi experiencia personal. Más de 15 años programando (principalmente en el ámbito académico), he desarrollado en Pascal, C, C++, Basic, FORTRAN, Java (programé un generador de applets de simulación numérica), me estacioné un buen rato en Delphi (y desde Delphi pude ver la gran farsa que ha sido VB y como en el mundo del software privativo no se valora la calidad de un producto más allá de la capacidad económica de una empresa para imponer sus criterios en base a monopolio y marketing desleal). Las razones no personales las pueden encontrar en innumerables sitios en la web. Y principalmente las descubrirías por tí mismo si dedicas tiempo a este maravilloso entorno de programación que es Python. Incluso propuestas como el lenguaje D (http://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n_D) trata de verter el conocimiento adquirido con los lenguajes dinámicos en los lenguajes compilados. Explicar en detalle las razones técnicas y "sociales" que hace a Python muy superior a cosas más "de moda" como Java se escapa del ámbito de un email racional. Sólo puedo decir en forma resumida que si Sun no tuviese contingentes enteros de vendedores (que no saben programar ni una macro para la hoja de cálculo) promocionando Java a lo largo y ancho del mundo la historia sería muy diferente. > > > > Mientras uses Python le llevarás una gran ventaja competitiva a la > > mayoría. Acaso has visto algo tipo YouTube hecho en Java?, es > > prácticamente imposible. > > ¿porque decís que es prácticamente imposible? > > > ACLARACIÓN: no hago estas preguntas para empezar a discutir sin > sentido, solo que me pareció que lo que dijiste es como demasiado > extremista. "Demasiado extremista" es redundante, ¿no te parece?. Es prácticamente imposible que consigas que una plataforma monolítica como J2EE diseñada para ciertas cosas específicas (y cuyo rendimiento en esas cosas específicas es pésimo, y por eso Sun vende máquinas de enorme poder para compensar estos problemas de eficiencia), sirva para el desarrollo de webs en un entorno cambiante y dinámico. Se necesitan muchísimas más horas-hombre para hacerla funcionar de lo que requeriría un proyecto similar en Python. Trabaja estadísticamente si quieres, ¿Que porcentaje de las llamadas webs 2.0 funcionan en Java?, y ¿No es Ruby un Python para gente que viene de Perl?, ¿o un Python con el hype necesario para los que vienen de Java? Yo lo único que puedo decir es que mi experiencia personal como programador ha mejorado muy significativamente gracias a Python, y no me he tropezado con nada que ni siquiera se le acerque. Saludos F. Palm Si Python es lo que es con un mercado tan reducido, ¿Qué pasaría si contara con la mitad de los recursos económicos y humanos que rodean a Java? En fin, Saludos a todos F. Palm From alexis.roda.villalonga en gmail.com Wed Jan 3 12:33:23 2007 From: alexis.roda.villalonga en gmail.com (Alexis Roda) Date: Wed Oct 24 11:14:30 2007 Subject: [Python-es] Re: Crear clases dinamicamente In-Reply-To: <459B8BEB.5050009@soft-com.es> References: <20070102162946.79640.qmail@web54001.mail.yahoo.com> <459AABB7.2020700@soft-com.es> <2c9fb0dd0701021749q48816b69t352781ed0346c7cc@mail.gmail.com> <459B8BEB.5050009@soft-com.es> Message-ID: <459B9483.30707@gmail.com> En/na Oswaldo Hernández ha escrit: > Chema Cortes escribió: >> El 2/01/07, Oswaldo Hernández escribió: >> ... >> >> Aparte de lo conveniente que sea crear así las excepciones, para crear >> clases dinámicas lo aconsejado sería con type(): >> >> type(nombre,bases,diccionario) >> >> pe: >> type("MiExcepcion", (PgError,), {"msg":"Mi excepción"}) > > Por lo que veo funciona igual que new.classobj y me da los mismos > problemas que este para que el nombre de la clase creada sea dinámico: > > >>> excepcion = "MiExcepcion" > >>> > >>> type(excepcion, (PgError,), globals()) > > >>> > >>> eval("%s('%s')" % (excepcion, "mensaje de prueba")) > Traceback (most recent call last): > File "", line 1, in > File "", line 1, in > NameError: name 'MiExcepcion' is not defined > >>> > > Parece que la clase si se crea, pero no puedo instanciarla. > > Prueba con algo asi: excepcion = "MiExcepcion" clase = new.classobj(excepcion, (PgError,), {}) instancia = clase("mensaje de prueba") Saludos From evelasco en notes.banesto.es Wed Jan 3 12:34:28 2007 From: evelasco en notes.banesto.es (evelasco@notes.banesto.es) Date: Wed Oct 24 11:14:30 2007 Subject: [Python-es] Re: cual es el uso que se le da a python hoy en dia? Message-ID: Yo he leído por ahí alguna cosa bastante cachonda (lamento tener a mano la referencia ahora mismo) que viene a decir que muchas empresas usan Python a modo de "arma secreta" para conseguir alta productividad, sin divulgarlo, precisamente para no estropear esa ventaja competitiva. El autor del artículo, en un blog a lo Joel Spolsky, si es que no era él, decía que analizaban a su competencia en función de su lenguaje de programación principal. Si era uno de los lenguajes habituales en la comunidad de IT supuestamente "seria", la empresa en cuestión no les suponía una amenaza grave... En cualquier caso, y en la línea de Francisco, el que una música o un lenguaje estén en minoría relativa no significa que no haya un montón de gente a la que le guste y una comunidad muy viva. El jazz no es tan popular como otros tipos de música, pero en números absolutos probablemente haya millones de personas en el mundo a las que les encanta. Pues con Python igual, con la ventaja de que todo el mundo puede aportar su pequeña o gran contribución. Un cordial saludo. |---------+----------------------------> | | Francisco Palm | | | | | | Enviado por: | | | python-es-bounces| | | @aditel.org | | | | | | | | | 02/01/2007 13:48 | | | Por favor, | | | responda a La | | | lista de python | | | en castellano | | | | |---------+----------------------------> >--------------------------------------------------------------------------------------------------------------| | | | Para: La lista de python en castellano | | cc: | | Asunto: Re: [Python-es] Re: cual es el uso que se le da a python hoy en dia? | >--------------------------------------------------------------------------------------------------------------| -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El problema no es si Python "se usa", o si es muy popular. La gente que escucha música lo tiene bastante claro: es muy poco probable que lo que es realmente bueno se haga muy popular. ¿Porqué no se usa mucho ahora?: por la misma razón de la música, Python no cuenta con los recursos de publicidad de mercadeo de Java o .Net. La cuestión es, ¿Quieres usar lo mejor?: usa Python. ¿Crees que le falta algo?: participa y trabaja por mejorarlo. Mientras uses Python le llevarás una gran ventaja competitiva a la mayoría. Acaso has visto algo tipo YouTube hecho en Java?, es prácticamente imposible. ¿Tiene futuro?, tiene unos cuantos buenos años por delante, las tecnologías cambiarán y aparecerán nuevas cosas, aún mejores. Saludos F. Palm -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.3 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFFmlSt/ojaFvmpYDoRAqPfAJ9JWuAyZ1pzCVe25+dmFCXHQIX5fACeKwPf leqdK7P8mjJ7b8A7Td3idjI= =QL+I -----END PGP SIGNATURE----- _______________________________________________ Python-es mailing list Python-es@aditel.org http://listas.aditel.org/listinfo/python-es Este mensaje y sus anexos pueden contener información confidencial, por lo que se informa de que su uso no autorizado está prohibido por la ley. Si Vd. considera que no es el destinatario pretendido por el remitente, por favor póngalo en su conocimiento por esta misma vía o por cualquier otro medio y elimine esta comunicación y los anexos de su sistema, sin copiar, remitir o revelar los contenidos del mismo a cualquier otra persona. Cualquier información, opinión, conclusión, recomendación, etc. contenida en el presente mensaje no relacionada con la actividad empresarial del Grupo Banesto y/o emitida por persona sin capacidad para ello, deberá considerarse como no proporcionada ni aprobada por el Banco. Banesto pone los medios a su alcance para garantizar la seguridad y ausencia de errores en la correspondencia electrónica, pero no puede asegurar la inexistencia de virus o la no alteración de los documentos transmitidos electrónicamente, por lo que declina cualquier responsabilidad a este respecto. This message and its contents may contain confidential information and its non-authorised use is prohibited by law. If you are not the intended recipient of this email, please advise the sender of the fact using the same, or other, means and delete this message and its contents from your system without copying, forwarding or revealing the contents of the message to any other person. Any information, opinion, conclusion, recommendation, etc. contained in this message and which is unrelated to the business activity of Grupo Banesto and/or issued by unauthorised personnel, shall be considered unapproved by the Bank. Banesto implements control measures to ensure, as far as possible, the security and reliability of all its electronic correspondence. However, the Bank does not guarantee that emails are virus-free or that documents have not be altered and takes no responsibility in this respect. From kyle en caosdigital.com Wed Jan 3 12:34:06 2007 From: kyle en caosdigital.com (kyle) Date: Wed Oct 24 11:14:30 2007 Subject: [Python-es] Proxy con =?iso-8859-1?Q?a?= =?iso-8859-1?Q?utenticaci=F3n?= dominio-usuario-pass In-Reply-To: <31407a390701021145h23292d64ofafbd5d77d21185@mail.gmail.com> References: <31407a390701021145h23292d64ofafbd5d77d21185@mail.gmail.com> Message-ID: <20070103113406.GA9978@pulsar> On Tue, Jan 02, 2007 at 03:45:01PM -0400, José Lecaros wrote: > Estimados, > estoy tratando de salir por un proxy que requiere autenticación, > indicando además del usuario el dominio. > Hasta ahora solo he obtenido error 407. > les copio el código que estoy utilizando a ver si me pueden dar una manito. > > proxy_vars = {'host': "servidor_proxy", > 'port': "7070", > 'user': "DOMINIO\usuario", no es "DOMINIO\\usuario" ? -- Hoy es Domingo, 1 de Enero de 1984. From jose.lecaros en gmail.com Wed Jan 3 13:43:23 2007 From: jose.lecaros en gmail.com (=?ISO-8859-1?Q?Jos=E9_Lecaros?=) Date: Wed Oct 24 11:14:30 2007 Subject: =?ISO-8859-1?Q?Re:_[Python-es]_Proxy_con_aute?= =?ISO-8859-1?Q?nticaci=F3n_dominio-usuario-pass?= In-Reply-To: <20070103113406.GA9978@pulsar> References: <31407a390701021145h23292d64ofafbd5d77d21185@mail.gmail.com> <20070103113406.GA9978@pulsar> Message-ID: <31407a390701030443l157a8656qa21ef1001f8d3d54@mail.gmail.com> On 1/3/07, kyle wrote: > On Tue, Jan 02, 2007 at 03:45:01PM -0400, José Lecaros wrote: > > Estimados, > > estoy tratando de salir por un proxy que requiere autenticación, > > indicando además del usuario el dominio. > > Hasta ahora solo he obtenido error 407. > > les copio el código que estoy utilizando a ver si me pueden dar una manito. > > > > proxy_vars = {'host': "servidor_proxy", > > 'port': "7070", > > 'user': "DOMINIO\usuario", > > no es "DOMINIO\\usuario" ? también lo hice así y tampoco funciona. al imprimir el valor con ambos formatos (\ y \\) me muestra el mismo resultado DOMINIO\usuario gracias sl3 -- José Lecaros Cisterna móvil: (56+9)789 78 00 lecaros@ubuntu-cl.org jose.lecaros@gmail.com lecaros at irc.freenode.net #edubuntu #edubuntu-es lecaros.wordpress.com From cgalisteo en k-rolus.net Wed Jan 3 13:57:31 2007 From: cgalisteo en k-rolus.net (Carlos Galisteo de Cabo) Date: Wed Oct 24 11:14:30 2007 Subject: =?UTF-8?Q?Re:_[Python-es]_Proxy_con_autenticaci=C3=B3n_dominio-usuario-p?= =?UTF-8?Q?ass?= In-Reply-To: <31407a390701030443l157a8656qa21ef1001f8d3d54@mail.gmail.com> References: <31407a390701030443l157a8656qa21ef1001f8d3d54@mail.gmail.com> Message-ID: <4d35bde59931c5af66e48c53e3928876@localhost> On Wed, 3 Jan 2007 08:43:23 -0400, "José Lecaros" wrote: > al imprimir el valor con ambos formatos (\ y \\) me muestra el mismo > resultado DOMINIO\usuario Para que te pinte las dos tienes que poner 4, recuerda que es el carácter de escape. --- Carlos Galisteo http://blog.k-rolus.net PGP_key::http://k-rolus.net/~cgalisteo/cgalisteo.gpg Key_Fingerprint::F888 6FBA 9145 B5A2 C187 66D6 5B8C 027A 69AD BE65 --- From jose.lecaros en gmail.com Wed Jan 3 14:01:26 2007 From: jose.lecaros en gmail.com (=?ISO-8859-1?Q?Jos=E9_Lecaros?=) Date: Wed Oct 24 11:14:30 2007 Subject: =?ISO-8859-1?Q?Re:_[Python-es]_Proxy_con_aute?= =?ISO-8859-1?Q?nticaci=F3n_dominio-usuario-pass?= In-Reply-To: <4d35bde59931c5af66e48c53e3928876@localhost> References: <31407a390701030443l157a8656qa21ef1001f8d3d54@mail.gmail.com> <4d35bde59931c5af66e48c53e3928876@localhost> Message-ID: <31407a390701030501p4689babak704e95e88508727d@mail.gmail.com> On 1/3/07, Carlos Galisteo de Cabo wrote: > On Wed, 3 Jan 2007 08:43:23 -0400, "José Lecaros" wrote: > > al imprimir el valor con ambos formatos (\ y \\) me muestra el mismo > > resultado DOMINIO\usuario > > Para que te pinte las dos tienes que poner 4, recuerda que es el carácter de escape. y así tampoco funciona. Continua el error 407 :( gracias sl3 -- José Lecaros Cisterna móvil: (56+9)789 78 00 lecaros@ubuntu-cl.org jose.lecaros@gmail.com lecaros at irc.freenode.net #edubuntu #edubuntu-es lecaros.wordpress.com From alexis.roda.villalonga en gmail.com Wed Jan 3 14:04:01 2007 From: alexis.roda.villalonga en gmail.com (Alexis Roda) Date: Wed Oct 24 11:14:30 2007 Subject: [Python-es] Re: Crear clases dinamicamente In-Reply-To: <459B8BEB.5050009@soft-com.es> References: <20070102162946.79640.qmail@web54001.mail.yahoo.com> <459AABB7.2020700@soft-com.es> <2c9fb0dd0701021749q48816b69t352781ed0346c7cc@mail.gmail.com> <459B8BEB.5050009@soft-com.es> Message-ID: <459BA9C1.6000200@gmail.com> En/na Oswaldo Hernández ha escrit: > Chema Cortes escribió: >> El 2/01/07, Oswaldo Hernández escribió: >> ... >> >> Aparte de lo conveniente que sea crear así las excepciones, para crear >> clases dinámicas lo aconsejado sería con type(): >> >> type(nombre,bases,diccionario) >> >> pe: >> type("MiExcepcion", (PgError,), {"msg":"Mi excepción"}) > > Por lo que veo funciona igual que new.classobj y me da los mismos > problemas que este para que el nombre de la clase creada sea dinámico: > > >>> excepcion = "MiExcepcion" > >>> > >>> type(excepcion, (PgError,), globals()) > > >>> > >>> eval("%s('%s')" % (excepcion, "mensaje de prueba")) > Traceback (most recent call last): > File "", line 1, in > File "", line 1, in > NameError: name 'MiExcepcion' is not defined > >>> > > Parece que la clase si se crea, pero no puedo instanciarla. > > Mi respuesta anterior era incompleta: Prueba con algo así: excepcion = "MiExcepcion" clase = new.classobj(excepcion, (PgError,), {}) instancia = clase("mensaje de prueba") si además quieres que la nueva clase sea accesible "por nombre": globals()[excepcion] = clase instancia=MiExcepcion("prueba") Saludos From listas en soft-com.es Wed Jan 3 15:50:52 2007 From: listas en soft-com.es (=?ISO-8859-1?Q?Oswaldo_Hern=E1ndez?=) Date: Wed Oct 24 11:14:30 2007 Subject: [Python-es] Re: Crear clases dinamicamente In-Reply-To: <459BA9C1.6000200@gmail.com> References: <20070102162946.79640.qmail@web54001.mail.yahoo.com> <459AABB7.2020700@soft-com.es> <2c9fb0dd0701021749q48816b69t352781ed0346c7cc@mail.gmail.com> <459B8BEB.5050009@soft-com.es> <459BA9C1.6000200@gmail.com> Message-ID: <459BC2CC.1010703@soft-com.es> Alexis Roda escribió: > En/na Oswaldo Hernández ha escrit: >> Chema Cortes escribió: >>> El 2/01/07, Oswaldo Hernández escribió: >>> ... >>> >>> Aparte de lo conveniente que sea crear así las excepciones, para crear >>> clases dinámicas lo aconsejado sería con type(): >>> >>> type(nombre,bases,diccionario) >>> >>> pe: >>> type("MiExcepcion", (PgError,), {"msg":"Mi excepción"}) >> >> Por lo que veo funciona igual que new.classobj y me da los mismos >> problemas que este para que el nombre de la clase creada sea dinámico: >> >> >>> excepcion = "MiExcepcion" >> >>> >> >>> type(excepcion, (PgError,), globals()) >> >> >>> >> >>> eval("%s('%s')" % (excepcion, "mensaje de prueba")) >> Traceback (most recent call last): >> File "", line 1, in >> File "", line 1, in >> NameError: name 'MiExcepcion' is not defined >> >>> >> >> Parece que la clase si se crea, pero no puedo instanciarla. >> >> > > Mi respuesta anterior era incompleta: > > Prueba con algo así: > > excepcion = "MiExcepcion" > clase = new.classobj(excepcion, (PgError,), {}) > instancia = clase("mensaje de prueba") > > si además quieres que la nueva clase sea accesible "por nombre": > > globals()[excepcion] = clase > instancia=MiExcepcion("prueba") > Ahora si que funciona como queria: >>> excepcion = "MiExcepcion" >>> globals()[excepcion] = new.classobj(excepcion, (pg.PgError,), {}) >>> instancia = globals()[excepcion](None, "test") >>> instancia test >>> isinstance(instancia, MiExcepcion) True >>> Este lenguaje es maravilloso :) Muchas gracias. -- ***************************************** Oswaldo Hernández oswaldo (@) soft-com (.) es ***************************************** From rvr en infoastro.com Wed Jan 3 16:29:05 2007 From: rvr en infoastro.com (=?iso-8859-15?q?V=EDctor_R=2E?= Ruiz) Date: Wed Oct 24 11:14:30 2007 Subject: [Python-es] Re: cual es el uso que se le da a python hoy en dia? In-Reply-To: <6a39a1d0701021912h6b22a725h2b4b73230c192425@mail.gmail.com> References: <20070101234425.3BC34145F3D1@devnull.aditel.org> <6a39a1d0701021912h6b22a725h2b4b73230c192425@mail.gmail.com> Message-ID: <200701031529.05621.rvr@infoastro.com> Hola: El Miércoles, 3 de Enero de 2007 03:12, Rolando José Torres Sánchez tecleó: > Era como el rumor de que en Microsoft los servidores de Hotmail usaban > Linux. Hotmail usaba FreeBSD, y no era un rumor: http://www.microsoft.com/technet/interopmigration/case/hotmail/default.mspx "The original builders of the application created a two-tier architecture built around various UNIX systems. FreeBSD, a UNIX-like system similar to the Linux operating system, was used to run the front-end Web servers that handled login, Microsoft Outlook Express, and Web-based content delivery tasks. [...] During June and July of 2000, the Hotmail site was converted from FreeBSD running Apache Web services to Windows 2000 Server running Microsoft Internet Information Services 5.0" Saludetes, -- Víctor R. Ruiz | - Todos estos momentos se perderán http://infoastro.com/rvr | como lágrimas en la lluvia From polivare en gmail.com Wed Jan 3 16:53:09 2007 From: polivare en gmail.com (Patricio Olivares) Date: Wed Oct 24 11:14:30 2007 Subject: =?ISO-8859-1?Q?Re:_[Python-es]_Proxy_con_aute?= =?ISO-8859-1?Q?nticaci=F3n_dominio-usuario-pass?= In-Reply-To: <31407a390701021145h23292d64ofafbd5d77d21185@mail.gmail.com> References: <31407a390701021145h23292d64ofafbd5d77d21185@mail.gmail.com> Message-ID: <5e6f9d4b0701030753y1afe2f87n26f4db0c1eec13f3@mail.gmail.com> On 1/2/07, José Lecaros wrote: > > el código lo saqué de un mensaje de esta lista y lo modifiqué según > los parámetros que requería, pero no he podido salir. Hola, no tengo como probar nada por ahora asi que sólo te envío sugerencias: Si el código que muestras lo sacaste de... http://listas.aditel.org/archivos/python-es/2006-May/017473.html entonces verás que ese código no le funcionó a quien lo posteó. En ese mismo hilo alguien sugiere que en vez de configurar el proxy vía la api de urllib2 se haga con una variable de ambiente: http://listas.aditel.org/archivos/python-es/2006-May/017478.html Otra cosa: para el valor de 'user' que tienes, lo recomendable es escapar el backslash usando r"DOMINIO\usuario" (http://docs.python.org/ref/strings.html). En todo caso en mi linux, "\u" == r"\u" así que en este caso probablemente no cambie el resultado. Finalmente, aquí hay un código que *parece* que funciona para salir con proxy: -------------- # sacado de http://tinyurl.com/yc89nv proxy_user = 'user_name' proxy_password ='password' # Setup the Proxy with urllib2 proxy_url = 'http://' + proxy_user + ':' + proxy_password + '@' + PROXY_IP proxy_support = urllib2.ProxyHandler({"http":proxy_url}) opener = urllib2.build_opener(proxy_support,urllib2.HTTPHandler) urllib2.install_opener(opener) -------------- Insisto en que no lo he probado. Suerte... From jose.lecaros en gmail.com Wed Jan 3 17:20:11 2007 From: jose.lecaros en gmail.com (=?ISO-8859-1?Q?Jos=E9_Lecaros?=) Date: Wed Oct 24 11:14:30 2007 Subject: =?ISO-8859-1?Q?Re:_[Python-es]_Proxy_con_aute?= =?ISO-8859-1?Q?nticaci=F3n_dominio-usuario-pass?= In-Reply-To: <5e6f9d4b0701030753y1afe2f87n26f4db0c1eec13f3@mail.gmail.com> References: <31407a390701021145h23292d64ofafbd5d77d21185@mail.gmail.com> <5e6f9d4b0701030753y1afe2f87n26f4db0c1eec13f3@mail.gmail.com> Message-ID: <31407a390701030820h29d07c82ycbcddda76fd68ab3@mail.gmail.com> On 1/3/07, Patricio Olivares wrote: > On 1/2/07, José Lecaros wrote: > > > > el código lo saqué de un mensaje de esta lista y lo modifiqué según > > los parámetros que requería, pero no he podido salir. > > > Hola, > no tengo como probar nada por ahora asi que sólo te envío sugerencias: > > Si el código que muestras lo sacaste de... > http://listas.aditel.org/archivos/python-es/2006-May/017473.html sí > entonces verás que ese código no le funcionó a quien lo posteó. > En ese mismo hilo alguien sugiere que en vez de configurar el proxy vía la > api de urllib2 se haga con una variable de ambiente: > http://listas.aditel.org/archivos/python-es/2006-May/017478.html también lo probé > Otra cosa: para el valor de 'user' que tienes, lo recomendable es escapar el > backslash usando r"DOMINIO\usuario" (http://docs.python.org/ref/strings.html). > En todo caso en mi linux, "\u" == r"\u" así que en este caso probablemente > no cambie el resultado. he mostrado por consola los valores y aparecen bien, así que ya descarté que hubiera problema con el \ > urllib2.install_opener(opener) > -------------- > Insisto en que no lo he probado. Suerte... ya lo probé, y tampoco funciona gracias sl3 -- José Lecaros Cisterna móvil: (56+9)789 78 00 lecaros@ubuntu-cl.org jose.lecaros@gmail.com lecaros at irc.freenode.net #edubuntu #edubuntu-es lecaros.wordpress.com From jordi.f en ati.es Wed Jan 3 17:41:02 2007 From: jordi.f en ati.es (Jordi Funollet) Date: Wed Oct 24 11:14:30 2007 Subject: [Python-es] Proxy con =?iso-8859-1?q?autenticaci=F3n?= dominio-usuario-pass In-Reply-To: <31407a390701030820h29d07c82ycbcddda76fd68ab3@mail.gmail.com> References: <31407a390701021145h23292d64ofafbd5d77d21185@mail.gmail.com> <5e6f9d4b0701030753y1afe2f87n26f4db0c1eec13f3@mail.gmail.com> <31407a390701030820h29d07c82ycbcddda76fd68ab3@mail.gmail.com> Message-ID: <200701031741.02818.jordi.f@ati.es> José Lecaros dixit: > > Hola, > > no tengo como probar nada por ahora asi que sólo te envío sugerencias: > > > > Si el código que muestras lo sacaste de... > > http://listas.aditel.org/archivos/python-es/2006-May/017473.html > > sí > > > entonces verás que ese código no le funcionó a quien lo posteó. > > En ese mismo hilo alguien sugiere que en vez de configurar el proxy vía > > la api de urllib2 se haga con una variable de ambiente: > > http://listas.aditel.org/archivos/python-es/2006-May/017478.html Culpable. :-) Terminó funcionando, pero bajo Linux. Nunca lo he probado sobre otro sistema operativo. Te copio el codigo que funcionó, por si te ayuda. Pero creo que hay otra diferencia que tienes que vigilar: yo trabajaba contra un proxy Squid, y no contra un ISA. No estoy seguro que los métodos de autenticación sean idénticos. Supongo que ya habrás probado a autentificarte sin el 'DOMINIO/' delante del usuario y combinaciones de este estilo. Para descartar problemas de 'encoding' incluso puedes probar a usar un usuario y password que sean solo carácteres ASCII. Suerte. import urllib2, os proxy_vars = { 'host': 'domenech.uab.es', 'port': '3128', 'user': 'me' 'password': 'none', } url_test='http://www.bjrq.org:9000/info.php' os.environ['http_proxy'] = 'http://%(user)s:%(password)s@%(host)s: %(port)s/' % proxy_vars page = urllib2.urlopen(url_test) -- ############################## ### Jordi Funollet ### http://www.terraquis.net From jose.lecaros en gmail.com Wed Jan 3 18:21:44 2007 From: jose.lecaros en gmail.com (=?ISO-8859-1?Q?Jos=E9_Lecaros?=) Date: Wed Oct 24 11:14:30 2007 Subject: =?ISO-8859-1?Q?Re:_[Python-es]_Proxy_con_aute?= =?ISO-8859-1?Q?nticaci=F3n_dominio-usuario-pass?= In-Reply-To: <200701031741.02818.jordi.f@ati.es> References: <31407a390701021145h23292d64ofafbd5d77d21185@mail.gmail.com> <5e6f9d4b0701030753y1afe2f87n26f4db0c1eec13f3@mail.gmail.com> <31407a390701030820h29d07c82ycbcddda76fd68ab3@mail.gmail.com> <200701031741.02818.jordi.f@ati.es> Message-ID: <31407a390701030921o17b15a70ud4862cdd59363e60@mail.gmail.com> On 1/3/07, Jordi Funollet wrote: > José Lecaros dixit: > > > Hola, > > > no tengo como probar nada por ahora asi que sólo te envío sugerencias: > > > > > > Si el código que muestras lo sacaste de... > > > http://listas.aditel.org/archivos/python-es/2006-May/017473.html > > > > sí > > > > > entonces verás que ese código no le funcionó a quien lo posteó. > > > En ese mismo hilo alguien sugiere que en vez de configurar el proxy vía > > > la api de urllib2 se haga con una variable de ambiente: > > > http://listas.aditel.org/archivos/python-es/2006-May/017478.html > > Culpable. :-) Terminó funcionando, pero bajo Linux. Nunca lo he probado sobre > otro sistema operativo. > > Te copio el codigo que funcionó, por si te ayuda. Pero creo que hay otra > diferencia que tienes que vigilar: yo trabajaba contra un proxy Squid, y no > contra un ISA. No estoy seguro que los métodos de autenticación sean > idénticos. Supongo que ya habrás probado a autentificarte sin el 'DOMINIO/' > delante del usuario y combinaciones de este estilo. Para descartar problemas > de 'encoding' incluso puedes probar a usar un usuario y password que sean > solo carácteres ASCII. > > Suerte. > > import urllib2, os > > proxy_vars = { > 'host': 'domenech.uab.es', > 'port': '3128', > 'user': 'me' > 'password': 'none', > } > url_test='http://www.bjrq.org:9000/info.php' > > os.environ['http_proxy'] = 'http://%(user)s:%(password)s@%(host)s: > %(port)s/' % proxy_vars > > page = urllib2.urlopen(url_test) y tampoco anda :( he encontrado que con ISA se debe usar Basic Authentication(BA), así que miraré por ahí a ver si doy con la solución :) si alguien se anima a un trozo de código con BA estaría deluxe :) sl3 -- José Lecaros Cisterna móvil: (56+9)789 78 00 lecaros@ubuntu-cl.org jose.lecaros@gmail.com lecaros at irc.freenode.net #edubuntu #edubuntu-es lecaros.wordpress.com From polivare en gmail.com Wed Jan 3 18:27:51 2007 From: polivare en gmail.com (Patricio Olivares) Date: Wed Oct 24 11:14:30 2007 Subject: =?ISO-8859-1?Q?Re:_[Python-es]_Proxy_con_aute?= =?ISO-8859-1?Q?nticaci=F3n_dominio-usuario-pass?= In-Reply-To: <31407a390701030921o17b15a70ud4862cdd59363e60@mail.gmail.com> References: <31407a390701021145h23292d64ofafbd5d77d21185@mail.gmail.com> <5e6f9d4b0701030753y1afe2f87n26f4db0c1eec13f3@mail.gmail.com> <31407a390701030820h29d07c82ycbcddda76fd68ab3@mail.gmail.com> <200701031741.02818.jordi.f@ati.es> <31407a390701030921o17b15a70ud4862cdd59363e60@mail.gmail.com> Message-ID: <5e6f9d4b0701030927g6e76d085j1dab3721f13dbce2@mail.gmail.com> On 1/3/07, José Lecaros wrote: > y tampoco anda :( Microsoft y sus protocolos... parece que este bicho se llama NTLM y obviamente de estándar no tiene mucho. Buscando ntlm python en google aparece ntlmaps ( http://sourceforge.net/projects/ntlmaps/ ) pero actúa como un cliente (no es una biblioteca, menos una extensión de urllib). De todas formas puede servir para salir del paso. También la búsqueda en google groups arroja algo: http://tinyurl.com/yxnj72 pero como sea, no es coser y cantar. Ejemplos de autenticación básica en http://www.voidspace.org.uk/python/articles/urllib2.shtml#id6 From jcea en argo.es Wed Jan 3 18:20:41 2007 From: jcea en argo.es (Jesus Cea) Date: Wed Oct 24 11:14:30 2007 Subject: Persistencia (Era Re: [Python-es] Filtrar filas BD en python) In-Reply-To: <2a1edb210612181332k121f257ev812105c0fdb29ecf@mail.gmail.com> References: <2a1edb210612181332k121f257ev812105c0fdb29ecf@mail.gmail.com> Message-ID: <459BE5E9.2080502@argo.es> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Jesus Rodriguez wrote: > Buenas amigos, > > Estoy haciendo un programa que usa bases de datos y claro, hay una cosa que > no sé hacer, y realmente con mi actual conocimiento de SQL no podría decir > si tengo que hacer esto con SQL o código python. Ya que estás empezando el código y que andas flojo en SQL, mi consejo es que pases por completo de SQL y utilices algo de persistencia nativo en python, como Durus. Échale un vistazo. - -- Jesus Cea Avion _/_/ _/_/_/ _/_/_/ jcea@argo.es http://www.argo.es/~jcea/ _/_/ _/_/ _/_/ _/_/ _/_/ jabber / xmpp:jcea@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.5 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iQCVAwUBRZvl6Zlgi5GaxT1NAQKgEQQAmQwBY6eAH9GuhlhSVPA3pASUAcBcIckx KVCbYnJiYLCLNLac6pw0pvna9J1hr4zNV44THb2ny+z8WkHmEkkXrj70s2sguc4i mXJ/0IqYgAyhhKSlFGhRMmelD+MOFn+JHWMz4nUOWFu4dMfIdDTr9E5KDw1I3CdT k2qjm5rs/CA= =IRJa -----END PGP SIGNATURE----- From alberto en toscat.net Wed Jan 3 21:31:40 2007 From: alberto en toscat.net (Alberto Valverde) Date: Wed Oct 24 11:14:30 2007 Subject: [Python-es] Crear clases dinamicamente In-Reply-To: <68d25cbc0701020640m76e027c2s636fb7fa3444f864@mail.gmail.com> References: <459A6ABE.2090301@soft-com.es> <68d25cbc0701020640m76e027c2s636fb7fa3444f864@mail.gmail.com> Message-ID: <0C4B8E86-6B56-4032-9B8A-FC29D27EA12D@toscat.net> On Jan 2, 2007, at 3:40 PM, Luis Miguel Morillas wrote: > El 2/01/07, Oswaldo Hernández escribió: >> Hola a todos, >> >> Me suena que este tema ya se ha tratado, pero no lo localizo. >> >> Estoy intentando crear clases en tiempo de ejecución, algo como: >> eval("class xxxx(yyy): pass") >> > > exec "class %s(%s): pass" % (nombre, base) Para ésto te recomendaría la función "type" que hace lo mismo y es más eficiente que "exec": mi_clase = type(nombre, (base1, base2, ..), dct) dónde dct en tu ejemplo sería un diccionario vacío (es un diccionario con los atributos de la clase). En vez de "type" podrías usar una metaclase pero eso ya es otro tema... Un saludo, Alberto From pych3m4 en gmail.com Thu Jan 4 02:11:06 2007 From: pych3m4 en gmail.com (Chema Cortes) Date: Wed Oct 24 11:14:31 2007 Subject: [Python-es] [AVISO] Turbogears 1.0 Message-ID: <2c9fb0dd0701031711u2e7ad25ev5a6375f4d10656df@mail.gmail.com> Acaba de salir la tan esperada Turbogears 1.0. TurboGears es un entorno de creación de aplicaciones web en python que consta de varios componentes subyacentes como son MochiKit, SQLObject, CherryPy y Kid, aunque también pueden usarse SQLAlchemy, Cheetah, etc. En esta versión 1.0 es destacable el poder usar widgets en javascript que facilita la creación de webs que funcionen con AJAX. http://www.turbogears.org En castellano: http://turbogears.com.ar http://es.wikipedia.org/wiki/TurboGears From flaper87 en gmail.com Thu Jan 4 03:08:04 2007 From: flaper87 en gmail.com (Flaper87) Date: Wed Oct 24 11:14:31 2007 Subject: [Python-es] [AVISO] Turbogears 1.0 In-Reply-To: <2c9fb0dd0701031711u2e7ad25ev5a6375f4d10656df@mail.gmail.com> References: <2c9fb0dd0701031711u2e7ad25ev5a6375f4d10656df@mail.gmail.com> Message-ID: 2007/1/3, Chema Cortes : > > Acaba de salir la tan esperada Turbogears 1.0. > > TurboGears es un entorno de creación de aplicaciones web en python que > consta de varios componentes subyacentes como son MochiKit, SQLObject, > CherryPy y Kid, aunque también pueden usarse SQLAlchemy, Cheetah, etc. > En esta versión 1.0 es destacable el poder usar widgets en javascript > que facilita la creación de webs que funcionen con AJAX. Gracias por el aviso. Ahora quisiera hacer una pregunta, la hago en este mismo hilo, ya que ambos sirven para lo mismo. ¿Que opinan de django? -- Flavio Percoco Premoli, A.K.A. [Flaper87] http://www.flaper87.com Usuario Linux registrado #436538 Key Fingerprint: CFC0 C67D FF73 463B 7E55 CF43 25D1 E75B E2DB 15C7 From fabian963 en gmail.com Thu Jan 4 04:19:31 2007 From: fabian963 en gmail.com (Fabian < Fvioz >) Date: Wed Oct 24 11:14:31 2007 Subject: [Python-es] Error critico de mi programa en Debian: `window != NULL' failed In-Reply-To: <1167695024.4962.11.camel@laptop> References: <1167526855.4971.15.camel@laptop> <1167528247.4971.17.camel@laptop> <9e021980612302206i7b95256fn82635cb8d8ff2feb@mail.gmail.com> <1167546477.4967.4.camel@laptop> <1167578134.4958.3.camel@laptop> <1167695024.4962.11.camel@laptop> Message-ID: <9e021980701031919g49518f79j285352fceae45c56@mail.gmail.com> Bueno te voy a comentar algo yo estoy haciendo un proyecto con wx y hasta hoy encontré el error que tenia, lo que pasaba era que tenia varias versiones del wx 2.6 2.7 y 2.8 y ese era el problema que me sacaba errores pero errores como si fueran el interpretador del python como el tuyo. al quitar la 2.7 y 2.8 de mi pc se arreglo Creo que deberías trabajar con wx 2.6; creo que la 2.8 debe estar en la sid de Debian y ese es el problema errores con versiones. From jcoruna en umd.es Thu Jan 4 10:17:48 2007 From: jcoruna en umd.es (Juan Carlos =?iso-8859-1?q?Coru=F1a_Navarro?=) Date: Wed Oct 24 11:14:31 2007 Subject: [Python-es] [AVISO] Turbogears 1.0, django, pylons In-Reply-To: References: <2c9fb0dd0701031711u2e7ad25ev5a6375f4d10656df@mail.gmail.com> Message-ID: <200701041017.48690.jcoruna@umd.es> Hola a todos, Voy a aportar mi experiencia al respecto. He estado mirando turbogears, pylons y django. Y, estas son las conclusiones a las que he llegado: - Django tiene una integración muy buena entre todos sus componentes ya que han sido desarrollados todos a la vez y desde cero. aunque he leído por ahí que quieren integrar sqlalchemy. - Turbogears y Pylons realmente integran varios proyectos en uno para constituir un framework. Por lo tanto sus comunidad es probablemente más amplia. - El canal de irc #django tiene unas cinco veces más miembros que #turbogears o #pylons. Sin embargo, dado que turbogears y pylons se componen de diferentes proyectos habría que sumar los miembros de los correspondientes canales (#sqlalchemy, #myghty, #sqlobject, etc.). El canal #django es bastante activo. - En líneas generales Django está pensado más para CMSs (ahí está también su origen) y Turbogears y Pylons más para aplicaciones web. - El que Turbogears y Pylons utilicen proyectos independientes tiene la ventaja que se puede utilizar alguno de dichos proyectos para otros desarrollos rentabilizando lo aprendido. Me explico, en mi caso quiero desarrollar una aplicación web para gestionar una serie de datos en una base de datos y a la vez tener un servicio que también necesita tener acceso a la misma base de datos, pués usando slqalchemy o sqlobject en los dos casos tengo resuelto el acceso a la BBDD, y solamente tengo que definir el modelo una sola vez. Con Django no podría reutilizar la definición del modelo ya que la capa M de Django no es independiente. - Pylons hace uso del estandar WSGI (Web Server Gateway Interface, http://www.wsgi.org) que es una serie de librerias definidas para python que estandarizan la comunicación entre componentes web. - Turbogears 1.0 usa algo de WSGI, pero para la versión 2 quieren tener WSGI al completo. Turbogears usa CherryPy y parece ser que esto dificultará la migración completa a WSGI. - Dado que Pylons usa WSGI la integración de diferentes componentes WSGI es un hecho. He visto integración entre: Paste, Kid, Cheetah, SQLAlchemy, SQLObject, ToscaWidgets, Routes, Myghty, Genshi, y alguno más que se me olvida. - Turbogears va por la versión 1.0, Pylons por la 0.9.4 y Django ya es maduro. Me a la impresión, aparte de las versiones, que Turbogears es más maduro que Pylons. Pero, ojo, solamente es mi impresión, realmente aún no he desarrollado nada con ninguno de ellos. - He llegado a instalar Pylons y es muy fácil. En Kubuntu: apt-get install python-setuptools apt-get install subversion easy_install Pylons[full] easy_install SQLAlchemy apt-get install postgresql-dev # uso postgresql easy_install psycopg2 # uso postgresql easy_install formbuild Turbogears es parecido y creo que Django también. - He visto algunos benchmarks sobre las diferentes módulos de plantillas que utilizan. El ranking es algo parecido a esto: 1º Django. El más rápido. Casi no permite introducir programación en la plantilla, por pólitica del propio proyecto: toda la lógica debe de ir en los controladores. 2º Cheetah. Es muy rápido ya que tiene parte hecha en C. 3º Myghty 4º Kid 5º Genshi - Pylons permite usar varios módulos de plantillas incluso a la vez en la misma aplicación de forma muy fácil. - Turbogears debe de ser algo más lento que Pylons por usar CherryPy. aprovecho la ocasión para ampliar aún más el tema: - Django tiene un módulo muy potente para mapear las URL a los controladores. Pylons que usa Routes también. Turbogears no. - Django tiene bastante documentación. Turbogears con la aparición del libro también, pero Pylons parece que la tiene más dispersa (no puedo decir que menos que turbogears a excepción del libro). Bueno, espero que estas indicaciones puedan servir a alguno e incluso si alguien tiene más datos al respecto los pueda aportar o hacer alguna puntualización o corrección. Yo, personalmente me estoy inclinando por Pylons y ya he hecho alguna prueba muy sencilla. El Jueves, 4 de Enero de 2007 03:08, Flaper87 escribió: > 2007/1/3, Chema Cortes : > > Acaba de salir la tan esperada Turbogears 1.0. > > > > TurboGears es un entorno de creación de aplicaciones web en python que > > consta de varios componentes subyacentes como son MochiKit, SQLObject, > > CherryPy y Kid, aunque también pueden usarse SQLAlchemy, Cheetah, etc. > > En esta versión 1.0 es destacable el poder usar widgets en javascript > > que facilita la creación de webs que funcionen con AJAX. > > Gracias por el aviso. > > Ahora quisiera hacer una pregunta, la hago en este mismo hilo, ya que ambos > sirven para lo mismo. > > ¿Que opinan de django? -- Un saludo, Juan Carlos Coruña Director de Sistemas jcoruna@umd.es UMD, S.A. Parque Tecnológico, Edificio 603 E-48160-Derio (Vizcaya) Tlf: 902-128256 Fax: 902-011995 Este mensaje se dirige exclusivamente a su destinatario y puede contener información privilegiada o confidencial. Si no es vd. el destinatario indicado, queda notificado de que la utilización, divulgación y/o copia sin autorización está prohibida en virtud de la legislación vigente. Si ha recibido este mensaje por error, le rogamos que nos lo comunique inmediatamente por esta misma vía y proceda a su destrucción. This message is intended exclusively for its addressee and may contain information that is CONFIDENTIAL and protected by professional privilege. If you are not the intended recipient you are hereby notified that any dissemination, copy or disclosure of this communication is strictly prohibited by law. If this message has been received in error, please immediately notify us via e-mail and delete it. From alberto en toscat.net Thu Jan 4 16:26:29 2007 From: alberto en toscat.net (Alberto Valverde) Date: Wed Oct 24 11:14:31 2007 Subject: [Python-es] [AVISO] Turbogears 1.0, django, pylons In-Reply-To: <200701041017.48690.jcoruna@umd.es> References: <2c9fb0dd0701031711u2e7ad25ev5a6375f4d10656df@mail.gmail.com> <200701041017.48690.jcoruna@umd.es> Message-ID: <1F5D6F4F-2DE8-4DB7-97E7-069DC2FD40F9@toscat.net> On Jan 4, 2007, at 10:17 AM, Juan Carlos Coruña Navarro wrote: > Hola a todos, > > Voy a aportar mi experiencia al respecto. He estado mirando > turbogears, pylons > y django. Y, estas son las conclusiones a las que he llegado: > > - Django tiene una integración muy buena entre todos sus > componentes ya que > han sido desarrollados todos a la vez y desde cero. aunque he leído > por ahí > que quieren integrar sqlalchemy. ¿Integración entre componentes? No me extraña que sea buena... para bien o para mal, son todos "de la casa" ;) > > - Turbogears y Pylons realmente integran varios proyectos en uno para > constituir un framework. Por lo tanto sus comunidad es > probablemente más > amplia. La comunidad de Pylons es relativamente pequeña, al momento, 482 miembros (http://groups-beta.google.com/group/pylons-discuss/about) frente a 2459 de Turbogears (http://groups-beta.google.com/group/ turbogears/about). Por experiencia podría comentar que la comunidad de Turbogears es estupenda, con un amplio abanico de usuarios de diferentes niveles (desde veteranos desarrolladores web en python hasta recien llegados de PHP), en los que aparte de tratar temas puramente relacionados con TG y proyectos que integra, se discuten temas dispares sobre desarrollo web (que a veces sólo saturan el buzón y otras veces iluminan ;). La comunidad de Pylons (comentario fruto de estar suscrito a la lista desde hace meses) suele tener menos movimiento (relativo a su tamaño) pero si es cierto que se palpa más "nivel" en general. Hay gente muy buena trabajando con ello (y en ello). > > - El canal de irc #django tiene unas cinco veces más miembros que > #turbogears > o #pylons. Sin embargo, dado que turbogears y pylons se componen de > diferentes proyectos habría que sumar los miembros de los > correspondientes > canales (#sqlalchemy, #myghty, #sqlobject, etc.). El canal #django es > bastante activo. ¿IRC? ¿Qué es eso? ;) no puedo comentar... ayer hice un poco el ridículo por no poder contestar a mensaje privados al no saber que tenía que registrarme en freenode ;) > > - En líneas generales Django está pensado más para CMSs (ahí está > también su > origen) y Turbogears y Pylons más para aplicaciones web. Cierto. Conozco el Django de hace un año ya que hice mis primeros pinitos en programación web con python con él y, si quieres un gestor de contenido, es de lo mejor ya que el interfaz de administración te hace el 80% del trabajo. Eso sí, como quieras salirte un poco de lo que el interfaz autogenerado ofrece y lo que la excelente documentación y tutoriales enseñan... te las ves y las deseas... :) > > - El que Turbogears y Pylons utilicen proyectos independientes > tiene la > ventaja que se puede utilizar alguno de dichos proyectos para otros > desarrollos rentabilizando lo aprendido. Me explico, en mi caso quiero > desarrollar una aplicación web para gestionar una serie de datos en > una base > de datos y a la vez tener un servicio que también necesita tener > acceso a la > misma base de datos, pués usando slqalchemy o sqlobject en los dos > casos > tengo resuelto el acceso a la BBDD, y solamente tengo que definir > el modelo > una sola vez. Con Django no podría reutilizar la definición del > modelo ya que > la capa M de Django no es independiente. Cierto. Esta es la *gran* ventaja de TurboGears y Pylons frente a Django en mi humilde opinión. Es cierto que python, siendo un lenguaje con el que puedes desarrollar algo funcional en tan poco tiempo, muchas veces da ganas de re-implementar algo de cero para un caso puntual. Sin embargo, opino que no es el mejor camino para un framework ya que tenderá a crear una "bestia monolítica", reinventará lo ya inventado (muchas veces sin motivo... sí, forms de django, estoy hablando de vosotras ;) . El caso más obvio de la ventaja de una arquitectura modular en este sentido lo tenemos en el conjunto de applicaciones "estandar" para unix. Pylons lleva la reutilización al extremo ya que, como mencionas a continuación, utiliza WSGI para comunicar sus componentes lo cual los hace reutilizables en otros frameworks que se adhieran al estándar. Por darte un caso concreto, utilizo la librería de autentificación AuthKit de Pylons en aplicaciones de TurboGears (que como has mencionado también, usa "algo" de WSGI) junto con una de autorización de cosecha propia. > > - Pylons hace uso del estandar WSGI (Web Server Gateway Interface, > http://www.wsgi.org) que es una serie de librerias definidas para > python que > estandarizan la comunicación entre componentes web. > > - Turbogears 1.0 usa algo de WSGI, pero para la versión 2 quieren > tener WSGI > al completo. Turbogears usa CherryPy y parece ser que esto > dificultará la > migración completa a WSGI. ¡Y que lo digas! (Aprovecho que por aquí probablemente no me lean los de CP... ;) Pronto empezará un debate en la lista sobré qué haremos exactamente en TG 2.0 con CherryPy... Seguramente permanecerá ya que no entorpece "demasiado" el camino a una integración completa de los componentes mediante WSGI (utilizando herramientas de Paste). > > - Dado que Pylons usa WSGI la integración de diferentes componentes > WSGI es un > hecho. He visto integración entre: Paste, Kid, Cheetah, SQLAlchemy, > SQLObject, ToscaWidgets, Routes, Myghty, Genshi, y alguno más que > se me > olvida. Me gustaría puntualizar aquí que WSGI no es la panacea "que lo pega todo". WSGI tan sólo define un protocolo para que se comuniquen entre si aplicaciones web montadas en el mismo proceso (on no) y piezas de middleware. No toca (al menos directamente) la integración con librerías como SQLObject, Mighty, SQLAlchemy, Genshi, etc... > > - Turbogears va por la versión 1.0, Pylons por la 0.9.4 y Django ya > es maduro. > Me a la impresión, aparte de las versiones, que Turbogears es más > maduro que > Pylons. Pero, ojo, solamente es mi impresión, realmente aún no he > desarrollado nada con ninguno de ellos. Es medio cierto. TurboGears puede ser más maduro que Pylons más que nada porque tiene una comunidad unas 5 veces mayor y lleva algo más de tiempo rondando. Sin embargo, Pylons ya es bastante estable en lo que al API se refiere (a la estabilidad en cuanto a que "no se cuelga" por descontado... ;) Cierto es que Django es el más maduro de los 3... probablemente por los mismos motivos que TG sobre Django (se me olvido mencionar que TG se ha sabido "vender" mejor que Pylons... que los de Django dominan la mercadotécnia es un hecho incuestionable ;) > > - He llegado a instalar Pylons y es muy fácil. En Kubuntu: > apt-get install python-setuptools > apt-get install subversion > easy_install Pylons[full] > easy_install SQLAlchemy > apt-get install postgresql-dev # uso postgresql > easy_install psycopg2 # uso postgresql > easy_install formbuild > Turbogears es parecido y creo que Django también. Seguramente todos los frameworks tiendan a la misma sencillez de instalación gracias a setuptools. > > - He visto algunos benchmarks sobre las diferentes módulos de > plantillas que > utilizan. El ranking es algo parecido a esto: > 1º Django. El más rápido. Casi no permite introducir programación > en la > plantilla, por pólitica del propio proyecto: toda la lógica debe de > ir en los > controladores. > 2º Cheetah. Es muy rápido ya que tiene parte hecha en C. > 3º Myghty > 4º Kid > 5º Genshi ¿Qué? ¿De dónde has sacado estos datos? Según unos benchmarks de http://www.makotemplates.org/ (basados en otros que hay en algún lugar del web de Genshi) la cosa queda así: Mako: 0.90 ms Myghty: 5.25 ms Cheetah: 0.70 ms Genshi: 12.53 ms Django: 5.43 ms Kid: 19.12 ms Es decir, Cheetah es unas 6 veces más rápido que Django. Aunque mirando los resultados en perspectiva el gran ganador es Mako al ser puro python sin nada de C (¿Qué otra cosa se podía esperar del creador de SQLAlchemy?). Lo de "no a la lógica dentro de las plantillas" me parece muy bonito en teoría y algo a lo que se debe aspirar, pero no estoy a favor de cortarle las alas intencionadamente a los adultos responsables.... > > - Pylons permite usar varios módulos de plantillas incluso a la vez > en la > misma aplicación de forma muy fácil. Turbogears también. De hecho el interfaz que usa (Buffet) para enchufarlos al framework lo inventó CP/TG. > > - Turbogears debe de ser algo más lento que Pylons por usar CherryPy. > aprovecho la ocasión para ampliar aún más el tema: Puede que TG sea algo más lento (a "vistazo del código", no he hecho ninguna prueba) pero dudo que sea debido a CherryPy.... > > - Django tiene un módulo muy potente para mapear las URL a los > controladores. > Pylons que usa Routes también. Turbogears no. TurboGears puede usar Routes (por experiencia propia) y si te lo curras un poco cualquier sistema para despachar URLs... > > - Django tiene bastante documentación. Turbogears con la aparición > del libro > también, pero Pylons parece que la tiene más dispersa (no puedo > decir que > menos que turbogears a excepción del libro). A mí la documentación de Pylons me parece excelente. Escasa, puede, pero también es cierto que, de momento, apuntan a otro nicho que es el de "hackers" y desarrolladores web (en python) con algo más de experiencia. > > Bueno, espero que estas indicaciones puedan servir a alguno e > incluso si > alguien tiene más datos al respecto los pueda aportar o hacer alguna > puntualización o corrección. :) > > Yo, personalmente me estoy inclinando por Pylons y ya he hecho > alguna prueba > muy sencilla. Sabia elección. A mi