From gynnipotter en hotmail.com Sat Dec 1 20:25:41 2007 From: gynnipotter en hotmail.com (Gynni Potter Evans) Date: Sat, 1 Dec 2007 19:25:41 +0000 Subject: Problema con ventanas y servicios In-Reply-To: References: <1196334664.7383.7.camel@skynet> Message-ID: Quiero que me dejen de llegar estos mensajes porfa!!! > From: lova_luis en hotmail.com > To: python-es en aditel.org > Subject: RE: [Python-es] Problema con ventanas y servicios > Date: Thu, 29 Nov 2007 12:42:11 +0100 > > > Gracias por responder. Acostumbro a poner el asunto y trato que sea lo más claro y conciso posible. Pero...se me ha olvidado. Lo siento. Procuraré que no vuelva a ocurrir. > > A tu pregunta ... Sí, uso hilos. Cada vez que acepto un socket lo paso a un hilo para que lo procese. Además, una vez que tomo la cadena del cliente la paso a otro hilo para que lo muestre por pantalla, pero el problema persiste . Pego aquí parte del código: > > def procesa(conexion): #un hilo por cada conexion aceptada > texto=conexion.recv(1024) > conexion.close() > thread.start_new(ventana,(texto,)) #un hilo por ventana para evitar q se quede 'colgado' > > def ventana(texto): > #preparamos ventana que muestre el texto --------------- > ventana = Label(None,text=texto) > ventana.pack() > > #boton = Button(form,text="Aceptar",command=form.destroy) > #boton.pack(side="bottom") > ventana.mainloop() > #------------------------------------------------------------------------- > > > > Subject: Re: [Python-es] (sin asunto) > > From: a.porrua en gmail.com > > To: python-es en aditel.org > > Date: Thu, 29 Nov 2007 12:11:04 +0100 > > > > Para empezar acostúmbrate a poner Asunto a tus mensajes, hay muchos motivos muy buenos para hacerlo como por ejemplo no parecer un pardillo. > > > > El jue, 29-11-2007 a las 11:47 +0100, luis orellana orihuela escribió: > > > > > > Hola todos > > > > > > Estoy empezando con Python. Estoy tratando de hacer una aplicación cliente-servidor sencillita, lo primero que se despacha con sockets vamos, más concretamente es un cliente que envia texto por linea de comandos y el servidor lo muestra por pantalla. Me falta por depurar un par de aspectos: > > > > > > 1.- El texto que le llega al servidor quiero que se muestre en una ventanita. La ventanita sale pero si no la cierro y envío otro mensaje se me quedan como colgada las ventanas. ¿alguna forma de solucionarlo? pongo aquí el código que uso para mostrar por pantalla: > > > > > > from Tkinter import * > > > . > > > . > > > . > > > ventana = Label(None,text=texto) > > > ventana.pack() > > > #boton = Button(form,text="Aceptar",command=form.destroy) > > > #boton.pack(side="bottom") > > > ventana.mainloop() > > > > > > > ¿usas Threads? > > > > > En realidad querría que la venta fuese tipo winpopup usando el showinfo pero no me quedaba bien, siempre me quedaba una ventana de fonde del TKinter. > > > > TKinter es un poco limitado, yo prefiero Gtk porque soy del gnome (como > > quien es del Barça o del madrid), pero también hay muchos hulligans de > > Qt y de Wx. > > > > > 2.- Querría hacer el servidor ejecutable y ponerlo como servicio en XP para hacerlos correr en pc´s que no tuvieran python instalado. El ejecutable lo consigo hacer con el py2exe, después lo trato de poner como servicio con sc create y lo consigo, pero al iniciar el servicio me da el siguiente error: > > > > > > "No se puede iniciar el servicio "miprograma" en el equipo local. Error 1053: El servicio no ha respondido a la petición o inicio del control en un tiempo adecuado" > > > > > > ¿alguna solución o alternativa? > > > > Ese error me suena que los servicios tienen que implementar alguna > > interfaz. > > > > > > > > Gracias > > > > _________________________________________________________________ > Tecnología, moda, motor, viajes,?suscríbete a nuestros boletines para estar a la última > http://newsletters.msn.com/hm/maintenanceeses.asp?L=ES&C=ES&P=WCMaintenance&Brand=WL&RU=http%3a%2f%2fmail.live.com _________________________________________________________________ Express yourself instantly with MSN Messenger! Download today it's FREE! http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/ ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From alberto en toscat.net Sun Dec 2 01:12:56 2007 From: alberto en toscat.net (Alberto Valverde) Date: Sun, 02 Dec 2007 00:12:56 +0000 Subject: Problema con ventanas y servicios In-Reply-To: References: <1196334664.7383.7.camel@skynet> Message-ID: <4751F888.7030809@toscat.net> Gynni Potter Evans wrote: > > Quiero que me dejen de llegar estos mensajes porfa!!! No te vamos a dar de baja. Queremos que te lleguen absolutamente todos nuestros mensajes. Amigo, si te suscribiste no te puedes echar atrás. Yo te recomendaría dar de baja tu email y hacerte uno nuevo. Será más sencillo que pinchar en los enlaces que tienes en el pie de este mensaje, informarte tú solito y dejar de molestar al personal. Alberto ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From markuz en islascruz.org Sun Dec 2 02:08:37 2007 From: markuz en islascruz.org (Marco Antonio Islas Cruz) Date: Sat, 01 Dec 2007 19:08:37 -0600 Subject: Problema con ventanas y servicios In-Reply-To: <4751F888.7030809@toscat.net> References: <1196334664.7383.7.camel@skynet> <4751F888.7030809@toscat.net> Message-ID: <1196557717.7136.6.camel@cucusa> Adorable respuesta! On Sun, 2007-12-02 at 00:12 +0000, Alberto Valverde wrote: > Gynni Potter Evans wrote: > > > > Quiero que me dejen de llegar estos mensajes porfa!!! > > No te vamos a dar de baja. Queremos que te lleguen absolutamente todos > nuestros mensajes. Amigo, si te suscribiste no te puedes echar atrás. > > Yo te recomendaría dar de baja tu email y hacerte uno nuevo. Será más > sencillo que pinchar en los enlaces que tienes en el pie de este > mensaje, informarte tú solito y dejar de molestar al personal. > > Alberto > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes -- <--Linux... Because I'm Free--> Marco Antonio Islas Cruz "Markuz" Linux User #280229 markuz en islascruz.org markuz en unixmexico.org markuz en linuxpozarica.com marco.islas en gmail.com islacruz en yahoo.com http://www.islascruz.org http://sourceforge.net/projects/gpkg/ http://www.linuxpozarica.com ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part URL: ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From lasizoillo en gmail.com Mon Dec 3 01:39:41 2007 From: lasizoillo en gmail.com (lasizoillo) Date: Mon, 3 Dec 2007 01:39:41 +0100 Subject: simular teclado. In-Reply-To: References: <474D9DE9.8060505@ehas.org> Message-ID: <49414f570712021639t39ea6251s5c7aebcfbeb3298b@mail.gmail.com> Buenas: El 29/11/07, Dani escribió: > > > > > Ahora bien, ¿como envío por el PIPE códigos de teclas de función, si se > > ha > > > pulsado una flecha o la tecla enter?. > > > Fíjate en el método communicate() de la clase Popen en subprocess. > Con este truco puedes enviar datos tal como se enviarian por la entrada estandar, que normalmente implica recoger cosas de teclado, pero no lo estas garantizando. > > > Si no lo he entendido mal este método solo trabaja con cadenas. Crea un > objeto fichero que es la 'entrada' al PIPE hacia la aplicación que se ha > lanzado con Popen. El probema es que este pipe es tipo texto, y no se como > mandar los códigos de las teclas de flechas, función, retorno, etc... Creo > que para eso sería necesario un objeto fichero de tipo binario. Tengo > entendido que las teclas 'especiales' tienen un código de dos bytes, por > ejemplo F1 es (0,59), enter es (0,13) y flecha derecha (224,77). > Creo que el cómo envie en binario los datos el teclado a su correspondiente controlador no te va a servir de mucho :-( Quiza con alguna secuencia de escape... De todas formas yo no perdería mucho tiempo por ahí. > El código que más se parece a lo que quiero hacer es SendKeys[1], pero en > este precisamente la rutina de comunicación con la aplicación está escrita > en C. Además no se comunica con una aplicación que hayamos lanzado sino con > la ventana que tiene el control en ese momento. > Por lo que he visto, usa el API de windows para simular las pulsaciones. Y si no te importa usar el API de windows no hay problemas en usarlo tambien para ganar el foco a la ventana de la aplicación que has lanzado. Puedes simular tambien el ratón y lo que haga falta. Pero si vas a usar el API de windows creo que lo más facil es usar esto http://python.net/crew/mhammond/win32/ > ¿Alguien ha probado algo similar? Probe hace años python para ayudado del api de windows usar una aplicación (creo que era con el api del link). El usar ventanitas desde otro proceso es algo que no te va a permitir las X Windows si cambias a Linux o FreeBSD. Esa feature es algo que tenia (¿tiene?) windows para permitir hacer keyloggers y demás troyanos. Veo solución a tu problema, pero no una solución portable. :-( > Gracias. Espero que las merezca ;-) Salud y verduras: Javi _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From rbaquerizo en ehas.org Mon Dec 3 02:06:49 2007 From: rbaquerizo en ehas.org (Reynaldo Baquerizo Micheline) Date: Sun, 02 Dec 2007 20:06:49 -0500 Subject: simular teclado. In-Reply-To: <49414f570712021639t39ea6251s5c7aebcfbeb3298b@mail.gmail.com> References: <474D9DE9.8060505@ehas.org> <49414f570712021639t39ea6251s5c7aebcfbeb3298b@mail.gmail.com> Message-ID: <475356A9.9030700@ehas.org> lasizoillo escribió: > Buenas: > > El 29/11/07, Dani escribió: > >>>> Ahora bien, ¿como envío por el PIPE códigos de teclas de función, si se >>>> >>> ha >>> >>>> pulsado una flecha o la tecla enter?. >>>> >> Fíjate en el método communicate() de la clase Popen en subprocess. >> >> > > Con este truco puedes enviar datos tal como se enviarian por la > entrada estandar, que normalmente implica recoger cosas de teclado, > pero no lo estas garantizando. > > >> Si no lo he entendido mal este método solo trabaja con cadenas. Crea un >> objeto fichero que es la 'entrada' al PIPE hacia la aplicación que se ha >> lanzado con Popen. El probema es que este pipe es tipo texto, y no se como >> mandar los códigos de las teclas de flechas, función, retorno, etc... Creo >> que para eso sería necesario un objeto fichero de tipo binario. Tengo >> entendido que las teclas 'especiales' tienen un código de dos bytes, por >> ejemplo F1 es (0,59), enter es (0,13) y flecha derecha (224,77). >> >> > > Creo que el cómo envie en binario los datos el teclado a su > correspondiente controlador no te va a servir de mucho :-( > > Quiza con alguna secuencia de escape... De todas formas yo no perdería > mucho tiempo por ahí. > > >> El código que más se parece a lo que quiero hacer es SendKeys[1], pero en >> este precisamente la rutina de comunicación con la aplicación está escrita >> en C. Además no se comunica con una aplicación que hayamos lanzado sino con >> la ventana que tiene el control en ese momento. >> >> > > Por lo que he visto, usa el API de windows para simular las > pulsaciones. Y si no te importa usar el API de windows no hay > problemas en usarlo tambien para ganar el foco a la ventana de la > aplicación que has lanzado. Puedes simular tambien el ratón y lo que > haga falta. Pero si vas a usar el API de windows creo que lo más facil > es usar esto http://python.net/crew/mhammond/win32/ > > Tengo una duda con esto, el problema es, ¿cómo detectar las pulsaciones del teclado? o ¿cómo enviarlas? No te serviría pygame [1] para detectarlas? Tienes pensado enviar alguna otra cosa por la PIPE que no sean las pulsaciones del teclado? [1] http://www.pygame.org/docs/ref/key.html Saludos, >> ¿Alguien ha probado algo similar? >> > > Probe hace años python para ayudado del api de windows usar una > aplicación (creo que era con el api del link). El usar ventanitas > desde otro proceso es algo que no te va a permitir las X Windows si > cambias a Linux o FreeBSD. Esa feature es algo que tenia (¿tiene?) > windows para permitir hacer keyloggers y demás troyanos. > > Veo solución a tu problema, pero no una solución portable. :-( > > >> Gracias. >> > > Espero que las merezca ;-) > > > Salud y verduras: > > Javi > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From lova_luis en hotmail.com Mon Dec 3 12:08:29 2007 From: lova_luis en hotmail.com (luis orellana orihuela) Date: Mon, 3 Dec 2007 12:08:29 +0100 Subject: Crear ejecutable a partir de un .pyw Message-ID: Hola a todos! He usado el py2exe para crear ejecutables a partir de los script python y poder portarlo a otros pc's y todo ok. El problema es que ahora quiero pasar un pyw a ejecutable. Lo he hecho con el mismo py2exe y me genera el ejecutable, pero como si fuera un py, es decir, sale la consola, yo quiero que esa consola no aparezca, que se ejecute en modo backround vamos. ¿Alguna idea? Lo ideal sería poder ponerlo en modo servicio, pero ya me dí por vencido (por ahora) ya comenté en otro hilo el error que me daba. Gracias _________________________________________________________________ Tecnología, moda, motor, viajes,?suscríbete a nuestros boletines para estar a la última http://newsletters.msn.com/hm/maintenanceeses.asp?L=ES&C=ES&P=WCMaintenance&Brand=WL&RU=http%3a%2f%2fmail.live.com ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From lova_luis en hotmail.com Mon Dec 3 12:39:41 2007 From: lova_luis en hotmail.com (luis orellana orihuela) Date: Mon, 3 Dec 2007 12:39:41 +0100 Subject: Crear ejecutable a partir de un .pyw In-Reply-To: References: Message-ID: Uhmmm acabo de mirarlo mejor, ya sé cómo solucionarlo. El problema estaba en el fichero setup.py: Antes: from distutils.core import setup import py2exe setup(console=['C:\python25\sockets\servidor2.pyw']) Ahora: from distutils.core import setup import py2exe setup(windows=['Ruta del archivo.pyw']) El ejecutable funciona como deseo. Pero sigue habiendo el mismo problema al intentar ponerlo como servicio, es decir, el servicio se crea con sc create ... pero al iniciarlo da el error: No se puede iniciar el servicio "tal" en equipo local. Error 1053: El servicio no ha respondido a la peticion o inicio del control en un tiempo adecuado. > From: lova_luis en hotmail.com > To: python-es en aditel.org > Date: Mon, 3 Dec 2007 12:08:29 +0100 > Subject: [Python-es] Crear ejecutable a partir de un .pyw > > > Hola a todos! > > He usado el py2exe para crear ejecutables a partir de los script python y poder portarlo a otros pc's y todo ok. El problema es que ahora quiero pasar un pyw a ejecutable. Lo he hecho con el mismo py2exe y me genera el ejecutable, pero como si fuera un py, es decir, sale la consola, yo quiero que esa consola no aparezca, que se ejecute en modo backround vamos. ¿Alguna idea? Lo ideal sería poder ponerlo en modo servicio, pero ya me dí por vencido (por ahora) ya comenté en otro hilo el error que me daba. > > Gracias > > _________________________________________________________________ > Tecnología, moda, motor, viajes,?suscríbete a nuestros boletines para estar a la última > http://newsletters.msn.com/hm/maintenanceeses.asp?L=ES&C=ES&P=WCMaintenance&Brand=WL&RU=http%3a%2f%2fmail.live.com _________________________________________________________________ Tecnología, moda, motor, viajes,?suscríbete a nuestros boletines para estar a la última http://newsletters.msn.com/hm/maintenanceeses.asp?L=ES&C=ES&P=WCMaintenance&Brand=WL&RU=http%3a%2f%2fmail.live.com ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From a.porrua en gmail.com Mon Dec 3 13:22:04 2007 From: a.porrua en gmail.com (tny) Date: Mon, 03 Dec 2007 13:22:04 +0100 Subject: Crear ejecutable a partir de un .pyw In-Reply-To: References: Message-ID: <1196684525.8931.7.camel@skynet> El lun, 03-12-2007 a las 12:39 +0100, luis orellana orihuela escribió: > Uhmmm acabo de mirarlo mejor, ya sé cómo solucionarlo. El problema estaba en el fichero setup.py: > > Antes: > > from distutils.core import setup > import py2exe > > setup(console=['C:\python25\sockets\servidor2.pyw']) > > Ahora: > > from distutils.core import setup > import py2exe > > setup(windows=['Ruta del archivo.pyw']) > > El ejecutable funciona como deseo. Pero sigue habiendo el mismo problema al intentar ponerlo como servicio, es decir, el servicio se crea con sc create ... pero al iniciarlo da el error: > > No se puede iniciar el servicio "tal" en equipo local. > Error 1053: El servicio no ha respondido a la peticion o inicio del control en un tiempo adecuado. Eso me suena a que los servicios deben implementar alguna interface. http://agiletesting.blogspot.com/2005/09/running-python-script-as-windows.html ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pych3m4 en gmail.com Mon Dec 3 14:44:52 2007 From: pych3m4 en gmail.com (Chema Cortes) Date: Mon, 3 Dec 2007 14:44:52 +0100 Subject: Crear ejecutable a partir de un .pyw In-Reply-To: References: Message-ID: <2c9fb0dd0712030544u5181a5f2l42e3b3f0e20a7b18@mail.gmail.com> El 3/12/07, luis orellana orihuela escribió: > El ejecutable funciona como deseo. Pero sigue habiendo el mismo problema al intentar ponerlo como servicio, es decir, el servicio se crea con sc create ... pero al iniciarlo da el error: > > No se puede iniciar el servicio "tal" en equipo local. > Error 1053: El servicio no ha respondido a la peticion o inicio del control en un tiempo adecuado. Da la impresión que quieras ejecutar un script como servicio sin más, sin seguir la API de windows para estas cosas. Mírate este artículo por si te ayuda en algo: http://essiene.blogspot.com/2005/04/python-windows-services.html _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From a.porrua en gmail.com Mon Dec 3 17:22:30 2007 From: a.porrua en gmail.com (tny) Date: Mon, 03 Dec 2007 17:22:30 +0100 Subject: creacion de paquetes .deb y disutils Message-ID: <1196698950.10746.4.camel@skynet> Quiero hacer paquetes tanto para aplicaciones como para librerías. ¿debería hacer que el .deb copiara y ejecutara un setup.py en /tmp? ¿es mejor que se encargue el .deb de meter todos los archivos en sus sitios correspondientes? en ese caso: ¿como hago para saber si tengo que meter las librerías en spython2.5 o python2.4? ¿hago un paquete para cada versión de python? Sigo buscando. gracias. ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pyarnau en gmail.com Mon Dec 3 17:39:14 2007 From: pyarnau en gmail.com (Arnau Sanchez) Date: Mon, 03 Dec 2007 17:39:14 +0100 Subject: creacion de paquetes .deb y disutils In-Reply-To: <1196698950.10746.4.camel@skynet> References: <1196698950.10746.4.camel@skynet> Message-ID: <47543132.1020900@gmail.com> tny escribió: > Quiero hacer paquetes tanto para aplicaciones como para librerías. > > ¿debería hacer que el .deb copiara y ejecutara un setup.py en /tmp? > > ¿es mejor que se encargue el .deb de meter todos los archivos en sus > sitios correspondientes? > en ese caso: ¿como hago para saber si tengo que meter las librerías en > spython2.5 o python2.4? Nada de eso no se hace a mano. Una vez acabas el setup.py (que debe ser capaz de instalarlo todo), tienes dos librerías para empaquetarlo en Debian: python-central y python-support: http://wiki.debian.org/DebianPython/NewPolicy Te aconsejaría que bajaras las fuentes de los paquetes que se indican como modelos en la guía, y vieras cómo lo hacen. Personalmente uso pycentral, pero es cuestión de gustos. Aquí tienes una guía con pycentral en castellano: http://crysol.inf-cr.uclm.es/node/325 arnau ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From lova_luis en hotmail.com Mon Dec 3 23:34:24 2007 From: lova_luis en hotmail.com (luis orellana orihuela) Date: Mon, 3 Dec 2007 23:34:24 +0100 Subject: Crear ejecutable a partir de un .pyw In-Reply-To: <2c9fb0dd0712030544u5181a5f2l42e3b3f0e20a7b18@mail.gmail.com> References: <2c9fb0dd0712030544u5181a5f2l42e3b3f0e20a7b18@mail.gmail.com> Message-ID: Gracias Chema y tny ... pero, esos enlaces que me habeis enviado, si no he entendido mal (es mu probable q haya entendido mal, soy un bolo en inglés), son para poner el script python como servicio. Pero el caso es que yo primero quiero crear un ejecutable a partir del script y después hacerlo correr como servicio para poder ejecutarlo en cualquier W$ que no tenga python instalado. El ejecutable lo creo, pero al ponerlo como oservicio me da el error que comentaba.> Date: Mon, 3 Dec 2007 14:44:52 +0100> From: pych3m4 en gmail.com> To: python-es en aditel.org> Subject: Re: [Python-es] Crear ejecutable a partir de un .pyw> > El 3/12/07, luis orellana orihuela escribió:> > > El ejecutable funciona como deseo. Pero sigue habiendo el mismo problema al intentar ponerlo como servicio, es decir, el servicio se crea con sc create ... pero al iniciarlo da el error:> >> > No se puede iniciar el servicio "tal" en equipo local.> > Error 1053: El servicio no ha respondido a la peticion o inicio del control en un tiempo adecuado.> > Da la impresión que quieras ejecutar un script como servicio sin más,> sin seguir la API de windows para estas cosas.> > Mírate este artículo por si te ayuda en algo:> http://essiene.blogspot.com/2005/04/python-windows-services.html> _______________________________________________> Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es> FAQ: http://listas.aditel.org/faqpyes _________________________________________________________________ Tecnología, moda, motor, viajes,?suscríbete a nuestros boletines para estar a la última http://newsletters.msn.com/hm/maintenanceeses.asp?L=ES&C=ES&P=WCMaintenance&Brand=WL&RU=http%3a%2f%2fmail.live.com ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pych3m4 en gmail.com Tue Dec 4 01:25:21 2007 From: pych3m4 en gmail.com (Chema Cortes) Date: Tue, 4 Dec 2007 01:25:21 +0100 Subject: Crear ejecutable a partir de un .pyw In-Reply-To: References: <2c9fb0dd0712030544u5181a5f2l42e3b3f0e20a7b18@mail.gmail.com> Message-ID: <2c9fb0dd0712031625o5e80bae8p8eb37ec8493d1dbc@mail.gmail.com> El 3/12/07, luis orellana orihuela escribió: > > Gracias Chema y tny ... pero, esos enlaces que me habeis enviado, si no he entendido mal (es mu probable q haya entendido mal, soy un bolo en inglés), son para poner el script python como servicio. Pero el caso es que yo primero quiero crear un ejecutable a partir del script y después hacerlo correr como servicio para poder ejecutarlo en cualquier W$ que no tenga python instalado. El ejecutable lo creo, pero al ponerlo como oservicio me da el error que comentaba. Esos enlaces son para que crear servicios en python. Tal vez estás pensando que los servicios como como los "daemons" de linux y no es así. Los servicios tienen que responder a una serie de llamadas de la API de windows, que es el motivo por el que windows rechaza tu script por no responder a la inicialización. No hay mucha documentación sobre el tema, así que te tendrás que apañar con el enlace que te he pasado. Si lo estás haciendo correctamente, según la API, tal vez deberías poner algo de código para saber porqué te falla y/o orientarte. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From gagsl-py2 en yahoo.com.ar Tue Dec 4 04:46:35 2007 From: gagsl-py2 en yahoo.com.ar (Gabriel Genellina) Date: Tue, 04 Dec 2007 00:46:35 -0300 Subject: Crear ejecutable a partir de un .pyw References: <2c9fb0dd0712030544u5181a5f2l42e3b3f0e20a7b18@mail.gmail.com> <2c9fb0dd0712031625o5e80bae8p8eb37ec8493d1dbc@mail.gmail.com> Message-ID: En Mon, 03 Dec 2007 21:25:21 -0300, Chema Cortes escribió: > El 3/12/07, luis orellana orihuela escribió: >> >> Gracias Chema y tny ... pero, esos enlaces que me habeis enviado, si >> no he entendido mal (es mu probable q haya entendido mal, soy un bolo >> en inglés), son para poner el script python como servicio. Pero el caso >> es que yo primero quiero crear un ejecutable a partir del script y >> después hacerlo correr como servicio para poder ejecutarlo en cualquier >> W$ que no tenga python instalado. El ejecutable lo creo, pero al >> ponerlo como oservicio me da el error que comentaba. > > Esos enlaces son para que crear servicios en python. Tal vez estás > pensando que los servicios como como los "daemons" de linux y no es > así. Los servicios tienen que responder a una serie de llamadas de la > API de windows, que es el motivo por el que windows rechaza tu script > por no responder a la inicialización. Para ponerlo aún más claro: *primero* deberías lograr que tu script funcione como servicio, siguiendo las instrucciones de los links que te dieron por aquí. Y sólo *después* que tu servicio esté funcionando correctamente, usar py2exe para generar el ejecutable final. -- Gabriel Genellina ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From damufo en gmail.com Tue Dec 4 10:55:30 2007 From: damufo en gmail.com (damufo) Date: Tue, 04 Dec 2007 10:55:30 +0100 Subject: agrupar wx radiobutton Message-ID: <47552412.60404@gmail.com> Hola: uso wx (en xp) y tengo un dialog en el que quiero poner cuatro radiobutton dos por un lado y dos por el otro. El caso es que al marcar uno desmarca otro como si los cuatro fuesen un grupo. He probado a poner dos dentro de un panel y nada al marcar un desmarca todos los demais. Alguien sabe como hacer para poder hacer grupos? Saludos y gracias damufo ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From listas en soft-com.es Tue Dec 4 12:06:08 2007 From: listas en soft-com.es (=?ISO-8859-15?Q?Oswaldo_Hern=E1ndez?=) Date: Tue, 04 Dec 2007 12:06:08 +0100 Subject: agrupar wx radiobutton In-Reply-To: <47552412.60404@gmail.com> References: <47552412.60404@gmail.com> Message-ID: <475534A0.3020606@soft-com.es> damufo escribió: > Hola: > uso wx (en xp) y tengo un dialog en el que quiero poner cuatro > radiobutton dos por un lado y dos por el otro. > El caso es que al marcar uno desmarca otro como si los cuatro fuesen un > grupo. > He probado a poner dos dentro de un panel y nada al marcar un desmarca > todos los demais. > Alguien sabe como hacer para poder hacer grupos? wxRadioBox te hace un grupo completo de botones. Pero si prefieres crearlos manualmente con wxRadioButton, tiemes que especificar en el *primero* de cada grupo style=wx.RB_GROUP. Saludos -- ***************************************** Oswaldo Hernández oswaldo (@) soft-com (.) es ***************************************** ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From damufo en gmail.com Tue Dec 4 13:41:46 2007 From: damufo en gmail.com (damufo) Date: Tue, 04 Dec 2007 13:41:46 +0100 Subject: agrupar wx radiobutton In-Reply-To: <475534A0.3020606@soft-com.es> References: <47552412.60404@gmail.com> <475534A0.3020606@soft-com.es> Message-ID: <47554B0A.6070107@gmail.com> Muchas gracias Estuve investigando un poco mas y en el orden de creación al poner style=wx.RB_GROUP a partir de ese crea un grupo por lo que en principio con esto me sirve. De todos modos tendré en cuenta lo de los radiobox. Alguien a usado los radiobox con boa constructor? por defecto no vienen en la lista de controles. Saludos damufo Oswaldo Hernández escribiu: > damufo escribió: >> Hola: >> uso wx (en xp) y tengo un dialog en el que quiero poner cuatro >> radiobutton dos por un lado y dos por el otro. >> El caso es que al marcar uno desmarca otro como si los cuatro fuesen >> un grupo. >> He probado a poner dos dentro de un panel y nada al marcar un desmarca >> todos los demais. >> Alguien sabe como hacer para poder hacer grupos? > > wxRadioBox te hace un grupo completo de botones. Pero si prefieres > crearlos manualmente con wxRadioButton, tiemes que especificar en el > *primero* de cada grupo style=wx.RB_GROUP. > > Saludos > > > > ------------------------------------------------------------------------ > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From jim2k7 en gmail.com Tue Dec 4 14:01:58 2007 From: jim2k7 en gmail.com (Jaime Ibar) Date: Tue, 4 Dec 2007 14:01:58 +0100 Subject: agrupar wx radiobutton In-Reply-To: <47554B0A.6070107@gmail.com> References: <47552412.60404@gmail.com> <475534A0.3020606@soft-com.es> <47554B0A.6070107@gmail.com> Message-ID: En la pestaña de Controles Básicos si que salen. 2007/12/4, damufo : > > Muchas gracias > Estuve investigando un poco mas y en el orden de creación al poner > style=wx.RB_GROUP a partir de ese crea un grupo por lo que en principio > con esto me sirve. > > De todos modos tendré en cuenta lo de los radiobox. > Alguien a usado los radiobox con boa constructor? por defecto no vienen > en la lista de controles. > Saludos > damufo > > > Oswaldo Hernández escribiu: > > damufo escribió: > >> Hola: > >> uso wx (en xp) y tengo un dialog en el que quiero poner cuatro > >> radiobutton dos por un lado y dos por el otro. > >> El caso es que al marcar uno desmarca otro como si los cuatro fuesen > >> un grupo. > >> He probado a poner dos dentro de un panel y nada al marcar un desmarca > >> todos los demais. > >> Alguien sabe como hacer para poder hacer grupos? > > > > wxRadioBox te hace un grupo completo de botones. Pero si prefieres > > crearlos manualmente con wxRadioButton, tiemes que especificar en el > > *primero* de cada grupo style=wx.RB_GROUP. > > > > Saludos > > > > > > > > ------------------------------------------------------------------------ > > > > _______________________________________________ > > Lista de correo Python-es > > http://listas.aditel.org/listinfo/python-es > > FAQ: http://listas.aditel.org/faqpyes > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- salu2 Jaime ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From juanma en mailmadrid.com Tue Dec 4 14:26:48 2007 From: juanma en mailmadrid.com (Juan Manuel Ruiz Garcia) Date: Tue, 4 Dec 2007 14:26:48 +0100 (CET) Subject: Crear ejecutable a partir de un .pyw In-Reply-To: References: <2c9fb0dd0712030544u5181a5f2l42e3b3f0e20a7b18@mail.gmail.com> <2c9fb0dd0712031625o5e80bae8p8eb37ec8493d1dbc@mail.gmail.com> Message-ID: <52301.193.41.227.4.1196774808.squirrel@mail.mailmadrid.com> Hola, otra opción, aunque bastant más cutre (desde luego off-python) es tirar de las utilidades de Windows "INSTSRV" y "SRVANY" que permiten hacer correr como servicio un ejecutable "cualquiera". Yo lo he usado precisamente para ficheros exe generados con py2exe y me lleva funcionando desde hace años sin un problema. Dime si te puedo interesar esta solución y te dejo una receta que me escribí para repetirla si me hacía falta. Un saludo >>> Gracias Chema y tny ... pero, esos enlaces que me habeis enviado, si >>> no he entendido mal (es mu probable q haya entendido mal, soy un bolo >>> en inglés), son para poner el script python como servicio. Pero el caso >>> es que yo primero quiero crear un ejecutable a partir del script y >>> después hacerlo correr como servicio para poder ejecutarlo en cualquier >>> W$ que no tenga python instalado. El ejecutable lo creo, pero al >>> ponerlo como oservicio me da el error que comentaba. >> >> Esos enlaces son para que crear servicios en python. Tal vez estás >> pensando que los servicios como como los "daemons" de linux y no es >> así. Los servicios tienen que responder a una serie de llamadas de la >> API de windows, que es el motivo por el que windows rechaza tu script >> por no responder a la inicialización. > > Para ponerlo aún más claro: *primero* deberías lograr que tu script > funcione como servicio, siguiendo las instrucciones de los links que te > dieron por aquí. Y sólo *después* que tu servicio esté funcionando > correctamente, usar py2exe para generar el ejecutable final. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From jrvilda en gmail.com Tue Dec 4 15:52:57 2007 From: jrvilda en gmail.com (Josu Rodriguez) Date: Tue, 4 Dec 2007 15:52:57 +0100 Subject: ejecutable de linux Message-ID: Hola buenas, Estoy haciendo un programita, el cual me gustaría que fuese multiplataforma, pero también me gustaría que no se viese el código. Se que para windows esta py2exe, pero: ¿Existe alguna forma de hacer lo mismo en linux?, Crear un .bin, y que sin necesidad de python instalado en el equipo, pues que funcione. ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From alfonsodg en gmail.com Tue Dec 4 15:57:15 2007 From: alfonsodg en gmail.com (Alfonso de la Guarda) Date: Tue, 4 Dec 2007 09:57:15 -0500 Subject: ejecutable de linux In-Reply-To: References: Message-ID: Hola, http://cx-freeze.sourceforge.net/ Saludos, On Dec 4, 2007 9:52 AM, Josu Rodriguez wrote: > Hola buenas, > > Estoy haciendo un programita, el cual me gustaría que fuese > multiplataforma, > pero también me gustaría que no se viese el código. > Se que para windows esta py2exe, pero: > > ¿Existe alguna forma de hacer lo mismo en linux?, > Crear un .bin, y que sin necesidad de python instalado en el equipo, pues > que funcione. > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- -------------------------------- Alfonso de la Guarda ICTEC SAC www.cos-la.org www.delaguarda.info Telef. 97550914 4726906 _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From mauroka en gmail.com Tue Dec 4 16:11:23 2007 From: mauroka en gmail.com (=?ISO-8859-1?Q?Mauro_S=E1nchez?=) Date: Tue, 4 Dec 2007 12:11:23 -0300 Subject: ejecutable de linux In-Reply-To: References: Message-ID: <3c924a250712040711o5e12e8a5gbe9d6f22e04ec1c@mail.gmail.com> El 4/12/07, Josu Rodriguez escribió: > Hola buenas, > > Estoy haciendo un programita, el cual me gustaría que fuese multiplataforma, > pero también me gustaría que no se viese el código. > Se que para windows esta py2exe, pero: > > ¿Existe alguna forma de hacer lo mismo en linux?, > Crear un .bin, y que sin necesidad de python instalado en el equipo, pues > que funcione. > Podés probar con PyInstaller http://pyinstaller.python-hosting.com/ Saludos. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From damufo en gmail.com Tue Dec 4 16:44:00 2007 From: damufo en gmail.com (damufo) Date: Tue, 04 Dec 2007 16:44:00 +0100 Subject: agrupar wx radiobutton In-Reply-To: References: <47552412.60404@gmail.com> <475534A0.3020606@soft-com.es> <47554B0A.6070107@gmail.com> Message-ID: <475575C0.9020201@gmail.com> Ojo, me refiero a radiobox (no aparece), el radiobutton si aparece. Yo tengo la versión 0.61 y a mi no me aparece. Investigaré a ver si se como añadirlo. Jaime Ibar escribiu: > En la pestaña de Controles Básicos si que salen. > > 2007/12/4, damufo : >> Muchas gracias >> Estuve investigando un poco mas y en el orden de creación al poner >> style=wx.RB_GROUP a partir de ese crea un grupo por lo que en principio >> con esto me sirve. >> >> De todos modos tendré en cuenta lo de los radiobox. >> Alguien a usado los radiobox con boa constructor? por defecto no vienen >> en la lista de controles. >> Saludos >> damufo >> >> >> Oswaldo Hernández escribiu: >>> damufo escribió: >>>> Hola: >>>> uso wx (en xp) y tengo un dialog en el que quiero poner cuatro >>>> radiobutton dos por un lado y dos por el otro. >>>> El caso es que al marcar uno desmarca otro como si los cuatro fuesen >>>> un grupo. >>>> He probado a poner dos dentro de un panel y nada al marcar un desmarca >>>> todos los demais. >>>> Alguien sabe como hacer para poder hacer grupos? >>> wxRadioBox te hace un grupo completo de botones. Pero si prefieres >>> crearlos manualmente con wxRadioButton, tiemes que especificar en el >>> *primero* de cada grupo style=wx.RB_GROUP. >>> >>> Saludos >>> >>> >>> >>> ------------------------------------------------------------------------ >>> >>> _______________________________________________ >>> Lista de correo Python-es >>> http://listas.aditel.org/listinfo/python-es >>> FAQ: http://listas.aditel.org/faqpyes >> _______________________________________________ >> Lista de correo Python-es >> http://listas.aditel.org/listinfo/python-es >> FAQ: http://listas.aditel.org/faqpyes >> > > > > > ------------------------------------------------------------------------ > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From mlacunza en gmail.com Tue Dec 4 16:52:07 2007 From: mlacunza en gmail.com (Mario Lacunza) Date: Tue, 4 Dec 2007 10:52:07 -0500 Subject: agrupar wx radiobutton In-Reply-To: <475575C0.9020201@gmail.com> References: <47552412.60404@gmail.com> <475534A0.3020606@soft-com.es> <47554B0A.6070107@gmail.com> <475575C0.9020201@gmail.com> Message-ID: <771741b20712040752l370857c3jd5f092c81149d03b@mail.gmail.com> No es necesario, te aparece en el tab "Controles de Lista"... El día 4/12/07, damufo escribió: > > Ojo, me refiero a radiobox (no aparece), el radiobutton si aparece. Yo > tengo la versión 0.61 y a mi no me aparece. Investigaré a ver si se como > añadirlo. > > > Jaime Ibar escribiu: > > En la pestaña de Controles Básicos si que salen. > > > > 2007/12/4, damufo : > >> Muchas gracias > >> Estuve investigando un poco mas y en el orden de creación al poner > >> style=wx.RB_GROUP a partir de ese crea un grupo por lo que en principio > >> con esto me sirve. > >> > >> De todos modos tendré en cuenta lo de los radiobox. > >> Alguien a usado los radiobox con boa constructor? por defecto no vienen > >> en la lista de controles. > >> Saludos > >> damufo > >> > >> > >> Oswaldo Hernández escribiu: > >>> damufo escribió: > >>>> Hola: > >>>> uso wx (en xp) y tengo un dialog en el que quiero poner cuatro > >>>> radiobutton dos por un lado y dos por el otro. > >>>> El caso es que al marcar uno desmarca otro como si los cuatro fuesen > >>>> un grupo. > >>>> He probado a poner dos dentro de un panel y nada al marcar un > desmarca > >>>> todos los demais. > >>>> Alguien sabe como hacer para poder hacer grupos? > >>> wxRadioBox te hace un grupo completo de botones. Pero si prefieres > >>> crearlos manualmente con wxRadioButton, tiemes que especificar en el > >>> *primero* de cada grupo style=wx.RB_GROUP. > >>> > >>> Saludos > >>> > >>> > >>> > >>> > ------------------------------------------------------------------------ > >>> > >>> _______________________________________________ > >>> Lista de correo Python-es > >>> http://listas.aditel.org/listinfo/python-es > >>> FAQ: http://listas.aditel.org/faqpyes > >> _______________________________________________ > >> Lista de correo Python-es > >> http://listas.aditel.org/listinfo/python-es > >> FAQ: http://listas.aditel.org/faqpyes > >> > > > > > > > > > > ------------------------------------------------------------------------ > > > > _______________________________________________ > > Lista de correo Python-es > > http://listas.aditel.org/listinfo/python-es > > FAQ: http://listas.aditel.org/faqpyes > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Saludos / Best regards Mario Lacunza Desarrollador de Sistemas - Webmaster Desarrollador 2 Estrellas VS2005 Email: mlacunza [AT] gmail [DOT] com Website: mlacunzav[DOT]cogia[DOT]net Blog: http://mlacunza.blogspot.com/ Lima - Peru _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From andros en troxa.com Tue Dec 4 17:45:56 2007 From: andros en troxa.com (Andros) Date: Tue, 04 Dec 2007 17:45:56 +0100 Subject: (sin asunto) Message-ID: <47558444.70404@troxa.com> _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From carlosfvo en gmail.com Tue Dec 4 18:57:50 2007 From: carlosfvo en gmail.com (carlos villa) Date: Tue, 4 Dec 2007 12:57:50 -0500 Subject: wing IDE Message-ID: <629497540712040957p4c915fe7m66e0fe7e48ae45de@mail.gmail.com> alguien tiene la version full o sabe donde encontrarla de------------>wing IDE para python ??? es de la empresa wingware.com. gracias. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From dmlistapython en gmail.com Tue Dec 4 19:53:23 2007 From: dmlistapython en gmail.com (Daniel Malisani) Date: Tue, 4 Dec 2007 15:53:23 -0300 Subject: wing IDE In-Reply-To: <629497540712040957p4c915fe7m66e0fe7e48ae45de@mail.gmail.com> References: <629497540712040957p4c915fe7m66e0fe7e48ae45de@mail.gmail.com> Message-ID: <9fccc670712041053y4a82a81enae273c9b6ceacc09@mail.gmail.com> El día 4/12/07, carlos villa escribió: > > alguien tiene la version full o sabe donde encontrarla > de------------>wing IDE para python ??? > es de la empresa wingware.com. > > > gracias. > _______________________________________________ La versión full, la podés comprar en wingware.com. Porque no es libre. ¿no andarás buscando una copia pirata? si es así... creo que esta lista no te va a servir _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From lova_luis en hotmail.com Tue Dec 4 20:06:41 2007 From: lova_luis en hotmail.com (luis orellana orihuela) Date: Tue, 4 Dec 2007 20:06:41 +0100 Subject: Crear ejecutable a partir de un .pyw In-Reply-To: <52301.193.41.227.4.1196774808.squirrel@mail.mailmadrid.com> References: <2c9fb0dd0712030544u5181a5f2l42e3b3f0e20a7b18@mail.gmail.com> <2c9fb0dd0712031625o5e80bae8p8eb37ec8493d1dbc@mail.gmail.com> <52301.193.41.227.4.1196774808.squirrel@mail.mailmadrid.com> Message-ID: Buenas, La verdad es que suena bien. Si no te importa me gustaría conocer de esa técnica y probarla. Pásame esa receta y pruebo. También probaré con el método Python que sugirieron los amigos. Muchas Gracias> Hola,> > otra opción, aunque bastant más cutre (desde luego off-python) es tirar de> las utilidades de Windows "INSTSRV" y "SRVANY" que permiten hacer correr> como servicio un ejecutable "cualquiera". Yo lo he usado precisamente para> ficheros exe generados con py2exe y me lleva funcionando desde hace años> sin un problema.> > Dime si te puedo interesar esta solución y te dejo una receta que me> escribí para repetirla si me hacía falta.> > Un saludo> > > >>> Gracias Chema y tny ... pero, esos enlaces que me habeis enviado, si> >>> no he entendido mal (es mu probable q haya entendido mal, soy un bolo> >>> en inglés), son para poner el script python como servicio. Pero el caso> >>> es que yo primero quiero crear un ejecutable a partir del script y> >>> después hacerlo correr como servicio para poder ejecutarlo en cualquier> >>> W$ que no tenga python instalado. El ejecutable lo creo, pero al> >>> ponerlo como oservicio me da el error que comentaba.> >>> >> Esos enlaces son para que crear servicios en python. Tal vez estás> >> pensando que los servicios como como los "daemons" de linux y no es> >> así. Los servicios tienen que responder a una serie de llamadas de la> >> API de windows, que es el motivo por el que windows rechaza tu script> >> por no responder a la inicialización.> >> > Para ponerlo aún más claro: *primero* deberías lograr que tu script> > funcione como servicio, siguiendo las instrucciones de los links que te> > dieron por aquí. Y sólo *después* que tu servicio esté funcionando> > correctamente, usar py2exe para generar el ejecutable final.> > > _______________________________________________> Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es> FAQ: http://listas.aditel.org/faqpyes _________________________________________________________________ Tecnología, moda, motor, viajes,?suscríbete a nuestros boletines para estar a la última http://newsletters.msn.com/hm/maintenanceeses.asp?L=ES&C=ES&P=WCMaintenance&Brand=WL&RU=http%3a%2f%2fmail.live.com ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From carlosfvo en gmail.com Tue Dec 4 20:34:04 2007 From: carlosfvo en gmail.com (carlos villa) Date: Tue, 4 Dec 2007 14:34:04 -0500 Subject: conexion SQLite3 Message-ID: <629497540712041134i64c1b79l67f4b0d424fa43b2@mail.gmail.com> que tal estoy tratanto de conectarme mediante SQLlite3 python 2.5 en windows xp y mysqlserver 5.0 pero pues las bases de datos en server aparecen como carpetas no hay ninguna extension para referirse a ellas como los ejemplos que veoo en todas partes alguien sabe como conectarse o alguien tiene algun ejemplo???? from sqlite3 import dbapi2 as sqlite conn = sqlite3.connect ("bandas.db") -----> aqui no se como hacerleeee. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From carlosfvo en gmail.com Tue Dec 4 20:40:58 2007 From: carlosfvo en gmail.com (carlos villa) Date: Tue, 4 Dec 2007 14:40:58 -0500 Subject: Fwd: wing IDE In-Reply-To: <9fccc670712041053y4a82a81enae273c9b6ceacc09@mail.gmail.com> References: <629497540712040957p4c915fe7m66e0fe7e48ae45de@mail.gmail.com> <9fccc670712041053y4a82a81enae273c9b6ceacc09@mail.gmail.com> Message-ID: <629497540712041140wf0cf195t333980665c861df5@mail.gmail.com> tal vez alguien tengo el crack de alguna version agradeceria lo compartiera o alguna version funcional no demo ni sheraware..... ---------- Forwarded message ---------- From: Daniel Malisani Date: 04-dic-2007 13:53 Subject: Re: [Python-es] wing IDE To: Lista de discusión sobre python en castellano El día 4/12/07, carlos villa escribió: > > alguien tiene la version full o sabe donde encontrarla > de------------>wing IDE para python ??? > es de la empresa wingware.com. > > > gracias. > _______________________________________________ La versión full, la podés comprar en wingware.com. Porque no es libre. ¿no andarás buscando una copia pirata? si es así... creo que esta lista no te va a servir _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pyarnau en gmail.com Tue Dec 4 21:11:42 2007 From: pyarnau en gmail.com (Arnau Sanchez) Date: Tue, 04 Dec 2007 21:11:42 +0100 Subject: Fwd: wing IDE In-Reply-To: <629497540712041140wf0cf195t333980665c861df5@mail.gmail.com> References: <629497540712040957p4c915fe7m66e0fe7e48ae45de@mail.gmail.com> <9fccc670712041053y4a82a81enae273c9b6ceacc09@mail.gmail.com> <629497540712041140wf0cf195t333980665c861df5@mail.gmail.com> Message-ID: <4755B47E.1070008@gmail.com> carlos villa escribió: > tal vez alguien tengo el crack de alguna version agradeceria lo > compartiera o alguna version funcional no demo ni sheraware..... Casualmente tienes la respuesta en un apartado ligado al FAQ: http://pythonesfaq.k-rolus.net/comopreguntar/ "No preguntes o hagas referencias a cracks o números de series: además de ilegal, es de bastante mal gusto. Especialmente, a la gente a la que le importa el software libre este tema le repatea. Si quieres usar un programa propietario y no puedes pagarlo, búscate la vida en los miles de sitios web que se dedican a ello." No quiero ni imaginar el día en que en esta lista se empezaran a dar cracks o serials. arnau _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From rbaquerizo en ehas.org Tue Dec 4 21:36:19 2007 From: rbaquerizo en ehas.org (Reynaldo Baquerizo Micheline) Date: Tue, 04 Dec 2007 15:36:19 -0500 Subject: conexion SQLite3 In-Reply-To: <629497540712041134i64c1b79l67f4b0d424fa43b2@mail.gmail.com> References: <629497540712041134i64c1b79l67f4b0d424fa43b2@mail.gmail.com> Message-ID: <4755BA43.8000204@ehas.org> carlos villa escribió: > que tal estoy tratanto de conectarme mediante SQLlite3 python 2.5 en > windows xp y mysqlserver 5.0 pero pues las bases de datos en server > aparecen como carpetas no hay ninguna extension para referirse a ellas > como los ejemplos que veoo en todas partes alguien sabe como > conectarse o alguien tiene algun ejemplo???? > > from sqlite3 import dbapi2 as sqlite > conn = sqlite3.connect ("bandas.db") -----> aqui no se como hacerleeee. > sqlite y mysql son dos implementaciones distintas de sql, aunque tienen idiomas similares sus bases de datos son distinas y por tanto no puedes acceder a una base de datos de mysql desde sqlite y viceversa. Existen; sin embargo, herramientas para migrar bases de datos mysql a sqlite. Para conectarte a una base de sqlite tienes que crear la base de datos primero > sqlite3 bandas.db y luego puedes conectarte a ella. > import sqlite3 > conn = sqlite3.connect("bandas.db") o crear una base de datos en memoria ram > conn = sqlite3.connect(":memory:") lo demás dependerá de lo que quieras hacer. Si aún requieres acceder a una base de datos mysql fíjate en http://dev.mysql.com/doc/refman/5.0/en/mysqldump.html Referencias: http://www.initd.org/pub/software/pysqlite/doc/usage-guide.html http://docs.python.org/lib/module-sqlite3.html _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From rbaquerizo en ehas.org Tue Dec 4 21:49:42 2007 From: rbaquerizo en ehas.org (Reynaldo Baquerizo Micheline) Date: Tue, 04 Dec 2007 15:49:42 -0500 Subject: conexion SQLite3 In-Reply-To: <4755BA43.8000204@ehas.org> References: <629497540712041134i64c1b79l67f4b0d424fa43b2@mail.gmail.com> <4755BA43.8000204@ehas.org> Message-ID: <4755BD66.20906@ehas.org> Reynaldo Baquerizo Micheline escribió: > carlos villa escribió: >> que tal estoy tratanto de conectarme mediante SQLlite3 python 2.5 en >> windows xp y mysqlserver 5.0 pero pues las bases de datos en server >> aparecen como carpetas no hay ninguna extension para referirse a ellas >> como los ejemplos que veoo en todas partes alguien sabe como >> conectarse o alguien tiene algun ejemplo???? >> >> from sqlite3 import dbapi2 as sqlite >> conn = sqlite3.connect ("bandas.db") -----> aqui no se como hacerleeee. >> > sqlite y mysql son dos implementaciones distintas de sql, aunque > tienen idiomas similares sus bases de datos son distinas y por tanto > no puedes acceder a una base de datos de mysql desde sqlite y > viceversa. Existen; sin embargo, herramientas para migrar bases de > datos mysql a sqlite. > > Para conectarte a una base de sqlite tienes que crear la base de datos > primero > > > sqlite3 bandas.db > en realidad no es necesario que la crees, al hacer 'connect' crea la base de datos si no existe ya. > y luego puedes conectarte a ella. > > > import sqlite3 > > conn = sqlite3.connect("bandas.db") > > o crear una base de datos en memoria ram > > > conn = sqlite3.connect(":memory:") > > lo demás dependerá de lo que quieras hacer. > > Si aún requieres acceder a una base de datos mysql fíjate en > http://dev.mysql.com/doc/refman/5.0/en/mysqldump.html > olvidé decir que myslqdump es útil si quieres migrar a otras bd sql > > Referencias: > http://www.initd.org/pub/software/pysqlite/doc/usage-guide.html > http://docs.python.org/lib/module-sqlite3.html > > _______________________________________________ > Lista de correo Python-es http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From damufo en gmail.com Tue Dec 4 22:00:01 2007 From: damufo en gmail.com (damufo) Date: Tue, 04 Dec 2007 22:00:01 +0100 Subject: agrupar wx radiobutton In-Reply-To: <771741b20712040752l370857c3jd5f092c81149d03b@mail.gmail.com> References: <47552412.60404@gmail.com> <475534A0.3020606@soft-com.es> <47554B0A.6070107@gmail.com> <475575C0.9020201@gmail.com> <771741b20712040752l370857c3jd5f092c81149d03b@mail.gmail.com> Message-ID: <4755BFD1.4070401@gmail.com> Gracias Mario! efectivamente, ahí está. Lo he probado y el boa me parece que no lo maneja muy bien, no meha dejado meter dentro otros radiobutton. De todos modos es igual, a mano tambien es fácil. Muchas gracias a todos! Mario Lacunza escribiu: > No es necesario, te aparece en el tab "Controles de Lista"... > > El día 4/12/07, damufo escribió: >> Ojo, me refiero a radiobox (no aparece), el radiobutton si aparece. Yo >> tengo la versión 0.61 y a mi no me aparece. Investigaré a ver si se como >> añadirlo. >> >> >> Jaime Ibar escribiu: >>> En la pestaña de Controles Básicos si que salen. >>> >>> 2007/12/4, damufo : >>>> Muchas gracias >>>> Estuve investigando un poco mas y en el orden de creación al poner >>>> style=wx.RB_GROUP a partir de ese crea un grupo por lo que en principio >>>> con esto me sirve. >>>> >>>> De todos modos tendré en cuenta lo de los radiobox. >>>> Alguien a usado los radiobox con boa constructor? por defecto no vienen >>>> en la lista de controles. >>>> Saludos >>>> damufo >>>> >>>> >>>> Oswaldo Hernández escribiu: >>>>> damufo escribió: >>>>>> Hola: >>>>>> uso wx (en xp) y tengo un dialog en el que quiero poner cuatro >>>>>> radiobutton dos por un lado y dos por el otro. >>>>>> El caso es que al marcar uno desmarca otro como si los cuatro fuesen >>>>>> un grupo. >>>>>> He probado a poner dos dentro de un panel y nada al marcar un >> desmarca >>>>>> todos los demais. >>>>>> Alguien sabe como hacer para poder hacer grupos? >>>>> wxRadioBox te hace un grupo completo de botones. Pero si prefieres >>>>> crearlos manualmente con wxRadioButton, tiemes que especificar en el >>>>> *primero* de cada grupo style=wx.RB_GROUP. >>>>> >>>>> Saludos >>>>> >>>>> >>>>> >>>>> >> ------------------------------------------------------------------------ >>>>> _______________________________________________ >>>>> Lista de correo Python-es >>>>> http://listas.aditel.org/listinfo/python-es >>>>> FAQ: http://listas.aditel.org/faqpyes >>>> _______________________________________________ >>>> Lista de correo Python-es >>>> http://listas.aditel.org/listinfo/python-es >>>> FAQ: http://listas.aditel.org/faqpyes >>>> >>> >>> >>> >>> ------------------------------------------------------------------------ >>> >>> _______________________________________________ >>> Lista de correo Python-es >>> http://listas.aditel.org/listinfo/python-es >>> FAQ: http://listas.aditel.org/faqpyes >> _______________________________________________ >> Lista de correo Python-es >> http://listas.aditel.org/listinfo/python-es >> FAQ: http://listas.aditel.org/faqpyes >> > > > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pych3m4 en gmail.com Wed Dec 5 10:49:03 2007 From: pych3m4 en gmail.com (Chema Cortes) Date: Wed, 5 Dec 2007 10:49:03 +0100 Subject: Problema con ventanas y servicios In-Reply-To: References: <1196334664.7383.7.camel@skynet> Message-ID: <2c9fb0dd0712050149y711f46c9xbe02353eb3380b75@mail.gmail.com> El 29/11/07, luis orellana orihuela escribió: > A tu pregunta ... Sí, uso hilos. Cada vez que acepto un socket lo paso a un hilo para que lo procese. Además, una vez que tomo la cadena del cliente la paso a otro hilo para que lo muestre por pantalla, pero el problema persiste . Pego aquí parte del código: > > def procesa(conexion): #un hilo por cada conexion aceptada > texto=conexion.recv(1024) > conexion.close() > thread.start_new(ventana,(texto,)) #un hilo por ventana para evitar q se quede 'colgado' > > def ventana(texto): > #preparamos ventana que muestre el texto --------------- > ventana = Label(None,text=texto) > ventana.pack() > > #boton = Button(form,text="Aceptar",command=form.destroy) > #boton.pack(side="bottom") > ventana.mainloop() > #------------------------------------------------------------------------- Tkinter no es "thread-safe". Es muy arriesgado intentar pasar información entre hilos tal como estás haciendo. Lo extraño es que no te haya dado algún error fatal de ejecución. Cada mainloop que ejecutas captura el control de los eventos, por lo que el resto de hilos no responde (que es el efecto que notas). El modo de operar que te aconsejo sería tener un único bucle "mainloop" en el thread principal, y crear desde éste el resto de hilos que controlen los sockets. Si no te va bien que tkinter esté en el hilo principal, pásalo a uno secundario, pero haz que todas las llamadas a tkinter se hagan en ése hilo. La comunicación entre hilos se puede hacer mediante objetos Queue (mira la documentación de python). Para crear nuevas ventanas usa Toplevel. Si no quieres ver la ventana principal de tkinter la puedes ocultar con withdraw. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From a.porrua en gmail.com Wed Dec 5 11:20:46 2007 From: a.porrua en gmail.com (tny) Date: Wed, 05 Dec 2007 11:20:46 +0100 Subject: ejecutable de linux In-Reply-To: <3c924a250712040711o5e12e8a5gbe9d6f22e04ec1c@mail.gmail.com> References: <3c924a250712040711o5e12e8a5gbe9d6f22e04ec1c@mail.gmail.com> Message-ID: <1196850046.6361.1.camel@skynet> El mar, 04-12-2007 a las 12:11 -0300, Mauro Sánchez escribió: > El 4/12/07, Josu Rodriguez escribió: > > Hola buenas, > > > > Estoy haciendo un programita, el cual me gustaría que fuese multiplataforma, > > pero también me gustaría que no se viese el código. Se supone que la idea principal sobre la que gira todo este royo del software libre es que el código fuente sea accesible, pero bueno... ¿no te sirven los pyc y los pyo? se generan automáticamente al importar el módulo. > > Se que para windows esta py2exe, pero: > > > > ¿Existe alguna forma de hacer lo mismo en linux?, > > Crear un .bin, y que sin necesidad de python instalado en el equipo, pues > > que funcione. > > > Podés probar con PyInstaller > > http://pyinstaller.python-hosting.com/ > > Saludos. > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From juanma en mailmadrid.com Wed Dec 5 13:06:21 2007 From: juanma en mailmadrid.com (Juan Manuel Ruiz Garcia) Date: Wed, 5 Dec 2007 13:06:21 +0100 (CET) Subject: Crear ejecutable a partir de un .pyw In-Reply-To: References: <2c9fb0dd0712030544u5181a5f2l42e3b3f0e20a7b18@mail.gmail.com> <2c9fb0dd0712031625o5e80bae8p8eb37ec8493d1dbc@mail.gmail.com> <52301.193.41.227.4.1196774808.squirrel@mail.mailmadrid.com> Message-ID: <50974.193.41.227.4.1196856381.squirrel@mail.mailmadrid.com> Pues ahí va: COMO HACER UN SERVICIO A PARTIR DE UN EJECUTABLE Para poder realizar esta operación, nos apoyaremos siempre en dos utilidades llamadas INSTSERV.EXE y SRVANY.EXE. Pasos a seguir: 1) asegurarnos que estas dos aplicaciones se encuentran en un directorio del PATH, preferiblemente %SystemRoot%\system32. 2) Elegir un "nombre corto" para el servicio. Este "nombre corto" será el que se muestre en la lista de servicios del operativo y el que necesitaremos para lanzar comandos de arranque y parada como ‘net start’ o ‘net stop’. Igualmente necesitamos saber cuál será el directorio de ejecución de la aplicación que queremos correr como servicio y los parámetros de línea de comando que vamos a querer utilizar. 3) Una vez que conocemos todos estos datos, vamos a crear el servicio con el nombre elegido, haciendo uso de los dos programas auxiliares: instsrv "Nombre del Servicio" "ruta completa de srvany.exe" Con este comando, tenemos el servicio {Nombre Servicio} creado, apuntando a la ejecución de srvany.exe 4) Ahora hay que indicar qué programa ha de ser ejecutado realmente. Para ello debemos buscar en el registro la clave: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\{Nombre Servicio} Y creamos la subclave: "Parameters" Donde incluiremos los siguientes valores alfanuméricos (REG_SZ): • AppDirectory, donde escribiremos la ruta de la carpeta de ejecución del programa • Application, donde escribiremos el ejecutable del programa, con la ruta completa • AppParameters, donde escribiremos los parámetros con los que ejecutarla > Buenas, > > La verdad es que suena bien. Si no te importa me gustaría conocer de esa > técnica y probarla. Pásame esa receta y pruebo. También probaré con el > método Python que sugirieron los amigos. > > Muchas Gracias> Hola,> > otra opción, aunque bastant más cutre (desde > luego off-python) es tirar de> las utilidades de Windows "INSTSRV" y > "SRVANY" que permiten hacer correr> como servicio un ejecutable > "cualquiera". Yo lo he usado precisamente para> ficheros exe generados con > py2exe y me lleva funcionando desde hace años> sin un problema.> > Dime si > te puedo interesar esta solución y te dejo una receta que me> escribí para > repetirla si me hacía falta.> > Un saludo> > > >>> Gracias Chema y tny ... > pero, esos enlaces que me habeis enviado, si> >>> no he entendido mal (es > mu probable q haya entendido mal, soy un bolo> >>> en inglés), son para > poner el script python como servicio. Pero el caso> >>> es que yo primero > quiero crear un ejecutable a partir del script y> >>> después hacerlo > correr como servicio para poder ejecutarlo en cualquier> >>> W$ que no > tenga python instalado. El ejecutable lo creo, pero al> >>> ponerlo como > oservicio me da el error que comentaba.> >>> >> Esos enlaces son para que > crear servicios en python. Tal vez estás> >> pensando que los servicios > como como los "daemons" de linux y no es> >> así. Los servicios tienen que > responder a una serie de llamadas de la> >> API de windows, que es el > motivo por el que windows rechaza tu script> >> por no responder a la > inicialización.> >> > Para ponerlo aún más claro: *primero* deberías > lograr que tu script> > funcione como servicio, siguiendo las > instrucciones de los links que te> > dieron por aquí. Y sólo *después* que > tu servicio esté funcionando> > correctamente, usar py2exe para generar el > ejecutable final.> > > _______________________________________________> > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es> > FAQ: http://listas.aditel.org/faqpyes > _________________________________________________________________ > Tecnología, moda, motor, viajes,…suscríbete a nuestros boletines para > estar a la última > http://newsletters.msn.com/hm/maintenanceeses.asp?L=ES&C=ES&P=WCMaintenance&Brand=WL&RU=http%3a%2f%2fmail.live.com_______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pych3m4 en gmail.com Wed Dec 5 13:10:36 2007 From: pych3m4 en gmail.com (Chema Cortes) Date: Wed, 5 Dec 2007 13:10:36 +0100 Subject: ejecutable de linux In-Reply-To: <1196850046.6361.1.camel@skynet> References: <3c924a250712040711o5e12e8a5gbe9d6f22e04ec1c@mail.gmail.com> <1196850046.6361.1.camel@skynet> Message-ID: <2c9fb0dd0712050410m5d326c19v63d9ad10c5625bba@mail.gmail.com> El 5/12/07, tny escribió: > > El mar, 04-12-2007 a las 12:11 -0300, Mauro Sánchez escribió: > > El 4/12/07, Josu Rodriguez escribió: > > > Hola buenas, > > > > > > Estoy haciendo un programita, el cual me gustaría que fuese multiplataforma, > > > pero también me gustaría que no se viese el código. > > Se supone que la idea principal sobre la que gira todo este royo del > software libre es que el código fuente sea accesible, pero bueno... > > ¿no te sirven los pyc y los pyo? > se generan automáticamente al importar el módulo. Éso lo dices porque no conoces "decompyle" (venía como paquete en algunas distribuciones). Tienes incluso un servicio por página web para recuperar los fuentes a partir de .pyc/.pyo: http://www.crazy-compilers.com/decompyle/ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pachi en rvburke.com Wed Dec 5 13:34:29 2007 From: pachi en rvburke.com (Rafael Villar Burke) Date: Wed, 05 Dec 2007 13:34:29 +0100 Subject: Python te hace volar :) Message-ID: <47569AD5.8030508@rvburke.com> La última tira de xkcd trata sobre Python: http://xkcd.com/353/ Saludos, Rafael Villar Burke -- "Si tú tienes una manzana y yo tengo una manzana y las intercambiamos, entonces ambos aún tendremos una manzana. Pero si tú tienes una idea y yo tengo una idea y las intercambiamos, entonces ambos tendremos dos ideas." -- George Bernard Shaw _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From a.porrua en gmail.com Wed Dec 5 14:29:35 2007 From: a.porrua en gmail.com (tny) Date: Wed, 05 Dec 2007 14:29:35 +0100 Subject: ejecutable de linux In-Reply-To: <2c9fb0dd0712050410m5d326c19v63d9ad10c5625bba@mail.gmail.com> References: <3c924a250712040711o5e12e8a5gbe9d6f22e04ec1c@mail.gmail.com> <1196850046.6361.1.camel@skynet> <2c9fb0dd0712050410m5d326c19v63d9ad10c5625bba@mail.gmail.com> Message-ID: <1196861375.8519.3.camel@skynet> El mié, 05-12-2007 a las 13:10 +0100, Chema Cortes escribió: > El 5/12/07, tny escribió: > > > > El mar, 04-12-2007 a las 12:11 -0300, Mauro Sánchez escribió: > > > El 4/12/07, Josu Rodriguez escribió: > > > > Hola buenas, > > > > > > > > Estoy haciendo un programita, el cual me gustaría que fuese multiplataforma, > > > > pero también me gustaría que no se viese el código. > > > > Se supone que la idea principal sobre la que gira todo este royo del > > software libre es que el código fuente sea accesible, pero bueno... > > > > ¿no te sirven los pyc y los pyo? > > se generan automáticamente al importar el módulo. > > Éso lo dices porque no conoces "decompyle" (venía como paquete en > algunas distribuciones). Tienes incluso un servicio por página web > para recuperar los fuentes a partir de .pyc/.pyo: ¿Me das un buen motivo para tratar de hacer tú código inaccesible? gracias. ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From a.porrua en gmail.com Wed Dec 5 15:21:26 2007 From: a.porrua en gmail.com (tny) Date: Wed, 05 Dec 2007 15:21:26 +0100 Subject: distutils bdist_deb Message-ID: <1196864486.8898.5.camel@skynet> He estado buscando por la red el bdist_deb. He visto que había alguno por ahí dando vueltas, pero no aparece por ningún lado. Así que estoy pensando muy seriamente hacerlo yo mismo. He estado mirando y no parece demasiado difícil. ¿Se apunta alguien más? ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From mlacunza en gmail.com Wed Dec 5 15:39:27 2007 From: mlacunza en gmail.com (Mario Lacunza) Date: Wed, 5 Dec 2007 09:39:27 -0500 Subject: ejecutable de linux In-Reply-To: <1196861375.8519.3.camel@skynet> References: <3c924a250712040711o5e12e8a5gbe9d6f22e04ec1c@mail.gmail.com> <1196850046.6361.1.camel@skynet> <2c9fb0dd0712050410m5d326c19v63d9ad10c5625bba@mail.gmail.com> <1196861375.8519.3.camel@skynet> Message-ID: <771741b20712050639l42dc4c40k7769bfb1b2836e30@mail.gmail.com> El día 5/12/07, tny escribió: > > > El mié, 05-12-2007 a las 13:10 +0100, Chema Cortes escribió: > > El 5/12/07, tny escribió: > > > > > > El mar, 04-12-2007 a las 12:11 -0300, Mauro Sánchez escribió: > > > > El 4/12/07, Josu Rodriguez escribió: > > > > > Hola buenas, > > > > > > > > > > Estoy haciendo un programita, el cual me gustaría que fuese > multiplataforma, > > > > > pero también me gustaría que no se viese el código. > > > > > > Se supone que la idea principal sobre la que gira todo este royo del > > > software libre es que el código fuente sea accesible, pero bueno... > > > > > > ¿no te sirven los pyc y los pyo? > > > se generan automáticamente al importar el módulo. > > > > Éso lo dices porque no conoces "decompyle" (venía como paquete en > > algunas distribuciones). Tienes incluso un servicio por página web > > para recuperar los fuentes a partir de .pyc/.pyo: > > ¿Me das un buen motivo para tratar de hacer tú código inaccesible? > gracias. Que Python sea Opensource no quiere decir q todo el codigo fuente hecho con el deba serlo. Si el quiere hacerlo sera q quiere manejar el esquema de negocio tipo M$.... pero con herramientas OS.... -- Saludos / Best regards Mario Lacunza Desarrollador de Sistemas - Webmaster Desarrollador 2 Estrellas VS2005 Email: mlacunza [AT] gmail [DOT] com Website: mlacunzav[DOT]cogia[DOT]net Blog: http://mlacunza.blogspot.com/ Lima - Peru _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From mauroka en gmail.com Wed Dec 5 16:12:03 2007 From: mauroka en gmail.com (=?ISO-8859-1?Q?Mauro_S=E1nchez?=) Date: Wed, 5 Dec 2007 12:12:03 -0300 Subject: ejecutable de linux In-Reply-To: <771741b20712050639l42dc4c40k7769bfb1b2836e30@mail.gmail.com> References: <3c924a250712040711o5e12e8a5gbe9d6f22e04ec1c@mail.gmail.com> <1196850046.6361.1.camel@skynet> <2c9fb0dd0712050410m5d326c19v63d9ad10c5625bba@mail.gmail.com> <1196861375.8519.3.camel@skynet> <771741b20712050639l42dc4c40k7769bfb1b2836e30@mail.gmail.com> Message-ID: <3c924a250712050712od352acawfb7a654362a1bde2@mail.gmail.com> El 5/12/07, Mario Lacunza escribió: > El día 5/12/07, tny escribió: > > > > > > El mié, 05-12-2007 a las 13:10 +0100, Chema Cortes escribió: > > > El 5/12/07, tny escribió: > > > > > > > > El mar, 04-12-2007 a las 12:11 -0300, Mauro Sánchez escribió: > > > > > El 4/12/07, Josu Rodriguez escribió: > > > > > > Hola buenas, > > > > > > > > > > > > Estoy haciendo un programita, el cual me gustaría que fuese > > multiplataforma, > > > > > > pero también me gustaría que no se viese el código. > > > > > > > > Se supone que la idea principal sobre la que gira todo este royo del > > > > software libre es que el código fuente sea accesible, pero bueno... > > > > > > > > ¿no te sirven los pyc y los pyo? > > > > se generan automáticamente al importar el módulo. > > > > > > Éso lo dices porque no conoces "decompyle" (venía como paquete en > > > algunas distribuciones). Tienes incluso un servicio por página web > > > para recuperar los fuentes a partir de .pyc/.pyo: > > > > ¿Me das un buen motivo para tratar de hacer tú código inaccesible? > > gracias. > > > > Que Python sea Opensource no quiere decir q todo el codigo fuente hecho con > el deba serlo. > > Si el quiere hacerlo sera q quiere manejar el esquema de negocio tipo M$.... > pero con herramientas OS.... > > Antes que nada aclaro que estoy a favor del software libre/open source y que no quiero generar ningún flame. Lo que les quería decir es que no sé porque se lo tilda a Microsoft en este caso. Google utiliza precisamente ese esquema que estás mencionando (con herramientas OS) y no veo que libere el código de gmail, por dar un ejemplo, que en este caso utilizamos muchos de nosotros (todos en este thread casualmente usamos gmail). Sólo eso nada más. Saludos a todos. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From a.porrua en gmail.com Wed Dec 5 16:15:41 2007 From: a.porrua en gmail.com (tny) Date: Wed, 05 Dec 2007 16:15:41 +0100 Subject: ejecutable de linux In-Reply-To: <771741b20712050639l42dc4c40k7769bfb1b2836e30@mail.gmail.com> References: <3c924a250712040711o5e12e8a5gbe9d6f22e04ec1c@mail.gmail.com> <1196850046.6361.1.camel@skynet> <2c9fb0dd0712050410m5d326c19v63d9ad10c5625bba@mail.gmail.com> <1196861375.8519.3.camel@skynet> <771741b20712050639l42dc4c40k7769bfb1b2836e30@mail.gmail.com> Message-ID: <1196867741.10103.7.camel@skynet> > > ¿Me das un buen motivo para tratar de hacer tú código inaccesible? > > gracias. > > > > Que Python sea Opensource no quiere decir q todo el codigo fuente hecho con > el deba serlo. > > Si el quiere hacerlo sera q quiere manejar el esquema de negocio tipo M$.... > pero con herramientas OS.... He dicho un buen motivo xDD Lo que protege al código propietario no es tanto que tenga el código compilado u ofuscado, como los copyrights y licencias. ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From mlacunza en gmail.com Wed Dec 5 16:16:36 2007 From: mlacunza en gmail.com (Mario Lacunza) Date: Wed, 5 Dec 2007 10:16:36 -0500 Subject: ejecutable de linux In-Reply-To: <3c924a250712050712od352acawfb7a654362a1bde2@mail.gmail.com> References: <3c924a250712040711o5e12e8a5gbe9d6f22e04ec1c@mail.gmail.com> <1196850046.6361.1.camel@skynet> <2c9fb0dd0712050410m5d326c19v63d9ad10c5625bba@mail.gmail.com> <1196861375.8519.3.camel@skynet> <771741b20712050639l42dc4c40k7769bfb1b2836e30@mail.gmail.com> <3c924a250712050712od352acawfb7a654362a1bde2@mail.gmail.com> Message-ID: <771741b20712050716u49dd20bdw53f4236e92d5894@mail.gmail.com> El día 5/12/07, Mauro Sánchez escribió: > > > > Antes que nada aclaro que estoy a favor del software libre/open source > y que no quiero generar ningún flame. > Lo que les quería decir es que no sé porque se lo tilda a Microsoft en > este caso. > Google utiliza precisamente ese esquema que estás mencionando (con > herramientas OS) y no veo que libere el código de gmail, por dar un > ejemplo, que en este caso utilizamos muchos de nosotros (todos en este > thread casualmente usamos gmail). > Sólo eso nada más. > Saludos a todos. > _______________________________________________ > > Lo menciono por que es el mas grande ejemplo de uso de codigo privativo, o no? -- Saludos / Best regards Mario Lacunza Desarrollador de Sistemas - Webmaster Desarrollador 2 Estrellas VS2005 Email: mlacunza [AT] gmail [DOT] com Website: mlacunzav[DOT]cogia[DOT]net Blog: http://mlacunza.blogspot.com/ Lima - Peru _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From sonajadiabolica en gmail.com Wed Dec 5 22:14:24 2007 From: sonajadiabolica en gmail.com (aNgel rEsendiz g.) Date: Wed, 5 Dec 2007 15:14:24 -0600 Subject: ejecutable de linux In-Reply-To: <2c9fb0dd0712050410m5d326c19v63d9ad10c5625bba@mail.gmail.com> References: <3c924a250712040711o5e12e8a5gbe9d6f22e04ec1c@mail.gmail.com> <1196850046.6361.1.camel@skynet> <2c9fb0dd0712050410m5d326c19v63d9ad10c5625bba@mail.gmail.com> Message-ID: <8d9e208f0712051314w3787c624ye3905911d9692159@mail.gmail.com> > > Se supone que la idea principal sobre la que gira todo este royo del > > software libre es que el código fuente sea accesible, pero bueno... > > Creo no hay razón para cuestionar eso, o acaso si alguien pregunta por el modulo md5 ¿primero le cuestionamos que es lo que quiere ocultar?, o si alguien pregunta por cPickle le pedimos que mejor guarde las cosas en texto plano?, cada quien tendrá sus razones y sus ventajas para hacer algo de una manera determinada. En todo caso creo que cuestiones como esa quedan fuera del ámbito de la lista, esta es una lista de programación de python, no de programación de software open source con python. > > Éso lo dices porque no conoces "decompyle" (venía como paquete en > algunas distribuciones). Tienes incluso un servicio por página web > para recuperar los fuentes a partir de .pyc/.pyo: > Para poder "decompylar", requieres tener la misma versión de máquina virtual o compilador que generó el .pyc/.pyo, lo descubrí primero en la práctica, ya que podia decompylar un pyc generado en un slackware con otro slackware de la misma versión, pero no con un debian que tenía una versión mas actual de python. Lo que no llegué a averiguar, fué las especificaciones acerca de que tan "similar" debe ser tu python con el que generó el pyc para poder decompylar. -- aNgel rEsendiz.! _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From maengora en gmail.com Wed Dec 5 22:47:41 2007 From: maengora en gmail.com (=?ISO-8859-1?Q?Manuel_Enrique_Gonz=E1lez_Ram=EDrez?=) Date: Wed, 5 Dec 2007 16:47:41 -0500 Subject: Capturar dato de un Grid Message-ID: Cordial saludo. Esta es la cuestion: - Tengo un form (frm_listadatos) en VisualWX con un Grid (denominado grilla) que tienes 4 columnas (codigo,articulo,categori,existencias), al abrirlo el muestra los datos en grilla a traves de una consulta Mysql. - Tengo otro form (frm_recibelistado) con 2 TextCtrl (codigo,articulo). *** Necesito que al hacer doble clic en la celda X de la columna Codigo o Articulo de la grilla, los datos que aparecen alli pasen al form frm_recibelistado. Ohhh y ahora quien podra ayudarme??? Gracias a todos aquellos que me puedan colaborar. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From jileon en parcan.es Wed Dec 5 22:49:35 2007 From: jileon en parcan.es (=?ISO-8859-1?Q?Juan_Ignacio_Rodr=EDguez_de_Le=F3n?=) Date: Wed, 05 Dec 2007 21:49:35 +0000 Subject: Python te hace volar :) In-Reply-To: <47569AD5.8030508@rvburke.com> References: <47569AD5.8030508@rvburke.com> Message-ID: <47571CEF.7070801@parcan.es> Rafael Villar Burke escribió: > La última tira de xkcd trata sobre Python: http://xkcd.com/353/ > > No he tenido más remedio que traducirla y ponerla en mi blog: import antigravity, que bueno el jodio... _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From jcea en argo.es Wed Dec 5 23:20:33 2007 From: jcea en argo.es (Jesus Cea) Date: Wed, 05 Dec 2007 23:20:33 +0100 Subject: =?iso-8859-15?q?Vi=F1eta_xkdc?= Message-ID: <47572431.4020503@argo.es> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Esas viñetas suelen ser muy buenas, pero la de hoy no tiene desperdicio http://www.xkcd.com/353/ - -- Jesus Cea Avion _/_/ _/_/_/ _/_/_/ jcea en argo.es http://www.argo.es/~jcea/ _/_/ _/_/ _/_/ _/_/ _/_/ jabber / xmpp:jcea en jabber.org _/_/ _/_/ _/_/_/_/_/ _/_/ _/_/ _/_/ _/_/ _/_/ "Things are not so easy" _/_/ _/_/ _/_/ _/_/ _/_/ _/_/ "My name is Dump, Core Dump" _/_/_/ _/_/_/ _/_/ _/_/ "El amor es poner tu felicidad en la felicidad de otro" - Leibniz -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iQCVAwUBR1ckMZlgi5GaxT1NAQKGZwQAnJRVfxDI6HrvNucvItF8VWegdqpnnglq CvMboYjwX/BvHLciIHzrU1ib0guKe2DQZiRYzYoJjlQsN0jxkJ0gw/6NNsqF5i9C IjjTBcLsrvA1gMrgs49OUfDuuZqiGF5ZrMIJQfA4KdkQmfBsikwakIl5IjzePKcY 1Y8Y4DCjmDU= =2xXr -----END PGP SIGNATURE----- ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From jcea en argo.es Wed Dec 5 23:51:45 2007 From: jcea en argo.es (Jesus Cea) Date: Wed, 05 Dec 2007 23:51:45 +0100 Subject: Python te hace volar :) In-Reply-To: <47571CEF.7070801@parcan.es> References: <47569AD5.8030508@rvburke.com> <47571CEF.7070801@parcan.es> Message-ID: <47572B81.5010302@argo.es> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Juan Ignacio Rodríguez de León wrote: > No he tenido más remedio que traducirla y ponerla en mi blog: > > Contrástalo con el autor original. Te tiene que dar permiso. - -- Jesus Cea Avion _/_/ _/_/_/ _/_/_/ jcea en argo.es http://www.argo.es/~jcea/ _/_/ _/_/ _/_/ _/_/ _/_/ jabber / xmpp:jcea en jabber.org _/_/ _/_/ _/_/_/_/_/ _/_/ _/_/ _/_/ _/_/ _/_/ "Things are not so easy" _/_/ _/_/ _/_/ _/_/ _/_/ _/_/ "My name is Dump, Core Dump" _/_/_/ _/_/_/ _/_/ _/_/ "El amor es poner tu felicidad en la felicidad de otro" - Leibniz -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iQCVAwUBR1crgZlgi5GaxT1NAQKTmwP5AZh8r6F/agjGU+2dQoLcMpOmy//h7fJ5 lDF3hpOsdhOhoCJwGbNsc6z1ltD9QYdXL6Oz+thk6g6+3BkpSqiYPhq22khHUATZ YeotG+leviztm+DphIoeakA6dyGVT7f9rxNF3JkJlt5lmeUlqzZqgtWqXRri97am H8CbOJFXqCE= =Yz53 -----END PGP SIGNATURE----- ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From rodrigo en nul-unu.com Thu Dec 6 00:21:33 2007 From: rodrigo en nul-unu.com (Luis Rodrigo Gallardo Cruz) Date: Wed, 5 Dec 2007 17:21:33 -0600 Subject: Python te hace volar :) In-Reply-To: <47572B81.5010302@argo.es> References: <47569AD5.8030508@rvburke.com> <47571CEF.7070801@parcan.es> <47572B81.5010302@argo.es> Message-ID: <20071205232133.GA4539@caribdis.nul-unu.com> On Wed, Dec 05, 2007 at 11:51:45PM +0100, Jesus Cea wrote: > Juan Ignacio Rodríguez de León wrote: > > No he tenido más remedio que traducirla y ponerla en mi blog: > > > > > > Contrástalo con el autor original. Te tiene que dar permiso. XKCD está bajo alguna licencia CC. -- Rodrigo Gallardo GPG-Fingerprint: 7C81 E60C 442E 8FBC D975 2F49 0199 8318 ADC9 BC28 ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: Digital signature URL: ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From py en ch3m4.org Thu Dec 6 03:17:10 2007 From: py en ch3m4.org (Chema Cortes) Date: Thu, 6 Dec 2007 03:17:10 +0100 Subject: ejecutable de linux In-Reply-To: <8d9e208f0712051314w3787c624ye3905911d9692159@mail.gmail.com> References: <2c9fb0dd0712050410m5d326c19v63d9ad10c5625bba@mail.gmail.com> <8d9e208f0712051314w3787c624ye3905911d9692159@mail.gmail.com> Message-ID: <200712060317.12159.py@ch3m4.org> El Wednesday 05 December 2007 22:14:24 aNgel rEsendiz g. escribió: > > > Se supone que la idea principal sobre la que gira todo este royo del > > > software libre es que el código fuente sea accesible, pero bueno... > > Creo no hay razón para cuestionar eso, o acaso si [....] > cuestiones como esa quedan fuera del ámbito de la lista, esta es una > lista de programación de python, no de programación de software open > source con python. Estoy de acuerdo en lo que dices; pero, teniendo en cuenta que python usa una licencia opensource (y compatible GPL), no se puede incrustar python y/o cualquier módulo de su librería en un "binario" sin entregar el código fuente completo. No parece injustificado, por tanto, pedir explicaciones sobre la finalidad de ocultar el código, ya que estás obligado a entregar el código fuente de todos modos. > > Éso lo dices porque no conoces "decompyle" (venía como paquete en > > algunas distribuciones). Tienes incluso un servicio por página web > > para recuperar los fuentes a partir de .pyc/.pyo: > > Para poder "decompylar", requieres tener la misma versión de máquina > virtual o compilador que generó el .pyc/.pyo, lo descubrí primero en > la práctica, ya que podia decompylar un pyc generado en un slackware > con otro slackware de la misma versión, pero no con un debian que > tenía una versión mas actual de python. Lo que no llegué a averiguar, > fué las especificaciones acerca de que tan "similar" debe ser tu > python con el que generó el pyc para poder decompylar. Se necesita un "decompyle" actualizado para la versión de bytecode que quieras decompilar. El paquete que venía en debian[0] creo que sólo decompilaba hasta la versión 2.3 de python; el decompyle para versiones superiores ya no se distribuye, existiendo sólo la posibilidad de usar el servicio de "decompylación" de la página web. [0] http://ftp.debian.org/debian/pool/main/d/decompyle/ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From inigo_aldazabal en ehu.es Thu Dec 6 08:39:03 2007 From: inigo_aldazabal en ehu.es (Inigo Aldazabal Mensa) Date: Thu, 6 Dec 2007 08:39:03 +0100 Subject: ejecutable de linux In-Reply-To: <200712060317.12159.py@ch3m4.org> References: <8d9e208f0712051314w3787c624ye3905911d9692159@mail.gmail.com> <200712060317.12159.py@ch3m4.org> Message-ID: <200712060839.03428.inigo_aldazabal@ehu.es> El Jueves, 6 de Diciembre de 2007 03:17, Chema Cortes escribió: > El Wednesday 05 December 2007 22:14:24 aNgel rEsendiz g. escribió: > > > > Se supone que la idea principal sobre la que gira todo este royo > > > > del software libre es que el código fuente sea accesible, pero > > > > bueno... > > > > Creo no hay razón para cuestionar eso, o acaso si [....] > > cuestiones como esa quedan fuera del ámbito de la lista, esta es una > > lista de programación de python, no de programación de software open > > source con python. > > Estoy de acuerdo en lo que dices; pero, teniendo en cuenta que python > usa una licencia opensource (y compatible GPL), no se puede incrustar > python y/o cualquier módulo de su librería en un "binario" sin entregar > el código fuente completo. No parece injustificado, por tanto, pedir > explicaciones sobre la finalidad de ocultar el código, ya que estás > obligado a entregar el código fuente de todos modos. > Mmmm... ¿seguro? De http://www.python.org/psf/license/ "There is no GPL-like "copyleft" restriction. Distributing binary-only versions of Python, modified or not, is allowed. There is no requirement to release any of your source code. You can also write extension modules for Python and provide them only in binary form." ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From foxandxss en gmail.com Thu Dec 6 12:00:59 2007 From: foxandxss en gmail.com (Jesus Rodriguez) Date: Thu, 6 Dec 2007 12:00:59 +0100 Subject: ejecutable de linux In-Reply-To: <200712060839.03428.inigo_aldazabal@ehu.es> References: <8d9e208f0712051314w3787c624ye3905911d9692159@mail.gmail.com> <200712060317.12159.py@ch3m4.org> <200712060839.03428.inigo_aldazabal@ehu.es> Message-ID: <2a1edb210712060300s70987f7ck44ff44a8536bcf70@mail.gmail.com> Que Python en si permita la distribuición en binario sin código fuente, no quiere decir que puedas hacerlo si usas una librería GPL. Así que ten cuidado con lo que usas en tu proyecto, ya que vas a tener que pagar si usas GPL. Un saludo. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From xinxic en gmail.com Thu Dec 6 12:14:14 2007 From: xinxic en gmail.com (Xin) Date: Thu, 6 Dec 2007 12:14:14 +0100 Subject: ObjectCreator Lite 1.0.6 Message-ID: <8D7FA39E-885C-45C0-91CD-63705836F7C5@gmail.com> Hola, Soy usuario de Mac i he encontrado un editor UML bastante interesante (programble con python) hecho para el entorno de desarrollo Xcode. Se llama ObjectCreator. - http://objectcreator.atspace.com/index.html El problema que tengo és que no deja descargar-me la versión Lite, pués el enlace està roto. Y he buscado por todos lados i no hay ningun enlace de donde descargarlo. Alguno de vosotros usa Mac i se ha podido descargarse este programa? Què opinión teneis de el? Serian tan amables de colgarlo en algun servidor para que lo pudiera probar? Gràcias de antemano. Xin _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From mauroka en gmail.com Thu Dec 6 13:47:00 2007 From: mauroka en gmail.com (=?ISO-8859-1?Q?Mauro_S=E1nchez?=) Date: Thu, 6 Dec 2007 09:47:00 -0300 Subject: ejecutable de linux In-Reply-To: <2a1edb210712060300s70987f7ck44ff44a8536bcf70@mail.gmail.com> References: <8d9e208f0712051314w3787c624ye3905911d9692159@mail.gmail.com> <200712060317.12159.py@ch3m4.org> <200712060839.03428.inigo_aldazabal@ehu.es> <2a1edb210712060300s70987f7ck44ff44a8536bcf70@mail.gmail.com> Message-ID: <3c924a250712060447p724cccb0g3f870985e35f2ea1@mail.gmail.com> 2007/12/6, Jesus Rodriguez : > Que Python en si permita la distribuición en binario sin código fuente, no > quiere decir que puedas hacerlo si usas una librería GPL. > > Así que ten cuidado con lo que usas en tu proyecto, ya que vas a tener que > pagar si usas GPL. > No creo que tengas que pagar. Lo que me parece es que tu código debería ser GPL o así lo entendí yo por lo menos. > Un saludo. > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From francisco.palm en gmail.com Thu Dec 6 16:00:17 2007 From: francisco.palm en gmail.com (Francisco Palm) Date: Thu, 6 Dec 2007 11:00:17 -0400 Subject: Python te hace volar :) In-Reply-To: <47571CEF.7070801@parcan.es> References: <47569AD5.8030508@rvburke.com> <47571CEF.7070801@parcan.es> Message-ID: 2007/12/5, Juan Ignacio Rodríguez de León : > Rafael Villar Burke escribió: > > La última tira de xkcd trata sobre Python: http://xkcd.com/353/ > > No he tenido más remedio que traducirla y ponerla en mi blog: > > > > import antigravity, que bueno el jodio... > Dos cuestiones importantes.... 1.- Una cuestión fundamental de las viñetas de xkcd es que siempre pone texto adicional en el campo "title" de la etiqueta "img" donde incrusta la imágen. Generalmente resulta bastante explicativo y pone la viñeta en contexto. En el caso que nos interesa, tenemos Python
De este modo, cuando pones el curso sobre la imagen aparece el texto "I wrote 20 short programs in Python yesterday. It was wonderful. Perl, I'm leaving you." - Ayer escribí 20 programitas en Python. Fue maravilloso. Perl, te estoy dejando. Señor Ornitorrinco, no deje por fuera este detalle en la traducción.... 2.- Al pie de la imágen se puede leer "This work is licensed under a Creative Commons Attribution-NonCommercial 2.5 License. This means you're free to copy and share these comics (but not to sell them)." Pues eso... hagan lo que quieran con la imagen, menos hacer negocios. Saludos a todos F. Palm -- -------------------------------------- fpalm en ula.ve francisco.palm en gmail.com cel: 0414 5109177 tel: 0274 2712106 ---- Yo creo que todavía no es demasiado tarde para construir una utopía que nos permita compartir la tierra. Gabriel García Márquez. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From g4rr16k en gmail.com Thu Dec 6 19:15:38 2007 From: g4rr16k en gmail.com (g4rr16k) Date: Thu, 06 Dec 2007 12:15:38 -0600 Subject: Comandos bash en python. Message-ID: <47583C4A.70303@gmail.com> Que tal. Quisiera saber si hay una forma de utilizar los comandos de Bash de Linux en Python. Basicamente lo que busco es hacer cosas simples como creacion de directorios y creacion de ficheros de textos, en fin, manejo de ficheros. Gracias por su ayuda. Saludos! _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From mauroka en gmail.com Thu Dec 6 19:21:54 2007 From: mauroka en gmail.com (=?ISO-8859-1?Q?Mauro_S=E1nchez?=) Date: Thu, 6 Dec 2007 15:21:54 -0300 Subject: Comandos bash en python. In-Reply-To: <47583C4A.70303@gmail.com> References: <47583C4A.70303@gmail.com> Message-ID: <3c924a250712061021m3c7ce095h55bb19f8da3ce5b7@mail.gmail.com> El 6/12/07, g4rr16k escribió: > Que tal. > > Quisiera saber si hay una forma de utilizar los comandos de Bash de > Linux en Python. > > Basicamente lo que busco es hacer cosas simples como creacion de > directorios y creacion de ficheros de textos, en fin, manejo de ficheros. > Mirate http://docs.python.org/dev/library/os.html _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From david.abreu en iac.es Thu Dec 6 19:22:01 2007 From: david.abreu en iac.es (David Abreu Rodriguez) Date: Thu, 06 Dec 2007 18:22:01 +0000 Subject: Comandos bash en python. In-Reply-To: <47583C4A.70303@gmail.com> References: <47583C4A.70303@gmail.com> Message-ID: <47583DC9.7070709@iac.es> puedes utilizar el módulo "os" que te servirá para cosas simples y otras. ciao g4rr16k wrote: > Que tal. > > Quisiera saber si hay una forma de utilizar los comandos de Bash de > Linux en Python. > > Basicamente lo que busco es hacer cosas simples como creacion de > directorios y creacion de ficheros de textos, en fin, manejo de ficheros. > > Gracias por su ayuda. > > Saludos! > _______________________________________________ > Lista de correo Python-es http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pyarnau en gmail.com Thu Dec 6 19:28:21 2007 From: pyarnau en gmail.com (Arnau Sanchez) Date: Thu, 06 Dec 2007 19:28:21 +0100 Subject: Comandos bash en python. In-Reply-To: <47583C4A.70303@gmail.com> References: <47583C4A.70303@gmail.com> Message-ID: <47583F45.3060103@gmail.com> g4rr16k wrote: > Quisiera saber si hay una forma de utilizar los comandos de Bash de > Linux en Python. Claro. Normalmente se hacía con os.system, ejemplo: retcode = os.system("cp /etc/services $HOME") A partir de python 2.4 se recomienda subprocess: retcode = subprocess.call("cp /etc/services $HOME", shell=True) Usa subprocess.Popen para un control más fino. > Basicamente lo que busco es hacer cosas simples como creacion de > directorios y creacion de ficheros de textos, en fin, manejo de ficheros. Salvo casos excepcionales, no hace falta recurrir a comandos externos, Python se basta y se sobra, ¿te has mirado el tutorial?: http://pyspanishdoc.sourceforge.net/tut/node9.html#SECTION009200000000000000000 http://docs.python.org/lib/module-os.html _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From dani.berzas en gmail.com Thu Dec 6 19:57:40 2007 From: dani.berzas en gmail.com (Dani) Date: Thu, 6 Dec 2007 19:57:40 +0100 Subject: simular teclado. In-Reply-To: <475356A9.9030700@ehas.org> References: <474D9DE9.8060505@ehas.org> <49414f570712021639t39ea6251s5c7aebcfbeb3298b@mail.gmail.com> <475356A9.9030700@ehas.org> Message-ID: Hola otra vez... me estoy metiendo en un berenjeral... he encontrado gente con problemas parecidos en otros idiomas[1]. y estoy dándole vueltas a win32api, WMI, COM... pero todavía nada. Tim Golden parece que ha desarrollado lo que estoy buscando, una WMI [2] basado en win32 extensions from Mark Hammondy uno de los ejemplos es clavadito a lo que quiero: c = wmi.WMI () pid, result = c.Win32_Process.Create (CommandLine="notepad.exe") for p in c.Win32_Process (ProcessId=pid): p.Terminate () El problema es que no se comunica con el proceso. Si a partir de ese PID me pudiera comunicar con el proceso sería fantástico. Los objetos tipo Shell si tienen la función SendKeys, import win32com.client shell = win32com.client.Dispatch("WScript.Shell") shell.AppActivate("Command Prompt") shell.SendKeys("cls{ENTER}") shell.SendKeys("dir{ENTER}") shell.SendKeys("echo Hi There{ENTER}") pero no se como 'contactar' con un proceso por el PID [1] http://mail.python.org/pipermail/python-list/1999-May/003244.html [2] Windows Management Instrumentation (WMI) > > > Por lo que he visto, usa el API de windows para simular las > > pulsaciones. Y si no te importa usar el API de windows no hay > > problemas en usarlo tambien para ganar el foco a la ventana de la > > aplicación que has lanzado. Puedes simular tambien el ratón y lo que > > haga falta. Pero si vas a usar el API de windows creo que lo más facil > > es usar esto http://python.net/crew/mhammond/win32/ > Tengo una duda con esto, > > el problema es, ¿cómo detectar las pulsaciones del teclado? o ¿cómo > enviarlas? Es enviarlas. Realmente no hay teclado, lo que quiero es que un programa python haga 'como que pulsa las teclas'. > > Probe hace años python para ayudado del api de windows usar una > > aplicación (creo que era con el api del link). El usar ventanitas > > desde otro proceso es algo que no te va a permitir las X Windows si > > cambias a Linux o FreeBSD. Esa feature es algo que tenia (¿tiene?) > > windows para permitir hacer keyloggers y demás troyanos. Si acabo trabajando con Linux, dios quiera que sea pronto, no necesitaré hacer semejantes cábalas de hacerme pasar por el teclado; simplemente usaremos programas que corren en linea de comandos o con los que uno se puede comunicar de una forma razonable. > > > Veo solución a tu problema, pero no una solución portable. :-( je je je, me vale con que sea una solución 'potable'. > > > > >> Gracias. > >> > > > > Espero que las merezca ;-) > > las merece, gracias otra vez > > > Salud y verduras: > > > > Javi salud y a ver si nos vemos en un domingo verde, ;-) _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From peonblanco83 en gmail.com Thu Dec 6 21:36:22 2007 From: peonblanco83 en gmail.com (Peon Blanco) Date: Thu, 6 Dec 2007 13:36:22 -0700 Subject: llamar ventana desde un boton en glade Message-ID: Hola lista aquí vengo con otra duda espero y me puedan ayudar. e creado 2 ventanas en glade una es LOGIN y la otra OPCIONES. al momento de introducir el login y hacer click en el botón aceptar quisiera que me borrara la ventana LOGIN y abriera la ventana OPCIONES dejandola como la ventana principal e leído sobre como llamarla con la propiedad show() lo e tratado de hacer de esta forma OPCIONES.show() y me dice que esa propiedad no es para ese objeto y de esta forma OPCIONES() y nada la pregunta es como puedo llamar la ventana OPCIONES desde el botón y que desaparezca la de el LOGIN gracias a toda la lista por ayudar _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From jraulm en gmail.com Thu Dec 6 22:04:38 2007 From: jraulm en gmail.com (=?ISO-8859-1?Q?Ra=FAl_Morales?=) Date: Thu, 6 Dec 2007 16:04:38 -0500 Subject: llamar ventana desde un boton en glade In-Reply-To: References: Message-ID: <5e8f1bae0712061304l273757c8p5dc514a0509f2291@mail.gmail.com> Hola: OPCIONES.show() No sé si tal vez sea esto pero creo que debes utilizar el método Show() así como lo acabo de escribir (con mayúscula inicial) la pregunta es como puedo llamar la ventana OPCIONES desde el > botón y que desaparezca la de el LOGIN En el manejador del evento "clic" del botón aceptar que está dentro de la ventana LOGIN, simplemente pones un "self.Destroy()", esto destruye la ventana actual y luego puedes hacer un "OPCIONES.Show()", para que aparezca la nueva ventana. No sé que tanto pueda afectar el orden en que lo hagas, primero puedes mostrar a OPCIONES y luego destruir LOGIN, no sé... creo que es igual, además también puedes utilizar "LOGIN.Close()", también cierra la ventana, pero la instancia sigue existiendo, caso contrario de lo que pasa con Destroy(). Espero esto te pueda ayudar un poco. Saludos. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pyarnau en gmail.com Thu Dec 6 22:17:58 2007 From: pyarnau en gmail.com (Arnau Sanchez) Date: Thu, 06 Dec 2007 22:17:58 +0100 Subject: llamar ventana desde un boton en glade In-Reply-To: References: Message-ID: <47586706.9040108@gmail.com> Peon Blanco wrote: > he creado 2 ventanas en glade una es LOGIN y la otra OPCIONES. Creo que el tema ya ha salido... las variables no se ponen en mayúsculas (sólo se acepta si son globales). En este caso duele a la vista. > al momento de introducir el login y hacer click en el botón aceptar > quisiera que me borrara la ventana LOGIN y abriera la ventana > OPCIONES dejandola como la ventana principal he leído sobre como > llamarla con la propiedad show() lo e tratado de hacer de esta forma > > OPCIONES.show() > y me dice que esa propiedad no es para ese objeto y de esta forma > OPCIONES() > > y nada - Para ocultar una ventana sin destruirla: ventana.hide() - Para mostrar una ventana: ventana.show() ó show_all() para que se vean también sus elementos. Si el método show() no funciona sobre "opciones" es que no es una ventana GTK. Asumo que estamos hablando de pyGTK porque nombras Glade, pero no estaría mal que lo especificaras. Manda código corto y funcional de lo que haces y será más fácil ayudarte. arnau _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From ingcomrbr en gmail.com Thu Dec 6 22:24:00 2007 From: ingcomrbr en gmail.com (Ramon Becerra Reynoso) Date: Thu, 6 Dec 2007 15:24:00 -0600 Subject: llamar ventana desde un boton en glade In-Reply-To: <47586706.9040108@gmail.com> References: <47586706.9040108@gmail.com> Message-ID: Ahora si lo que quieres es una referencia complenta de como hacer que en cada una de las clases que utilizas aqui esta la liga: http://www.pygtk.org/pygtk2reference/gtk-class-reference.html Es muy facil buscar la clase y ver sus propiedades y metodos. Te explica que hace cada uno. Saludos. Claro, todo si es pyGTK. -- No basta saber, se debe también aplicar. No es suficiente querer, se debe también hacer. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From markuz en islascruz.org Thu Dec 6 22:29:12 2007 From: markuz en islascruz.org (Marco Antonio Islas Cruz) Date: Thu, 06 Dec 2007 15:29:12 -0600 Subject: llamar ventana desde un boton en glade In-Reply-To: <5e8f1bae0712061304l273757c8p5dc514a0509f2291@mail.gmail.com> References: <5e8f1bae0712061304l273757c8p5dc514a0509f2291@mail.gmail.com> Message-ID: <1196976552.7673.7.camel@cucusa> Seria mas practico mostrar el traceback no? Una, puede ser que OPCIONES no este dentro de la lista de nombres accesibles por el callback en el que ejecutas OPCIONES.show() o tal vez OPCIONES no sea una ventana en si sino algun otro objeto que no cuenta con el metodo show. Saludos. On Thu, 2007-12-06 at 16:04 -0500, Raúl Morales wrote: > Hola: > > OPCIONES.show() > > > No sé si tal vez sea esto pero creo que debes utilizar el método Show() así > como lo acabo de escribir (con mayúscula inicial) > > la pregunta es como puedo llamar la ventana OPCIONES desde el > > botón y que desaparezca la de el LOGIN > > > En el manejador del evento "clic" del botón aceptar que está dentro de la > ventana LOGIN, simplemente pones un "self.Destroy()", esto destruye la > ventana actual y luego puedes hacer un "OPCIONES.Show()", para que aparezca > la nueva ventana. > > No sé que tanto pueda afectar el orden en que lo hagas, primero puedes > mostrar a OPCIONES y luego destruir LOGIN, no sé... creo que es igual, > además también puedes utilizar "LOGIN.Close()", también cierra la ventana, > pero la instancia sigue existiendo, caso contrario de lo que pasa con > Destroy(). > > Espero esto te pueda ayudar un poco. > Saludos. > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes -- <--Linux... Because I'm Free--> Marco Antonio Islas Cruz "Markuz" Linux User #280229 markuz en islascruz.org markuz en unixmexico.org markuz en linuxpozarica.com marco.islas en gmail.com islacruz en yahoo.com http://www.islascruz.org http://sourceforge.net/projects/gpkg/ http://www.linuxpozarica.com ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part URL: ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From xinxic en gmail.com Thu Dec 6 22:49:39 2007 From: xinxic en gmail.com (Xin) Date: Thu, 6 Dec 2007 22:49:39 +0100 Subject: ObjectCreator Lite 1.0.6 In-Reply-To: <8D7FA39E-885C-45C0-91CD-63705836F7C5@gmail.com> References: <8D7FA39E-885C-45C0-91CD-63705836F7C5@gmail.com> Message-ID: <1F5B5FAC-2F42-4403-93DD-BA093A45315C@gmail.com> Al final he podido descargarme la versión 1.0.5 de: - http://www.topdownloads.net/index/mac/view/html-tools/objectcreator-lite/1475__0_0.html?hl=&id=1475 El 06/12/2007, a las 12:14, Xin escribió: > Hola, > > Soy usuario de Mac i he encontrado un editor UML bastante > interesante (programble con python) hecho para el entorno de > desarrollo Xcode. Se llama ObjectCreator. > - http://objectcreator.atspace.com/index.html > > El problema que tengo és que no deja descargar-me la versión Lite, > pués el enlace està roto. Y he buscado por todos lados i no hay > ningun enlace de donde descargarlo. > > Alguno de vosotros usa Mac i se ha podido descargarse este programa? > Què opinión teneis de el? > > Serian tan amables de colgarlo en algun servidor para que lo pudiera > probar? > Gràcias de antemano. > > Xin > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From foxandxss en gmail.com Thu Dec 6 23:55:37 2007 From: foxandxss en gmail.com (Jesus Rodriguez) Date: Thu, 6 Dec 2007 23:55:37 +0100 Subject: ejecutable de linux In-Reply-To: <3c924a250712060447p724cccb0g3f870985e35f2ea1@mail.gmail.com> References: <8d9e208f0712051314w3787c624ye3905911d9692159@mail.gmail.com> <200712060317.12159.py@ch3m4.org> <200712060839.03428.inigo_aldazabal@ehu.es> <2a1edb210712060300s70987f7ck44ff44a8536bcf70@mail.gmail.com> <3c924a250712060447p724cccb0g3f870985e35f2ea1@mail.gmail.com> Message-ID: <2a1edb210712061455m6e2f9be8ya348f9a56b6cffa5@mail.gmail.com> Sí, pero la GPL obliga a que pongas su licencia y a tener disponible el codigo fuente (cosa que el no quiere), tambien pagar la licencia y ya. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From jileon en parcan.es Fri Dec 7 10:33:06 2007 From: jileon en parcan.es (Juan Ignacio Rodriguez de Leon) Date: Fri, 07 Dec 2007 09:33:06 +0000 Subject: Python te hace volar :) In-Reply-To: References: <47569AD5.8030508@rvburke.com> <47571CEF.7070801@parcan.es> Message-ID: <47591352.5060200@parcan.es> Gracias por los comentarios. Aclaro un par de puntos. 1) Sobre la licencia: kxcd tiene una licencia que permite los trabajos derivados, como una traducción,siempre que no sea para algo con ánimo de lucro (lo que significa que te puedes hacer una camiseta con el dibujo, pero no venderla). A pesar de eso, le escribí al autor para decirle que pretendía traducirla a español y ponerla en mi blog. No ha respondido, claro, no debe estar liado este hombre ni nada. Los contenidos de mi blog tienen exactamente la misma licencia (Creative-Commons-Reconocimiento-No comercial 2.5), así que supongo que no habrá ningún problema. 2) Lo del alt se me había pasado totalmente, gracias por el aviso. Ya está puesto en el post, usando la misma traducción que comento Francisco Palm. 3) Hay que ver que marcha le esta dando xkcd al python. En twitter estoy suscrito a la palabra python y hay mogollón de comentarios de gente que va a probar el python a cuenta del chiste. Gracias de nuevo a todos por los comentarios, nos leemos. Un saludo. -- Juan Ignacio Rodríguez de León _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From jrvilda en gmail.com Fri Dec 7 11:05:58 2007 From: jrvilda en gmail.com (Josu Rodriguez) Date: Fri, 7 Dec 2007 11:05:58 +0100 Subject: ejecutable de linux In-Reply-To: <1196850046.6361.1.camel@skynet> References: <3c924a250712040711o5e12e8a5gbe9d6f22e04ec1c@mail.gmail.com> <1196850046.6361.1.camel@skynet> Message-ID: El que exista software libre, no significa que no pueda existir software privado , no? El día 5/12/07, tny escribió: > > > El mar, 04-12-2007 a las 12:11 -0300, Mauro Sánchez escribió: > > El 4/12/07, Josu Rodriguez escribió: > > > Hola buenas, > > > > > > Estoy haciendo un programita, el cual me gustaría que fuese > multiplataforma, > > > pero también me gustaría que no se viese el código. > > Se supone que la idea principal sobre la que gira todo este royo del > software libre es que el código fuente sea accesible, pero bueno... > > ¿no te sirven los pyc y los pyo? > se generan automáticamente al importar el módulo. > > > > Se que para windows esta py2exe, pero: > > > > > > ¿Existe alguna forma de hacer lo mismo en linux?, > > > Crear un .bin, y que sin necesidad de python instalado en el equipo, > pues > > > que funcione. > > > > > Podés probar con PyInstaller > > > > http://pyinstaller.python-hosting.com/ > > > > Saludos. > > _______________________________________________ > > Lista de correo Python-es > > http://listas.aditel.org/listinfo/python-es > > FAQ: http://listas.aditel.org/faqpyes > > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Josu Rodriguez Vilda ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Visita mi web en wowberk - http://www.ivanfl.com/jrvilda Colaborador en launchpad - https://launchpad.net/~jrvilda MCP https://mcp.support.microsoft.com/profile/JOSU ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From jrvilda en gmail.com Fri Dec 7 11:18:47 2007 From: jrvilda en gmail.com (Josu Rodriguez) Date: Fri, 7 Dec 2007 11:18:47 +0100 Subject: ejecutable de linux In-Reply-To: <2a1edb210712061455m6e2f9be8ya348f9a56b6cffa5@mail.gmail.com> References: <8d9e208f0712051314w3787c624ye3905911d9692159@mail.gmail.com> <200712060317.12159.py@ch3m4.org> <200712060839.03428.inigo_aldazabal@ehu.es> <2a1edb210712060300s70987f7ck44ff44a8536bcf70@mail.gmail.com> <3c924a250712060447p724cccb0g3f870985e35f2ea1@mail.gmail.com> <2a1edb210712061455m6e2f9be8ya348f9a56b6cffa5@mail.gmail.com> Message-ID: A ver, la idea es que el código no se vea hasta que este terminado. Ya que será un software libre, pero cuando se termine, o esa era mi idea. También la idea era de distribuir un único fichero y no varios, para facilitar la ejecución. ( no necesitar tener python instalado, ni preocuparte por las versiones, como en windows con py2exe) Y ya me voy a leer la licencia de python, ya que no tengo ni idea, me pierdo en todas esas cosas. Aunque pienso, que seria un atraso el impedir que alguien elabore un software con python, y tenga que publicar el código, ya que queda fuera del mercado. Una cosa es no querer patentes de software, pero otra diferente es regalar tu trabajo. (esto debería de ser una decisión y no una obligación, creo.) De todos modos ya digo que me pierdo en el tema de las licencias, pero me pondré a echarlas un vistazo. ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pych3m4 en gmail.com Fri Dec 7 11:30:46 2007 From: pych3m4 en gmail.com (Chema Cortes) Date: Fri, 7 Dec 2007 11:30:46 +0100 Subject: ejecutable de linux In-Reply-To: <200712060839.03428.inigo_aldazabal@ehu.es> References: <8d9e208f0712051314w3787c624ye3905911d9692159@mail.gmail.com> <200712060317.12159.py@ch3m4.org> <200712060839.03428.inigo_aldazabal@ehu.es> Message-ID: <2c9fb0dd0712070230m65c47cfaobf121a608f817a93@mail.gmail.com> El 6/12/07, Inigo Aldazabal Mensa escribió: > El Jueves, 6 de Diciembre de 2007 03:17, Chema Cortes escribió: > > Estoy de acuerdo en lo que dices; pero, teniendo en cuenta que python > > usa una licencia opensource (y compatible GPL), no se puede incrustar > > python y/o cualquier módulo de su librería en un "binario" sin entregar > > el código fuente completo. No parece injustificado, por tanto, pedir > > explicaciones sobre la finalidad de ocultar el código, ya que estás > > obligado a entregar el código fuente de todos modos. > > > > Mmmm... ¿seguro? > > De http://www.python.org/psf/license/ > > "There is no GPL-like "copyleft" restriction. Distributing binary-only > versions of Python, modified or not, is allowed. There is no requirement > to release any of your source code. You can also write extension modules > for Python and provide them only in binary form." Pues sí, estaba equivocado. No hay obligación de entregar los fuentes. Craso error. En cuanto a la compatibilidad GPL, lo único que hay que hacer es tener separado claramente el código GPL del que no lo es a la hora de crear el binario. Mirando la librería estándar, no hay módulos GPL, por lo que sólo hay que controlar las licencias de los módulos adicionales. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From inigo_aldazabal en ehu.es Fri Dec 7 11:41:35 2007 From: inigo_aldazabal en ehu.es (Inigo Aldazabal Mensa) Date: Fri, 7 Dec 2007 11:41:35 +0100 Subject: ejecutable de linux In-Reply-To: References: <2a1edb210712061455m6e2f9be8ya348f9a56b6cffa5@mail.gmail.com> Message-ID: <200712071141.35425.inigo_aldazabal@ehu.es> El Viernes, 7 de Diciembre de 2007 11:18, Josu Rodriguez escribió: > A ver, la idea es que el código no se vea hasta que este terminado. > Ya que será un software libre, pero cuando se termine, o esa era mi > idea. También la idea era de distribuir un único fichero y no varios, > para facilitar la ejecución. ( no necesitar tener python instalado, ni > preocuparte por las versiones, como en windows con py2exe) > Y ya me voy a leer la licencia de python, ya que no tengo ni idea, me > pierdo en todas esas cosas. > Aunque pienso, que seria un atraso el impedir que alguien elabore un > software con python, y tenga que publicar el código, ya que queda fuera > del mercado. > Una cosa es no querer patentes de software, pero otra diferente es > regalar tu trabajo. > (esto debería de ser una decisión y no una obligación, creo.) > > De todos modos ya digo que me pierdo en el tema de las licencias, pero > me pondré a echarlas un vistazo. La licencia de Python sí permite distribuir el código cerrado. Por lo que entiendo, que sea compatible GPL quiere decir que puedes utilizar modulos, bibliotecas, código, etc. GPL en tu programa en Python pero, en ese caso, sería la licencia GPL *de esos módulos, bibliotecas, etc* la que te obligaría a publicar tu código como GPL. Así que mientras uses Python y sus pilas ;-) y otros módulos etc. que también estén publicados bajo licencia Python (u otras que lo permitan, como BDS o MIT p.ej.) no tienes problema en hacer con tu código absolutamente lo que te de la gana, incluido no publicar las fuentes, venderlo como software privativo, etc. Sobre esto hay una interesante discusión exactamente en el sentido que comentas en http://www.scipy.org/License_Compatibility ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From listas en soft-com.es Fri Dec 7 13:30:38 2007 From: listas en soft-com.es (=?ISO-8859-1?Q?Oswaldo_Hern=E1ndez?=) Date: Fri, 07 Dec 2007 13:30:38 +0100 Subject: regex, buscar cadenas con comillas Message-ID: <47593CEE.4000001@soft-com.es> Hola a todos, Estoy intentando localizar en una string cadenas que van entre comillas. >>> c = "cadena de ejemplo con 'texto entre comillas'. Fin" >>> m = re.split("('.*')|(\".*\")", c) >>> m ['cadena de ejemplo con ', "'texto entre comillas'", None, '. Fin'] Hasta aqui bien (excepto que no entiendo el None). El problema se me presenta cuando hay mas de un texto entrecomillado: >>> c = "cadena de ejemplo con 'texto entre comillas' y 'otro texto mas'. Fin" >>> m = re.split("('.*')|(\".*\")*", c) >>> m ['cadena de ejemplo con ', "'texto entre comillas' y 'otro texto mas'", None, '. Fin'] En este caso me toma desde la comilla inicial del primer texto hasta el cierre del ultimo como una sola cadena. No doy la la expresion correcta. ¿Alguna ayudita? Gracias. -- ***************************************** Oswaldo Hernández oswaldo (@) soft-com (.) es ***************************************** _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From lasizoillo en gmail.com Fri Dec 7 13:32:07 2007 From: lasizoillo en gmail.com (lasizoillo) Date: Fri, 7 Dec 2007 13:32:07 +0100 Subject: Comandos bash en python. In-Reply-To: <47583F45.3060103@gmail.com> References: <47583C4A.70303@gmail.com> <47583F45.3060103@gmail.com> Message-ID: <49414f570712070432j3e94a0ael89f8d64c1ca6afd5@mail.gmail.com> 2007/12/6, Arnau Sanchez : > g4rr16k wrote: > > > Quisiera saber si hay una forma de utilizar los comandos de Bash de > > Linux en Python. > > Claro. Normalmente se hacía con os.system, ejemplo: > > retcode = os.system("cp /etc/services $HOME") > Pero que tenga cuidado con que hace de esa manera $ HOME="/home/lasi; rm -fr /" $ ./script_con_suid.py > > > Basicamente lo que busco es hacer cosas simples como creacion de > > directorios y creacion de ficheros de textos, en fin, manejo de ficheros. > > Salvo casos excepcionales, no hace falta recurrir a comandos externos, > Python se basta y se sobra, ¿te has mirado el tutorial?: > > http://pyspanishdoc.sourceforge.net/tut/node9.html#SECTION009200000000000000000 > > http://docs.python.org/lib/module-os.html Mucho mejor ;-) _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From antonio.beamud en linkend.net Fri Dec 7 13:41:43 2007 From: antonio.beamud en linkend.net (Antonio Beamud Montero) Date: Fri, 07 Dec 2007 13:41:43 +0100 Subject: regex, buscar cadenas con comillas In-Reply-To: <47593CEE.4000001@soft-com.es> References: <47593CEE.4000001@soft-com.es> Message-ID: <1197031303.5440.13.camel@lujuria.linkend.net> El vie, 07-12-2007 a las 13:30 +0100, Oswaldo Hernández escribió: > Hola a todos, > > Estoy intentando localizar en una string cadenas que van entre comillas. > > >>> c = "cadena de ejemplo con 'texto entre comillas'. Fin" > >>> m = re.split("('.*')|(\".*\")", c) > >>> m > ['cadena de ejemplo con ', "'texto entre comillas'", None, '. Fin'] > Hasta aqui bien (excepto que no entiendo el None). > El problema se me presenta cuando hay mas de un texto entrecomillado: > > >>> c = "cadena de ejemplo con 'texto entre comillas' y 'otro texto mas'. Fin" > >>> m = re.split("('.*')|(\".*\")*", c) > >>> m > ['cadena de ejemplo con ', "'texto entre comillas' y 'otro texto mas'", None, '. Fin'] > > En este caso me toma desde la comilla inicial del primer texto hasta el cierre del ultimo como una > sola cadena. A bote pronto, con que cambies el .* por .*? para hacerlo non-greedy, te debe funcionar sin problemas. Puedes hacer un re.finditer(..) para que te vaya devolviendo los resultados en un iterador... pero vamos, como quieras... > No doy la la expresion correcta. ¿Alguna ayudita? > > Gracias. > ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pyarnau en gmail.com Fri Dec 7 13:42:09 2007 From: pyarnau en gmail.com (Arnau Sanchez) Date: Fri, 07 Dec 2007 13:42:09 +0100 Subject: Comandos bash en python. In-Reply-To: <49414f570712070432j3e94a0ael89f8d64c1ca6afd5@mail.gmail.com> References: <47583C4A.70303@gmail.com> <47583F45.3060103@gmail.com> <49414f570712070432j3e94a0ael89f8d64c1ca6afd5@mail.gmail.com> Message-ID: <47593FA1.9070209@gmail.com> lasizoillo escribió: >> retcode = os.system("cp /etc/services $HOME") > > Pero que tenga cuidado con que hace de esa manera > > $ HOME="/home/lasi; rm -fr /" > $ ./script_con_suid.py Haces bien en mencionarlo, usar la shell abre un potencial agujero de seguridad. En cualquier caso, creo que está absolutamente desaconsejado usar python para ejecutables SUID. >> http://pyspanishdoc.sourceforge.net/tut/node9.html#SECTION009200000000000000000 >> >> http://docs.python.org/lib/module-os.html > > Mucho mejor ;-) Pero olvidé enlazar las entradas del FAQ: http://pythonesfaq.k-rolus.net/#index51h3 http://pythonesfaq.k-rolus.net/#index21h3 arnau _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From listas en soft-com.es Fri Dec 7 14:00:00 2007 From: listas en soft-com.es (=?UTF-8?B?T3N3YWxkbyBIZXJuw6FuZGV6?=) Date: Fri, 07 Dec 2007 14:00:00 +0100 Subject: regex, buscar cadenas con comillas In-Reply-To: <1197031303.5440.13.camel@lujuria.linkend.net> References: <47593CEE.4000001@soft-com.es> <1197031303.5440.13.camel@lujuria.linkend.net> Message-ID: <475943D0.7090905@soft-com.es> Antonio Beamud Montero escribió: > El vie, 07-12-2007 a las 13:30 +0100, Oswaldo Hernández escribió: >> Hola a todos, >> >> Estoy intentando localizar en una string cadenas que van entre comillas. >> >> >>> c = "cadena de ejemplo con 'texto entre comillas'. Fin" >> >>> m = re.split("('.*')|(\".*\")", c) >> >>> m >> ['cadena de ejemplo con ', "'texto entre comillas'", None, '. Fin'] > >> Hasta aqui bien (excepto que no entiendo el None). >> El problema se me presenta cuando hay mas de un texto entrecomillado: >> >> >>> c = "cadena de ejemplo con 'texto entre comillas' y 'otro texto mas'. Fin" >> >>> m = re.split("('.*')|(\".*\")*", c) >> >>> m >> ['cadena de ejemplo con ', "'texto entre comillas' y 'otro texto mas'", None, '. Fin'] >> >> En este caso me toma desde la comilla inicial del primer texto hasta el cierre del ultimo como una >> sola cadena. > > > A bote pronto, con que cambies el .* por .*? para hacerlo non-greedy, te > debe funcionar sin problemas. > >>> c = "ejemplo con 'entre comillas', y 'otro mas' y \"un tercero\" Fin" >>> m = re.split("('.*?')|(\".*?\")", c) >>> m ['ejemplo con ', "'entre comillas'", None, ', y ', "'otro mas'", None, ' y ', None, '"un tercero"', ' Fin'] Perfecto :) Gracias. -- ***************************************** Oswaldo Hernández oswaldo (@) soft-com (.) es ***************************************** ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From rolandojtorres en gmail.com Fri Dec 7 14:16:06 2007 From: rolandojtorres en gmail.com (rolandojtorres) Date: Fri, 7 Dec 2007 08:16:06 -0500 Subject: ejecutable de linux Message-ID: <47594772.07035a0a.583a.2636@mx.google.com> El Viernes, 7 de Diciembre de 2007 11:18, Josu Rodríguez escribió: > A ver, la idea es que el código no se vea hasta que este terminado. Para que quiere que no se vea, si por el contrario podría encontrar personas que le ayuden a desarrollar y mejorar el software. > Ya que será un software libre, pero cuando se termine, o esa era mi > idea. También la idea era de distribuir un único fichero y no varios, Para distribuir un fichero empáquetelo en un R.P.M. o un pack. > para facilitar la ejecución. ( no necesitar tener python instalado, ni > preocuparte por las versiones, como en Windows con py2exe) Ya hay varios wrappers en TCL y creo que para python también existen. > Y ya me voy a leer la licencia de python, ya que no tengo ni idea, me > pierdo en todas esas cosas. > Aunque pienso, que seria un atraso el impedir que alguien elabore un > software con python, y tenga que publicar el código, ya que queda fuera > del mercado. > Una cosa es no querer patentes de software, pero otra diferente es > regalar tu trabajo. Que tal este sujeto? En realidad no creo que el código que aporta sea del 1% del software y piensa cobrar como si hubiese aportado el 100%, desarrollado el lenguaje y el Sistema Operativo. El GNU se creo para combatir este tipo de programadores explotadores, que creen que su trabajo deben cobrarlo por cada copia que le hagan al software y peor aun usando código que fue generado y desarrollado por otros que no quisieron cobrarlo. Este sujeto es como el proxeneta que se acostaría con la hermana y la vendería a sus amigos, para que se acostaran con ella cobraría por todo y estaría molesto porque la hermana le reprocha su maltrato mientras el se sacrifica cuidando que no venga su madre y los descubra. No solo se aprovecha del código libre tanto de Linux como de python, sino que quiere venderle el programa a sus amigos, y se queja porque el puso menos del 1% del código fuente y solo esta buscando quedarse con el 100% del producido y todas las copias. Si quiere vender y hacerse rico con un pinche software, pásese a Windows y desarrolle con .Net Déjenos el python libre, y respete la opción de otros a compartir el código sin cobrar por el. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From marcos.garrido en gmail.com Fri Dec 7 14:33:23 2007 From: marcos.garrido en gmail.com (Marcos Garrido) Date: Fri, 07 Dec 2007 10:33:23 -0300 Subject: ejecutable de linux In-Reply-To: References: Message-ID: <1197034403.7284.4.camel@spitfire-laptop> Es normal y hasta sano querer proteger tu código en lo referente al desarrollo. Hay que hacer hincapié que el desarrollo de aplicaciones con software libre no te ata a hacer código de fuente abierta. ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From jrvilda en gmail.com Fri Dec 7 15:09:41 2007 From: jrvilda en gmail.com (Josu Rodriguez) Date: Fri, 7 Dec 2007 15:09:41 +0100 Subject: ejecutable de linux In-Reply-To: <47594772.07035a0a.583a.2636@mx.google.com> References: <47594772.07035a0a.583a.2636@mx.google.com> Message-ID: La verdad, que tu ayuda no sirve de nada. Tu eres el que intentas vender tus opciones, y tus ideas. En vez de enseñar, a realizar las cosas pierdes el tiempo y haces perder el de los demas con un discurso El día 7/12/07, rolandojtorres escribió: > > El ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From a.porrua en gmail.com Fri Dec 7 15:17:45 2007 From: a.porrua en gmail.com (tny) Date: Fri, 07 Dec 2007 15:17:45 +0100 Subject: ejecutable de linux In-Reply-To: <1197034403.7284.4.camel@spitfire-laptop> References: <1197034403.7284.4.camel@spitfire-laptop> Message-ID: <1197037065.10306.9.camel@skynet> Un producto con el código accesible ofrece más garantías para los usuarios. Sin las fuentes no se puede saber si el programa está plagado de bugs, puertas traseras, y parches chapuceros para salir del paso. Si quieres proteger tu trabajo licéncialo de un modo apropiado, y deja el código accesible para la tranquilidad de tus usuarios. Así si tienes suerte y microsoft roba tú código podrás meterle un pleito y quitarle hasta los calzoncillos de miky mouse. ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From mauroka en gmail.com Fri Dec 7 15:19:29 2007 From: mauroka en gmail.com (=?ISO-8859-1?Q?Mauro_S=E1nchez?=) Date: Fri, 7 Dec 2007 11:19:29 -0300 Subject: ejecutable de linux In-Reply-To: <47594772.07035a0a.583a.2636@mx.google.com> References: <47594772.07035a0a.583a.2636@mx.google.com> Message-ID: <3c924a250712070619re0ac2e7sf822bb2a892fa56f@mail.gmail.com> El 7/12/07, rolandojtorres escribió: > El Viernes, 7 de Diciembre de 2007 11:18, Josu Rodríguez escribió: > > A ver, la idea es que el código no se vea hasta que este terminado. > > Para que quiere que no se vea, si por el contrario podría encontrar personas que le ayuden a desarrollar y mejorar el software. > Cada uno tendrá sus razones para elegir un tipo de licencia u otra a la hora de distribuir su software. > > Ya que será un software libre, pero cuando se termine, o esa era mi > > idea. También la idea era de distribuir un único fichero y no varios, > > Para distribuir un fichero empáquetelo en un R.P.M. o un pack. > > > para facilitar la ejecución. ( no necesitar tener python instalado, ni > > preocuparte por las versiones, como en Windows con py2exe) > Ya lo he dicho antes, PyInstaller http://pyinstaller.python-hosting.com/ > > Que tal este sujeto? > En realidad no creo que el código que aporta sea del 1% del software y piensa cobrar como si hubiese aportado el 100%, desarrollado el lenguaje y el Sistema Operativo. > > El GNU se creo para combatir este tipo de programadores explotadores, que creen que su trabajo deben cobrarlo por cada copia que le hagan al software y peor aun usando código que fue generado y desarrollado por otros que no quisieron cobrarlo. > En realidad el proyecto GNU se creó por razones totalmente diferentes, fundamentalmente por una cuestión de libertad. Además aclaro que uno puede distribuir su software con licencia GPL y cobrar el dinero que uno crea y por la cantidad de copias que uno quiera. Es más, si uno quiere puede grabar python en un cd y vendertelo al precio que crea razonable. > Este sujeto es como el proxeneta que se acostaría con la hermana y la vendería a sus amigos, para que se acostaran con ella cobraría por todo y estaría molesto porque la hermana le reprocha su maltrato mientras el se sacrifica cuidando que no venga su madre y los descubra. > Este ejemplo es cualquiera y no va a la lista. > No solo se aprovecha del código libre tanto de Linux como de python, sino que quiere venderle el programa a sus amigos, y se queja porque el puso menos del 1% del código fuente y solo esta buscando quedarse con el 100% del producido y todas las copias. > > Si quiere vender y hacerse rico con un pinche software, pásese a Windows y desarrolle con .Net > Las acciones de Red Hat se vendieron en cientos de millones cuando salieron a la venta. > Déjenos el python libre, y respete la opción de otros a compartir el código sin cobrar por el. > No vi que en ningún momento no la respete. El que debería respetar la opción de los otros por compartir o no el código creo que es ud. Saludos. Mauro Sánchez. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From gustavo.pardo en dataneu.com Fri Dec 7 16:08:18 2007 From: gustavo.pardo en dataneu.com (Gustavo Pardo) Date: Fri, 07 Dec 2007 12:08:18 -0300 Subject: Novato en Python en busca de IDE Message-ID: <475961E2.7000603@dataneu.com> hola amigos, me presento soy Gustavo y recién ayer comencé con python. quisiera saber si me recomiendan algún ide en especial para el diseño de las GUI con wxpython. tengo instalado: python 2.5.1 wxpyton 2.8.4 os: mandriva 2008 como ides he probado: boa 0.6.1 wxglade 0.5 honestamente me cuesta bastante acostumbrarme a ellos, aunque sé que todavía no completo ni un día de trabajo con ellos. hasta ahora vengo programando en php con eclipse y bluefish. pero consulto porque tal vez lo que llevan más tiempo con wxpython conozcan alguna herramienta que por allí se me ha pasado cuando busqué. desde ya, agradezco cualquier sugerencia. saludos. -- Gustavo Pardo Dataneu Argentina Software & Web Hosting Mail: gustavo.pardo en dataneu.com Web: http://dataneu.com/ Tel.(+54 299) 489 6880 Centenario, NQN - Argentina _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From peonblanco83 en gmail.com Fri Dec 7 16:10:13 2007 From: peonblanco83 en gmail.com (Peon Blanco) Date: Fri, 7 Dec 2007 08:10:13 -0700 Subject: llamar ventana desde un boton en glade In-Reply-To: <1196976552.7673.7.camel@cucusa> References: <5e8f1bae0712061304l273757c8p5dc514a0509f2291@mail.gmail.com> <1196976552.7673.7.camel@cucusa> Message-ID: bueno este es el codigo lo que son la clase login y opciones estan echo con simple-glade-codegen.py y pues quiero que si el login es correcto lance la pantalla de opciones y borre la de el login bueno espero que con este codigo me puedan ayudar gracias a todos por ayudar #!/usr/bin/env python # -*- coding: iso-8859-1 -*- import os, gtk, pg from SimpleGladeApp import SimpleGladeApp glade_dir = "" class LOGIN(SimpleGladeApp): def __init__(self, glade_path="INVENTARIO.glade", root="LOGIN", domain=None): glade_path = os.path.join(glade_dir, glade_path) SimpleGladeApp.__init__(self, glade_path, root, domain) def new(self): #context LOGIN.new { print "A new LOGIN has been created" #context LOGIN.new } def on_buttonENTRAR_clicked(self, widget, *args): #context LOGIN.on_buttonENTRAR_clicked { #print "on_buttonENTRAR_clicked called with self.%s" % widget.get_name() #context LOGIN.on_buttonENTRAR_clicked } lo = self.OPCIONES() lo() USUARIO = self.entryUSUARIO.get_text() CLAVE = self.entryCLAVE.get_text() conn = pg.connect (user="postgres",dbname="USUARIO") self.entryUSUARIO.set_text("") self.entryCLAVE.set_text("") sql = ("""SELECT "usuario" FROM "usuario" WHERE "usuario" = '%s';""")%USUARIO sqL_1 = ("""SELECT "clave" FROM "usuario" WHERE "clave" = '%s';""")%CLAVE for x in conn.query(sql).getresult(): US = x[0] for x in conn.query(sqL_1).getresult(): CL = x[0] try: if US == USUARIO and CL == CLAVE: self.label5.set_text("BIENBENIDO AL SISTEMA") except: self.label5.set_text("LOGIN INCORRECTO") class OPCIONES(SimpleGladeApp): def __init__(self, glade_path="INVENTARIO.glade", root="OPCIONES", domain=None): glade_path = os.path.join(glade_dir, glade_path) SimpleGladeApp.__init__(self, glade_path, root, domain) def new(self): #context OPCIONES.new { print "A new OPCIONES has been created" #context OPCIONES.new } def main(): l_oGIN = LOGIN() o_pCIONES = OPCIONES() l_oGIN.run() if __name__ == "__main__": main() _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From mauroka en gmail.com Fri Dec 7 16:22:14 2007 From: mauroka en gmail.com (=?ISO-8859-1?Q?Mauro_S=E1nchez?=) Date: Fri, 7 Dec 2007 12:22:14 -0300 Subject: Novato en Python en busca de IDE In-Reply-To: <475961E2.7000603@dataneu.com> References: <475961E2.7000603@dataneu.com> Message-ID: <3c924a250712070722l14656ff7q4dd2af679eda890d@mail.gmail.com> El 7/12/07, Gustavo Pardo escribió: > hola amigos, > Hola. > me presento soy Gustavo y recién ayer comencé con python. > > quisiera saber si me recomiendan algún ide en especial para el diseño de las GUI > con wxpython. > > tengo instalado: > python 2.5.1 > wxpyton 2.8.4 > os: mandriva 2008 > > como ides he probado: > boa 0.6.1 > wxglade 0.5 > Podrías probar con PythonCard [1] ya que estás haciendo pruebas. [1] http://pythoncard.sourceforge.net/ Saludos. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From rolandojtorres en gmail.com Fri Dec 7 16:37:29 2007 From: rolandojtorres en gmail.com (rolandojtorres) Date: Fri, 7 Dec 2007 10:37:29 -0500 Subject: ejecutable de linux Message-ID: <47596896.01025a0a.1fdc.ffff926e@mx.google.com> Bueno Perdón por el mensaje anterior me exalto mucho que alguien pudiera pensar que podría comercializar y sacar ventaja económica de algo que no a trabajado ni en un 1%. Pero si el GPL lo permite y los demás lo aceptan, ni modo. Mi objetivo era vender mi idea y que me la compraran rechazando este tipo de practica, pero me va tocar dejar que cada uno actúe según sus intereses económicos y su consciencia. El Viernes, 7 de Diciembre de 2007 11:18, Josué Rodríguez escribió: > > A ver, la idea es que el código no se vea hasta que este terminado. El ultimo wrapper de TCL el freewrapper 6.2 empaqueta en un archivo ejecutable comprimido con contraseña un software programado en TCL. Este genera un archivo ejecutable, que permite ejecutar el codigo sin tener el TCL instalado, aunque este archivo generado no es multiplataforma, el freewraper si lo es, y ademas empaqueta de forma cruzada, entonces uno toma el codigo fuente y desde linux puede generar ejecutables para linux y windows. Entonces lo que buscan es un freewraper pero para Python. En python podrias hacer un procedimiento para codificar a 64 bits y empaquetar el codigo en una cadena y encriptarla, en el momento de ejecutar el programa se desencripta, se decodifica y se ejecuta. Si vas a usar muchos archivos, comprimalos en zip que permite encriptar y codifiquelos en 64 bits, y guardelo junto con el ejecutable. De esta forma trabaja el wrapper de TCL. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From g4rr16k en gmail.com Fri Dec 7 17:00:56 2007 From: g4rr16k en gmail.com (g4rr16k) Date: Fri, 07 Dec 2007 10:00:56 -0600 Subject: Comandos bash en python. In-Reply-To: <47593FA1.9070209@gmail.com> References: <47583C4A.70303@gmail.com> <47583F45.3060103@gmail.com> <49414f570712070432j3e94a0ael89f8d64c1ca6afd5@mail.gmail.com> <47593FA1.9070209@gmail.com> Message-ID: <47596E38.60406@gmail.com> Arnau Sanchez wrote: > lasizoillo escribió: > >>> retcode = os.system("cp /etc/services $HOME") >> >> Pero que tenga cuidado con que hace de esa manera >> >> $ HOME="/home/lasi; rm -fr /" >> $ ./script_con_suid.py > > Haces bien en mencionarlo, usar la shell abre un potencial agujero de > seguridad. > > En cualquier caso, creo que está absolutamente desaconsejado usar > python para ejecutables SUID. > >>> http://pyspanishdoc.sourceforge.net/tut/node9.html#SECTION009200000000000000000 >>> >>> >>> http://docs.python.org/lib/module-os.html >> >> Mucho mejor ;-) > > Pero olvidé enlazar las entradas del FAQ: > > http://pythonesfaq.k-rolus.net/#index51h3 > > http://pythonesfaq.k-rolus.net/#index21h3 > > arnau > _______________________________________________ > Lista de correo Python-es http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > Estaba leyendo el tutorial, vaya, es de lo mejor, tambien el FAQ. Por cierto, no habia pensado lo de los agujeros de seguridad. Gracias y saludos! _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From juatman_2000 en yahoo.es Sat Dec 8 10:56:04 2007 From: juatman_2000 en yahoo.es (Juan M.) Date: Sat, 8 Dec 2007 10:56:04 +0100 Subject: Novato en Python en busca de IDE References: <475961E2.7000603@dataneu.com> Message-ID: <095201c83980$94cd78b0$cb8ae050@equipo> Hola Gustavo y a los demás amigos: Ya que estás acostumbrado a Eclipse, puedes probar EasyEclipse con PyDev: http://easyeclipse.org/site/plugins/pydev.html , lo que más me gusta es su depuración paso a paso. :-) Para crear el interfaz gráfico de usuario, no está mal PythonCard, WxGlade, y si no necesitas diseño visual, pero quieres utilizar las Wx de una manera muy sencilla, está saliendo Meide: http://code.google.com/p/meide/wiki/ExAmple2 <- ¿Para qué hacer en 34 líneas de código, lo que puedes hacer en 8? ;-). Esto hablando de las Wx que fueron las bibliotecas que elegí para crear el GUI de mis primero programillas de ensayo. Aunque puestos a pedir a los Reyes Magos, me gustaría que existiese un IDE en Python que lo integrase todo, como Boa, pero que no falle tanto, y además que permitiese con muy pocos cambios, crear visualmente el interfaz para la web, el escritorio y los móviles/PDAs. Lo que a lo mejor sólo puede hacerse con IronPython, Jython, y Boo (Una modalidad de Python). Saludos a todos. :-) _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From teritriano en gmail.com Sat Dec 8 14:33:19 2007 From: teritriano en gmail.com (Oscar (.teri) Triano) Date: Sat, 8 Dec 2007 14:33:19 +0100 Subject: Novato en Python en busca de IDE In-Reply-To: <475961E2.7000603@dataneu.com> References: <475961E2.7000603@dataneu.com> Message-ID: <8c50b5f00712080533w73827e51qd8fcb2b3c28628b6@mail.gmail.com> El día 7/12/07, Gustavo Pardo escribió: > > hola amigos, > > me presento soy Gustavo y recién ayer comencé con python. > > quisiera saber si me recomiendan algún ide en especial para el diseño de > las GUI > con wxpython. > > tengo instalado: > python 2.5.1 > wxpyton 2.8.4 > os: mandriva 2008 > > como ides he probado: > boa 0.6.1 > wxglade 0.5 > > honestamente me cuesta bastante acostumbrarme a ellos, aunque sé que > todavía no > completo ni un día de trabajo con ellos. > hasta ahora vengo programando en php con eclipse y bluefish. > > pero consulto porque tal vez lo que llevan más tiempo con wxpython > conozcan > alguna herramienta que por allí se me ha pasado cuando busqué. > > desde ya, agradezco cualquier sugerencia. > saludos. Puedes probar con wxglade . Yo personalmente uso GTK+, pero son cosas mías. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From minoztro en gmail.com Sun Dec 9 00:58:05 2007 From: minoztro en gmail.com (Milton Galo Patricio Inostroza Aguilera) Date: Sat, 8 Dec 2007 20:58:05 -0300 Subject: llamar ventana desde un boton en glade In-Reply-To: References: <5e8f1bae0712061304l273757c8p5dc514a0509f2291@mail.gmail.com> <1196976552.7673.7.camel@cucusa> Message-ID: <172699c50712081558k6b32b85dt745e05431dae5bb7@mail.gmail.com> 2007/12/7, Peon Blanco : > bueno este es el codigo lo que son la clase login y opciones estan > echo con simple-glade-codegen.py > > y pues quiero que si el login es correcto lance la pantalla de opciones > y borre la de el login bueno espero que con este codigo me puedan ayudar > > gracias a todos por ayudar > > #!/usr/bin/env python > # -*- coding: iso-8859-1 -*- > > > import os, gtk, pg > from SimpleGladeApp import SimpleGladeApp > > glade_dir = "" > > > class LOGIN(SimpleGladeApp): > def __init__(self, glade_path="INVENTARIO.glade", root="LOGIN", domain=None): > glade_path = os.path.join(glade_dir, glade_path) > SimpleGladeApp.__init__(self, glade_path, root, domain) > > def new(self): > #context LOGIN.new { > print "A new LOGIN has been created" > #context LOGIN.new } > > > def on_buttonENTRAR_clicked(self, widget, *args): > #context LOGIN.on_buttonENTRAR_clicked { > #print "on_buttonENTRAR_clicked called with self.%s" % widget.get_name() > #context LOGIN.on_buttonENTRAR_clicked } > lo = self.OPCIONES() > lo() > > USUARIO = self.entryUSUARIO.get_text() > CLAVE = self.entryCLAVE.get_text() > > conn = pg.connect (user="postgres",dbname="USUARIO") > self.entryUSUARIO.set_text("") > self.entryCLAVE.set_text("") > sql = ("""SELECT "usuario" FROM "usuario" WHERE "usuario" = '%s';""")%USUARIO > sqL_1 = ("""SELECT "clave" FROM "usuario" WHERE "clave" = '%s';""")%CLAVE > > for x in conn.query(sql).getresult(): > US = x[0] > for x in conn.query(sqL_1).getresult(): > CL = x[0] > > try: > if US == USUARIO and CL == CLAVE: > self.label5.set_text("BIENBENIDO AL SISTEMA") > except: > self.label5.set_text("LOGIN INCORRECTO") > > > > class OPCIONES(SimpleGladeApp): > def __init__(self, glade_path="INVENTARIO.glade", root="OPCIONES", > domain=None): en INVENTARIO.glade que nombre le pusiste a la "ventanita"?? > glade_path = os.path.join(glade_dir, glade_path) > SimpleGladeApp.__init__(self, glade_path, root, domain) > > def new(self): > #context OPCIONES.new { > print "A new OPCIONES has been created" > #context OPCIONES.new } > > > def main(): > l_oGIN = LOGIN() > o_pCIONES = OPCIONES() > > l_oGIN.run() > > > if __name__ == "__main__": > main() > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Milton Inostroza Aguilera _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From jrvilda en gmail.com Sun Dec 9 11:18:08 2007 From: jrvilda en gmail.com (Josu Rodriguez) Date: Sun, 9 Dec 2007 11:18:08 +0100 Subject: Novato en Python en busca de IDE In-Reply-To: <8c50b5f00712080533w73827e51qd8fcb2b3c28628b6@mail.gmail.com> References: <475961E2.7000603@dataneu.com> <8c50b5f00712080533w73827e51qd8fcb2b3c28628b6@mail.gmail.com> Message-ID: Yo uso VisualWx, en una máquina virtual windows desde linux. Es un software para windows, y es free, no libre. Creo que tiene la calidad bastante mas que depurada, y agrupa todo lo que necesitas, una interfaces gráfica, y también un modo en en testo, y opciones para añadir nuevas librerías que no vengan con el programa.(faltaria un poco mas de documentación sobre las opciones avanzadas) Aun que no sea un software libre, se trabaja muy cómodamente. Posiblemente no este para linux, por la idea tan fascista que algunos divulgan de que en linux tiene que ser todo libre. Ojala esa idea cambie poco a poco y podamos tener software de calidad en la que empresas tengan a un grupo de programadores y departamento de calidad, empeñando horas y horas pudiendo ser gratificados. Sera el único modo que software de gran calidad como dreamweaber, flash, photoshop (existe gimp que se le acerca pero ... ) y juegos de ultima generación, puedan disfrutarse en linux. De echo estoy seguro que liberarían código de versiones anteriores, mas fácilmente. Pudiendo ser aprovechadas por la comunidad de software libre. El día 8/12/07, Oscar (.teri) Triano escribió: > > El día 7/12/07, Gustavo Pardo escribió: > > > > hola amigos, > > > > me presento soy Gustavo y recién ayer comencé con python. > > > > quisiera saber si me recomiendan algún ide en especial para el diseño de > > las GUI > > con wxpython. > > > > tengo instalado: > > python 2.5.1 > > wxpyton 2.8.4 > > os: mandriva 2008 > > > > como ides he probado: > > boa 0.6.1 > > wxglade 0.5 > > > > honestamente me cuesta bastante acostumbrarme a ellos, aunque sé que > > todavía no > > completo ni un día de trabajo con ellos. > > hasta ahora vengo programando en php con eclipse y bluefish. > > > > pero consulto porque tal vez lo que llevan más tiempo con wxpython > > conozcan > > alguna herramienta que por allí se me ha pasado cuando busqué. > > > > desde ya, agradezco cualquier sugerencia. > > saludos. > > > Puedes probar con wxglade . Yo > personalmente uso GTK+, pero son cosas mías. > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Josu Rodriguez Vilda ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Visita mi web en wowberk - http://www.ivanfl.com/jrvilda Colaborador en launchpad - https://launchpad.net/~jrvilda MCP https://mcp.support.microsoft.com/profile/JOSU ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From jsemari en terra.es Sun Dec 9 18:39:35 2007 From: jsemari en terra.es (Josemari) Date: Sun, 09 Dec 2007 18:39:35 +0100 Subject: Novato en Python en busca de IDE In-Reply-To: References: <475961E2.7000603@dataneu.com> <8c50b5f00712080533w73827e51qd8fcb2b3c28628b6@mail.gmail.com> Message-ID: <475C2857.7080407@terra.es> Es que el ORACLE que corre en Linux es gratis? Saludos Josemari Josu Rodriguez escribió: > Yo uso VisualWx, en una máquina virtual windows desde linux. > Es un software para windows, y es free, no libre. > Creo que tiene la calidad bastante mas que depurada, y agrupa todo lo que > necesitas, una interfaces gráfica, y también un modo en en testo, y opciones > para añadir nuevas librerías que no vengan con el programa.(faltaria un poco > mas de documentación sobre las opciones avanzadas) > Aun que no sea un software libre, se trabaja muy cómodamente. > Posiblemente no este para linux, por la idea tan fascista que algunos > divulgan de que en linux tiene que ser todo libre. > Ojala esa idea cambie poco a poco y podamos tener software de calidad en la > que empresas tengan a un grupo de programadores y departamento de calidad, > empeñando horas y horas pudiendo ser gratificados. Sera el único modo que > software de gran calidad como dreamweaber, flash, photoshop (existe gimp que > se le acerca pero ... ) y juegos de ultima generación, puedan disfrutarse en > linux. > De echo estoy seguro que liberarían código de versiones anteriores, mas > fácilmente. Pudiendo ser aprovechadas por la comunidad de software libre. > > El día 8/12/07, Oscar (.teri) Triano escribió: > >> El día 7/12/07, Gustavo Pardo escribió: >> >>> hola amigos, >>> >>> me presento soy Gustavo y recién ayer comencé con python. >>> >>> quisiera saber si me recomiendan algún ide en especial para el diseño de >>> las GUI >>> con wxpython. >>> >>> tengo instalado: >>> python 2.5.1 >>> wxpyton 2.8.4 >>> os: mandriva 2008 >>> >>> como ides he probado: >>> boa 0.6.1 >>> wxglade 0.5 >>> >>> honestamente me cuesta bastante acostumbrarme a ellos, aunque sé que >>> todavía no >>> completo ni un día de trabajo con ellos. >>> hasta ahora vengo programando en php con eclipse y bluefish. >>> >>> pero consulto porque tal vez lo que llevan más tiempo con wxpython >>> conozcan >>> alguna herramienta que por allí se me ha pasado cuando busqué. >>> >>> desde ya, agradezco cualquier sugerencia. >>> saludos. >>> >> Puedes probar con wxglade . Yo >> personalmente uso GTK+, pero son cosas mías. >> _______________________________________________ >> Lista de correo Python-es >> http://listas.aditel.org/listinfo/python-es >> FAQ: http://listas.aditel.org/faqpyes >> >> > > > > > ------------------------------------------------------------------------ > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From lcabrera en sauco.org Sun Dec 9 20:37:29 2007 From: lcabrera en sauco.org (Luis Cabrera Sauco) Date: Sun, 9 Dec 2007 19:37:29 +0000 Subject: Novato en Python en busca de IDE In-Reply-To: References: <475961E2.7000603@dataneu.com> <8c50b5f00712080533w73827e51qd8fcb2b3c28628b6@mail.gmail.com> Message-ID: <20071209193729.GA7205@sauco.org> No entro al trapo. Solo comentar que podrías haber meditado un poco tu discurso, tratar de buscar mejores argumentos y sobre todo, no insultar a nadie imponiendo calificativos que no vienen a cuento. Si estás contento con el software privativo, bien por tí, pero no llames fascista a aquel que no comulgue contigo. Saludos PD: No te molestes en responderme, que yo no responderé más. ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: Digital signature URL: ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From necudeco en gmail.com Mon Dec 10 02:56:06 2007 From: necudeco en gmail.com (necudeco) Date: Mon, 10 Dec 2007 01:56:06 +0000 Subject: Problemillas con Django Message-ID: <2ccb93070712091756q5da18916ga59bc38c55eb36f1@mail.gmail.com> Holas a todos, estoy empezando a jugar con django y me he topado con un problema ( si busque en google y na :P ) El tema es que me he creado un modelo, y sync con la base de datos. HAsta ahi todo normal, al app funcionaba bien. Luego tuve q cambiar el modelo y la aplicacion ya no funcionaba , obviamente hice un python manager.py syncdb. Para confirmar borre la base de datos ( sqlite ) y otra vez sincronize. Como seguia igual borre todos los *.py? ( .pyc y .pyo ) por si era que estaba usando el codigo precompilado y no el fuente, y volvi a sincronizar y nada. Sigue sin crearme los nuevos campos en la base de datos ( lo revise con un cliente para sqlite ) Alguien me puede echar un cable ? Gracias -- NeCuDeCo Asociacion Peruana de Software Libre http://necudeco.com http://apesol.org Your Jugdment Day is NOW sudo kills -9 $richard_penguin_signature _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pau.cervera en gmail.com Mon Dec 10 09:58:22 2007 From: pau.cervera en gmail.com (Pau Cervera) Date: Mon, 10 Dec 2007 09:58:22 +0100 Subject: Barcelona Python Meetup Group In-Reply-To: <200711282348.17898.jordi.f@ati.es> References: <621AB323-C9A0-40E9-A519-929F2B1E51E6@yaco.es> <20071127190112.GA8992@pinux.info> <200711282348.17898.jordi.f@ati.es> Message-ID: <932c33150712100058x2d054019t8e50fd7c744a475@mail.gmail.com> Ups!, lo vi demasiado tarde. Pero me acabo de juntar al grupo. Hasta la próxima. On Nov 28, 2007 11:48 PM, Jordi Funollet wrote: > Carles Pina i Estany dixit: > > por allá estaré :-) > > Servidor también. Hasta mañana. :-) > -- > ############################## > ### Jordi Funollet > ### http://www.terraquis.net > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Pau ------ "Boileau said that Kings, Gods and Heroes only were fit subjects for literature. The writer can only write about what he admires. Present-day kings aren't very inspiring, the gods are on a vacation and about the only heroes left are the scientists and the poor." -- John Steinbeck Important visitar: http://sindominio.net/biblioweb/pensamiento/softlibre/index.html _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From camontuyu en gmail.com Mon Dec 10 09:44:14 2007 From: camontuyu en gmail.com (Beni) Date: Mon, 10 Dec 2007 09:44:14 +0100 Subject: Problemillas con Django In-Reply-To: <2ccb93070712091756q5da18916ga59bc38c55eb36f1@mail.gmail.com> References: <2ccb93070712091756q5da18916ga59bc38c55eb36f1@mail.gmail.com> Message-ID: <8a19bc7c0712100044s51a4df7fs8ec53a61f88d9337@mail.gmail.com> On Dec 10, 2007 2:56 AM, necudeco wrote: > Holas a todos, estoy empezando a jugar con django y me he topado con un > problema ( si busque en google y na :P ) > > El tema es que me he creado un modelo, y sync con la base de datos. HAsta > ahi todo normal, al app funcionaba bien. > > Luego tuve q cambiar el modelo y la aplicacion ya no funcionaba , > obviamente > hice un python manager.py syncdb. > > Para confirmar borre la base de datos ( sqlite ) y otra vez sincronize. > Como > seguia igual borre todos los *.py? ( .pyc y .pyo ) por si era que estaba > usando el codigo precompilado y no el fuente, y volvi a sincronizar y > nada. > Sigue sin crearme los nuevos campos en la base de datos ( lo revise con un > cliente para sqlite ) > > Alguien me puede echar un cable ? > > Gracias > > Yo hago la misma operación que tú. En local trabajo con una base de datos sqlite. Si modifico los modelos, borro el fichero de sqlite y hago un syncdb. Con este proceso no tengo ningún problema. Te sale algún tipo de error, despues de borrar y hacer el syncdb? Saludos. ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From damufo en gmail.com Mon Dec 10 11:06:40 2007 From: damufo en gmail.com (damufo) Date: Mon, 10 Dec 2007 11:06:40 +0100 Subject: Capturar dato de un Grid In-Reply-To: References: Message-ID: <475D0FB0.40204@gmail.com> Esto te muestra la columna 1 de la fila seleccionada. a lo mejor te sirve para seguir investigando. self.grilla.GetCellValue(self.grilla.GetGridCursorRow(),1) Manuel Enrique González Ramírez escribiu: > Cordial saludo. > > Esta es la cuestion: > - Tengo un form (frm_listadatos) en VisualWX con un Grid (denominado grilla) > que tienes 4 columnas (codigo,articulo,categori,existencias), al abrirlo el > muestra los datos en grilla a traves de una consulta Mysql. > > - Tengo otro form (frm_recibelistado) con 2 TextCtrl (codigo,articulo). > > *** Necesito que al hacer doble clic en la celda X de la columna Codigo o > Articulo de la grilla, los datos que aparecen alli pasen al form > frm_recibelistado. > > Ohhh y ahora quien podra ayudarme??? > > Gracias a todos aquellos que me puedan colaborar. > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From rapto en arrakis.es Mon Dec 10 11:11:13 2007 From: rapto en arrakis.es (Marcos =?ISO-8859-1?Q?S=E1nchez?= Provencio) Date: Mon, 10 Dec 2007 11:11:13 +0100 Subject: Problemillas con Django In-Reply-To: <2ccb93070712091756q5da18916ga59bc38c55eb36f1@mail.gmail.com> References: <2ccb93070712091756q5da18916ga59bc38c55eb36f1@mail.gmail.com> Message-ID: <1197281473.7240.2.camel@savin> Eso debería valer... El lun, 10-12-2007 a las 01:56 +0000, necudeco escribió: > Para confirmar borre la base de datos ( sqlite ) y otra vez sincronize PS Hay lista de django-es en django-es en googlegroups.com ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From necudeco en gmail.com Mon Dec 10 12:15:37 2007 From: necudeco en gmail.com (necudeco) Date: Mon, 10 Dec 2007 11:15:37 +0000 Subject: Problemillas con Django In-Reply-To: <1197281473.7240.2.camel@savin> References: <2ccb93070712091756q5da18916ga59bc38c55eb36f1@mail.gmail.com> <1197281473.7240.2.camel@savin> Message-ID: <2ccb93070712100315n4c6b0969lc389a2d0d33540a9@mail.gmail.com> Perdon, me equivoque al guardar el fichero y no estaba leyendo la nueva version. :$ On Dec 10, 2007 10:11 AM, Marcos Sánchez Provencio wrote: > Eso debería valer... > > > El lun, 10-12-2007 a las 01:56 +0000, necudeco escribió: > > Para confirmar borre la base de datos ( sqlite ) y otra vez sincronize > > > > PS Hay lista de django-es en django-es en googlegroups.com > > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- NeCuDeCo Asociacion Peruana de Software Libre http://necudeco.com http://apesol.org Your Jugdment Day is NOW sudo kills -9 $richard_penguin_signature _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pych3m4 en gmail.com Mon Dec 10 15:17:58 2007 From: pych3m4 en gmail.com (Chema Cortes) Date: Mon, 10 Dec 2007 15:17:58 +0100 Subject: regex, buscar cadenas con comillas In-Reply-To: <475943D0.7090905@soft-com.es> References: <47593CEE.4000001@soft-com.es> <1197031303.5440.13.camel@lujuria.linkend.net> <475943D0.7090905@soft-com.es> Message-ID: <2c9fb0dd0712100617w3d2237c2o8c11a6158352f696@mail.gmail.com> El 7/12/07, Oswaldo Hernández escribió: > Antonio Beamud Montero escribió: > > El vie, 07-12-2007 a las 13:30 +0100, Oswaldo Hernández escribió: > >> Hola a todos, > >> > >> Estoy intentando localizar en una string cadenas que van entre comillas. > >> > >> >>> c = "cadena de ejemplo con 'texto entre comillas'. Fin" > >> >>> m = re.split("('.*')|(\".*\")", c) > >> >>> m > >> ['cadena de ejemplo con ', "'texto entre comillas'", None, '. Fin'] > > > >> Hasta aqui bien (excepto que no entiendo el None). > >> El problema se me presenta cuando hay mas de un texto entrecomillado: > >> > >> >>> c = "cadena de ejemplo con 'texto entre comillas' y 'otro texto mas'. Fin" > >> >>> m = re.split("('.*')|(\".*\")*", c) > >> >>> m > >> ['cadena de ejemplo con ', "'texto entre comillas' y 'otro texto mas'", None, '. Fin'] > >> > >> En este caso me toma desde la comilla inicial del primer texto hasta el cierre del ultimo como una > >> sola cadena. > > > > > > A bote pronto, con que cambies el .* por .*? para hacerlo non-greedy, te > > debe funcionar sin problemas. > > > > >>> c = "ejemplo con 'entre comillas', y 'otro mas' y \"un tercero\" Fin" > >>> m = re.split("('.*?')|(\".*?\")", c) > >>> m > ['ejemplo con ', "'entre comillas'", None, ', y ', "'otro mas'", None, ' y ', None, '"un tercero"', > ' Fin'] > > Perfecto :) Lo que no entiendo porqué usas .split() para localizar las cadenas. De ahí se explica que no entiendas porqué te salen los Nones. En principio, el split tenía que haberte sacado lo siguiente: ['ejemplo con ', ', y ', ' y ', ' Fin'] O sea, te tenía que haber dividido la frase usando el patrón como separador. Pero al usar grupos de búsquedas (los paréntesis del patrón), el split incluye en el resultado las cadenas encontrada. Tienes dos grupos de búsqueda, que es lo que ves. El None indica uno de los grupos que no ha encontrado. ¿Cómo habría que hacer para no sacara los grupos de búsqueda? Usando (?:...) m = re.split("(?:'.*?')|(?:\".*?\")", c) ¿Cómo tienes que hacer para que te dé sólo las cadenas que quieres buscar? m = re.findall("(?:'.*?')|(?:\".*?\")", c) _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From listas en soft-com.es Mon Dec 10 16:31:05 2007 From: listas en soft-com.es (=?ISO-8859-1?Q?Oswaldo_Hern=E1ndez?=) Date: Mon, 10 Dec 2007 16:31:05 +0100 Subject: regex, buscar cadenas con comillas In-Reply-To: <2c9fb0dd0712100617w3d2237c2o8c11a6158352f696@mail.gmail.com> References: <47593CEE.4000001@soft-com.es> <1197031303.5440.13.camel@lujuria.linkend.net> <475943D0.7090905@soft-com.es> <2c9fb0dd0712100617w3d2237c2o8c11a6158352f696@mail.gmail.com> Message-ID: <475D5BB9.60602@soft-com.es> Chema Cortes escribió: > El 7/12/07, Oswaldo Hernández escribió: >> Antonio Beamud Montero escribió: >>> El vie, 07-12-2007 a las 13:30 +0100, Oswaldo Hernández escribió: >>>> Hola a todos, >>>> >>>> Estoy intentando localizar en una string cadenas que van entre comillas. >>>> >>>> >>> c = "cadena de ejemplo con 'texto entre comillas'. Fin" >>>> >>> m = re.split("('.*')|(\".*\")", c) >>>> >>> m >>>> ['cadena de ejemplo con ', "'texto entre comillas'", None, '. Fin'] >>>> Hasta aqui bien (excepto que no entiendo el None). >>>> El problema se me presenta cuando hay mas de un texto entrecomillado: >>>> >>>> >>> c = "cadena de ejemplo con 'texto entre comillas' y 'otro texto mas'. Fin" >>>> >>> m = re.split("('.*')|(\".*\")*", c) >>>> >>> m >>>> ['cadena de ejemplo con ', "'texto entre comillas' y 'otro texto mas'", None, '. Fin'] >>>> >>>> En este caso me toma desde la comilla inicial del primer texto hasta el cierre del ultimo como una >>>> sola cadena. >>> >>> A bote pronto, con que cambies el .* por .*? para hacerlo non-greedy, te >>> debe funcionar sin problemas. >>> >> >>> c = "ejemplo con 'entre comillas', y 'otro mas' y \"un tercero\" Fin" >> >>> m = re.split("('.*?')|(\".*?\")", c) >> >>> m >> ['ejemplo con ', "'entre comillas'", None, ', y ', "'otro mas'", None, ' y ', None, '"un tercero"', >> ' Fin'] >> >> Perfecto :) > > Lo que no entiendo porqué usas .split() para localizar las cadenas. De > ahí se explica que no entiendas porqué te salen los Nones. > Lo que pretendia era hacer un replace unicamente en las cadenas que van entre comillas dejando el resto intacto. El split me parecio una buena idea ya que con esa expresion me devuelve todas las partes y en su orden. Se que el regex tiene un 'replace', pero como no soy muy ducho con el, y corria un poquito de prisa al final quedo asi: def FiltraSQL(self, sql): # ajustes en sentencia sql antes de su proceso # dividir sentencia en fragmentos para modificar los entrecomillados y volver a montar partes = re.split("('.*?')|(\".*?\")", sql) # eliminar Nones while None in partes: partes.remove(None) for n,p in zip(range(len(partes)),partes): if p[0] == "'" or p[0] == '"': partes[n] = p.replace("*", "%") return "".join(partes) Imagino que se podrá optimizar bastante, pero de momento me ha valido. > En principio, el split tenía que haberte sacado lo siguiente: > > ['ejemplo con ', ', y ', ' y ', ' Fin'] > > O sea, te tenía que haber dividido la frase usando el patrón como > separador. Pero al usar grupos de búsquedas (los paréntesis del > patrón), el split incluye en el resultado las cadenas encontrada. > Tienes dos grupos de búsqueda, que es lo que ves. El None indica uno > de los grupos que no ha encontrado. > > ¿Cómo habría que hacer para no sacara los grupos de búsqueda? > Usando (?:...) > > m = re.split("(?:'.*?')|(?:\".*?\")", c) > > ¿Cómo tienes que hacer para que te dé sólo las cadenas que quieres buscar? > > m = re.findall("(?:'.*?')|(?:\".*?\")", c) > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > > -- ***************************************** Oswaldo Hernández oswaldo (@) soft-com (.) es ***************************************** _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From mlacunza en gmail.com Mon Dec 10 16:52:12 2007 From: mlacunza en gmail.com (Mario Lacunza) Date: Mon, 10 Dec 2007 10:52:12 -0500 Subject: Novato en Python en busca de IDE In-Reply-To: References: <475961E2.7000603@dataneu.com> <8c50b5f00712080533w73827e51qd8fcb2b3c28628b6@mail.gmail.com> Message-ID: <771741b20712100752oc8f4291jc7ddf008e0123e3c@mail.gmail.com> El día 9/12/07, Josu Rodriguez escribió: > > Yo uso VisualWx, en una máquina virtual windows desde linux. > Es un software para windows, y es free, no libre. > Creo que tiene la calidad bastante mas que depurada, y agrupa todo lo que > necesitas, una interfaces gráfica, y también un modo en en testo, y > opciones > para añadir nuevas librerías que no vengan con el programa.(faltaria un > poco > mas de documentación sobre las opciones avanzadas) > Aun que no sea un software libre, se trabaja muy cómodamente. > Posiblemente no este para linux, por la idea tan fascista que algunos > divulgan de que en linux tiene que ser todo libre. De casualidad sabes q significa ser fascita??? y no me digas q es igual a nazi.... Y por si acaso no todo es LIbre y Gratuito para linux, o no conoces QT y MySQL? Ojala esa idea cambie poco a poco y podamos tener software de calidad en la > que empresas tengan a un grupo de programadores y departamento de calidad, > empeñando horas y horas pudiendo ser gratificados. Sera el único modo que > software de gran calidad como dreamweaber, flash, photoshop (existe gimp > que > se le acerca pero ... ) y juegos de ultima generación, puedan disfrutarse > en > linux. > De echo estoy seguro que liberarían código de versiones anteriores, mas > fácilmente. Pudiendo ser aprovechadas por la comunidad de software libre. Hay muy buen software e incluso mejor en este modelo... solo es cuestion q al hacer una evaluacion la hagas de manera imparcial y BUSCANDO bien... -- Saludos / Best regards Mario Lacunza Desarrollador de Sistemas - Webmaster Desarrollador 2 Estrellas VS2005 Email: mlacunza [AT] gmail [DOT] com Website: mlacunzav[DOT]cogia[DOT]net Blog: http://mlacunza.blogspot.com/ Lima - Peru _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From claudio.quezada.r en gmail.com Mon Dec 10 17:23:37 2007 From: claudio.quezada.r en gmail.com (Claudio A. Quezada R.) Date: Mon, 10 Dec 2007 13:23:37 -0300 Subject: =?iso-8859-1?q?car=E1cter_=22=23=22_en_windows?= Message-ID: <475D6809.90800@gmail.com> Saludos lista, Tengo el siguiente módulo: def ayuda(self): url = 'file:///' url += os.path.join(os.getcwd(),'doc/MANUAL.html#configurarIIB') url = os.path.normpath(url) webbrowser.open(url) que funciona bajo Linux, pero no en windows. En Windows abre solo el doc/MANUAL.html, sin el #configurarIIB. Desconozco a que puede deberse. También probé con url = u'file:///' url += os.path.join(os.getcwd(),u'doc/MANUAL.html#configurarIIB') o al final poner url += u'#configurarIIB' pero ninguna parece funcionar. Lo más extraño es que el carácter # no tiene un código especial, al contrario de los acentos o cosas por el estilo (é). Tengo la codificación # -*- coding: iso8859-15 -*- en mis scripts. Saludos, -- Claudio Quezada Romegialli _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From kernel.no.found en gmail.com Mon Dec 10 17:44:22 2007 From: kernel.no.found en gmail.com (=?ISO-8859-1?Q?Juan_Jos=E9_Alonso.?=) Date: Mon, 10 Dec 2007 17:44:22 +0100 Subject: Problemillas con Django Message-ID: <117d6e170712100844r7d805e3ard0ddc5b00b054ef5@mail.gmail.com> Django no modifica la tabla una vez ya fue creada, (No modificaba lo ya creado creo que era) de esto me entere en #Django de Freenode, por tanto un proyecto llamado django-evolution fue creado con este fin, es una modificacion del manage.py creo recordar. Aun asi, si dices que borraste y eso ya me dejas caos, por ello, peganos toda la salida del error, si es muy largo en dpaste.com por ejemplo. un saludo! -- Juan José Alonso. KarlsBerg. eMail: kernel.no.found en gmail.com MSN: kernel.no.found en gmail.com _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From antonio.beamud en linkend.net Mon Dec 10 18:01:30 2007 From: antonio.beamud en linkend.net (Antonio Beamud Montero) Date: Mon, 10 Dec 2007 18:01:30 +0100 Subject: regex, buscar cadenas con comillas In-Reply-To: <475D5BB9.60602@soft-com.es> References: <47593CEE.4000001@soft-com.es> <1197031303.5440.13.camel@lujuria.linkend.net> <475943D0.7090905@soft-com.es> <2c9fb0dd0712100617w3d2237c2o8c11a6158352f696@mail.gmail.com> <475D5BB9.60602@soft-com.es> Message-ID: <1197306090.5440.75.camel@lujuria.linkend.net> El lun, 10-12-2007 a las 16:31 +0100, Oswaldo Hernández escribió: > Chema Cortes escribió: > > El 7/12/07, Oswaldo Hernández escribió: > >> Antonio Beamud Montero escribió: > def FiltraSQL(self, sql): > # ajustes en sentencia sql antes de su proceso > > # dividir sentencia en fragmentos para modificar los entrecomillados y volver a montar > partes = re.split("('.*?')|(\".*?\")", sql) > # eliminar Nones > while None in partes: > partes.remove(None) > > for n,p in zip(range(len(partes)),partes): > if p[0] == "'" or p[0] == '"': > partes[n] = p.replace("*", "%") > > return "".join(partes) > > Imagino que se podrá optimizar bastante, pero de momento me ha valido. Y que harás en un caso como almacenar l'enfant ? Es un ejemplo, o tu sentencia sql incluya un nombre así? Un saludo. ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From dmlistapython en gmail.com Mon Dec 10 18:16:47 2007 From: dmlistapython en gmail.com (Daniel Malisani) Date: Mon, 10 Dec 2007 14:16:47 -0300 Subject: Novato en Python en busca de IDE In-Reply-To: <771741b20712100752oc8f4291jc7ddf008e0123e3c@mail.gmail.com> References: <475961E2.7000603@dataneu.com> <8c50b5f00712080533w73827e51qd8fcb2b3c28628b6@mail.gmail.com> <771741b20712100752oc8f4291jc7ddf008e0123e3c@mail.gmail.com> Message-ID: <9fccc670712100916s7672ae8fnadd8c953f097f28a@mail.gmail.com> Volviendo al tema de las IDE (porque si mal no recuerdo de eso trata el hilo) ¿Nadie usa ERIC? Estoy traduciendo ERIC4, pero me empiezo a deprimir de que mi trabajo no será muy productivo. Gracias _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From claudio.quezada.r en gmail.com Mon Dec 10 19:02:01 2007 From: claudio.quezada.r en gmail.com (Claudio A. Quezada R.) Date: Mon, 10 Dec 2007 15:02:01 -0300 Subject: Novato en Python en busca de IDE In-Reply-To: <9fccc670712100916s7672ae8fnadd8c953f097f28a@mail.gmail.com> References: <475961E2.7000603@dataneu.com> <8c50b5f00712080533w73827e51qd8fcb2b3c28628b6@mail.gmail.com> <771741b20712100752oc8f4291jc7ddf008e0123e3c@mail.gmail.com> <9fccc670712100916s7672ae8fnadd8c953f097f28a@mail.gmail.com> Message-ID: <475D7F19.6030905@gmail.com> Yo lo utilizo, lo encuentro bastante completo. Eso si, el pyscripter [1] tiene ciertos detalles que me agradan bastante, como el clickear con ctrl+click en una función, variable o módulo y que te abre dicho script. Eso no lo trae ERIC, y la autocompletación no es de las mejores... Volviendo al hilo, el PyScripter es recomendable, el Eric es muy bueno y completo, y el Eclipse ocupa demasiados recursos. Saludos [1] http://code.google.com/p/pyscripter/ Daniel Malisani escribió: > Volviendo al tema de las IDE (porque si mal no recuerdo de eso trata el > hilo) > > ¿Nadie usa ERIC? Estoy traduciendo ERIC4, pero me empiezo a deprimir > de que mi trabajo no será muy productivo. > > Gracias > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Claudio Quezada Romegialli Ingeniero Ambiental (02)7321665 - 81466049 _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From listas en soft-com.es Mon Dec 10 19:21:55 2007 From: listas en soft-com.es (=?UTF-8?B?T3N3YWxkbyBIZXJuw6FuZGV6?=) Date: Mon, 10 Dec 2007 19:21:55 +0100 Subject: regex, buscar cadenas con comillas In-Reply-To: <1197306090.5440.75.camel@lujuria.linkend.net> References: <47593CEE.4000001@soft-com.es> <1197031303.5440.13.camel@lujuria.linkend.net> <475943D0.7090905@soft-com.es> <2c9fb0dd0712100617w3d2237c2o8c11a6158352f696@mail.gmail.com> <475D5BB9.60602@soft-com.es> <1197306090.5440.75.camel@lujuria.linkend.net> Message-ID: <475D83C3.2010303@soft-com.es> Antonio Beamud Montero escribió: > El lun, 10-12-2007 a las 16:31 +0100, Oswaldo Hernández escribió: >> Chema Cortes escribió: >>> El 7/12/07, Oswaldo Hernández escribió: >>>> Antonio Beamud Montero escribió: > >> def FiltraSQL(self, sql): >> # ajustes en sentencia sql antes de su proceso >> >> # dividir sentencia en fragmentos para modificar los entrecomillados y volver a montar >> partes = re.split("('.*?')|(\".*?\")", sql) >> # eliminar Nones >> while None in partes: >> partes.remove(None) >> >> for n,p in zip(range(len(partes)),partes): >> if p[0] == "'" or p[0] == '"': >> partes[n] = p.replace("*", "%") >> >> return "".join(partes) >> >> Imagino que se podrá optimizar bastante, pero de momento me ha valido. > > Y que harás en un caso como almacenar l'enfant ? Es un ejemplo, o tu > sentencia sql incluya un nombre así? > En principio re.split maneja bien esto: >>> re.split("('.*?')|(\".*?\")", "select ... where nombre like \"*l'enfant*\"") ['select ... where nombre like ', None, '"*l\'enfant*"', ''] El problema vendria si la sentencia llegara: .. like 'l'enfant' En este caso el sql daria error al ejecutarlo aunque que no filtrase, pero eso es problema de la aplicación que origina el sql. Esta aplicación simplemente recibe una sentencia, la ejecuta y devuelve el resultado a la aplicación original. El problema del filtro ha surgido al cambiar el driver de conexión a la base de datos, el anterior admitia el caracter '*' como comodín para la clausula like mientras que el actual utiliza '%' y rechaza el antiguo. Nos es mas facil filtrar las sentencias aqui que modificar las diversas aplicaciones que utilizan este sistema. -- ***************************************** Oswaldo Hernández oswaldo (@) soft-com (.) es ***************************************** ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From gustavo.pardo en dataneu.com Mon Dec 10 19:35:12 2007 From: gustavo.pardo en dataneu.com (Gustavo Pardo) Date: Mon, 10 Dec 2007 15:35:12 -0300 Subject: Novato en Python en busca de IDE In-Reply-To: References: <475961E2.7000603@dataneu.com> <8c50b5f00712080533w73827e51qd8fcb2b3c28628b6@mail.gmail.com> Message-ID: <475D86E0.2030901@dataneu.com> Josu Rodriguez escribió: > Yo uso VisualWx, en una máquina virtual windows desde linux. en primer lugar querría agradecer a todos los que han contestado, sus aportes me han servido. VisualWx es lo más parecido a lo que buscaba (por lo menos en una primera impresión) he intentado correrlo mediante wine, y arroja un error al no encontrar el archivo de configuración, aparentemente hay un error en la ruta que propone el ejecutable, ya que siempre comienza por :/ruta en lugar de c:/ruta en entorno linux, me gustó la apariencia de boa constructor, pero no me gusta que se cuelgue cuando se le da la gana... el otro que me gustó también es python card, creo que para desarrollar sobre linux mi elección pasaría por este último. aunque haría algún esfuerzo más por el vusualwx/wine... todavía me restan hurgar el PyScripter y el Eric que comentan en los últimos mails de este hilo. saludos. -- Gustavo Pardo Dataneu Argentina Software & Web Hosting Mail: gustavo.pardo en dataneu.com Web: http://dataneu.com/ Tel.(+54 299) 489 6880 Centenario, NQN - Argentina _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From maengora en gmail.com Mon Dec 10 19:41:46 2007 From: maengora en gmail.com (=?ISO-8859-1?Q?Manuel_Enrique_Gonz=E1lez_Ram=EDrez?=) Date: Mon, 10 Dec 2007 13:41:46 -0500 Subject: Novato en Python en busca de IDE In-Reply-To: <475D7F19.6030905@gmail.com> References: <475961E2.7000603@dataneu.com> <8c50b5f00712080533w73827e51qd8fcb2b3c28628b6@mail.gmail.com> <771741b20712100752oc8f4291jc7ddf008e0123e3c@mail.gmail.com> <9fccc670712100916s7672ae8fnadd8c953f097f28a@mail.gmail.com> <475D7F19.6030905@gmail.com> Message-ID: En la oficina yo utilizo VisualWx (porque en la office utilizamos guin2 por un software que tiene el gobierno :( ) me parece excelente, independiente de lo que piense Josu. Sin embargo en mi casa que tengo instalado el Linux, utilizo diferentes herramientas, pero las que mas me llaman la atencion a todas estas es como ya lo mencione el VisualWx y el Boa-constructor que son los IDE mas parecidos a los que utilizabamos en la obsoleta programacion de otros lenguajes propietarios. 2007/12/10, Claudio A. Quezada R. : > > Yo lo utilizo, lo encuentro bastante completo. Eso si, el pyscripter [1] > tiene ciertos detalles que me agradan bastante, como el clickear con > ctrl+click en una función, variable o módulo y que te abre dicho script. > Eso no lo trae ERIC, y la autocompletación no es de las mejores... > Volviendo al hilo, el PyScripter es recomendable, el Eric es muy bueno y > completo, y el Eclipse ocupa demasiados recursos. > > Saludos > > > [1] http://code.google.com/p/pyscripter/ > > Daniel Malisani escribió: > > Volviendo al tema de las IDE (porque si mal no recuerdo de eso trata el > > hilo) > > > > ¿Nadie usa ERIC? Estoy traduciendo ERIC4, pero me empiezo a deprimir > > de que mi trabajo no será muy productivo. > > > > Gracias > > _______________________________________________ > > Lista de correo Python-es > > http://listas.aditel.org/listinfo/python-es > > FAQ: http://listas.aditel.org/faqpyes > > > > -- > Claudio Quezada Romegialli > Ingeniero Ambiental > (02)7321665 - 81466049 > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From javi en bertayjavi.com Mon Dec 10 21:42:32 2007 From: javi en bertayjavi.com (Javi) Date: Mon, 10 Dec 2007 21:42:32 +0100 Subject: Ayuda con import Message-ID: <475DA4B8.4040805@bertayjavi.com> Hola a todos, Antes de nada decir que soy bastante novato en esto y por eso os pido ayuda, me gustaria saber como puedo importar una clase que tengo en un fichero que esta en un directorio diferente de donde esta el programa que estoy ejecuntado. Po lo que he leido python es capaz de importar cualquier fichero que este en el mismo directorio del programa, ( logicamente usando su import adecuado). Mi intencion seria tener un fichero con el mismo nombre en diferentes directorios y ir importando cada vez que necesite el fichero correcto en funcion de los datos introducidos por el usuario. Imagino que debe ser facil pero no consigo hacerlo.. Cualquier ayuda me vendria estupendamente Saludos a todos, Javi _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From juatman_2000 en yahoo.es Mon Dec 10 21:48:06 2007 From: juatman_2000 en yahoo.es (Juan M.) Date: Mon, 10 Dec 2007 21:48:06 +0100 Subject: Novato en Python en busca de IDE References: <475961E2.7000603@dataneu.com> <8c50b5f00712080533w73827e51qd8fcb2b3c28628b6@mail.gmail.com> <475D86E0.2030901@dataneu.com> Message-ID: <006201c83b6d$f9ed6d60$708be050@equipo> Hola :-) > todavía me restan hurgar el PyScripter y el Eric que comentan en los > últimos mails de este hilo. PyScripter está muy bien para editar, depurar código. Me gusta por ejemplo que al depurar el código, si posicionas el cursor sobre una variable, te indica su valor, es lo más cómodo... lástima lo de ser sólo para Window$. ;-) Existe una nueva tendencia para la creación de GUIs y guardarlos en XML, se trata de Uxython, que creo puede ser muy interesante, ahora está en una versión inicial, pero promete mucho: http://www.uxpython.com/toolkit Saludos. :-) _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From juatman_2000 en yahoo.es Mon Dec 10 22:34:11 2007 From: juatman_2000 en yahoo.es (Juan M.) Date: Mon, 10 Dec 2007 22:34:11 +0100 Subject: Novato en Python en busca de IDE References: <475961E2.7000603@dataneu.com><8c50b5f00712080533w73827e51qd8fcb2b3c28628b6@mail.gmail.com><771741b20712100752oc8f4291jc7ddf008e0123e3c@mail.gmail.com> <9fccc670712100916s7672ae8fnadd8c953f097f28a@mail.gmail.com> Message-ID: <007901c83b74$6a6ca7d0$708be050@equipo> Daniel Malisani escribió: >¿Nadie usa ERIC? Estoy traduciendo ERIC4, pero me empiezo a deprimir de que mi trabajo no será muy productivo. Las gracias son para ti, que estás entregando una parte de tu tiempo a la Comunidad Python. :-) ERIC es de lo mejorcito en IDEs para Python, recuerdo que la pega es que hay que instalar un montón de programas; no viene todo en un sólo paquete, lo cual, dado que me he vuelto muy vago, me da un poco de yuyu, estos métodos de instalación suelen fallar debido a que la versión de uno de los programas es incorrecta, a veces problemas con dependencias... en fin; pura vagancia sobre todo. ;-) Saludos. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From xinxic en gmail.com Mon Dec 10 23:01:44 2007 From: xinxic en gmail.com (Xin) Date: Mon, 10 Dec 2007 23:01:44 +0100 Subject: Ayuda con import In-Reply-To: <475DA4B8.4040805@bertayjavi.com> References: <475DA4B8.4040805@bertayjavi.com> Message-ID: <83CB6B28-FF97-49DB-8669-1AD2FEC27EBA@gmail.com> Que cosas mas raras que hace la gente... Piensa que la importación solo se realiza la primera vez. És mejor que cargues todos los ficheros al principio i ya està. Xin El 10/12/2007, a las 21:42, Javi escribió: > Hola a todos, > > Antes de nada decir que soy bastante novato en esto y por eso os > pido ayuda, me gustaria saber como puedo importar una clase que > tengo en un fichero que esta en un directorio diferente de donde > esta el programa que estoy ejecuntado. Po lo que he leido python es > capaz de importar cualquier fichero que este en el mismo directorio > del programa, ( logicamente usando su import adecuado). Mi intencion > seria tener un fichero con el mismo nombre en diferentes directorios > y ir importando cada vez que necesite el fichero correcto en > funcion de los datos introducidos por el usuario. Imagino que debe > ser facil pero no consigo hacerlo.. Cualquier ayuda me vendria > estupendamente > > Saludos a todos, Javi > > _______________________________________________ > Lista de correo Python-es http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From camontuyu en yahoo.es Mon Dec 10 23:33:22 2007 From: camontuyu en yahoo.es (Beni) Date: Mon, 10 Dec 2007 23:33:22 +0100 Subject: Ayuda con import In-Reply-To: <475DA4B8.4040805@bertayjavi.com> References: <475DA4B8.4040805@bertayjavi.com> Message-ID: <8a19bc7c0712101433p25ffb804x844f1db915740985@mail.gmail.com> On Dec 10, 2007 9:42 PM, Javi wrote: > Hola a todos, > > Antes de nada decir que soy bastante novato en esto y por eso os pido > ayuda, me gustaria saber como puedo importar una clase que tengo en un > fichero que esta en un directorio diferente de donde esta el programa > que estoy ejecuntado. Po lo que he leido python es capaz de importar > cualquier fichero que este en el mismo directorio del programa, ( > logicamente usando su import adecuado). Mi intencion seria tener un > fichero con el mismo nombre en diferentes directorios y ir importando > cada vez que necesite el fichero correcto en funcion de los datos > introducidos por el usuario. Imagino que debe ser facil pero no consigo > hacerlo.. Cualquier ayuda me vendria estupendamente > > Saludos a todos, Javi Sería algo así? if dato == 'pepe': import pepe.modulo as modulo elif dato == 'lucas': import lucas.modulo as modulo else: import macario.modulo as modulo modulo.chicha() Saludos ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From carlosfvo en gmail.com Tue Dec 11 00:04:22 2007 From: carlosfvo en gmail.com (carlos villa) Date: Mon, 10 Dec 2007 18:04:22 -0500 Subject: WEB SERVICE Message-ID: <629497540712101504l4efb9b21i463930b274f40bb3@mail.gmail.com> buenas tardes. necesito ejemplos e informacion sobre como implementar WEB SERVICE en python. gracias... _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From antonio.beamud en linkend.net Tue Dec 11 00:11:10 2007 From: antonio.beamud en linkend.net (Antonio Beamud Montero) Date: Tue, 11 Dec 2007 00:11:10 +0100 Subject: WEB SERVICE In-Reply-To: <629497540712101504l4efb9b21i463930b274f40bb3@mail.gmail.com> References: <629497540712101504l4efb9b21i463930b274f40bb3@mail.gmail.com> Message-ID: <1197328271.5440.79.camel@lujuria.linkend.net> El lun, 10-12-2007 a las 18:04 -0500, carlos villa escribió: > buenas tardes. necesito ejemplos e informacion sobre como implementar > WEB SERVICE en python. ¿Has buscado en google? > gracias... ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From slara en udec.cl Tue Dec 11 00:28:03 2007 From: slara en udec.cl (Sebastian Lara Menares) Date: Mon, 10 Dec 2007 20:28:03 -0300 Subject: Ayuda con import In-Reply-To: <475DA4B8.4040805@bertayjavi.com> References: <475DA4B8.4040805@bertayjavi.com> Message-ID: <475DCB83.1030300@udec.cl> Javi wrote: > Hola a todos, > > Antes de nada decir que soy bastante novato en esto y por eso os pido > ayuda, me gustaria saber como puedo importar una clase que tengo en > un fichero que esta en un directorio diferente de donde esta el > programa que estoy ejecuntado. para poder importar un módulo en subdirectorios de la carpeta actual debes incluir un archivo __init__.py dentro de estos. por ejemplo, si tienes un directorio llamado foo con un archivo bar.py ~/foo /__init__.py /bar.py desde un archivo o el interprete en ~/ puedes importar con: from foo import bar funciona como si fuera una clase :) > Po lo que he leido python es capaz de importar cualquier fichero que > este en el mismo directorio del programa, ( logicamente usando su > import adecuado). Mi intencion seria tener un fichero con el mismo > nombre en diferentes directorios y ir importando cada vez que > necesite el fichero correcto en funcion de los datos introducidos por > el usuario. Imagino que debe ser facil pero no consigo hacerlo.. > Cualquier ayuda me vendria estupendamente > > Saludos a todos, Javi > > _______________________________________________ > Lista de correo Python-es http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > > -- Sebastián Lara Menares Departamento Ingeniería Eléctrica Universidad de Concepción _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From javi en bertayjavi.com Tue Dec 11 09:19:28 2007 From: javi en bertayjavi.com (Javi) Date: Tue, 11 Dec 2007 09:19:28 +0100 Subject: Ayuda con import In-Reply-To: <475DCB83.1030300@udec.cl> References: <475DA4B8.4040805@bertayjavi.com> <475DCB83.1030300@udec.cl> Message-ID: <475E4810.4030703@bertayjavi.com> Muchas gracias por la respuesta Sebastian, eso era lo que quiera saber, tengo que incluir un __init_.py en el subdirectorio, y ahora la pregunta es que codigo debe tener ese __init__.py. Gracias por vuestra ayuda a todos _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From xinxic en gmail.com Tue Dec 11 09:58:10 2007 From: xinxic en gmail.com (Xin) Date: Tue, 11 Dec 2007 09:58:10 +0100 Subject: Ayuda con import In-Reply-To: <475E4810.4030703@bertayjavi.com> References: <475DA4B8.4040805@bertayjavi.com> <475DCB83.1030300@udec.cl> <475E4810.4030703@bertayjavi.com> Message-ID: <505C5FCD-B3B5-40BC-8B90-315470849046@gmail.com> El init puede estar en blanco. Solo con que exista, python ya considera que és un paquete de programa. De todas formas puedes ayadir imports, ... i modificar el funcionamiento normal del paquete. El 11/12/2007, a las 9:19, Javi escribió: > Muchas gracias por la respuesta Sebastian, eso era lo que quiera > saber, tengo que incluir un __init_.py en el subdirectorio, y ahora > la pregunta es que codigo debe tener ese __init__.py. > Gracias por vuestra ayuda a todos > > _______________________________________________ > Lista de correo Python-es http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From javi en bertayjavi.com Tue Dec 11 10:22:30 2007 From: javi en bertayjavi.com (Javi) Date: Tue, 11 Dec 2007 10:22:30 +0100 Subject: Ayuda con import In-Reply-To: <505C5FCD-B3B5-40BC-8B90-315470849046@gmail.com> References: <475DA4B8.4040805@bertayjavi.com> <475DCB83.1030300@udec.cl> <475E4810.4030703@bertayjavi.com> <505C5FCD-B3B5-40BC-8B90-315470849046@gmail.com> Message-ID: <475E56D6.2070104@bertayjavi.com> Gracias por vuestra ayuda. Ya consegui lo que necesitaba. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From rapto en arrakis.es Tue Dec 11 10:31:20 2007 From: rapto en arrakis.es (Marcos =?ISO-8859-1?Q?S=E1nchez?= Provencio) Date: Tue, 11 Dec 2007 10:31:20 +0100 Subject: Novato en Python en busca de IDE In-Reply-To: <9fccc670712100916s7672ae8fnadd8c953f097f28a@mail.gmail.com> References: <475961E2.7000603@dataneu.com> <8c50b5f00712080533w73827e51qd8fcb2b3c28628b6@mail.gmail.com> <771741b20712100752oc8f4291jc7ddf008e0123e3c@mail.gmail.com> <9fccc670712100916s7672ae8fnadd8c953f097f28a@mail.gmail.com> Message-ID: <1197365480.18862.3.camel@savin> Yo uso eric3 a veces, ¿qué hay de nuevo en el 4? El lun, 10-12-2007 a las 14:16 -0300, Daniel Malisani escribió: > Volviendo al tema de las IDE (porque si mal no recuerdo de eso trata el > hilo) > > ¿Nadie usa ERIC? Estoy traduciendo ERIC4, pero me empiezo a deprimir > de que mi trabajo no será muy productivo. > > Gracias ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From nmelgarejodiaz en gmail.com Tue Dec 11 10:32:45 2007 From: nmelgarejodiaz en gmail.com (Natali Melgarejo Diaz) Date: Tue, 11 Dec 2007 10:32:45 +0100 Subject: Green's function Message-ID: Hola a todos, Alguien sabe si existe la funcion de Green en Python??? (numpy, numerical, scipay,numarray o quizas en matplotlib :-/ ) La he buscado en Google y no la encuentro. Les agradeceria bastante la ayuda... Saludos ;)) ********Natali******** _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From jgomezdans en gmail.com Tue Dec 11 11:52:30 2007 From: jgomezdans en gmail.com (=?iso-8859-1?q?Jos=E9_G=F3mez-Dans?=) Date: Tue, 11 Dec 2007 10:52:30 +0000 Subject: Green's function In-Reply-To: References: Message-ID: <200712111052.30556.jgomezdans@gmail.com> On Tuesday 11 December 2007 09:32:45 Natali Melgarejo Diaz wrote: > Alguien sabe si existe la funcion de Green en Python??? (numpy, > numerical, scipay,numarray o quizas en matplotlib :-/ ) La he buscado > en Google y no la encuentro. Es probable que no venga por defecto en scipy (parece el sitio más lógico), pero si encuentras código útil en C o en FORTRAN, puedes hacer un objeto/función en python que sea transparente para arrays de numpy, scipy y demás familia (usando f2py, que es muy fácil de usar). Como todo el mundo tiene su código particular, no me suena que haya una versión canónica tipo "Numerical Recipes". Puedes intentar preguntar en la lista de scipy, a ver si alguien trabaja con cosas similares. Saludos, J _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pych3m4 en gmail.com Tue Dec 11 12:50:48 2007 From: pych3m4 en gmail.com (Chema Cortes) Date: Tue, 11 Dec 2007 12:50:48 +0100 Subject: regex, buscar cadenas con comillas In-Reply-To: <475D5BB9.60602@soft-com.es> References: <47593CEE.4000001@soft-com.es> <1197031303.5440.13.camel@lujuria.linkend.net> <475943D0.7090905@soft-com.es> <2c9fb0dd0712100617w3d2237c2o8c11a6158352f696@mail.gmail.com> <475D5BB9.60602@soft-com.es> Message-ID: <2c9fb0dd0712110350k6b53deafidc22673880d6eac3@mail.gmail.com> El 10/12/07, Oswaldo Hernández escribió: > Lo que pretendia era hacer un replace unicamente en las cadenas que van entre comillas dejando el > resto intacto. El split me parecio una buena idea ya que con esa expresion me devuelve todas las > partes y en su orden. > Se que el regex tiene un 'replace', pero como no soy muy ducho con el, y corria un poquito de prisa > al final quedo asi: > > def FiltraSQL(self, sql): > # ajustes en sentencia sql antes de su proceso > > # dividir sentencia en fragmentos para modificar los entrecomillados y volver a montar > partes = re.split("('.*?')|(\".*?\")", sql) > # eliminar Nones > while None in partes: > partes.remove(None) > > for n,p in zip(range(len(partes)),partes): > if p[0] == "'" or p[0] == '"': > partes[n] = p.replace("*", "%") > > return "".join(partes) > > Imagino que se podrá optimizar bastante, pero de momento me ha valido. Si ya funciona, no lo arregles; pero si quieres ver cómo se puede hacer mejor: def repl(m): return m.group(0).replace("*","%") sql=re.sub("('.*?')|(\".*?\")", repl, sql) _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From mlacunza en gmail.com Tue Dec 11 15:40:22 2007 From: mlacunza en gmail.com (Mario Lacunza) Date: Tue, 11 Dec 2007 09:40:22 -0500 Subject: Novato en Python en busca de IDE In-Reply-To: <475D86E0.2030901@dataneu.com> References: <475961E2.7000603@dataneu.com> <8c50b5f00712080533w73827e51qd8fcb2b3c28628b6@mail.gmail.com> <475D86E0.2030901@dataneu.com> Message-ID: <771741b20712110640i7cb40d95v77fa4a1750f4adb8@mail.gmail.com> El día 10/12/07, Gustavo Pardo escribió: > > > en entorno linux, me gustó la apariencia de boa constructor, pero no me > gusta > que se cuelgue cuando se le da la gana... Q version de Boa utilizas? Yo uso la ultima CVS 0.6.1 y no tengo problemas.... y q es lo q estas haciendo cuando se cae?? -- Saludos / Best regards Mario Lacunza Desarrollador de Sistemas - Webmaster Desarrollador 2 Estrellas VS2005 Email: mlacunza [AT] gmail [DOT] com Website: mlacunzav[DOT]cogia[DOT]net Blog: http://mlacunza.blogspot.com/ Lima - Peru _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From mlacunza en gmail.com Tue Dec 11 15:42:09 2007 From: mlacunza en gmail.com (Mario Lacunza) Date: Tue, 11 Dec 2007 09:42:09 -0500 Subject: Novato en Python en busca de IDE In-Reply-To: References: <475961E2.7000603@dataneu.com> <8c50b5f00712080533w73827e51qd8fcb2b3c28628b6@mail.gmail.com> <771741b20712100752oc8f4291jc7ddf008e0123e3c@mail.gmail.com> <9fccc670712100916s7672ae8fnadd8c953f097f28a@mail.gmail.com> <475D7F19.6030905@gmail.com> Message-ID: <771741b20712110642h564620a9n934d0a85f1893c79@mail.gmail.com> A proposito alguien a probado el wxFormBuilder, no he tenido tiempo de usarlo en mi Ubuntu pero se q guarda las GUIs en XML.... 2007/12/10, Manuel Enrique González Ramírez : > > En la oficina yo utilizo VisualWx (porque en la office utilizamos guin2 > por > un software que tiene el gobierno :( ) me parece excelente, independiente > de > lo que piense Josu. > > Sin embargo en mi casa que tengo instalado el Linux, utilizo diferentes > herramientas, pero las que mas me llaman la atencion a todas estas es como > ya lo mencione el VisualWx y el Boa-constructor que son los IDE mas > parecidos a los que utilizabamos en la obsoleta programacion de otros > lenguajes propietarios. > > 2007/12/10, Claudio A. Quezada R. : > > > > Yo lo utilizo, lo encuentro bastante completo. Eso si, el pyscripter [1] > > tiene ciertos detalles que me agradan bastante, como el clickear con > > ctrl+click en una función, variable o módulo y que te abre dicho script. > > Eso no lo trae ERIC, y la autocompletación no es de las mejores... > > Volviendo al hilo, el PyScripter es recomendable, el Eric es muy bueno y > > completo, y el Eclipse ocupa demasiados recursos. > > > > Saludos > > > > > > [1] http://code.google.com/p/pyscripter/ > > > > Daniel Malisani escribió: > > > Volviendo al tema de las IDE (porque si mal no recuerdo de eso trata > el > > > hilo) > > > > > > ¿Nadie usa ERIC? Estoy traduciendo ERIC4, pero me empiezo a deprimir > > > de que mi trabajo no será muy productivo. > > > > > > Gracias > > > _______________________________________________ > > > Lista de correo Python-es > > > http://listas.aditel.org/listinfo/python-es > > > FAQ: http://listas.aditel.org/faqpyes > > > > > > > -- > > Claudio Quezada Romegialli > > Ingeniero Ambiental > > (02)7321665 - 81466049 > > > > _______________________________________________ > > Lista de correo Python-es > > http://listas.aditel.org/listinfo/python-es > > FAQ: http://listas.aditel.org/faqpyes > > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Saludos / Best regards Mario Lacunza Desarrollador de Sistemas - Webmaster Desarrollador 2 Estrellas VS2005 Email: mlacunza [AT] gmail [DOT] com Website: mlacunzav[DOT]cogia[DOT]net Blog: http://mlacunza.blogspot.com/ Lima - Peru _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From listas en soft-com.es Tue Dec 11 15:49:55 2007 From: listas en soft-com.es (=?ISO-8859-1?Q?Oswaldo_Hern=E1ndez?=) Date: Tue, 11 Dec 2007 15:49:55 +0100 Subject: regex, buscar cadenas con comillas In-Reply-To: <2c9fb0dd0712110350k6b53deafidc22673880d6eac3@mail.gmail.com> References: <47593CEE.4000001@soft-com.es> <1197031303.5440.13.camel@lujuria.linkend.net> <475943D0.7090905@soft-com.es> <2c9fb0dd0712100617w3d2237c2o8c11a6158352f696@mail.gmail.com> <475D5BB9.60602@soft-com.es> <2c9fb0dd0712110350k6b53deafidc22673880d6eac3@mail.gmail.com> Message-ID: <475EA393.3040208@soft-com.es> Chema Cortes escribió: > El 10/12/07, Oswaldo Hernández escribió: > >> Lo que pretendia era hacer un replace unicamente en las cadenas que van entre comillas dejando el >> resto intacto. El split me parecio una buena idea ya que con esa expresion me devuelve todas las >> partes y en su orden. >> Se que el regex tiene un 'replace', pero como no soy muy ducho con el, y corria un poquito de prisa >> al final quedo asi: >> >> def FiltraSQL(self, sql): >> # ajustes en sentencia sql antes de su proceso >> >> # dividir sentencia en fragmentos para modificar los entrecomillados y volver a montar >> partes = re.split("('.*?')|(\".*?\")", sql) >> # eliminar Nones >> while None in partes: >> partes.remove(None) >> >> for n,p in zip(range(len(partes)),partes): >> if p[0] == "'" or p[0] == '"': >> partes[n] = p.replace("*", "%") >> >> return "".join(partes) >> >> Imagino que se podrá optimizar bastante, pero de momento me ha valido. > > Si ya funciona, no lo arregles; pero si quieres ver cómo se puede hacer mejor: > > def repl(m): > return m.group(0).replace("*","%") > > sql=re.sub("('.*?')|(\".*?\")", repl, sql) Ufff, una verdadera pasada lo que se puede hacer en dos lineas de codigo. ;) Gracias. -- ***************************************** Oswaldo Hernández oswaldo (@) soft-com (.) es ***************************************** _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From damufo en gmail.com Tue Dec 11 16:10:42 2007 From: damufo en gmail.com (damufo) Date: Tue, 11 Dec 2007 16:10:42 +0100 Subject: Novato en Python en busca de IDE In-Reply-To: <771741b20712110640i7cb40d95v77fa4a1750f4adb8@mail.gmail.com> References: <475961E2.7000603@dataneu.com> <8c50b5f00712080533w73827e51qd8fcb2b3c28628b6@mail.gmail.com> <475D86E0.2030901@dataneu.com> <771741b20712110640i7cb40d95v77fa4a1750f4adb8@mail.gmail.com> Message-ID: <475EA872.5060806@gmail.com> Pues el boa fuciona mejor en windows que en ubuntu en el caso del diseñador de interfaces. Por ejemplo, en windows no hay problema para mover un wx.TextCtrl y situarlo donde quieras mientras que en ubuntu eso no funciona (nota: con los lib.buttons si funciona) En general falla mas en GNU/linux (por lo menos en ubuntu 7.04) que en windows XP. Proximamente tengo pensado instalarlo en el gutsy gibbon (ubuntu 7.10) pero aun no se cuando. Opinión de un novato: Para los que empiezan pienso que es un buen ide, aun fallando pues permite, de forma sencilla (aunque pienso que no intuitiva) hacer formularios y dialogos con sus botones, eventos... es cierto que mete mucha paja, pero como indico para empezar pe parece bueno. Mi idea es que cuando sea mayor poder hacer todo a base de codigo usando sizers. Mario Lacunza escribiu: > El día 10/12/07, Gustavo Pardo escribió: >> >> en entorno linux, me gustó la apariencia de boa constructor, pero no me >> gusta >> que se cuelgue cuando se le da la gana... > > > > Q version de Boa utilizas? Yo uso la ultima CVS 0.6.1 y no tengo > problemas.... y q es lo q estas haciendo cuando se cae?? > > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pau.cervera en gmail.com Tue Dec 11 16:22:03 2007 From: pau.cervera en gmail.com (Pau Cervera) Date: Tue, 11 Dec 2007 16:22:03 +0100 Subject: Green's function In-Reply-To: <200712111052.30556.jgomezdans@gmail.com> References: <200712111052.30556.jgomezdans@gmail.com> Message-ID: <932c33150712110722mee3a3cboa2e3aafa3a5c740d@mail.gmail.com> Ostras, pensaba que había una función de Green para cada operador diferencial dado y dependiendo de las condiciones de contorno, etc. (para el campo eléctrico es algo como 1/r, por ejemplo) y no una función general. Ahora me pica la curiosidad, ¿se puede implementar algo más general? ¿Teneís algún link a mano? On Dec 11, 2007 11:52 AM, José Gómez-Dans wrote: > On Tuesday 11 December 2007 09:32:45 Natali Melgarejo Diaz wrote: > > > Alguien sabe si existe la funcion de Green en Python??? (numpy, > > numerical, scipay,numarray o quizas en matplotlib :-/ ) La he buscado > > en Google y no la encuentro. > > Es probable que no venga por defecto en scipy (parece el sitio más > lógico), > pero si encuentras código útil en C o en FORTRAN, puedes hacer un > objeto/función en python que sea transparente para arrays de numpy, scipy > y > demás familia (usando f2py, que es muy fácil de usar). Como todo el mundo > tiene su código particular, no me suena que haya una versión canónica > tipo "Numerical Recipes". Puedes intentar preguntar en la lista de scipy, > a > ver si alguien trabaja con cosas similares. > > Saludos, > J > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Pau ------ "Boileau said that Kings, Gods and Heroes only were fit subjects for literature. The writer can only write about what he admires. Present-day kings aren't very inspiring, the gods are on a vacation and about the only heroes left are the scientists and the poor." -- John Steinbeck Important visitar: http://sindominio.net/biblioweb/pensamiento/softlibre/index.html _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From marcos.garrido en gmail.com Tue Dec 11 17:33:18 2007 From: marcos.garrido en gmail.com (Marcos Garrido) Date: Tue, 11 Dec 2007 13:33:18 -0300 Subject: Novato en Python en busca de IDE In-Reply-To: <006201c83b6d$f9ed6d60$708be050@equipo> References: <475961E2.7000603@dataneu.com> <8c50b5f00712080533w73827e51qd8fcb2b3c28628b6@mail.gmail.com> <475D86E0.2030901@dataneu.com> <006201c83b6d$f9ed6d60$708be050@equipo> Message-ID: <1197390798.16858.12.camel@spitfire-laptop> El lun, 10-12-2007 a las 21:48 +0100, Juan M. escribió: > Existe una nueva tendencia para la creación de GUIs y guardarlos en XML, se > trata de Uxython, que creo puede ser muy interesante, ahora está en una > versión inicial, pero promete mucho: http://www.uxpython.com/toolkit > Saludos. :-) Hasta donde se, los archivos glade están en formato xml, mi impresión es que la ide que sirve es la que mejor haga lo que "uno" quiere. IDE's no hay muchas, pero editores con funciones de resaltado y algunos con autocompletación hay, tenemos pida (con culebra como editor o vim), geany (para python, php y varios otros lenguajes), spe (en un principio utilizado para crear scripts para blender), eric (si usas kde es buena opción), pythonCard(por defecto en instalaciones python), openkomodo(1) (estoy emepzando a verlo y no está mal) y vim puro (para los clásicos). En este momento estoy usando geany y openkomodo(1) y como decía antes, es cosa de gustos. Salu2 (1)http://www.openkomodo.com ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From gustavo.pardo en dataneu.com Tue Dec 11 17:49:57 2007 From: gustavo.pardo en dataneu.com (Gustavo Pardo) Date: Tue, 11 Dec 2007 13:49:57 -0300 Subject: Novato en Python en busca de IDE In-Reply-To: <771741b20712110640i7cb40d95v77fa4a1750f4adb8@mail.gmail.com> References: <475961E2.7000603@dataneu.com> <8c50b5f00712080533w73827e51qd8fcb2b3c28628b6@mail.gmail.com> <475D86E0.2030901@dataneu.com> <771741b20712110640i7cb40d95v77fa4a1750f4adb8@mail.gmail.com> Message-ID: <475EBFB5.4060002@dataneu.com> Mario Lacunza escribió: > El día 10/12/07, Gustavo Pardo escribió: >> >> en entorno linux, me gustó la apariencia de boa constructor, pero no me >> gusta >> que se cuelgue cuando se le da la gana... > > > > Q version de Boa utilizas? Yo uso la ultima CVS 0.6.1 y no tengo > problemas.... y q es lo q estas haciendo cuando se cae?? > > también la 0.6.1, en dos o tres oportunidades, cuando realicé cambios en el formulario sobre la ventana 'inspector' y sin guardarlos intenté cambiar de pestaña en la ventana 'editor', se fue a los caños, en el formulario había un poco de todo, sólo eran pruebas. -- Gustavo Pardo Dataneu Argentina Software & Web Hosting Mail: gustavo.pardo en dataneu.com Web: http://dataneu.com/ Tel.(+54 299) 489 6880 Centenario, NQN - Argentina _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From mlacunza en gmail.com Tue Dec 11 18:55:33 2007 From: mlacunza en gmail.com (Mario Lacunza) Date: Tue, 11 Dec 2007 12:55:33 -0500 Subject: Novato en Python en busca de IDE In-Reply-To: <475EBFB5.4060002@dataneu.com> References: <475961E2.7000603@dataneu.com> <8c50b5f00712080533w73827e51qd8fcb2b3c28628b6@mail.gmail.com> <475D86E0.2030901@dataneu.com> <771741b20712110640i7cb40d95v77fa4a1750f4adb8@mail.gmail.com> <475EBFB5.4060002@dataneu.com> Message-ID: <771741b20712110955he2a5171v9a78b805724ba69@mail.gmail.com> Lo q pasa q Boa tiene una manera particular de trabajar y eso q hiciste Boa no lo permite... leete el manual primero, hay q dice alli comoo hacerlas segun la forma de Boa.... eso me pasaba al inicio, pero no era q Boa fallara, sino q yo queria hacer algo q no se podia,,,,,,,,,,,,, El día 11/12/07, Gustavo Pardo escribió: > > Mario Lacunza escribió: > > El día 10/12/07, Gustavo Pardo escribió: > >> > >> en entorno linux, me gustó la apariencia de boa constructor, pero no me > >> gusta > >> que se cuelgue cuando se le da la gana... > > > > > > > > Q version de Boa utilizas? Yo uso la ultima CVS 0.6.1 y no tengo > > problemas.... y q es lo q estas haciendo cuando se cae?? > > > > > > también la 0.6.1, en dos o tres oportunidades, cuando realicé cambios en > el > formulario sobre la ventana 'inspector' y sin guardarlos intenté cambiar > de > pestaña en la ventana 'editor', se fue a los caños, en el formulario había > un > poco de todo, sólo eran pruebas. > > -- > Gustavo Pardo > Dataneu Argentina > Software & Web Hosting > Mail: gustavo.pardo en dataneu.com > Web: http://dataneu.com/ > Tel.(+54 299) 489 6880 > Centenario, NQN - Argentina > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Saludos / Best regards Mario Lacunza Desarrollador de Sistemas - Webmaster Desarrollador 2 Estrellas VS2005 Email: mlacunza [AT] gmail [DOT] com Website: mlacunzav[DOT]cogia[DOT]net Blog: http://mlacunza.blogspot.com/ Lima - Peru _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pachi en rvburke.com Tue Dec 11 19:32:53 2007 From: pachi en rvburke.com (Rafael Villar Burke) Date: Tue, 11 Dec 2007 19:32:53 +0100 Subject: Novato en Python en busca de IDE In-Reply-To: <1197390798.16858.12.camel@spitfire-laptop> References: <475961E2.7000603@dataneu.com> <8c50b5f00712080533w73827e51qd8fcb2b3c28628b6@mail.gmail.com> <475D86E0.2030901@dataneu.com> <006201c83b6d$f9ed6d60$708be050@equipo> <1197390798.16858.12.camel@spitfire-laptop> Message-ID: <475ED7D5.4060101@rvburke.com> Ha salido mucha información sobre los IDEs que usa la gente de la lista y muchas personas han comparado varios... sería interesante pasar parte de esta información a la lista de preguntas frecuentes, o, al menos, remitir a este hilo, ya que es una de las preguntas más habituales. ¿Alguien se anima? http://listas.aditel.org/faqpyes Saludos, Rafael Villar Burke ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From juatman_2000 en yahoo.es Tue Dec 11 19:55:48 2007 From: juatman_2000 en yahoo.es (Juan M.) Date: Tue, 11 Dec 2007 19:55:48 +0100 Subject: Novato en Python en busca de IDE References: <475961E2.7000603@dataneu.com><8c50b5f00712080533w73827e51qd8fcb2b3c28628b6@mail.gmail.com><475D86E0.2030901@dataneu.com> <006201c83b6d$f9ed6d60$708be050@equipo> <1197390798.16858.12.camel@spitfire-laptop> Message-ID: <00e501c83c27$80935730$9a8be050@equipo> Marcos Garrido escribió: > Hasta donde se, los archivos glade están en formato xml. Exacto, igual que con WxGlade. Una de las cosas que me han gustado de este naciente UxPython http://www.uxpython.com/toolkit es que cuando salga la Beta 2, el mismo interfaz gráfico de usuario que has creado, sirve tanto para el escritorio como para Internet, no tienes que duplicar esfuerzos. De este tema ya hablamos aquí, así deberían hacerse todos los programas para diseñar GUIs, aunque yo lo haría con WxPython porque utiliza el estilo de cada escritorio. Saludos. :-) ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From luis.ore.ori en gmail.com Wed Dec 12 00:30:04 2007 From: luis.ore.ori en gmail.com (Luis Orellana) Date: Wed, 12 Dec 2007 00:30:04 +0100 Subject: Ejecutable como servicio Message-ID: <475F1D7C.9090607@gmail.com> He cambiado de correo y no he podido retomar el hilo que llevaba. > Resumo un poco como iba la cosa: > > > Trataba de poner un ejecutable como servicio. El ejecutable lo creé > con py2exe y funciona. Para ponerlo como servicio seguí la receta de > Juan Manuel Ruiz Garcia (Muchas gracias) que edito aquí abajo: > > > COMO HACER UN SERVICIO A PARTIR DE UN EJECUTABLE > Para poder realizar esta operación, nos apoyaremos siempre en dos > utilidades llamadas INSTSERV.EXE y SRVANY.EXE. > Pasos a seguir: > > 1) asegurarnos que estas dos aplicaciones se encuentran en un directorio > > del PATH, preferiblemente %SystemRoot%\system32. > > 2) Elegir un "nombre corto" para el servicio. Este "nombre corto" será el > que se muestre en la lista de servicios del operativo y el que > > necesitaremos para lanzar comandos de arranque y parada como 'net start' o > 'net stop'. Igualmente necesitamos saber cuál será el directorio de > ejecución de la aplicación que queremos correr como servicio y los > parámetros de línea de comando que vamos a querer utilizar. > > > 3) Una vez que conocemos todos estos datos, vamos a crear el servicio con > el nombre elegido, haciendo uso de los dos programas auxiliares: > > instsrv "Nombre del Servicio" "ruta completa de > srvany.exe" > > Con este comando, tenemos el servicio {Nombre Servicio} creado, apuntando > a la ejecución de srvany.exe > > 4) Ahora hay que indicar qué programa ha de ser ejecutado realmente. Para > ello debemos buscar en el registro la clave: > > HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\{Nombre Servicio} > > Y creamos la subclave: > "Parameters" > Donde incluiremos los siguientes valores alfanuméricos (REG_SZ): > ? AppDirectory, donde escribiremos la ruta de la carpeta de ejecución del > > programa > ? Application, donde escribiremos el ejecutable del programa, con la ruta > completa > ? AppParameters, donde escribiremos los parámetros con los que ejecutarla > > > > He seguido estos pasos, activo el servicio con net star y veo que en > administrador de tareas de W$ el programa está ejecuntandose ;) ... > pero ... no me funciona :( . decir que en AppParameters no he puesto > nada, ya que al programa no se le pasan parámetros. El programa es > solo un servidor que escucha, el cliente mandaría una cadena y el > servidor sacaría la cadena en una ventana. El caso es que la ventana > no sale :( > ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From maengora en gmail.com Wed Dec 12 00:49:12 2007 From: maengora en gmail.com (=?ISO-8859-1?Q?Manuel_Enrique_Gonz=E1lez_Ram=EDrez?=) Date: Tue, 11 Dec 2007 18:49:12 -0500 Subject: Pasar datos Message-ID: Cordial saludo. Agradezco la ayuda enviada en cuanto a lo del Grid. Me funciono a la perfección. Gracias nuevamente. Ahora lo que necesito saber es como paso datos de un formulario a otro. Ejemplo. Tengo el formulario A con un text edit denominado dato_recibido y tengo el formulario B con un edit text denominado dato_enviado donde escribo cualquier cosa y un boton denominado enviar. Yo quiero que al hacer clic en el boton del formulario B el contenido de dato_enviado quede replicado en el formulario A en dato_recibido. Muchas gracias a todos por su colaboracion _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From balamslash en gmail.com Wed Dec 12 01:33:40 2007 From: balamslash en gmail.com (balam castillo) Date: Tue, 11 Dec 2007 18:33:40 -0600 Subject: Una introduccion a python para los nuevos Message-ID: Python es un lenguaje de programación orientado a objetos muy sencillo, para desarrollar programas, teniendo la ventaja de comunicarse con cualquier Sistema Operativo, escribir pequeños programas y archivos de texto, su nombre se deriva de un circo ambulante llamado *Monty Python*, siendo un lenguaje de programación creado por* Guido Van Rossum* científico de computación, ganó el premio *Free Software Award* por el gran avance en el desarrollo de Software libre, este es un lenguaje interpretado *(scripts)*debido al ahorro de tiempo, se dice que es multi-plataforma por su compatibilidad en los sistemas *(teniendo el interprete)*, y es necesario que no se compile hasta después de la ejecución, por otro lado las sentencias que maneja son aptas para su mejor entendimiento. Python ofrece poder ser ejecutado en cualquier tipo de máquina, además de que posee la licencia de GLP por lo que es distribuido libremente. todo el articulo en www.getandpost.com espero sea de utilidad _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From gagsl-py2 en yahoo.com.ar Wed Dec 12 05:01:09 2007 From: gagsl-py2 en yahoo.com.ar (Gabriel Genellina) Date: Wed, 12 Dec 2007 01:01:09 -0300 Subject: Ejecutable como servicio References: <475F1D7C.9090607@gmail.com> Message-ID: En Tue, 11 Dec 2007 20:30:04 -0300, Luis Orellana escribi?: >> He seguido estos pasos, activo el servicio con net star y veo que en >> administrador de tareas de W$ el programa está ejecuntandose ;) ... >> pero ... no me funciona :( . decir que en AppParameters no he puesto >> nada, ya que al programa no se le pasan parámetros. El programa es >> solo un servidor que escucha, el cliente mandaría una cadena y el >> servidor sacaría la cadena en una ventana. El caso es que la ventana >> no sale :( Los servicios normalmente se ejecutan bajo la cuenta LocalService, que *NO* tiene permisos para crear ventanas ni ningun otro tipo de interaccion con el escritorio. Si vas a Panel de Control, Herramientas administrativas, Servicios, buscas tu servicio, vas a Propiedades, en la solapa Inicio de Sesión se puede elegir "Cuenta de sistema local" y marcar la opcion "Permitir al servicio interactuar con el escritorio". Supongo que comparando cómo queda el registro despues de hacer ese cambio te daras cuenta de como hacerlo por programa. Ahora bien, lo normal es que los servicios NO tengan ventanas ni nada de eso, porque son sólo eso, servicios para ser utilizados por el resto de las aplicaciones. Estas seguro de que lo que pretendes hacer es realmente un servicio? a quién le sirve? Algunos servicios tienen dos partes, el servicio "real" y una aplicacion auxiliar, un programa normal, que se comunica con el servicio y muestra informacion de estado o lo que sea; esta ultima se puede iniciar o cerrar independientemente del servicio. -- Gabriel Genellina ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From gagsl-py2 en yahoo.com.ar Wed Dec 12 05:17:50 2007 From: gagsl-py2 en yahoo.com.ar (Gabriel Genellina) Date: Wed, 12 Dec 2007 01:17:50 -0300 Subject: Green's function References: <200712111052.30556.jgomezdans@gmail.com> <932c33150712110722mee3a3cboa2e3aafa3a5c740d@mail.gmail.com> Message-ID: En Tue, 11 Dec 2007 12:22:03 -0300, Pau Cervera escribi?: > Ostras, pensaba que había una función de Green para cada operador > diferencial dado y dependiendo de las condiciones de contorno, etc. > (para el > campo eléctrico es algo como 1/r, por ejemplo) y no una función general. > Ahora me pica la curiosidad, ¿se puede implementar algo más general? > ¿Teneís > algún link a mano? Yo tambien creo que es así. No existe "la" funcion de Green, no se trata del nombre de una funcion particular (como en "funcion exponencial"). Sería algo así como decir que la transformada de Fourier es una funcion específica (y no un operador que actúa sobre otra función arbitraria) -- Gabriel Genellina ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From luis.ore.ori en gmail.com Wed Dec 12 09:17:09 2007 From: luis.ore.ori en gmail.com (Luis Orellana Orihuela) Date: Wed, 12 Dec 2007 09:17:09 +0100 Subject: Ejecutable como servicio In-Reply-To: References: <475F1D7C.9090607@gmail.com> Message-ID: <526b12900712120017k2747a39el5ac0e11c06d88821@mail.gmail.com> Gabriel Genellina escribió: En Tue, 11 Dec 2007 20:30:04 -0300, Luis Orellana escribi?: Los servicios normalmente se ejecutan bajo la cuenta LocalService, que *NO* tiene permisos para crear ventanas ni ningun otro tipo de interaccion con el escritorio. Si vas a Panel de Control, Herramientas administrativas, Servicios, buscas tu servicio, vas a Propiedades, en la solapa Inicio de Sesión se puede elegir "Cuenta de sistema local" y marcar la opcion "Permitir al servicio interactuar con el escritorio". Supongo que comparando cómo queda el registro despues de hacer ese cambio te daras cuenta de como hacerlo por programa. Ahora bien, lo normal es que los servicios NO tengan ventanas ni nada de eso, porque son sólo eso, servicios para ser utilizados por el resto de las aplicaciones. Estas seguro de que lo que pretendes hacer es realmente un servicio? a quién le sirve? Algunos servicios tienen dos partes, el servicio "real" y una aplicacion auxiliar, un programa normal, que se comunica con el servicio y muestra informacion de estado o lo que sea; esta ultima se puede iniciar o cerrar independientemente del servicio. Gracias Gabriel, ahora si aparece la ventana. Referente a lo de si el servicio ha de tener ventana ... pues ... es algo impuesto; la aplicación no es para mí, me dijeron de hacer una aplicación cliente-servidor para comunicación en LAN. A grosso modo, el administrador sería el cliente y los demás serian servidores y la comunicación es unidireccional, es decir solo el cliente manda mensajes que deben ser mostrado en la pantalla los servidores (Tipo: "deja de jugar" ... o "la sesión se acaba en 5 min") . El caso es que me dijeron de hacerlo en backround oculto a los usuarios y que la forma de hacerlo era como demonio o servicio así que solo me limité a seguir ordenes. De todas formas no sé si es lo más adecuado ya que el proceso está visible en administrador de tareas y un usuario avispado podría matarlo. Si se os ocurre otro método ... mejor que mejor... así sorprendo al jefe ;) ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From luis.ore.ori en gmail.com Wed Dec 12 09:51:43 2007 From: luis.ore.ori en gmail.com (Luis Orellana Orihuela) Date: Wed, 12 Dec 2007 09:51:43 +0100 Subject: Problema con ventana Message-ID: <526b12900712120051p6d62b68cib0ad27e9b916e1b4@mail.gmail.com> Reanudo el hilo que llevaba en mi anterior cuenta: No me enrollo y simplifico. Tenemos esta aplicación: from Tkinter import * from tkMessageBox import showinfo form = Tk() form.withdraw() showinfo(title='Titulo ventana', message='hola mundo') print "llega??" ¿Hay alguna forma de que se ejecute la linea* print "llega??" *sin tener que esperar que se cierre o acepte la ventana showinfo? es decir, trato de que la aplicación siga su curso sin que se quede esperando un evento que interactúe con la ventana. El objetivo es mostrar el mensaje y seguir, sin necesidad de saber lo que se hace con la ventana. Gracias _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From acurro en wanadoo.es Tue Dec 11 11:57:29 2007 From: acurro en wanadoo.es (Alberto Curro) Date: Tue, 11 Dec 2007 11:57:29 +0100 Subject: Ejecutable como servicio In-Reply-To: <526b12900712120017k2747a39el5ac0e11c06d88821@mail.gmail.com> References: <475F1D7C.9090607@gmail.com> <526b12900712120017k2747a39el5ac0e11c06d88821@mail.gmail.com> Message-ID: <475E6D19.9020206@wanadoo.es> Luis Orellana Orihuela escribió: > Gracias Gabriel, ahora si aparece la ventana. > > Referente a lo de si el servicio ha de tener ventana ... pues ... es algo > impuesto; la aplicación no es para mí, me dijeron de hacer una aplicación > cliente-servidor para comunicación en LAN. A grosso modo, el administrador > sería el cliente y los demás serian servidores y la comunicación es > unidireccional, es decir solo el cliente manda mensajes que deben ser > mostrado en la pantalla los servidores (Tipo: "deja de jugar" ... o "la > sesión se acaba en 5 min") . El caso es que me dijeron de hacerlo en > backround oculto a los usuarios y que la forma de hacerlo era como demonio > o servicio así que solo me limité a seguir ordenes. De todas formas no sé si > es lo más adecuado ya que el proceso está visible en administrador de tareas > y un usuario avispado podría matarlo. Si se os ocurre otro método ... mejor > que mejor... así sorprendo al jefe ;) > Fácil, se llama seguridad de cuentas. Ejecuta el servicio (o programa) como administrador. De la misma manera que dijiste cuenta de sistema local con acceso al escritorio, ponle ejecutar como usuario y usa una cuenta de administrador y su correspondiente contraseña. En un entorno implementado idealmente, donde los usuarios no son administradores, aunque vean dicho servicio en el administrador de tareas, no podrán matarlo porque no disponen de permisos específicos para ello. Y no podrán cambiarlo ni hacer nada porque no tienen acceso a la cuenta administrativa. Además, ¿conoces el servicio mensajería, ya existente desde Windows 95, e incluso anteriores? Hace lo mismo que tú quieres hacer, y normalmente los usuarios lo desconocen totalmente. Podrías usar las extensión shell del winapi para acceder a dicho servicio. A las API de windows puedes acceder usando las extensiones API win32 de Mark Hammond. http://starship.python.net/crew/mhammond/win32/ Saludos > ------------------------------------------------------------------------ > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From listas en soft-com.es Wed Dec 12 19:50:32 2007 From: listas en soft-com.es (=?ISO-8859-1?Q?Oswaldo_Hern=E1ndez?=) Date: Wed, 12 Dec 2007 19:50:32 +0100 Subject: Servicio en python Message-ID: <47602D78.8030200@soft-com.es> Hola a todos, Estoy intentando crear un servicio windows siguiendo las instrucciones de: y el ejemplo del paquete pyWin32, pero no lo consigo. El programita servicio.py el el siguiente: import win32service import win32serviceutil class ServiceTest(win32serviceutil.ServiceFramework): _svc_name_ = "ServiceTest" _svc_display_name_ = "service test" _svc_description_ = "descripcon test" def __init__(self,args): win32serviceutil.ServiceFramework.__init__(self,args) self.Activo = True def SvcDoRun(self): while self.Activo: pass def SvcStop(self): self.ReportServiceStatus(win32service.SERVICE_STOP_PENDING) self.Activo = False if __name__ == '__main__': win32serviceutil.HandleCommandLine(ServiceTest) Ejecuto: X:\Python\Otros>servicio.py install Installing service ServiceTest Service installed X:\Python\Otros>servicio.py start Starting service ServiceTest Hasta aqui parece que ha funcionado, miro en la lista de servicios y aparece como instalado, pero no se ha iniciado y en el visor de sucesos aparece el siguiente evento: "El servicio service test terminó con el error específico de servicio 1 (0x1)." Segun los ejemplos que he encontrado el programa esta correcto. ¿Alguien sabe porque no se inicia? Gracias. -- ***************************************** Oswaldo Hernández oswaldo (@) soft-com (.) es ***************************************** _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From ftoledo en docksud.com.ar Wed Dec 12 21:41:37 2007 From: ftoledo en docksud.com.ar (Fernando Toledo) Date: Wed, 12 Dec 2007 17:41:37 -0300 Subject: framework o widgets modo texto Message-ID: <200712121741.39309.ftoledo@docksud.com.ar> Hola ando buscando algun framework o libreria para hacer aplicaciones en modo texto, con algunas ventanas, algun popup y soporte de mouse, menus, etc. pero que no me haga perder mucho tiempo en el diseño de pantalla. lo que estuve viendo es: curses urwid newt pero no terminan de convencerme. alguien tiene experiencia sobre esto, que usarian uds? La idea es poder remplazar algunas aplicaciones legacy en cobol/clipper/fox por codigo python pero manteniendo el look and feel anterior gracias! -- Dock Sud BBS http://www.docksud.com.ar telnet://bbs.docksud.com.ar ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part. URL: ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From hidura en gmail.com Thu Dec 13 05:22:07 2007 From: hidura en gmail.com (hidura) Date: Thu, 13 Dec 2007 00:22:07 -0400 Subject: Problemas con Reportlab Message-ID: <4bbf7fb20712122022l35ddbd0aw59f03179d6a5668a@mail.gmail.com> Buenas noches lista, Me encuentro generando un reporte en Reportlab y he tenido una desgracia cada vez que pasa de las 16 filas el reporte debe generar una segunda pagina para poder continuar pero en vez de generame la otra pagina me da un error fatal y no hace nada si pudieran darme una mano se los agradeceria aqui pego el fuente del reporte para que lo vean y me digan todo esta bien indexado solo es cuando se genera la segunda pagina que explota # -*- coding: utf-8 -* ### Import Modules from obje import con db = con() from reportlab.pdfgen import canvas from reportlab.lib.units import inch from reportlab.lib.pagesizes import letter,landscape import os import datetime import time ###Define With and Height for the page (This does not set the page properties) ancho=8.50 largo=11 #def __init__(idfactu): def cotiz(cotiza): cotiza.setTitle ("Cotización") #Draw Header Strings cotiza.setFont("Helvetica", 40) cotiza.drawString(2*inch, 10*inch, "Ocean Blue") cotiza.setFont("Helvetica", 12) cotiza.drawString(2*inch, 9.7*inch, "Direccion") cotiza.drawString(2*inch, 9.4*inch, "Telefono") cotiza.drawString(2*inch, 9.1*inch, "RNC") idfactu=91 ## Obtener los datos del cliente cr = db.source() cr.execute("SELECT cliente FROM cotiz WHERE(id='%s')" % idfactu) c = cr.fetch()[0] clien = c[0] cr.execute("SELECT nombre FROM clientes WHERE(id='%s')" % clien) nomc = cr.fetch()[0] nombcli = nomc[0] cr.execute("SELECT direccion FROM clientes WHERE(id='%s')" % clien) dire = cr.fetch()[0] direc = dire[0] cr.execute("SELECT telefono FROM clientes WHERE(id='%s')" % clien) te = cr.fetch()[0] tel = te[0] cr.execute("SELECT celular FROM clientes WHERE(id='%s')" % clien) ce = cr.fetch()[0] cel = ce[0] cr.close() #Draw Clients Data cotiza.drawString(1.48*inch, 8.45*inch, "%s" % nombcli) cotiza.drawString(1.60*inch, 8.25*inch, "%s" % direc[0:12]) cotiza.drawString(0.75*inch, 8.05*inch, "%s" % direc[12:]) cotiza.drawString(1.55*inch, 7.75*inch, "%s" % tel) cotiza.drawString(1.55*inch, 7.50*inch, "%s" % cel) cotiza.setFont("Helvetica", 26) cotiza.drawRightString(7.5*inch, 9.5*inch, "Cotizacion") #Draw Square and Strings for the Client Data cotiza.rect(0.5*inch, 7.2*inch, 3.5*inch, 1.5*inch) cotiza.setFont("Helvetica", 12) cotiza.drawString(0.75*inch, 8.45*inch, "Cliente.:") cotiza.drawString(0.75*inch, 8.25*inch, "Direccion.:") cotiza.drawString(0.75*inch, 7.75*inch, "Tel.:") cotiza.drawString(0.75*inch, 7.50*inch, "Movil.:") #Draw Gridline for the Schema; and Signature Lines cotiza.grid([0.5*inch, 1.5*inch, 5*inch, 8*inch], [6.8*inch, 6.5*inch, 1*inch]) cotiza.line(6.5*inch, 6.8*inch, 6.5*inch, 2*inch) cotiza.rect(5*inch, 1.00*inch, 3*inch, 0.25*inch) cotiza.rect(5*inch, 1.25*inch, 3*inch, 0.25*inch) cotiza.rect(5*inch, 1.50*inch, 3*inch, 0.25*inch) cotiza.rect(5*inch, 1.75*inch, 3*inch, 0.25*inch) cotiza.line(1*inch, 0.5*inch, 3.5*inch, 0.5*inch) cotiza.line(4.5*inch, 0.5*inch, 7.0*inch, 0.5*inch) #Draw Strings Inside The Schema cotiza.setFont("Helvetica", 12) cotiza.drawCentredString(1*inch, 6.6*inch, "Cantidad") cotiza.drawCentredString(3.25*inch, 6.6*inch, "Descripcion") cotiza.drawCentredString(5.75*inch, 6.6*inch, "Precio") cotiza.drawCentredString(7.25*inch, 6.6*inch, "Total") cotiza.drawString(5.05*inch, 1.82*inch, "Sub-Total:") cotiza.drawString(5.05*inch, 1.57*inch, "Impuestos:") cotiza.drawString(5.05*inch, 1.32*inch, "Otros:") cotiza.drawString(5.05*inch, 1.07*inch, "Total:") #Obtener los productos de dicha cotizacion pos_y = 6.50 cr = db.source() cr.execute("SELECT id FROM cotiz_productos WHERE(id_cotiz='%s')"% idfactu) r = cr.ntuples w = cr.fetch(r) cuent_line = 0 for i in range(0,r): t = w[i] q = t[0] pos_y = pos_y-0.25 cr.execute("SELECT cantidad FROM cotiz_productos WHERE(id='%s')"% q) ca = cr.fetch()[0] cant = ca[0] cotiza.drawString(1*inch, pos_y*inch, "%s" % cant) cr.execute("SELECT producto FROM cotiz_productos WHERE(id='%s')"% q) idp = cr.fetch()[0] idpr = idp[0] cr.execute("SELECT nombre FROM productos WHERE(id='%s')"% idpr) no = cr.fetch()[0] nombr = no[0] cotiza.drawString(1.75*inch, pos_y*inch, "%s" % nombr) cr.execute("SELECT precio_vent FROM productos WHERE(id='%s')"% idpr) pc = cr.fetch()[0] prec = pc[0] cotiza.drawString(5.10*inch, pos_y*inch, "RD$%s.00" % prec) total = float(cant)*float(prec) cotiza.drawString(6.60*inch, pos_y*inch, "RD$%s0" % total) if (i >= 16): cotiza.showPage() cotiz (cotiza) cotiza.setFont("Helvetica", 40) pos_y= pos_y -10 cotiza = canvas.Canvas("Cotizacion.pdf", pagesize=(ancho*inch, largo*inch)) cotiz(cotiza) cotiza.showPage() cotiza.save() os.system("evince Cotizacion.pdf") -- Hidura _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From g.ces en pettra.es Thu Dec 13 09:17:44 2007 From: g.ces en pettra.es (Gustavo Ces) Date: Thu, 13 Dec 2007 09:17:44 +0100 Subject: Pregunta newbie sobre sockets y urllib2 Message-ID: <00e301c83d60$a3886980$ba03a8c0@GUS> Saludos, Estoy haciendo un script para acceder a una url iterando ( cambiando algunos parametros en cada iteración). El problema es que suelo obtener un error de Socket Time Out 10060, que a veces se produce antes y otras veces después. Puede que sea una forma de defenderse del servidor ( como veis no tengo mucha idea de servidores web), o bien que hay veces que mis consultas se intercalan con las de otros, el caso es que llegado un momento me salta ese mensaje y si vuelvo a ejecutar el script suele saltar antes ( en menos iteraciones, quiero decir). He probado introduciendo lapsos de tiempo cada x iteraciones, pero no encuentro un patrón ( probablemente por lo que decía antes de que mis consultas se intercalan con las de otros usuarios mientras que otras veces solo estoy yo) : a veces salta antes, a veces después. También he pensado que puede que sea un simple fallo al intentar el acceso y que lo que debería hacer es introducir en mi código una forma de reintentar en caso de fallar la conexión : for direccion in lista : sock=urllib2.urlopen(direccion) pagina= sock.read() sock.close() html=BeautifulSoup(pagina) Así es como está ahora. La pregunta es, ¿ cúal sería la mejor manera de introducir ese "reintenta hasta que la conexión sea exitosa? ¿ qué metodo o propiedad del socket he de comprobar para saberlo? Gracias adelantadas por las respuestas, Gus _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From adminies.reinoaftasi en edu.juntaextremadura.net Thu Dec 13 09:50:12 2007 From: adminies.reinoaftasi en edu.juntaextremadura.net (jmajadot) Date: Thu, 13 Dec 2007 09:50:12 +0100 Subject: Problemas con Reportlab In-Reply-To: <4bbf7fb20712122022l35ddbd0aw59f03179d6a5668a@mail.gmail.com> References: <4bbf7fb20712122022l35ddbd0aw59f03179d6a5668a@mail.gmail.com> Message-ID: <1197535813.4192.3.camel@adtor-pro> Creo que esta metido en un problema de recursividad, cada salto de página vuelves a llamar a cotiz(cotiza) Idea: crea una función cabecera y otro proceso. En la cabecera iría todo salvo el for de la consulta de productos, y en proceso, esta claro, el for. Dentro de este último en cada salto de línea, vuelve a llamar a cabecera. otra cosa, no utilices el índice i >= 16, incrementa cuent_line y controla con el la linea y vuelve a ponerlo a cero SAludos El jue, 13-12-2007 a las 00:22 -0400, hidura escribió: > Buenas noches lista, > > Me encuentro generando un reporte en Reportlab y he tenido una desgracia > cada vez que pasa de las 16 filas el reporte debe generar una segunda pagina > para poder continuar pero en vez de generame la otra pagina me da un error > fatal y no hace nada si pudieran darme una mano se los agradeceria aqui pego > el fuente del reporte para que lo vean y me digan todo esta bien indexado > solo es cuando se genera la segunda pagina que explota > > > > # -*- coding: utf-8 -* > > > > ### Import Modules > > from obje import con > db = con() > from reportlab.pdfgen import canvas > from reportlab.lib.units import inch > from reportlab.lib.pagesizes import letter,landscape > import os > import datetime > import time > > ###Define With and Height for the page (This does not set the page > properties) > > ancho=8.50 > largo=11 > > > #def __init__(idfactu): > def cotiz(cotiza): > > cotiza.setTitle ("Cotización") > #Draw Header Strings > cotiza.setFont("Helvetica", 40) > cotiza.drawString(2*inch, 10*inch, "Ocean Blue") > cotiza.setFont("Helvetica", 12) > cotiza.drawString(2*inch, 9.7*inch, "Direccion") > cotiza.drawString(2*inch, 9.4*inch, "Telefono") > cotiza.drawString(2*inch, 9.1*inch, "RNC") > idfactu=91 > ## Obtener los datos del cliente > > cr = db.source() > cr.execute("SELECT cliente FROM cotiz WHERE(id='%s')" % idfactu) > c = cr.fetch()[0] > clien = c[0] > cr.execute("SELECT nombre FROM clientes WHERE(id='%s')" % clien) > nomc = cr.fetch()[0] > nombcli = nomc[0] > cr.execute("SELECT direccion FROM clientes WHERE(id='%s')" % clien) > dire = cr.fetch()[0] > direc = dire[0] > cr.execute("SELECT telefono FROM clientes WHERE(id='%s')" % clien) > te = cr.fetch()[0] > tel = te[0] > cr.execute("SELECT celular FROM clientes WHERE(id='%s')" % clien) > ce = cr.fetch()[0] > cel = ce[0] > cr.close() > #Draw Clients Data > cotiza.drawString(1.48*inch, 8.45*inch, "%s" % nombcli) > cotiza.drawString(1.60*inch, 8.25*inch, "%s" % direc[0:12]) > cotiza.drawString(0.75*inch, 8.05*inch, "%s" % direc[12:]) > cotiza.drawString(1.55*inch, 7.75*inch, "%s" % tel) > cotiza.drawString(1.55*inch, 7.50*inch, "%s" % cel) > cotiza.setFont("Helvetica", 26) > cotiza.drawRightString(7.5*inch, 9.5*inch, "Cotizacion") > > #Draw Square and Strings for the Client Data > cotiza.rect(0.5*inch, 7.2*inch, 3.5*inch, 1.5*inch) > cotiza.setFont("Helvetica", 12) > cotiza.drawString(0.75*inch, 8.45*inch, "Cliente.:") > cotiza.drawString(0.75*inch, 8.25*inch, "Direccion.:") > cotiza.drawString(0.75*inch, 7.75*inch, "Tel.:") > cotiza.drawString(0.75*inch, 7.50*inch, "Movil.:") > > #Draw Gridline for the Schema; and Signature Lines > cotiza.grid([0.5*inch, 1.5*inch, 5*inch, 8*inch], [6.8*inch, 6.5*inch, > 1*inch]) > cotiza.line(6.5*inch, 6.8*inch, 6.5*inch, 2*inch) > cotiza.rect(5*inch, 1.00*inch, 3*inch, 0.25*inch) > cotiza.rect(5*inch, 1.25*inch, 3*inch, 0.25*inch) > cotiza.rect(5*inch, 1.50*inch, 3*inch, 0.25*inch) > cotiza.rect(5*inch, 1.75*inch, 3*inch, 0.25*inch) > > cotiza.line(1*inch, 0.5*inch, 3.5*inch, 0.5*inch) > cotiza.line(4.5*inch, 0.5*inch, 7.0*inch, 0.5*inch) > > #Draw Strings Inside The Schema > cotiza.setFont("Helvetica", 12) > cotiza.drawCentredString(1*inch, 6.6*inch, "Cantidad") > cotiza.drawCentredString(3.25*inch, 6.6*inch, "Descripcion") > cotiza.drawCentredString(5.75*inch, 6.6*inch, "Precio") > cotiza.drawCentredString(7.25*inch, 6.6*inch, "Total") > cotiza.drawString(5.05*inch, 1.82*inch, "Sub-Total:") > cotiza.drawString(5.05*inch, 1.57*inch, "Impuestos:") > cotiza.drawString(5.05*inch, 1.32*inch, "Otros:") > cotiza.drawString(5.05*inch, 1.07*inch, "Total:") > > #Obtener los productos de dicha cotizacion > > pos_y = 6.50 > cr = db.source() > cr.execute("SELECT id FROM cotiz_productos WHERE(id_cotiz='%s')"% > idfactu) > r = cr.ntuples > w = cr.fetch(r) > cuent_line = 0 > for i in range(0,r): > t = w[i] > q = t[0] > pos_y = pos_y-0.25 > cr.execute("SELECT cantidad FROM cotiz_productos WHERE(id='%s')"% q) > ca = cr.fetch()[0] > cant = ca[0] > cotiza.drawString(1*inch, pos_y*inch, "%s" % cant) > cr.execute("SELECT producto FROM cotiz_productos WHERE(id='%s')"% q) > idp = cr.fetch()[0] > idpr = idp[0] > cr.execute("SELECT nombre FROM productos WHERE(id='%s')"% idpr) > no = cr.fetch()[0] > nombr = no[0] > cotiza.drawString(1.75*inch, pos_y*inch, "%s" % nombr) > cr.execute("SELECT precio_vent FROM productos WHERE(id='%s')"% idpr) > pc = cr.fetch()[0] > prec = pc[0] > cotiza.drawString(5.10*inch, pos_y*inch, "RD$%s.00" % prec) > total = float(cant)*float(prec) > cotiza.drawString(6.60*inch, pos_y*inch, "RD$%s0" % total) > if (i >= 16): > cotiza.showPage() > cotiz (cotiza) > cotiza.setFont("Helvetica", 40) > pos_y= pos_y -10 > > > cotiza = canvas.Canvas("Cotizacion.pdf", pagesize=(ancho*inch, largo*inch)) > cotiz(cotiza) > cotiza.showPage() > cotiza.save() > os.system("evince Cotizacion.pdf") > > > ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From luis.ore.ori en gmail.com Thu Dec 13 11:44:32 2007 From: luis.ore.ori en gmail.com (Luis Orellana Orihuela) Date: Thu, 13 Dec 2007 11:44:32 +0100 Subject: llamada a un ejecutable Message-ID: <526b12900712130244h1ad490d3xb01acd161c54025d@mail.gmail.com> Hola, se me ha ocurrido una forma muy poco ortodoxa para resolver el problema que tenía. Quería mostrar por ventas los mensajes que me llegaban por un socket sin que se me colgado el script esperando eventos de la ventana (yo el Tkinter nos llevamos mal). Lo que hago ahora es por cada socket que me llega llamar a un ejecutable que solo muestra la ventana (en un hilo diferente) y así logro seguir con la ejecución del servidor que escucha. El script con el que he hecho el ejecutable (lo he llamado popup.exe) es bien simple: import sys from Tkinter import * from tkMessageBox import showinfo msg= " ".join(sys.argv[1:]) #tomamos mensaje pasado como parmetro form = Tk() form.withdraw() showinfo(title='titulo', message=msg) Y en el servidor ejecutaría este ejecutable: os.system('c:\python25\dist\popup.exe '+texto) Ahora el sistema me funciona como quiero salvo por una pequeña peculiaridad. Al ejecutarse popup.exe sale la ventanita con el mensaje pero sale de fondo la típica ventana de MSDOS. ¿hay alguna forma de quitarla?. He probado a ejecutar primero c:\cmd.exe /c y luego ejecutar el popup.exe pero se ejecutan en ventanas MSDOS diferentes ya que cada comando lo ejecuto con dos os.system diferentes, ¿hay alguna forma de ejecutar más de un comando con os.system? Graciasssssss _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From a.porrua en gmail.com Thu Dec 13 11:53:29 2007 From: a.porrua en gmail.com (tny) Date: Thu, 13 Dec 2007 11:53:29 +0100 Subject: Pregunta newbie sobre sockets y urllib2 In-Reply-To: <00e301c83d60$a3886980$ba03a8c0@GUS> References: <00e301c83d60$a3886980$ba03a8c0@GUS> Message-ID: <1197543209.6203.14.camel@skynet> El jue, 13-12-2007 a las 09:17 +0100, Gustavo Ces escribió: > Saludos, > > Estoy haciendo un script para acceder a una url iterando ( cambiando algunos parametros en cada iteración). El problema es que suelo obtener un error de Socket Time Out 10060, que a veces se produce antes y otras veces después. Puede que sea una forma de defenderse del servidor ( como veis no tengo mucha idea de servidores web), o bien que hay veces que mis consultas se intercalan con las de otros, el caso es que llegado un momento me salta ese mensaje y si vuelvo a ejecutar el script suele saltar antes ( en menos iteraciones, quiero decir). He probado introduciendo lapsos de tiempo cada x iteraciones, pero no encuentro un patrón ( probablemente por lo que decía antes de que mis consultas se intercalan con las de otros usuarios mientras que otras veces solo estoy yo) : a veces salta antes, a veces después. > También he pensado que puede que sea un simple fallo al intentar el acceso y que lo que debería hacer es introducir en mi código una forma de reintentar en caso de fallar la conexión : > > for direccion in lista > sock=urllib2.urlopen(direccion) > pagina= sock.read() > sock.close() > html=BeautifulSoup(pagina) > > Así es como está ahora. La pregunta es, ¿ cúal sería la mejor manera de introducir ese "reintenta hasta que la conexión sea exitosa? ¿ qué metodo o propiedad del socket he de comprobar para saberlo? > Gracias adelantadas por las respuestas, > > Gus ¿has mirado algo de gestión de errores? try: #intentar... pass #lo que sea except: #en caso de error... pass #lo que sea ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From ematus en gmail.com Thu Dec 13 12:23:54 2007 From: ematus en gmail.com (Eduardo Matus) Date: Thu, 13 Dec 2007 12:23:54 +0100 Subject: llamada a un ejecutable In-Reply-To: <526b12900712130244h1ad490d3xb01acd161c54025d@mail.gmail.com> References: <526b12900712130244h1ad490d3xb01acd161c54025d@mail.gmail.com> Message-ID: <984ad6a0712130323i48c39599h7697cb92f85f9314@mail.gmail.com> eso.. creo que lo tienes que hacer con subprocess con la opcion shell=False Saludos. On Dec 13, 2007 11:44 AM, Luis Orellana Orihuela wrote: > Hola, se me ha ocurrido una forma muy poco ortodoxa para resolver el > problema que tenía. Quería mostrar por ventas los mensajes que me > llegaban > por un socket sin que se me colgado el script esperando eventos de la > ventana (yo el Tkinter nos llevamos mal). Lo que hago ahora es por cada > socket que me llega llamar a un ejecutable que solo muestra la ventana (en > un hilo diferente) y así logro seguir con la ejecución del servidor que > escucha. El script con el que he hecho el ejecutable (lo he llamado > popup.exe) es bien simple: > > import sys > from Tkinter import * > from tkMessageBox import showinfo > > msg= " ".join(sys.argv[1:]) #tomamos mensaje pasado como parmetro > > form = Tk() > > form.withdraw() > showinfo(title='titulo', message=msg) > > Y en el servidor ejecutaría este ejecutable: > > os.system('c:\python25\dist\popup.exe '+texto) > > Ahora el sistema me funciona como quiero salvo por una pequeña > peculiaridad. > Al ejecutarse popup.exe sale la ventanita con el mensaje pero sale de > fondo > la típica ventana de MSDOS. ¿hay alguna forma de quitarla?. He probado a > ejecutar primero c:\cmd.exe /c y luego ejecutar el popup.exe pero se > ejecutan en ventanas MSDOS diferentes ya que cada comando lo ejecuto con > dos os.system diferentes, ¿hay alguna forma de ejecutar más de un comando > con os.system? > > Graciasssssss > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From listas en soft-com.es Thu Dec 13 12:26:38 2007 From: listas en soft-com.es (=?ISO-8859-1?Q?Oswaldo_Hern=E1ndez?=) Date: Thu, 13 Dec 2007 12:26:38 +0100 Subject: Servicio en python In-Reply-To: <47602D78.8030200@soft-com.es> References: <47602D78.8030200@soft-com.es> Message-ID: <476116EE.5010202@soft-com.es> Oswaldo Hernández escribió: > Hola a todos, > ... > > Hasta aqui parece que ha funcionado, miro en la lista de servicios y > aparece como instalado, pero no se ha iniciado y en el visor de sucesos > aparece el siguiente evento: > > "El servicio service test terminó con el error específico de servicio 1 > (0x1)." > > Segun los ejemplos que he encontrado el programa esta correcto. > > ¿Alguien sabe porque no se inicia? Yo :) Al parecer windows no permite ejecutar como servicio una aplicacion que se encuentra en una unidad de red. Lo he trasladado a una unidad local y ya no sale el error. Saludos. -- ***************************************** Oswaldo Hernández oswaldo (@) soft-com (.) es ***************************************** _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From a.porrua en gmail.com Thu Dec 13 12:33:27 2007 From: a.porrua en gmail.com (tny) Date: Thu, 13 Dec 2007 12:33:27 +0100 Subject: llamada a un ejecutable In-Reply-To: <526b12900712130244h1ad490d3xb01acd161c54025d@mail.gmail.com> References: <526b12900712130244h1ad490d3xb01acd161c54025d@mail.gmail.com> Message-ID: <1197545608.6460.4.camel@skynet> Hace 10 días en esta misma lista han dado la solución para uno de tus problemas http://listas.aditel.org/archivos/python-es/2007-December/019222.html Para el otro de tus problemas la solución está en tus manos: 1º Exprimir la documentación antes de buscar. 2º Exprimir la búsqueda antes de preguntar... Tío que salio lo mismo hace 10 días... xDDD El jue, 13-12-2007 a las 11:44 +0100, Luis Orellana Orihuela escribió: > Hola, se me ha ocurrido una forma muy poco ortodoxa para resolver el > problema que tenía. Quería mostrar por ventas los mensajes que me llegaban > por un socket sin que se me colgado el script esperando eventos de la > ventana (yo el Tkinter nos llevamos mal). Lo que hago ahora es por cada > socket que me llega llamar a un ejecutable que solo muestra la ventana (en > un hilo diferente) y así logro seguir con la ejecución del servidor que > escucha. El script con el que he hecho el ejecutable (lo he llamado > popup.exe) es bien simple: > > import sys > from Tkinter import * > from tkMessageBox import showinfo > > msg= " ".join(sys.argv[1:]) #tomamos mensaje pasado como parmetro > > form = Tk() > > form.withdraw() > showinfo(title='titulo', message=msg) > > Y en el servidor ejecutaría este ejecutable: > > os.system('c:\python25\dist\popup.exe '+texto) > > Ahora el sistema me funciona como quiero salvo por una pequeña peculiaridad. > Al ejecutarse popup.exe sale la ventanita con el mensaje pero sale de fondo > la típica ventana de MSDOS. ¿hay alguna forma de quitarla?. He probado a > ejecutar primero c:\cmd.exe /c y luego ejecutar el popup.exe pero se > ejecutan en ventanas MSDOS diferentes ya que cada comando lo ejecuto con > dos os.system diferentes, ¿hay alguna forma de ejecutar más de un comando > con os.system? > > Graciasssssss > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From g.ces en pettra.es Thu Dec 13 12:34:19 2007 From: g.ces en pettra.es (Gustavo Ces) Date: Thu, 13 Dec 2007 12:34:19 +0100 Subject: Pregunta newbie sobre sockets y urllib2 References: <00e301c83d60$a3886980$ba03a8c0@GUS> <1197543209.6203.14.camel@skynet> Message-ID: <014401c83d7c$199f04b0$ba03a8c0@GUS> Saludos, Si, eso es lo que había pensado. Pero lo que no tengo muy claro es como hacer que intente una y otra vez. Es decir, si tras el try se procuce un error de IOError ( que es el caso), cómo hacer que el except vuelva a realizar la misma iteración ( y que a su vez esta tenga esa misma gestión de error con ese mismo resultado). Había pensado un bucle while que englobe el try:except: y que se se mantenga siempre que la conexión devuelva un error. Pero no tengo muy claro qué condición poner en el while ( a no ser que use una variable en plan flag) while "la conexión sea erronea": ( p.e. while flag=erronea) try: sock=urlopen... excetp: flag=erronea ( flag) Gus ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From a.porrua en gmail.com Thu Dec 13 13:45:44 2007 From: a.porrua en gmail.com (tny) Date: Thu, 13 Dec 2007 13:45:44 +0100 Subject: Pregunta newbie sobre sockets y urllib2 In-Reply-To: <014401c83d7c$199f04b0$ba03a8c0@GUS> References: <00e301c83d60$a3886980$ba03a8c0@GUS> <1197543209.6203.14.camel@skynet> <014401c83d7c$199f04b0$ba03a8c0@GUS> Message-ID: <1197549944.6190.1.camel@skynet> El jue, 13-12-2007 a las 12:34 +0100, Gustavo Ces escribió: > Saludos, > > Si, eso es lo que había pensado. Pero lo que no tengo muy claro es como > hacer que intente una y otra vez. Es decir, si tras el try se procuce un > error de IOError ( que es el caso), cómo hacer que el except vuelva a > realizar la misma iteración ( y que a su vez esta tenga esa misma gestión de > error con ese mismo resultado). Había pensado un bucle while que englobe el > try:except: y que se se mantenga siempre que la conexión devuelva un error. > Pero no tengo muy claro qué condición poner en el while ( a no ser que use > una variable en plan flag) > > while "la conexión sea erronea": ( p.e. while flag=erronea) > try: > sock=urlopen... > excetp: > flag=erronea ( flag) > > Gus con break? while True: try: loquesea break except: break Puedes hacerlo de mil formas distintas. Te recomiendo encarecidamente que te leas la documentación. ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From luis.ore.ori en gmail.com Thu Dec 13 14:04:07 2007 From: luis.ore.ori en gmail.com (Luis Orellana Orihuela) Date: Thu, 13 Dec 2007 14:04:07 +0100 Subject: llamada a un ejecutable In-Reply-To: <984ad6a0712130323i48c39599h7697cb92f85f9314@mail.gmail.com> References: <526b12900712130244h1ad490d3xb01acd161c54025d@mail.gmail.com> <984ad6a0712130323i48c39599h7697cb92f85f9314@mail.gmail.com> Message-ID: <526b12900712130504o6c1d3f6dv94e3cdd0dacc0e8@mail.gmail.com> El día 13/12/07, Eduardo Matus escribió: > > eso.. creo que lo tienes que hacer con subprocess con la opcion > shell=False > > Saludos. > > Guay, eso era. Gracias Eduardo _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From adminies.reinoaftasi en edu.juntaextremadura.net Thu Dec 13 15:06:05 2007 From: adminies.reinoaftasi en edu.juntaextremadura.net (jmajadot) Date: Thu, 13 Dec 2007 15:06:05 +0100 Subject: Fijar cabecera de un TreeViewColumn Message-ID: <1197554765.4185.2.camel@adtor-pro> Saludos: Tengo una aplicación donde muestro los días del mes, mediante treeviewcolumn, y quisiera, o al menos intentar, dejar fija la cabecera con el título de cada columna (que no se pierda el día), pues al haber bastantes filas, se pierde la visualización de esta. Alguien lo ha conseguido? Gracias ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From solisgb en gmail.com Thu Dec 13 15:21:29 2007 From: solisgb en gmail.com (Luis Solis) Date: Thu, 13 Dec 2007 15:21:29 +0100 Subject: instalando amara en windows Message-ID: <8d2f04c60712130621s3bedbaceh181b50956f1ee905@mail.gmail.com> primero he ejecutado el instalador de 4Suite-XML y luego el de amara al ejecutar el script import Ft print Ft.__version__ # ok escribe 1.0b1 import amara al ejecutar esta última línea python me lanza el error File "E:\dev\python\hello\helloAmara\helloAmara.py", line 6, in __main__ import amara Traceback (most recent call last): File "C:\Archivos de programa\ActiveState Komodo 3.5\lib\support\dbgp\bin\pydbgp.py", line 229, in ? sys.exit( main(sys.argv) ) File "C:\Archivos de programa\ActiveState Komodo 3.5\lib\support\dbgp\bin\pydbgp.py", line 225, in main client.runMain(args, interactive) File "C:\Archivos de programa\ActiveState Komodo 3.5\lib\support\dbgp\pythonlib\dbgp\client.py", line 1858, in runMain _print_exc() File "C:\Archivos de programa\ActiveState Komodo 3.5\lib\support\dbgp\pythonlib\dbgp\client.py", line 343, in _print_exc _print_exception(etype, value, tb, limit, file) File "C:\Archivos de programa\ActiveState Komodo 3.5\lib\support\dbgp\pythonlib\dbgp\client.py", line 329, in _print_exception _print_tb(tb, limit, file) File "C:\Archivos de programa\ActiveState Komodo 3.5\lib\support\dbgp\pythonlib\dbgp\client.py", line 303, in _print_tb (filename, lineno, name) = _get_stack_data((tb.tb_frame, tb.tb_lineno)) File "C:\Archivos de programa\ActiveState Komodo 3.5\lib\support\dbgp\pythonlib\dbgp\client.py", line 260, in _get_stack_data if os.path.isabs(moduleFileName): File "C:\PYTHON24\lib\ntpath.py", line 53, in isabs s = splitdrive(s)[1] File "C:\PYTHON24\lib\ntpath.py", line 119, in splitdrive if p[1:2] == ':': TypeError: unsubscriptable object bueno, pues estoy pez, ni idea, ¿alguna pista? gracias -- Luis Solís _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From g.ces en pettra.es Thu Dec 13 16:17:31 2007 From: g.ces en pettra.es (Gustavo Ces) Date: Thu, 13 Dec 2007 16:17:31 +0100 Subject: Pregunta newbie sobre sockets y urllib2 References: <00e301c83d60$a3886980$ba03a8c0@GUS><1197543209.6203.14.camel@skynet> <014401c83d7c$199f04b0$ba03a8c0@GUS> <1197549944.6190.1.camel@skynet> Message-ID: <001101c83d9b$48148a30$ba03a8c0@GUS> Saludos, Gracias por la paciencia. Y tomo nota de tu recomendación. La verdad es que he estado leyendo algo ( no lo suficiente, como puedes comprobar ), pero sólo quería saber cúal sería la forma más correcta. Pero, aún pudiendo equivocarme por ser un poco novato y quedarme en deuda la lectura de toda la información disponible, no había encontrado en la referencia de python sobre Try si el hecho de probar y que no salte una excepción es true y la excepción es false, con lo quedaría claro que tu código sería la opción más sencilla y evidente. En la Guia de Aprendizaje hay un pequeño ejemplo en el que lo usa, en el apartado de Gestion de Excepciones, pero no está muy claro si lo que es True es el hecho de asignar un valor a una variable ( y por lo tanto, ser verdadera) o al hecho de haber salido exitoso el código dentro de try ( si el ejemplo tuviese varias sentencias en el try quedaría mucho más claro). Gus ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From gagsl-py2 en yahoo.com.ar Thu Dec 13 17:56:02 2007 From: gagsl-py2 en yahoo.com.ar (Gabriel Genellina) Date: Thu, 13 Dec 2007 13:56:02 -0300 Subject: Problema con ventana References: <526b12900712120051p6d62b68cib0ad27e9b916e1b4@mail.gmail.com> Message-ID: En Wed, 12 Dec 2007 05:51:43 -0300, Luis Orellana Orihuela escribi?: > Reanudo el hilo que llevaba en mi anterior cuenta: > > No me enrollo y simplifico. Tenemos esta aplicación: > > from Tkinter import * > from tkMessageBox import showinfo > > form = Tk() > form.withdraw() > showinfo(title='Titulo ventana', message='hola mundo') > print "llega??" > > ¿Hay alguna forma de que se ejecute la linea* print "llega??" *sin tener > que > esperar que se cierre o acepte la ventana showinfo? es decir, trato de > que > la aplicación siga su curso sin que se quede esperando un evento que > interactúe con la ventana. El objetivo es mostrar el mensaje y seguir, > sin > necesidad de saber lo que se hace con la ventana. Gracias Lo que estas buscando es una caja de dialogo no modal. Los dialogos estandar (como showinfo) son modales (es decir, la aplicacion se queda esperando la respuesta del usuario) porque a) es lo mas comun y b) es la parte dificil de hacer. Para mostrar un mensaje y continuar, simplemente se crea una ventana adecuada (Toplevel) y ya esta. Aca hay un ejemplo basado en tkSimpleDialog. Lo importante fue *quitar* la llamada a widget.wait_window(window) que es la que inicia el loop de mensajes local y lo hace modal. # modelessdialog.py # # Soporte para dialogos no modales # Gabriel Genellina # # Basado en tkSimpleDialog.py Copyright (c) 1997 by Fredrik Lundh from Tkinter import * class ModelessDialog(Toplevel): def __init__(self, parent, title = None): Toplevel.__init__(self, parent) if parent.winfo_viewable(): self.transient(parent) if title: self.title(title) self.parent = parent body = Frame(self) self.body(body) body.pack(padx=5, pady=5) self.buttonbox() self.protocol("WM_DELETE_WINDOW", self.close) if self.parent is not None: self.geometry("+%d+%d" % (parent.winfo_rootx()+30, parent.winfo_rooty()+30)) def body(self, master): # hook pass def buttonbox(self): # hook; default=[OK] box = Frame(self) w = Button(box, text="OK", width=10, command=self.close, default=ACTIVE) w.pack(side=LEFT, padx=5, pady=5) self.bind("", self.close) box.pack() def close(self, event=None): if self.parent is not None: self.parent.focus_set() self.destroy() class MessageDialog(ModelessDialog): def __init__(self, parent, title=None, message=''): self.message = message ModelessDialog.__init__(self, parent, title) def body(self, master): w = Label(master, text=self.message, justify=LEFT) w.grid(row=0, padx=5, sticky=W) if __name__ == '__main__': root = Tk() frame = Frame(root) def mostrar_mensajes(frame=frame): MessageDialog(frame, 'Titulo de la ventana', 'Este es el texto ' 'del mensaje. Puede ser bastante largo.\n' 'Tambien puede tener varias lineas') MessageDialog(frame, 'Doblete', 'Claro, como no es modal, puede haber ' 'varios MessageDialog simultaneamente.') Button(frame, text='Test', command=mostrar_mensajes).pack(side=LEFT) Button(frame, text='Fin', command=frame.quit).pack(side=LEFT) frame.pack() root.mainloop() -- Gabriel Genellina ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pych3m4 en gmail.com Thu Dec 13 19:15:38 2007 From: pych3m4 en gmail.com (Chema Cortes) Date: Thu, 13 Dec 2007 19:15:38 +0100 Subject: instalando amara en windows In-Reply-To: <8d2f04c60712130621s3bedbaceh181b50956f1ee905@mail.gmail.com> References: <8d2f04c60712130621s3bedbaceh181b50956f1ee905@mail.gmail.com> Message-ID: <2c9fb0dd0712131015v4e5ae575k73b2b030580366c5@mail.gmail.com> El 2007/12/13, Luis Solis escribió: > primero he ejecutado el instalador de 4Suite-XML > y luego el de amara > > al ejecutar el script > > import Ft > > print Ft.__version__ # ok escribe 1.0b1 > > import amara > > al ejecutar esta última línea python me lanza el error > > File "E:\dev\python\hello\helloAmara\helloAmara.py", line 6, in __main__ > import amara > Traceback (most recent call last): > File "C:\Archivos de programa\ActiveState Komodo > 3.5\lib\support\dbgp\bin\pydbgp.py", line 229, in ? > sys.exit( main(sys.argv) ) > File "C:\Archivos de programa\ActiveState Komodo > 3.5\lib\support\dbgp\bin\pydbgp.py", line 225, in main > client.runMain(args, interactive) > File "C:\Archivos de programa\ActiveState Komodo > 3.5\lib\support\dbgp\pythonlib\dbgp\client.py", line 1858, in runMain > _print_exc() > File "C:\Archivos de programa\ActiveState Komodo > 3.5\lib\support\dbgp\pythonlib\dbgp\client.py", line 343, in _print_exc > _print_exception(etype, value, tb, limit, file) > File "C:\Archivos de programa\ActiveState Komodo > 3.5\lib\support\dbgp\pythonlib\dbgp\client.py", line 329, in > _print_exception > _print_tb(tb, limit, file) > File "C:\Archivos de programa\ActiveState Komodo > 3.5\lib\support\dbgp\pythonlib\dbgp\client.py", line 303, in _print_tb > (filename, lineno, name) = _get_stack_data((tb.tb_frame, tb.tb_lineno)) > File "C:\Archivos de programa\ActiveState Komodo > 3.5\lib\support\dbgp\pythonlib\dbgp\client.py", line 260, in _get_stack_data > if os.path.isabs(moduleFileName): > File "C:\PYTHON24\lib\ntpath.py", line 53, in isabs > s = splitdrive(s)[1] > File "C:\PYTHON24\lib\ntpath.py", line 119, in splitdrive > if p[1:2] == ':': > TypeError: unsubscriptable object Prueba a instalar la última versión que es la 1.0.2. Asegúrate que instalas la versión para python-2.4, que es la versión que pareces tener instalada. De todos modos, no te fíes del Komodo y ejecuta el código desde la línea de comandos de python, por si acaso. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From gagsl-py2 en yahoo.com.ar Thu Dec 13 19:01:05 2007 From: gagsl-py2 en yahoo.com.ar (Gabriel Genellina) Date: Thu, 13 Dec 2007 15:01:05 -0300 Subject: Pregunta newbie sobre sockets y urllib2 References: <00e301c83d60$a3886980$ba03a8c0@GUS> <1197543209.6203.14.camel@skynet> <014401c83d7c$199f04b0$ba03a8c0@GUS> <1197549944.6190.1.camel@skynet> <001101c83d9b$48148a30$ba03a8c0@GUS> Message-ID: En Thu, 13 Dec 2007 12:17:31 -0300, Gustavo Ces escribi?: > Saludos, > > Gracias por la paciencia. Y tomo nota de tu recomendación. La verdad > es > que he estado leyendo algo ( no lo suficiente, como puedes comprobar ), > pero > sólo quería saber cúal sería la forma más correcta. Pero, aún pudiendo > equivocarme por ser un poco novato y quedarme en deuda la lectura de > toda la > información disponible, no había encontrado en la referencia de python > sobre > Try si el hecho de probar y que no salte una excepción es true y la > excepción es false, con lo quedaría claro que tu código sería la opción > más > sencilla y evidente. En la Guia de Aprendizaje hay un pequeño ejemplo en > el > que lo usa, en el apartado de Gestion de Excepciones, pero no está muy > claro > si lo que es True es el hecho de asignar un valor a una variable ( y por > lo > tanto, ser verdadera) o al hecho de haber salido exitoso el código > dentro de > try ( si el ejemplo tuviese varias sentencias en el try quedaría mucho > más > claro). En el tutorial, el manejo de excepciones está explicado en la seccion 8.2 No tiene nada que ver con verdadero/falso. Una excepción se genera cuando, durante la ejecución del programa, se da una situación que impide que se siga ejecutando. Si nunca es atrapada, se terminará mostrando por consola: py> x = 1 py> y = 0 py> z = x/y Traceback (most recent call last): File "", line 1, in ZeroDivisionError: integer division or modulo by zero Para atrapar una excepción, usamos try/except: py> try: ... z = x/y ... print "cociente=",z ... except ZeroDivisionError: ... print "operación imposible" ... operación imposible Como la división no se pudo realizar, el flujo normal del programa se interrumpe. La sentencia print siguiente no se ejecuta, y el control pasa al primer bloque except que tiene una declaración compatible con la excepción que fue generada. En este caso, es el único bloque que hay, y se imprime "operación imposible". Volviendo a tu problema: queremos repetir los intentos de conexion a un sitio, una y otra vez, hasta que logre conectarse, ok? Qué significa "que logre conectarse" en términos pythonescos? Que NO ocurra una excepción del tipo IOError. Si ocurre la excepción, hay que seguir intentando. Si no ocurre, ya está, nos logramos conectar. Está claro que todo esto hay que hacerlo dentro de un bucle, no? Entonces sería algo así: while True: try: arch = urllib2.urlopen(direccion) break except IOError: pass while True: es la forma de decir "repetir una y otra vez hasta que se acabe el mundo". Dentro del bucle, intentamos conectarnos usando urlopen. Si todo anduvo bien, se va a ejecutar la linea siguiente, break. break indica "salir del bucle", y es justamente la forma de romper ese bucle infinito. En cambio, si hubo un IOError, el break no se va a ejecutar, sino que el control va a saltar a la linea pass, que no hace nada. Pero seguimos dentro del bucle, asi que vuelta a empezar con el urlopen. Aca va una version mejorada: def urlopen_retry(direccion, reintentos=10, espera=30): i = 0 while True: try: arch = urllib2.urlopen(direccion) break except IOError: i += 1 if i>reintentos: raise time.sleep(espera) return arch Ahora tiene un cierto numero maximo de reintentos, y un tiempo de espera entre cada reintento. Lo unico que cambio es la clausula except: si hubo un error, incrementamos el numero de reintentos. Si fueron demasiados ya, re-lanzamos la misma excepcion (el raise vacío). Es decir, si despues de todos los reintentos aún sigue fallando, la excepción le va a llegar a quien haya llamado la función. Si simplemente devolviéramos None o algo asi, estaríamos descartando mucha información contenida en la excepción que puede ser importante para el llamador. Y ahora solo nos queda el bucle externo, iterando sobre todas las direcciones: for direccion in lista: try: arch = urlopen_retry(direccion) except: print "%s: %s al procesar %s" % (sys.exc_info()[0], sys.exc_info()[1], direccion) continue try: pagina = arch.read() finally: arch.close() html=BeautifulSoup(pagina) Espero que ahora te quede un poco mas claro. -- Gabriel Genellina ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From solisgb en gmail.com Thu Dec 13 20:59:57 2007 From: solisgb en gmail.com (=?ISO-8859-1?Q?Luis_Sol=EDs?=) Date: Thu, 13 Dec 2007 20:59:57 +0100 Subject: instalando amara en windows In-Reply-To: <2c9fb0dd0712131015v4e5ae575k73b2b030580366c5@mail.gmail.com> References: <8d2f04c60712130621s3bedbaceh181b50956f1ee905@mail.gmail.com> <2c9fb0dd0712131015v4e5ae575k73b2b030580366c5@mail.gmail.com> Message-ID: <47618F3D.5080606@gmail.com> Chema Cortes escribió: > El 2007/12/13, Luis Solis escribió: > >> primero he ejecutado el instalador de 4Suite-XML >> y luego el de amara >> >> al ejecutar el script >> >> import Ft >> >> print Ft.__version__ # ok escribe 1.0b1 >> >> import amara >> >> al ejecutar esta última línea python me lanza el error >> >> File "E:\dev\python\hello\helloAmara\helloAmara.py", line 6, in __main__ >> import amara >> Traceback (most recent call last): >> File "C:\Archivos de programa\ActiveState Komodo >> 3.5\lib\support\dbgp\bin\pydbgp.py", line 229, in ? >> sys.exit( main(sys.argv) ) >> File "C:\Archivos de programa\ActiveState Komodo >> 3.5\lib\support\dbgp\bin\pydbgp.py", line 225, in main >> client.runMain(args, interactive) >> File "C:\Archivos de programa\ActiveState Komodo >> 3.5\lib\support\dbgp\pythonlib\dbgp\client.py", line 1858, in runMain >> _print_exc() >> File "C:\Archivos de programa\ActiveState Komodo >> 3.5\lib\support\dbgp\pythonlib\dbgp\client.py", line 343, in _print_exc >> _print_exception(etype, value, tb, limit, file) >> File "C:\Archivos de programa\ActiveState Komodo >> 3.5\lib\support\dbgp\pythonlib\dbgp\client.py", line 329, in >> _print_exception >> _print_tb(tb, limit, file) >> File "C:\Archivos de programa\ActiveState Komodo >> 3.5\lib\support\dbgp\pythonlib\dbgp\client.py", line 303, in _print_tb >> (filename, lineno, name) = _get_stack_data((tb.tb_frame, tb.tb_lineno)) >> File "C:\Archivos de programa\ActiveState Komodo >> 3.5\lib\support\dbgp\pythonlib\dbgp\client.py", line 260, in _get_stack_data >> if os.path.isabs(moduleFileName): >> File "C:\PYTHON24\lib\ntpath.py", line 53, in isabs >> s = splitdrive(s)[1] >> File "C:\PYTHON24\lib\ntpath.py", line 119, in splitdrive >> if p[1:2] == ':': >> TypeError: unsubscriptable object >> > > > Prueba a instalar la última versión que es la 1.0.2. Asegúrate que > instalas la versión para python-2.4, que es la versión que pareces > tener instalada. > > De todos modos, no te fíes del Komodo y ejecuta el código desde la > línea de comandos de python, por si acaso. > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > > tengo instalada 1197555056 - Amara-1.2.0.2.win32-py2.4.exe, que la ponen como la última estable (lo he hecho 2 veces), todo será cuestión de desinstalar otra vez y bajarme otra versión anterior, pero esto es raro, ¿no te parece?. -- Luis Solís _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From morillas en gmail.com Thu Dec 13 21:57:01 2007 From: morillas en gmail.com (Luis Miguel Morillas) Date: Thu, 13 Dec 2007 21:57:01 +0100 Subject: instalando amara en windows In-Reply-To: <47618F3D.5080606@gmail.com> References: <8d2f04c60712130621s3bedbaceh181b50956f1ee905@mail.gmail.com> <2c9fb0dd0712131015v4e5ae575k73b2b030580366c5@mail.gmail.com> <47618F3D.5080606@gmail.com> Message-ID: <68d25cbc0712131257if174375x9f8156292f4a1f2c@mail.gmail.com> El 13/12/07, Luis Solís escribió: > Chema Cortes escribió: > > El 2007/12/13, Luis Solis escribió: > > > >> primero he ejecutado el instalador de 4Suite-XML > >> y luego el de amara > >> > >> al ejecutar el script > >> > >> import Ft > >> > >> print Ft.__version__ # ok escribe 1.0b1 > >> > >> import amara > >> > >> al ejecutar esta última línea python me lanza el error > >> > >> File "E:\dev\python\hello\helloAmara\helloAmara.py", line 6, in __main__ > >> import amara > >> Traceback (most recent call last): > >> File "C:\Archivos de programa\ActiveState Komodo > >> 3.5\lib\support\dbgp\bin\pydbgp.py", line 229, in ? > >> sys.exit( main(sys.argv) ) > >> File "C:\Archivos de programa\ActiveState Komodo > >> 3.5\lib\support\dbgp\bin\pydbgp.py", line 225, in main > >> client.runMain(args, interactive) > >> File "C:\Archivos de programa\ActiveState Komodo > >> 3.5\lib\support\dbgp\pythonlib\dbgp\client.py", line 1858, in runMain > >> _print_exc() > >> File "C:\Archivos de programa\ActiveState Komodo > >> 3.5\lib\support\dbgp\pythonlib\dbgp\client.py", line 343, in _print_exc > >> _print_exception(etype, value, tb, limit, file) > >> File "C:\Archivos de programa\ActiveState Komodo > >> 3.5\lib\support\dbgp\pythonlib\dbgp\client.py", line 329, in > >> _print_exception > >> _print_tb(tb, limit, file) > >> File "C:\Archivos de programa\ActiveState Komodo > >> 3.5\lib\support\dbgp\pythonlib\dbgp\client.py", line 303, in _print_tb > >> (filename, lineno, name) = _get_stack_data((tb.tb_frame, tb.tb_lineno)) > >> File "C:\Archivos de programa\ActiveState Komodo > >> 3.5\lib\support\dbgp\pythonlib\dbgp\client.py", line 260, in _get_stack_data > >> if os.path.isabs(moduleFileName): > >> File "C:\PYTHON24\lib\ntpath.py", line 53, in isabs > >> s = splitdrive(s)[1] > >> File "C:\PYTHON24\lib\ntpath.py", line 119, in splitdrive > >> if p[1:2] == ':': > >> TypeError: unsubscriptable object > >> > > > > > > Prueba a instalar la última versión que es la 1.0.2. Asegúrate que > > instalas la versión para python-2.4, que es la versión que pareces > > tener instalada. > > > > De todos modos, no te fíes del Komodo y ejecuta el código desde la > > línea de comandos de python, por si acaso. > > _______________________________________________ > > Lista de correo Python-es > > http://listas.aditel.org/listinfo/python-es > > FAQ: http://listas.aditel.org/faqpyes > > > > > tengo instalada 1197555056 - Amara-1.2.0.2.win32-py2.4.exe, que la ponen > como la última estable (lo he hecho 2 veces), todo será cuestión de > desinstalar otra vez y bajarme otra versión anterior, pero esto es raro, > ¿no te parece?. > > ¿Produce el mismo error cuando importas desde el intérprete de python? ¿Qué python tienes instalado? Sé que se dan errores a veces con el Python de ActiveState. Yo mantengo las versiones de windows y he pasado los tests sin problemas. Puedes instalar si quieres también las versión 1.2.0.3. No aparece como estable porque hay errores que no se pueden corregir todavía. Estamos trabajando en la versión 2.0 y se va a dejar de trabajar en la línea de la 1.2.x Te recomiendo que pruebes primero con el python de Python.org y luego nos cuentas. [No te contesto por la lista de 4Suite porque te diría lo mismo que aquí] -- lm > -- > Luis Solís > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From morillas en gmail.com Thu Dec 13 21:59:59 2007 From: morillas en gmail.com (Luis Miguel Morillas) Date: Thu, 13 Dec 2007 21:59:59 +0100 Subject: instalando amara en windows In-Reply-To: <68d25cbc0712131257if174375x9f8156292f4a1f2c@mail.gmail.com> References: <8d2f04c60712130621s3bedbaceh181b50956f1ee905@mail.gmail.com> <2c9fb0dd0712131015v4e5ae575k73b2b030580366c5@mail.gmail.com> <47618F3D.5080606@gmail.com> <68d25cbc0712131257if174375x9f8156292f4a1f2c@mail.gmail.com> Message-ID: <68d25cbc0712131259p1982378eg36d1b653d6d17a0d@mail.gmail.com> El 13/12/07, Luis Miguel Morillas escribió: > El 13/12/07, Luis Solís escribió: > > Chema Cortes escribió: > > > El 2007/12/13, Luis Solis escribió: > > > > > >> primero he ejecutado el instalador de 4Suite-XML > > >> y luego el de amara > > >> > > >> al ejecutar el script > > >> > > >> import Ft > > >> > > >> print Ft.__version__ # ok escribe 1.0b1 > > >> > > >> import amara > > >> > > >> al ejecutar esta última línea python me lanza el error > > >> > > >> File "E:\dev\python\hello\helloAmara\helloAmara.py", line 6, in __main__ > > >> import amara > > >> Traceback (most recent call last): > > >> File "C:\Archivos de programa\ActiveState Komodo > > >> 3.5\lib\support\dbgp\bin\pydbgp.py", line 229, in ? > > >> sys.exit( main(sys.argv) ) > > >> File "C:\Archivos de programa\ActiveState Komodo > > >> 3.5\lib\support\dbgp\bin\pydbgp.py", line 225, in main > > >> client.runMain(args, interactive) > > >> File "C:\Archivos de programa\ActiveState Komodo > > >> 3.5\lib\support\dbgp\pythonlib\dbgp\client.py", line 1858, in runMain > > >> _print_exc() > > >> File "C:\Archivos de programa\ActiveState Komodo > > >> 3.5\lib\support\dbgp\pythonlib\dbgp\client.py", line 343, in _print_exc > > >> _print_exception(etype, value, tb, limit, file) > > >> File "C:\Archivos de programa\ActiveState Komodo > > >> 3.5\lib\support\dbgp\pythonlib\dbgp\client.py", line 329, in > > >> _print_exception > > >> _print_tb(tb, limit, file) > > >> File "C:\Archivos de programa\ActiveState Komodo > > >> 3.5\lib\support\dbgp\pythonlib\dbgp\client.py", line 303, in _print_tb > > >> (filename, lineno, name) = _get_stack_data((tb.tb_frame, tb.tb_lineno)) > > >> File "C:\Archivos de programa\ActiveState Komodo > > >> 3.5\lib\support\dbgp\pythonlib\dbgp\client.py", line 260, in _get_stack_data > > >> if os.path.isabs(moduleFileName): > > >> File "C:\PYTHON24\lib\ntpath.py", line 53, in isabs > > >> s = splitdrive(s)[1] > > >> File "C:\PYTHON24\lib\ntpath.py", line 119, in splitdrive > > >> if p[1:2] == ':': > > >> TypeError: unsubscriptable object > > >> > > > > > > > > > Prueba a instalar la última versión que es la 1.0.2. Asegúrate que > > > instalas la versión para python-2.4, que es la versión que pareces > > > tener instalada. > > > > > > De todos modos, no te fíes del Komodo y ejecuta el código desde la > > > línea de comandos de python, por si acaso. > > > _______________________________________________ > > > Lista de correo Python-es > > > http://listas.aditel.org/listinfo/python-es > > > FAQ: http://listas.aditel.org/faqpyes > > > > > > > > tengo instalada 1197555056 - Amara-1.2.0.2.win32-py2.4.exe, que la ponen Por cierto, Luis, de sale ese número? (1197555056) No recuerdo haberlo colocado en ningún sitio. -- lm > > como la última estable (lo he hecho 2 veces), todo será cuestión de > > desinstalar otra vez y bajarme otra versión anterior, pero esto es raro, > > ¿no te parece?. > > > > > ¿Produce el mismo error cuando importas desde el intérprete de python? > ¿Qué python tienes instalado? Sé que se dan errores a veces con el > Python de ActiveState. Yo mantengo las versiones de windows y he > pasado los tests sin problemas. Puedes instalar si quieres también las > versión 1.2.0.3. No aparece como estable porque hay errores que no se > pueden corregir todavía. Estamos trabajando en la versión 2.0 y se va > a dejar de trabajar en la línea de la 1.2.x > > Te recomiendo que pruebes primero con el python de Python.org y luego > nos cuentas. > > [No te contesto por la lista de 4Suite porque te diría lo mismo que aquí] > > -- lm > > > -- > > Luis Solís > > > > _______________________________________________ > > Lista de correo Python-es > > http://listas.aditel.org/listinfo/python-es > > FAQ: http://listas.aditel.org/faqpyes > > > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From solisgb en gmail.com Thu Dec 13 22:33:19 2007 From: solisgb en gmail.com (=?ISO-8859-1?Q?Luis_Sol=EDs?=) Date: Thu, 13 Dec 2007 22:33:19 +0100 Subject: instalando amara en windows In-Reply-To: <68d25cbc0712131259p1982378eg36d1b653d6d17a0d@mail.gmail.com> References: <8d2f04c60712130621s3bedbaceh181b50956f1ee905@mail.gmail.com> <2c9fb0dd0712131015v4e5ae575k73b2b030580366c5@mail.gmail.com> <47618F3D.5080606@gmail.com> <68d25cbc0712131257if174375x9f8156292f4a1f2c@mail.gmail.com> <68d25cbc0712131259p1982378eg36d1b653d6d17a0d@mail.gmail.com> Message-ID: <4761A51F.4090601@gmail.com> Luis Miguel Morillas escribió: > Por cierto, Luis, de sale ese número? (1197555056) No recuerdo > haberlo colocado en ningún sitio. > > -- lm > efectivamente, me he descargado un instalador con el nombre 1197555056 - Amara-1.2.0.2.win32-py2.4.exe lo he desinstalado y me he descargado Amara-1.2.0.2.win32-py2.4.exe, lo he vuelto a instalar y sigo con el mismo error desde komodo File "C:\Archivos de programa\ActiveState Komodo 3.5\lib\support\dbgp\pythonlib\dbgp\client.py", line 260, in _get_stack_data if os.path.isabs(moduleFileName): File "C:\PYTHON24\lib\ntpath.py", line 53, in isabs s = splitdrive(s)[1] File "C:\PYTHON24\lib\ntpath.py", line 119, in splitdrive if p[1:2] == ':': TypeError: unsubscriptable object he mirado en 4Suite y avisa que * Use an official python.org Python distribution, not ActiveState's. bueno, pues creo que el tema puede ir por ahí. esto me supondría dejar esta IDE y utilizar otra... -- Luis Solís _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From morillas en gmail.com Thu Dec 13 22:47:15 2007 From: morillas en gmail.com (Luis Miguel Morillas) Date: Thu, 13 Dec 2007 22:47:15 +0100 Subject: instalando amara en windows In-Reply-To: <4761A51F.4090601@gmail.com> References: <8d2f04c60712130621s3bedbaceh181b50956f1ee905@mail.gmail.com> <2c9fb0dd0712131015v4e5ae575k73b2b030580366c5@mail.gmail.com> <47618F3D.5080606@gmail.com> <68d25cbc0712131257if174375x9f8156292f4a1f2c@mail.gmail.com> <68d25cbc0712131259p1982378eg36d1b653d6d17a0d@mail.gmail.com> <4761A51F.4090601@gmail.com> Message-ID: <68d25cbc0712131347sf3e9133i6625b02c3b6a6308@mail.gmail.com> El 13/12/07, Luis Solís escribió: > Luis Miguel Morillas escribió: > > Por cierto, Luis, de sale ese número? (1197555056) No recuerdo > > haberlo colocado en ningún sitio. > > > > -- lm > > > efectivamente, me he descargado un instalador con el nombre 1197555056 - > Amara-1.2.0.2.win32-py2.4.exe > ¿De qué página has descargado el instalador? > lo he desinstalado y me he descargado Amara-1.2.0.2.win32-py2.4.exe, lo > he vuelto a instalar y sigo con el mismo error desde komodo > > File "C:\Archivos de programa\ActiveState Komodo > 3.5\lib\support\dbgp\pythonlib\dbgp\client.py", line 260, in _get_stack_data > if os.path.isabs(moduleFileName): > File "C:\PYTHON24\lib\ntpath.py", line 53, in isabs > s = splitdrive(s)[1] > File "C:\PYTHON24\lib\ntpath.py", line 119, in splitdrive > if p[1:2] == ':': > TypeError: unsubscriptable object > > he mirado en 4Suite y avisa que > > * Use an official python.org Python distribution, not ActiveState's. > Sí, ya te decía que con ActiveState habíamos tendido problemas con 4Suite. No recuerdo ningún problema con Amara. > bueno, pues creo que el tema puede ir por ahí. esto me supondría dejar esta IDE y utilizar otra... > > > > -- > Luis Solís > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Saludos, -- Luis Miguel _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From solisgb en gmail.com Thu Dec 13 22:58:56 2007 From: solisgb en gmail.com (=?ISO-8859-1?Q?Luis_Sol=EDs?=) Date: Thu, 13 Dec 2007 22:58:56 +0100 Subject: instalando amara en windows In-Reply-To: <68d25cbc0712131257if174375x9f8156292f4a1f2c@mail.gmail.com> References: <8d2f04c60712130621s3bedbaceh181b50956f1ee905@mail.gmail.com> <2c9fb0dd0712131015v4e5ae575k73b2b030580366c5@mail.gmail.com> <47618F3D.5080606@gmail.com> <68d25cbc0712131257if174375x9f8156292f4a1f2c@mail.gmail.com> Message-ID: <4761AB20.80806@gmail.com> lo siento, pero no sé de donde he descargado 1197555056 - Amara-1.2.0.2.win32-py2.4.exe -- Luis Solís _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From hidura en gmail.com Fri Dec 14 05:11:30 2007 From: hidura en gmail.com (hidura) Date: Fri, 14 Dec 2007 00:11:30 -0400 Subject: Problemas con Reportlab In-Reply-To: <1197535813.4192.3.camel@adtor-pro> References: <4bbf7fb20712122022l35ddbd0aw59f03179d6a5668a@mail.gmail.com> <1197535813.4192.3.camel@adtor-pro> Message-ID: <4bbf7fb20712132011u188eb6c0k3a75dd51baa9e4c0@mail.gmail.com> El error aun sigue con todo y los multiples objetos a alguien le a dado un error asi.: "File "/usr/lib/python2.5/site-packages/reportlab/pdfgen/canvas.py", line 1166, in drawString t = self.beginText(x, y) File "/usr/lib/python2.5/site-packages/reportlab/pdfgen/canvas.py", line 1344, in beginText return textobject.PDFTextObject(self, x, y) File "/usr/lib/python2.5/site-packages/reportlab/pdfgen/textobject.py", line 132, in __init__ self.setTextOrigin(x, y) RuntimeError: maximum recursion depth exceeded" Si le a pasado favor decirme la solucion que tomaron y si es posible donde encuentro documentación sobre dicho error On Dec 13, 2007 4:50 AM, jmajadot < adminies.reinoaftasi en edu.juntaextremadura.net> wrote: > Creo que esta metido en un problema de recursividad, cada salto de > página vuelves a llamar a cotiz(cotiza) > > Idea: > > crea una función cabecera y otro proceso. En la cabecera iría todo salvo > el for de la consulta de productos, y en proceso, esta claro, el for. > Dentro de este último en cada salto de línea, vuelve a llamar a > cabecera. > > otra cosa, no utilices el índice i >= 16, incrementa cuent_line y > controla con el la linea y vuelve a ponerlo a cero > > SAludos > > El jue, 13-12-2007 a las 00:22 -0400, hidura escribió: > > Buenas noches lista, > > > > Me encuentro generando un reporte en Reportlab y he tenido una desgracia > > cada vez que pasa de las 16 filas el reporte debe generar una segunda > pagina > > para poder continuar pero en vez de generame la otra pagina me da un > error > > fatal y no hace nada si pudieran darme una mano se los agradeceria aqui > pego > > el fuente del reporte para que lo vean y me digan todo esta bien > indexado > > solo es cuando se genera la segunda pagina que explota > > > > > > > > # -*- coding: utf-8 -* > > > > > > > > ### Import Modules > > > > from obje import con > > db = con() > > from reportlab.pdfgen import canvas > > from reportlab.lib.units import inch > > from reportlab.lib.pagesizes import letter,landscape > > import os > > import datetime > > import time > > > > ###Define With and Height for the page (This does not set the page > > properties) > > > > ancho=8.50 > > largo=11 > > > > > > #def __init__(idfactu): > > def cotiz(cotiza): > > > > cotiza.setTitle ("Cotización") > > #Draw Header Strings > > cotiza.setFont("Helvetica", 40) > > cotiza.drawString(2*inch, 10*inch, "Ocean Blue") > > cotiza.setFont("Helvetica", 12) > > cotiza.drawString(2*inch, 9.7*inch, "Direccion") > > cotiza.drawString(2*inch, 9.4*inch, "Telefono") > > cotiza.drawString(2*inch, 9.1*inch, "RNC") > > idfactu=91 > > ## Obtener los datos del cliente > > > > cr = db.source() > > cr.execute("SELECT cliente FROM cotiz WHERE(id='%s')" % idfactu) > > c = cr.fetch()[0] > > clien = c[0] > > cr.execute("SELECT nombre FROM clientes WHERE(id='%s')" % clien) > > nomc = cr.fetch()[0] > > nombcli = nomc[0] > > cr.execute("SELECT direccion FROM clientes WHERE(id='%s')" % clien) > > dire = cr.fetch()[0] > > direc = dire[0] > > cr.execute("SELECT telefono FROM clientes WHERE(id='%s')" % clien) > > te = cr.fetch()[0] > > tel = te[0] > > cr.execute("SELECT celular FROM clientes WHERE(id='%s')" % clien) > > ce = cr.fetch()[0] > > cel = ce[0] > > cr.close() > > #Draw Clients Data > > cotiza.drawString(1.48*inch, 8.45*inch, "%s" % nombcli) > > cotiza.drawString(1.60*inch, 8.25*inch, "%s" % direc[0:12]) > > cotiza.drawString(0.75*inch, 8.05*inch, "%s" % direc[12:]) > > cotiza.drawString(1.55*inch, 7.75*inch, "%s" % tel) > > cotiza.drawString(1.55*inch, 7.50*inch, "%s" % cel) > > cotiza.setFont("Helvetica", 26) > > cotiza.drawRightString(7.5*inch, 9.5*inch, "Cotizacion") > > > > #Draw Square and Strings for the Client Data > > cotiza.rect(0.5*inch, 7.2*inch, 3.5*inch, 1.5*inch) > > cotiza.setFont("Helvetica", 12) > > cotiza.drawString(0.75*inch, 8.45*inch, "Cliente.:") > > cotiza.drawString(0.75*inch, 8.25*inch, "Direccion.:") > > cotiza.drawString(0.75*inch, 7.75*inch, "Tel.:") > > cotiza.drawString(0.75*inch, 7.50*inch, "Movil.:") > > > > #Draw Gridline for the Schema; and Signature Lines > > cotiza.grid([0.5*inch, 1.5*inch, 5*inch, 8*inch], [6.8*inch, > 6.5*inch, > > 1*inch]) > > cotiza.line(6.5*inch, 6.8*inch, 6.5*inch, 2*inch) > > cotiza.rect(5*inch, 1.00*inch, 3*inch, 0.25*inch) > > cotiza.rect(5*inch, 1.25*inch, 3*inch, 0.25*inch) > > cotiza.rect(5*inch, 1.50*inch, 3*inch, 0.25*inch) > > cotiza.rect(5*inch, 1.75*inch, 3*inch, 0.25*inch) > > > > cotiza.line(1*inch, 0.5*inch, 3.5*inch, 0.5*inch) > > cotiza.line(4.5*inch, 0.5*inch, 7.0*inch, 0.5*inch) > > > > #Draw Strings Inside The Schema > > cotiza.setFont("Helvetica", 12) > > cotiza.drawCentredString(1*inch, 6.6*inch, "Cantidad") > > cotiza.drawCentredString(3.25*inch, 6.6*inch, "Descripcion") > > cotiza.drawCentredString(5.75*inch, 6.6*inch, "Precio") > > cotiza.drawCentredString(7.25*inch, 6.6*inch, "Total") > > cotiza.drawString(5.05*inch, 1.82*inch, "Sub-Total:") > > cotiza.drawString(5.05*inch, 1.57*inch, "Impuestos:") > > cotiza.drawString(5.05*inch, 1.32*inch, "Otros:") > > cotiza.drawString(5.05*inch, 1.07*inch, "Total:") > > > > #Obtener los productos de dicha cotizacion > > > > pos_y = 6.50 > > cr = db.source() > > cr.execute("SELECT id FROM cotiz_productos WHERE(id_cotiz='%s')"% > > idfactu) > > r = cr.ntuples > > w = cr.fetch(r) > > cuent_line = 0 > > for i in range(0,r): > > t = w[i] > > q = t[0] > > pos_y = pos_y-0.25 > > cr.execute("SELECT cantidad FROM cotiz_productos > WHERE(id='%s')"% q) > > ca = cr.fetch()[0] > > cant = ca[0] > > cotiza.drawString(1*inch, pos_y*inch, "%s" % cant) > > cr.execute("SELECT producto FROM cotiz_productos > WHERE(id='%s')"% q) > > idp = cr.fetch()[0] > > idpr = idp[0] > > cr.execute("SELECT nombre FROM productos WHERE(id='%s')"% idpr) > > no = cr.fetch()[0] > > nombr = no[0] > > cotiza.drawString(1.75*inch, pos_y*inch, "%s" % nombr) > > cr.execute("SELECT precio_vent FROM productos WHERE(id='%s')"% > idpr) > > pc = cr.fetch()[0] > > prec = pc[0] > > cotiza.drawString(5.10*inch, pos_y*inch, "RD$%s.00" % prec) > > total = float(cant)*float(prec) > > cotiza.drawString(6.60*inch, pos_y*inch, "RD$%s0" % total) > > if (i >= 16): > > cotiza.showPage() > > cotiz (cotiza) > > cotiza.setFont("Helvetica", 40) > > pos_y= pos_y -10 > > > > > > cotiza = canvas.Canvas("Cotizacion.pdf", pagesize=(ancho*inch, > largo*inch)) > > cotiz(cotiza) > > cotiza.showPage() > > cotiza.save() > > os.system("evince Cotizacion.pdf") > > > > > > > > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Hidura _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From markuz en islascruz.org Thu Dec 13 16:06:54 2007 From: markuz en islascruz.org (Marco Antonio Islas Cruz) Date: Thu, 13 Dec 2007 09:06:54 -0600 Subject: Fijar cabecera de un TreeViewColumn In-Reply-To: <1197554765.4185.2.camel@adtor-pro> References: <1197554765.4185.2.camel@adtor-pro> Message-ID: <1197558414.6823.10.camel@cucusa> Recuerda que en GTK+ una "Lista" se compone del modelo, del control y del Visor, es decir, Modelo, TreeView y CellRenders. El TreeView solo muestra los CellRenders, que son empacados en TreeView Columns, si quires que una columna de tu TreeView tenga una propiedad en especifico, deberias ir a la documentacion del gtk.TreeViewColumn en lugar del TreeView. Aqui te dejo el enlace para lograr lo que necesitas: http://www.pygtk.org/pygtk2reference/class-gtktreeviewcolumn.html#method-gtktreeviewcolumn--set-fixed-width Saludos! On Thu, 2007-12-13 at 15:06 +0100, jmajadot wrote: > Saludos: > > Tengo una aplicación donde muestro los días del mes, mediante > treeviewcolumn, y quisiera, o al menos intentar, dejar fija la cabecera > con el título de cada columna (que no se pierda el día), pues al haber > bastantes filas, se pierde la visualización de esta. > > Alguien lo ha conseguido? > > Gracias > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes -- <--Linux... Because I'm Free--> Marco Antonio Islas Cruz "Markuz" Linux User #280229 markuz en islascruz.org markuz en unixmexico.org markuz en linuxpozarica.com marco.islas en gmail.com islacruz en yahoo.com http://www.islascruz.org http://sourceforge.net/projects/gpkg/ http://www.linuxpozarica.com ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part URL: ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From g.ces en pettra.es Fri Dec 14 08:28:42 2007 From: g.ces en pettra.es (Gustavo Ces) Date: Fri, 14 Dec 2007 08:28:42 +0100 Subject: Pregunta newbie sobre sockets y urllib2 References: <00e301c83d60$a3886980$ba03a8c0@GUS><1197543209.6203.14.camel@skynet><014401c83d7c$199f04b0$ba03a8c0@GUS><1197549944.6190.1.camel@skynet><001101c83d9b$48148a30$ba03a8c0@GUS> Message-ID: <001301c83e22$f43ce1e0$ba03a8c0@GUS> > while True: es la forma de decir "repetir una y otra vez hasta que se > acabe el mundo". Esto es lo que me faltaba por entender, creí que estaba relacionado con que el try/except fuese tomado como verdadero o falso ( por lo de True), pero con esa frase ya he entendido que es un bucle infinito por definición, roto por los breaks. Claro como el agua. Gracias Gabriel :) Gus ----- Original Message ----- From: "Gabriel Genellina" To: Sent: Thursday, December 13, 2007 7:01 PM Subject: [Python-es] Re: Pregunta newbie sobre sockets y urllib2 > En Thu, 13 Dec 2007 12:17:31 -0300, Gustavo Ces > escribi?: > >> Saludos, >> >> Gracias por la paciencia. Y tomo nota de tu recomendación. La verdad >> es >> que he estado leyendo algo ( no lo suficiente, como puedes comprobar ), >> pero >> sólo quería saber cúal sería la forma más correcta. Pero, aún pudiendo >> equivocarme por ser un poco novato y quedarme en deuda la lectura de >> toda la >> información disponible, no había encontrado en la referencia de python >> sobre >> Try si el hecho de probar y que no salte una excepción es true y la >> excepción es false, con lo quedaría claro que tu código sería la opción >> más >> sencilla y evidente. En la Guia de Aprendizaje hay un pequeño ejemplo en >> el >> que lo usa, en el apartado de Gestion de Excepciones, pero no está muy >> claro >> si lo que es True es el hecho de asignar un valor a una variable ( y por >> lo >> tanto, ser verdadera) o al hecho de haber salido exitoso el código >> dentro de >> try ( si el ejemplo tuviese varias sentencias en el try quedaría mucho >> más >> claro). > > En el tutorial, el manejo de excepciones está explicado en la seccion 8.2 > No tiene nada que ver con verdadero/falso. Una excepción se genera cuando, > durante la ejecución del programa, se da una situación que impide que se > siga ejecutando. Si nunca es atrapada, se terminará mostrando por consola: > > py> x = 1 > py> y = 0 > py> z = x/y > Traceback (most recent call last): > File "", line 1, in > ZeroDivisionError: integer division or modulo by zero > > Para atrapar una excepción, usamos try/except: > > py> try: > ... z = x/y > ... print "cociente=",z > ... except ZeroDivisionError: > ... print "operación imposible" > ... > operación imposible > > Como la división no se pudo realizar, el flujo normal del programa se > interrumpe. La sentencia print siguiente no se ejecuta, y el control pasa > al primer bloque except que tiene una declaración compatible con la > excepción que fue generada. En este caso, es el único bloque que hay, y se > imprime "operación imposible". > > Volviendo a tu problema: queremos repetir los intentos de conexion a un > sitio, una y otra vez, hasta que logre conectarse, ok? Qué significa "que > logre conectarse" en términos pythonescos? Que NO ocurra una excepción del > tipo IOError. Si ocurre la excepción, hay que seguir intentando. Si no > ocurre, ya está, nos logramos conectar. Está claro que todo esto hay que > hacerlo dentro de un bucle, no? Entonces sería algo así: > > while True: > try: > arch = urllib2.urlopen(direccion) > break > except IOError: > pass > > while True: es la forma de decir "repetir una y otra vez hasta que se > acabe el mundo". Dentro del bucle, intentamos conectarnos usando urlopen. > Si todo anduvo bien, se va a ejecutar la linea siguiente, break. break > indica "salir del bucle", y es justamente la forma de romper ese bucle > infinito. En cambio, si hubo un IOError, el break no se va a ejecutar, > sino que el control va a saltar a la linea pass, que no hace nada. Pero > seguimos dentro del bucle, asi que vuelta a empezar con el urlopen. > Aca va una version mejorada: > > def urlopen_retry(direccion, reintentos=10, espera=30): > i = 0 > while True: > try: > arch = urllib2.urlopen(direccion) > break > except IOError: > i += 1 > if i>reintentos: raise > time.sleep(espera) > return arch > > > Ahora tiene un cierto numero maximo de reintentos, y un tiempo de espera > entre cada reintento. > Lo unico que cambio es la clausula except: si hubo un error, incrementamos > el numero de reintentos. Si fueron demasiados ya, re-lanzamos la misma > excepcion (el raise vacío). Es decir, si despues de todos los reintentos > aún sigue fallando, la excepción le va a llegar a quien haya llamado la > función. Si simplemente devolviéramos None o algo asi, estaríamos > descartando mucha información contenida en la excepción que puede ser > importante para el llamador. > > Y ahora solo nos queda el bucle externo, iterando sobre todas las > direcciones: > > for direccion in lista: > try: > arch = urlopen_retry(direccion) > except: > print "%s: %s al procesar %s" % (sys.exc_info()[0], > sys.exc_info()[1], direccion) > continue > try: > pagina = arch.read() > finally: > arch.close() > html=BeautifulSoup(pagina) > > Espero que ahora te quede un poco mas claro. > > -- > Gabriel Genellina > > -------------------------------------------------------------------------------- _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pych3m4 en gmail.com Fri Dec 14 09:53:58 2007 From: pych3m4 en gmail.com (Chema Cortes) Date: Fri, 14 Dec 2007 09:53:58 +0100 Subject: instalando amara en windows In-Reply-To: <4761AB20.80806@gmail.com> References: <8d2f04c60712130621s3bedbaceh181b50956f1ee905@mail.gmail.com> <2c9fb0dd0712131015v4e5ae575k73b2b030580366c5@mail.gmail.com> <47618F3D.5080606@gmail.com> <68d25cbc0712131257if174375x9f8156292f4a1f2c@mail.gmail.com> <4761AB20.80806@gmail.com> Message-ID: <2c9fb0dd0712140053x2d166f16sdb62a4ac61fc4e5d@mail.gmail.com> El 2007/12/13, Luis Solís escribió: > lo siento, pero no sé de donde he descargado 1197555056 - > Amara-1.2.0.2.win32-py2.4.exe Yo te decía que instalaras la versión 1.0.2 de 4Suite en lugar de la 1.0b y asegurarte que usas la adecuada para la versión de python que tienes instalada (python-2.4). En cuanto a el número delante del fichero descargado, creo que te lo suele añadir (a veces) en las descargas con internet explorer. Y por el IDE, no tienes porque renunciar a Komodo, ya que funciona con cualquier python. Si quieres, prueba con openkomodo: http://www.openkomodo.org _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From dani.berzas en gmail.com Fri Dec 14 15:08:21 2007 From: dani.berzas en gmail.com (Dani) Date: Fri, 14 Dec 2007 15:08:21 +0100 Subject: simular teclado. In-Reply-To: References: <474D9DE9.8060505@ehas.org> <49414f570712021639t39ea6251s5c7aebcfbeb3298b@mail.gmail.com> <475356A9.9030700@ehas.org> Message-ID: Bueno, pues he encontrado una función que simula un evento de teclado: win32api.keybd_event(65, 0, 0, 0) (simula que has presionado la tecla a) Lanzo la aplicación con win32process.CreateProcess, pero ahora no se como darle el foco a esta aplicación para que 'reciba' las pulsaciones de teclado. ¿Alguien sabe la manera de darle el foco a una ventana en windows? Gracias. Dani. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From maengora en gmail.com Fri Dec 14 15:37:19 2007 From: maengora en gmail.com (=?ISO-8859-1?Q?Manuel_Enrique_Gonz=E1lez_Ram=EDrez?=) Date: Fri, 14 Dec 2007 09:37:19 -0500 Subject: Cerrar un form desde otro form Message-ID: Hola a tod en s. Queria saber como teniendo dos formularios abiertos (form_A y form_B, este ultimo posee un boton bt_cerrar) puedo cerrar por ejemplo desde el form_B el form_A. O cómo destruir todos los formularios abiertos con un solo boton. Con self.Close() solo me cierra la ventana que tengo activa y si ubico un self.Destroy() me cierra todas las ventanas una vez ejecuto el programa (mejor dicho ni siquiera me deja ver los forms) Otra cosita. Alguien sabe porque no funciona el setfocus desde los notebook de visualwx ejemplo del codigo que no me funciona: key = event.GetKeyCode() if key==13: self.txt_apellido.SetFocus() De antemano muchas gracias _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From listas en soft-com.es Fri Dec 14 15:45:52 2007 From: listas en soft-com.es (=?ISO-8859-1?Q?Oswaldo_Hern=E1ndez?=) Date: Fri, 14 Dec 2007 15:45:52 +0100 Subject: simular teclado. In-Reply-To: References: <474D9DE9.8060505@ehas.org> <49414f570712021639t39ea6251s5c7aebcfbeb3298b@mail.gmail.com> <475356A9.9030700@ehas.org> Message-ID: <47629720.30605@soft-com.es> Dani escribió: > Bueno, > pues he encontrado una función que simula un evento de teclado: > win32api.keybd_event(65, 0, 0, 0) (simula que has presionado la tecla > a) > > Lanzo la aplicación con win32process.CreateProcess, pero ahora no se como > darle el foco a esta aplicación para que 'reciba' las pulsaciones de > teclado. > > ¿Alguien sabe la manera de darle el foco a una ventana en windows? > Si no recuero mal en el api de windows habia una funcion FindWindowByTitle(), o algo parecido, que te devolvia el handle a la ventana. Una vez lo tengas posiblemente con SetFocus() la podras activar. -- ***************************************** Oswaldo Hernández oswaldo (@) soft-com (.) es ***************************************** _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From claudiophv en gmail.com Fri Dec 14 19:08:02 2007 From: claudiophv en gmail.com (Claudio Herrera) Date: Fri, 14 Dec 2007 15:08:02 -0300 Subject: Ejecutar un comando de bash como root en python Message-ID: <6ba30e020712141008l14bf5659h51c1b5916f19a1ed@mail.gmail.com> Hola como andan? necesito si porfavor alguien me puede dar una ayudita; mi problema es el siguiente: Necesito correr un comando de bash en python, pero el problema es que es un "fdisk -l" y solo se lo puede correr como root por lo que tengo entendido, por lo cual quisiera saber si existe alguna forma de no tener que escribirle la palabra "sudo" adelante. Ejem. disco = os.popen("sudo fdisk -l").readlines() El problema que tengo es que si no le agrego el sudo, simplemente no hace nada. Revise los permisos del archivo pero no cambia en nada. Bueno, los saludos a tdos y nuevamente muchas gracias. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From solisgb en gmail.com Fri Dec 14 20:17:13 2007 From: solisgb en gmail.com (=?ISO-8859-1?Q?Luis_Sol=EDs?=) Date: Fri, 14 Dec 2007 20:17:13 +0100 Subject: instalando amara en windows In-Reply-To: <68d25cbc0712131257if174375x9f8156292f4a1f2c@mail.gmail.com> References: <8d2f04c60712130621s3bedbaceh181b50956f1ee905@mail.gmail.com> <2c9fb0dd0712131015v4e5ae575k73b2b030580366c5@mail.gmail.com> <47618F3D.5080606@gmail.com> <68d25cbc0712131257if174375x9f8156292f4a1f2c@mail.gmail.com> Message-ID: <4762D6B9.5010306@gmail.com> He encontrado la dirección donde me descargué el instalador 1197555056 - Amara-1.2.0.2.win32-py2.4.exe http://platea.pntic.mec.es/~jmorilla/amara/distros/Amara-1.2.0.2.win32-py2.4.exe si te sirve de algo, lo he bajado con wxDownloadFast -- Luis Solís _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From sonajadiabolica en gmail.com Fri Dec 14 20:26:08 2007 From: sonajadiabolica en gmail.com (aNgel rEsendiz g.) Date: Fri, 14 Dec 2007 13:26:08 -0600 Subject: Ejecutar un comando de bash como root en python In-Reply-To: <6ba30e020712141008l14bf5659h51c1b5916f19a1ed@mail.gmail.com> References: <6ba30e020712141008l14bf5659h51c1b5916f19a1ed@mail.gmail.com> Message-ID: <8d9e208f0712141126y7377b155k313b815f1d3e404e@mail.gmail.com> > Necesito correr un comando de bash en python, pero el problema es que es un > "fdisk -l" y solo se lo puede correr como root por lo que tengo entendido, > por lo cual quisiera saber si existe alguna forma de no tener que escribirle > la palabra "sudo" adelante. > > Ejem. disco = os.popen("sudo fdisk -l").readlines() > > > El problema que tengo es que si no le agrego el sudo, simplemente no hace > nada. > Revise los permisos del archivo pero no cambia en nada. ¿El programa lo vas a ejecutar solamente en cierta(s) computadora(s)? En principio no puedes estar seguro de contar con "sudo" en cualquier computadora, ya que no es algo estándar (no he probado muchas distribuciones últimamente, pero creo que solo Ubuntu lo incluye de manera predeterminada). En su lugar, puedes utilizar su, algo así: su -c COMANDO aunque no lo he probado, tienes que leer el man. Y por otra parte, ejecutar un programa de root, sin ser root, sería encontrar una vulnerabilidad en dicho programa y/o sistema, además no se trata de un programa que funcione de manera aislada, también tienes que tener ciertos permisos sobre las particiones con las que quieres trabajar con fdisk, entonces, a menos que sea una máquina totalmente aislada, no sería recomendable. Creo que lo mejor es utilizar sudo e introducir un password siempre que se va a ejecutar un programa de ese tipo. Saludos. -- aNgel rEsendiz.! _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From ftoledo en docksud.com.ar Fri Dec 14 20:57:21 2007 From: ftoledo en docksud.com.ar (Fernando Toledo) Date: Fri, 14 Dec 2007 16:57:21 -0300 Subject: Ejecutar un comando de bash como root en python In-Reply-To: <6ba30e020712141008l14bf5659h51c1b5916f19a1ed@mail.gmail.com> References: <6ba30e020712141008l14bf5659h51c1b5916f19a1ed@mail.gmail.com> Message-ID: <200712141657.23652.ftoledo@docksud.com.ar> El Vie 14 Dic 2007, Claudio Herrera escribió: > Hola como andan? necesito si porfavor alguien me puede dar una ayudita; mi > problema es el siguiente: > Necesito correr un comando de bash en python, pero el problema es que es un > "fdisk -l" y solo se lo puede correr como root por lo que tengo entendido, > por lo cual quisiera saber si existe alguna forma de no tener que > escribirle la palabra "sudo" adelante. > > Ejem. disco = os.popen("sudo fdisk -l").readlines() > > > El problema que tengo es que si no le agrego el sudo, simplemente no hace > nada. > Revise los permisos del archivo pero no cambia en nada. > > > Bueno, los saludos a tdos y nuevamente muchas gracias. > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes podes correr fdisk -l como usuario solo que en la mayoria de las distribuciones no tenes el /sbin en tu variable path. por ende si corres /sbin/fidsk -l deberia andar saludos! -- Dock Sud BBS http://www.docksud.com.ar telnet://bbs.docksud.com.ar ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part. URL: ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From claudiophv en gmail.com Fri Dec 14 21:04:55 2007 From: claudiophv en gmail.com (Claudio Herrera) Date: Fri, 14 Dec 2007 17:04:55 -0300 Subject: Ejecutar un comando de bash como root en python In-Reply-To: <200712141657.23652.ftoledo@docksud.com.ar> References: <6ba30e020712141008l14bf5659h51c1b5916f19a1ed@mail.gmail.com> <200712141657.23652.ftoledo@docksud.com.ar> Message-ID: <6ba30e020712141204g2ff3a1d5mc52fa0a0ba4cefd@mail.gmail.com> Hola Angel gracias por responder! es verdad lo que dices sobre las vulnerabilidades y demas...voy a ver con su -c y te comento un poco de que se trata el programa asi vemos si hay algunas opciones... POr otra parte Fernando, probare con /sbin/ Es un programa que detecta el hardware de una pc, no importa el sistema operativo ya que se corre en un live cd, y de ahi detecta tdo lo que hay y lo guarda en un .txt Obviamente solo provee info y no ejecuta nada. Espero sirva este dato mas. saludos y gracias 2007/12/14, Fernando Toledo : > > El Vie 14 Dic 2007, Claudio Herrera escribió: > > Hola como andan? necesito si porfavor alguien me puede dar una ayudita; > mi > > problema es el siguiente: > > Necesito correr un comando de bash en python, pero el problema es que es > un > > "fdisk -l" y solo se lo puede correr como root por lo que tengo > entendido, > > por lo cual quisiera saber si existe alguna forma de no tener que > > escribirle la palabra "sudo" adelante. > > > > Ejem. disco = os.popen("sudo fdisk -l").readlines() > > > > > > El problema que tengo es que si no le agrego el sudo, simplemente no > hace > > nada. > > Revise los permisos del archivo pero no cambia en nada. > > > > > > Bueno, los saludos a tdos y nuevamente muchas gracias. > > _______________________________________________ > > Lista de correo Python-es > > http://listas.aditel.org/listinfo/python-es > > FAQ: http://listas.aditel.org/faqpyes > > podes correr fdisk -l como usuario > solo que en la mayoria de las distribuciones no tenes el /sbin en tu > variable > path. > por ende si corres /sbin/fidsk -l > deberia andar > saludos! > > > -- > Dock Sud BBS > http://www.docksud.com.ar > telnet://bbs.docksud.com.ar > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From solisgb en gmail.com Fri Dec 14 21:24:25 2007 From: solisgb en gmail.com (=?ISO-8859-1?Q?Luis_Sol=EDs?=) Date: Fri, 14 Dec 2007 21:24:25 +0100 Subject: instalando amara en windows In-Reply-To: <2c9fb0dd0712140053x2d166f16sdb62a4ac61fc4e5d@mail.gmail.com> References: <8d2f04c60712130621s3bedbaceh181b50956f1ee905@mail.gmail.com> <2c9fb0dd0712131015v4e5ae575k73b2b030580366c5@mail.gmail.com> <47618F3D.5080606@gmail.com> <68d25cbc0712131257if174375x9f8156292f4a1f2c@mail.gmail.com> <4761AB20.80806@gmail.com> <2c9fb0dd0712140053x2d166f16sdb62a4ac61fc4e5d@mail.gmail.com> Message-ID: <4762E679.5060104@gmail.com> Chema Cortes escribió: > El 2007/12/13, Luis Solís escribió: > >> lo siento, pero no sé de donde he descargado 1197555056 - >> Amara-1.2.0.2.win32-py2.4.exe >> > > Yo te decía que instalaras la versión 1.0.2 de 4Suite en lugar de la > 1.0b y asegurarte que usas la adecuada para la versión de python que > tienes instalada (python-2.4). > > En cuanto a el número delante del fichero descargado, creo que te lo > suele añadir (a veces) en las descargas con internet explorer. > > Y por el IDE, no tienes porque renunciar a Komodo, ya que funciona con > cualquier python. Si quieres, prueba con openkomodo: > http://www.openkomodo.org > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > > he instalado la version 1.0.2 de 4 Suite y ya no me lanza el error al importar amara gracias -- Luis Solís _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pablomarmol en gmail.com Fri Dec 14 21:26:20 2007 From: pablomarmol en gmail.com (peter) Date: Fri, 14 Dec 2007 21:26:20 +0100 Subject: Ejecutar un comando de bash como root en python In-Reply-To: <6ba30e020712141204g2ff3a1d5mc52fa0a0ba4cefd@mail.gmail.com> References: <6ba30e020712141008l14bf5659h51c1b5916f19a1ed@mail.gmail.com> <200712141657.23652.ftoledo@docksud.com.ar> <6ba30e020712141204g2ff3a1d5mc52fa0a0ba4cefd@mail.gmail.com> Message-ID: <32ec9b10712141226y28c1a483x8b9c877b2a38a20f@mail.gmail.com> 2007/12/14, Claudio Herrera : > Es un programa que detecta el hardware de una pc, no importa el sistema > operativo ya que se corre en un live cd, y de ahi detecta tdo lo que hay y > lo guarda en un .txt Deja el fdisk y lee el fichero /proc/partitions _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From lastvnm en gmail.com Fri Dec 14 23:01:57 2007 From: lastvnm en gmail.com (Hiko_Hitokiri) Date: Fri, 14 Dec 2007 23:01:57 +0100 Subject: Ejecutar un comando de bash como root en python In-Reply-To: <32ec9b10712141226y28c1a483x8b9c877b2a38a20f@mail.gmail.com> References: <6ba30e020712141008l14bf5659h51c1b5916f19a1ed@mail.gmail.com> <200712141657.23652.ftoledo@docksud.com.ar> <6ba30e020712141204g2ff3a1d5mc52fa0a0ba4cefd@mail.gmail.com> <32ec9b10712141226y28c1a483x8b9c877b2a38a20f@mail.gmail.com> Message-ID: <934fa9900712141401r6de0f23x1bebbfd109f93d95@mail.gmail.com> lo que puedes hacer es crear el escript cambiarle el usuario a root darle permisos de ejecucion y crear un link en la carpeta rc parta que se inicie automaticamente Lo que tienes que hacer es abrir la terminar, hacer un "cd /etc/init.d" (aqui es donde se encuentran los scripts de inicio de drivers y algunas aplicaciones) luego ejecutas: sudo chmod +x fichero --en el que quieras darle permiso de ejecutarse al inicio. sudo chmod -x fichero --al que quieras quitarle los permisos. Tambien puedes ir a Preferencias--sesiones-- pestaña programas al inicio. Algunos programas estan para que inicien por defecto en este apartado. El día 14/12/07, peter escribió: > > 2007/12/14, Claudio Herrera : > > Es un programa que detecta el hardware de una pc, no importa el sistema > > operativo ya que se corre en un live cd, y de ahi detecta tdo lo que hay > y > > lo guarda en un .txt > > > Deja el fdisk y lee el fichero /proc/partitions > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- hiko_hitokiri ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From luismanolo en gmail.com Sat Dec 15 23:18:55 2007 From: luismanolo en gmail.com (luismanolo) Date: Sat, 15 Dec 2007 23:18:55 +0100 Subject: Eric4 Message-ID: Hola. Estoy comenzando con python y el ide Eric4. Lo he instalado en linux (ubuntu gutsy) según las intrucciones. Y he comenzado mi primer proyecto. Según un manual los archivos .ui hay que compilar el archivo .ui y luego pulsar Generate Subclass. Pero por más que lo intento la opción Generate Subclass aparece siempre desactivada, y creo que es por eso por lo que no me detecta los componentes de la .ui al escribir código. Entonces no me aparecen los componentes por autocompletado y tengo que referenciarlos "a mano". He probado todo lo que se me ha ocurrido, sin éxito. Gracias. -- GNU-Linux y música desde la Sonsierra Riojana _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From gagsl-py2 en yahoo.com.ar Sat Dec 15 23:41:08 2007 From: gagsl-py2 en yahoo.com.ar (Gabriel Genellina) Date: Sat, 15 Dec 2007 19:41:08 -0300 Subject: simular teclado. References: <474D9DE9.8060505@ehas.org> <49414f570712021639t39ea6251s5c7aebcfbeb3298b@mail.gmail.com> <475356A9.9030700@ehas.org> <47629720.30605@soft-com.es> Message-ID: En Fri, 14 Dec 2007 11:45:52 -0300, Oswaldo Hernández escribi?: > Dani escribió: >> Bueno, >> pues he encontrado una función que simula un evento de teclado: >> win32api.keybd_event(65, 0, 0, 0) (simula que has presionado la >> tecla >> a) >> Lanzo la aplicación con win32process.CreateProcess, pero ahora no se >> como >> darle el foco a esta aplicación para que 'reciba' las pulsaciones de >> teclado. >> ¿Alguien sabe la manera de darle el foco a una ventana en windows? >> > > Si no recuero mal en el api de windows habia una funcion > FindWindowByTitle(), o algo parecido, que te devolvia el handle a la > ventana. Una vez lo tengas posiblemente con SetFocus() la podras activar. Sip, pero hay muchos más detalles que hay que tener en cuenta para enviarle eventos de teclado a otra aplicación. Yo sugiero usar sendkeys, que ya lo tiene resuelto: http://www.rutherfurd.net/python/sendkeys/index.html o mejor pywinauto http://www.openqa.org/pywinauto/ (que usa la libreria anterior) que te deja automatizar una aplicación en una forma muy "pythonesca". -- Gabriel Genellina ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From kikecalpe en gmail.com Sun Dec 16 16:59:45 2007 From: kikecalpe en gmail.com (Kike Cabrera) Date: Sun, 16 Dec 2007 16:59:45 +0100 Subject: como plantear un juego cuando empiezas o aprendes a programar Message-ID: <14ecb63c0712160759s7c86891cp9fcde2f17f9bc640@mail.gmail.com> hola a todos. hace unas semanas comencé a informarme para aprender a programar. desde entonces he leído mucha información y ejemplos online y he imprimido y encuadernado "inmersión en python" para leerlo tranquilamente. he empezado a entender bastantes cosas y gracias a los ejemplos he visto como se hacen otras, he trasteado un poco con ellos sin muchos problemas. en uno de los artículos de la web losersjuegos.com recomiendan empezar con un juego sencillo, por ejemplo un tetris, luego un breakout, pac-man, etc. lo he intentado pero una vez he creado la ventana, le pongo fondo y tal (si lo hago yo lo hace cualquiera...) me encuentro con el problema de que no se por donde seguir, no se como abordarlo, ni como plantearlo ni como debería empezar a desarrollarlo de forma coherente. he descargado un ejemplo de tetris de la web de pygame que está casi terminado, sin embargo me encuentro con que si me fijo en como lo han hecho otros acabo copiandolo todo, y si no me fijo me atasco y no se qué hacer. ¿algún consejo para saltar estos baches? ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From xinxic en gmail.com Sun Dec 16 17:17:44 2007 From: xinxic en gmail.com (Xin) Date: Sun, 16 Dec 2007 17:17:44 +0100 Subject: como plantear un juego cuando empiezas o aprendes a programar In-Reply-To: <14ecb63c0712160759s7c86891cp9fcde2f17f9bc640@mail.gmail.com> References: <14ecb63c0712160759s7c86891cp9fcde2f17f9bc640@mail.gmail.com> Message-ID: Un poco difícil lo tienes si estas aprendiendo. No he programado ningun juego, però a simple vista tienes: - La entrada de datos (teclado, raton) - La salida gràfica (pantalla) - Las reglas del juego. La idea és que en el ejemplo que tienes encuentres como tratan esa información i lo entiendas. En tus juegos podràs aprovechar lo que aprendas de la entrada/salida, però deberàs desarrollar de nuevo el núcleo con las reglas del juego. Ten en cuenta que los juegos "animados" dependen del tiempo, así que fíjate también en como lo controlan, para conseguir el movimiento, la velocidad, ? Te espera un duro trabajo, sobretodo si estas aprendiendo a programar. Xin El 16/12/2007, a las 16:59, Kike Cabrera escribió: > hola a todos. > hace unas semanas comencé a informarme para aprender a programar. > desde > entonces he leído mucha información y ejemplos online y he imprimido y > encuadernado "inmersión en python" para leerlo tranquilamente. he > empezado a > entender bastantes cosas y gracias a los ejemplos he visto como se > hacen > otras, he trasteado un poco con ellos sin muchos problemas. > en uno de los artículos de la web losersjuegos.com recomiendan > empezar con > un juego sencillo, por ejemplo un tetris, luego un breakout, pac- > man, etc. > lo he intentado pero una vez he creado la ventana, le pongo fondo y > tal (si > lo hago yo lo hace cualquiera...) me encuentro con el problema de > que no se > por donde seguir, no se como abordarlo, ni como plantearlo ni como > debería > empezar a desarrollarlo de forma coherente. > he descargado un ejemplo de tetris de la web de pygame que está casi > terminado, sin embargo me encuentro con que si me fijo en como lo > han hecho > otros acabo copiandolo todo, y si no me fijo me atasco y no se qué > hacer. > ¿algún consejo para saltar estos baches? > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From miuler en gmail.com Sun Dec 16 17:31:30 2007 From: miuler en gmail.com (Miuler) Date: Sun, 16 Dec 2007 11:31:30 -0500 Subject: Se pueden crear eventos en Gtk? Message-ID: Hola amigos, tengo una duda, tengo un grupo de ventanas, por el momento son 4 pero van a aumentar, y quería saber si en gtk/pygtk es posible crear eventos personalizados, es decir definir un evento para que los otros widgets (en este caso un treeview dentro de ventanas), puedan capturarlo y ejecutar en cuanto se de la ventana, se que existe set_event , que es para decir al widget a que eventos debe de atender, pero solo encuentro con eventos pripios del gtk, ¿como creo un eveto yo? ¿se puede?. Lo que quiero es que cuando estoy en una ventana y cambio el nombre a un elemento se refleje en las demás ventanas, claro ninguna ventana contiene el mismo ListStore (como dije estoy usando un treeview en cada ventana), la única forma que se me ocurrió fue que a cada widget añadirle un connect('mi_evento_update', func_update) para que cada ves que actualice un dato, en ese mismo metodo hacer algo como func_generar_mi_evento_update, y todos los demás lo capturen y hagan su trabajo. -- _\|/_ (O-O) --oOO-(_)-OOo---------------------------------------- Hector Miuler Malpica Gallegos Universidad Nacional del Callao - Peru Escuela de Ingenieria Electronica usuario registrado #308608 ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From luis.ore.ori en gmail.com Sun Dec 16 18:25:06 2007 From: luis.ore.ori en gmail.com (Luis Orellana Orihuela) Date: Sun, 16 Dec 2007 18:25:06 +0100 Subject: Problema con ventana In-Reply-To: References: <526b12900712120051p6d62b68cib0ad27e9b916e1b4@mail.gmail.com> Message-ID: <526b12900712160925v2873d719x1cae970c3cd2aeeb@mail.gmail.com> Gracias Gabriel, ahora funciona. Me ha servido de mucho el código ;) El día 13/12/07, Gabriel Genellina escribió: > > En Wed, 12 Dec 2007 05:51:43 -0300, Luis Orellana Orihuela > escribi?: > > > Reanudo el hilo que llevaba en mi anterior cuenta: > > > > No me enrollo y simplifico. Tenemos esta aplicación: > > > > from Tkinter import * > > from tkMessageBox import showinfo > > > > form = Tk() > > form.withdraw() > > showinfo(title='Titulo ventana', message='hola mundo') > > print "llega??" > > > > ¿Hay alguna forma de que se ejecute la linea* print "llega??" *sin tener > > que > > esperar que se cierre o acepte la ventana showinfo? es decir, trato de > > que > > la aplicación siga su curso sin que se quede esperando un evento que > > interactúe con la ventana. El objetivo es mostrar el mensaje y seguir, > > sin > > necesidad de saber lo que se hace con la ventana. Gracias > > Lo que estas buscando es una caja de dialogo no modal. Los dialogos > estandar (como showinfo) son modales (es decir, la aplicacion se queda > esperando la respuesta del usuario) porque a) es lo mas comun y b) es la > parte dificil de hacer. > Para mostrar un mensaje y continuar, simplemente se crea una ventana > adecuada (Toplevel) y ya esta. > Aca hay un ejemplo basado en tkSimpleDialog. Lo importante fue *quitar* la > llamada a widget.wait_window(window) que es la que inicia el loop de > mensajes local y lo hace modal. > > # modelessdialog.py > # > # Soporte para dialogos no modales > # Gabriel Genellina > # > # Basado en tkSimpleDialog.py Copyright (c) 1997 by Fredrik Lundh > > from Tkinter import * > > class ModelessDialog(Toplevel): > > def __init__(self, parent, title = None): > > Toplevel.__init__(self, parent) > > if parent.winfo_viewable(): > self.transient(parent) > > if title: > self.title(title) > > self.parent = parent > > body = Frame(self) > self.body(body) > body.pack(padx=5, pady=5) > > self.buttonbox() > > self.protocol("WM_DELETE_WINDOW", self.close) > > if self.parent is not None: > self.geometry("+%d+%d" % (parent.winfo_rootx()+30, > parent.winfo_rooty()+30)) > > def body(self, master): > # hook > pass > > def buttonbox(self): > # hook; default=[OK] > box = Frame(self) > w = Button(box, text="OK", width=10, command=self.close, > default=ACTIVE) > w.pack(side=LEFT, padx=5, pady=5) > self.bind("", self.close) > box.pack() > > def close(self, event=None): > if self.parent is not None: > self.parent.focus_set() > self.destroy() > > class MessageDialog(ModelessDialog): > > def __init__(self, parent, title=None, message=''): > self.message = message > ModelessDialog.__init__(self, parent, title) > > def body(self, master): > w = Label(master, text=self.message, justify=LEFT) > w.grid(row=0, padx=5, sticky=W) > > if __name__ == '__main__': > > root = Tk() > frame = Frame(root) > > def mostrar_mensajes(frame=frame): > MessageDialog(frame, 'Titulo de la ventana', > 'Este es el texto ' > 'del mensaje. Puede ser bastante largo.\n' > 'Tambien puede tener varias lineas') > MessageDialog(frame, 'Doblete', > 'Claro, como no es modal, puede haber ' > 'varios MessageDialog simultaneamente.') > > Button(frame, text='Test', command=mostrar_mensajes).pack(side=LEFT) > Button(frame, text='Fin', command=frame.quit).pack(side=LEFT) > frame.pack() > root.mainloop() > > -- > Gabriel Genellina > > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From djay en openlink.cl Sun Dec 16 18:32:12 2007 From: djay en openlink.cl (Daniel A. Jay U.) Date: Sun, 16 Dec 2007 14:32:12 -0300 Subject: Gtkprint Message-ID: <2acedb510712160932w3087afa3wbf6e5c85c7d733b3@mail.gmail.com> Hola Lista alguien tiene algún código de ejemplo, de como utilizar un gtkprint. -- Salu2 ______________________________________ Daniel Jay Ulloa Linux Counter #421917 (__) (oo) /------\ / / | | | * /\-----/\ ~~ ~~ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From danigm en gmail.com Sun Dec 16 19:50:59 2007 From: danigm en gmail.com (Daniel Garcia Moreno) Date: Sun, 16 Dec 2007 19:50:59 +0100 Subject: como plantear un juego cuando empiezas o aprendes a programar In-Reply-To: References: <14ecb63c0712160759s7c86891cp9fcde2f17f9bc640@mail.gmail.com> Message-ID: <1197831059.16919.5.camel@localhost.localdomain> El dom, 16-12-2007 a las 17:17 +0100, Xin escribió: > Un poco difícil lo tienes si estas aprendiendo. > > No he programado ningun juego, però a simple vista tienes: > - La entrada de datos (teclado, raton) > - La salida gràfica (pantalla) > - Las reglas del juego. Exactamente es esto, un juego es simplemente un bucle en el cual se realizan esos tres pasos principales: - Gestión de eventos de entrada. - Modificación de los objetos o personajes del juego (lógica de juego). - Pintado en pantalla de los objetos o personajes del juego. > > La idea és que en el ejemplo que tienes encuentres como tratan esa > información i lo entiendas. En tus juegos podràs aprovechar lo que > aprendas de la entrada/salida, però deberàs desarrollar de nuevo el > núcleo con las reglas del juego. > > Ten en cuenta que los juegos "animados" dependen del tiempo, así que > fíjate también en como lo controlan, para conseguir el movimiento, la > velocidad, ? > > Te espera un duro trabajo, sobretodo si estas aprendiendo a programar. > > Xin > > El 16/12/2007, a las 16:59, Kike Cabrera escribió: > > > hola a todos. > > hace unas semanas comencé a informarme para aprender a programar. > > desde > > entonces he leído mucha información y ejemplos online y he imprimido y > > encuadernado "inmersión en python" para leerlo tranquilamente. he > > empezado a > > entender bastantes cosas y gracias a los ejemplos he visto como se > > hacen > > otras, he trasteado un poco con ellos sin muchos problemas. > > en uno de los artículos de la web losersjuegos.com recomiendan > > empezar con > > un juego sencillo, por ejemplo un tetris, luego un breakout, pac- > > man, etc. > > lo he intentado pero una vez he creado la ventana, le pongo fondo y > > tal (si > > lo hago yo lo hace cualquiera...) me encuentro con el problema de > > que no se > > por donde seguir, no se como abordarlo, ni como plantearlo ni como > > debería > > empezar a desarrollarlo de forma coherente. > > he descargado un ejemplo de tetris de la web de pygame que está casi > > terminado, sin embargo me encuentro con que si me fijo en como lo > > han hecho > > otros acabo copiandolo todo, y si no me fijo me atasco y no se qué > > hacer. ¿En qué momento del desarrollo te atascas? > > ¿algún consejo para saltar estos baches? > > _______________________________________________ > > Lista de correo Python-es > > http://listas.aditel.org/listinfo/python-es > > FAQ: http://listas.aditel.org/faqpyes > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: Esta parte del mensaje está firmada digitalmente URL: ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From minoztro en gmail.com Sun Dec 16 20:19:50 2007 From: minoztro en gmail.com (Milton Galo Patricio Inostroza Aguilera) Date: Sun, 16 Dec 2007 16:19:50 -0300 Subject: Se pueden crear eventos en Gtk? In-Reply-To: References: Message-ID: <172699c50712161119q1b7906f7y45477c3bd5c486a9@mail.gmail.com> El 16/12/07, Miuler escribió: > Hola amigos, tengo una duda, tengo un grupo de ventanas, por el > momento son 4 pero van a aumentar, y quería saber si en gtk/pygtk es > posible crear eventos personalizados, es decir definir un evento para > que los otros widgets (en este caso un treeview dentro de ventanas), > puedan capturarlo y ejecutar en cuanto se de la ventana, se que existe > set_event , que es para decir al widget a que eventos debe de atender, > pero solo encuentro con eventos pripios del gtk, ¿como creo un eveto > yo? ¿se puede?. Por qué utilizas un grupo de ventanas?...¿Por qué no utilizar un sola ventana y dividirla con Hbox, Vbox?...has leído HIG [1]? [1] http://developer.gnome.org/projects/gup/hig/ > > Lo que quiero es que cuando estoy en una ventana y cambio el nombre a > un elemento se refleje en las demás ventanas, claro ninguna ventana > contiene el mismo ListStore (como dije estoy usando un treeview en > cada ventana), la única forma que se me ocurrió fue que a cada widget > añadirle un connect('mi_evento_update', func_update) para que cada ves > que actualice un dato, en ese mismo metodo hacer algo como > func_generar_mi_evento_update, y todos los demás lo capturen y hagan > su trabajo. > > > -- > _\|/_ > (O-O) > --oOO-(_)-OOo---------------------------------------- > Hector Miuler Malpica Gallegos > Universidad Nacional del Callao - Peru > Escuela de Ingenieria Electronica > > usuario registrado #308608 > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Milton Inostroza Aguilera _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From morillas en gmail.com Sun Dec 16 20:30:11 2007 From: morillas en gmail.com (Luis Miguel Morillas) Date: Sun, 16 Dec 2007 20:30:11 +0100 Subject: como plantear un juego cuando empiezas o aprendes a programar In-Reply-To: <1197831059.16919.5.camel@localhost.localdomain> References: <14ecb63c0712160759s7c86891cp9fcde2f17f9bc640@mail.gmail.com> <1197831059.16919.5.camel@localhost.localdomain> Message-ID: <68d25cbc0712161130k2cce2e14o12171503465b3041@mail.gmail.com> El 16/12/07, Daniel Garcia Moreno escribió: > > El dom, 16-12-2007 a las 17:17 +0100, Xin escribió: > > Un poco difícil lo tienes si estas aprendiendo. > > > > No he programado ningun juego, però a simple vista tienes: > > - La entrada de datos (teclado, raton) > > - La salida gràfica (pantalla) > > - Las reglas del juego. > Hay un libro Python Programming de Michael Dawson que enseña a programar (con Python) utilizando juegos. > Exactamente es esto, un juego es simplemente un bucle en el cual se > realizan esos tres pasos principales: > - Gestión de eventos de entrada. > - Modificación de los objetos o personajes del juego (lógica de > juego). > - Pintado en pantalla de los objetos o personajes del juego. > > > > > La idea és que en el ejemplo que tienes encuentres como tratan esa > > información i lo entiendas. En tus juegos podràs aprovechar lo que > > aprendas de la entrada/salida, però deberàs desarrollar de nuevo el > > núcleo con las reglas del juego. > > > > Ten en cuenta que los juegos "animados" dependen del tiempo, así que > > fíjate también en como lo controlan, para conseguir el movimiento, la > > velocidad, ? > > > > Te espera un duro trabajo, sobretodo si estas aprendiendo a programar. > > > > Xin > > > > El 16/12/2007, a las 16:59, Kike Cabrera escribió: > > > > > hola a todos. > > > hace unas semanas comencé a informarme para aprender a programar. > > > desde > > > entonces he leído mucha información y ejemplos online y he imprimido y > > > encuadernado "inmersión en python" para leerlo tranquilamente. he > > > empezado a > > > entender bastantes cosas y gracias a los ejemplos he visto como se > > > hacen > > > otras, he trasteado un poco con ellos sin muchos problemas. > > > en uno de los artículos de la web losersjuegos.com recomiendan > > > empezar con > > > un juego sencillo, por ejemplo un tetris, luego un breakout, pac- > > > man, etc. > > > lo he intentado pero una vez he creado la ventana, le pongo fondo y > > > tal (si > > > lo hago yo lo hace cualquiera...) me encuentro con el problema de > > > que no se > > > por donde seguir, no se como abordarlo, ni como plantearlo ni como > > > debería > > > empezar a desarrollarlo de forma coherente. > > > he descargado un ejemplo de tetris de la web de pygame que está casi > > > terminado, sin embargo me encuentro con que si me fijo en como lo > > > han hecho > > > otros acabo copiandolo todo, y si no me fijo me atasco y no se qué > > > hacer. > > ¿En qué momento del desarrollo te atascas? > > > > ¿algún consejo para saltar estos baches? > > > _______________________________________________ > > > Lista de correo Python-es > > > http://listas.aditel.org/listinfo/python-es > > > FAQ: http://listas.aditel.org/faqpyes > > > > _______________________________________________ > > Lista de correo Python-es > > http://listas.aditel.org/listinfo/python-es > > FAQ: http://listas.aditel.org/faqpyes > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > > -- Saludos, -- Luis Miguel ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From luis.ore.ori en gmail.com Sun Dec 16 20:43:10 2007 From: luis.ore.ori en gmail.com (Luis Orellana Orihuela) Date: Sun, 16 Dec 2007 20:43:10 +0100 Subject: =?iso-8859-1?q?=BFc=F3mo_tratar_password=27s=3F?= Message-ID: <526b12900712161143r513538fcic802530ba3cfb364@mail.gmail.com> Quiero hacer un programa servidor más seguro. Actualmente el servidor sólo acepta conexiones de una IP cliente, el problema es que si quiero cambiar el cliente he de cambiar el código servidor para añadir la nueva IP. Lo ideal es hacerlo por Password, es decir, el cliente se conectaría al servidor, éste exigiria una pass, el cliente lo enviaría y si es correcto sigue si no rechaza la conexión. El pass que se envía tendría que ser encriptado para evitar que con un simple sniffing se rompa la contraseña. He estado buscando pero no he encontrado nada fructuoso. Gracias! _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From gagsl-py2 en yahoo.com.ar Mon Dec 17 01:13:06 2007 From: gagsl-py2 en yahoo.com.ar (Gabriel Genellina) Date: Sun, 16 Dec 2007 21:13:06 -0300 Subject: =?utf-8?b?wr9jw7NtbyB0cmF0YXIgcGFzc3dvcmQncz8=?= References: <526b12900712161143r513538fcic802530ba3cfb364@mail.gmail.com> Message-ID: En Sun, 16 Dec 2007 16:43:10 -0300, Luis Orellana Orihuela escribi?: > Quiero hacer un programa servidor más seguro. Actualmente el servidor > sólo > acepta conexiones de una IP cliente, el problema es que si quiero > cambiar > el cliente he de cambiar el código servidor para añadir la nueva IP. Lo > ideal es hacerlo por Password, es decir, el cliente se conectaría al > servidor, éste exigiria una pass, el cliente lo enviaría y si es correcto > sigue si no rechaza la conexión. El pass que se envía tendría que ser > encriptado para evitar que con un simple sniffing se rompa la > contraseña. He > estado buscando pero no he encontrado nada fructuoso. Gracias! ssl? M2Crypto te puede servir. -- Gabriel Genellina ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From zodman en gmail.com Mon Dec 17 02:10:33 2007 From: zodman en gmail.com (zodman) Date: Sun, 16 Dec 2007 19:10:33 -0600 Subject: archivos .py son programas en java Message-ID: <4765CC89.9090606@gmail.com> Hace poco se me hizo bien raro que en un directorio donde tengo un proyecto en python al correrle el ctags no me genero los tags de mis archivos. al revisar el filetype con file me da lo siguiente: zodman en cosmogirl:~/dev/django_project/tokines/tokin$ file views.py views.py: ASCII Java program text zodman en cosmogirl:~/dev/django_project/tokines/tokin$ cat views.py from tokines.tokin.models import Tokin,Categoria from tokines.noticias.models import Noticia from django.shortcuts import render_to_response from django.http import Http404,HttpResponseRedirect from django.newforms import form_from_model def listar_tokines(request): lista_tokines= Tokin.objects.all().order_by('fecha') noticias = Noticia.objects.all()[:3] return render_to_response('index.html',{'lista_tokines':lista_tokines,'lista_noticias':noticias}) def listar_por_categoria(request,nombre_categoria): try: lista_categoria = Categoria.objects.get(nombre=nombre_categoria) except Categoria.DoesNotExist: raise Http404 return render_to_response('ver.html', { 'tipo':'Categoria', 'lista':lista_categoria.tokin_set.all(), 'nombre':lista_categoria.nombre }) def ver_tokines(request,id,id_tokin): try: detalles = Tokin.objects.get(pk=id,nombre=id_tokin) except Tokin.DoesNotExist: raise Http404 return render_to_response('ver.html',{'tipo':'Tokin','lista':[detalles],'nombre':detalles.nombre}) zodman en cosmogirl:~/dev/django_project/tokines/tokin$ file -i views.py views.py: text/x-java; charset=us-ascii Me imagino que esa es la razon por lo que el ctags no genera el arbol de tags, ahora como cambia el mime de mis archivos para python ? _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From miuler en gmail.com Mon Dec 17 04:52:06 2007 From: miuler en gmail.com (Miuler) Date: Sun, 16 Dec 2007 22:52:06 -0500 Subject: Se pueden crear eventos en Gtk? In-Reply-To: <172699c50712161119q1b7906f7y45477c3bd5c486a9@mail.gmail.com> References: <172699c50712161119q1b7906f7y45477c3bd5c486a9@mail.gmail.com> Message-ID: XD porque así debe de ser :P bueno ya encontré por lo menos ya encontré un camino, y esto viene por señales (signal), como encontré por ahí al parecer señales es muy diferente a eventos, y lo que yo quiero es con generaciones de señales, apenas encuentre algo más lo mando a la lista. On Dec 16, 2007 2:19 PM, Milton Galo Patricio Inostroza Aguilera wrote: > El 16/12/07, Miuler escribió: > > Hola amigos, tengo una duda, tengo un grupo de ventanas, por el > > momento son 4 pero van a aumentar, y quería saber si en gtk/pygtk es > > posible crear eventos personalizados, es decir definir un evento para > > que los otros widgets (en este caso un treeview dentro de ventanas), > > puedan capturarlo y ejecutar en cuanto se de la ventana, se que existe > > set_event , que es para decir al widget a que eventos debe de atender, > > pero solo encuentro con eventos pripios del gtk, ¿como creo un eveto > > yo? ¿se puede?. > > Por qué utilizas un grupo de ventanas?...¿Por qué no utilizar un sola > ventana y dividirla con Hbox, Vbox?...has leído HIG [1]? > > [1] http://developer.gnome.org/projects/gup/hig/ > > > > > Lo que quiero es que cuando estoy en una ventana y cambio el nombre a > > un elemento se refleje en las demás ventanas, claro ninguna ventana > > contiene el mismo ListStore (como dije estoy usando un treeview en > > cada ventana), la única forma que se me ocurrió fue que a cada widget > > añadirle un connect('mi_evento_update', func_update) para que cada ves > > que actualice un dato, en ese mismo metodo hacer algo como > > func_generar_mi_evento_update, y todos los demás lo capturen y hagan > > su trabajo. > > > > > > -- > > _\|/_ > > (O-O) > > --oOO-(_)-OOo---------------------------------------- > > Hector Miuler Malpica Gallegos > > Universidad Nacional del Callao - Peru > > Escuela de Ingenieria Electronica > > > > usuario registrado #308608 > > > > _______________________________________________ > > Lista de correo Python-es > > http://listas.aditel.org/listinfo/python-es > > FAQ: http://listas.aditel.org/faqpyes > > > > > -- > Milton Inostroza Aguilera > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- _\|/_ (O-O) --oOO-(_)-OOo---------------------------------------- Hector Miuler Malpica Gallegos Universidad Nacional del Callao - Peru Escuela de Ingenieria Electronica usuario registrado #308608 ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From dani.berzas en gmail.com Mon Dec 17 10:28:04 2007 From: dani.berzas en gmail.com (Dani) Date: Mon, 17 Dec 2007 10:28:04 +0100 Subject: simular teclado. In-Reply-To: References: <474D9DE9.8060505@ehas.org> <49414f570712021639t39ea6251s5c7aebcfbeb3298b@mail.gmail.com> <475356A9.9030700@ehas.org> <47629720.30605@soft-com.es> Message-ID: bueno, pues he conseguido mandar eventos de teclado a una aplicación lanzada desde python de la siguiente manera: info = win32process.CreateProcess(...) time.sleep(10) win32gui.SetFocus(info[0]) win32api.keybd_event(win32con.VK_F10, 0) time.sleep(2) win32api.TerminateProcess(info[0],-1) win32api.CloseHandle(info[0]) win32con.VK_F10 genera el código de la tecla de función 10. Este método funciona con 'notepad', que corre en una ventana de windows, pero no me funciona con 'kobra.exe' que corre sobre MS-DOS, creo que necesitaría una API para MS-DOS directamente. Así que gracias a todos por vuestras ideas y recursos!!!. Todavía me queda alguno que probar, y ya os iré comentando si alguno funciona. Dani. El día 15/12/07, Gabriel Genellina escribió: > > En Fri, 14 Dec 2007 11:45:52 -0300, Oswaldo Hernández > escribi?: > > > Dani escribió: > >> Bueno, > >> pues he encontrado una función que simula un evento de teclado: > >> win32api.keybd_event(65, 0, 0, 0) (simula que has presionado la > >> tecla > >> a) > >> Lanzo la aplicación con win32process.CreateProcess, pero ahora no se > >> como > >> darle el foco a esta aplicación para que 'reciba' las pulsaciones de > >> teclado. > >> ¿Alguien sabe la manera de darle el foco a una ventana en windows? > >> > > > > Si no recuero mal en el api de windows habia una funcion > > FindWindowByTitle(), o algo parecido, que te devolvia el handle a la > > ventana. Una vez lo tengas posiblemente con SetFocus() la podras > activar. > > Sip, pero hay muchos más detalles que hay que tener en cuenta para > enviarle eventos de teclado a otra aplicación. Yo sugiero usar sendkeys, > que ya lo tiene resuelto: > http://www.rutherfurd.net/python/sendkeys/index.html o mejor pywinauto > http://www.openqa.org/pywinauto/ (que usa la libreria anterior) que te > deja automatizar una aplicación en una forma muy "pythonesca". > > -- > Gabriel Genellina > > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From lieben56 en gmail.com Mon Dec 17 13:23:04 2007 From: lieben56 en gmail.com (Juan Alexander Castillo Arjona) Date: Mon, 17 Dec 2007 04:23:04 -0800 Subject: como plantear un juego cuando empiezas o aprendes a programar In-Reply-To: <68d25cbc0712161130k2cce2e14o12171503465b3041@mail.gmail.com> References: <14ecb63c0712160759s7c86891cp9fcde2f17f9bc640@mail.gmail.com> <1197831059.16919.5.camel@localhost.localdomain> <68d25cbc0712161130k2cce2e14o12171503465b3041@mail.gmail.com> Message-ID: Hola como estas kike, mira la clave aca es que no te preocupes por la programacion, olvidate de todo eso al momento de querer crear un juego, lo primero que debes hacer es simplemente, sentarte y pensar que quiero hacer. Todo se resume en la historia. Ejemplo. Quiero hacer un juego de misterio ya accion como si fueras a hacer una pelicula tienes que crearte un resumen ( storyboard) de lo que tratar que objetivo tiene el juego, que quiero ofrecer al publico. Quiero ofrecer diversion, accion misterio, terror, ok comoplantearlos como darles eso, que si mucha sangre en los imagenes, que si unamusica tetrica luego combinas que tu personje por ejmplo tiene que liberar el mudno de demonios ( con constatine ) por decir algo y luego te vas planteando. a ok que necesito tecnicamente para mi personaje tenga look imagen, de ea impacto que quiero, ( entonces haces muchos dibujosarte conceptual para ir capturando tu vision) Luego, vas a laparte tecnica que te permitira contar tu historia, y asi te va. La programacion en juegos es una herramienta para contar tu histiora que es la esencia del juego, no la programacion en si. Cualquier cosa con gusto te respondo ;) El día 16/12/07, Luis Miguel Morillas escribió: > > El 16/12/07, Daniel Garcia Moreno escribió: > > > > El dom, 16-12-2007 a las 17:17 +0100, Xin escribió: > > > Un poco difícil lo tienes si estas aprendiendo. > > > > > > No he programado ningun juego, però a simple vista tienes: > > > - La entrada de datos (teclado, raton) > > > - La salida gràfica (pantalla) > > > - Las reglas del juego. > > > > Hay un libro Python Programming de Michael Dawson que enseña a > programar (con Python) utilizando juegos. > > > Exactamente es esto, un juego es simplemente un bucle en el cual se > > realizan esos tres pasos principales: > > - Gestión de eventos de entrada. > > - Modificación de los objetos o personajes del juego (lógica de > > juego). > > - Pintado en pantalla de los objetos o personajes del juego. > > > > > > > > La idea és que en el ejemplo que tienes encuentres como tratan esa > > > información i lo entiendas. En tus juegos podràs aprovechar lo que > > > aprendas de la entrada/salida, però deberàs desarrollar de nuevo el > > > núcleo con las reglas del juego. > > > > > > Ten en cuenta que los juegos "animados" dependen del tiempo, así que > > > fíjate también en como lo controlan, para conseguir el movimiento, la > > > velocidad, ? > > > > > > Te espera un duro trabajo, sobretodo si estas aprendiendo a programar. > > > > > > Xin > > > > > > El 16/12/2007, a las 16:59, Kike Cabrera escribió: > > > > > > > hola a todos. > > > > hace unas semanas comencé a informarme para aprender a programar. > > > > desde > > > > entonces he leído mucha información y ejemplos online y he imprimido > y > > > > encuadernado "inmersión en python" para leerlo tranquilamente. he > > > > empezado a > > > > entender bastantes cosas y gracias a los ejemplos he visto como se > > > > hacen > > > > otras, he trasteado un poco con ellos sin muchos problemas. > > > > en uno de los artículos de la web losersjuegos.com recomiendan > > > > empezar con > > > > un juego sencillo, por ejemplo un tetris, luego un breakout, pac- > > > > man, etc. > > > > lo he intentado pero una vez he creado la ventana, le pongo fondo y > > > > tal (si > > > > lo hago yo lo hace cualquiera...) me encuentro con el problema de > > > > que no se > > > > por donde seguir, no se como abordarlo, ni como plantearlo ni como > > > > debería > > > > empezar a desarrollarlo de forma coherente. > > > > he descargado un ejemplo de tetris de la web de pygame que está casi > > > > terminado, sin embargo me encuentro con que si me fijo en como lo > > > > han hecho > > > > otros acabo copiandolo todo, y si no me fijo me atasco y no se qué > > > > hacer. > > > > ¿En qué momento del desarrollo te atascas? > > > > > > ¿algún consejo para saltar estos baches? > > > > _______________________________________________ > > > > Lista de correo Python-es > > > > http://listas.aditel.org/listinfo/python-es > > > > FAQ: http://listas.aditel.org/faqpyes > > > > > > _______________________________________________ > > > Lista de correo Python-es > > > http://listas.aditel.org/listinfo/python-es > > > FAQ: http://listas.aditel.org/faqpyes > > > > _______________________________________________ > > Lista de correo Python-es > > http://listas.aditel.org/listinfo/python-es > > FAQ: http://listas.aditel.org/faqpyes > > > > > > > -- > Saludos, > > -- > > Luis Miguel > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Juan Alexander Castillo Arjona CEO LIVEDREAM FILMS | DIGITAL WORKS Panamá, ciudad de Panamá 507-322-2242 507-6-519-6206 ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From markuz en islascruz.org Mon Dec 17 16:41:07 2007 From: markuz en islascruz.org (Marco Antonio Islas Cruz) Date: Mon, 17 Dec 2007 09:41:07 -0600 Subject: Gtkprint In-Reply-To: <2acedb510712160932w3087afa3wbf6e5c85c7d733b3@mail.gmail.com> References: <2acedb510712160932w3087afa3wbf6e5c85c7d733b3@mail.gmail.com> Message-ID: <1197906067.6879.38.camel@cucusa> Un pequenio codigo de ejemplo lo tienes aqui: http://www.islascruz.org/html/index.php?Blog/SingleView/id/Imprimiendo_usando_GTK On Sun, 2007-12-16 at 14:32 -0300, Daniel A. Jay U. wrote: > Hola Lista > > alguien tiene algún código de ejemplo, de como utilizar un gtkprint. > -- <--Linux... Because I'm Free--> Marco Antonio Islas Cruz "Markuz" Linux User #280229 markuz en islascruz.org markuz en unixmexico.org markuz en linuxpozarica.com marco.islas en gmail.com islacruz en yahoo.com http://www.islascruz.org http://sourceforge.net/projects/gpkg/ http://www.linuxpozarica.com ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part URL: ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pepe en diselpro.com Mon Dec 17 20:04:02 2007 From: pepe en diselpro.com (Pepe Aracil) Date: Mon, 17 Dec 2007 20:04:02 +0100 Subject: =?ISO-8859-1?Q?=BFc=F3mo_tratar_password=27s?= =?ISO-8859-1?Q?=3F?= In-Reply-To: <526b12900712161143r513538fcic802530ba3cfb364@mail.gmail.com> References: <526b12900712161143r513538fcic802530ba3cfb364@mail.gmail.com> Message-ID: <4766C822.2040507@diselpro.com> Hola Luis. Así y a grandes rasgos el procedimiento de "desafio" para clave simétrica es el siguiente: - El servidor genera una cadena aleatoria y se la envía al cliente. - El cliente concatena esta cadena con la clave, y al resultado le pasa una función hash (sha2 más segura que md5) y envia este hash al servidor. - El servidor hace la misma operación que el cliente y compara su hash con el del cliente. Saludos. Luis Orellana Orihuela escribió: > Quiero hacer un programa servidor más seguro. Actualmente el servidor sólo > acepta conexiones de una IP cliente, el problema es que si quiero cambiar > el cliente he de cambiar el código servidor para añadir la nueva IP. Lo > ideal es hacerlo por Password, es decir, el cliente se conectaría al > servidor, éste exigiria una pass, el cliente lo enviaría y si es correcto > sigue si no rechaza la conexión. El pass que se envía tendría que ser > encriptado para evitar que con un simple sniffing se rompa la contraseña. He > estado buscando pero no he encontrado nada fructuoso. Gracias! > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From djay en openlink.cl Mon Dec 17 20:45:50 2007 From: djay en openlink.cl (Daniel A. Jay U.) Date: Mon, 17 Dec 2007 20:45:50 +0100 Subject: Gtkprint In-Reply-To: <1197906067.6879.38.camel@cucusa> References: <2acedb510712160932w3087afa3wbf6e5c85c7d733b3@mail.gmail.com> <1197906067.6879.38.camel@cucusa> Message-ID: <2acedb510712171145x34df6b25o8f3da85d9d26d7e7@mail.gmail.com> Un pequenio codigo de ejemplo lo tienes aqui: > > http://www.islascruz.org/html/index.php?Blog/SingleView/id/Imprimiendo_usando_GTK > > Muchas Gracias -- Salu2 ______________________________________ Daniel Jay Ulloa Linux Counter #421917 (__) (oo) /------\ / / | | | * /\-----/\ ~~ ~~ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From nmelgarejodiaz en gmail.com Mon Dec 17 21:41:33 2007 From: nmelgarejodiaz en gmail.com (Natali Melgarejo Diaz) Date: Mon, 17 Dec 2007 21:41:33 +0100 Subject: applets y python en aplicacion web Message-ID: Hola a todos, Estamos por empezar una aplicación y nos hemos planteado lo sgte: Podriamos realizar los cálculos de la aplicación web en el servidor utilizando las librerias de Python y luego en cliente utilizar alguna aplicacion en Java que nos procese los datos devueltos por el servidor?? Lo que pasa es que estos datos se transforman en graficas pero queremos que las graficas se generen en cliente. Tengo entendido que con un java applet ya podriamos usar librerias en java (q es lo q qeremos) q nos permitan la generación de gráficas en el ordenador del cliente. Es posible esto? Alguno de uds lo ha hecho ya? Saludos a todos ;) ********Natali******** pd: Markiños, ya se q no estas en la lista pero te lo envio por q eres un as en Java :)) ...besos chico!! _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From luis.ore.ori en gmail.com Tue Dec 18 00:16:11 2007 From: luis.ore.ori en gmail.com (Luis Orellana) Date: Tue, 18 Dec 2007 00:16:11 +0100 Subject: =?ISO-8859-1?Q?=BFc=F3mo_tratar_password=27s?= =?ISO-8859-1?Q?=3F?= In-Reply-To: <4766C822.2040507@diselpro.com> References: <526b12900712161143r513538fcic802530ba3cfb364@mail.gmail.com> <4766C822.2040507@diselpro.com> Message-ID: <4767033B.6070203@gmail.com> Muchas gracias Pepe, Lo estudiaré y a ver que resultados obtengo. Me sería de gran ayuda un ejemplito, si tienes alguno y no te importa cuélgalo plis, ... si no pues googlearé a ver que veo! :) Lo dicho, Graciassss!! Pepe Aracil escribió: > Hola Luis. > > Así y a grandes rasgos el procedimiento de "desafio" para > clave simétrica es el siguiente: > > - El servidor genera una cadena aleatoria y se la envía al cliente. > - El cliente concatena esta cadena con la clave, y al resultado le > pasa una función hash (sha2 más segura que md5) y envia este hash al > servidor. > - El servidor hace la misma operación que el cliente y compara su hash > con el del cliente. > > Saludos. > > > > > > > > Luis Orellana Orihuela escribió: >> Quiero hacer un programa servidor más seguro. Actualmente el servidor >> sólo >> acepta conexiones de una IP cliente, el problema es que si quiero >> cambiar >> el cliente he de cambiar el código servidor para añadir la nueva IP. Lo >> ideal es hacerlo por Password, es decir, el cliente se conectaría al >> servidor, éste exigiria una pass, el cliente lo enviaría y si es >> correcto >> sigue si no rechaza la conexión. El pass que se envía tendría que ser >> encriptado para evitar que con un simple sniffing se rompa la >> contraseña. He >> estado buscando pero no he encontrado nada fructuoso. Gracias! >> _______________________________________________ >> Lista de correo Python-es http://listas.aditel.org/listinfo/python-es >> FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ > Lista de correo Python-es http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From marcos.garrido en gmail.com Tue Dec 18 05:02:04 2007 From: marcos.garrido en gmail.com (Marcos Garrido) Date: Tue, 18 Dec 2007 01:02:04 -0300 Subject: Combox no muestra datos de BD !! Message-ID: <1197950524.12838.7.camel@spitfire-laptop> Estimados: Mi problema es el siguiente, leyendo las api de Pygtk logro "conectar" una bd Postgresql con un combobox para la carga de ciudades, el problema que se me presenta es que al cargar, se ven los espacios, pero no la información. Lo he intentado con ListStore y con una [] simple, pero no hay caso. Envio parte del código como referencia. def carga_ciudad(cmb): try: cursor= conecta.cursor() cursor.execute("select .....order by provincia asc") provincias = cursor.fetchall() ciudad = gtk.ListStore(str) for ciudades in provincias: print str(ciudades[0]) ciudad.append(ciudades) cmb.set_model(ciudad) except Exception, e: print "ERROR:", e return ... con el print str(ciudades[0]) verifico que toda la consulta se hizo ...y cargo el combobox así cbCiudad = self.glade.get_widget("ctCiudad") carga_ciudad(cbCiudad) ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From marcos.garrido en gmail.com Tue Dec 18 05:34:42 2007 From: marcos.garrido en gmail.com (Marcos Garrido) Date: Tue, 18 Dec 2007 01:34:42 -0300 Subject: Combobox no muestra datos de BD !! Message-ID: <1197952482.13423.0.camel@spitfire-laptop> Estimados: Mi problema es el siguiente, leyendo las api de Pygtk logro "conectar" una bd Postgresql con un combobox para la carga de ciudades, el problema que se me presenta es que al cargar, se ven los espacios, pero no la información. Lo he intentado con ListStore y con una [] simple, pero no hay caso. Envio parte del código como referencia. def carga_ciudad(cmb): try: cursor= conecta.cursor() cursor.execute("select .....order by provincia asc") provincias = cursor.fetchall() ciudad = gtk.ListStore(str) for ciudades in provincias: print str(ciudades[0]) ciudad.append(ciudades) cmb.set_model(ciudad) except Exception, e: print "ERROR:", e return ... con el print str(ciudades[0]) verifico que toda la consulta se hizo ...y cargo el combobox así cbCiudad = self.glade.get_widget("ctCiudad") carga_ciudad(cbCiudad) ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From mayragm en finlay.cmw.sld.cu Tue Dec 18 07:14:49 2007 From: mayragm en finlay.cmw.sld.cu (=?ISO-8859-1?Q?Jorge_Luis_Betancourt_Gonz=E1lez?=) Date: Tue, 18 Dec 2007 00:14:49 -0600 Subject: =?ISO-8859-1?Q?Re=3A_=5BPython-es=5D_GtkTextView_+_popen?= =?ISO-8859-1?Q?2_-=3E_Enviar_salida_de_la_ejecuci=F3n_de_?= =?ISO-8859-1?Q?un_comando_a_un_TextView=2E?= In-Reply-To: References: Message-ID: <47676559.3080905@finlay.cmw.sld.cu> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Quizás no sea tu caso pero por ejemplo yo cuando deseo ir mostrando en una interfaz GTK lo que está sucediendo en consola utilizo el binding para Python de VTE (Virtual Terminal Emulator) que te permite 'embeber' una terminal en un contenedor (HBox, VBox, Table, etc.) de una interfaz GTK, un ejemplo de esto lo puedes ver con el synaptic cuando está instalando un paquete desde el repositorio, si te sirve esta variante solo te queda buscar información sobre VTE y listo, yo tengo un ejemplo por acá, si te interesa puedes tirarme al privado, slds .''`. GNU/Linux Debian "Sid" Jorge Luis Betancourt González : :' : Version Unstable Camagüey Cuba. `. `' Phone :++(53)(32)59440 E-Mail: mayragm en finlay.cmw.sld.cu `- Linux R. User: 386271 Jabber: betancourt.jorge en gmail.com bameda escribió: > Hola listeros, > > Estoy haciendo una interfaz GTK para una determinado COMANDO de > terminal en linux. Para recibir su salida lo hago de la siguiente > manera: > > pipes = os.popen2(COMANDO + " \"" + filename + "\"") text = "" for > line in pipes[1].readlines(): text = text + line pipes[0].close() > pipes[1].close() > > Y obtengo en "text" la salida que paso a un TextView de la > siguiente forma: > > textBuffer = self.textView.get_buffer() textBuffer.set_text(text) > self.textView.set_buffer(textBuffer) // Esto lo hago para borrar lo > que había antes > > El problema surge cuando el comando en cuestión se queda dentro de > un bucle en su ejecución y, evidentemente, no me muestra nada por > pantalla. > > ¿Hay alguna forma de mandar la salida directamente al TextView sin > esperar a que el comando termine su ejecución? > > Gracias de antemano. > > SALUDOS > > > ---------------------------------------------------------------------- > > > _______________________________________________ Python-es mailing > list Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.4 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFHZ2VZFZXz0sYE+fYRAtniAJ9ZYakw0xntmIEcLfqDUuOjMEXE7wCfTBZ6 K5zRuhRFaRfylWDzIxtYBJk= =eNXW -----END PGP SIGNATURE----- -- Este mensaje ha sido analizado por MailScanner del Nodo Finlay, Camaguey, Cuba en busca de virus y se considera que está limpio. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From luismanolo en gmail.com Tue Dec 18 12:55:09 2007 From: luismanolo en gmail.com (luismanolo) Date: Tue, 18 Dec 2007 12:55:09 +0100 Subject: Configurar Eric4 en ubuntu/debian Message-ID: Hola. Estoy comenzando con qt4 y he instalado Eric4 en ubuntu, p/usr/share/qt4/bin/ pero no me realiza bien el autocompletado. El problema es que no reconoce todos los widgets (me reconoce los que ya he usado en el archivo actual) de la .ui (una vez compilada a .py), y tampoco me reconoce (no hace autocompletado) las propiedades de los widgets que sí me reconoce. Tampoco me muestra ayuda contextual de python ni de QT4. En Configure QT tengo lo siguiente: - QT4 Directory: /usr/share/qt4/bin - QT4 Translations directory: /usr/share/qt4/translations En Configure Help Documentation tengo lo siguiente: - Python Documentation: /usr/share/doc/python2.5-doc/html/ - Qt3 Documentation: /usr/share/qt3/doc/ - Qt4 Documentation: /usr/share/qt4/doc/ - pyQt4 Documentation: /usr/share/doc/python-qt4-doc/html/ Muchas gracias por la ayuda.. -- GNU-Linux y música desde la Sonsierra Riojana _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From dmlistapython en gmail.com Tue Dec 18 15:01:33 2007 From: dmlistapython en gmail.com (Daniel Malisani) Date: Tue, 18 Dec 2007 11:01:33 -0300 Subject: Configurar Eric4 en ubuntu/debian In-Reply-To: References: Message-ID: <9fccc670712180601j2f279302n890679f7740a44e0@mail.gmail.com> 2007/12/18, luismanolo : > > Hola. > Estoy comenzando con qt4 y he instalado Eric4 en ubuntu, > p/usr/share/qt4/bin/ pero no me realiza bien el autocompletado. El > problema > es que no reconoce todos los widgets (me reconoce los que ya he usado en > el > archivo actual) de la .ui (una vez compilada a .py), y tampoco me reconoce > (no hace autocompletado) las propiedades de los widgets que sí me > reconoce. > Tampoco me muestra ayuda contextual de python ni de QT4. > > En Configure QT tengo lo siguiente: > > > - QT4 Directory: /usr/share/qt4/bin > - QT4 Translations directory: /usr/share/qt4/translations > > > En Configure Help Documentation tengo lo siguiente: > > > - Python Documentation: /usr/share/doc/python2.5-doc/html/ > - Qt3 Documentation: /usr/share/qt3/doc/ > - Qt4 Documentation: /usr/share/qt4/doc/ > - pyQt4 Documentation: /usr/share/doc/python-qt4-doc/html/ > > > > Muchas gracias por la ayuda.. > > -- > GNU-Linux y música desde la Sonsierra Riojana > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > Tenés activado el autocompletar en las preferencias. (Proximamente va a estar lista la traducción al español del Eric4,los tendré al tanto) _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From maengora en gmail.com Tue Dec 18 15:57:04 2007 From: maengora en gmail.com (=?ISO-8859-1?Q?Manuel_Enrique_Gonz=E1lez_Ram=EDrez?=) Date: Tue, 18 Dec 2007 09:57:04 -0500 Subject: Combox no muestra datos de BD !! In-Reply-To: <1197950524.12838.7.camel@spitfire-laptop> References: <1197950524.12838.7.camel@spitfire-laptop> Message-ID: Yo lo hago con el VisualWx en el evento EVT_LEFT_DOWN del combo así: db = con.connect(host='localhost'......) c = db.cursor() sql = c.execute('SELECT ......FROM........ ORDER BY.......... ASC') res = c.fetchall() self.combo.Clear() #Limpio el contenido del combo if res<>None: for i in res: self.combo.Append(str(i[0])) Y me funciona. No se si te sirva de ayuda. El día 17/12/07, Marcos Garrido escribió: > > Estimados: > > Mi problema es el siguiente, leyendo las api de Pygtk logro "conectar" > una bd Postgresql con un combobox para la carga de ciudades, el problema > que se me presenta es que al cargar, se ven los espacios, pero no la > información. Lo he intentado con ListStore y con una [] simple, pero no > hay caso. > > Envio parte del código como referencia. > > def carga_ciudad(cmb): > try: > cursor= conecta.cursor() > cursor.execute("select .....order by provincia asc") > provincias = cursor.fetchall() > > ciudad = gtk.ListStore(str) > for ciudades in provincias: > print str(ciudades[0]) > ciudad.append(ciudades) > cmb.set_model(ciudad) > > except Exception, e: > print "ERROR:", e > > return > > ... con el print str(ciudades[0]) verifico que toda la consulta se hizo > > ...y cargo el combobox así > > cbCiudad = self.glade.get_widget("ctCiudad") > carga_ciudad(cbCiudad) > > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From minoztro en gmail.com Tue Dec 18 16:18:48 2007 From: minoztro en gmail.com (Milton Galo Patricio Inostroza Aguilera) Date: Tue, 18 Dec 2007 12:18:48 -0300 Subject: Combox no muestra datos de BD !! In-Reply-To: <1197950524.12838.7.camel@spitfire-laptop> References: <1197950524.12838.7.camel@spitfire-laptop> Message-ID: <172699c50712180718x6864e04fodc4ba1c26894c68a@mail.gmail.com> El 18/12/07, Marcos Garrido escribió: > Estimados: > > Mi problema es el siguiente, leyendo las api de Pygtk logro "conectar" > una bd Postgresql con un combobox para la carga de ciudades, el problema > que se me presenta es que al cargar, se ven los espacios, pero no la > información. Lo he intentado con ListStore y con una [] simple, pero no > hay caso. > > Envio parte del código como referencia. > > def carga_ciudad(cmb): > try: > cursor= conecta.cursor() > cursor.execute("select .....order by provincia asc") > provincias = cursor.fetchall() > > ciudad = gtk.ListStore(str) > for ciudades in provincias: > print str(ciudades[0]) > ciudad.append(ciudades) al parecer ciudades es del tipo list...prueba con hacer ciudad.append(ciudades[0]) > cmb.set_model(ciudad) > > except Exception, e: > print "ERROR:", e > > return > > ... con el print str(ciudades[0]) verifico que toda la consulta se hizo > > ...y cargo el combobox así > > cbCiudad = self.glade.get_widget("ctCiudad") > carga_ciudad(cbCiudad) > > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Milton Inostroza Aguilera _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From luismanolo en gmail.com Tue Dec 18 17:24:41 2007 From: luismanolo en gmail.com (luismanolo) Date: Tue, 18 Dec 2007 17:24:41 +0100 Subject: Configurar Eric4 en ubuntu/debian In-Reply-To: <9fccc670712180601j2f279302n890679f7740a44e0@mail.gmail.com> References: <9fccc670712180601j2f279302n890679f7740a44e0@mail.gmail.com> Message-ID: Si ya lo tengo activado, gracias de todos modos. El día 18/12/07, Daniel Malisani escribió: > > 2007/12/18, luismanolo : > > > > Hola. > > Estoy comenzando con qt4 y he instalado Eric4 en ubuntu, > > p/usr/share/qt4/bin/ pero no me realiza bien el autocompletado. El > > problema > > es que no reconoce todos los widgets (me reconoce los que ya he usado en > > el > > archivo actual) de la .ui (una vez compilada a .py), y tampoco me > reconoce > > (no hace autocompletado) las propiedades de los widgets que sí me > > reconoce. > > Tampoco me muestra ayuda contextual de python ni de QT4. > > > > En Configure QT tengo lo siguiente: > > > > > > - QT4 Directory: /usr/share/qt4/bin > > - QT4 Translations directory: /usr/share/qt4/translations > > > > > > En Configure Help Documentation tengo lo siguiente: > > > > > > - Python Documentation: /usr/share/doc/python2.5-doc/html/ > > - Qt3 Documentation: /usr/share/qt3/doc/ > > - Qt4 Documentation: /usr/share/qt4/doc/ > > - pyQt4 Documentation: /usr/share/doc/python-qt4-doc/html/ > > > > > > > > Muchas gracias por la ayuda.. > > > > -- > > GNU-Linux y música desde la Sonsierra Riojana > > _______________________________________________ > > Lista de correo Python-es > > http://listas.aditel.org/listinfo/python-es > > FAQ: http://listas.aditel.org/faqpyes > > > Tenés activado el autocompletar en las preferencias. > (Proximamente va a estar lista la traducción al español del Eric4,los > tendré > al tanto) > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- GNU-Linux y música desde la Sonsierra Riojana _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From marcos.garrido en gmail.com Tue Dec 18 19:09:39 2007 From: marcos.garrido en gmail.com (Marcos Garrido) Date: Tue, 18 Dec 2007 15:09:39 -0300 Subject: Combox no muestra datos de BD !! In-Reply-To: References: <1197950524.12838.7.camel@spitfire-laptop> Message-ID: <1198001379.10617.4.camel@spitfire-laptop> El mar, 18-12-2007 a las 09:57 -0500, Manuel Enrique González Ramírez escribió: > Yo lo hago con el VisualWx en el evento EVT_LEFT_DOWN del combo así: > > db = con.connect(host='localhost'......) > c = db.cursor() > sql = c.execute('SELECT ......FROM........ ORDER BY.......... ASC') > res = c.fetchall() > > self.combo.Clear() #Limpio el contenido del combo > > if res<>None: > for i in res: > self.combo.Append(str(i[0])) > > Y me funciona. No se si te sirva de ayuda. > > El día 17/12/07, Marcos Garrido escribió: > > > > Estimados: > > > > Mi problema es el siguiente, leyendo las api de Pygtk logro "conectar" > > una bd Postgresql con un combobox para la carga de ciudades, el problema > > que se me presenta es que al cargar, se ven los espacios, pero no la > > información. Lo he intentado con ListStore y con una [] simple, pero no > > hay caso. > > > > Envio parte del código como referencia. > > > > def carga_ciudad(cmb): > > try: > > cursor= conecta.cursor() > > cursor.execute("select .....order by provincia asc") > > provincias = cursor.fetchall() > > > > ciudad = gtk.ListStore(str) > > for ciudades in provincias: > > print str(ciudades[0]) > > ciudad.append(ciudades) > > cmb.set_model(ciudad) cell = gtk.CellRendererText() cmb.pack_start(cell) cmb.add_attribute(cell,'text',0) cmb.set_active(0) ... colocando eso aparecen todos los datos, sin eso solo aparecen los espacios en blanco. > > except Exception, e: > > print "ERROR:", e > > > > return > > > > ... con el print str(ciudades[0]) verifico que toda la consulta se hizo > > > > ...y cargo el combobox así > > > > cbCiudad = self.glade.get_widget("ctCiudad") > > carga_ciudad(cbCiudad) > > Bueno, buscando encontré la solución, ahora a estudiarla.... si alguien tiene otra forma de cargar un ComboBox (en pyGtk) desde una BD bienvenido sea... ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From marcos.garrido en gmail.com Tue Dec 18 20:23:08 2007 From: marcos.garrido en gmail.com (Marcos Garrido) Date: Tue, 18 Dec 2007 16:23:08 -0300 Subject: Carga de Combobox =?ISO-8859-1?Q?seg=FAn?= otro ComboBox en PyGTK Message-ID: <1198005788.11911.7.camel@spitfire-laptop> Estimados: Tengo dos combobox, uno de ciudad y otro de comuna, la idea es que al modificar la ciudad, el combobox de comuna se cargue automáticamente, todo esto buscando en una bd con cursor. Las consultas y la carga lo hace bien, el único inconveniente es que al elegir una ciudad por segunda vez, el combobox de la comuna se carga con la comuna 2 veces, es decir en una linea aparece Comuna1 Comuna 1 y en la 2da fila Comuna2 Comuna 2, un 3er cambio y sucede lo mismo, 3 veces repetido en linea la comuna, trate de cerrar el cursor pero no resulta. De antemano, gracias PD: Parte del código, cmb recibe el nombre del combobox def carga_comuna(cmb, ciudad): try: cursor_comuna= conecta.cursor() sql = "select ...." salida = cursor_comuna.execute(sql) comuna_fetch = cursor_comuna.fetchall() comunas = gtk.ListStore(str) for comuna in comuna_fetch: comunas.append(comuna) cursor_comuna.close() cmb.set_model(comunas) cell = gtk.CellRendererText() cmb.pack_start(cell) cmb.add_attribute(cell,'text',0) cmb.set_active(0) #Cerramos Conexion BD cursor.close() except Exception, e: print "ERROR:", e return ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From maengora en gmail.com Tue Dec 18 20:28:27 2007 From: maengora en gmail.com (=?ISO-8859-1?Q?Manuel_Enrique_Gonz=E1lez_Ram=EDrez?=) Date: Tue, 18 Dec 2007 14:28:27 -0500 Subject: =?ISO-8859-1?Q?Re:__Carga_de_Combob?= =?ISO-8859-1?Q?ox_seg=FAn_otro_ComboBox_en_PyGTK?= In-Reply-To: <1198005788.11911.7.camel@spitfire-laptop> References: <1198005788.11911.7.camel@spitfire-laptop> Message-ID: Yo tuve un problemita similar y alguien me dio la solucion en esta lista (una sola linea de codigo) Ponle un clear al combobox comunas.Clear() El día 18/12/07, Marcos Garrido escribió: > > Estimados: > > Tengo dos combobox, uno de ciudad y otro de comuna, la idea es que al > modificar la ciudad, el combobox de comuna se cargue automáticamente, > todo esto buscando en una bd con cursor. > > Las consultas y la carga lo hace bien, el único inconveniente es que al > elegir una ciudad por segunda vez, el combobox de la comuna se carga con > la comuna 2 veces, es decir en una linea aparece Comuna1 Comuna 1 y en > la 2da fila Comuna2 Comuna 2, un 3er cambio y sucede lo mismo, 3 veces > repetido en linea la comuna, trate de cerrar el cursor pero no resulta. > > De antemano, gracias > > PD: > Parte del código, cmb recibe el nombre del combobox > > def carga_comuna(cmb, ciudad): > try: > cursor_comuna= conecta.cursor() > sql = "select ...." > salida = cursor_comuna.execute(sql) > comuna_fetch = cursor_comuna.fetchall() > comunas = gtk.ListStore(str) > for comuna in comuna_fetch: > comunas.append(comuna) > cursor_comuna.close() > cmb.set_model(comunas) > cell = gtk.CellRendererText() > cmb.pack_start(cell) > cmb.add_attribute(cell,'text',0) > cmb.set_active(0) > > > #Cerramos Conexion BD > cursor.close() > > except Exception, e: > print "ERROR:", e > > return > > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From diego.arias en gmail.com Tue Dec 18 20:32:46 2007 From: diego.arias en gmail.com (diego arias) Date: Tue, 18 Dec 2007 16:32:46 -0300 Subject: =?iso-8859-1?q?Modificaci=F3n_a_HTMLParser=2Epy?= Message-ID: Hola mi nombre es Diego, les cuento mi situación, en una de las paginas de un sitio con el que trabajo, existe un componente wysiwyg, de donde luego recupero el contenido, este contenido viene con todos los tags de html y mi necesidad era en un lugar guardarlo con esos tags para luego mostrarlo igual, pero tambien mandar por correo solo el texto sin los tags. Para esto use HTMLParser pero contaba con algunas dificultades para conseguir asignarle a una variable el valor del texto. La solucion fue cambiar la clase HTMLParser de modo que su funcionamiento sea simple y efectivo, basta con esto: import HTMLParser class ParsearHTML (HTMLParser.HTMLParser): def __init__(self,datos): HTMLParser.HTMLParser.__init__(self) self.feed(datos) self.close() def handle_data(self,data): return data parser = ParsearHTML(html) data = parser.feed(html) #html es la variable en donde tenia el texto con sus tags, como resultado, en la variable data, se encuentra el texto ya sin los tags html. Les adjunto una copia de como quedo la clase HTMLParser luego de las modificaciones, Espero que les sirva. Sino igualmente haganme saber su opinion. Muchas Gracias por su constante apoyo. Un Abrazo. Diego. ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From marcos.garrido en gmail.com Tue Dec 18 21:01:12 2007 From: marcos.garrido en gmail.com (Marcos Garrido) Date: Tue, 18 Dec 2007 17:01:12 -0300 Subject: Carga de Combobox =?ISO-8859-1?Q?seg=FAn?= otro ComboBox en PyGTK In-Reply-To: References: <1198005788.11911.7.camel@spitfire-laptop> Message-ID: <1198008072.11911.10.camel@spitfire-laptop> El mar, 18-12-2007 a las 14:28 -0500, Manuel Enrique González Ramírez escribió: > Yo tuve un problemita similar y alguien me dio la solucion en esta lista > (una sola linea de codigo) > > Ponle un clear al combobox > > comunas.Clear() ... y como diría Mr. Burns..... "Excelente" ... lo puse al principio del código de la llamada, agradecido. ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From py en ch3m4.org Wed Dec 19 03:10:24 2007 From: py en ch3m4.org (Chema Cortes) Date: Wed, 19 Dec 2007 03:10:24 +0100 Subject: archivos .py son programas en java In-Reply-To: <4765CC89.9090606@gmail.com> References: <4765CC89.9090606@gmail.com> Message-ID: <200712190310.24276.py@ch3m4.org> El Monday 17 December 2007 02:10:33 zodman escribió: > Hace poco se me hizo bien raro que en un directorio donde tengo un > proyecto en python al correrle el ctags no me genero los tags de mis > archivos. al revisar el filetype con file me da lo siguiente: > > zodman en cosmogirl:~/dev/django_project/tokines/tokin$ file views.py > views.py: ASCII Java program text >[...] > > Me imagino que esa es la razon por lo que el ctags no genera el arbol de > tags, ahora como cambia el mime de mis archivos para python ? En principio, ctags se basa en la extensión del fichero, no en la librería magic (de "file"). He probado ctags sobre tu fichero y me funciona correctamente, así que tendrás que buscar el problema en otro lado. Si quieres que "file" no se confunda añade el `shebang` a tus ficheros (o sea, añade el #!/usr/bin/python al principio) _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From ftoledo en docksud.com.ar Wed Dec 19 04:21:49 2007 From: ftoledo en docksud.com.ar (Fernando Toledo) Date: Wed, 19 Dec 2007 00:21:49 -0300 Subject: python + gtk maquinas viejas Message-ID: <200712190021.49991.ftoledo@docksud.com.ar> Hola alguien tuvo experiencia de usar python + gtk en windows sobre algunamaquina vieja al estilo pentium 166 + 64Mb? saludos! -- Dock Sud BBS http://www.docksud.com.ar telnet://bbs.docksud.com.ar ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From gagsl-py2 en yahoo.com.ar Wed Dec 19 04:44:05 2007 From: gagsl-py2 en yahoo.com.ar (Gabriel Genellina) Date: Wed, 19 Dec 2007 00:44:05 -0300 Subject: python + gtk maquinas viejas References: <200712190021.49991.ftoledo@docksud.com.ar> Message-ID: En Wed, 19 Dec 2007 00:21:49 -0300, Fernando Toledo escribió: > alguien tuvo experiencia de usar python + gtk en windows sobre > algunamaquina > vieja al estilo pentium 166 + 64Mb? Yo tengo aplicaciones Pytthon+wxwidgets (no gtk) andando en una Pentium 233 128MB con Win98. Creo que un tiempo atrás esa PC tenia 64Mb. Funciona todo sin problemas... -- Gabriel Genellina ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From minoztro en gmail.com Wed Dec 19 05:19:53 2007 From: minoztro en gmail.com (Milton Galo Patricio Inostroza Aguilera) Date: Wed, 19 Dec 2007 01:19:53 -0300 Subject: python + gtk maquinas viejas In-Reply-To: <200712190021.49991.ftoledo@docksud.com.ar> References: <200712190021.49991.ftoledo@docksud.com.ar> Message-ID: <172699c50712182019jc04b972i47917c52be6277ce@mail.gmail.com> El 19/12/07, Fernando Toledo escribió: > Hola > alguien tuvo experiencia de usar python + gtk en windows sobre algunamaquina > vieja al estilo pentium 166 + 64Mb? yo lo que hice una ves fue instalar XFCE y luego utilizar mi aplicación desarrollada en pyGTK > saludos! > > -- > Dock Sud BBS > http://www.docksud.com.ar > telnet://bbs.docksud.com.ar > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Milton Inostroza Aguilera _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From martin.artaza en gmail.com Wed Dec 19 07:21:51 2007 From: martin.artaza en gmail.com (Sebastian Martin Artaza Saade) Date: Wed, 19 Dec 2007 03:21:51 -0300 Subject: python + gtk maquinas viejas In-Reply-To: <172699c50712182019jc04b972i47917c52be6277ce@mail.gmail.com> References: <200712190021.49991.ftoledo@docksud.com.ar> <172699c50712182019jc04b972i47917c52be6277ce@mail.gmail.com> Message-ID: <73fa00c90712182221t2cfc5a4bncd75bb30fe82a4e2@mail.gmail.com> Interesante el tema, ya que para aquellos que disponen de algun pocket pc o una jornada como es mi caso, se puede instalar el pocketdos y ensima algunos sistema operativo y un aparatito de hoy en día termina quedando con esa velocidad despues de tanta simulación, estaria bueno para llevar el python y el qt en el bolsillo. 2007/12/19, Milton Galo Patricio Inostroza Aguilera : > > El 19/12/07, Fernando Toledo escribió: > > Hola > > alguien tuvo experiencia de usar python + gtk en windows sobre > algunamaquina > > vieja al estilo pentium 166 + 64Mb? > > yo lo que hice una ves fue instalar XFCE y luego utilizar mi > aplicación desarrollada en pyGTK > > > saludos! > > > > -- > > Dock Sud BBS > > http://www.docksud.com.ar > > telnet://bbs.docksud.com.ar > > > > _______________________________________________ > > Lista de correo Python-es > > http://listas.aditel.org/listinfo/python-es > > FAQ: http://listas.aditel.org/faqpyes > > > > > -- > Milton Inostroza Aguilera > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From javi en bertayjavi.com Wed Dec 19 12:07:17 2007 From: javi en bertayjavi.com (Javi) Date: Wed, 19 Dec 2007 12:07:17 +0100 Subject: Averiguar el =?iso-8859-1?q?tama=F1o_de_la_pantalla?= Message-ID: <4768FB65.7010308@bertayjavi.com> Hola a todos, os cuento mi problema y a ver si alguien me puede ayudar. Estoy haciendo una pequeña aplicacion, para un pc que tiene dos pantallas, en una ( la principal ) es donde se vera el programa y en la otra pantalla quiero que se muestre una ventana con una serie de datos. Hasta aqui todo correcto. Todo esto ya esta hecho y funciona perfectamente, la cuestion esta es que me gustaria que cuando iniciara la aplicacion automaticamente, se me abriera la segunda ventana en el segundo monitor y maximizado, y es eso lo que no consigo. Si lo muevo manualmente y despoues lo maximizo perfecto pero no se como hacerlo que sea automatico.. Alguien me puede aconsejar algo de como hacerlo? Muchas gracias por vuestra ayuda.. Javi. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From gheize en gmail.com Wed Dec 19 13:06:52 2007 From: gheize en gmail.com (Guillermo Heizenreder) Date: Wed, 19 Dec 2007 09:06:52 -0300 Subject: Averiguar el =?ISO-8859-1?Q?tama=F1o?= de la pantalla In-Reply-To: <4768FB65.7010308@bertayjavi.com> References: <4768FB65.7010308@bertayjavi.com> Message-ID: <1198066012.21795.25.camel@localhost> El mié, 19-12-2007 a las 12:07 +0100, Javi escribió: > Si lo muevo manualmente y despoues lo maximizo perfecto pero no se > como hacerlo que sea automatico.. Eso dependera de que librerías gráficas estas usando me parece. yo uso pygkt, y para que mi aplicación al momento de crearse se maximize pongo la siguiente sentencia en el constructor: self.window.maximize() Siendo "self.window" la ventana que quieras maximizar. > Alguien me puede aconsejar algo de como hacerlo? Espero que te sirva. Saludos! -- +--------------------------------- | Heizenreder Guillermo | http://gheize.wordpress.com/ | http://code.google.com/u/gheize/ | http://tipslinux.blogspot.com/ +--------------------------------- ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From carlosfvo en gmail.com Wed Dec 19 15:20:32 2007 From: carlosfvo en gmail.com (carlos villa) Date: Wed, 19 Dec 2007 09:20:32 -0500 Subject: liberia XMLrpclib Message-ID: <629497540712190620x24f29074w5b15e1ce0044a736@mail.gmail.com> buenos dias alguien me puede explicar que hacen estas lineas de codigo de la libreria XMLrpclib estas son las funciones SimpleXMLRPCServer, register_function, serve_forever ???? y si alguien tiene una API de la libreria o donde conseguirla agradeceria mucho... s = SimpleXMLRPCServer(("",8001)) s.register_function(insertar) s.serve_forever() Gracias _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From rubenjarque en gmail.com Wed Dec 19 16:33:50 2007 From: rubenjarque en gmail.com (=?ISO-8859-1?Q?Rub=E9n_Jarque_Torrej=F3n?=) Date: Wed, 19 Dec 2007 16:33:50 +0100 Subject: Problema con utf8 en mysqldb Message-ID: Estoy teniendo problemas con el juego de caractered para realizar inserciones en una base de datos mysql desde python. He buscado y leído bastante sobre ello, pero he llegado a un punto en el que creo que me debería funcionar todo bien y no lo hace. La base de datos usa ut8, al igual que sus tablas, y al igual que sus campos. En python intento ejecutar una insert con texto en ut8 también, pero obtengo el error de fallo a conversión latin-1: UnicodeEncodeError: 'latin-1' codec can't encode character u'\u2018' in position 236: ordinal not in range(256) El script python ejecuta al comienzo 'SET NAMES utf8' Si en la base de datos hago la consulta SHOW VARIABLES LIKE '%char%', obtengo: character_set_client utf8 character_set_connection utf8 character_set_database utf8 character_set_results utf8 character_set_server utf8 character_set_system utf8 Así que no entiendo por qué el script intenta hacer la conversión a latin-1. Si alguien puede echarme una mano con este, le estaría muy agradecido. Un saludo a todos. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From maengora en gmail.com Wed Dec 19 16:57:21 2007 From: maengora en gmail.com (=?ISO-8859-1?Q?Manuel_Enrique_Gonz=E1lez_Ram=EDrez?=) Date: Wed, 19 Dec 2007 10:57:21 -0500 Subject: Problema con utf8 en mysqldb In-Reply-To: References: Message-ID: Ya consulto su servidor de base de datos??? En algunas instalaciones uno no se percata que estos servidores de base de datos se instalan con soporte solo para latin-1 y en otras ocasiones tienes la opcion de elegir el tipo de caracteres soportados. El día 19/12/07, Rubén Jarque Torrejón escribió: > > Estoy teniendo problemas con el juego de caractered para realizar > inserciones en una base de datos mysql desde python. He buscado y leído > bastante sobre ello, pero he llegado a un punto en el que creo que me > debería funcionar todo bien y no lo hace. > > La base de datos usa ut8, al igual que sus tablas, y al igual que sus > campos. En python intento ejecutar una insert con texto en ut8 también, > pero > obtengo el error de fallo a conversión latin-1: > UnicodeEncodeError: 'latin-1' codec can't encode character u'\u2018' in > position 236: ordinal not in range(256) > > El script python ejecuta al comienzo 'SET NAMES utf8' > > Si en la base de datos hago la consulta SHOW VARIABLES LIKE '%char%', > obtengo: > character_set_client utf8 character_set_connection utf8 > character_set_database utf8 character_set_results utf8 > character_set_server utf8 character_set_system utf8 > Así que no entiendo por qué el script intenta hacer la conversión a > latin-1. > > Si alguien puede echarme una mano con este, le estaría muy agradecido. Un > saludo a todos. > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From rubenjarque en gmail.com Wed Dec 19 17:05:26 2007 From: rubenjarque en gmail.com (=?ISO-8859-1?Q?Rub=E9n_Jarque_Torrej=F3n?=) Date: Wed, 19 Dec 2007 17:05:26 +0100 Subject: Problema con utf8 en mysqldb In-Reply-To: References: Message-ID: ¿Eso no está indicado en character_set_server = utf8? Si no es así, ¿cómo lo compruebo? El día 19/12/07, Manuel Enrique González Ramírez escribió: > > Ya consulto su servidor de base de datos??? > > En algunas instalaciones uno no se percata que estos servidores de base de > datos se instalan con soporte solo para latin-1 y en otras ocasiones > tienes > la opcion de elegir el tipo de caracteres soportados. > > El día 19/12/07, Rubén Jarque Torrejón escribió: > > > > Estoy teniendo problemas con el juego de caractered para realizar > > inserciones en una base de datos mysql desde python. He buscado y leído > > bastante sobre ello, pero he llegado a un punto en el que creo que me > > debería funcionar todo bien y no lo hace. > > > > La base de datos usa ut8, al igual que sus tablas, y al igual que sus > > campos. En python intento ejecutar una insert con texto en ut8 también, > > pero > > obtengo el error de fallo a conversión latin-1: > > UnicodeEncodeError: 'latin-1' codec can't encode character u'\u2018' in > > position 236: ordinal not in range(256) > > > > El script python ejecuta al comienzo 'SET NAMES utf8' > > > > Si en la base de datos hago la consulta SHOW VARIABLES LIKE '%char%', > > obtengo: > > character_set_client utf8 character_set_connection utf8 > > character_set_database utf8 character_set_results utf8 > > character_set_server utf8 character_set_system utf8 > > Así que no entiendo por qué el script intenta hacer la conversión a > > latin-1. > > > > Si alguien puede echarme una mano con este, le estaría muy agradecido. > Un > > saludo a todos. > > _______________________________________________ > > Lista de correo Python-es > > http://listas.aditel.org/listinfo/python-es > > FAQ: http://listas.aditel.org/faqpyes > > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From al013193 en alumail.uji.es Wed Dec 19 17:33:07 2007 From: al013193 en alumail.uji.es (Sonia Fas =?iso-8859-1?b?TWlsbOFu?=) Date: Wed, 19 Dec 2007 17:33:07 +0100 Subject: Problema con utf8 en mysqldb In-Reply-To: References: Message-ID: <1198081987.476947c3e3070@webmail.uji.es> Precisamente ayer me tiré yo unas cuantas horas hasta que conseguí solucionar esa historia y todavía no entiendo cómo ni por qué llegó a ir, pero te cuento mi caso por si te sirve. En mi caso no es mysql sino sqlite. A mí me insertaba sin problemas los campos de un formulario, luego hacías un select desde el prompt de la base de datos y aparecían ahí los acentitos y las eñes todos bonicos. Pero cuando trataba de imprimir con python las tablas me daba el error que te da a tí, pese a tener en la cabecera lo de # -*- coding: utf-8 -*- Al final ésto me fue bien: str = variable.encode("utf-8"), donde variable contiene el campo de texto de la base y ya se imprimía str sin problemas. Pero luego en otra función en la que hacía exactamente lo mismo, imprimir campos de la base de datos que tenían acentos y eñes, eso no me iba. ?_? Para ponerte en situación lo que yo hago en ambas funciones es construir una cadena tocha de html que se manda a imprimir (es django, todo esto), por lo que a la hora de ir pegando cosas a esa cadena tengo que ir haciendo cadena+="bla"+str(variable). Pues bien, en esa segunda función la variable con el campo del formulario que contenía acentos la pegaba a la cadena de esa forma, y no iba, me daba tu error. Hacer lo del encode no lo solucionaba. Al final va y por probar ya desesperadamente le quito el str y va. o_o Bueno, espero que te sirva de algo. Un saludo _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From rubenjarque en gmail.com Wed Dec 19 18:37:42 2007 From: rubenjarque en gmail.com (=?ISO-8859-1?Q?Rub=E9n_Jarque_Torrej=F3n?=) Date: Wed, 19 Dec 2007 18:37:42 +0100 Subject: Problema con utf8 en mysqldb In-Reply-To: <1198081987.476947c3e3070@webmail.uji.es> References: <1198081987.476947c3e3070@webmail.uji.es> Message-ID: Gracias por la respuesta Sonia, pero mi problema es al revés. Yo en python genero una cadena utf8, que puedo imprimirla sin problemas. El problema lo tengo al intentar insertarla en la base de datos mysql (de la que puedo leer cadenas utf8), que el driver hace una conversión a latin-1. Yo pensaba que el problema debía estar con el conector de python, pues en la base de datos no tengo problemas para insertar cadenas utf8. Gracias de todos modos. El día 19/12/07, Sonia Fas Millán escribió: > > > Precisamente ayer me tiré yo unas cuantas horas hasta que conseguí > solucionar > esa historia y todavía no entiendo cómo ni por qué llegó a ir, pero te > cuento > mi caso por si te sirve. > En mi caso no es mysql sino sqlite. A mí me insertaba sin problemas los > campos > de un formulario, luego hacías un select desde el prompt de la base de > datos y > aparecían ahí los acentitos y las eñes todos bonicos. Pero cuando trataba > de > imprimir con python las tablas me daba el error que te da a tí, pese a > tener en > la cabecera lo de > # -*- coding: utf-8 -*- > > Al final ésto me fue bien: > > str = variable.encode("utf-8"), donde variable contiene el campo de texto > de la > base y ya se imprimía str sin problemas. > > Pero luego en otra función en la que hacía exactamente lo mismo, imprimir > campos > de la base de datos que tenían acentos y eñes, eso no me iba. ?_? Para > ponerte > en situación lo que yo hago en ambas funciones es construir una cadena > tocha de > html que se manda a imprimir (es django, todo esto), por lo que a la hora > de ir > pegando cosas a esa cadena tengo que ir haciendo > cadena+="bla"+str(variable). > Pues bien, en esa segunda función la variable con el campo del formulario > que > contenía acentos la pegaba a la cadena de esa forma, y no iba, me daba tu > error. Hacer lo del encode no lo solucionaba. Al final va y por probar ya > desesperadamente le quito el str y va. o_o > > Bueno, espero que te sirva de algo. > > Un saludo > > > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From rubenjarque en gmail.com Wed Dec 19 19:06:17 2007 From: rubenjarque en gmail.com (=?ISO-8859-1?Q?Rub=E9n_Jarque_Torrej=F3n?=) Date: Wed, 19 Dec 2007 19:06:17 +0100 Subject: Problema con utf8 en mysqldb In-Reply-To: References: <1198081987.476947c3e3070@webmail.uji.es> Message-ID: He conseguido arreglar mi problema, pero de una forma bastante sucia. En el archivo "cursors.py" del conector mysqldb he encontrado la siguiente línea: charset = db.character_set_name() Comprobando que charset tiene el valor "latin1", tras esa instrucción, aunque no entiendo por qué motivo. Por lo que he añadido: charset = "utf8" A falta de una solución más elegante, dejo esto, por si a alguien le pudiera servir de ayuda. Un saludo. El día 19/12/07, Rubén Jarque Torrejón escribió: > > Gracias por la respuesta Sonia, pero mi problema es al revés. Yo en python > genero una cadena utf8, que puedo imprimirla sin problemas. El problema lo > tengo al intentar insertarla en la base de datos mysql (de la que puedo leer > cadenas utf8), que el driver hace una conversión a latin-1. Yo pensaba que > el problema debía estar con el conector de python, pues en la base de datos > no tengo problemas para insertar cadenas utf8. > > Gracias de todos modos. > > El día 19/12/07, Sonia Fas Millán escribió: > > > > > > Precisamente ayer me tiré yo unas cuantas horas hasta que conseguí > > solucionar > > esa historia y todavía no entiendo cómo ni por qué llegó a ir, pero te > > cuento > > mi caso por si te sirve. > > En mi caso no es mysql sino sqlite. A mí me insertaba sin problemas los > > campos > > de un formulario, luego hacías un select desde el prompt de la base de > > datos y > > aparecían ahí los acentitos y las eñes todos bonicos. Pero cuando > > trataba de > > imprimir con python las tablas me daba el error que te da a tí, pese a > > tener en > > la cabecera lo de > > # -*- coding: utf-8 -*- > > > > Al final ésto me fue bien: > > > > str = variable.encode("utf-8"), donde variable contiene el campo de > > texto de la > > base y ya se imprimía str sin problemas. > > > > Pero luego en otra función en la que hacía exactamente lo mismo, > > imprimir campos > > de la base de datos que tenían acentos y eñes, eso no me iba. ?_? Para > > ponerte > > en situación lo que yo hago en ambas funciones es construir una cadena > > tocha de > > html que se manda a imprimir (es django, todo esto), por lo que a la > > hora de ir > > pegando cosas a esa cadena tengo que ir haciendo > > cadena+="bla"+str(variable). > > Pues bien, en esa segunda función la variable con el campo del > > formulario que > > contenía acentos la pegaba a la cadena de esa forma, y no iba, me daba > > tu > > error. Hacer lo del encode no lo solucionaba. Al final va y por probar > > ya > > desesperadamente le quito el str y va. o_o > > > > Bueno, espero que te sirva de algo. > > > > Un saludo > > > > > > > > _______________________________________________ > > Lista de correo Python-es > > http://listas.aditel.org/listinfo/python-es > > FAQ: http://listas.aditel.org/faqpyes > > > > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From mauroka en gmail.com Wed Dec 19 19:08:38 2007 From: mauroka en gmail.com (=?ISO-8859-1?Q?Mauro_S=E1nchez?=) Date: Wed, 19 Dec 2007 15:08:38 -0300 Subject: Problema con utf8 en mysqldb In-Reply-To: References: <1198081987.476947c3e3070@webmail.uji.es> Message-ID: <3c924a250712191008q75d14f2fn41a6807bdab84169@mail.gmail.com> El 19/12/07, Rubén Jarque Torrejón escribió: > Gracias por la respuesta Sonia, pero mi problema es al revés. Yo en python > genero una cadena utf8, que puedo imprimirla sin problemas. El problema lo > tengo al intentar insertarla en la base de datos mysql (de la que puedo leer > cadenas utf8), que el driver hace una conversión a latin-1. Yo pensaba que > el problema debía estar con el conector de python, pues en la base de datos > no tengo problemas para insertar cadenas utf8. > Efectivamente creo que el problema viene por mysqldb. Prueba agregando esto en la conexión. mibase=MySQLdb.connect(host="mihost", user="usuario", passwd="clave", db="basedatos", charset="utf8?, init_command="set names utf8?) Fijate los parámetros charset e init_command. Saludos. Mauro Sánchez. ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From rubenjarque en gmail.com Wed Dec 19 19:20:42 2007 From: rubenjarque en gmail.com (=?ISO-8859-1?Q?Rub=E9n_Jarque_Torrej=F3n?=) Date: Wed, 19 Dec 2007 19:20:42 +0100 Subject: Problema con utf8 en mysqldb In-Reply-To: <3c924a250712191008q75d14f2fn41a6807bdab84169@mail.gmail.com> References: <1198081987.476947c3e3070@webmail.uji.es> <3c924a250712191008q75d14f2fn41a6807bdab84169@mail.gmail.com> Message-ID: Sí, así sí que funciona. Muchas gracias Mauron. El día 19/12/07, Mauro Sánchez escribió: > > El 19/12/07, Rubén Jarque Torrejón escribió: > > Gracias por la respuesta Sonia, pero mi problema es al revés. Yo en > python > > genero una cadena utf8, que puedo imprimirla sin problemas. El problema > lo > > tengo al intentar insertarla en la base de datos mysql (de la que puedo > leer > > cadenas utf8), que el driver hace una conversión a latin-1. Yo pensaba > que > > el problema debía estar con el conector de python, pues en la base de > datos > > no tengo problemas para insertar cadenas utf8. > > > Efectivamente creo que el problema viene por mysqldb. Prueba agregando > esto en la conexión. > mibase=MySQLdb.connect(host="mihost", user="usuario", passwd="clave", > db="basedatos", charset="utf8?, init_command="set names utf8?) > Fijate los parámetros charset e init_command. > Saludos. > Mauro Sánchez. > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From fredyg en negosat.com Wed Dec 19 17:44:13 2007 From: fredyg en negosat.com (Fredy Gonzales) Date: Wed, 19 Dec 2007 11:44:13 -0500 Subject: python + gtk maquinas viejas References: <200712190021.49991.ftoledo@docksud.com.ar> Message-ID: <008501c8425e$64663cc0$9e19a8c0@gcg.com.pe> Porque no pruebas con xharbour + gtk Puede ser para linux como win95/ win98 / winXP / win Vista ----- Original Message ----- From: "Fernando Toledo" To: "Lista de discusión sobre python en castellano" Sent: Tuesday, December 18, 2007 10:21 PM Subject: [Python-es] python + gtk maquinas viejas > Hola > alguien tuvo experiencia de usar python + gtk en windows sobre > algunamaquina > vieja al estilo pentium 166 + 64Mb? > saludos! > > -- > Dock Sud BBS > http://www.docksud.com.ar > telnet://bbs.docksud.com.ar > -------------------------------------------------------------------------------- _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From ftoledo en docksud.com.ar Wed Dec 19 20:38:37 2007 From: ftoledo en docksud.com.ar (Fernando Toledo) Date: Wed, 19 Dec 2007 16:38:37 -0300 Subject: python + gtk maquinas viejas In-Reply-To: References: <200712190021.49991.ftoledo@docksud.com.ar> Message-ID: <200712191638.37967.ftoledo@docksud.com.ar> El Mié 19 Dic 2007, Gabriel Genellina escribió: > En Wed, 19 Dec 2007 00:21:49 -0300, Fernando Toledo > > escribió: > > alguien tuvo experiencia de usar python + gtk en windows sobre > > algunamaquina > > vieja al estilo pentium 166 + 64Mb? > > Yo tengo aplicaciones Pytthon+wxwidgets (no gtk) andando en una Pentium > 233 128MB con Win98. Creo que un tiempo atrás esa PC tenia 64Mb. Funciona > todo sin problemas... base de datos estas usando algo? sqlite? -- Dock Sud BBS http://www.docksud.com.ar telnet://bbs.docksud.com.ar ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part. URL: ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From ftoledo en docksud.com.ar Wed Dec 19 20:40:43 2007 From: ftoledo en docksud.com.ar (Fernando Toledo) Date: Wed, 19 Dec 2007 16:40:43 -0300 Subject: python + gtk maquinas viejas In-Reply-To: <008501c8425e$64663cc0$9e19a8c0@gcg.com.pe> References: <200712190021.49991.ftoledo@docksud.com.ar> <008501c8425e$64663cc0$9e19a8c0@gcg.com.pe> Message-ID: <200712191640.43840.ftoledo@docksud.com.ar> El Mié 19 Dic 2007, Fredy Gonzales escribió: > Porque no pruebas con xharbour + gtk > > Puede ser para linux como win95/ win98 / winXP / win Vista > > > > ----- Original Message ----- > From: "Fernando Toledo" > To: "Lista de discusión sobre python en castellano" > Sent: Tuesday, December 18, 2007 10:21 PM > Subject: [Python-es] python + gtk maquinas viejas > > > Hola > > alguien tuvo experiencia de usar python + gtk en windows sobre > > algunamaquina > > vieja al estilo pentium 166 + 64Mb? > > saludos! > > > porque quiero probar python como lenaguaje gracias igual lo estoy viendo! -- Dock Sud BBS http://www.docksud.com.ar telnet://bbs.docksud.com.ar ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part. URL: ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From graciosillo21 en yahoo.es Wed Dec 19 20:46:11 2007 From: graciosillo21 en yahoo.es (isaac jarquin medina) Date: Wed, 19 Dec 2007 19:46:11 +0000 (GMT) Subject: ayuda!!!! Message-ID: <257549.25582.qm@web25804.mail.ukl.yahoo.com> hey chicos necesito ayuda, estoy intentando usar librerias VTK con python, y no me deja, todo esto esta corriendo sobre una plataforma windows, concretamente windows vista, lo he intentado añadiendo al PATH, las librerias VTK usando las variables de entorno pero tampoco funciona.me han dicho que igual tengo que complilar el VTK, en caso de que sea eso, como lo hago. gracias por la ayuda. ______________________________________________ ¿Chef por primera vez? Sé un mejor Cocinillas. http://es.answers.yahoo.com/info/welcome _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From kernel.no.found en gmail.com Wed Dec 19 21:07:01 2007 From: kernel.no.found en gmail.com (=?ISO-8859-1?Q?Juan_Jos=E9_Alonso.?=) Date: Wed, 19 Dec 2007 21:07:01 +0100 Subject: Un calendario (Modulo calendar?) Message-ID: <117d6e170712191207x445a13e4hd38e033865e6e525@mail.gmail.com> Hola, necesito una clase calendario donde poder ir pasando sobre cada uno de los dias y avanzar en meses y años, yo tenia mi propia clase hecha rapidamente pero no me parece una forma muy limpia la mia, por no decir que cuanto menos codigo tenga mi app mejor, actualmente uso esto... (esa clase contiene lineas que lo comunican con la lib pygame, debido a que esto es para un videojuego) http://dpaste.com/hold/28581/ He estado mirando como hacerlo con algun modulo python y he encontrado calendar he estado revisando su doc y demas pero no me ha quedado claro como debo utilizarla para conseguir lo que he descrito antes. Si alguien que haya usado este modulo antes y pueda indicarme, se lo agradeceria. Un saludo y mil gracias -- Juan José Alonso. KarlsBerg. eMail: kernel.no.found en gmail.com MSN: kernel.no.found en gmail.com _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From slara en udec.cl Wed Dec 19 22:01:34 2007 From: slara en udec.cl (Sebastian Lara Menares) Date: Wed, 19 Dec 2007 18:01:34 -0300 Subject: liberia XMLrpclib In-Reply-To: <629497540712190620x24f29074w5b15e1ce0044a736@mail.gmail.com> References: <629497540712190620x24f29074w5b15e1ce0044a736@mail.gmail.com> Message-ID: <476986AE.7060900@udec.cl> carlos villa wrote: > buenos dias alguien me puede explicar que hacen estas lineas de codigo > de la libreria > XMLrpclib estas son las funciones SimpleXMLRPCServer, > register_function, serve_forever ???? > y si alguien tiene una API de la libreria o donde conseguirla > agradeceria mucho... > > s = SimpleXMLRPCServer(("",8001)) > s.register_function(insertar) > s.serve_forever() > Hola, con register_function() puedes dejar funciones disponibles como servicios. Esto también se puede hacer con register_instance(), con lo cual registras instancias de una clase para que estén también disponibles. serve_forever() es un metodo de la instancia del servidor que lo mantiene en un loop infinito esperando eventos. por ejemplo, un simple servidor sería: ------------------------------ import SimpleXMLRPCServer def adios(): return 'Adios!' class Functions(object): def __init__(self): pass def imprimir(argumento): """ Imprime el argumento en pantalla """ return argumento if __name__ == '__main__': server = SimpleXMLRPCServer.SimpleXMLRPCServer("localhost", 8001) server.register_instance(Functions()) server.register_function(adios) server.serve_forever() ----------------------------------- Esto lo puedes probar con un pequeño cliente o directamente desde el interprete. > import xmlrpclib > server = xmlrpclib.Server('http://localhost:8001') > print server.imprimir('Hola') Hola > print server.adios() Adios!! Hasta por ahí debería funcionar. El resto está en la documentación de las bibliotecas de Python para el servidor[1] y el cliente[2]. Todo el código de como están implementadas estas bibliotecas esta en la distribución de Python. [1]: http://docs.python.org/lib/module-SimpleXMLRPCServer.html [2]: http://docs.python.org/lib/module-xmlrpclib.html -- Sebastián Lara Menares Departamento Ingeniería Eléctrica Universidad de Concepción _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From slara en udec.cl Wed Dec 19 22:10:48 2007 From: slara en udec.cl (Sebastian Lara Menares) Date: Wed, 19 Dec 2007 18:10:48 -0300 Subject: liberia XMLrpclib In-Reply-To: <476986AE.7060900@udec.cl> References: <629497540712190620x24f29074w5b15e1ce0044a736@mail.gmail.com> <476986AE.7060900@udec.cl> Message-ID: <476988D8.1040902@udec.cl> Sebastian Lara Menares wrote: > carlos villa wrote: >> buenos dias alguien me puede explicar que hacen estas lineas de codigo >> de la libreria >> XMLrpclib estas son las funciones SimpleXMLRPCServer, >> register_function, serve_forever ???? >> y si alguien tiene una API de la libreria o donde conseguirla >> agradeceria mucho... >> >> s = SimpleXMLRPCServer(("",8001)) >> s.register_function(insertar) >> s.serve_forever() >> > Hola, > con register_function() puedes dejar funciones disponibles como > servicios. Esto también se puede hacer con register_instance(), con lo > cual registras instancias de una clase para que estén también > disponibles. serve_forever() es un metodo de la instancia del servidor > que lo mantiene en un loop infinito esperando eventos. > > por ejemplo, un simple servidor sería: > > ------------------------------ > import SimpleXMLRPCServer > > def adios(): > return 'Adios!' > > class Functions(object): > def __init__(self): > pass > def imprimir(argumento): > """ Imprime el argumento en pantalla """ > return argumento > if __name__ == '__main__': > server = SimpleXMLRPCServer.SimpleXMLRPCServer("localhost", 8001) > server.register_instance(Functions()) > server.register_function(adios) > server.serve_forever() hmm, revisando un poco el método imprimír deberia estar definido como def imprimir(self, argumento): Lo siento por el error :P Nos vemos -- Sebastián Lara Menares Departamento Ingeniería Eléctrica Universidad de Concepción _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From gagsl-py2 en yahoo.com.ar Thu Dec 20 03:47:11 2007 From: gagsl-py2 en yahoo.com.ar (Gabriel Genellina) Date: Wed, 19 Dec 2007 23:47:11 -0300 Subject: Un calendario (Modulo calendar?) References: <117d6e170712191207x445a13e4hd38e033865e6e525@mail.gmail.com> Message-ID: En Wed, 19 Dec 2007 17:07:01 -0300, Juan José Alonso. escribió: > Hola, necesito una clase calendario donde poder ir pasando sobre cada > uno de > los dias y avanzar en meses y años, yo tenia mi propia clase hecha > rapidamente pero no me parece una forma muy limpia la mia, por no decir > que > cuanto menos codigo tenga mi app mejor, actualmente uso esto... (esa > clase > contiene lineas que lo comunican con la lib pygame, debido a que esto es > para un videojuego) > > http://dpaste.com/hold/28581/ > > > He estado mirando como hacerlo con algun modulo python y he encontrado > calendar he estado revisando su doc y demas pero no me ha quedado claro > como > debo utilizarla para conseguir lo que he descrito antes. Los nombres de los meses se obtienen de calendar.month_abbr (ojo que empiezan en 1, no en 0). Podrias mantener la estructura actual del codigo y sacar esas preguntas de si es el 28 o el 31, usando calendar.monthrange(anio, mes) que te devuelve en el segundo lugar, los dias correspondientes a ese mes (de paso, maneja años bisiestos). Pero me parece mas facil mantener un objeto datetime para la fecha, e ir sumandole un dia: fecha += timedelta(days=1) Y de ahi deducis todos los demas atributos: fecha.year, fecha.month, fecha.day, las estaciones (que si yo jugara las vería al revés). -- Gabriel Genellina ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From rapto en arrakis.es Thu Dec 20 11:45:09 2007 From: rapto en arrakis.es (Marcos =?ISO-8859-1?Q?S=E1nchez?= Provencio) Date: Thu, 20 Dec 2007 11:45:09 +0100 Subject: applets y python en aplicacion web In-Reply-To: References: Message-ID: <1198147510.8819.12.camel@savin> Mira tb esto: http://teethgrinder.co.uk/open-flash-chart/ El lun, 17-12-2007 a las 21:41 +0100, Natali Melgarejo Diaz escribió: > Hola a todos, > > Estamos por empezar una aplicación y nos hemos planteado lo sgte: > > Podriamos realizar los cálculos de la aplicación web en el servidor > utilizando las librerias de Python y luego en cliente utilizar alguna > aplicacion en Java que nos procese los datos devueltos por el > servidor?? Lo que pasa es que estos datos se transforman en graficas > pero queremos que las graficas se generen en cliente. > Tengo entendido que con un java applet ya podriamos usar librerias en > java (q es lo q qeremos) q nos permitan la generación de gráficas en > el ordenador del cliente. Es posible esto? Alguno de uds lo ha hecho > ya? > > Saludos a todos ;) > > ********Natali******** > > pd: Markiños, ya se q no estas en la lista pero te lo envio por q > eres un as en Java :)) ...besos chico!! > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From carlosfvo en gmail.com Thu Dec 20 14:06:42 2007 From: carlosfvo en gmail.com (carlos villa) Date: Thu, 20 Dec 2007 08:06:42 -0500 Subject: Fwd: liberia XMLrpclib In-Reply-To: <476988D8.1040902@udec.cl> References: <629497540712190620x24f29074w5b15e1ce0044a736@mail.gmail.com> <476986AE.7060900@udec.cl> <476988D8.1040902@udec.cl> Message-ID: <629497540712200506j42fb5356wac90dcad84bf1945@mail.gmail.com> genial muchas gracias. por la explicacion. realmente no encontraba esa documentacion.. tengo otra duda estoy lanzando un web service dentro de otro web service. alguien sabe si esta implementacion es posible o si la conexion queda abierta o algunos de esos problemas de memoria..??? hay alguna forma de liberar la memoria o de mejorar la implemetacion gracias.... desde una shell de python invoco > import xmlrpclib > server = xmlrpclib.Server('http://localhost:8001') > print server.imprimir() dentro de mi metodo imprimir tengo: def imprimir (self): import xmlrpclib server2 = xmlrpclib.Server('http://localhost:8001/carpeta1') return server2.imprimirotra() def imprimirotra(self): return "hola" _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From carlosfvo en gmail.com Thu Dec 20 14:09:40 2007 From: carlosfvo en gmail.com (carlos villa) Date: Thu, 20 Dec 2007 08:09:40 -0500 Subject: ayuda web service python. Message-ID: <629497540712200509x21cb995bl8a31b8733eacd94f@mail.gmail.com> tengo otra duda estoy lanzando un web service dentro de otro web service. alguien sabe si esta implementacion es posible o si la conexion queda abierta o algunos de esos problemas de memoria..??? hay alguna forma de liberar la memoria o de mejorar la implemetacion gracias.... desde una shell de python invoco: > import xmlrpclib > server = xmlrpclib.Server('http://localhost:8001') > print server.imprimir() dentro de mi metodo imprimir tengo: def imprimir (self): import xmlrpclib server2 = xmlrpclib.Server('http://localhost:8001/carpeta1') return server2.imprimirotra() otra la funcion final: def imprimirotra(self): return "hola" _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From subscripcions en trespams.com Thu Dec 20 15:17:47 2007 From: subscripcions en trespams.com (Antoni Aloy) Date: Thu, 20 Dec 2007 15:17:47 +0100 Subject: ayuda web service python. In-Reply-To: <629497540712200509x21cb995bl8a31b8733eacd94f@mail.gmail.com> References: <629497540712200509x21cb995bl8a31b8733eacd94f@mail.gmail.com> Message-ID: <200712201517.48062.subscripcions@trespams.com> El Dijous, 20-12-07 a les 14:09 escrigueres: > tengo otra duda estoy lanzando un web service dentro de otro web > service. alguien sabe si esta implementacion es posible o si la > conexion queda abierta o algunos de esos problemas de memoria..??? hay > alguna forma de liberar la memoria o de mejorar la implemetacion > gracias.... > > desde una shell de python invoco: > > import xmlrpclib > > server = xmlrpclib.Server('http://localhost:8001') > > print server.imprimir() > > dentro de mi metodo imprimir tengo: > > def imprimir (self): > import xmlrpclib > server2 = xmlrpclib.Server('http://localhost:8001/carpeta1') > return server2.imprimirotra() > > otra la funcion final: > > def imprimirotra(self): > return "hola" > _______________________________________________ uff! Qué feo queda eso! Debe haber una buena razón, seguro, pero yo no la veo. ¿Qué razón hay para no llamar al servicio "que toca" cada vez? -- Antoni Aloy López Binissalem - Mallorca http://trespams.com Soci de bulma #34 _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From minoztro en gmail.com Thu Dec 20 16:20:03 2007 From: minoztro en gmail.com (Milton Galo Patricio Inostroza Aguilera) Date: Thu, 20 Dec 2007 12:20:03 -0300 Subject: Cerrar un form desde otro form In-Reply-To: References: Message-ID: <172699c50712200720r59df9dd3p61eba0ea3f2b6d19@mail.gmail.com> El 14/12/07, Manuel Enrique González Ramírez escribió: > Hola a tod en s. > > Queria saber como teniendo dos formularios abiertos (form_A y form_B, este > ultimo posee un boton bt_cerrar) puedo cerrar por ejemplo desde el form_B el > form_A. Qué librería estás utilizando??..cada form es una ventana? > > O cómo destruir todos los formularios abiertos con un solo boton. > > Con self.Close() solo me cierra la ventana que tengo activa y si ubico un > self.Destroy() me cierra todas las ventanas una vez ejecuto el programa > (mejor dicho ni siquiera me deja ver los forms) Puedes registrar cada vez que construyas un form en una estructura de datos {lista, diccionario} en la cual almacenes la referencia a ese objeto y luego sólo iteras sobre la estructura y los cierras todos > > Otra cosita. > > Alguien sabe porque no funciona el setfocus desde los notebook de visualwx > ejemplo del codigo que no me funciona: ajá! supongo que utilizas visualwx para también hacer los forms > > key = event.GetKeyCode() > if key==13: > self.txt_apellido.SetFocus() > > > De antemano muchas gracias > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Milton Inostroza Aguilera _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From carlosfvo en gmail.com Thu Dec 20 16:28:28 2007 From: carlosfvo en gmail.com (carlos villa) Date: Thu, 20 Dec 2007 10:28:28 -0500 Subject: Fwd: ayuda web service python. In-Reply-To: <200712201517.48062.subscripcions@trespams.com> References: <629497540712200509x21cb995bl8a31b8733eacd94f@mail.gmail.com> <200712201517.48062.subscripcions@trespams.com> Message-ID: <629497540712200728u5d309019jf0d88577d0b150b1@mail.gmail.com> si es una idea bien rara pero me pidieron implementarla...con la idea de que las aplicaciones compartan los metodos por web service.. si hay alguna otra manera de implementar por favor diganme. gracias. ---------- Forwarded message ---------- From: Antoni Aloy Date: 20-dic-2007 9:17 Subject: Re: [Python-es] ayuda web service python. To: Lista de discusión sobre python en castellano El Dijous, 20-12-07 a les 14:09 escrigueres: > tengo otra duda estoy lanzando un web service dentro de otro web > service. alguien sabe si esta implementacion es posible o si la > conexion queda abierta o algunos de esos problemas de memoria..??? hay > alguna forma de liberar la memoria o de mejorar la implemetacion > gracias.... > > desde una shell de python invoco: > > import xmlrpclib > > server = xmlrpclib.Server('http://localhost:8001') > > print server.imprimir() > > dentro de mi metodo imprimir tengo: > > def imprimir (self): > import xmlrpclib > server2 = xmlrpclib.Server('http://localhost:8001/carpeta1') > return server2.imprimirotra() > > otra la funcion final: > > def imprimirotra(self): > return "hola" > _______________________________________________ uff! Qué feo queda eso! Debe haber una buena razón, seguro, pero yo no la veo. ¿Qué razón hay para no llamar al servicio "que toca" cada vez? -- Antoni Aloy López Binissalem - Mallorca http://trespams.com Soci de bulma #34 _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From antonio.beamud en linkend.net Thu Dec 20 16:41:16 2007 From: antonio.beamud en linkend.net (Antonio Beamud Montero) Date: Thu, 20 Dec 2007 16:41:16 +0100 Subject: ayuda web service python. In-Reply-To: <629497540712200509x21cb995bl8a31b8733eacd94f@mail.gmail.com> References: <629497540712200509x21cb995bl8a31b8733eacd94f@mail.gmail.com> Message-ID: <1198165281.5486.26.camel@lujuria.linkend.net> El jue, 20-12-2007 a las 08:09 -0500, carlos villa escribió: > tengo otra duda estoy lanzando un web service dentro de otro web > service. alguien sabe si esta implementacion es posible o si la > conexion queda abierta o algunos de esos problemas de memoria..??? hay > alguna forma de liberar la memoria o de mejorar la implemetacion > gracias.... Está bien así, yo optaría por una implementación asíncrona (mirate twistematrix), pero esta implementación no debe darte ningún problema, ya que el servidor liberará los recursos al terminar cada llamada... Suele ser bastante habitual este tipo de estrategias cuando se decide que todo debe operar mediante web services y a veces tienes que unificar diferentes llamadas a diferentes servicios internos en un solo interfaz... Un saludo > desde una shell de python invoco: > > > import xmlrpclib > > server = xmlrpclib.Server('http://localhost:8001') > > print server.imprimir() > > dentro de mi metodo imprimir tengo: > > def imprimir (self): > import xmlrpclib > server2 = xmlrpclib.Server('http://localhost:8001/carpeta1') > return server2.imprimirotra() > > otra la funcion final: > > def imprimirotra(self): > return "hola" > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From maengora en gmail.com Thu Dec 20 16:53:40 2007 From: maengora en gmail.com (=?ISO-8859-1?Q?Manuel_Enrique_Gonz=E1lez_Ram=EDrez?=) Date: Thu, 20 Dec 2007 10:53:40 -0500 Subject: Cerrar un form desde otro form In-Reply-To: <172699c50712200720r59df9dd3p61eba0ea3f2b6d19@mail.gmail.com> References: <172699c50712200720r59df9dd3p61eba0ea3f2b6d19@mail.gmail.com> Message-ID: Aja! correcto, utilizo VisualWx y cada form es un MdiChil. De igual forma también me gustaría poder copiar unos datos visualizados en el Form_B al Form_A. Las librerias pues... las wx. No me queda claro sobre como pasar el foco dentro del notebook y el control (algo con pestanas parecido a lo del navegador mozilla) de Visualwx. El día 20/12/07, Milton Galo Patricio Inostroza Aguilera escribió: > > El 14/12/07, Manuel Enrique González Ramírez > escribió: > > Hola a tod en s. > > > > Queria saber como teniendo dos formularios abiertos (form_A y form_B, > este > > ultimo posee un boton bt_cerrar) puedo cerrar por ejemplo desde el > form_B el > > form_A. > > Qué librería estás utilizando??..cada form es una ventana? > > > > > O cómo destruir todos los formularios abiertos con un solo boton. > > > > Con self.Close() solo me cierra la ventana que tengo activa y si ubico > un > > self.Destroy() me cierra todas las ventanas una vez ejecuto el programa > > (mejor dicho ni siquiera me deja ver los forms) > > Puedes registrar cada vez que construyas un form en una estructura de > datos {lista, diccionario} en la cual almacenes la referencia a ese > objeto y luego sólo iteras sobre la estructura y los cierras todos > > > > > Otra cosita. > > > > Alguien sabe porque no funciona el setfocus desde los notebook de > visualwx > > ejemplo del codigo que no me funciona: > > ajá! supongo que utilizas visualwx para también hacer los forms > > > > > key = event.GetKeyCode() > > if key==13: > > self.txt_apellido.SetFocus() > > > > > > De antemano muchas gracias > > _______________________________________________ > > Lista de correo Python-es > > http://listas.aditel.org/listinfo/python-es > > FAQ: http://listas.aditel.org/faqpyes > > > > > -- > Milton Inostroza Aguilera > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From carlosfvo en gmail.com Thu Dec 20 23:53:31 2007 From: carlosfvo en gmail.com (carlos villa) Date: Thu, 20 Dec 2007 17:53:31 -0500 Subject: eliminar caracter \n Message-ID: <629497540712201453m7b66435rdc36785dcfa0d4f3@mail.gmail.com> buenas tardes, tengo un problema y es que necesito eliminar ciertos caracteres como el \n, \\n y otros como por eje estos que se ve aqui. \\n \\n estoy utilizando este T=temp.replace("\\n","") pero no me funciona con los caracteres especiales como el \n si alguien sabe como agradeceria la ayuda Gracias. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From markuz en islascruz.org Fri Dec 21 00:13:23 2007 From: markuz en islascruz.org (Marco Antonio Islas Cruz) Date: Thu, 20 Dec 2007 17:13:23 -0600 Subject: eliminar caracter \n In-Reply-To: <629497540712201453m7b66435rdc36785dcfa0d4f3@mail.gmail.com> References: <629497540712201453m7b66435rdc36785dcfa0d4f3@mail.gmail.com> Message-ID: <1198192403.7597.18.camel@cucusa> Te recomendaria expresiones regulares, pero si ya tienes un problema, con expresiones regulares tendras dos. On Thu, 2007-12-20 at 17:53 -0500, carlos villa wrote: > buenas tardes, tengo un problema y es que necesito eliminar ciertos > caracteres como > el \n, \\n y otros como por eje estos que se ve aqui. > > \\n \\n > estoy utilizando este > > T=temp.replace("\\n","") > > pero no me funciona con los caracteres especiales como el \n > > si alguien sabe como agradeceria la ayuda > > Gracias. > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes -- <--Linux... Because I'm Free--> Marco Antonio Islas Cruz "Markuz" Linux User #280229 markuz en islascruz.org markuz en unixmexico.org markuz en linuxpozarica.com marco.islas en gmail.com islacruz en yahoo.com http://www.islascruz.org http://sourceforge.net/projects/gpkg/ http://www.linuxpozarica.com ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part URL: ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pepe en diselpro.com Fri Dec 21 09:43:26 2007 From: pepe en diselpro.com (Pepe Aracil) Date: Fri, 21 Dec 2007 09:43:26 +0100 Subject: eliminar caracter \n In-Reply-To: <629497540712201453m7b66435rdc36785dcfa0d4f3@mail.gmail.com> References: <629497540712201453m7b66435rdc36785dcfa0d4f3@mail.gmail.com> Message-ID: <476B7CAE.2050606@diselpro.com> Ejemplo: >>>"Hola\\nAdios".replace("\\n","") 'HolaAdios' Puedes anidar varios replaces para eliminar cadenas distintas: Ejemplo: >>>"Hola\\nAdios\n".replace("\\n","").replace("\n","") 'HolaAdios' Aunque si la cosa es más complicada, te recomiendo que uses el módulo de expresiones regulares. Saludos. carlos villa escribió: > buenas tardes, tengo un problema y es que necesito eliminar ciertos > caracteres como > el \n, \\n y otros como por eje estos que se ve aqui. > > \\n \\n > estoy utilizando este > > T=temp.replace("\\n","") > > pero no me funciona con los caracteres especiales como el \n > > si alguien sabe como agradeceria la ayuda > > Gracias. > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From danigm en gmail.com Fri Dec 21 10:53:03 2007 From: danigm en gmail.com (Daniel Garcia Moreno) Date: Fri, 21 Dec 2007 10:53:03 +0100 Subject: Desarrollo web con python Message-ID: <1198230783.8663.5.camel@localhost.localdomain> Hola, estoy considerando hacer una aplicación web en python, pero no encuentro una forma simple de hacerlo. He visto por ahí que está Django, pero es algo muy complejo para lo que yo lo quiero. La única programación web que he hecho ha sido con php, y buscaba algo parecido. Ayer encontré algo sobre psp (python services provider), pero no he llegado a conseguir que funcionara bien, no he conseguido importar mis propios módulos python. Tengo instalado apache+mod_python, pero tampoco he conseguido configurarlo para que me ejecute cualquier fichero .py, al estilo cgi, que creo que sería la forma más fácil para empezar a implementar. Si alguien pudiera explicarme cómo se configura el mod_python para conseguir esto, se lo agradecería mucho. ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: Esta parte del mensaje está firmada digitalmente URL: ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From a.porrua en gmail.com Fri Dec 21 17:24:28 2007 From: a.porrua en gmail.com (tny) Date: Fri, 21 Dec 2007 17:24:28 +0100 Subject: eliminar caracter \n In-Reply-To: <476B7CAE.2050606@diselpro.com> References: <629497540712201453m7b66435rdc36785dcfa0d4f3@mail.gmail.com> <476B7CAE.2050606@diselpro.com> Message-ID: <1198254268.5913.4.camel@skynet> El vie, 21-12-2007 a las 09:43 +0100, Pepe Aracil escribió: CARACTERES_A_BORRAR=['\\n','\n','añadir aquí el resto de caracteres','...'] def borrar_caracteres(texto): for caracter in CARACTERES_A_BORRAR: texto=texto.replace(caracter,"") return texto ya-ta? A mí si me funciona con los caracteres de escape (\cosa) > Ejemplo: > > >>>"Hola\\nAdios".replace("\\n","") > 'HolaAdios' > > Puedes anidar varios replaces para eliminar cadenas distintas: > > Ejemplo: > >>>"Hola\\nAdios\n".replace("\\n","").replace("\n","") > 'HolaAdios' > > Aunque si la cosa es más complicada, te recomiendo que uses > el módulo de expresiones regulares. > > Saludos. > > > > carlos villa escribió: > > buenas tardes, tengo un problema y es que necesito eliminar ciertos > > caracteres como > > el \n, \\n y otros como por eje estos que se ve aqui. > > > > \\n \\n > > estoy utilizando este > > > > T=temp.replace("\\n","") > > > > pero no me funciona con los caracteres especiales como el \n > > > > si alguien sabe como agradeceria la ayuda > > > > Gracias. > > _______________________________________________ > > Lista de correo Python-es > > http://listas.aditel.org/listinfo/python-es > > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From listas en guimi.net Fri Dec 21 12:45:04 2007 From: listas en guimi.net (Guimi) Date: Fri, 21 Dec 2007 12:45:04 +0100 Subject: Guardar y recuperar imagenes en BBDD Message-ID: Hola, quiero guardar imágenes en una BBDD MySQL. No una referencia a la imágen, a su ubicación en el disco duro, sino guardar la propia imagen en la base de datos. Para ello he creado una tabla de prueba con un campo BLOB para la imagen, un campo VARCHAR para el modo de la imagen y dos campos para el ancho y el alto. Guardo la imagen con un código parecido al siguiente: ---------------- from PIL import Image (...) imagen = Image.open('prueba.bmp') imagenStr = imagen.tostring() imagenMode = imagen.mode imagenSize = imagen.size miCursor.execute("insert into prueba (bin, mode, width, height) values ( %s, \""+imagenMode+"\", "+str(imagenSize[0])+", "+str(imagenSize[1])+" ) ", imagenStr) (...) #Para recuperar la imagen intento: imagen2 = Image.fromstring(imagenMode, imagenSize, imagenStr) cajaScroll.add(imagen2) # Esto falla porque espera un objeto tipo gtk.Image # No se como generar un objeto gtk.Image desde un objeto Image (de PIL) ---------------- Tambien he hecho pruebas con StringIO, con gtk.Image... no se por donde tirar... ¿Alguien conoce algún tutorial o alguna pista? ¿Alguien tiene algún código funcional de guardado y recuperación de imagenes en BBDD? Muchas gracias Saludos Güimi http://guimi.net _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pepe en diselpro.com Fri Dec 21 12:47:17 2007 From: pepe en diselpro.com (Pepe Aracil) Date: Fri, 21 Dec 2007 12:47:17 +0100 Subject: eliminar caracter \n In-Reply-To: <1198254268.5913.4.camel@skynet> References: <629497540712201453m7b66435rdc36785dcfa0d4f3@mail.gmail.com> <476B7CAE.2050606@diselpro.com> <1198254268.5913.4.camel@skynet> Message-ID: <476BA7C5.7060204@diselpro.com> ¿Me estas respondiendo a mi o a Carlos Villa? Salud. tny escribió: > El vie, 21-12-2007 a las 09:43 +0100, Pepe Aracil escribió: > > CARACTERES_A_BORRAR=['\\n','\n','añadir aquí el resto de > caracteres','...'] > > def borrar_caracteres(texto): > for caracter in CARACTERES_A_BORRAR: > texto=texto.replace(caracter,"") > return texto > > ya-ta? > > A mí si me funciona con los caracteres de escape (\cosa) > > >> Ejemplo: >> >> >>>"Hola\\nAdios".replace("\\n","") >> 'HolaAdios' >> >> Puedes anidar varios replaces para eliminar cadenas distintas: >> >> Ejemplo: >> >>>"Hola\\nAdios\n".replace("\\n","").replace("\n","") >> 'HolaAdios' >> >> Aunque si la cosa es más complicada, te recomiendo que uses >> el módulo de expresiones regulares. >> >> Saludos. >> >> >> >> carlos villa escribió: >>> buenas tardes, tengo un problema y es que necesito eliminar ciertos >>> caracteres como >>> el \n, \\n y otros como por eje estos que se ve aqui. >>> >>> \\n \\n >>> estoy utilizando este >>> >>> T=temp.replace("\\n","") >>> >>> pero no me funciona con los caracteres especiales como el \n >>> >>> si alguien sabe como agradeceria la ayuda >>> >>> Gracias. >>> _______________________________________________ >>> Lista de correo Python-es >>> http://listas.aditel.org/listinfo/python-es >>> FAQ: http://listas.aditel.org/faqpyes >> _______________________________________________ >> Lista de correo Python-es >> http://listas.aditel.org/listinfo/python-es >> FAQ: http://listas.aditel.org/faqpyes > > > ------------------------------------------------------------------------ > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From vitojph en gmail.com Fri Dec 21 13:36:21 2007 From: vitojph en gmail.com (=?UTF-8?Q?V=C3=ADctor?=) Date: Fri, 21 Dec 2007 13:36:21 +0100 Subject: Ordenar instancias comparando diversos atributos Message-ID: ¡Hola a todos! Necesito ordenar una lista de instancias de la misma clase comparando diversos atributos. Os simplifico el problema: >>> class Persona(object): ... def __init__(self, edad=None, altura=None, peso=None): ... self.edad = edad ... self.altura = altura ... self.peso = peso ... >>> personas = [] >>> personas.append( Persona(edad=1, altura=50, peso=4500) ) >>> personas.append( Persona(edad=10, altura=135, peso=45000) ) >>> personas.append( Persona(edad=10, altura=136, peso=42000) ) >>> personas.append( Persona(edad=10, altura=136, peso=46000) ) En primer lugar, me gustaría ordenar a la gente por edad. En caso de que la edad coincida, las ordeno por altura y en último caso, por peso. ¿Cómo puedo implementarlo? Hasta el momento, sólo sé como ordenar comparando la edad. >>> def compara(p1, p2): ... if p1.edad < p2.edad: return 1 ... elif p1.edad == p2.edad: return 0 ... else: return -1 ¿Dónde defino el resto de comparaciones? ¿En la misma función o en funciones separadas? Gracias de antemano y un saludo. -- Víctor Peinado | NLP & IR Group - UNED | http://nlp.uned.es/~victor Tel (+34) 91 398 8106 Skype/GTalk: vitojph ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pyarnau en gmail.com Fri Dec 21 13:45:43 2007 From: pyarnau en gmail.com (Arnau Sanchez) Date: Fri, 21 Dec 2007 13:45:43 +0100 Subject: Ordenar instancias comparando diversos atributos In-Reply-To: References: Message-ID: <476BB577.6050309@gmail.com> Víctor escribió: >>>> personas = [] >>>> personas.append( Persona(edad=1, altura=50, peso=4500) ) >>>> personas.append( Persona(edad=10, altura=135, peso=45000) ) >>>> personas.append( Persona(edad=10, altura=136, peso=42000) ) >>>> personas.append( Persona(edad=10, altura=136, peso=46000) ) Un comentario... para un código final yo te recomendaría que separes más claramente datos y código: datos_personas = [ (1, 50, 4500), (10, 135, 45000), ..... ] .... personas = [Persona(edad=edad, altura=altura, peso=peso) for (edad, altura, peso) in datos_personas] > En primer lugar, me gustaría ordenar a la gente por edad. En caso de > que la edad coincida, las ordeno por altura y en último caso, por > peso. ¿Cómo puedo implementarlo? Hasta el momento, sólo sé como > ordenar comparando la edad. > >>>> def compara(p1, p2): > ... if p1.edad < p2.edad: return 1 > ... elif p1.edad == p2.edad: return 0 > ... else: return -1 Es más fácil que eso: import operator sorted(lista_de_personas, key=operator.attrgetter("edad")) sort/sorted, según te interese in-place o no. arnau ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From a.porrua en gmail.com Fri Dec 21 19:41:42 2007 From: a.porrua en gmail.com (tny) Date: Fri, 21 Dec 2007 19:41:42 +0100 Subject: eliminar caracter \n In-Reply-To: <476BA7C5.7060204@diselpro.com> References: <629497540712201453m7b66435rdc36785dcfa0d4f3@mail.gmail.com> <476B7CAE.2050606@diselpro.com> <1198254268.5913.4.camel@skynet> <476BA7C5.7060204@diselpro.com> Message-ID: <1198262502.5913.48.camel@skynet> a carlos El vie, 21-12-2007 a las 12:47 +0100, Pepe Aracil escribió: > ¿Me estas respondiendo a mi o a Carlos Villa? > > Salud. > A Carlos Villa, en particular y al universo poblado en general. > > tny escribió: > > El vie, 21-12-2007 a las 09:43 +0100, Pepe Aracil escribió: > > > > CARACTERES_A_BORRAR=['\\n','\n','añadir aquí el resto de > > caracteres','...'] > > > > def borrar_caracteres(texto): > > for caracter in CARACTERES_A_BORRAR: > > texto=texto.replace(caracter,"") > > return texto > > > > ya-ta? > > > > A mí si me funciona con los caracteres de escape (\cosa) > > > > > >> Ejemplo: > >> > >> >>>"Hola\\nAdios".replace("\\n","") > >> 'HolaAdios' > >> > >> Puedes anidar varios replaces para eliminar cadenas distintas: > >> > >> Ejemplo: > >> >>>"Hola\\nAdios\n".replace("\\n","").replace("\n","") > >> 'HolaAdios' > >> > >> Aunque si la cosa es más complicada, te recomiendo que uses > >> el módulo de expresiones regulares. > >> > >> Saludos. > >> > >> > >> > >> carlos villa escribió: > >>> buenas tardes, tengo un problema y es que necesito eliminar ciertos > >>> caracteres como > >>> el \n, \\n y otros como por eje estos que se ve aqui. > >>> > >>> \\n \\n > >>> estoy utilizando este > >>> > >>> T=temp.replace("\\n","") > >>> > >>> pero no me funciona con los caracteres especiales como el \n > >>> > >>> si alguien sabe como agradeceria la ayuda > >>> > >>> Gracias. > >>> _______________________________________________ > >>> Lista de correo Python-es > >>> http://listas.aditel.org/listinfo/python-es > >>> FAQ: http://listas.aditel.org/faqpyes > >> _______________________________________________ > >> Lista de correo Python-es > >> http://listas.aditel.org/listinfo/python-es > >> FAQ: http://listas.aditel.org/faqpyes > > > > > > ------------------------------------------------------------------------ > > > > _______________________________________________ > > Lista de correo Python-es > > http://listas.aditel.org/listinfo/python-es > > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From rapto en arrakis.es Fri Dec 21 14:41:47 2007 From: rapto en arrakis.es (Marcos =?ISO-8859-1?Q?S=E1nchez?= Provencio) Date: Fri, 21 Dec 2007 14:41:47 +0100 Subject: Desarrollo web con python In-Reply-To: <1198230783.8663.5.camel@localhost.localdomain> References: <1198230783.8663.5.camel@localhost.localdomain> Message-ID: <1198244507.8819.32.camel@savin> Si crees que con cgi te va a valer sobra mod_python... ¿Has seguido la documentación de instalación de mod_python para tu sistema operativo/distribución? ¿En dónde te has quedado? El vie, 21-12-2007 a las 10:53 +0100, Daniel Garcia Moreno escribió: > Hola, estoy considerando hacer una aplicación web en python, pero no > encuentro una forma simple de hacerlo. He visto por ahí que está Django, > pero es algo muy complejo para lo que yo lo quiero. > > La única programación web que he hecho ha sido con php, y buscaba algo > parecido. Ayer encontré algo sobre psp (python services provider), pero > no he llegado a conseguir que funcionara bien, no he conseguido importar > mis propios módulos python. > > Tengo instalado apache+mod_python, pero tampoco he conseguido > configurarlo para que me ejecute cualquier fichero .py, al estilo cgi, > que creo que sería la forma más fácil para empezar a implementar. > > Si alguien pudiera explicarme cómo se configura el mod_python para > conseguir esto, se lo agradecería mucho. ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pych3m4 en gmail.com Fri Dec 21 15:12:48 2007 From: pych3m4 en gmail.com (Chema Cortes) Date: Fri, 21 Dec 2007 15:12:48 +0100 Subject: Desarrollo web con python In-Reply-To: <1198230783.8663.5.camel@localhost.localdomain> References: <1198230783.8663.5.camel@localhost.localdomain> Message-ID: <2c9fb0dd0712210612p61fa3871he8dab1e4ff086df8@mail.gmail.com> El 21/12/07, Daniel Garcia Moreno escribió: > Hola, estoy considerando hacer una aplicación web en python, pero no > encuentro una forma simple de hacerlo. He visto por ahí que está Django, > pero es algo muy complejo para lo que yo lo quiero. > > La única programación web que he hecho ha sido con php, y buscaba algo > parecido. Ayer encontré algo sobre psp (python services provider), pero > no he llegado a conseguir que funcionara bien, no he conseguido importar > mis propios módulos python. > > Tengo instalado apache+mod_python, pero tampoco he conseguido > configurarlo para que me ejecute cualquier fichero .py, al estilo cgi, > que creo que sería la forma más fácil para empezar a implementar. > > Si alguien pudiera explicarme cómo se configura el mod_python para > conseguir esto, se lo agradecería mucho. Yo, para practicar con mod_python, configuraba el apache2 de esta manera: Por un lado añadía al httpd.conf (o al fichero de configuración adecuado a tu plataforma (pe: en el /etc/apache2/modules.d/16_mod_python.conf en una gentoo)) que quiero que me interprete los ficheros .psp : AddHandler mod_python .psp .psp_ PythonHandler mod_python.psp PythonDebug On Luego me creo un directorio en el primer nivel del sitio con el nombre "py" para que lo gestione el handler "publisher": SetHandler python-program PythonHandler mod_python.publisher PythonDebug On De esta forma tienes que cualquier fichero .psp se interpretará al estilo "php" en cualquier sitio. Si en la url añades un subrayado (eg: http://misitio.com/fichero.psp_) obtendrás una comparativa entre el código tuyo y el que genera el handler. Por otro lado, tienes un directorio en /py donde los ficheros .py serán gestionados por el handler "Publisher". Es diferente a los modos que tiene de hacer las cosas PHP, pero una vez que te acostumbras no querrás otra cosa. Con Publisher puedes seguir usando los ficheros PSP como plantillas, separando código y diseño de manera elegante. A partir de publisher estarás listo para pasarte a django, turbogears o zope si tienes necesidad. Por supuesto, en un sistema de producción deberías quitar los PythonDebug para que no comprometer la seguridad. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From vitojph en gmail.com Fri Dec 21 15:46:35 2007 From: vitojph en gmail.com (=?UTF-8?Q?V=C3=ADctor?=) Date: Fri, 21 Dec 2007 15:46:35 +0100 Subject: Ordenar instancias comparando diversos atributos In-Reply-To: <476BB577.6050309@gmail.com> References: <476BB577.6050309@gmail.com> Message-ID: ¡Hola! > Un comentario... para un código final yo te recomendaría que separes más > claramente datos y código: Sí, os he pegado un ejemplo tonto desde el intérprete, no era código real. > Es más fácil que eso: > > import operator > sorted(lista_de_personas, key=operator.attrgetter("edad")) > > sort/sorted, según te interese in-place o no. Ok, pero ¿cómo aplico los tres criterios de ordenación? ¿De forma secuencial, uno detrás de otro o especificando en algún sitio que sólo cuando un criterio coincide (la edad por ejemplo), he de ordenador según la altura? -- Víctor Peinado | NLP & IR Group - UNED | http://nlp.uned.es/~victor Tel (+34) 91 398 8106 Skype/GTalk: vitojph ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From carlosfvo en gmail.com Fri Dec 21 15:47:44 2007 From: carlosfvo en gmail.com (carlos villa) Date: Fri, 21 Dec 2007 09:47:44 -0500 Subject: Fwd: eliminar caracter \n In-Reply-To: <1198262502.5913.48.camel@skynet> References: <629497540712201453m7b66435rdc36785dcfa0d4f3@mail.gmail.com> <476B7CAE.2050606@diselpro.com> <1198254268.5913.4.camel@skynet> <476BA7C5.7060204@diselpro.com> <1198262502.5913.48.camel@skynet> Message-ID: <629497540712210647u27a91576u94fe499bdac8d439@mail.gmail.com> buenos dias sigo teniendo problemas porque los caracteres tipo: /n /t /r son de tipo salto de linea y esas cosas...no son caracteres como tal. necesito hace busquedas de salto de linea y tabuladores ...si alguien sabe agradeceria la ayuda... ---------- Forwarded message ---------- From: tny Date: 21-dic-2007 13:41 Subject: Re: [Python-es] eliminar caracter \n To: Lista de discusión sobre python en castellano a carlos El vie, 21-12-2007 a las 12:47 +0100, Pepe Aracil escribió: > ¿Me estas respondiendo a mi o a Carlos Villa? > > Salud. > A Carlos Villa, en particular y al universo poblado en general. > > tny escribió: > > El vie, 21-12-2007 a las 09:43 +0100, Pepe Aracil escribió: > > > > CARACTERES_A_BORRAR=['\\n','\n','añadir aquí el resto de > > caracteres','...'] > > > > def borrar_caracteres(texto): > > for caracter in CARACTERES_A_BORRAR: > > texto=texto.replace(caracter,"") > > return texto > > > > ya-ta? > > > > A mí si me funciona con los caracteres de escape (\cosa) > > > > > >> Ejemplo: > >> > >> >>>"Hola\\nAdios".replace("\\n","") > >> 'HolaAdios' > >> > >> Puedes anidar varios replaces para eliminar cadenas distintas: > >> > >> Ejemplo: > >> >>>"Hola\\nAdios\n".replace("\\n","").replace("\n","") > >> 'HolaAdios' > >> > >> Aunque si la cosa es más complicada, te recomiendo que uses > >> el módulo de expresiones regulares. > >> > >> Saludos. > >> > >> > >> > >> carlos villa escribió: > >>> buenas tardes, tengo un problema y es que necesito eliminar ciertos > >>> caracteres como > >>> el \n, \\n y otros como por eje estos que se ve aqui. > >>> > >>> \\n \\n > >>> estoy utilizando este > >>> > >>> T=temp.replace("\\n","") > >>> > >>> pero no me funciona con los caracteres especiales como el \n > >>> > >>> si alguien sabe como agradeceria la ayuda > >>> > >>> Gracias. > >>> _______________________________________________ > >>> Lista de correo Python-es > >>> http://listas.aditel.org/listinfo/python-es > >>> FAQ: http://listas.aditel.org/faqpyes > >> _______________________________________________ > >> Lista de correo Python-es > >> http://listas.aditel.org/listinfo/python-es > >> FAQ: http://listas.aditel.org/faqpyes > > > > > > ------------------------------------------------------------------------ > > > > _______________________________________________ > > Lista de correo Python-es > > http://listas.aditel.org/listinfo/python-es > > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pyarnau en gmail.com Fri Dec 21 16:03:00 2007 From: pyarnau en gmail.com (Arnau Sanchez) Date: Fri, 21 Dec 2007 16:03:00 +0100 Subject: Ordenar instancias comparando diversos atributos In-Reply-To: References: <476BB577.6050309@gmail.com> Message-ID: <476BD5A4.4020107@gmail.com> Del correo anterior se me olvidó comentar: > if p1.edad < p2.edad: return 1 > elif p1.edad == p2.edad: return 0 > else: return -1 Ya existe una función builtin que hace eso (salvo signo): "cmp" Víctor escribió: >> import operator >> sorted(lista_de_personas, key=operator.attrgetter("edad")) >> >> sort/sorted, según te interese in-place o no. > > Ok, pero ¿cómo aplico los tres criterios de ordenación? ¿De forma > secuencial, uno detrás de otro o especificando en algún sitio que sólo > cuando un criterio coincide (la edad por ejemplo), he de ordenador > según la altura? Es sencillo, sólo tienes que adaptar la clave (key) a tu gusto, de forma que devuelva una secuencia (tupla o lista): key = lambda persona: (persona.edad, persona.altura, persona.peso) sorted(una_lista_de_personas, key=key) arnau ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From vitojph en gmail.com Fri Dec 21 16:12:05 2007 From: vitojph en gmail.com (=?UTF-8?Q?V=C3=ADctor?=) Date: Fri, 21 Dec 2007 16:12:05 +0100 Subject: Ordenar instancias comparando diversos atributos In-Reply-To: <476BD5A4.4020107@gmail.com> References: <476BB577.6050309@gmail.com> <476BD5A4.4020107@gmail.com> Message-ID: Arnau: > > Ok, pero ¿cómo aplico los tres criterios de ordenación? ¿De forma > > secuencial, uno detrás de otro o especificando en algún sitio que sólo > > cuando un criterio coincide (la edad por ejemplo), he de ordenador > > según la altura? > > Es sencillo, sólo tienes que adaptar la clave (key) a tu gusto, de forma > que devuelva una secuencia (tupla o lista): > > key = lambda persona: (persona.edad, persona.altura, persona.peso) > sorted(una_lista_de_personas, key=key) Creo que ya lo tengo. Utilizando el módulo operator, como indicabas en tu primer mensaje: import operator # ordena las instancias por edad, altura y peso, en ese orden personas_ordenadas = sorted(personas, key=operator.attrgetter("edad", "altura", "peso")) Muchas gracias y ¡felices fiestas! -- Víctor Peinado | NLP & IR Group - UNED | http://nlp.uned.es/~victor Tel (+34) 91 398 8106 Skype/GTalk: vitojph ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pyarnau en gmail.com Fri Dec 21 16:26:39 2007 From: pyarnau en gmail.com (Arnau Sanchez) Date: Fri, 21 Dec 2007 16:26:39 +0100 Subject: Ordenar instancias comparando diversos atributos In-Reply-To: References: <476BB577.6050309@gmail.com> <476BD5A4.4020107@gmail.com> Message-ID: <476BDB2F.2090306@gmail.com> Víctor escribió: > import operator > # ordena las instancias por edad, altura y peso, en ese orden > personas_ordenadas = sorted(personas, key=operator.attrgetter("edad", > "altura", "peso")) Perfecto, es la misma idea. Únicamente comentar que "operator.attrgetter" admite múltiples argumentos sólo a partir de python 2.5. Naturalmente, sólo es un problema si piensas distribuir tu programa (muchas distros, entre ellas Debian, van a estar una laaaarga temporada con la versión 2.4) arnau ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From marcos.garrido en gmail.com Sat Dec 22 19:21:30 2007 From: marcos.garrido en gmail.com (Marcos Garrido) Date: Sat, 22 Dec 2007 15:21:30 -0300 Subject: (PyGTK-Glade) Upper en valores con acento Message-ID: <1198347690.18776.12.camel@spitfire-laptop> Estimados: Tengo un GTKentry o entrada de texto para nombres, esta entrada al perder el foco, usa el upper para poner en mayúsculas toda la entrada, el problema se me presenta con los acentos, ya que el upper() me deja el acento igual en minúsculas, por ejemplo "María" queda "MARíA". Esto lo hago para poder ingresar los valores a la BD. Cualquier sugerencia es bienvenida Salu2 -- Marcos Garrido Angeli Linux User #436938 (counter.li.org) ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pyarnau en gmail.com Sat Dec 22 19:45:05 2007 From: pyarnau en gmail.com (Arnau Sanchez) Date: Sat, 22 Dec 2007 19:45:05 +0100 Subject: (PyGTK-Glade) Upper en valores con acento In-Reply-To: <1198347690.18776.12.camel@spitfire-laptop> References: <1198347690.18776.12.camel@spitfire-laptop> Message-ID: <476D5B31.4090200@gmail.com> Marcos Garrido escribió: > Tengo un GTKentry o entrada de texto para nombres, esta entrada al > perder el foco, usa el upper para poner en mayúsculas toda la entrada, > el problema se me presenta con los acentos, ya que el upper() me deja el > acento igual en minúsculas, por ejemplo "María" queda "MARíA". Prueba con unicodes: text = unicode(entry.get_text(), "utf-8") entry.set_text(text.upper()) ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From minoztro en gmail.com Sat Dec 22 19:50:32 2007 From: minoztro en gmail.com (Milton Galo Patricio Inostroza Aguilera) Date: Sat, 22 Dec 2007 15:50:32 -0300 Subject: (PyGTK-Glade) Upper en valores con acento In-Reply-To: <1198347690.18776.12.camel@spitfire-laptop> References: <1198347690.18776.12.camel@spitfire-laptop> Message-ID: <172699c50712221050l7dde53c8x2cf3c637f58a03aa@mail.gmail.com> El 22/12/07, Marcos Garrido escribió: > Estimados: > > Tengo un GTKentry o entrada de texto para nombres, esta entrada al > perder el foco, usa el upper para poner en mayúsculas toda la entrada, > el problema se me presenta con los acentos, ya que el upper() me deja el > acento igual en minúsculas, por ejemplo "María" queda "MARíA". Esto lo > hago para poder ingresar los valores a la BD. Cualquier sugerencia es > bienvenida Arnau, ya te dio una solución...pero encuentro que los datos deberías guardarlo en la base de datos "cruditos"..es decir sin ningún tipo de retoque más que llevarlo todos a minúsculas , creeme que cuando recibes ese tipo de sistemas después se tornan un dolor de cabeza enorme....para eso está la capa GUI la cual se encarga de mostrar los datos de forma bonita al usuario > > Salu2 > -- > Marcos Garrido Angeli > Linux User #436938 (counter.li.org) > > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Milton Inostroza Aguilera _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From marcos.garrido en gmail.com Sat Dec 22 20:01:51 2007 From: marcos.garrido en gmail.com (Marcos Garrido) Date: Sat, 22 Dec 2007 16:01:51 -0300 Subject: (PyGTK-Glade) Upper en valores con acento In-Reply-To: <172699c50712221050l7dde53c8x2cf3c637f58a03aa@mail.gmail.com> References: <1198347690.18776.12.camel@spitfire-laptop> <172699c50712221050l7dde53c8x2cf3c637f58a03aa@mail.gmail.com> Message-ID: <1198350112.18776.16.camel@spitfire-laptop> El sáb, 22-12-2007 a las 15:50 -0300, Milton Galo Patricio Inostroza Aguilera escribió: > El 22/12/07, Marcos Garrido escribió: > > Estimados: > > > > Tengo un GTKentry o entrada de texto para nombres, esta entrada al > > perder el foco, usa el upper para poner en mayúsculas toda la entrada, > > el problema se me presenta con los acentos, ya que el upper() me deja el > > acento igual en minúsculas, por ejemplo "María" queda "MARíA". Esto lo > > hago para poder ingresar los valores a la BD. Cualquier sugerencia es > > bienvenida > > Arnau, ya te dio una solución...pero encuentro que los datos deberías > guardarlo en la base de datos "cruditos"..es decir sin ningún tipo de > retoque más que llevarlo todos a minúsculas , creeme que cuando > recibes ese tipo de sistemas después se tornan un dolor de cabeza > enorme....para eso está la capa GUI la cual se encarga de mostrar los > datos de forma bonita al usuario > > > > > Salu2 > > -- > > Marcos Garrido Angeli > > Linux User #436938 (counter.li.org) > > > > > > _______________________________________________ > > Lista de correo Python-es > > http://listas.aditel.org/listinfo/python-es > > FAQ: http://listas.aditel.org/faqpyes > > > > Agradecido por ambas respuestas, y sí estoy manejando todo en la capa de Gui, para que cualquier dato ingresado se modifique o "arregle" antes de la entrada a la bd. Mi en enfoque iba por el lado de dejar todo en mayúsculas y guardarlo en la bd, pero también es buena solución dejar todo en minúscula. Estudiaré para ver el que mejor se adapte. Gracias -- Marcos Garrido Angeli Linux User #436938 (counter.li.org) ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From xinxic en gmail.com Sat Dec 22 21:15:01 2007 From: xinxic en gmail.com (Xin) Date: Sat, 22 Dec 2007 21:15:01 +0100 Subject: Ordenar instancias comparando diversos atributos In-Reply-To: References: Message-ID: Yo lo haria así, def __cmp__(self,other): return cmp(self.edad,other.edad) or \ cmp(self.altura,other.altura) or \ cmp(self.peso,other.peso) Lo que no sé és el orden, quizà debas intercanviar el orden de los operandos. Xin El 21/12/2007, a las 13:36, Víctor escribió: > ¡Hola a todos! > > Necesito ordenar una lista de instancias de la misma clase comparando > diversos atributos. Os simplifico el problema: > >>>> class Persona(object): > ... def __init__(self, edad=None, altura=None, peso=None): > ... self.edad = edad > ... self.altura = altura > ... self.peso = peso > ... >>>> personas = [] >>>> personas.append( Persona(edad=1, altura=50, peso=4500) ) >>>> personas.append( Persona(edad=10, altura=135, peso=45000) ) >>>> personas.append( Persona(edad=10, altura=136, peso=42000) ) >>>> personas.append( Persona(edad=10, altura=136, peso=46000) ) > > En primer lugar, me gustaría ordenar a la gente por edad. En caso de > que la edad coincida, las ordeno por altura y en último caso, por > peso. ¿Cómo puedo implementarlo? Hasta el momento, sólo sé como > ordenar comparando la edad. > >>>> def compara(p1, p2): > ... if p1.edad < p2.edad: return 1 > ... elif p1.edad == p2.edad: return 0 > ... else: return -1 > > ¿Dónde defino el resto de comparaciones? ¿En la misma función o en > funciones separadas? Gracias de antemano y un saludo. > > > -- > Víctor Peinado | NLP & IR Group - UNED | http://nlp.uned.es/~victor > Tel (+34) 91 398 8106 > Skype/GTalk: vitojph > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From xinxic en gmail.com Sat Dec 22 21:47:21 2007 From: xinxic en gmail.com (Xin) Date: Sat, 22 Dec 2007 21:47:21 +0100 Subject: Ordenar instancias comparando diversos atributos In-Reply-To: References: Message-ID: Faltava decir que la ordinación se hace de la misma forma que han contado con la función sorted. personas_ordenadas = sorted(personas) O ordenar directamente la lista con el mètode sort() que se ordena ella misma. personas.sort() Xin El 22/12/2007, a las 21:15, Xin escribió: > Yo lo haria así, > > def __cmp__(self,other): > return cmp(self.edad,other.edad) or \ > cmp(self.altura,other.altura) or \ > cmp(self.peso,other.peso) > > Lo que no sé és el orden, quizà debas intercanviar el orden de los > operandos. > > Xin > > El 21/12/2007, a las 13:36, Víctor escribió: > >> ¡Hola a todos! >> >> Necesito ordenar una lista de instancias de la misma clase comparando >> diversos atributos. Os simplifico el problema: >> >>>>> class Persona(object): >> ... def __init__(self, edad=None, altura=None, peso=None): >> ... self.edad = edad >> ... self.altura = altura >> ... self.peso = peso >> ... >>>>> personas = [] >>>>> personas.append( Persona(edad=1, altura=50, peso=4500) ) >>>>> personas.append( Persona(edad=10, altura=135, peso=45000) ) >>>>> personas.append( Persona(edad=10, altura=136, peso=42000) ) >>>>> personas.append( Persona(edad=10, altura=136, peso=46000) ) >> >> En primer lugar, me gustaría ordenar a la gente por edad. En caso de >> que la edad coincida, las ordeno por altura y en último caso, por >> peso. ¿Cómo puedo implementarlo? Hasta el momento, sólo sé como >> ordenar comparando la edad. >> >>>>> def compara(p1, p2): >> ... if p1.edad < p2.edad: return 1 >> ... elif p1.edad == p2.edad: return 0 >> ... else: return -1 >> >> ¿Dónde defino el resto de comparaciones? ¿En la misma función o en >> funciones separadas? Gracias de antemano y un saludo. >> >> >> -- >> Víctor Peinado | NLP & IR Group - UNED | http://nlp.uned.es/~victor >> Tel (+34) 91 398 8106 >> Skype/GTalk: vitojph >> _______________________________________________ >> Lista de correo Python-es >> http://listas.aditel.org/listinfo/python-es >> FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From teritriano en gmail.com Sun Dec 23 19:43:27 2007 From: teritriano en gmail.com (Oscar (.teri) Triano) Date: Sun, 23 Dec 2007 19:43:27 +0100 Subject: Dibujos siempre negros Message-ID: <8c50b5f00712231043h116d264y3bb112dba4765dab@mail.gmail.com> Trabajo en pygtk. No sé por qué, pero el contexto donde hago yo formas básicas y simple como dibujar rectángulos siempre me lo dibuja con el color negro (no puro). Para el dibujado uso el contexto dado por un control Drawable y almacenándolo en un miembro de una clase para asegurarme de que no cambie. Haciendo pruebas me doy cuenta de que la referencia de foreground del contexto almacenado siempre me cambia incluso si hago una llamada a contexto.foreground para ver su valor haciendo que los valores rgb de foreground siempre vuelvan a sus valores por defecto. Para dibujar el rectángulo llamo el método vista_previa.draw_rectangle( self.contexto, True, 0, 0, 200, 200). La profundidad de color de mi monitor es de 24 bits. Estaré agradecido si alguien me ayuda. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From kikecalpe en gmail.com Mon Dec 24 01:22:43 2007 From: kikecalpe en gmail.com (Kike Cabrera) Date: Mon, 24 Dec 2007 01:22:43 +0100 Subject: =?utf-8?q?a=C3=B1adir_el_valor_=28entero=29_de_una_v?= =?utf-8?q?ariable_al_nombre_de_otra_variable?= Message-ID: <14ecb63c0712231622h66f9703ay34e55a34f17563e0@mail.gmail.com> hola a todos! estoy haciendo un programa que compara listas, incluidas en otra lista mayor, y las distribuye segun su contenido en grupos. el caso es que los grupos se van 'creando' segun van haciendo falta, así que hice un contador de los grupos que tengo para que cuando hace falta otro grupo solo tengo que añadir el contador al nombre de la variable grupo. pero mi problema es que todavía no se como puedo concatenar el nombre de la variable 'grupo' con el valor de la variable 'cuentagrupos' para crear los nuevos grupos. por si no me he explicado pongo un ejemplo. listamayor=[[a,b,c,d,e],[b,c,b,a,c],[d,c,a,b,b]] grupo0=[listamayor[1]] #el primer grupo se crea siempre, y siempre contendrá al menos el primer elemento de listamayor. cuentagrupos=1 for e in range(cuentagrupos): for a in range(grupo+e): #FALTA. hay q unir el nombre de variable grupo con el valor de 'e', ej. grupo0. lista=listamayor.pop() if comparalistas(grupo+e[a], lista): grupo+e.append(columna) #si compara(x,y) es verdadero añade columna al final del grupoe. elif e==cuentaGrupos-1: #si se han comparado todos los grupos se crea uno nuevo y se le añade el valor de columna. además se incrementa cuentagrupos. grupo+cuentaGrupos=[columna] #FALTA. unir variable grupo con valor de 'cuentaGrupos' para que quede algo como grupo1=[columna] cuentaGrupos+=1 grupos=grupos.append(grupo+e) #FALTA. unir nombre variable grupo con valor de 'e', ej. grupo0. estoy seguro de que hay errores y mil maneras mejores de hacerlo (escribiendo esto he encontrado un error de planteamiento), sin embargo apenas llevo aprendiendo a programar un mes y pico, y estoy empezando a desenvolverme. se aceptan consejos de todo tipo, pero sobre todo lo que busco es saber como se hace lo que he planteado. gracias a todos!!! ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From ematus en gmail.com Mon Dec 24 01:29:36 2007 From: ematus en gmail.com (Eduardo Matus) Date: Sun, 23 Dec 2007 21:29:36 -0300 Subject: =?ISO-8859-1?Q?Re:__a=F1adir_el_valor_(entero)_?= =?ISO-8859-1?Q?de_una_variable_al_nombre_de_otra_variable?= In-Reply-To: <14ecb63c0712231622h66f9703ay34e55a34f17563e0@mail.gmail.com> References: <14ecb63c0712231622h66f9703ay34e55a34f17563e0@mail.gmail.com> Message-ID: <984ad6a0712231629x8030ee0u4207d61161d744b0@mail.gmail.com> busca sobre 'setattr' Saludos. On Dec 23, 2007 9:22 PM, Kike Cabrera wrote: > hola a todos! > estoy haciendo un programa que compara listas, incluidas en otra lista > mayor, y las distribuye segun su contenido en grupos. el caso es que los > grupos se van 'creando' segun van haciendo falta, así que hice un contador > de los grupos que tengo para que cuando hace falta otro grupo solo tengo > que > añadir el contador al nombre de la variable grupo. pero mi problema es que > todavía no se como puedo concatenar el nombre de la variable 'grupo' con > el > valor de la variable 'cuentagrupos' para crear los nuevos grupos. por si > no > me he explicado pongo un ejemplo. > > listamayor=[[a,b,c,d,e],[b,c,b,a,c],[d,c,a,b,b]] > grupo0=[listamayor[1]] #el primer grupo se crea siempre, y siempre > contendrá > al menos el primer elemento de listamayor. > cuentagrupos=1 > for e in range(cuentagrupos): > for a in range(grupo+e): #FALTA. hay q unir el nombre de variable > grupo con el valor de 'e', ej. grupo0. > lista=listamayor.pop() > if comparalistas(grupo+e[a], lista): grupo+e.append(columna) > #si > compara(x,y) es verdadero añade columna al final del grupoe. > elif e==cuentaGrupos-1: #si se han comparado todos los grupos > se > crea uno nuevo y se le añade el valor de columna. además se incrementa > cuentagrupos. > grupo+cuentaGrupos=[columna] #FALTA. unir variable grupo > con > valor de 'cuentaGrupos' para que quede algo como grupo1=[columna] > cuentaGrupos+=1 > > grupos=grupos.append(grupo+e) #FALTA. unir nombre variable > grupo > con valor de 'e', ej. grupo0. > > estoy seguro de que hay errores y mil maneras mejores de hacerlo > (escribiendo esto he encontrado un error de planteamiento), sin embargo > apenas llevo aprendiendo a programar un mes y pico, y estoy empezando a > desenvolverme. se aceptan consejos de todo tipo, pero sobre todo lo que > busco es saber como se hace lo que he planteado. > gracias a todos!!! > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pych3m4 en gmail.com Mon Dec 24 04:23:07 2007 From: pych3m4 en gmail.com (Chema Cortes) Date: Mon, 24 Dec 2007 04:23:07 +0100 Subject: eliminar caracter \n In-Reply-To: <629497540712210647u27a91576u94fe499bdac8d439@mail.gmail.com> References: <629497540712201453m7b66435rdc36785dcfa0d4f3@mail.gmail.com> <476B7CAE.2050606@diselpro.com> <1198254268.5913.4.camel@skynet> <476BA7C5.7060204@diselpro.com> <1198262502.5913.48.camel@skynet> <629497540712210647u27a91576u94fe499bdac8d439@mail.gmail.com> Message-ID: <2c9fb0dd0712231923o65d4df7cl3bd05526f83eaef7@mail.gmail.com> El 21/12/07, carlos villa escribió: > buenos dias sigo teniendo problemas porque los caracteres tipo: > > /n /t /r son de tipo salto de linea y esas cosas...no son caracteres como tal. > necesito hace busquedas de salto de linea y tabuladores ...si alguien > sabe agradeceria > la ayuda... ¿Qué es lo que no te funciona? Porque algo así funciona sin problemas: "Hola,\tMundo\n".replace("\n","").replace("\t"," ") --> "Hola, Mundo" ¿No estarás usando expresiones regulares? Si es así, especifica más lo que estás haciendo. Tampoco te duela poner un fragmento del código para ilustrarnos mejor lo que estás haciendo. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pych3m4 en gmail.com Mon Dec 24 05:05:39 2007 From: pych3m4 en gmail.com (Chema Cortes) Date: Mon, 24 Dec 2007 05:05:39 +0100 Subject: =?ISO-8859-1?Q?Re:__a=F1adir_el_valor_(entero)_?= =?ISO-8859-1?Q?de_una_variable_al_nombre_de_otra_variable?= In-Reply-To: <14ecb63c0712231622h66f9703ay34e55a34f17563e0@mail.gmail.com> References: <14ecb63c0712231622h66f9703ay34e55a34f17563e0@mail.gmail.com> Message-ID: <2c9fb0dd0712232005jbde0bb5sab2097a63493486a@mail.gmail.com> El 24/12/07, Kike Cabrera escribió: > hola a todos! > estoy haciendo un programa que compara listas, incluidas en otra lista > mayor, y las distribuye segun su contenido en grupos. el caso es que los > grupos se van 'creando' segun van haciendo falta, así que hice un contador > de los grupos que tengo para que cuando hace falta otro grupo solo tengo que > añadir el contador al nombre de la variable grupo. pero mi problema es que > todavía no se como puedo concatenar el nombre de la variable 'grupo' con el > valor de la variable 'cuentagrupos' para crear los nuevos grupos. por si no > me he explicado pongo un ejemplo. > > listamayor=[[a,b,c,d,e],[b,c,b,a,c],[d,c,a,b,b]] > grupo0=[listamayor[1]] #el primer grupo se crea siempre, y siempre contendrá > al menos el primer elemento de listamayor. > cuentagrupos=1 > for e in range(cuentagrupos): > for a in range(grupo+e): #FALTA. hay q unir el nombre de variable > grupo con el valor de 'e', ej. grupo0. > lista=listamayor.pop() > if comparalistas(grupo+e[a], lista): grupo+e.append(columna) #si > compara(x,y) es verdadero añade columna al final del grupoe. > elif e==cuentaGrupos-1: #si se han comparado todos los grupos se > crea uno nuevo y se le añade el valor de columna. además se incrementa > cuentagrupos. > grupo+cuentaGrupos=[columna] #FALTA. unir variable grupo con > valor de 'cuentaGrupos' para que quede algo como grupo1=[columna] > cuentaGrupos+=1 > > grupos=grupos.append(grupo+e) #FALTA. unir nombre variable grupo > con valor de 'e', ej. grupo0. > > estoy seguro de que hay errores y mil maneras mejores de hacerlo > (escribiendo esto he encontrado un error de planteamiento), sin embargo > apenas llevo aprendiendo a programar un mes y pico, y estoy empezando a > desenvolverme. se aceptan consejos de todo tipo, pero sobre todo lo que > busco es saber como se hace lo que he planteado. Mi consejo, así sin mirar más, es que los grupos los crees como una lista de listas y la vayas agrandando a medida que necesites nuevos grupos: grupos=[] #el primer grupo, o sea, grupo0: grupos.append(listamayor[0]) ¡Cuidado con los índices de las listas! En python se empieza desde 0, no desde 1. No necesitarías un contador "cuentagrupos", ya que puedes usar len(grupos) en su lugar, y otras optimizaciones que seguro que consigues fácilmente (si no te convence la soluciones que obtengas, no dudes en preguntar por aquí). No sé si quieres insistir con tu idea original, pero por contestarte a tu pregunta se pueden crear nuevas variables accediendo a los diccionarios de variables globales y locales. Por ejemplo, de la siguiente manera crearíamos 10 variables globales, desde "grupo0" hasta "grupo9" : G=globals() for i in xrange(10): G["grupo%d"%i]=0 _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pych3m4 en gmail.com Mon Dec 24 05:24:45 2007 From: pych3m4 en gmail.com (Chema Cortes) Date: Mon, 24 Dec 2007 05:24:45 +0100 Subject: Guardar y recuperar imagenes en BBDD In-Reply-To: References: Message-ID: <2c9fb0dd0712232024j673abad7lcd79b3dd2b96f9d4@mail.gmail.com> El 21/12/07, Guimi escribió: > Hola, > quiero guardar imágenes en una BBDD MySQL. No una referencia a la > imágen, a su ubicación en el disco duro, sino guardar la propia imagen > en la base de datos. > > Para ello he creado una tabla de prueba con un campo BLOB para la > imagen, un campo VARCHAR para el modo de la imagen y dos campos para > el ancho y el alto. > > Guardo la imagen con un código parecido al siguiente: > ---------------- > from PIL import Image > (...) > imagen = Image.open('prueba.bmp') > imagenStr = imagen.tostring() > imagenMode = imagen.mode > imagenSize = imagen.size > > miCursor.execute("insert into prueba (bin, mode, width, height) values > ( %s, \""+imagenMode+"\", "+str(imagenSize[0])+", > "+str(imagenSize[1])+" ) ", imagenStr) > (...) Si el campo es BLOB podrías meter directamente los datos de la imagen, sin procesar por PIL: imagen=open('pruega.bmp','rb').read() miCursor.execute("insert into prueba (bin, mode, width, height) values ( %s, \""+imagenMode+"\", "+str(imagenSize[0])+", "+str(imagenSize[1])+" ) ", dbapi.Binary(imagen)) No lo he probado, pero debería funcionar. Seguramente sobre la conversión explícita a Binary (no lo he probado). > #Para recuperar la imagen intento: > > imagen2 = Image.fromstring(imagenMode, imagenSize, imagenStr) > cajaScroll.add(imagen2) > # Esto falla porque espera un objeto tipo gtk.Image > # No se como generar un objeto gtk.Image desde un objeto Image (de PIL) La solución obvia pasa por descargar la imagen que tienes en PIL a un formato común con GTK.image > ---------------- > > Tambien he hecho pruebas con StringIO, con gtk.Image... no se por donde tirar... > ¿Alguien conoce algún tutorial o alguna pista? > ¿Alguien tiene algún código funcional de guardado y recuperación de > imagenes en BBDD? Tengo alguna cosa, pero para postgresql. No creo que te sea difícil conseguir ejemplos por internet para mysql. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From carlosfvo en gmail.com Mon Dec 24 14:54:40 2007 From: carlosfvo en gmail.com (carlos villa) Date: Mon, 24 Dec 2007 08:54:40 -0500 Subject: python Z SQL Method Message-ID: <629497540712240554pd4460bfx74541a459b0efe1a@mail.gmail.com> buenas tardes, mi duda es si es posible ejecutar un Z SQL Method desde XMLrpc en zope estoy utilizando la libreria xmlrpclib y logro ver los contenido y me logueoo pero no logro ejecutar las consultas que tengo en determinada carpeta, si alguien sabe agradeceria...la ayuda. >>> from xmlrpclib import Server >>> s=ServerProxy("http://localhost/carpeta") >>> s.sumar() --> este es el metodo sql que quiero ejecutar pero no me devuleve nada. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From victoredier en yahoo.com Mon Dec 24 20:56:36 2007 From: victoredier en yahoo.com (Victor Edier) Date: Mon, 24 Dec 2007 11:56:36 -0800 (PST) Subject: Feliz Navidad Message-ID: <39117.17493.qm@web30801.mail.mud.yahoo.com> Este mensaje es para desearle una feliz navidad a todos los miembros de la lista. ¡¡¡¡¡¡¡¡¡Good luck for every body!!!!!!!!! ____________________________________________________________________________________ ¡Capacidad ilimitada de almacenamiento en tu correo! No te preocupes más por el espacio de tu cuenta con Correo Yahoo!: http://correo.espanol.yahoo.com/ ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From dmindebian en gmail.com Tue Dec 25 02:50:45 2007 From: dmindebian en gmail.com (Edgar Israel Casanova Cardoz) Date: Mon, 24 Dec 2007 19:50:45 -0600 Subject: Feliz Navidad In-Reply-To: <39117.17493.qm@web30801.mail.mud.yahoo.com> References: <39117.17493.qm@web30801.mail.mud.yahoo.com> Message-ID: <477061F5.10006@gmail.com> FELIZ NAVIDÁHHHH!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Que se la pasen rico, y que tengan un propero año nuevo en compañía del Zen of Python... JOJOJO Feliz Navidáhhh Victor Edier escribió: > Este mensaje es para desearle una feliz navidad a todos los miembros de la lista. > > ¡¡¡¡¡¡¡¡¡Good luck for every body!!!!!!!!! > > > > > ____________________________________________________________________________________ > ¡Capacidad ilimitada de almacenamiento en tu correo! > No te preocupes más por el espacio de tu cuenta con Correo Yahoo!: > http://correo.espanol.yahoo.com/ > ------------------------------------------------------------------------ > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From miuler en gmail.com Tue Dec 25 05:51:02 2007 From: miuler en gmail.com (Miuler) Date: Mon, 24 Dec 2007 23:51:02 -0500 Subject: =?utf-8?q?Eventos_se=C3=B1ales_y_dem=C3=A1s?= Message-ID: Hola amigos, bueno como dije en uno de mis correos necesitaba la forma de crear eventos, bueno luego encontre que la palabra clave era señales, ahora tengo un pequeño problema, y es que cuando emito una señol esa señol solo funciona desde el widget instanciado, no puedo hacer que se propage a los demás widgets :( , bueno ahora les adjunto un ejemplo en el cual creo un par de ventanas cada cual con un boton, he creado un señal 'sync', e conectado esta señal a cada ventana, así que lo que yo espero es que cuando emita la señal en la consola aparesca que fue capturado por ambas ventanas pero esto no sucede, solo es capturada por una ventana, por la ventana desde la cual se emite la señal, la señal es emitida cuando hago click sobre un boton. Les agradesco cualquier idea que tengan. -- _\|/_ (O-O) --oOO-(_)-OOo---------------------------------------- Hector Miuler Malpica Gallegos Universidad Nacional del Callao - Peru Escuela de Ingenieria Electronica usuario registrado #308608 ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From miuler en gmail.com Tue Dec 25 09:02:32 2007 From: miuler en gmail.com (Miuler) Date: Tue, 25 Dec 2007 03:02:32 -0500 Subject: Se pueden crear eventos en Gtk? In-Reply-To: References: <172699c50712161119q1b7906f7y45477c3bd5c486a9@mail.gmail.com> Message-ID: Hola amigos, ya tengo algo echo lo mande en otro correo, bueno también me pareció que esto de poner "porque así debe de ser" a secas no esta bien, pero solo quise decir que así me lo pidieron que haga, así lo quieren, además me parece interesante esto de crear señales, sería una buena forma de comunicarme entre clases. On Dec 16, 2007 10:52 PM, Miuler wrote: > XD porque así debe de ser :P bueno ya encontré por lo menos ya > encontré un camino, y esto viene por señales (signal), como encontré > por ahí al parecer señales es muy diferente a eventos, y lo que yo > quiero es con generaciones de señales, apenas encuentre algo más lo > mando a la lista. > > On Dec 16, 2007 2:19 PM, Milton Galo Patricio Inostroza Aguilera > > wrote: > > El 16/12/07, Miuler escribió: > > > Hola amigos, tengo una duda, tengo un grupo de ventanas, por el > > > momento son 4 pero van a aumentar, y quería saber si en gtk/pygtk es > > > posible crear eventos personalizados, es decir definir un evento para > > > que los otros widgets (en este caso un treeview dentro de ventanas), > > > puedan capturarlo y ejecutar en cuanto se de la ventana, se que existe > > > set_event , que es para decir al widget a que eventos debe de atender, > > > pero solo encuentro con eventos pripios del gtk, ¿como creo un eveto > > > yo? ¿se puede?. > > > > Por qué utilizas un grupo de ventanas?...¿Por qué no utilizar un sola > > ventana y dividirla con Hbox, Vbox?...has leído HIG [1]? > > > > [1] http://developer.gnome.org/projects/gup/hig/ > > > > > > > > Lo que quiero es que cuando estoy en una ventana y cambio el nombre a > > > un elemento se refleje en las demás ventanas, claro ninguna ventana > > > contiene el mismo ListStore (como dije estoy usando un treeview en > > > cada ventana), la única forma que se me ocurrió fue que a cada widget > > > añadirle un connect('mi_evento_update', func_update) para que cada ves > > > que actualice un dato, en ese mismo metodo hacer algo como > > > func_generar_mi_evento_update, y todos los demás lo capturen y hagan > > > su trabajo. > > > > > > > > > -- > > > _\|/_ > > > (O-O) > > > --oOO-(_)-OOo---------------------------------------- > > > Hector Miuler Malpica Gallegos > > > Universidad Nacional del Callao - Peru > > > Escuela de Ingenieria Electronica > > > > > > usuario registrado #308608 > > > > > > _______________________________________________ > > > Lista de correo Python-es > > > http://listas.aditel.org/listinfo/python-es > > > FAQ: http://listas.aditel.org/faqpyes > > > > > > > > > -- > > Milton Inostroza Aguilera > > _______________________________________________ > > Lista de correo Python-es > > http://listas.aditel.org/listinfo/python-es > > FAQ: http://listas.aditel.org/faqpyes > > > > > > -- > > _\|/_ > (O-O) > --oOO-(_)-OOo---------------------------------------- > Hector Miuler Malpica Gallegos > Universidad Nacional del Callao - Peru > Escuela de Ingenieria Electronica > > usuario registrado #308608 > -- _\|/_ (O-O) --oOO-(_)-OOo---------------------------------------- Hector Miuler Malpica Gallegos Universidad Nacional del Callao - Peru Escuela de Ingenieria Electronica usuario registrado #308608 ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pyarnau en gmail.com Tue Dec 25 09:43:12 2007 From: pyarnau en gmail.com (Arnau Sanchez) Date: Tue, 25 Dec 2007 09:43:12 +0100 Subject: Eventos =?UTF-8?B?c2XDsWFsZXMgeSBkZW3DoXM=?= In-Reply-To: References: Message-ID: <4770C2A0.8080102@gmail.com> Veamos... haces referencia a un correo antiguo, pero no pones el enlace ni haces un resumen del mismo, así que en realidad nadie sabe a ciencia cierta de qué hablas (¿pyGTK?). Por otra parte, esta lista no admite adjuntos, así que el código que mandes debe formar parte del propio texto del correo. Por último, es improbable que el cross-posting te ayude a obtener más respuestas... http://es.wikipedia.org/wiki/Env%C3%ADo_cruzado Miuler escribió: > Hola amigos, bueno como dije en uno de mis correos necesitaba la forma > de crear eventos, bueno luego encontre que la palabra clave era > señales, ahora tengo un pequeño problema, y es que cuando emito una > señol esa señol solo funciona desde el widget instanciado, no puedo > hacer que se propage a los demás widgets :( , bueno ahora les adjunto > un ejemplo en el cual creo un par de ventanas cada cual con un boton, > he creado un señal 'sync', e conectado esta señal a cada ventana, así > que lo que yo espero es que cuando emita la señal en la consola > aparesca que fue capturado por ambas ventanas pero esto no sucede, > solo es capturada por una ventana, por la ventana desde la cual se > emite la señal, la señal es emitida cuando hago click sobre un boton. > > Les agradesco cualquier idea que tengan. > > > > > > ------------------------------------------------------------------------ > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From miuler en gmail.com Tue Dec 25 21:16:31 2007 From: miuler en gmail.com (Miuler) Date: Tue, 25 Dec 2007 15:16:31 -0500 Subject: =?UTF-8?Q?Re:__Eventos_se=C3=B1ales_y_dem=C3=A1s?= In-Reply-To: <4770C2A0.8080102@gmail.com> References: <4770C2A0.8080102@gmail.com> Message-ID: Ok, primero, no sabía que no se permitía atachados, por lo que no profundicé más en el codigo, por eso no especifique que era gtk. Segundo, el correo anterior preguntaba sobre como crear eventos, luego encontré que tenía que buscar señales, no eventos, que son dos cosas diferentes. Tercero cross-posting?? por favor, este es un tema que de interes en las dos, pues estoy hablando de GTK, cosa propia de gnome, en este caso esta echo en python, pero si alguien me da una idea en C, normal, me interesa, ya veré yo la forma de hacerlo en en el legunaje que me convenga. El tema principal de las señales de gtk (o pygtk si hablamos del lenguaje python). Bueno le pego el codigo, es un ejemplo, no es mi programa, lo hice especialmente para la lista, para que pueda ser entendido facilmente. ##################################################### #!/usr/bin/python # -*- encoding:utf-8 -*- import gtk import gobject gobject.signal_new('sync', gtk.Window, gobject.SIGNAL_RUN_LAST|gobject.SIGNAL_ACTION, gobject.TYPE_NONE, ()) def emitir_signal(widget=None, b=None): window = widget.get_parent().get_parent() print '\nSeñal emitida por: %s' % window.get_title() window.emit('sync') def captura_signal(a=None, b=None): print 'Señal capturada por: %s' % a.get_title() ## Creando los widgets 1 win1 = gtk.Window() vbox1 = gtk.VBox() button1 = gtk.Button('Boton 1') ## seteo de los widgets button1.connect('clicked', emitir_signal) vbox1.pack_start(button1) win1.set_title('Ventana 1') win1.set_default_size(200, 150) win1.connect('destroy', gtk.main_quit) win1.connect('sync', captura_signal) win1.add(vbox1) win1.show_all() ## Creando los widgets 2 win2 = gtk.Window() vbox2 = gtk.VBox() button2 = gtk.Button('Boton 2') ## seteo de los widgets button2.connect('clicked', emitir_signal) vbox2.pack_start(button2) win2.set_title('Ventana 2') win2.set_default_size(200, 150) win2.connect('destroy', gtk.main_quit) win2.connect('sync', captura_signal) win2.add(vbox2) win2.show_all() gtk.main() ##################################################### On Dec 25, 2007 3:43 AM, Arnau Sanchez wrote: > Veamos... haces referencia a un correo antiguo, pero no pones el enlace > ni haces un resumen del mismo, así que en realidad nadie sabe a ciencia > cierta de qué hablas (¿pyGTK?). Por otra parte, esta lista no admite > adjuntos, así que el código que mandes debe formar parte del propio > texto del correo. Por último, es improbable que el cross-posting te > ayude a obtener más respuestas... > > http://es.wikipedia.org/wiki/Env%C3%ADo_cruzado > > Miuler escribió: > > Hola amigos, bueno como dije en uno de mis correos necesitaba la forma > > de crear eventos, bueno luego encontre que la palabra clave era > > señales, ahora tengo un pequeño problema, y es que cuando emito una > > señol esa señol solo funciona desde el widget instanciado, no puedo > > hacer que se propage a los demás widgets :( , bueno ahora les adjunto > > un ejemplo en el cual creo un par de ventanas cada cual con un boton, > > he creado un señal 'sync', e conectado esta señal a cada ventana, así > > que lo que yo espero es que cuando emita la señal en la consola > > aparesca que fue capturado por ambas ventanas pero esto no sucede, > > solo es capturada por una ventana, por la ventana desde la cual se > > emite la señal, la señal es emitida cuando hago click sobre un boton. > > > > Les agradesco cualquier idea que tengan. > > > > > > > > > > > > ------------------------------------------------------------------------ > > > > _______________________________________________ > > Lista de correo Python-es > > http://listas.aditel.org/listinfo/python-es > > FAQ: http://listas.aditel.org/faqpyes > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- _\|/_ (O-O) --oOO-(_)-OOo---------------------------------------- Hector Miuler Malpica Gallegos Universidad Nacional del Callao - Peru Escuela de Ingenieria Electronica usuario registrado #308608 ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pyarnau en gmail.com Wed Dec 26 10:04:35 2007 From: pyarnau en gmail.com (Arnau Sanchez) Date: Wed, 26 Dec 2007 10:04:35 +0100 Subject: Eventos =?UTF-8?B?c2XDsWFsZXMgeSBkZW3DoXM=?= In-Reply-To: References: <4770C2A0.8080102@gmail.com> Message-ID: <47721923.5050907@gmail.com> > Ok, primero, no sabía que no se permitía atachados, por lo que no > profundicé más en el codigo, por eso no especifique que era gtk. Vale, creo que fui un poco brusco en el otro correo; al tratar de GTK es aceptable enviarlo a las dos listas (aunque no es práctica habitual). Si entiendo bien la pregunta, esperas que al dar a un botón las dos ventanas capturen la señal, pero en el código no parece estar establecida esa relación. En el callback obtienes la ventana padre y la haces un emit, pero sólo a esa. ¿Es este el comportamiento que deseas? (en vez de get_parent() uso argumentos del callback). (Es inusual crear una señal para esto, pero bueno, alguna razón tendrás) #!/usr/bin/python # -*- encoding:utf-8 -*- import gtk import gobject gobject.signal_new('sync', gtk.Window, gobject.SIGNAL_RUN_LAST|gobject.SIGNAL_ACTION, gobject.TYPE_NONE, ()) def emitir_signal(button, window, other_window): print 'Señal emitida por: %s' % window.get_title() window.emit('sync') other_window.emit('sync') def captura_signal(a=None, b=None): print 'Señal capturada por: %s' % a.get_title() ## Creando los widgets 1 win1 = gtk.Window() vbox1 = gtk.VBox() button1 = gtk.Button('Boton 1') ## seteo de los widgets vbox1.pack_start(button1) win1.set_title('Ventana 1') win1.set_default_size(200, 150) win1.connect('destroy', gtk.main_quit) win1.connect('sync', captura_signal) win1.add(vbox1) win1.show_all() ## Creando los widgets 2 win2 = gtk.Window() vbox2 = gtk.VBox() button2 = gtk.Button('Boton 2') ## seteo de los widgets vbox2.pack_start(button2) win2.set_title('Ventana 2') win2.set_default_size(200, 150) win2.connect('destroy', gtk.main_quit) win2.connect('sync', captura_signal) win2.add(vbox2) win2.show_all() button1.connect('clicked', emitir_signal, win1, win2) button2.connect('clicked', emitir_signal, win2, win1) gtk.main() ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From listas en guimi.net Wed Dec 26 10:46:24 2007 From: listas en guimi.net (Guimi) Date: Wed, 26 Dec 2007 10:46:24 +0100 Subject: Guardar y recuperar imagenes en BBDD In-Reply-To: <2c9fb0dd0712232024j673abad7lcd79b3dd2b96f9d4@mail.gmail.com> References: <2c9fb0dd0712232024j673abad7lcd79b3dd2b96f9d4@mail.gmail.com> Message-ID: <477222F0.40707@guimi.net> Chema Cortes escribió: > El 21/12/07, Guimi escribió: >> Hola, >> quiero guardar imágenes en una BBDD MySQL. No una referencia a la >> imágen, a su ubicación en el disco duro, sino guardar la propia imagen >> en la base de datos. >> >> Para ello he creado una tabla de prueba con un campo BLOB para la >> imagen, un campo VARCHAR para el modo de la imagen y dos campos para >> el ancho y el alto. >> >> Guardo la imagen con un código parecido al siguiente: >> ---------------- >> from PIL import Image >> (...) >> imagen = Image.open('prueba.bmp') >> imagenStr = imagen.tostring() >> imagenMode = imagen.mode >> imagenSize = imagen.size >> >> miCursor.execute("insert into prueba (bin, mode, width, height) values >> ( %s, \""+imagenMode+"\", "+str(imagenSize[0])+", >> "+str(imagenSize[1])+" ) ", imagenStr) >> (...) > > Si el campo es BLOB podrías meter directamente los datos de la imagen, > sin procesar por PIL: > > imagen=open('pruega.bmp','rb').read() > miCursor.execute("insert into prueba (bin, mode, width, height) values > ( %s, \""+imagenMode+"\", "+str(imagenSize[0])+", > "+str(imagenSize[1])+" ) ", dbapi.Binary(imagen)) > > No lo he probado, pero debería funcionar. Seguramente sobre la > conversión explícita a Binary (no lo he probado). No conocía esto, lo estudiaré, gracias. En todo caso la imagen se guarda bien con el código que indicaba yo más arriba, pero quizá tenga más ventajas tu sistema. Mi problema está en la recuperación de la imagen, sigo más adelante... >> #Para recuperar la imagen intento: >> >> imagen2 = Image.fromstring(imagenMode, imagenSize, imagenStr) >> cajaScroll.add(imagen2) >> # Esto falla porque espera un objeto tipo gtk.Image >> # No se como generar un objeto gtk.Image desde un objeto Image (de PIL) > > La solución obvia pasa por descargar la imagen que tienes en PIL a un > formato común con GTK.image Sí, es obvio... pero ¿cuál? ¿qué formato puedo usar? El único sistema que he encontrado, y no me gusta, es guardar la imagen en un archivo temporal y después abrir el archivo. ----- Esto es lo que hago ahora (funciona) ----- imagen2 = Image.fromstring(imagenMode, imagenSize, imagenStr) # Lo ideal seria cargar la imagen directamente pero de momento #+ aun no se como pasar una imagen de Image (libreria PIL) a #+ gtk.Image, que es la que entiende GTK, #+ asi que usamos un fichero temporal para ello imagen2.save('xtemp.bmp') imagenGTK = gtk.Image() imagenGTK.set_from_file('xtemp.bmp') cajaScroll.add(imagenGTK) ------------------------------------------------ Para evitar el uso de ficheros una de las cosas que probé fueron los StringIO pero no he conseguido hacer que gtk cargue una imagen desde un StringIO. Otra opcion para mejorar un poco el código, sin ser tampoco lo ideal, parece ser usar para el fichero temporal un módulo llamado tmpfiles o algo así. Solo he visto una referencia a él, pero aún no sé como se usa, si lo tengo instalado... >> >> Tambien he hecho pruebas con StringIO, con gtk.Image... no se por donde tirar... >> ¿Alguien conoce algún tutorial o alguna pista? >> ¿Alguien tiene algún código funcional de guardado y recuperación de >> imagenes en BBDD? > > Tengo alguna cosa, pero para postgresql. No creo que te sea difícil > conseguir ejemplos por internet para mysql. Pues no creas, he estado buscando y no he encontrado ningún ejemplo de guardado y recuperación de imagenes en mysql. Hay muchas referencias y algunas pistas en comentarios, pero no he encontrado ningún ejemplo completo y funcional. En todo caso, como comento, mi problema en este momento está en que recupero una imagen usando la librería PIL y necesito usarla como gtk.Image. Lo solvento con el fichero temporal y funciona... pero no me gusta tener que usar un fichero temporal porque me obliga a tener permisos en el sistema de fichero, que éste sea de lectura-escritura, etc. Probaré lo del guardado binario por si pudiese cargarlo directamente en una gtk.Image. Muchas gracias Saludos Güimi http://guimi.net -- Por el bien de todos respetemos las normas de la lista: http://wiki.debian.org/NormasLista ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pyarnau en gmail.com Wed Dec 26 10:58:31 2007 From: pyarnau en gmail.com (Arnau Sanchez) Date: Wed, 26 Dec 2007 10:58:31 +0100 Subject: Guardar y recuperar imagenes en BBDD In-Reply-To: <477222F0.40707@guimi.net> References: <2c9fb0dd0712232024j673abad7lcd79b3dd2b96f9d4@mail.gmail.com> <477222F0.40707@guimi.net> Message-ID: <477225C7.40107@gmail.com> Guimi escribió: > #+ asi que usamos un fichero temporal para ello > imagen2.save('xtemp.bmp') > imagenGTK = gtk.Image() > imagenGTK.set_from_file('xtemp.bmp') > cajaScroll.add(imagenGTK) > ------------------------------------------------ > > Para evitar el uso de ficheros una de las cosas que probé fueron los > StringIO pero no he conseguido hacer que gtk cargue una imagen desde un > StringIO. Creo que no hay más remedio que usar StringIO, pero tampoco es una solución mala. Consulta esta entrada del FAQ de pygtk: http://faq.pygtk.org/index.py?req=show&file=faq08.007.htp ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From miuler en gmail.com Wed Dec 26 10:59:29 2007 From: miuler en gmail.com (Miuler) Date: Wed, 26 Dec 2007 04:59:29 -0500 Subject: =?UTF-8?Q?Re:__Eventos_se=C3=B1ales_y_dem=C3=A1s?= In-Reply-To: <47721923.5050907@gmail.com> References: <4770C2A0.8080102@gmail.com> <47721923.5050907@gmail.com> Message-ID: Ok, gracias por tu correo, si efectivamente lo que quiero es +- ;-) Lo que quiero es que todas las ventanas sean capaces de capturar una señal cuando es emitida en cualquier lado, en este caso si presiono cualquiera de los botones, las dos ventanas deberían atenderla, realmente no quiero pasarle como parametro una variable con las ventanas, porque podría existir N ventanas, esto lo podría solucionar pasandole una unica variable que contenga la lista de todas las ventanas existentes y hacer un for en todas ellas, para ir emitiendo uno por uno la señal, pero esto no es lo que quiero, yo quiero emitir una sola ves un evento o señal o lo que sea, y que todas las ventanas suscritas a este evento reaccionen, la señal se puse nombre sync, por referencia a sincronizar. En resumen, quiero hacer un emit general, y que todas las ventanas reaccionen, es posible esto? :( On Dec 26, 2007 4:04 AM, Arnau Sanchez wrote: > > Ok, primero, no sabía que no se permitía atachados, por lo que no > > profundicé más en el codigo, por eso no especifique que era gtk. > > Vale, creo que fui un poco brusco en el otro correo; al tratar de GTK es > aceptable enviarlo a las dos listas (aunque no es práctica habitual). > > Si entiendo bien la pregunta, esperas que al dar a un botón las dos > ventanas capturen la señal, pero en el código no parece estar > establecida esa relación. En el callback obtienes la ventana padre y la > haces un emit, pero sólo a esa. > > ¿Es este el comportamiento que deseas? (en vez de get_parent() uso > argumentos del callback). > > (Es inusual crear una señal para esto, pero bueno, alguna razón tendrás) > > #!/usr/bin/python > # -*- encoding:utf-8 -*- > import gtk > import gobject > > gobject.signal_new('sync', gtk.Window, > gobject.SIGNAL_RUN_LAST|gobject.SIGNAL_ACTION, > gobject.TYPE_NONE, ()) > > def emitir_signal(button, window, other_window): > print 'Señal emitida por: %s' % window.get_title() > window.emit('sync') > other_window.emit('sync') > > def captura_signal(a=None, b=None): > print 'Señal capturada por: %s' % a.get_title() > > ## Creando los widgets 1 > win1 = gtk.Window() > vbox1 = gtk.VBox() > button1 = gtk.Button('Boton 1') > ## seteo de los widgets > vbox1.pack_start(button1) > win1.set_title('Ventana 1') > win1.set_default_size(200, 150) > win1.connect('destroy', gtk.main_quit) > win1.connect('sync', captura_signal) > win1.add(vbox1) > win1.show_all() > > ## Creando los widgets 2 > win2 = gtk.Window() > vbox2 = gtk.VBox() > button2 = gtk.Button('Boton 2') > ## seteo de los widgets > vbox2.pack_start(button2) > win2.set_title('Ventana 2') > win2.set_default_size(200, 150) > win2.connect('destroy', gtk.main_quit) > win2.connect('sync', captura_signal) > win2.add(vbox2) > win2.show_all() > > button1.connect('clicked', emitir_signal, win1, win2) > button2.connect('clicked', emitir_signal, win2, win1) > > gtk.main() -- _\|/_ (O-O) --oOO-(_)-OOo---------------------------------------- Hector Miuler Malpica Gallegos Universidad Nacional del Callao - Peru Escuela de Ingenieria Electronica usuario registrado #308608 ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pyarnau en gmail.com Wed Dec 26 11:57:47 2007 From: pyarnau en gmail.com (Arnau Sanchez) Date: Wed, 26 Dec 2007 11:57:47 +0100 Subject: Eventos =?UTF-8?B?c2XDsWFsZXMgeSBkZW3DoXM=?= In-Reply-To: References: <4770C2A0.8080102@gmail.com> <47721923.5050907@gmail.com> Message-ID: <477233AB.309@gmail.com> Miuler escribió: > En resumen, quiero hacer un emit general, y que todas las ventanas > reaccionen, es posible esto? :( Hasta donde yo sé, no (al menos no de forma "elegante"). Forzando la máquina hasta crujir se podría hacer: for window in gtk.window_list_toplevels(): if gobject.signal_lookup("sync", window): window.emit('sync') Pero, además de feo, sólo sirve para las ventanas en toplevel. ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pepe en diselpro.com Wed Dec 26 12:34:03 2007 From: pepe en diselpro.com (Pepe Aracil) Date: Wed, 26 Dec 2007 12:34:03 +0100 Subject: Eventos =?ISO-8859-1?Q?se=F1ales_y_dem=E1s?= In-Reply-To: References: <4770C2A0.8080102@gmail.com> <47721923.5050907@gmail.com> Message-ID: <47723C2B.7010902@diselpro.com> Hola Miuler. Mira este código que hice hace tiempo y que hace algo similar a lo que tu necesitas. Se trata de un sitema de envío y recepción de mensajes por subscripción. Cada clase que deba recibir mensajes, debe tener un método broadcast_cb y debe subscribirse a los mensajes que quiere recibir. Aquí tienes el código que viene con un ejemplo: [code broadcast.py] #! /usr/bin/python import weakref class Broadcast: def __init__(self): self.messages={} def __purge_cb(self,ref): #print "Eliminando %s" % ref for msg in self.messages.keys(): if (ref in self.messages[msg]): self.messages[msg].remove(ref) if len(self.messages[msg]) == 0: del(self.messages[msg]) def register(self,owner,messages): wr_owner = weakref.ref(owner,self.__purge_cb) #print "Registrando %s" % wr_owner if not isinstance(messages,(list,tuple)): messages = (messages,) for msg in messages: if not (msg in self.messages): self.messages[msg] = [] if not (wr_owner in self.messages[msg]): self.messages[msg].append(wr_owner) def unregister(self,owner,messages): wr_owner = weakref.ref(owner) if not isinstance(messages,(list,tuple)): messages = (messages,) for msg in messages: if not (msg in self.messages): continue if (wr_owner in self.messages[msg]): self.messages[msg].remove(wr_owner) def unregister_all(self,owner): all_messages = self.messages.keys() self.unregister(owner,all_messages) def broadcast(self,sender,message,*params): results=[] # Enviamos mensaje a los listeners "promiscuos" if "_promisc_" in self.messages: for lst in self.messages["_promisc_"]: ref=lst() if ref: ref.broadcast_cb(sender,message,*params) # Enviamos mensaje a los listeners subscritos if message in self.messages: for lst in self.messages[message]: ref=lst() if ref: res = ref.broadcast_cb(sender,message,*params) if res <> None: results.append((sender,res)) if len(results) > 0: return results if __name__=="__main__": class WindowA: def __init__(self,broadcast): self.broadcast = broadcast self.broadcast.register(self,("Mensaje1","Mensaje2")) def broadcast_cb(self,sender,message,*params): print "Recibido desde %s" % self print "Enviado por %s" % sender print "Mensaje %s" % message print "Paramatros extra %s" % (params,) return "Retorno WindowA" class WindowB: def __init__(self,broadcast): self.broadcast = broadcast self.broadcast.register(self,("Mensaje1")) def broadcast_cb(self,sender,message,*params): print "Recibido desde %s" % self print "Enviado por %s" % sender print "Mensaje %s" % message print "Paramatros extra %s" % (params,) return "Retorno WindowB" broadcast = Broadcast() wina=WindowA(broadcast) winb=WindowB(broadcast) ret = broadcast.broadcast(None,"Mensaje1",1,2,3) print "Retorno: %s" %(ret,) ret = broadcast.broadcast(None,"Mensaje2",3,4,5) print "Retorno: %s" %(ret,) print broadcast.unregister(wina,"Mensaje2") print "wina se ha desregistrado de Mensaje2" ret = broadcast.broadcast(None,"Mensaje1",1,2,3) print "Retorno: %s" %(ret,) ret = broadcast.broadcast(None,"Mensaje2",3,4,5) print "Retorno: %s" %(ret,) print del(winb) print "winb eliminada" ret = broadcast.broadcast(None,"Mensaje1",1,2,3) print "Retorno: %s" %(ret,) ret = broadcast.broadcast(None,"Mensaje2",3,4,5) print "Retorno: %s" %(ret,) print [code end] Miuler escribió: > Ok, gracias por tu correo, si efectivamente lo que quiero es +- ;-) > Lo que quiero es que todas las ventanas sean capaces de capturar una > señal cuando es emitida en cualquier lado, en este caso si presiono > cualquiera de los botones, las dos ventanas deberían atenderla, > realmente no quiero pasarle como parametro una variable con las > ventanas, porque podría existir N ventanas, esto lo podría solucionar > pasandole una unica variable que contenga la lista de todas las > ventanas existentes y hacer un for en todas ellas, para ir emitiendo > uno por uno la señal, pero esto no es lo que quiero, yo quiero emitir > una sola ves un evento o señal o lo que sea, y que todas las ventanas > suscritas a este evento reaccionen, la señal se puse nombre sync, por > referencia a sincronizar. > > En resumen, quiero hacer un emit general, y que todas las ventanas > reaccionen, es posible esto? :( > > > On Dec 26, 2007 4:04 AM, Arnau Sanchez wrote: >> > Ok, primero, no sabía que no se permitía atachados, por lo que no >> > profundicé más en el codigo, por eso no especifique que era gtk. >> >> Vale, creo que fui un poco brusco en el otro correo; al tratar de GTK es >> aceptable enviarlo a las dos listas (aunque no es práctica habitual). >> >> Si entiendo bien la pregunta, esperas que al dar a un botón las dos >> ventanas capturen la señal, pero en el código no parece estar >> establecida esa relación. En el callback obtienes la ventana padre y la >> haces un emit, pero sólo a esa. >> >> ¿Es este el comportamiento que deseas? (en vez de get_parent() uso >> argumentos del callback). >> >> (Es inusual crear una señal para esto, pero bueno, alguna razón tendrás) >> >> #!/usr/bin/python >> # -*- encoding:utf-8 -*- >> import gtk >> import gobject >> >> gobject.signal_new('sync', gtk.Window, >> gobject.SIGNAL_RUN_LAST|gobject.SIGNAL_ACTION, >> gobject.TYPE_NONE, ()) >> >> def emitir_signal(button, window, other_window): >> print 'Señal emitida por: %s' % window.get_title() >> window.emit('sync') >> other_window.emit('sync') >> >> def captura_signal(a=None, b=None): >> print 'Señal capturada por: %s' % a.get_title() >> >> ## Creando los widgets 1 >> win1 = gtk.Window() >> vbox1 = gtk.VBox() >> button1 = gtk.Button('Boton 1') >> ## seteo de los widgets >> vbox1.pack_start(button1) >> win1.set_title('Ventana 1') >> win1.set_default_size(200, 150) >> win1.connect('destroy', gtk.main_quit) >> win1.connect('sync', captura_signal) >> win1.add(vbox1) >> win1.show_all() >> >> ## Creando los widgets 2 >> win2 = gtk.Window() >> vbox2 = gtk.VBox() >> button2 = gtk.Button('Boton 2') >> ## seteo de los widgets >> vbox2.pack_start(button2) >> win2.set_title('Ventana 2') >> win2.set_default_size(200, 150) >> win2.connect('destroy', gtk.main_quit) >> win2.connect('sync', captura_signal) >> win2.add(vbox2) >> win2.show_all() >> >> button1.connect('clicked', emitir_signal, win1, win2) >> button2.connect('clicked', emitir_signal, win2, win1) >> >> gtk.main() > > > > ------------------------------------------------------------------------ > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From listas en guimi.net Wed Dec 26 13:47:13 2007 From: listas en guimi.net (Guimi) Date: Wed, 26 Dec 2007 13:47:13 +0100 Subject: Guardar y recuperar imagenes en BBDD In-Reply-To: <477225C7.40107@gmail.com> References: <2c9fb0dd0712232024j673abad7lcd79b3dd2b96f9d4@mail.gmail.com> <477222F0.40707@guimi.net> <477225C7.40107@gmail.com> Message-ID: <47724D51.3060905@guimi.net> Hola, la pista de Arnau ha sido la definitiva, gracias a todos. Para el archivo dejo como ha quedado todo mi código perfectamente funcional: ---------------------------------------------------- # Guardar imagenes en un campo BLOB de MySQL imagen = Image.open('ejemplo.bmp') imagenStr = imagen.tostring() imagenMode = imagen.mode imagenSize = imagen.size miCursor.execute("insert into prueba (bin, mode, width, height) values ( %s, \""+imagenMode+"\", "+str(imagenSize[0])+", "+str(imagenSize[1])+" ) ", imagenStr) (...) # Recuperar imagenes de un campo BLOB de MySQL #+ (Suponemos que tenemos toda la fila de datos en "datos" imagenStr = datos[0] imagenMode = datos[1] imagenWidth = datos[2] imagenHeight = datos[3] imagenSize = (imagenWidth, imagenHeight) imagen = Image.fromstring(imagenMode, imagenSize, imagenStr) # Usamos una funcion para convertir Image a Pixbuf imagenPB = self.Image_to_GdkPixbuf(imagen) imagenGTK = gtk.Image() imagenGTK.set_from_pixbuf(imagenPB) cajaScroll.add(imagenGTK) (...) # La funcion que hace la "magia" es original de Sebastian Wilhelmi #+ (seppi at seppi.de) #+ Tomada de http://www.daa.com.au/pipermail/pygtk/2003-June/005268.html def Image_to_GdkPixbuf(self, image): #import pygtk #pygtk.require("2.0") #import gtk #import StringIO #import Image file = StringIO.StringIO () image.save (file, 'ppm') contents = file.getvalue() file.close () loader = gtk.gdk.PixbufLoader ('pnm') loader.write (contents, len (contents)) pixbuf = loader.get_pixbuf () loader.close () return pixbuf ---------------------------------------------------- Saludos Güimi http://guimi.net ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From listas en guimi.net Wed Dec 26 13:56:39 2007 From: listas en guimi.net (Guimi) Date: Wed, 26 Dec 2007 13:56:39 +0100 Subject: Manejar un BIN (o una cadena MUY larga) en un ListStore Message-ID: <47724F87.8080206@guimi.net> Hola, guardo en una base de datos MySQl informacion diversa, entre otras cosas fotos. Tengo una funcion que se encarga de consultar la BDD, volcar los datos a un ListStore y mostrar parte de los datos con TreeView + CellRender. Las imagenes de la BDD NO se muestran en el TreeView (al menos de momento ;-) pero me interesa almacenarlas igualmente en el ListStore y recuperarlas posteriormente para mostrarlas en otros lugares (se supone que esa es la ventaja de un modelo MVC en el que los datos se independizan de la presentación). Pero me he encontrado con que no consigo almacenar la información de la imagen en el ListStore. Probablemente sea porque no encuentro el tipo adecuado. Actualmente uso str, es decir hago: lista = gtk.ListStore(int, str, str, int, int) y en la segunda columna (str) guardo la imagen, pero cuando la recupero está corrupta (quizá porque es demasiado grande :-?). No es problema de la información que extraigo de la BDD, que es correcta y la puedo visualizar correctamente (gracias a otro hilo ya cerrado en esta lista :-). Resumiendo ¿cómo guardaríais un image.tostring() en un ListStore? (si se puede). Muchas gracias Saludos Güimi http://guimi.net ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From carlosfvo en gmail.com Wed Dec 26 14:29:15 2007 From: carlosfvo en gmail.com (carlos villa) Date: Wed, 26 Dec 2007 08:29:15 -0500 Subject: m2crypto Message-ID: <629497540712260529j7307423eva19e0f93f0c08fd6@mail.gmail.com> buenos dias alguien sabe si existe m2crypto para python 2.5 en windows me urge. y donde lo puedo encontrar gracias. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From minoztro en gmail.com Wed Dec 26 15:26:36 2007 From: minoztro en gmail.com (Milton Galo Patricio Inostroza Aguilera) Date: Wed, 26 Dec 2007 11:26:36 -0300 Subject: Manejar un BIN (o una cadena MUY larga) en un ListStore In-Reply-To: <47724F87.8080206@guimi.net> References: <47724F87.8080206@guimi.net> Message-ID: <172699c50712260626o763015a4mac8ee8f5e68866d@mail.gmail.com> El 26/12/07, Guimi escribió: > Hola, > guardo en una base de datos MySQl informacion diversa, entre otras cosas > fotos. > Tengo una funcion que se encarga de consultar la BDD, volcar los datos a > un ListStore y mostrar parte de los datos con TreeView + CellRender. > > Las imagenes de la BDD NO se muestran en el TreeView (al menos de > momento ;-) pero me interesa almacenarlas igualmente en el ListStore y > recuperarlas posteriormente para mostrarlas en otros lugares (se supone > que esa es la ventaja de un modelo MVC en el que los datos se > independizan de la presentación). > > Pero me he encontrado con que no consigo almacenar la información de la > imagen en el ListStore. Probablemente sea porque no encuentro el tipo > adecuado. Actualmente uso str, es decir hago: > lista = gtk.ListStore(int, str, str, int, int) > y en la segunda columna (str) guardo la imagen, pero cuando la recupero al parecer debes utilizar gtk.gdk.Pixbuf, puedes leer más acá [0] [0] http://www.pygtk.org/pygtk2tutorial-es/sec-TreeModelInterface.html > está corrupta (quizá porque es demasiado grande :-?). si piensas eso prueba con imágenes pequeñas > > No es problema de la información que extraigo de la BDD, que es correcta > y la puedo visualizar correctamente (gracias a otro hilo ya cerrado en > esta lista :-). > > Resumiendo ¿cómo guardaríais un image.tostring() en un ListStore? (si se > puede). > > Muchas gracias > Saludos > Güimi > http://guimi.net > > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Milton Inostroza Aguilera _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From muchochini en gmail.com Wed Dec 26 18:23:58 2007 From: muchochini en gmail.com (Miguel Araujo) Date: Wed, 26 Dec 2007 18:23:58 +0100 Subject: entendiendo qtdesigner4 y pyqt4 Message-ID: Hola amantes del python, Estoy trabajando en una implementación GPL en Python del algoritmo del Simplex para mi asignatura de Investigación Operativa. Quiero utilizar las librerías gráficas Qt. En su día ya usé la versión 3 para un software en C++. Me gustaría saber si la versión4 que estoy utilizando es estable, ya que KDE4 aún no ha salido, y si no estoy equivocado estas librerías gráficas se corresponden con este entorno, ¿cierto? Me he instalado Qtdesigner4 y he estado leyendo sobre sus principales diferencias con la versión3. Por si alguien le interesan, aquí se especifican: http://doc.trolltech.com/4.1/porting4-designer.html Me ha chocado mucho no poder definir mis propios slots desde qtdesigner. Si no puedo definirlos desde ahí, tendré que definir los slots escribiendo el código ¿no? ¿no hay otro método desde qtdesigner? ¿por qué lo han quitado? Así que siguiendo los pasos que se detallan en estos manuales: http://kib2.free.fr/pyqt4/pyqt4.html http://www.zetcode.com/tutorials/pyqt4/eventsandsignals/ Cree de mi .uic un fichero con el código necesario, incluyendo main para lanzar la ventana. Luego Añadí un connect al slot close() y funcionó. El problema es que cuando intento añadir un slot propio deja de funcionar. Muestro código de la ventana de bienvenida (consiste en 2 preguntas y dos cajas de texto y un botón para continuar cuya función será crear la interfaz donde el usuario introducirá las variables): # -*- coding: utf-8 -*- # Form implementation generated from reading ui file 'simplexator.ui' # # Created: Wed Dec 26 17:12:25 2007 # by: PyQt4 UI code generator 4.1 # # WARNING! All changes made in this file will be lost! import sys from PyQt4 import QtCore, QtGui class QDialogChild(QtGui.QDialog): def cerrar(self,QDialog): print "adios" sys.exit(1) class SimplexatorWidget(QtGui.QWidget): def setupUi(self, Dialog): Dialog.setObjectName("Dialog") Dialog.resize(QtCore.QSize(QtCore.QRect (0,0,316,153).size()).expandedTo(Dialog.minimumSizeHint())) self.label = QtGui.QLabel(Dialog) self.label.setGeometry(QtCore.QRect(20,30,203,21)) self.label.setObjectName("label") self.lineEdit = QtGui.QLineEdit(Dialog) self.lineEdit.setGeometry(QtCore.QRect(260,30,31,27)) self.lineEdit.setObjectName("lineEdit") self.lineEdit_2 = QtGui.QLineEdit(Dialog) self.lineEdit_2.setGeometry(QtCore.QRect(260,70,31,27)) self.lineEdit_2.setObjectName("lineEdit_2") self.label_2 = QtGui.QLabel(Dialog) self.label_2.setGeometry(QtCore.QRect(20,70,228,21)) self.label_2.setObjectName("label_2") self.boton_continuar = QtGui.QPushButton(Dialog) self.boton_continuar.setGeometry(QtCore.QRect(210,110,80,27)) self.boton_continuar.setObjectName("boton_continuar") self.retranslateUi(Dialog) QtCore.QMetaObject.connectSlotsByName(Dialog) self.connect(self.boton_continuar, QtCore.SIGNAL('clicked()'), Dialog , QtCore.SLOT('cerrar()') ) def retranslateUi(self, Dialog): Dialog.setWindowTitle(QtGui.QApplication.translate("Dialog", "Dialog", None, QtGui.QApplication.UnicodeUTF8)) self.label.setText(QtGui.QApplication.translate("Dialog", "¿Cuántas variables tiene tu PPL?", None, QtGui.QApplication.UnicodeUTF8)) self.label_2.setText(QtGui.QApplication.translate("Dialog", "¿Cuántas restricciones tiene tu PPL?", None, QtGui.QApplication.UnicodeUTF8 )) self.boton_continuar.setText(QtGui.QApplication.translate("Dialog", "Continuar", None, QtGui.QApplication.UnicodeUTF8)) if __name__ == "__main__": app = QtGui.QApplication(sys.argv) Dialog = QDialogChild() ui = SimplexatorWidget() ui.setupUi(Dialog) Dialog.show() sys.exit(app.exec_()) El error que muestra es: Object::connect: No such slot QDialog::cerrar() No sé porque no funciona si he creado una clase hija con herencia simple que define la función callable cerrar. Gracias de antemano por cualquier ayuda, documentación al respecto o comentario. Un saludo Miguel _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From miuler en gmail.com Wed Dec 26 18:31:19 2007 From: miuler en gmail.com (Miuler) Date: Wed, 26 Dec 2007 12:31:19 -0500 Subject: =?UTF-8?Q?Re:__Eventos_se=C3=B1ales_y_dem=C3=A1s?= In-Reply-To: <477233AB.309@gmail.com> References: <4770C2A0.8080102@gmail.com> <47721923.5050907@gmail.com> <477233AB.309@gmail.com> Message-ID: Si ok, eso es lo que me temo, no hay forma directamente con gtk, parece que el camino es de olvidarme de usar gtk para esta parte. Ok, gracias Armau. On Dec 26, 2007 5:57 AM, Arnau Sanchez wrote: > Miuler escribió: > > > En resumen, quiero hacer un emit general, y que todas las ventanas > > reaccionen, es posible esto? :( > > Hasta donde yo sé, no (al menos no de forma "elegante"). Forzando la > máquina hasta crujir se podría hacer: > > for window in gtk.window_list_toplevels(): > if gobject.signal_lookup("sync", window): > window.emit('sync') > > Pero, además de feo, sólo sirve para las ventanas en toplevel. > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- _\|/_ (O-O) --oOO-(_)-OOo---------------------------------------- Hector Miuler Malpica Gallegos Universidad Nacional del Callao - Peru Escuela de Ingenieria Electronica usuario registrado #308608 ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From miuler en gmail.com Wed Dec 26 18:38:11 2007 From: miuler en gmail.com (Miuler) Date: Wed, 26 Dec 2007 12:38:11 -0500 Subject: =?UTF-8?Q?Re:__Eventos_se=C3=B1ales_y_dem=C3=A1s?= In-Reply-To: <47723C2B.7010902@diselpro.com> References: <4770C2A0.8080102@gmail.com> <47721923.5050907@gmail.com> <47723C2B.7010902@diselpro.com> Message-ID: Gacias Pepe, al perecer las cosas tiran por este lado, tener que hacer una lista con las referencias de quienes quiero que escuchen el evento, claro usando weakref, jeje me acuerdo a ver leido una ves hace tiempo sobre weakref, pero ya ni me acordaba, gracias otra vez, bueno les dejo la url de otro ejemplo usando weakref: http://osdir.com/ml/python.general.castellano/2004-03/msg00116.html On Dec 26, 2007 6:34 AM, Pepe Aracil wrote: > Hola Miuler. > > Mira este código que hice hace tiempo y que hace algo similar a lo > que tu necesitas. > Se trata de un sitema de envío y recepción de mensajes por subscripción. > Cada clase que deba recibir mensajes, debe tener un método broadcast_cb > y debe subscribirse a los mensajes que quiere recibir. > > Aquí tienes el código que viene con un ejemplo: > > [code broadcast.py] > #! /usr/bin/python > import weakref > > class Broadcast: > def __init__(self): > self.messages={} > > def __purge_cb(self,ref): > #print "Eliminando %s" % ref > for msg in self.messages.keys(): > if (ref in self.messages[msg]): > self.messages[msg].remove(ref) > if len(self.messages[msg]) == 0: > del(self.messages[msg]) > > def register(self,owner,messages): > wr_owner = weakref.ref(owner,self.__purge_cb) > #print "Registrando %s" % wr_owner > if not isinstance(messages,(list,tuple)): > messages = (messages,) > > for msg in messages: > if not (msg in self.messages): > self.messages[msg] = [] > if not (wr_owner in self.messages[msg]): > self.messages[msg].append(wr_owner) > > def unregister(self,owner,messages): > wr_owner = weakref.ref(owner) > if not isinstance(messages,(list,tuple)): > messages = (messages,) > > for msg in messages: > if not (msg in self.messages): > continue > if (wr_owner in self.messages[msg]): > self.messages[msg].remove(wr_owner) > > def unregister_all(self,owner): > all_messages = self.messages.keys() > self.unregister(owner,all_messages) > > def broadcast(self,sender,message,*params): > results=[] > # Enviamos mensaje a los listeners "promiscuos" > if "_promisc_" in self.messages: > for lst in self.messages["_promisc_"]: > ref=lst() > if ref: > ref.broadcast_cb(sender,message,*params) > > # Enviamos mensaje a los listeners subscritos > if message in self.messages: > for lst in self.messages[message]: > ref=lst() > if ref: > res = ref.broadcast_cb(sender,message,*params) > if res <> None: > results.append((sender,res)) > if len(results) > 0: > return results > > > if __name__=="__main__": > > class WindowA: > def __init__(self,broadcast): > self.broadcast = broadcast > self.broadcast.register(self,("Mensaje1","Mensaje2")) > > def broadcast_cb(self,sender,message,*params): > print "Recibido desde %s" % self > print "Enviado por %s" % sender > print "Mensaje %s" % message > print "Paramatros extra %s" % (params,) > return "Retorno WindowA" > > class WindowB: > def __init__(self,broadcast): > self.broadcast = broadcast > self.broadcast.register(self,("Mensaje1")) > > def broadcast_cb(self,sender,message,*params): > print "Recibido desde %s" % self > print "Enviado por %s" % sender > print "Mensaje %s" % message > print "Paramatros extra %s" % (params,) > return "Retorno WindowB" > > > broadcast = Broadcast() > wina=WindowA(broadcast) > winb=WindowB(broadcast) > > ret = broadcast.broadcast(None,"Mensaje1",1,2,3) > print "Retorno: %s" %(ret,) > ret = broadcast.broadcast(None,"Mensaje2",3,4,5) > print "Retorno: %s" %(ret,) > print > > broadcast.unregister(wina,"Mensaje2") > print "wina se ha desregistrado de Mensaje2" > ret = broadcast.broadcast(None,"Mensaje1",1,2,3) > print "Retorno: %s" %(ret,) > ret = broadcast.broadcast(None,"Mensaje2",3,4,5) > print "Retorno: %s" %(ret,) > print > > del(winb) > print "winb eliminada" > ret = broadcast.broadcast(None,"Mensaje1",1,2,3) > print "Retorno: %s" %(ret,) > ret = broadcast.broadcast(None,"Mensaje2",3,4,5) > print "Retorno: %s" %(ret,) > print > [code end] > -- _\|/_ (O-O) --oOO-(_)-OOo---------------------------------------- Hector Miuler Malpica Gallegos Universidad Nacional del Callao - Peru Escuela de Ingenieria Electronica usuario registrado #308608 ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From tecnicosrocha en adinet.com.uy Thu Dec 27 12:04:41 2007 From: tecnicosrocha en adinet.com.uy (=?ISO-8859-1?Q?T=E9cnicos?=) Date: Thu, 27 Dec 2007 09:04:41 -0200 Subject: Importar un =?iso-8859-1?q?m=F3dulo_seg=FAn_la_versi=F3n_de_pytho?= =?iso-8859-1?q?n_=28sqlite=29?= Message-ID: <477386C9.3000703@adinet.com.uy> Hola lista. Tengo unos pequeños scripts que pueden correr en máquinas con python 2.4 o 2.5 y usan una base sqlite. Para importar el módulo correctamente hago esto: # -*- coding: utf-8 -*- import sys if sys.version_info>=(2,5): from sqlite3 import dbapi2 as sqlite else: from pysqlite2 import dbapi2 as sqlite Me funciona, pero la duda es: ¿es esta la manera correcta? Saludos _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From rapto en arrakis.es Thu Dec 27 13:20:28 2007 From: rapto en arrakis.es (Marcos =?ISO-8859-1?Q?S=E1nchez?= Provencio) Date: Thu, 27 Dec 2007 13:20:28 +0100 Subject: Guardar y recuperar imagenes en BBDD In-Reply-To: <47724D51.3060905@guimi.net> References: <2c9fb0dd0712232024j673abad7lcd79b3dd2b96f9d4@mail.gmail.com> <477222F0.40707@guimi.net> <477225C7.40107@gmail.com> <47724D51.3060905@guimi.net> Message-ID: <1198758028.8819.41.camel@savin> Yo aún diría más: miCursor.execute("""insert into prueba (bin, mode, width, height) values (%s, %s, %s, %s)""", (imagenStr,imagenMode,imagenSize[0],imagenSize[1]) ) [sin probar] El mié, 26-12-2007 a las 13:47 +0100, Guimi escribió: > miCursor.execute("insert into prueba (bin, mode, width, height) values > ( > %s, \""+imagenMode+"\", "+str(imagenSize[0])+", > "+str(imagenSize[1])+" ) > ", imagenStr) ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pych3m4 en gmail.com Thu Dec 27 13:44:14 2007 From: pych3m4 en gmail.com (Chema Cortes) Date: Thu, 27 Dec 2007 13:44:14 +0100 Subject: =?ISO-8859-1?Q?Re:__Importar_un_m=F3dulo_?= =?ISO-8859-1?Q?seg=FAn_la_versi=F3n_de_python_(sqlite)?= In-Reply-To: <477386C9.3000703@adinet.com.uy> References: <477386C9.3000703@adinet.com.uy> Message-ID: <2c9fb0dd0712270444m59742e3eo4f65f78442e12e1@mail.gmail.com> El 2007/12/27, Técnicos escribió: > Tengo unos pequeños scripts que pueden correr > en máquinas con python 2.4 o 2.5 y usan una > base sqlite. > Para importar el módulo correctamente hago esto: > > # -*- coding: utf-8 -*- > import sys > if sys.version_info>=(2,5): > from sqlite3 import dbapi2 as sqlite > else: > from pysqlite2 import dbapi2 as sqlite > > Me funciona, pero la duda es: > ¿es esta la manera correcta? Si funciona y se entiende bien, entonces está correcto. No le daría más vueltas. Hay quien prefiere no comprobar nada, entrar a importar los módulos y capturar excepciones si fuera preciso, algo así: try: from sqlite3 import dbapi2 as sqlite except ImportError: from pysqlite2 import dbapi2 as sqlite En tu caso, teniendo controlado el entorno donde se ejecutará el script, dejaría tu código tal cuál. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From maengora en gmail.com Thu Dec 27 18:05:13 2007 From: maengora en gmail.com (=?ISO-8859-1?Q?Manuel_Enrique_Gonz=E1lez_Ram=EDrez?=) Date: Thu, 27 Dec 2007 12:05:13 -0500 Subject: Calcular edad Message-ID: Cordial saludo a tod en s. Perdon por mi ignorancia pero la verdad es que lo he intentado muchas veces, de varias formas y no he podido. Mi problema?? Uso VisualWx y tengo un form con un StaticText llamado fecha de nacimiento donde el usuario debe ingresar su fecha de nacimiento en el formato aaaa-mm-dd y en otro StaticText debe aparecer la edad. Lo que he hecho: 1) Me funciona desde consola, lo he visto en una web pero no se como acloparlo al form que tengo en VisualWx import datetime from time import strptime # La fecha de hoy es: hoy = datetime.datetime.now().date() s = "1976-05-26T00:00:00" ayer = hoy + datetime.timedelta(days=-1) # Y para mañana, sumamos un día manana = hoy + datetime.timedelta(days=1) #cal = datetime.timedelta(fecha) - datetime.timedelta(hoy) print 'Hoy es ',hoy print 'Ayer fue ',ayer print 'Mañana sera ',manana #print 'Edad ',calc 2) Tambien encontre este codigo navegando, pero al llevarlo al VisualWx me dice que desconoce from datetime import date def diferencia(date1,date2): d1 = date(int(date1[0:4]),int(date1[5:7]),int(date1[-2:])) d2 = date(int(date2[0:4]),int(date2[5:7]),int(date2[-2:])) dif = d2 - d1 return dif.days def obtener edad(self,event): fecha1 = self.txt_fecnac.GetValue() hoy = datetime.datetime.now().date() numeroDias = diferencia(fecha1,hoy) edad = numeroDias/365 self.txt_edad.SetLabel(str(edad)) -----------Ambos me funcionan si los ejecuto desde consola, mas no si trato de acloparlos en VisualWx---------------------- Agradezco cualquier ayuda. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From santidelgado en gmail.com Thu Dec 27 22:35:31 2007 From: santidelgado en gmail.com (Santiago David Delgado Llopis) Date: Thu, 27 Dec 2007 22:35:31 +0100 Subject: =?iso-8859-1?q?=BFComo_borro_la_pantalla_de_un_termi?= =?iso-8859-1?q?nal=3F?= Message-ID: <7fba75ac0712271335u7a7f9b62sa4ef880ea02a969f@mail.gmail.com> Hola: Estoy implementando unos módulos de un programa que (de momento) se ejecutan en consola de texto (en Linux). Pues bien, me gustaría saber cómo puedo borrar la consola para poder imprimir desde la primera linea del terminal. Algo así como un cls pero para Python. Un saludo y gracias por adelantado. -- _______________________________ Santiago David Delgado Llopis Técnico Superior en S.T.I. _______________________________ >>> http://www.licenciaslibres.org _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From leandrotocalini en gmail.com Thu Dec 27 23:06:11 2007 From: leandrotocalini en gmail.com (leandro tocalini) Date: Thu, 27 Dec 2007 19:06:11 -0300 Subject: =?ISO-8859-1?Q?Re:__=BFComo_borro?= =?ISO-8859-1?Q?_la_pantalla_de_un_terminal=3F?= In-Reply-To: <7fba75ac0712271335u7a7f9b62sa4ef880ea02a969f@mail.gmail.com> References: <7fba75ac0712271335u7a7f9b62sa4ef880ea02a969f@mail.gmail.com> Message-ID: Y si haces un callsys con el comando clear ¿? Puede andar?? On 12/27/07, Santiago David Delgado Llopis wrote: > > Hola: > Estoy implementando unos módulos de un programa que (de momento) se > ejecutan en consola de texto (en Linux). Pues bien, me gustaría saber > cómo puedo borrar la consola para poder imprimir desde la primera > linea del terminal. Algo así como un cls pero para Python. > Un saludo y gracias por adelantado. > > -- > _______________________________ > > Santiago David Delgado Llopis > Técnico Superior en S.T.I. > _______________________________ > >>> http://www.licenciaslibres.org > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From andresmartinochoa en gmail.com Thu Dec 27 23:24:21 2007 From: andresmartinochoa en gmail.com (=?ISO-8859-1?Q?Andr=E9s_Mart=EDn_-_martyn?=) Date: Thu, 27 Dec 2007 17:24:21 -0500 Subject: =?ISO-8859-1?Q?Re:__=BFComo_borro?= =?ISO-8859-1?Q?_la_pantalla_de_un_terminal=3F?= In-Reply-To: References: <7fba75ac0712271335u7a7f9b62sa4ef880ea02a969f@mail.gmail.com> Message-ID: <8c1b00b30712271424o490ae521w4734e60971397180@mail.gmail.com> Hola # python Python 2.4.4 (#2, Apr 5 2007, 20:11:18) [GCC 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import os >>> os.system('clear') saludos XD. On Dec 27, 2007 5:06 PM, leandro tocalini wrote: > Y si haces un callsys con el comando clear ¿? > Puede andar?? > > > On 12/27/07, Santiago David Delgado Llopis wrote: > > > > Hola: > > Estoy implementando unos módulos de un programa que (de momento) se > > ejecutan en consola de texto (en Linux). Pues bien, me gustaría saber > > cómo puedo borrar la consola para poder imprimir desde la primera > > linea del terminal. Algo así como un cls pero para Python. > > Un saludo y gracias por adelantado. > > > > -- > > _______________________________ > > > > Santiago David Delgado Llopis > > Técnico Superior en S.T.I. > > _______________________________ > > >>> http://www.licenciaslibres.org > > _______________________________________________ > > Lista de correo Python-es > > http://listas.aditel.org/listinfo/python-es > > FAQ: http://listas.aditel.org/faqpyes > > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Andrés Martín Ochoa; passport: andresmartin en linuxmail.org; Linux Registered User #436420; Pbx: (57) 1 578 20 30 Ext: 102 _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From leandrotocalini en gmail.com Thu Dec 27 23:32:08 2007 From: leandrotocalini en gmail.com (leandro tocalini) Date: Thu, 27 Dec 2007 19:32:08 -0300 Subject: =?ISO-8859-1?Q?Re:__=BFComo_borro?= =?ISO-8859-1?Q?_la_pantalla_de_un_terminal=3F?= In-Reply-To: <8c1b00b30712271424o490ae521w4734e60971397180@mail.gmail.com> References: <7fba75ac0712271335u7a7f9b62sa4ef880ea02a969f@mail.gmail.com> <8c1b00b30712271424o490ae521w4734e60971397180@mail.gmail.com> Message-ID: Justamente... On 12/27/07, Andrés Martín - martyn wrote: > > Hola > > # python > Python 2.4.4 (#2, Apr 5 2007, 20:11:18) > [GCC 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)] on linux2 > Type "help", "copyright", "credits" or "license" for more information. > >>> import os > >>> os.system('clear') > > saludos XD. > > On Dec 27, 2007 5:06 PM, leandro tocalini > wrote: > > > Y si haces un callsys con el comando clear ¿? > > Puede andar?? > > > > > > On 12/27/07, Santiago David Delgado Llopis > wrote: > > > > > > Hola: > > > Estoy implementando unos módulos de un programa que (de momento) se > > > ejecutan en consola de texto (en Linux). Pues bien, me gustaría saber > > > cómo puedo borrar la consola para poder imprimir desde la primera > > > linea del terminal. Algo así como un cls pero para Python. > > > Un saludo y gracias por adelantado. > > > > > > -- > > > _______________________________ > > > > > > Santiago David Delgado Llopis > > > Técnico Superior en S.T.I. > > > _______________________________ > > > >>> http://www.licenciaslibres.org > > > _______________________________________________ > > > Lista de correo Python-es > > > http://listas.aditel.org/listinfo/python-es > > > FAQ: http://listas.aditel.org/faqpyes > > > > > _______________________________________________ > > Lista de correo Python-es > > http://listas.aditel.org/listinfo/python-es > > FAQ: http://listas.aditel.org/faqpyes > > > > > > -- > Andrés Martín Ochoa; > passport: andresmartin en linuxmail.org; > Linux Registered User #436420; > Pbx: (57) 1 578 20 30 > Ext: 102 > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From oinos en web.de Fri Dec 28 00:57:36 2007 From: oinos en web.de (=?ISO-8859-1?Q?Pablo_Rodr=EDguez?=) Date: Fri, 28 Dec 2007 00:57:36 +0100 Subject: problemas de un novato con ventanas Message-ID: <47743BF0.5060403@web.de> Hola a tod en s, soy nuevo en esto de Python y la programación en general, pero tengo muchísimo interés en poder cambiar un pequeño código que ajunto al final. El código es mi modificación del ejemplo de demostración (demo/demo.py) que viene con la última versión de http://www.gnome.org/~gianmt/pypoppler-0.6.2.tar.gz, esto es, la biblioteca de enlaces de poppler, un visor de PDF, en python. Necesito mejorar una cosa, que es la siguiente: hacer que on_expose (que si no estoy muy perdido es lo que dibuja la página) no esté sólo fijado a las dimensiones de partida (start_width y start_height), sino que cuando cambie el tamaño de la ventana cambie también el tamaño de self.dwg. No sé si está clara mi explicación. Lo que quiero es que el PDF no sólo esté en vista completa ajclaro ustada al tamaño de la ventana cuando lo inicio, sino siempre e independientemente del tamaño de la ventana. Me gustaría poder hacerlo sin tener que modificar on_changed, sino modificando on_expose. Agradeceria mucho vuestra ayuda. Felices fiestas a tod en s, Pablo . #!/usr/bin/python import gtk import poppler import sys import cairo class popplerrender(object): def __init__(self): uri = "file://" + sys.argv[1] self.document = poppler.document_new_from_file (uri, None) self.n_pages = self.document.get_n_pages() self.current_page = self.document.get_page(0) win = gtk.Window(gtk.WINDOW_TOPLEVEL) start_width, start_height = 500, 500 win.set_default_size(start_width, start_height) win.set_title ("Window Poppler Demo") win.connect("delete-event", gtk.main_quit) self.width, self.height = win.get_size() self.page_width, self.page_height= self.current_page.get_size() if (self.width/self.page_width) < (self.height/self.page_height): self.scale = self.width/self.page_width else: self.scale = self.height/self.page_height self.surface = cairo.ImageSurface(cairo.FORMAT_RGB24, int(self.width), int(self.height)) adjust = gtk.Adjustment(0, 0, (self.n_pages-1), 1) page_selector = gtk.SpinButton(adjust, 0, 0); page_selector.connect("value-changed", self.on_changed) hbox = gtk.HBox(False, 0) vbox = gtk.VBox(False, 0) vbox.pack_start(hbox, False, False, 0) hbox.pack_start(page_selector, False, False, 0) self.dwg = gtk.DrawingArea() self.dwg.set_size_request(int(self.width), int(self.height)) self.dwg.connect("expose-event", self.on_expose) vbox.pack_start(self.dwg, True, True, 0) win.add(vbox) win.show_all() def on_changed(self, widget): self.current_page = self.document.get_page(widget.get_value_as_int()) self.dwg.set_size_request(int(self.width), int(self.height)) self.dwg.queue_draw() def on_expose(self, widget, event): cr = widget.window.cairo_create() cr.set_source_surface(self.surface) cr.set_source_rgb(1, 1, 1) if self.scale != 1: cr.scale(self.scale, self.scale) cr.rectangle(0, 0, self.page_width, self.page_height) cr.fill() self.current_page.render(cr) def main(self): gtk.main() if __name__ == '__main__': pop = popplerrender() pop.main() _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From peralta en aditel.org Fri Dec 28 01:00:59 2007 From: peralta en aditel.org (Luis Peralta) Date: Fri, 28 Dec 2007 01:00:59 +0100 Subject: =?ISO-8859-1?Q?Re:__=BFComo_borro?= =?ISO-8859-1?Q?_la_pantalla_de_un_terminal=3F?= In-Reply-To: <7fba75ac0712271335u7a7f9b62sa4ef880ea02a969f@mail.gmail.com> References: <7fba75ac0712271335u7a7f9b62sa4ef880ea02a969f@mail.gmail.com> Message-ID: <861451d60712271600g533e6d17w648778667705c177@mail.gmail.com> 2007/12/27, Santiago David Delgado Llopis : > Hola: > Estoy implementando unos módulos de un programa que (de momento) se > ejecutan en consola de texto (en Linux). Pues bien, me gustaría saber > cómo puedo borrar la consola para poder imprimir desde la primera > linea del terminal. Algo así como un cls pero para Python. Acabarás antes como bien te han dicho Leandro y Andrés. Una solución python pura sería algo así: import curses curses.setupterm() sys.stdout.write(curses.tigetstr('clear')) Un saludo, -- http://www.ziritione.org _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From andresmartinochoa en gmail.com Fri Dec 28 02:19:58 2007 From: andresmartinochoa en gmail.com (=?ISO-8859-1?Q?Andr=E9s_Mart=EDn_-_martyn?=) Date: Thu, 27 Dec 2007 20:19:58 -0500 Subject: =?ISO-8859-1?Q?Re:__=BFComo_borro?= =?ISO-8859-1?Q?_la_pantalla_de_un_terminal=3F?= In-Reply-To: <861451d60712271600g533e6d17w648778667705c177@mail.gmail.com> References: <7fba75ac0712271335u7a7f9b62sa4ef880ea02a969f@mail.gmail.com> <861451d60712271600g533e6d17w648778667705c177@mail.gmail.com> Message-ID: <8c1b00b30712271719j3c2077bka735e0953492bac4@mail.gmail.com> uhm. algo mas elegante. :) On Dec 27, 2007 7:00 PM, Luis Peralta wrote: > 2007/12/27, Santiago David Delgado Llopis : > > Hola: > > Estoy implementando unos módulos de un programa que (de momento) se > > ejecutan en consola de texto (en Linux). Pues bien, me gustaría saber > > cómo puedo borrar la consola para poder imprimir desde la primera > > linea del terminal. Algo así como un cls pero para Python. > > Acabarás antes como bien te han dicho Leandro y Andrés. Una solución > python pura sería algo así: > > import curses > curses.setupterm() > sys.stdout.write(curses.tigetstr('clear')) > > Un saludo, > -- > http://www.ziritione.org > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Andrés Martín Ochoa; passport: andresmartin en linuxmail.org; Linux Registered User #436420; Pbx: (57) 1 578 20 30 Ext: 102 _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From santidelgado en gmail.com Fri Dec 28 10:37:18 2007 From: santidelgado en gmail.com (Santiago David Delgado Llopis) Date: Fri, 28 Dec 2007 10:37:18 +0100 Subject: =?ISO-8859-1?Q?Re:__=BFComo_borro?= =?ISO-8859-1?Q?_la_pantalla_de_un_terminal=3F?= In-Reply-To: <8c1b00b30712271719j3c2077bka735e0953492bac4@mail.gmail.com> References: <7fba75ac0712271335u7a7f9b62sa4ef880ea02a969f@mail.gmail.com> <861451d60712271600g533e6d17w648778667705c177@mail.gmail.com> <8c1b00b30712271719j3c2077bka735e0953492bac4@mail.gmail.com> Message-ID: <7fba75ac0712280137o1a525d17r6bdfee1f069b234d@mail.gmail.com> Muchas gracias. Me apunto también la solución para curses, porque tengo pensado usar esa librería cuando los módulos estén más o menos operativos. El 28/12/07, Andrés Martín - martyn escribió: > uhm. algo mas elegante. :) > > On Dec 27, 2007 7:00 PM, Luis Peralta wrote: > > > 2007/12/27, Santiago David Delgado Llopis : > > > Hola: > > > Estoy implementando unos módulos de un programa que (de momento) se > > > ejecutan en consola de texto (en Linux). Pues bien, me gustaría saber > > > cómo puedo borrar la consola para poder imprimir desde la primera > > > linea del terminal. Algo así como un cls pero para Python. > > > > Acabarás antes como bien te han dicho Leandro y Andrés. Una solución > > python pura sería algo así: > > > > import curses > > curses.setupterm() > > sys.stdout.write(curses.tigetstr('clear')) > > > > Un saludo, > > -- > > http://www.ziritione.org > > _______________________________________________ > > Lista de correo Python-es > > http://listas.aditel.org/listinfo/python-es > > FAQ: http://listas.aditel.org/faqpyes > > > > > > -- > Andrés Martín Ochoa; > passport: andresmartin en linuxmail.org; > Linux Registered User #436420; > Pbx: (57) 1 578 20 30 > Ext: 102 > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- _______________________________ Santiago David Delgado Llopis Técnico Superior en S.T.I. _______________________________ >>> http://www.licenciaslibres.org _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From gagsl-py2 en yahoo.com.ar Fri Dec 28 11:02:39 2007 From: gagsl-py2 en yahoo.com.ar (Gabriel Genellina) Date: Fri, 28 Dec 2007 07:02:39 -0300 Subject: Calcular edad References: Message-ID: En Thu, 27 Dec 2007 14:05:13 -0300, Manuel Enrique González Ramírez escribió: > Uso VisualWx y tengo un form con un StaticText llamado fecha de > nacimiento > donde el usuario debe ingresar su fecha de nacimiento > en el formato aaaa-mm-dd y en otro StaticText debe aparecer la edad. > > Lo que he hecho: > 1) Me funciona desde consola, lo he visto en una web pero no se como > acloparlo al form que tengo en VisualWx No tengo ni idea de qué es VisualWx pero trataré de ayudarte con el calculo de la edad. Supongo que estas buscando algo que calcule la edad de una persona de la forma convencional: es decir, "truncando" siempre para abajo. El día del cumpleaños (y no antes) se produce el salto de +1 en el numero de años. > # La fecha de hoy es: > hoy = datetime.datetime.now().date() Yo usaría mejor: hoy = datetime.date.today() > s = "1976-05-26T00:00:00" > ayer = hoy + datetime.timedelta(days=-1) > > # Y para mañana, sumamos un día > manana = hoy + datetime.timedelta(days=1) > > #cal = datetime.timedelta(fecha) - datetime.timedelta(hoy) Acá supongo que querias poner algo así: fecha = strptime(s[:10], "%Y-%m-%d") cal = hoy - fecha cal te daría el numero de *días* que vivió esta persona. Que es lo mismo que calcula esta otra funcion que usaste: > def diferencia(date1,date2): > d1 = date(int(date1[0:4]),int(date1[5:7]),int(date1[-2:])) > d2 = date(int(date2[0:4]),int(date2[5:7]),int(date2[-2:])) > dif = d2 - d1 > return dif.days El problema es que, conociendo el numero de dias nada mas, no se puede saber la edad en años con la convencion de mas arriba (saltar exactamente en el cumpleaños). No alcanza con dividir por 365, ni por 365.25; algunos se van a enojar si aparecen un año mas viejos antes de tiempo :). Hace poco me encontre con esta implementacion [1] que hace el cálculo "como es usual", y te devuelve la diferencia entre dos fechas en años, meses y días completos. En tu caso alcanza con quedarse sólo con los años. Suponiendo que el modulo lo guardaste como age.py: from age import age from datetime import datetime s = "1976-05-26T00:00:00" # o se obtiene de un formulario, como sea fechanac = datetime.strptime(s[:10], "%Y-%m-%d").date() edad = age(fechanac)[0] print "Si naciste el %s, ahora tienes %d años" % (fechanac, edad) Una vez que calculaste la edad, mostrarla en el formulario es otro problema, pero deberia ser trivial. [1] http://blog.tkbe.org/archive/python-how-old-are-you/ -- Gabriel Genellina ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From gagsl-py2 en yahoo.com.ar Fri Dec 28 11:14:45 2007 From: gagsl-py2 en yahoo.com.ar (Gabriel Genellina) Date: Fri, 28 Dec 2007 07:14:45 -0300 Subject: =?iso-8859-15?q?Importar_un_m=F3dulo_seg=FAn_la_versi=F3n_de_?= =?iso-8859-15?q?python_=28sqlite=29?= References: <477386C9.3000703@adinet.com.uy> Message-ID: En Thu, 27 Dec 2007 08:04:41 -0300, Técnicos escribió: > Hola lista. > Tengo unos pequeños scripts que pueden correr > en máquinas con python 2.4 o 2.5 y usan una > base sqlite. > Para importar el módulo correctamente hago esto: > > # -*- coding: utf-8 -*- > import sys > if sys.version_info>=(2,5): > from sqlite3 import dbapi2 as sqlite > else: > from pysqlite2 import dbapi2 as sqlite > > Me funciona, pero la duda es: > ¿es esta la manera correcta? No me atrevo a decir que es la manera "correcta", pero al menos es razonable. En este caso parece una buena alternativa ya que "se sabe" que sqlite3 esta disponible en la version 2.5 en adelante. En otros casos esa dependencia exacta con la version no se da, y la alternativa sería: try: from sqlite3 import dbapi2 as sqlite except ImportError: from pysqlite2 import dbapi2 as sqlite -- Gabriel Genellina ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From maximendez en msn.com Fri Dec 28 14:42:07 2007 From: maximendez en msn.com (=?iso-8859-1?Q?Maximiliano_M=E9ndez?=) Date: Fri, 28 Dec 2007 15:42:07 +0200 Subject: Feliz Navidad In-Reply-To: <39117.17493.qm@web30801.mail.mud.yahoo.com> References: <39117.17493.qm@web30801.mail.mud.yahoo.com> Message-ID: hola como hago para desuscribirme de esta lista. Gracias > Date: Mon, 24 Dec 2007 11:56:36 -0800 > From: victoredier en yahoo.com > To: python-es en aditel.org > Subject: [Python-es] Feliz Navidad > > Este mensaje es para desearle una feliz navidad a todos los miembros de la lista. > > ¡¡¡¡¡¡¡¡¡Good luck for every body!!!!!!!!! > > > > > ____________________________________________________________________________________ > ¡Capacidad ilimitada de almacenamiento en tu correo! > No te preocupes más por el espacio de tu cuenta con Correo Yahoo!: > http://correo.espanol.yahoo.com/ _________________________________________________________________ Express yourself instantly with MSN Messenger! Download today it's FREE! http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/_______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From andresmartinochoa en gmail.com Fri Dec 28 14:51:06 2007 From: andresmartinochoa en gmail.com (=?ISO-8859-1?Q?Andr=E9s_Mart=EDn_-_martyn?=) Date: Fri, 28 Dec 2007 08:51:06 -0500 Subject: Feliz Navidad In-Reply-To: References: <39117.17493.qm@web30801.mail.mud.yahoo.com> Message-ID: <8c1b00b30712280551t677fda6dl513af60a0ce48c7e@mail.gmail.com> Hola Pon en google: CÓMO Desuscribirse + python-es Saludos. On Dec 28, 2007 8:42 AM, Maximiliano Méndez wrote: > > hola como hago para desuscribirme de esta lista. Gracias > > > Date: Mon, 24 Dec 2007 11:56:36 -0800 > > From: victoredier en yahoo.com > > To: python-es en aditel.org > > Subject: [Python-es] Feliz Navidad > > > > Este mensaje es para desearle una feliz navidad a todos los miembros de > la lista. > > > > ¡¡¡¡¡¡¡¡¡Good luck for every body!!!!!!!!! > > > > > > > > > > > ____________________________________________________________________________________ > > ¡Capacidad ilimitada de almacenamiento en tu correo! > > No te preocupes más por el espacio de tu cuenta con Correo Yahoo!: > > http://correo.espanol.yahoo.com/ > > _________________________________________________________________ > Express yourself instantly with MSN Messenger! Download today it's FREE! > > http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/_______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Andrés Martín Ochoa; passport: andresmartin en linuxmail.org; Linux Registered User #436420; PBX: (57) 1 578 20 30 Ext: 102 Mobil: 313 859 17 09 _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From francisco.palm en gmail.com Fri Dec 28 17:10:35 2007 From: francisco.palm en gmail.com (Francisco Palm) Date: Sat, 29 Dec 2007 11:40:35 +1930 Subject: Feliz Navidad In-Reply-To: References: <39117.17493.qm@web30801.mail.mud.yahoo.com> Message-ID: 2007/12/29, Maximiliano Méndez : > > hola como hago para desuscribirme de esta lista. Gracias No leíste la letra pequeña? Es imposible desuscribirse!!! Toda resistencia es fútil!! Muajajajaja Feliz día!! F. Palm -- -------------------------------------- fpalm en ula.ve francisco.palm en gmail.com cel: 0414 5109177 tel: 0274 6352001 ---- Yo creo que todavía no es demasiado tarde para construir una utopía que nos permita compartir la tierra. Gabriel García Márquez. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From vindax.v1 en gmail.com Fri Dec 28 21:20:22 2007 From: vindax.v1 en gmail.com (Carlos Vindas) Date: Fri, 28 Dec 2007 21:20:22 +0100 Subject: Feliz Navidad In-Reply-To: References: <39117.17493.qm@web30801.mail.mud.yahoo.com> Message-ID: solo debes entrar a este link http://listas.aditel.org/listinfo/python-es 2007/12/28, Maximiliano Méndez : > > > hola como hago para desuscribirme de esta lista. Gracias > > > Date: Mon, 24 Dec 2007 11:56:36 -0800 > > From: victoredier en yahoo.com > > To: python-es en aditel.org > > Subject: [Python-es] Feliz Navidad > > > > Este mensaje es para desearle una feliz navidad a todos los miembros de > la lista. > > > > ¡¡¡¡¡¡¡¡¡Good luck for every body!!!!!!!!! > > > > > > > > > > > ____________________________________________________________________________________ > > ¡Capacidad ilimitada de almacenamiento en tu correo! > > No te preocupes más por el espacio de tu cuenta con Correo Yahoo!: > > http://correo.espanol.yahoo.com/ > > _________________________________________________________________ > Express yourself instantly with MSN Messenger! Download today it's FREE! > > http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/_______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From santidelgado en gmail.com Fri Dec 28 21:24:54 2007 From: santidelgado en gmail.com (Santiago David Delgado Llopis) Date: Fri, 28 Dec 2007 21:24:54 +0100 Subject: =?iso-8859-1?q?Que_pas=F3_con_el_wiki=3F?= Message-ID: <7fba75ac0712281224g7fa3ef50j2e8a1684d014622d@mail.gmail.com> Hola: He estado leyendo el histórico de la lista y he visto un hilo que trataba sobre montar un wiki sobre Python. ¿Se ha montado finalmente? Yo no he visto nada en la página de Aditel, así que supongo que se abandonó la idea. Me gustaría lanzar la piedra de nuevo. ¿alguien más estaría interesado? Un saludo -- _______________________________ Santiago David Delgado Llopis Técnico Superior en S.T.I. _______________________________ >>> http://www.licenciaslibres.org _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From jordi.f en ati.es Sat Dec 29 00:10:15 2007 From: jordi.f en ati.es (Jordi Funollet) Date: Sat, 29 Dec 2007 00:10:15 +0100 Subject: Eventos =?iso-8859-15?q?se=F1ales_y?= =?iso-8859-15?q?_dem=E1s?= In-Reply-To: References: <47723C2B.7010902@diselpro.com> Message-ID: <200712290010.15841.jordi.f@ati.es> Miuler dixit: > Gacias Pepe, al perecer las cosas tiran por este lado, tener que hacer > una lista con las referencias de quienes quiero que escuchen el > evento, No sé si te servirá, pero esa frase me ha recordado PyDispatcher. http://pydispatcher.sourceforge.net/ -- ############################## ### Jordi Funollet ### http://www.terraquis.net ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From kikecalpe en gmail.com Sat Dec 29 00:20:19 2007 From: kikecalpe en gmail.com (Kike Cabrera) Date: Sat, 29 Dec 2007 00:20:19 +0100 Subject: TypeError: 'int' object is not iterable Message-ID: <14ecb63c0712281520r688ce613vdcf4fb6e5804a915@mail.gmail.com> me acabo de traumatizar, ¿como resuelvo esto?? supongo que quiere decir que no puedo hacer el while con esa comparacion entre ints, sino, no se que quiere decir este error >>> def multiples(apuestas): ... dobles, triples = 0 ... while apuestas!=1: ... while apuestas%2!=0: ... apuestas/=2 ... dobles +=1 ... apuestas/=3 ... triples+=1 ... return dobles, triples ... >>> multiples(1296) Traceback (most recent call last): File "", line 1, in File "", line 2, in multiples TypeError: 'int' object is not iterable ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From danigm en gmail.com Sat Dec 29 00:41:15 2007 From: danigm en gmail.com (Daniel Garcia Moreno) Date: Sat, 29 Dec 2007 00:41:15 +0100 Subject: TypeError: 'int' object is not iterable In-Reply-To: <14ecb63c0712281520r688ce613vdcf4fb6e5804a915@mail.gmail.com> References: <14ecb63c0712281520r688ce613vdcf4fb6e5804a915@mail.gmail.com> Message-ID: <1198885275.24280.1.camel@localhost.localdomain> El sáb, 29-12-2007 a las 00:20 +0100, Kike Cabrera escribió: > me acabo de traumatizar, ¿como resuelvo esto?? > supongo que quiere decir que no puedo hacer el while con esa comparacion > entre ints, sino, no se que quiere decir este error > >>> def multiples(apuestas): > ... dobles, triples = 0 > ... while apuestas!=1: > ... while apuestas%2!=0: > ... apuestas/=2 > ... dobles +=1 > ... apuestas/=3 > ... triples+=1 > ... return dobles, triples > ... > >>> multiples(1296) > Traceback (most recent call last): > File "", line 1, in > File "", line 2, in multiples > TypeError: 'int' object is not iterable El fallo está en la linea 2, en la asignación, dobles, triples = 0 debería ser: dobles, triples = 0, 0 ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: Esta parte del mensaje está firmada digitalmente URL: ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pablomarmol en gmail.com Sat Dec 29 00:42:29 2007 From: pablomarmol en gmail.com (peter) Date: Sat, 29 Dec 2007 00:42:29 +0100 Subject: TypeError: 'int' object is not iterable In-Reply-To: <14ecb63c0712281520r688ce613vdcf4fb6e5804a915@mail.gmail.com> References: <14ecb63c0712281520r688ce613vdcf4fb6e5804a915@mail.gmail.com> Message-ID: <32ec9b10712281542m16cb9333ke3b116403d856449@mail.gmail.com> El 29/12/07, Kike Cabrera escribió: > ... dobles, triples = 0 El error se refiere a ese cero. --- _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From minoztro en gmail.com Sat Dec 29 00:44:14 2007 From: minoztro en gmail.com (Milton Galo Patricio Inostroza Aguilera) Date: Fri, 28 Dec 2007 20:44:14 -0300 Subject: TypeError: 'int' object is not iterable In-Reply-To: <14ecb63c0712281520r688ce613vdcf4fb6e5804a915@mail.gmail.com> References: <14ecb63c0712281520r688ce613vdcf4fb6e5804a915@mail.gmail.com> Message-ID: <172699c50712281544y6fa723d7j6997f343a6b9b79a@mail.gmail.com> El 28/12/07, Kike Cabrera escribió: > me acabo de traumatizar, ¿como resuelvo esto?? > supongo que quiere decir que no puedo hacer el while con esa comparacion > entre ints, sino, no se que quiere decir este error > >>> def multiples(apuestas): > ... dobles, triples = 0 acá lo que python espera es que le asignes una secuencia, algo así como 0,0 > ... while apuestas!=1: > ... while apuestas%2!=0: > ... apuestas/=2 > ... dobles +=1 > ... apuestas/=3 > ... triples+=1 > ... return dobles, triples > ... > >>> multiples(1296) > Traceback (most recent call last): > File "", line 1, in > File "", line 2, in multiples > TypeError: 'int' object is not iterable a mi me da el siguiente error tu código: C:\Documents and Settings\Administrador\Escritorio>python ejemplo_dos.py Traceback (most recent call last): File "ejemplo_dos.py", line 11, in ? multiples(1296) File "ejemplo_dos.py", line 2, in multiples dobles, triples = 0 TypeError: unpack non-sequence > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Milton Inostroza Aguilera _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From kernel.no.found en gmail.com Sat Dec 29 02:17:04 2007 From: kernel.no.found en gmail.com (=?ISO-8859-1?Q?Juan_Jos=E9_Alonso.?=) Date: Sat, 29 Dec 2007 02:17:04 +0100 Subject: =?ISO-8859-1?Q?re:__Que_pas=F3_con_el_wiki=3F?= Message-ID: <117d6e170712281717y26fbe8c6q4fe372e06b7c59d@mail.gmail.com> Yo sigo buscxando administrador para dotpy, si alguien se atreve, tb necesita un host, los chicos de cos-la peru parecen muertos porque dejaron un mopinmoin con errores y asi lleva 3 meses. -- Juan José Alonso. KarlsBerg. eMail: kernel.no.found en gmail.com MSN: kernel.no.found en gmail.com _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From py en ch3m4.org Sat Dec 29 02:57:50 2007 From: py en ch3m4.org (Chema Cortes) Date: Sat, 29 Dec 2007 02:57:50 +0100 Subject: Calcular edad In-Reply-To: References: Message-ID: <200712290257.51433.py@ch3m4.org> El Friday 28 December 2007 11:02:39 Gabriel Genellina escribió: > Hace poco me encontre con esta implementacion [1] que hace el cálculo > "como es usual", y te devuelve la diferencia entre dos fechas en años, > meses y días completos. En tu caso alcanza con quedarse sólo con los años. > .... No creo que haya que complicarse tanto: dnacim=datetime.date(1976,05,26) dhoy=datetime.date.today() edad=dhoy.year-dnacim.year if dnacim.replace(year=dhoy.year)=dhoy: d0=d0.replace(year=dhoy.year-1) edad,meses,dias = (d0.year-dnacim.year, dhoy.month-d0.month, dhoy.day-d0.day) ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From maengora en gmail.com Sat Dec 29 04:49:20 2007 From: maengora en gmail.com (=?ISO-8859-1?Q?Manuel_Enrique_Gonz=E1lez_Ram=EDrez?=) Date: Fri, 28 Dec 2007 22:49:20 -0500 Subject: Salto de pagina automatico ReportLab Message-ID: Hola amig en s. Tengo el siguiente inconveniente (aclaro que apenas estoy aprendiendo): Tengo una consulta MySQL que saco en un reporte utilizando el ReportLab, el inconveniente es que no se como hacer para que cuando la lista de lo que saca (lista el movimiento de unos articulos) es demasiado extensa (varias paginas) se haga automaticamente un salto de pagina y continue llenando en la o las paginas siguientes la informacion de la consulta. He leido que los saltos de pagina se efectuan con showPage() pero pues que pena, soy malisimo pal english y no he podido darle al punto. La copia de lo que tengo: c = canvas.Canvas ("c:/LEBOS/PDFS/Informe_Existencia_Articulos_Por_Bodega.pdf",pagesize=letter) c.setFont("Helvetica-Bold",14) c.drawString(30,750,"INFORME") #Título c.drawString(30,735,u"Control de existencia de artículos por bodega") #Subtítulo col1 = 30 col2 = 95 col3 = 315 col4 = 425 c.setFont("Times-Bold",10) c.drawString(30,700,"CODIGO") c.drawString(col2,700,"ARTICULO") c.drawString(col3,700,"BODEGA") c.drawString(col4,700,"CANT. ACTUAL") y = 700 c.setFont("Times-Roman",10) fecha = datetime.datetime.now() #print fecha c.drawString(450,750,str(fecha)) sql = cursor.execute('SELECT * FROM productos WHERE nombre_producto=%s and bodega=%s ORDER BY nombre_producto',(art,bodega)) res = cursor.fetchall() db.commit() for i in res: y = y - 14 y1 = y - 3 codigo = str(i[0]) articulo = str(i[1]) bodega = str(i[2]) cantidad = str(i[3]) c.drawString(col1,y,codigo) c.line(30,y1,500,y1) #Dibuja la linea c.drawString(col2,y,articulo) c.line(col2,y1,500,y1) c.drawString(col3,y,bodega) c.line(col3,y1,500,y1) c.drawString(450,y,cantidad) c.line(col4,y1,500,y1) c.showPage() c.save() dlg1=wx.MessageDialog(self, "Informe de movimiento creado con éxito", u"INFORME EXISTENCIAS", wx.OK | wx.ICON_INFORMATION) dlg1.ShowModal() dlg1.Destroy() os.system ('c:/LEBOS/PDFS/Informe_Existencia_Articulos_Por_Bodega.pdf') Gracias _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From jordipascual en ono.com Sat Dec 29 10:58:23 2007 From: jordipascual en ono.com (Jordi Pascual) Date: Sat, 29 Dec 2007 10:58:23 +0100 Subject: Salto de pagina automatico ReportLab In-Reply-To: References: Message-ID: <47761A3F.1010408@ono.com> > for i in res: > y = y - 14 > y1 = y - 3 > > codigo = str(i[0]) > articulo = str(i[1]) > bodega = str(i[2]) > cantidad = str(i[3]) > > c.drawString(col1,y,codigo) > c.line(30,y1,500,y1) #Dibuja la linea > c.drawString(col2,y,articulo) > c.line(col2,y1,500,y1) > c.drawString(col3,y,bodega) > c.line(col3,y1,500,y1) > c.drawString(450,y,cantidad) > c.line(col4,y1,500,y1) > > c.showPage() > c.save() > > dlg1=wx.MessageDialog(self, "Informe de movimiento creado con > éxito", u"INFORME EXISTENCIAS", wx.OK | wx.ICON_INFORMATION) > dlg1.ShowModal() > dlg1.Destroy() > > os.system > ('c:/LEBOS/PDFS/Informe_Existencia_Articulos_Por_Bodega.pdf') > ¿No deberías, dentro del bucle for, comprobar cuando 'y' llega al mínimo (fin de página) y entonces reiniciar 'y' y llamar a showPage() antes de salir del bucle? _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From santidelgado en gmail.com Sat Dec 29 12:24:23 2007 From: santidelgado en gmail.com (Santiago David Delgado Llopis) Date: Sat, 29 Dec 2007 12:24:23 +0100 Subject: =?ISO-8859-1?Q?Re:__Que_pas=F3_con_el_wiki=3F?= In-Reply-To: <117d6e170712281717y26fbe8c6q4fe372e06b7c59d@mail.gmail.com> References: <117d6e170712281717y26fbe8c6q4fe372e06b7c59d@mail.gmail.com> Message-ID: <7fba75ac0712290324w2db4e56al1cb7645ca7df77f9@mail.gmail.com> ¿Que es dotpy? ¿Donde puedo encontrar mas info? 2007/12/29, Juan José Alonso. : > Yo sigo buscxando administrador para dotpy, si alguien se atreve, tb > necesita un host, los chicos de cos-la peru parecen muertos porque dejaron > un mopinmoin con errores y asi lleva 3 meses. > > -- > Juan José Alonso. KarlsBerg. > eMail: kernel.no.found en gmail.com > MSN: kernel.no.found en gmail.com > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- _______________________________ Santiago David Delgado Llopis Técnico Superior en S.T.I. _______________________________ >>> http://www.licenciaslibres.org _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From sonajadiabolica en gmail.com Sat Dec 29 16:29:51 2007 From: sonajadiabolica en gmail.com (aNgel rEsendiz g.) Date: Sat, 29 Dec 2007 09:29:51 -0600 Subject: =?ISO-8859-1?Q?Re:__Que_pas=F3_con_el_wiki=3F?= In-Reply-To: <7fba75ac0712290324w2db4e56al1cb7645ca7df77f9@mail.gmail.com> References: <117d6e170712281717y26fbe8c6q4fe372e06b7c59d@mail.gmail.com> <7fba75ac0712290324w2db4e56al1cb7645ca7df77f9@mail.gmail.com> Message-ID: <8d9e208f0712290729p30526119t5444df720fa69158@mail.gmail.com> On Dec 29, 2007 5:24 AM, Santiago David Delgado Llopis wrote: > ¿Que es dotpy? ¿Donde puedo encontrar mas info? > Dotpy.net es uno de los mejores intentos de concentrar conocimiento de python en castellano en una página web, solo que hace un tiempo (si no mal recuerdo ya casi un año) su administrador dejó de tener el tiempo suficiente para mantener el proyecto, y ha estado solicitando algún voluntario, pero aunque estoy seguro que hay gente interesada, creo que lo que no hay es disponibilidad de tiempos libres. En este lapso en algún momento se creo un wiki y un planet, pero creo que ninguno prospero mucho. -- aNgel rEsendiz.! _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From cgalisteo en k-rolus.net Sat Dec 29 17:13:39 2007 From: cgalisteo en k-rolus.net (Carlos) Date: Sat, 29 Dec 2007 17:13:39 +0100 Subject: =?UTF-8?Q?Re:__Que_pas=C3=B3_con_el_wiki=3F?= In-Reply-To: <7fba75ac0712281224g7fa3ef50j2e8a1684d014622d@mail.gmail.com> References: <7fba75ac0712281224g7fa3ef50j2e8a1684d014622d@mail.gmail.com> Message-ID: On 12/28/07, Santiago David Delgado Llopis wrote: > Hola: > He estado leyendo el histórico de la lista y he visto un hilo que > trataba sobre montar un wiki sobre Python. ¿Se ha montado finalmente? Si te refieres al FAQ está funcionando desde hace tiempo en: http://listas.aditel.org/faqpyes --- 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 --- ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From kernel.no.found en gmail.com Sat Dec 29 18:48:10 2007 From: kernel.no.found en gmail.com (=?ISO-8859-1?Q?Juan_Jos=E9_Alonso.?=) Date: Sat, 29 Dec 2007 18:48:10 +0100 Subject: =?ISO-8859-1?Q?Re:__Que_pas=F3_con_el_wiki=3F?= Message-ID: <117d6e170712290948hc08b53bo93aa5656844aceb2@mail.gmail.com> Yo soy el admin de Dotpy y sigo buscando un administrador. -- Juan José Alonso. KarlsBerg. eMail: kernel.no.found en gmail.com MSN: kernel.no.found en gmail.com _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From kikecalpe en gmail.com Sat Dec 29 19:16:12 2007 From: kikecalpe en gmail.com (Kike Cabrera) Date: Sat, 29 Dec 2007 19:16:12 +0100 Subject: =?utf-8?q?se_queda_parado_mientras_ejecuta_la_funcio?= =?utf-8?q?n=2C_tal_vez_esperando_algo_=C2=BFpq=3F?= Message-ID: <14ecb63c0712291016r14d91b88ib7bd5d5c9db9e39c@mail.gmail.com> El 28/12/07, Kike Cabrera escribió: > me acabo de traumatizar, ¿como resuelvo esto?? > supongo que quiere decir que no puedo hacer el while con esa comparacion > entre ints, sino, no se que quiere decir este error > >>> def multiples(apuestas): > ... dobles, triples = 0 acá lo que python espera es que le asignes una secuencia, algo así como 0,0 > ... while apuestas!=1: > ... while apuestas%2!=0: > ... apuestas/=2 > ... dobles +=1 > ... apuestas/=3 > ... triples+=1 > ... return dobles, triples > ... > >>> multiples(1296) > Traceback (most recent call last): > File "", line 1, in > File "", line 2, in multiples > TypeError: 'int' object is not iterable a mi me da el siguiente error tu código: C:\Documents and Settings\Administrador\Escritorio>python ejemplo_dos.py Traceback (most recent call last): File "ejemplo_dos.py", line 11, in ? multiples(1296) File "ejemplo_dos.py", line 2, in multiples dobles, triples = 0 TypeError: unpack non-sequence > > _______________________________________________ gracias a todos por vuestras respuestas, era un error tonto, pero porque estaba convencido de que se asignaba 0 a las dos variables, despues de corregirlo y probarlo me da el siguiente problema: >>> multiples(1296) cc c ccTraceback (most recent call last): File "", line 1, in File "/home/kike/python/quiniela/quiniela.py", line 61, in multiples dobles +=1 KeyboardInterrupt >>> se queda parado hasta que doy a CONTROL+C y termina la ejecucion de la funcion y me sale ese error, ¿hay algo incorrecto? gracias por adelantado a todos por la ayuda y felices fiestas ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From diazluis2008 en hotmail.com Sat Dec 29 21:02:52 2007 From: diazluis2008 en hotmail.com (luis eduardo diaz pereira) Date: Sat, 29 Dec 2007 16:02:52 -0400 Subject: principiante.. una class sencilla q no corre :S Message-ID: ------------------------------------------------------------------- import sys, os import pygame pygame.init() class puerta(self): "esto es la documentacion" def __init__(self): self.ancho = 800 self.alto = 600 self.titulo = "Principal" clase1 = puerta() print "esto deberia imprimir el ancho de la puerta", clase1.ancho # espera hasta que el usuario cierra la ventana pygame.event.set_allowed(None) pygame.event.set_allowed(pygame.QUIT) pygame.event.wait() ------------------------------------------------------------------ soy nuevo... saludos y gracias a todos los q leen este correo.... pienso colocar las class y las funciones en otro archivo.. pero si esto q es sencillo y no corre.. :S!!! noc q hacer.. quizas es algo q tipie mal... o noc _________________________________________________________________ Discover the new Windows Vista http://search.msn.com/results.aspx?q=windows+vista&mkt=en-US&form=QBRE_______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From xoseotero en yahoo.es Sat Dec 29 21:25:39 2007 From: xoseotero en yahoo.es (=?iso-8859-1?q?Xos=E9_Ant=F3n_Otero_Ferreira?=) Date: Sat, 29 Dec 2007 21:25:39 +0100 Subject: principiante.. una class sencilla q no corre :S In-Reply-To: References: Message-ID: <200712292125.39776.xoseotero@yahoo.es> Para la próxima vez escribe el error que te da. O Saturday 29 December 2007 21:02:52 luis eduardo diaz pereira escribiu: > class puerta(self): >     "esto es la documentacion" >     >     def __init__(self): >         self.ancho = 800 >          self.alto = 600 >          self.titulo = "Principal" No probé a ejecutar el código, pero a simple vista tienes mal la identación del código. Fíjate que entre la incialización de "self.ancho" y "self.alto" hay un espacio extra. Python agrupa las instrucciones en bloques mediante la identación. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From minoztro en gmail.com Sat Dec 29 22:31:52 2007 From: minoztro en gmail.com (Milton Galo Patricio Inostroza Aguilera) Date: Sat, 29 Dec 2007 18:31:52 -0300 Subject: principiante.. una class sencilla q no corre :S In-Reply-To: References: Message-ID: <172699c50712291331n5fd4c26flbd749989bc2e557f@mail.gmail.com> El 29/12/07, luis eduardo diaz pereira escribió: > > ------------------------------------------------------------------- > import sys, os > import pygame > pygame.init() > > class puerta(self): cuando defines una clase debes definirla de la siguiente manera: class puerta: si es que tu clase va a heredar de otra clase puede poner, por ejemplo: class puerta(object): siendo object una clase. self es un operador de referencia que se utiliza cuando programas orientado a objeto, cumple la misma función que el operador this en otros lenguajes de programación. > "esto es la documentacion" > > def __init__(self): > self.ancho = 800 > self.alto = 600 acá tienes problema de identación...te sobra un espacio > self.titulo = "Principal" acá también..te sobra un espacio > > clase1 = puerta() > print "esto deberia imprimir el ancho de la puerta", clase1.ancho > > > # espera hasta que el usuario cierra la ventana > pygame.event.set_allowed(None) > pygame.event.set_allowed(pygame.QUIT) > pygame.event.wait() > > ------------------------------------------------------------------ > > > soy nuevo... saludos y gracias a todos los q leen este correo.... > > pienso colocar las class y las funciones en otro archivo.. pero si esto q es sencillo y no corre.. :S!!! noc q hacer.. quizas es algo q tipie mal... o noc > eso está bien...ir probando de apoquitito, mira he corregido los problemas que te indico, copia y pegalo: import sys, os import pygame pygame.init() class puerta: "esto es la documentacion" def __init__(self): self.ancho = 800 self.alto = 600 self.titulo = "Principal" clase1 = puerta() print "esto deberia imprimir el ancho de la puerta", clase1.ancho # espera hasta que el usuario cierra la ventana pygame.event.set_allowed(None) pygame.event.set_allowed(pygame.QUIT) pygame.event.wait() > _________________________________________________________________ > Discover the new Windows Vista > http://search.msn.com/results.aspx?q=windows+vista&mkt=en-US&form=QBRE_______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Milton Inostroza Aguilera _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From cgalisteo en k-rolus.net Sat Dec 29 22:34:21 2007 From: cgalisteo en k-rolus.net (Carlos) Date: Sat, 29 Dec 2007 22:34:21 +0100 Subject: principiante.. una class sencilla q no corre :S In-Reply-To: <200712292125.39776.xoseotero@yahoo.es> References: <200712292125.39776.xoseotero@yahoo.es> Message-ID: On 12/29/07, Xosé Antón Otero Ferreira wrote: > No probé a ejecutar el código, pero a simple vista tienes mal la identación > del código. Fíjate que entre la incialización de "self.ancho" y "self.alto" > hay un espacio extra. Python agrupa las instrucciones en bloques mediante la > identación. A parte de eso sobra un 'self'. La clase debería definirse: class puerta: "esto es la documentacion" def __init__(self): self.ancho = 800 self.alto = 600 self.titulo = "Principal" Así verás como funciona. --- 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 --- ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pyarnau en gmail.com Sat Dec 29 22:44:40 2007 From: pyarnau en gmail.com (Arnau Sanchez) Date: Sat, 29 Dec 2007 22:44:40 +0100 Subject: principiante.. una class sencilla q no corre :S In-Reply-To: References: Message-ID: <4776BFC8.9090101@gmail.com> luis eduardo diaz pereira escribió: > ------------------------------------------------------------------- > import sys, os > import pygame > pygame.init() > > class puerta(self): > "esto es la documentacion" Un compañero de la lista (Rafael Villar) escribió un muy buen artículo sobre OOP y Python, puede servirte de introducción: http://blog.rvburke.com/2006/11/22/programacion-orientada-a-objetos-en-python/ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From minoztro en gmail.com Sat Dec 29 23:00:34 2007 From: minoztro en gmail.com (Milton Galo Patricio Inostroza Aguilera) Date: Sat, 29 Dec 2007 19:00:34 -0300 Subject: =?ISO-8859-1?Q?Re:__se_queda_parado_mientras_eje?= =?ISO-8859-1?Q?cuta_la_funcion, _tal_vez_esperando_algo_=BFpq=3F?= In-Reply-To: <14ecb63c0712291016r14d91b88ib7bd5d5c9db9e39c@mail.gmail.com> References: <14ecb63c0712291016r14d91b88ib7bd5d5c9db9e39c@mail.gmail.com> Message-ID: <172699c50712291400i2cc48701i6ee73ec6980c937b@mail.gmail.com> El 29/12/07, Kike Cabrera escribió: > El 28/12/07, Kike Cabrera escribió: > > me acabo de traumatizar, ¿como resuelvo esto?? > > supongo que quiere decir que no puedo hacer el while con esa comparacion > > entre ints, sino, no se que quiere decir este error > > >>> def multiples(apuestas): > > ... dobles, triples = 0 > > acá lo que python espera es que le asignes una secuencia, algo así como 0,0 > > > ... while apuestas!=1: > > ... while apuestas%2!=0: > > ... apuestas/=2 > > ... dobles +=1 > > ... apuestas/=3 > > ... triples+=1 > > ... return dobles, triples > > ... > > >>> multiples(1296) > > Traceback (most recent call last): > > File "", line 1, in > > File "", line 2, in multiples > > TypeError: 'int' object is not iterable > > a mi me da el siguiente error tu código: > > C:\Documents and Settings\Administrador\Escritorio>python ejemplo_dos.py > Traceback (most recent call last): > File "ejemplo_dos.py", line 11, in ? > multiples(1296) > File "ejemplo_dos.py", line 2, in multiples > dobles, triples = 0 > TypeError: unpack non-sequence > > > > > _______________________________________________ > > gracias a todos por vuestras respuestas, era un error tonto, pero porque > estaba convencido de que se asignaba 0 a las dos variables, despues de > corregirlo y probarlo me da el siguiente problema: > >>> multiples(1296) > > > > cc > c > ccTraceback (most recent call last): > File "", line 1, in > File "/home/kike/python/quiniela/quiniela.py", line 61, in multiples > dobles +=1 > KeyboardInterrupt > >>> > > se queda parado hasta que doy a CONTROL+C y termina la ejecucion de la > funcion y me sale ese error, ¿hay algo incorrecto? claro, mira parte por agregar un print triples para que te des cuenta de algunas cosas...claramente tienes problemas de lógica > gracias por adelantado a todos por la ayuda y felices fiestas > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Milton Inostroza Aguilera _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From diazluis2008 en hotmail.com Sun Dec 30 01:28:25 2007 From: diazluis2008 en hotmail.com (luis eduardo diaz pereira) Date: Sat, 29 Dec 2007 20:28:25 -0400 Subject: principiante.. una class sencilla q no corre :S In-Reply-To: <4776BFC8.9090101@gmail.com> References: <4776BFC8.9090101@gmail.com> Message-ID: Gracias por toda la ayuda!! XD bueno mi principales problemas eran de indentado... lo cual solucione con Notepad2.. lo recomiendo.. ya estoy poquito a poco.. aprendiendo.. todos los comentarios tenian razon > Date: Sat, 29 Dec 2007 22:44:40 +0100 > From: pyarnau en gmail.com > To: python-es en aditel.org > Subject: Re: [Python-es] principiante.. una class sencilla q no corre :S > > luis eduardo diaz pereira escribió: > > > ------------------------------------------------------------------- > > import sys, os > > import pygame > > pygame.init() > > > > class puerta(self): > > "esto es la documentacion" > > Un compañero de la lista (Rafael Villar) escribió un muy buen artículo > sobre OOP y Python, puede servirte de introducción: > > http://blog.rvburke.com/2006/11/22/programacion-orientada-a-objetos-en-python/ > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes _________________________________________________________________ News, entertainment and everything you care about at Live.com. Get it now! http://www.live.com/getstarted.aspx_______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From mgallegol en gmail.com Sun Dec 30 03:58:34 2007 From: mgallegol en gmail.com (=?ISO-8859-1?Q?Martha_Luc=EDa_Gallego_L=F3pez?=) Date: Sat, 29 Dec 2007 21:58:34 -0500 Subject: Feliz Navidad In-Reply-To: <39117.17493.qm@web30801.mail.mud.yahoo.com> References: <39117.17493.qm@web30801.mail.mud.yahoo.com> Message-ID: <3da61ab70712291858n6ea2018mda373c088ff3bb90@mail.gmail.com> Hola a todos: Un prospero año, lleno de mucho positivismo. Saludos a todos y mis mejores deseos para todos. Martha Lucia. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From diazluis2008 en hotmail.com Sun Dec 30 04:07:53 2007 From: diazluis2008 en hotmail.com (luis eduardo diaz pereira) Date: Sat, 29 Dec 2007 23:07:53 -0400 Subject: ver y analizar errores Message-ID: hola q tal.. acostumbrandome a la lista jejejeje como puedo visualizar los errores d mi codigo.. trabajando enwindows xp, al hacer click sobre el archivo.. se ejecuta y al encontrar un error la ventana d comando se cierra muy rapido.. :( _________________________________________________________________ Connect to the next generation of MSN Messenger  http://imagine-msn.com/messenger/launch80/default.aspx?locale=en-us&source=wlmailtagline_______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From mayragm en finlay.cmw.sld.cu Sun Dec 30 21:53:54 2007 From: mayragm en finlay.cmw.sld.cu (=?ISO-8859-1?Q?Jorge_Luis_Betancourt_Gonz=E1lez?=) Date: Sun, 30 Dec 2007 14:53:54 -0600 Subject: =?iso-8859-1?q?Aplicaci=F3n_F=EDsica_/_Trabajo_con_P?= =?iso-8859-1?q?DF?= Message-ID: <47780562.1070707@finlay.cmw.sld.cu> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hola lista: Me ha tocado desarrollar en la Universidad una aplicación relacionada con la asignatura física, más específicamente sobre Ondas/Oscilaciones, me preguntaba se existe alguna librería que me facilite graficar estos tipos de movimientos, estaba pensando en escribir la aplicación utilizando Python + GTK + Glade3 sobre un sistema GNU/Linux Debian Sid, pero concretamente me haría falta saber si existe alguna librería que pueda utilizar para estas aplicaciones. También me pregunto si existe alguna librería que me permita por ejemplo extraer información de los archivos PDFs, como Autor, Versión de PDF y demás datos que almacena el propio formato para construir una BD por ejemplo en MySQL o SQLite Gracias de antemano, slds - -- .''`. GNU/Linux Debian "Sid" Jorge Luis Betancourt González : :' : Version Unstable Camagüey Cuba. `. `' Phone :++(53)(32)59440 E-Mail: mayragm en finlay.cmw.sld.cu `- Linux R. User: 386271 Jabber: betancourt.jorge en gmail.com -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.4 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFHeAVhFZXz0sYE+fYRAl8HAJ9vRgM4d1qzBNOSJYOFqaj3G3O35ACdHeqp LyNXaNsm2AAGj3fYkyQozz8= =zvQn -----END PGP SIGNATURE----- -- Este mensaje ha sido analizado por MailScanner del Nodo Finlay, Camaguey, Cuba en busca de virus y se considera que está limpio. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From a.porrua en gmail.com Sun Dec 30 11:52:28 2007 From: a.porrua en gmail.com (tny) Date: Sun, 30 Dec 2007 11:52:28 +0100 Subject: ver y analizar errores In-Reply-To: References: Message-ID: <1199011948.6107.2.camel@skynet> El sáb, 29-12-2007 a las 23:07 -0400, luis eduardo diaz pereira escribió: > hola q tal.. acostumbrandome a la lista jejejeje > como puedo visualizar los errores d mi codigo.. trabajando enwindows xp, al hacer click sobre el archivo.. se ejecuta y al encontrar un error la ventana d comando se cierra muy rapido.. :( > seguro que hay mil maneras mejores pero mientras das con la buena te puede servir la mía. Abrir un interprete e importar (y en caso necesario llamar al __main__ o lo que sea). > _________________________________________________________________ > Connect to the next generation of MSN Messenger > http://imagine-msn.com/messenger/launch80/default.aspx?locale=en-us&source=wlmailtagline_______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From faltet en carabos.com Sun Dec 30 11:57:32 2007 From: faltet en carabos.com (Francesc Altet) Date: Sun, 30 Dec 2007 11:57:32 +0100 Subject: =?iso-8859-1?q?Aplicaci=F3n_F=EDsica_/_Trabajo_con?= PDF In-Reply-To: <47780562.1070707@finlay.cmw.sld.cu> References: <47780562.1070707@finlay.cmw.sld.cu> Message-ID: <200712301157.33243.faltet@carabos.com> A Sunday 30 December 2007, Jorge Luis Betancourt González escrigué: > Hola lista: > > Me ha tocado desarrollar en la Universidad una aplicación relacionada > con la asignatura física, más específicamente sobre > Ondas/Oscilaciones, me preguntaba se existe alguna librería que me > facilite graficar estos tipos de movimientos, estaba pensando en > escribir la aplicación utilizando Python + GTK + Glade3 sobre un > sistema GNU/Linux Debian Sid, pero concretamente me haría falta saber > si existe alguna librería que pueda utilizar para estas aplicaciones. Si quieres gráficos, en principio cualquier toolkit gráfico te servirá. Sin embargo, para no reinventar la rueda, te aconsejo que aproveches aplicaciones específicas para graficado de funciones. Hay muchísimas posibilidades, aunque una de las que más de moda está ahora mismo es matplotlib (http://matplotlib.sourceforge.net/), que interacciona bien con la mayoria de toolkits (TK, GTK, Qt4, WX...). Aunque si no te quieres complicar la vida haciendo interfaces gráficas (siempre un proceso un poco farragoso), una solución muy buena para manipular interactivamente datos y gráficos es IPython (ipython.scipy.org), junto con NumPy (numpy.scipy.org) y el anteriormente mencionado matplotlib. Seguramente no es tan bonito como una aplicación gráfica 100% pero es muy efectiva, y, en mi opinión, mucho más apta para aplicaciones de docencia (el alumno puede hacer uso de la herramienta para aplicaciones más complejas, si así lo quiere). Aquí tienes un pequeño ejemplo de sesión con ipython: $ ipython -pylab In [1]: x=arange(0, 2*pi, 0.01) In [2]: plot(x, sin(x**2/2)) Out[2]: [] In [3]: xlabel "X" ------> xlabel("X") Out[3]: In [4]: ylabel "Sin(x**2/2)" ------> ylabel("Sin(x**2/2)") Out[4]: Esto genera una gráfica en matplotlib que se puede manipular interactivamente (hacer zoom en distintos ejes, ver coordenadas de puntos señalados con el puntero del ratón, etc...) Saludos, -- >0,0< Francesc Altet     http://www.carabos.com/ V V Cárabos Coop. V.   Enjoy Data "-" _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From a.porrua en gmail.com Sun Dec 30 11:58:23 2007 From: a.porrua en gmail.com (tny) Date: Sun, 30 Dec 2007 11:58:23 +0100 Subject: ver y analizar errores In-Reply-To: References: Message-ID: <1199012303.6107.8.camel@skynet> El sáb, 29-12-2007 a las 23:07 -0400, luis eduardo diaz pereira escribió: > hola q tal.. acostumbrandome a la lista jejejeje > como puedo visualizar los errores d mi codigo.. trabajando enwindows xp, al hacer click sobre el archivo.. se ejecuta y al encontrar un error la ventana d comando se cierra muy rapido.. :( > Valla que parezco tonto... Si lo único que quieres es ver los mensajes de error ejecuta el script desde la consola de dos. La ventaja de importar el script es poder probar las funciones de modo omnipotente ;) ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From francisco.palm en gmail.com Sun Dec 30 14:20:27 2007 From: francisco.palm en gmail.com (Francisco Palm) Date: Mon, 31 Dec 2007 08:50:27 +1930 Subject: =?ISO-8859-1?Q?Re:__Aplicaci=F3n_F=EDsica_/_Trabajo_con_PDF?= In-Reply-To: <200712301157.33243.faltet@carabos.com> References: <47780562.1070707@finlay.cmw.sld.cu> <200712301157.33243.faltet@carabos.com> Message-ID: El 31/12/07, Francesc Altet escribió: > A Sunday 30 December 2007, Jorge Luis Betancourt González escrigué: > > Me ha tocado desarrollar en la Universidad una aplicación relacionada > > con la asignatura física, más específicamente sobre ... > Si quieres gráficos, en principio cualquier toolkit gráfico te servirá. > Sin embargo, para no reinventar la rueda, te aconsejo que aproveches ... De acuerdo 100% con Francesc. Pienso que la aplicación ideal sería una interfaz gráfica con un espacio de canvas para el gráfico y otro espacio para introducir comandos con ipython (es decir, una interfaz gráfica pero sin perder mucho tiempo con botones y eventos). Hay varias opciones a Matplotlib más ligeras que valdría la pena probar. Saludos F. Palm -- -------------------------------------- fpalm en ula.ve francisco.palm en gmail.com cel: 0414 5109177 tel: 0274 6352001 ---- Yo creo que todavía no es demasiado tarde para construir una utopía que nos permita compartir la tierra. Gabriel García Márquez. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From maengora en gmail.com Sun Dec 30 16:28:17 2007 From: maengora en gmail.com (=?ISO-8859-1?Q?Manuel_Enrique_Gonz=E1lez_Ram=EDrez?=) Date: Sun, 30 Dec 2007 10:28:17 -0500 Subject: Calcular edad In-Reply-To: <200712290257.51433.py@ch3m4.org> References: <200712290257.51433.py@ch3m4.org> Message-ID: Gracias amigos. Ambas respuestas funcionan correctamente, pero teniendo en cuento que soy un notavo en la programacion, me quedare con la mas sencilla. El día 28/12/07, Chema Cortes escribió: > > El Friday 28 December 2007 11:02:39 Gabriel Genellina escribió: > > > Hace poco me encontre con esta implementacion [1] que hace el cálculo > > "como es usual", y te devuelve la diferencia entre dos fechas en años, > > meses y días completos. En tu caso alcanza con quedarse sólo con los > años. > > .... > > No creo que haya que complicarse tanto: > > dnacim=datetime.date(1976,05,26) > dhoy=datetime.date.today() > > edad=dhoy.year-dnacim.year > if dnacim.replace(year=dhoy.year) edad-=1 > > > Si lo quieres tener más completo: > > dnacim=datetime.date(1976,05,26) > dhoy=datetime.date.today() > > #encontrar último cumpleaños > d0=d0.replace(year=dhoy.year) > if d0>=dhoy: > d0=d0.replace (year=dhoy.year-1) > > edad,meses,dias = (d0.year-dnacim.year, dhoy.month-d0.month, > dhoy.day-d0.day) > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From maengora en gmail.com Sun Dec 30 16:31:11 2007 From: maengora en gmail.com (=?ISO-8859-1?Q?Manuel_Enrique_Gonz=E1lez_Ram=EDrez?=) Date: Sun, 30 Dec 2007 10:31:11 -0500 Subject: Salto de pagina automatico ReportLab In-Reply-To: <47761A3F.1010408@ono.com> References: <47761A3F.1010408@ono.com> Message-ID: Correcto, gracias. 2007/12/29, Jordi Pascual : > > > > for i in res: > > y = y - 14 > > y1 = y - 3 > > > > codigo = str(i[0]) > > articulo = str(i[1]) > > bodega = str(i[2]) > > cantidad = str(i[3]) > > > > c.drawString(col1,y,codigo) > > c.line(30,y1,500,y1) #Dibuja la linea > > c.drawString(col2,y,articulo) > > c.line(col2,y1,500,y1) > > c.drawString(col3,y,bodega) > > c.line(col3,y1,500,y1) > > c.drawString(450,y,cantidad) > > c.line(col4,y1,500,y1) > > > > c.showPage() > > c.save() > > > > dlg1=wx.MessageDialog(self, "Informe de movimiento creado > con > > éxito", u"INFORME EXISTENCIAS", wx.OK | wx.ICON_INFORMATION) > > dlg1.ShowModal() > > dlg1.Destroy() > > > > os.system > > ('c:/LEBOS/PDFS/Informe_Existencia_Articulos_Por_Bodega.pdf') > > > ¿No deberías, dentro del bucle for, comprobar cuando 'y' llega al mínimo > (fin de página) y entonces reiniciar 'y' y llamar a showPage() antes de > salir del bucle? > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From jordi.f en ati.es Sun Dec 30 17:16:16 2007 From: jordi.f en ati.es (Jordi Funollet) Date: Sun, 30 Dec 2007 17:16:16 +0100 Subject: principiante.. una class sencilla q no corre :S In-Reply-To: References: Message-ID: <200712301716.16800.jordi.f@ati.es> Hola Luis Eduardo, Con esto: class puerta(self): ...estas definiendo una clase "puerta" derivada de la clase "self". El parámetro "self" solo tienes que pasarlo a los métodos de la clase, no a la própia clase. Lo que te conviene es: class puerta: -- ############################## ### Jordi Funollet ### http://www.terraquis.net _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From py en ch3m4.org Sun Dec 30 17:14:08 2007 From: py en ch3m4.org (Chema Cortes) Date: Sun, 30 Dec 2007 17:14:08 +0100 Subject: Calcular edad In-Reply-To: References: <200712290257.51433.py@ch3m4.org> Message-ID: <200712301714.09493.py@ch3m4.org> El Sunday 30 December 2007 16:28:17 Manuel Enrique González Ramírez escribió: > Gracias amigos. > > Ambas respuestas funcionan correctamente, pero teniendo en cuento que soy > un notavo en la programacion, me quedare con la mas sencilla. Tan sólo he de decirte que las dos soluciones que puse fallan bajo ciertas circunstancias. En concreto, la primera solución fallará si la fecha de nacimiento es un 29 de febrero (año bisiesto). Una forma de evitar este error es creando un método .replace() para tipos date para que sea más "seguro" cambiar sus atributos: import datetime class SureDate(datetime.date): def replace(self, **kw): day=kw.get("day",self.day) kw["day"]=1 delta=datetime.timedelta(day) return datetime.date.replace(self,kw)+delta De esta manera: dnacim=SureDate(2000,2,29).replace(year=2007) en lugar de dar error por no existir 29 de febrero de 2007, devolverá 1 de marzo de 2007 como resultado. La solución quedaría completada así: dnacim=SureDate(1976,05,26) dhoy=SureDate.today() edad=dhoy.year-dnacim.year if dnacim.replace(year=dhoy.year) References: <47780562.1070707@finlay.cmw.sld.cu> <200712301157.33243.faltet@carabos.com> Message-ID: <1199039512.28823.2.camel@inigo> Buenas, Owen Taylor (famoso por sus contribuciones en gtk+/gnome) está desarrollando "reinteract" [1]. La parte CLI es inferior a ipython (que es una joya), pero promete. Saludos, Iñigo Serna [1] http://fishsoup.net/software/reinteract/ El lun, 31-12-2007 a las 08:50 +0000, Francisco Palm escribió: > El 31/12/07, Francesc Altet escribió: > > A Sunday 30 December 2007, Jorge Luis Betancourt González escrigué: > > > Me ha tocado desarrollar en la Universidad una aplicación relacionada > > > con la asignatura física, más específicamente sobre > ... > > Si quieres gráficos, en principio cualquier toolkit gráfico te servirá. > > Sin embargo, para no reinventar la rueda, te aconsejo que aproveches > ... > > De acuerdo 100% con Francesc. Pienso que la aplicación ideal sería una > interfaz gráfica con un espacio de canvas para el gráfico y otro > espacio para introducir comandos con ipython (es decir, una interfaz > gráfica pero sin perder mucho tiempo con botones y eventos). Hay > varias opciones a Matplotlib más ligeras que valdría la pena probar. > > Saludos > > F. Palm > > ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From inigo_aldazabal en ehu.es Sun Dec 30 20:59:50 2007 From: inigo_aldazabal en ehu.es (=?ISO-8859-1?Q?I=F1igo_Aldazabal_Mensa?=) Date: Sun, 30 Dec 2007 20:59:50 +0100 Subject: =?ISO-8859-1?Q?Aplicaci=F3n_F=EDsica_/_Tra?= =?ISO-8859-1?Q?bajo_con_PDF?= In-Reply-To: References: <47780562.1070707@finlay.cmw.sld.cu><200712301157.33243.faltet@carabos.com> Message-ID: <4777F8B6.4080106@ehu.es> Francisco Palm escribió: > El 31/12/07, Francesc Altet escribió: >> A Sunday 30 December 2007, Jorge Luis Betancourt González escrigué: >>> Me ha tocado desarrollar en la Universidad una aplicación relacionada >>> con la asignatura física, más específicamente sobre > ... >> Si quieres gráficos, en principio cualquier toolkit gráfico te servirá. >> Sin embargo, para no reinventar la rueda, te aconsejo que aproveches > ... > > De acuerdo 100% con Francesc. Pienso que la aplicación ideal sería una > interfaz gráfica con un espacio de canvas para el gráfico y otro > espacio para introducir comandos con ipython (es decir, una interfaz > gráfica pero sin perder mucho tiempo con botones y eventos). Hay > varias opciones a Matplotlib más ligeras que valdría la pena probar. > > Saludos > > F. Palm > > Yo he realizado hace poco una aplicación para justamente visualizar pulsos y como se comenta utilicé justamente PyGTK + glade + matplotlib. Básicamente realizas todo el diseño del GUI con glade dejando una caja en blanco donde quieras añadir el canvas de matplotlib, que luego añades a mano en el código. Hay varios ejemplos rondando que puedes encontrar en google, y en el directorio de ejemplos de matplotlib. Para la animación, también en los ejemplos de matplotlib y aquí -> http://www.scipy.org/Cookbook/Matplotlib/Animations . Por cierto, me interesa eso de las alternativas mas ligeras que comenta Francisco, ¿podrías especificar algunas para que las mire? Un saludo. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pau.cervera en gmail.com Mon Dec 31 13:46:42 2007 From: pau.cervera en gmail.com (Pau Cervera) Date: Mon, 31 Dec 2007 13:46:42 +0100 Subject: [OFFTOPIC] python-mode emacs windows XP Message-ID: <932c33150712310446g242f117bpb9e6c9e874c57f1f@mail.gmail.com> Buenas, alguien tiene un link a mano sobre como instalar emacs-modes en windows (windows XP)? (En particular me gustaría instalar el python-mode, que no viene por defecto en el emacs para win.) Muchas gracias, -- Pau ------ "Boileau said that Kings, Gods and Heroes only were fit subjects for literature. The writer can only write about what he admires. Present-day kings aren't very inspiring, the gods are on a vacation and about the only heroes left are the scientists and the poor." -- John Steinbeck Important visitar: http://sindominio.net/biblioweb/pensamiento/softlibre/index.html _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From oinos en web.de Mon Dec 31 14:11:10 2007 From: oinos en web.de (=?ISO-8859-1?Q?Pablo_Rodr=EDguez?=) Date: Mon, 31 Dec 2007 14:11:10 +0100 Subject: ayuda midiendo el =?iso-8859-1?q?tama=F1o_de_una_ventana?= Message-ID: <4778EA6E.4010709@web.de> Hola a todas y todos, en la pequeña utilidad que incluyo abajo, necesito en el fondo saber dónde tengo que colocar, o cómo tengo que definir, la orden "self.width,self.height = win.get_size()" para que me dé valores distintos si la ventana cambia de tamaño. Para hacer pruebas tengo un orden "print self.width, self.scale;" en on_expose. (En realidad, necesito que recalcule también self.scale, pero supongo que con el ejemplo anterior ya sabré cómo adaptarlo a éste). Seguro que es una tontería, pero no sé cómo hacerlo y es importante para mí. Gracias y un feliz Año, Pablo #!/usr/bin/python # coding: utf-8 import gtk import poppler import sys import cairo class popplerrender(object): def __init__(self): uri = "file://" + sys.argv[1] self.document = poppler.document_new_from_file (uri, None) self.n_pages = self.document.get_n_pages() self.current_page = self.document.get_page(0) win = gtk.Window(gtk.WINDOW_TOPLEVEL) start_width, start_height = 500, 500 win.set_default_size(start_width, start_height) win.connect("delete-event", gtk.main_quit) self.width, self.height = win.get_size() self.page_width, self.page_height= self.current_page.get_size() if (self.width/self.page_width) < (self.height/self.page_height): self.scale = self.width/self.page_width else: self.scale = self.height/self.page_height self.surface = cairo.ImageSurface(cairo.FORMAT_RGB24, int(self.width), int(self.height)) adjust = gtk.Adjustment(0, 0, (self.n_pages-1), 1) page_selector = gtk.SpinButton(adjust, 0, 0); page_selector.connect("value-changed", self.on_changed) hbox = gtk.HBox(False, 0) vbox = gtk.VBox(False, 0) vbox.pack_start(hbox, False, False, 0) hbox.pack_start(page_selector, False, False, 0) self.dwg = gtk.DrawingArea() self.dwg.set_size_request(int(self.width), int(self.height)) self.dwg.connect("expose-event", self.on_expose) vbox.pack_start(self.dwg, True, True, 0) win.add(vbox) win.show_all() def on_changed(self, widget): self.current_page = self.document.get_page(widget.get_value_as_int()) self.dwg.set_size_request(int(self.width), int(self.height)) self.dwg.queue_draw() def on_expose(self, widget, event): print self.width, self.scale; cr = widget.window.cairo_create() cr.set_source_surface(self.surface) cr.set_source_rgb(1, 1, 1) if self.scale != 1: cr.scale(self.scale, self.scale) cr.rectangle(0, 0, self.page_width, self.page_height) cr.fill() self.current_page.render(cr) def main(self): gtk.main() if __name__ == '__main__': pop = popplerrender() pop.main() _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From gagsl-py2 en yahoo.com.ar Mon Dec 31 14:31:27 2007 From: gagsl-py2 en yahoo.com.ar (Gabriel Genellina) Date: Mon, 31 Dec 2007 11:31:27 -0200 Subject: =?utf-8?q?ayuda_midiendo_el_tama=C3=B1o_de_una_ventana?= References: <4778EA6E.4010709@web.de> Message-ID: En Mon, 31 Dec 2007 11:11:10 -0200, Pablo Rodríguez escribi?: > en la pequeña utilidad que incluyo abajo, necesito en el fondo saber > dónde tengo que colocar, o cómo tengo que definir, la orden > "self.width,self.height = win.get_size()" para que me dé valores > distintos si la ventana cambia de tamaño. La verdad que mucho no sé de GTK, pero creo que cuando cambia el tamaño de una ventana, se dispara el "configure-event", así que te tendrías que colgar de ese evento. -- Gabriel Genellina ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pyarnau en gmail.com Mon Dec 31 15:19:44 2007 From: pyarnau en gmail.com (Arnau Sanchez) Date: Mon, 31 Dec 2007 15:19:44 +0100 Subject: ayuda midiendo el =?UTF-8?B?dGFtYcOxbyBkZSB1?= =?UTF-8?B?bmEgdmVudGFuYQ==?= In-Reply-To: References: <4778EA6E.4010709@web.de> Message-ID: <4778FA80.5060004@gmail.com> Gabriel Genellina escribió: >> en la pequeña utilidad que incluyo abajo, necesito en el fondo saber >> dónde tengo que colocar, o cómo tengo que definir, la orden >> "self.width,self.height = win.get_size()" para que me dé valores >> distintos si la ventana cambia de tamaño. > > La verdad que mucho no sé de GTK, pero creo que cuando cambia el tamaño > de una ventana, se dispara el "configure-event", así que te tendrías que > colgar de ese evento. Correcto. Un ejemplo que puede servir de ayuda: http://www.pygtk.org/pygtk2reference/class-gtkwidget.html#signal-gtkwidget--configure-event http://www.pygtk.org/pygtk2reference/class-gdkevent.html import gtk def on_configure_event(window, event): print "new size:", event.width, event.height window = gtk.Window() button = gtk.Button("test") window.add(button) window.connect("configure-event", on_configure_event) window.show_all() gtk.main() : ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From maximendez en msn.com Mon Dec 31 15:49:55 2007 From: maximendez en msn.com (=?iso-8859-1?Q?Maximiliano_M=E9ndez?=) Date: Mon, 31 Dec 2007 16:49:55 +0200 Subject: =?iso-8859-1?Q?RE:__Re:_ayuda_midiendo_el_tama=F1o_de_una_vent?= =?iso-8859-1?Q?ana?= In-Reply-To: <4778FA80.5060004@gmail.com> References: <4778EA6E.4010709@web.de> <4778FA80.5060004@gmail.com> Message-ID: Hola, quiero desubscribirme de esta lista, tenes idea como se hace? > Date: Mon, 31 Dec 2007 15:19:44 +0100> From: pyarnau en gmail.com> To: python-es en aditel.org> Subject: Re: [Python-es] Re: ayuda midiendo el tamaño de una ventana> > Gabriel Genellina escribió:> > >> en la pequeña utilidad que incluyo abajo, necesito en el fondo saber> >> dónde tengo que colocar, o cómo tengo que definir, la orden> >> "self.width,self.height = win.get_size()" para que me dé valores> >> distintos si la ventana cambia de tamaño.> > > > La verdad que mucho no sé de GTK, pero creo que cuando cambia el tamaño > > de una ventana, se dispara el "configure-event", así que te tendrías que > > colgar de ese evento.> > Correcto. Un ejemplo que puede servir de ayuda:> > http://www.pygtk.org/pygtk2reference/class-gtkwidget.html#signal-gtkwidget--configure-event> http://www.pygtk.org/pygtk2reference/class-gdkevent.html> > import gtk> > def on_configure_event(window, event):> print "new size:", event.width, event.height> > window = gtk.Window()> button = gtk.Button("test")> window.add(button)> window.connect("configure-event", on_configure_event)> window.show_all()> gtk.main()> :> _________________________________________________________________ Express yourself instantly with MSN Messenger! Download today it's FREE! http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/_______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From oinos en web.de Mon Dec 31 17:02:27 2007 From: oinos en web.de (=?ISO-8859-1?Q?Pablo_Rodr=EDguez?=) Date: Mon, 31 Dec 2007 17:02:27 +0100 Subject: =?ISO-8859-1?Q?solicitar_la_baja_=28era=3A_Re=3A_=5BPy?= =?ISO-8859-1?Q?thon-es=5D_Re=3A_ayuda_midiendo_el_tama=F1o_d?= =?ISO-8859-1?Q?e_una_ventana=29?= In-Reply-To: References: <4778EA6E.4010709@web.de> <4778FA80.5060004@gmail.com> Message-ID: <47791293.7000202@web.de> En el último campo que puedes ver en http://listas.aditel.org/listinfo/python-es introduce la dirección de correo electrónico que quieres dar de baja. Pulsas el botón y ya te dirá qué es lo que tienes que hacer. Pablo Maximiliano Méndez wrote: > Hola, quiero desubscribirme de esta lista, tenes idea como se hace? >> Date: Mon, 31 Dec 2007 15:19:44 +0100> From: pyarnau en gmail.com> To: python-es en aditel.org> Subject: Re: [Python-es] Re: ayuda midiendo el tamaño de una ventana> > Gabriel Genellina escribió:> > >> en la pequeña utilidad que incluyo abajo, necesito en el fondo saber> >> dónde tengo que colocar, o cómo tengo que definir, la orden> >> "self.width,self.height = win.get_size()" para que me dé valores> >> distintos si la ventana cambia de tamaño.> > > > La verdad que mucho no sé de GTK, pero creo que cuando cambia el tamaño > > de una ventana, se dispara el "configure-event", así que te tendrías que > > colgar de ese evento.> > Correcto. Un ejemplo que puede servir de ayuda:> > http://www.pygtk.org/pygtk2reference/class-gtkwidget.html#signal-gtkwidget--configure-event> http://www.pygtk.org/pygtk2reference/class-gdkevent.html> > import gtk> > def on_configure_event(window, event):> print "new size:", event.width, event.height> > window = gtk.Window()> button = gtk.Button("test")> window.add(button)> window.connect("configure-event", on_configure_event)> window.show_all()> gtk.main()> :> > _________________________________________________________________ > Express yourself instantly with MSN Messenger! Download today it's FREE! > http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/_______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From oinos en web.de Mon Dec 31 17:06:11 2007 From: oinos en web.de (=?UTF-8?B?UGFibG8gUm9kcsOtZ3Vleg==?=) Date: Mon, 31 Dec 2007 17:06:11 +0100 Subject: ayuda midiendo el =?UTF-8?B?dGFtYcOxbyBkZSB1?= =?UTF-8?B?bmEgdmVudGFuYQ==?= In-Reply-To: <4778FA80.5060004@gmail.com> References: <4778EA6E.4010709@web.de> <4778FA80.5060004@gmail.com> Message-ID: <47791373.1000904@web.de> Arnau Sanchez wrote: > Gabriel Genellina escribió: > >>> en la pequeña utilidad que incluyo abajo, necesito en el fondo saber >>> dónde tengo que colocar, o cómo tengo que definir, la orden >>> "self.width,self.height = win.get_size()" para que me dé valores >>> distintos si la ventana cambia de tamaño. >> >> La verdad que mucho no sé de GTK, pero creo que cuando cambia el >> tamaño de una ventana, se dispara el "configure-event", así que te >> tendrías que colgar de ese evento. > > Correcto. Un ejemplo que puede servir de ayuda: > > http://www.pygtk.org/pygtk2reference/class-gtkwidget.html#signal-gtkwidget--configure-event > > http://www.pygtk.org/pygtk2reference/class-gdkevent.html > > import gtk > > def on_configure_event(window, event): > print "new size:", event.width, event.height > > window = gtk.Window() > button = gtk.Button("test") > window.add(button) > window.connect("configure-event", on_configure_event) > window.show_all() > gtk.main() Muchísimas gracias por la ayuda, Arnau y Gabriel. Funciona perfectamente. Pablo ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From oinos en web.de Mon Dec 31 17:52:12 2007 From: oinos en web.de (=?ISO-8859-1?Q?Pablo_Rodr=EDguez?=) Date: Mon, 31 Dec 2007 17:52:12 +0100 Subject: (PyGTK) sustituir funcionalidad de un =?iso-8859-1?q?bot=F3n?= Message-ID: <47791E3C.2080504@web.de> Hola, tengo un trozo de código en que define una funcionalidad de pasar a página siguiente: adjust = gtk.Adjustment(0, 0, (self.n_pages-1), 1) page_selector = gtk.SpinButton(adjust, 0, 0); page_selector.connect("value-changed", self.on_changed) El asunto sería redefinir page_selector de manera que no use un botón, sino una tecla (ya veríamos cual). Supongo que adjust se puede usar aunque no sea con botones. Tendría que definir algo así (no sé como escribirlo): cuando la entrada de teclado x o y, anañada o disminuya el valor de page_selector, page_selector.connect("value-changed", self.on_changed). No sé ni cómo hacer que el programa escuche la entrada de teclado, ni como redefinir page_selector para que pueda usar adjust, la entrada de teclado, ni para que sea posible aumentar y disminuir el valor de page_selector. ¿Cómo podría hacerse todo eso? Muchas gracias, Pablo _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From markuz en islascruz.org Mon Dec 31 18:24:21 2007 From: markuz en islascruz.org (Marco Antonio Islas Cruz) Date: Mon, 31 Dec 2007 11:24:21 -0600 Subject: ayuda midiendo el =?ISO-8859-1?Q?tama=F1o?= de una ventana In-Reply-To: References: <4778EA6E.4010709@web.de> Message-ID: <1199121861.9450.54.camel@cucusa> Conecta a la senial 'expose-event' win.connec('expose-event', eventHandler) def eventHandler(win, event): w, h = (win.allocation.width, win.allocation.height) Saludos! On Mon, 2007-12-31 at 11:31 -0200, Gabriel Genellina wrote: > En Mon, 31 Dec 2007 11:11:10 -0200, Pablo Rodríguez > escribi?: > > > en la pequeña utilidad que incluyo abajo, necesito en el fondo saber > > dónde tengo que colocar, o cómo tengo que definir, la orden > > "self.width,self.height = win.get_size()" para que me dé valores > > distintos si la ventana cambia de tamaño. > > La verdad que mucho no sé de GTK, pero creo que cuando cambia el tamaño de > una ventana, se dispara el "configure-event", así que te tendrías que > colgar de ese evento. > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes -- <--Linux... Because I'm Free--> Marco Antonio Islas Cruz "Markuz" Linux User #280229 markuz en islascruz.org markuz en unixmexico.org markuz en linuxpozarica.com marco.islas en gmail.com islacruz en yahoo.com http://www.islascruz.org http://sourceforge.net/projects/gpkg/ http://www.linuxpozarica.com ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part URL: ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From artus.lla en gmail.com Mon Dec 31 22:43:09 2007 From: artus.lla en gmail.com (Arturo Llaja Alarcon) Date: Mon, 31 Dec 2007 16:43:09 -0500 Subject: [OFFTOPIC] python-mode emacs windows XP In-Reply-To: <932c33150712310446g242f117bpb9e6c9e874c57f1f@mail.gmail.com> References: <932c33150712310446g242f117bpb9e6c9e874c57f1f@mail.gmail.com> Message-ID: <10aa9ca50712311343y62a2601fx62644344a633bdf7@mail.gmail.com> El nuevo Emacs 22 viene con un modo para python por defecto, además de muchas mejoras más, ya no tendrás que liarte con la instalación del python-mode. Personalmente me gusta más este que trae emacs 22 por defecto, se integra muy bien con python. Para insertar un nuevo salto de línea con identación incluida usa C-j. Puedes personalizar todo a tu gusto, eso es emacs. Puedes obtener emcas 22 desde aquí: http://ftp.gnu.org/pub/gnu/emacs/windows/emacs-22.1-bin-i386.zip QUE LO DISFRUTES 2007/12/31, Pau Cervera : > > Buenas, > > alguien tiene un link a mano sobre como instalar emacs-modes en windows > (windows XP)? (En particular me gustaría instalar el python-mode, que no > viene por defecto en el emacs para win.) > Muchas gracias, > > -- > Pau > ------ > "Boileau said that Kings, Gods and Heroes only were fit subjects for > literature. The writer can only write about what he admires. Present-day > kings aren't very inspiring, the gods are on a vacation and about the only > heroes left are the scientists and the poor." > -- John Steinbeck > > Important visitar: > http://sindominio.net/biblioweb/pensamiento/softlibre/index.html > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Free thought, free world. http://www.gnu.org/home.es.html _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From maengora en gmail.com Mon Dec 31 23:02:08 2007 From: maengora en gmail.com (=?ISO-8859-1?Q?Manuel_Enrique_Gonz=E1lez_Ram=EDrez?=) Date: Mon, 31 Dec 2007 17:02:08 -0500 Subject: Calcular edad In-Reply-To: <200712301714.09493.py@ch3m4.org> References: <200712290257.51433.py@ch3m4.org> <200712301714.09493.py@ch3m4.org> Message-ID: Ok. nuevamente muchas gracias. El día 30/12/07, Chema Cortes escribió: > > El Sunday 30 December 2007 16:28:17 Manuel Enrique González Ramírez > escribió: > > Gracias amigos. > > > > Ambas respuestas funcionan correctamente, pero teniendo en cuento que > soy > > un notavo en la programacion, me quedare con la mas sencilla. > > Tan sólo he de decirte que las dos soluciones que puse fallan bajo ciertas > circunstancias. En concreto, la primera solución fallará si la fecha de > nacimiento es un 29 de febrero (año bisiesto). > > Una forma de evitar este error es creando un método .replace() para tipos > date > para que sea más "seguro" cambiar sus atributos: > > > import datetime > > class SureDate(datetime.date): > def replace(self, **kw): > day=kw.get("day",self.day) > kw["day"]=1 > delta=datetime.timedelta(day) > return datetime.date.replace(self,kw)+delta > > De esta manera: > > dnacim=SureDate(2000,2,29).replace(year=2007) > > en lugar de dar error por no existir 29 de febrero de 2007, devolverá 1 de > marzo de 2007 como resultado. > > La solución quedaría completada así: > > dnacim=SureDate(1976,05,26) > dhoy=SureDate.today() > > edad=dhoy.year-dnacim.year > if dnacim.replace(year=dhoy.year) edad-=1 > > > Para la solución más general, la que saca años, meses y días, también le > pasa > lo mismo, aparte de que calcula mal. He intentando crear una versión > basada > en la clase SureDate, pero todavía no la he acabado. Quien necesite algo > así, > tal vez la otra solución (la "compleja") le pueda servir mejor. > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes