From cesare.diaz en gmail.com Fri Jul 1 01:36:45 2005 From: cesare.diaz en gmail.com (=?ISO-8859-1?Q?C=E9sar_Diaz?=) Date: Thu, 30 Jun 2005 20:36:45 -0300 Subject: Documentacion librerias Gtk Message-ID: Gentes, queria preguntarles si saben de algun buen tutorial o manual que me permita aprender sobre como manejar los eventos de las ventanas generadas con Gtk. Busque por la web y no encontre demasiado. Esto es todo lo que encontre o mejor dicho ... casi todo: http://www.escomposlinux.org/fer_y_juanjo/index.php?pag=python1.html http://www.aditel.org/~ripolles/consejos_glade.html http://www.linuxjournal.com/article/6586 ... tambien tengo esto en mi disco rigido pero no logro dar con estas funciones que necesito aprender : Python-Docs-2.4.1 Gracias por todo . Saludos, Cesar -- ================================== Cesar E. Diaz - Analista en Informática Aplicada Msn : cesarstafe en hotmail.com ICQ : 312384614 Area de Mantenimiento Informático - Fac. Ciencias Económicas - UNL Sector Infomático Inst. Prov. Estadisticas y Censos - Santa Fe "Mucho razonamiento y poca observación llevan al error, mucha observación y poco razonamiento llevan a la verdad " Luigi Giussani From jldalla en gmail.com Fri Jul 1 02:05:04 2005 From: jldalla en gmail.com (Jose Luis DALLAPICCOLA) Date: Thu, 30 Jun 2005 21:05:04 -0300 Subject: Documentacion librerias Gtk In-Reply-To: References: Message-ID: <40b558b305063017055853a431@mail.gmail.com> www.pygtk.org www.gtk.org más que ahi... no se :-D Saludos, El 30/06/05, César Diaz escribió: > Gentes, > queria preguntarles si saben de algun buen tutorial o > manual que me permita aprender sobre como manejar los eventos de las > ventanas generadas con Gtk. Busque por la web y no encontre demasiado. > Esto es todo lo que encontre o mejor dicho ... casi todo: > > http://www.escomposlinux.org/fer_y_juanjo/index.php?pag=python1.html > http://www.aditel.org/~ripolles/consejos_glade.html > http://www.linuxjournal.com/article/6586 > ... > > tambien tengo esto en mi disco rigido pero no logro dar con estas > funciones que necesito aprender : Python-Docs-2.4.1 > > Gracias por todo . > > Saludos, Cesar > > -- > ================================== > Cesar E. Diaz - Analista en Informática Aplicada > > Msn : cesarstafe en hotmail.com > ICQ : 312384614 > Area de Mantenimiento Informático - Fac. Ciencias Económicas - UNL > Sector Infomático Inst. Prov. Estadisticas y Censos - Santa Fe > > "Mucho razonamiento y poca observación llevan al error, > mucha observación y poco razonamiento llevan a la verdad " > Luigi Giussani > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > -- --- José Luis DALLAPICCOLA Cipolletti - RIO NEGRO Patagonia ARGENTINA From caliaga en gmail.com Fri Jul 1 02:57:16 2005 From: caliaga en gmail.com (Cristian Aliaga) Date: Thu, 30 Jun 2005 20:57:16 -0400 Subject: Documentacion librerias Gtk In-Reply-To: <40b558b305063017055853a431@mail.gmail.com> References: <40b558b305063017055853a431@mail.gmail.com> Message-ID: cesar yo tengo un manual de glade para manejo de widgets gtk (en pdf), y otros pdf sobre pygtk y python si te ineteresa verlos tb, ahora estoy en la universidad, pero cuando llegue los subo para que los descargues, saludos El 30/06/05, Jose Luis DALLAPICCOLA escribió: > www.pygtk.org > www.gtk.org > más que ahi... no se :-D > > Saludos, > > El 30/06/05, César Diaz escribió: > > Gentes, > > queria preguntarles si saben de algun buen tutorial o > > manual que me permita aprender sobre como manejar los eventos de las > > ventanas generadas con Gtk. Busque por la web y no encontre demasiado. > > Esto es todo lo que encontre o mejor dicho ... casi todo: > > > > http://www.escomposlinux.org/fer_y_juanjo/index.php?pag=python1.html > > http://www.aditel.org/~ripolles/consejos_glade.html > > http://www.linuxjournal.com/article/6586 > > ... > > > > tambien tengo esto en mi disco rigido pero no logro dar con estas > > funciones que necesito aprender : Python-Docs-2.4.1 > > > > Gracias por todo . > > > > Saludos, Cesar > > > > -- > > ================================== > > Cesar E. Diaz - Analista en Informática Aplicada > > > > Msn : cesarstafe en hotmail.com > > ICQ : 312384614 > > Area de Mantenimiento Informático - Fac. Ciencias Económicas - UNL > > Sector Infomático Inst. Prov. Estadisticas y Censos - Santa Fe > > > > "Mucho razonamiento y poca observación llevan al error, > > mucha observación y poco razonamiento llevan a la verdad " > > Luigi Giussani > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es > > > > -- > > --- > José Luis DALLAPICCOLA > Cipolletti - RIO NEGRO > Patagonia ARGENTINA > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > -- Cristian Aliaga Estudiante de programación computacional irc.cl - #gnome From i_munoz en euskalnet.net Fri Jul 1 08:40:32 2005 From: i_munoz en euskalnet.net (=?ISO-8859-1?Q?I=F1igo?=) Date: Fri, 01 Jul 2005 08:40:32 +0200 Subject: Documentacion librerias Gtk In-Reply-To: References: Message-ID: <42C4E560.6010107@euskalnet.net> Este tutorial está bastante bien tambien. http://www.pygtk.org/pygtk2tutorial-es/index.html César Diaz escribió: >Gentes, > queria preguntarles si saben de algun buen tutorial o >manual que me permita aprender sobre como manejar los eventos de las >ventanas generadas con Gtk. Busque por la web y no encontre demasiado. >Esto es todo lo que encontre o mejor dicho ... casi todo: > >http://www.escomposlinux.org/fer_y_juanjo/index.php?pag=python1.html >http://www.aditel.org/~ripolles/consejos_glade.html >http://www.linuxjournal.com/article/6586 > ... > >tambien tengo esto en mi disco rigido pero no logro dar con estas >funciones que necesito aprender : Python-Docs-2.4.1 > > Gracias por todo . > > > Saludos, Cesar > > > From jmeile en hotmail.com Fri Jul 1 12:40:20 2005 From: jmeile en hotmail.com (Josef Meile) Date: Fri, 01 Jul 2005 12:40:20 +0200 Subject: Funcion dir() dentro de un script de zope In-Reply-To: <1120073270.28503.3.camel@localhost> References: <1120073270.28503.3.camel@localhost> Message-ID: <42C51D94.1060007@hotmail.com> Hola Hector, podrías incluir el "dir" en un ExternalMethod, pero me parece que sería una vulnerabilidad muy grave si lo estas utilizando en un servidor diferente a tú máquina local. De todas formas, incluyo el código para que te hagas una idea: En el directorio Extensions crea un archivo llamado myDir con los siguientes contenidos: from zExceptions import Unauthorize from AccessControl import getSecurityManager def myDir(objeto): userObj=getSecurityManager().getUser() if userObj.has_role('Manager'): return dir(objeto) raise Unauthorized, "Usted no está authorizado para ejecutar este script" Luego crea el External method con los siguientes datos: id: myDir Module name: myDir Function name: myDir Si bien, la verificación de los roles del usuario registrado actualmente reduce un poco el impacto de la vulnerabilidad que significa exponer el methodo "dir", todavía queda la posibilidad de que te encuentres un admin malicioso que pueda causar problemas. Si solo accesas el méthodo con un usuario, podrías reemplazar el método por lo siguiente: from zExceptions import Unauthorize from AccessControl import getSecurityManager def myDir(objeto): userObj=getSecurityManager().getUser() if (userObj.has_role('Manager')) and \ (getSecurityManager().getUser().getUserName() != 'miUsuario'): return dir(objeto) raise Unauthorized, "Usted no está authorizado para ejecutar este script" Para asegurarte que sólo "Manager" o un role que tu hayas definido pueda ejecutar el ExternalMethod, ve a la pestaña seguridad de zope y desabilita el checkbox "View" en la columna "Acquire permission settings" y activalo en la columna "Manager" (o en el role que hayas definido). Para mayor seguridad, yo definiría un role y se lo asignaría a solo un usuario con derechos de "Manager". Pero cabe aclarar que yo, personalmente, sólo haría esto en mi server local y no en un server que este expuesto en internet. Saludos, Josef Hector Miuler Malpica Gallegos wrote: > Hola amigos, quiero saber las propiedades del objeto "context" en un > script python dentro de zope, hasta ahora solo se que es " at prueba5001>", pero quiero saber más, mi primera misión es obtener el > contenido de una carpeta que muestra, a mi parecer un dato raro, lo que > estoy intentando es usar dir(), > "print dir(context)" > > pero veo que no funciona el dir() :S alguna sugerencia ? > > > ------------------------------------------------------------------------ > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From cesare.diaz en gmail.com Fri Jul 1 19:01:58 2005 From: cesare.diaz en gmail.com (=?ISO-8859-1?Q?C=E9sar_Diaz?=) Date: Fri, 1 Jul 2005 14:01:58 -0300 Subject: Documentacion librerias Gtk In-Reply-To: <42C4E560.6010107@euskalnet.net> References: <42C4E560.6010107@euskalnet.net> Message-ID: Gracias Cristian e Iñigo. Cristian, si podes tambien pasame los manuales pdf que tengas. Gracias a todos. Saludos, Cesar PD: si alguno de ustedes usa Icq pasenme sus numeros asi los agrego a mis contactos.... porque dudo que muchos de ustedes tengan msn de micro$soft. Yo acutualmente estoy usando el Gaim para mensajero y de vez en cuando si no tengo interfaz grafica le echo mano al centericq ;-) ================================== Cesar E. Diaz - Analista en Informática Aplicada Msn : cesarstafe en hotmail.com ICQ : 312384614 From caliaga en gmail.com Fri Jul 1 19:25:10 2005 From: caliaga en gmail.com (Cristian Aliaga) Date: Fri, 1 Jul 2005 13:25:10 -0400 Subject: Documentacion librerias Gtk In-Reply-To: References: <42C4E560.6010107@euskalnet.net> Message-ID: Saludos César, te cuento que en esta dirección http://www.enfermo.cl/caliaga/manuales/ estoy subiendo todos los manuales relacionados que tengo, espero que te sirvan, agregué por ahi algunos extras como uno sobre las reglas hig en gnome, etc saludos pd: los estoy subiendo en estos momentos, asi que revisa un poquito mas tarde tambien El 1/07/05, César Diaz escribió: > Gracias Cristian e Iñigo. Cristian, si podes tambien pasame los > manuales pdf que tengas. Gracias a todos. > > Saludos, Cesar > PD: si alguno de ustedes usa Icq pasenme sus numeros asi los agrego a > mis contactos.... porque dudo que muchos de ustedes tengan msn de > micro$soft. Yo acutualmente estoy usando el Gaim para mensajero y de > vez en cuando si no tengo interfaz grafica le echo mano al centericq > ;-) > > ================================== > Cesar E. Diaz - Analista en Informática Aplicada > > Msn : cesarstafe en hotmail.com > ICQ : 312384614 > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > -- Cristian Aliaga Estudiante de programación computacional irc.cl - #gnome From cesare.diaz en gmail.com Fri Jul 1 20:30:39 2005 From: cesare.diaz en gmail.com (=?ISO-8859-1?Q?C=E9sar_Diaz?=) Date: Fri, 1 Jul 2005 15:30:39 -0300 Subject: Documentacion librerias Gtk In-Reply-To: References: <42C4E560.6010107@euskalnet.net> Message-ID: On 7/1/05, Cristian Aliaga wrote: > Saludos César, te cuento que en esta dirección > http://www.enfermo.cl/caliaga/manuales/ > estoy subiendo todos los manuales relacionados que tengo, espero que > te sirvan, agregué por ahi algunos extras como uno sobre las reglas > hig en gnome, etc yo actualmente estoy con entorno IceWm, no se si esto de hig en gnome me servira pero bueno, lo aprendere supongo leyendo estos manuales... :-) saludos, cesar -- ================================== Cesar E. Diaz - Analista en Informática Aplicada Msn : cesarstafe en hotmail.com ICQ : 312384614 Area de Mantenimiento Informático - Fac. Ciencias Económicas - UNL Sector Infomático Inst. Prov. Estadisticas y Censos - Santa Fe "Mucho razonamiento y poca observación llevan al error, mucha observación y poco razonamiento llevan a la verdad " Luigi Giussani From ASheriff en ismm.edu.cu Fri Jul 1 23:53:45 2005 From: ASheriff en ismm.edu.cu (Amed Sheriff =?iso-8859-1?Q?L=F3pez?=) Date: Fri, 01 Jul 2005 16:53:45 -0500 Subject: ayuda.. Message-ID: necesito que alguien me ayude en la implementacion de un gather para un spider, es urgente......espero respuestas..gracias... _____________________________________________________________________ Participe en el V Congreso Internacional de Educación Superior "Universidad 2006". La Habana, Cuba, del 13 al 17 de Febrero del 2006 http://www.universidad2006.cu ______________________________________________ Instituto Superior Minero Metalúrgico de Moa Dr. Antonio Núñez Jiménez http://www.ismm.edu.cu ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From ASheriff en ismm.edu.cu Sat Jul 2 00:32:58 2005 From: ASheriff en ismm.edu.cu (Amed Sheriff =?iso-8859-1?Q?L=F3pez?=) Date: Fri, 01 Jul 2005 17:32:58 -0500 Subject: Python... Message-ID: BUeno espero que este mensaje llegue, necesito ayuda y de la buena, ya que tengo la tarea de implementar una clase Gahter para ese mismo fin, necesito implementar un Gahter para un spider, espero tengas alguan idea, es para un trabajo de la universidad, recien empiazo a trabajar en esto.. espero respuesta.....gracias. _____________________________________________________________________ Participe en el V Congreso Internacional de Educación Superior "Universidad 2006". La Habana, Cuba, del 13 al 17 de Febrero del 2006 http://www.universidad2006.cu ______________________________________________ Instituto Superior Minero Metalúrgico de Moa Dr. Antonio Núñez Jiménez http://www.ismm.edu.cu ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From ASheriff en ismm.edu.cu Sat Jul 2 00:41:39 2005 From: ASheriff en ismm.edu.cu (Amed Sheriff =?iso-8859-1?Q?L=F3pez?=) Date: Fri, 01 Jul 2005 17:41:39 -0500 Subject: Python... Message-ID: BUeno espero que este mensaje llegue, necesito ayuda y de la buena, ya que tengo la tarea de implementar una clase Gahter para ese mismo fin, necesito implementar un Gahter para un spider, espero tengas alguan idea, es para un trabajo de la universidad, recien empiazo a trabajar en esto.. espero respuesta.....gracias. _____________________________________________________________________ Participe en el V Congreso Internacional de Educación Superior "Universidad 2006". La Habana, Cuba, del 13 al 17 de Febrero del 2006 http://www.universidad2006.cu ______________________________________________ Instituto Superior Minero Metalúrgico de Moa Dr. Antonio Núñez Jiménez http://www.ismm.edu.cu ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From ASheriff en ismm.edu.cu Sat Jul 2 01:16:55 2005 From: ASheriff en ismm.edu.cu (Amed Sheriff =?iso-8859-1?Q?L=F3pez?=) Date: Fri, 01 Jul 2005 18:16:55 -0500 Subject: Gather... Message-ID: BUeno espero que este mensaje llegue, necesito ayuda y de la buena, ya que tengo la tarea de implementar una clase Gahter para ese mismo fin, necesito implementar un Gahter para un spider, espero tengas alguan idea, es para un trabajo de la universidad, recien empiazo a trabajar en esto.. espero respuesta.....gracias. _____________________________________________________________________ Participe en el V Congreso Internacional de Educación Superior "Universidad 2006". La Habana, Cuba, del 13 al 17 de Febrero del 2006 http://www.universidad2006.cu ______________________________________________ Instituto Superior Minero Metalúrgico de Moa Dr. Antonio Núñez Jiménez http://www.ismm.edu.cu ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From reivaj7 en gmail.com Sat Jul 2 00:37:44 2005 From: reivaj7 en gmail.com (reivaj_7) Date: Fri, 1 Jul 2005 18:37:44 -0400 Subject: (sin asunto) Message-ID: <26f7eeff0507011537673c039b@mail.gmail.com> hola a todos soy relativamente nuevo en todo lo que tiene que ver con software libre y quiciera saber como puedo hacer programas de interfazes graficas en python y donde encuentro explicaciones en español por que hablo muy poco ingles. gracias ... From cescd en yahoo.com.mx Sat Jul 2 01:04:55 2005 From: cescd en yahoo.com.mx (Cesar Cardenas Desales) Date: Fri, 1 Jul 2005 18:04:55 -0500 (CDT) Subject: Gather... In-Reply-To: References: Message-ID: <20050701230455.67546.qmail@web50411.mail.yahoo.com> Pues ya se había discutido algo en la lista http://listas.aditel.org/archivos/python-es/2005-April/013175.html http://starship.python.net/pipermail/triangle-zpug/2004-July/000374.html http://www.kyb.tuebingen.mpg.de/bs/people/andre/spider.htm Por cierto, con una sola ocasión que enviaras tu mensaje a la lista habría bastado. Ahora te has ganado la indiferencia de la mayoría de los participantes. Lo mas correcto sería que hubieras indicado en un solo mensaje que se trata de una pregunta urgente. Saludos César --- Amed Sheriff López escribió: > > > > > > > > > BUeno espero que este mensaje llegue, necesito ayuda > y de la buena, ya que > tengo la tarea de implementar una clase Gahter para > ese mismo fin, necesito > implementar un Gahter para un spider, espero tengas > alguan idea, es para un > trabajo de la universidad, recien empiazo a trabajar > en esto.. espero > respuesta.....gracias. > > > _____________________________________________________________________ > Participe en el V Congreso Internacional de > Educación Superior > "Universidad 2006". La Habana, Cuba, del 13 al 17 de > Febrero del 2006 > http://www.universidad2006.cu > > ______________________________________________ > Instituto Superior Minero Metalúrgico de Moa > Dr. Antonio Núñez Jiménez > http://www.ismm.edu.cu > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > __________________________________________________ Correo Yahoo! Espacio para todos tus mensajes, antivirus y antispam ¡gratis! Regístrate ya - http://correo.yahoo.com.mx/ From jordifreek en gmail.com Sat Jul 2 01:09:01 2005 From: jordifreek en gmail.com (Jordi Enguidanos) Date: Sat, 2 Jul 2005 01:09:01 +0200 Subject: (sin asunto) In-Reply-To: <26f7eeff0507011537673c039b@mail.gmail.com> References: <26f7eeff0507011537673c039b@mail.gmail.com> Message-ID: <1fcde35e05070116094661e436@mail.gmail.com> Lo mas común es utilizar GTK (www.gtk.org ). GTK es una libreria que se creo para el programa GIMP y con la cual se pueden crear interfaces graficas. GTK no es exclusivo de python y se utiliza en otros lenguajes como C#. Exite una libreria para Python que trabaja muy bien GTK aunque normalmente no es necesario tenerle. Se llama PyGTK (www.pygtk.org ). Para ver algunos enlaces a tutoriales mira este mensaje de la lista y sus respuestas: http://listas.aditel.org/archivos/python-es/2005-July/013872.html Salu2. Jordi Enguidanos Naranjo. From cescd en yahoo.com.mx Sat Jul 2 01:09:55 2005 From: cescd en yahoo.com.mx (Cesar Cardenas Desales) Date: Fri, 1 Jul 2005 18:09:55 -0500 (CDT) Subject: (sin asunto) In-Reply-To: <26f7eeff0507011537673c039b@mail.gmail.com> References: <26f7eeff0507011537673c039b@mail.gmail.com> Message-ID: <20050701230956.37373.qmail@web50413.mail.yahoo.com> Puedes empezar leyendo: http://barrapunto.com/article.pl?sid=02/12/31/2028254&mode=thread http://libertonia.escomposlinux.org/story/2002/12/31/13481/135 POr cierto, no sería mala idea que pusieras un Asunto cada que escribieras un correo a esta lista, así habría mas personas interesadas en leer y responder tus dudas. Saludos César --- reivaj_7 escribió: > hola a todos soy relativamente nuevo en todo lo que > tiene que ver con > software libre y quiciera saber como puedo hacer > programas de > interfazes graficas en python y donde encuentro > explicaciones en > español por que hablo muy poco ingles. > > gracias ... > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > __________________________________________________ Correo Yahoo! Espacio para todos tus mensajes, antivirus y antispam ¡gratis! Regístrate ya - http://correo.yahoo.com.mx/ From proyectoantonio en lycos.es Sat Jul 2 01:29:12 2005 From: proyectoantonio en lycos.es (proyectoantonio en lycos.es) Date: Sat, 2 Jul 2005 01:29:12 +0200 Subject: Aplicaciones graficas con Python - Version 0.1 Message-ID: <20050701232924.B75B310D68B@cmcodec06.st1.spray.net> Seguro tiene muchos errores y faltan datos. Poco a poco la relleno sobre todo con los comentarios de esta lista ---------------------------------------------------------------------------------------------------- Guia para crear aplicaciones graficas con Python (Linux/Win) v0.1 ---------------------------------------------------------------------------------------------------- Distribucion: Ubuntu Versiones: Warty 4.10 Hoary 5.04 Descarga: www.ubuntu.org [ENG] Documentacion www.ubuntu.org www.ubuntu-es.org warty.guia.ubuntu.org/doki.php [ESP] hoary.guia.ubuntu.org/doki.php [ESP] Lenguaje: Python Versiones: 2.4.1 Descarga: www.python.org [ENG] Documentacion: www.python.org [ENG] diveinpython [ENG] Listado bueno de tutoriales [ENG] inmersion en python [ESP] Listado de tutoriales [ESP] IDE: Programa que sirve para editar codigo fuente. Puede tener control de proyectos,marcado de sintaxis,debugger,creacion de interface grafica,.. Anjunta (Linux) KDevelop (Linux) Boa (Linux/Windows) Libreria grafica: GTK+: Utilizado en Gnome QT: Utilizado en KDE WxWindows: En Linux utiliza GTK y en Windows la API de Windows. Libreria para las API graficas: Tambien llamadas wrapper. Las api graficas estan escritas en C o C++. Con estas librerias se convierten las llamadas a la api original con llamadas en el lenguaje Python. QT: Libreria: pyQT Licencia: GPL y Comercial Descarga: www.pyqt.org Documentacion: www.pyqt.org [ENG] Existe un libro online sobre pyQT del 2001 GTK+: Libreria: pyGTK Licencia: LGPL Descarga: www.pygtk.org Documentacion: www.pygtk.org [ENG] Existe un tutorial y una referencia de la API Wxwindows: Libreria: pywxWindows Licencia: *** Permite Descarga: www.pywxwindows.org Documentacion: www.pywxwindows.org [ENG] Tutorial basico y ejemplos bastantes buenos. Generar interface grafica: GTK Glade-2: + Formato XML - No soporta todos los widgets Gazpacho: Version: 0.5.3 Descarga: gruppy.sicem.biz Requiere: python, gtk+, pygtk+ + Formato XML + Mas actualizado + Proyecto español WxWindows Boa: + Hecho en Python + Sirve para generar interface WxPython + Es ademas un IDE wxDesigner: - Comercial wxGlade QT QTDesigner Eric BBDD: MySQL Base de datos muy rapida usada en entornos web. Licencias: GPL y Comercial Los dos tipos de tablas mas usados son MyISAM e INNODB: MyISAM es la mas rapida pero no tiene integridad referencial ni transacciones INNODB soporta intregridad referencial y transacciones siendo mas lenta que MyISAM Proximas versiones de MySQL soportaran: trigers, views Version: 4.1 (ESTABLE) 5.0 (DESARROLLO) Descarga: www.mysql.com Documentacion www.mysql.com [ENG] [El manual de mySQL en formato chm es muy bueno] www.mysql-hispano.org [ESP] Articulos en español. Muy util PostgreSQL Base de datos robusta con caracteristicas cercanas a otros SGBD comerciales con integridad referencial,procedures,viewx,trigers. A partir de la version 8.0 existe una version para Windows. Licencia: BSD - Permite realizar aplicaciones GPL, BSD, Comerciales Version: 8.0.3 Descarga: www.postgresql.org [ENG] Documentacion: www.postgresql.org [ENG] La documentacion esta separada por secciones.Muy util y actualizada www.postgresql.cl [ESP] Articulos buenos y documentacion traducida (algo antigua) SQLite Base de datos basada en fichero. Util para aplicaciones con un usuario o protipos Dada su simplicidad sabiendo SQL y las funciones para conectar no necesitas mas. Licencia: Version: 2.6.x Descarga: www.sqlite.org Documentacion: www.sqlite.org [ENG] Wiki con articulos. Firebird Base de datos Licencia: Version: Descarga: Documentacion: Acceso a BBDD: Python tiene definida una api para acceder a BD que va por la version 2.0 (db-API 2.0) Para acceder a la BBDD necesitamos librerias que implementen a ser posible toda la api. Existen para cada BBDD muchas opciones unas mas completas y otras mas rapidas. MySQL: PostgreSQL: pySQL 2.3 SQLite: Compilador (windows) py2exe frezee Instaladores (windows) innosetup nullsoft From cesare.diaz en gmail.com Sat Jul 2 02:26:42 2005 From: cesare.diaz en gmail.com (=?ISO-8859-1?Q?C=E9sar_Diaz?=) Date: Fri, 1 Jul 2005 21:26:42 -0300 Subject: =?iso-8859-1?q?Conexi=F3n_con_Bases_de_Datos_Posgre?= Message-ID: Gentes, ya tengo diseñado una pequeña ventana de logueo la cual quiero probar y queria ver de enganchar esta parte grafica con alguna DB que me permita chequear un usuario al ingreso del sistema. Necesito poder hacer esta conexion entre Python y Postgre, ustedes que conexion me recomiendan. ODBC o alguna otra que sea a partir de propias librerias de Python?? :-) ... me pueden indicar donde encontrar informacion sobre esto.... ya estuve buscando en los docs que me baje de Python-Docs-2.4.1 y no logre encontrar algo sobre esto... sera que esta pero no lo busque bien nada mas!!! Les agradesco lo que me puedan informar..... Saludos , Cesar -- ================================== Cesar E. Diaz - Analista en Informática Aplicada Msn : cesarstafe en hotmail.com ICQ : 312384614 ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From caliaga en gmail.com Sat Jul 2 03:37:54 2005 From: caliaga en gmail.com (Cristian Aliaga) Date: Fri, 1 Jul 2005 21:37:54 -0400 Subject: =?ISO-8859-1?Q?Re:__Conexi=F3n_con_Bases_de_Datos_Posgre?= In-Reply-To: References: Message-ID: una muy buena pagina con relacion a postgresql es www.postgresql.cl en uno de sus links encuentras postgre//python a modo ayuda te dejo esta, lo saque de un material de un ramo mio de universidad: Consideremos la siguiente situación: Tenemos nuestro servidor con una base de datos llamada dbtest y una tabla llamada cliente invocamos el intérprete de python: $python Python 2.4.1 (#2, Mar 30 2005, 21:51:10) [GCC 3.3.5 (Debian 1:3.3.5-8ubuntu2)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> from pyPgSQL.PgSQL import connect >>> conexion = connect(database="dbtest") >>> cursor = conexion.cursor() >>> cursor.execute("select * from cliente") >>> cursor.fetchall() [] >>> cursor.execute("insert into cliente values ('11.111.111-1','Cliente de prueba')") >>> cursor.execute("select * from cliente") >>> cursor.fetchall() [['11.111.111-1', 'Cliente de prueba']] Perfecto, hemos insertado un registro en nuestra tabla, así de fácil. saludos y espero te sirva El 1/07/05, César Diaz escribió: > Gentes, > ya tengo diseñado una pequeña ventana de > logueo la cual quiero probar y queria ver de enganchar esta parte > grafica con alguna DB que me permita chequear un usuario al ingreso > del sistema. Necesito poder hacer esta conexion entre Python y > Postgre, ustedes que conexion me recomiendan. ODBC o alguna otra que > sea a partir de propias librerias de Python?? :-) ... me pueden > indicar donde encontrar informacion sobre esto.... ya estuve buscando > en los docs que me baje de Python-Docs-2.4.1 y no logre encontrar algo > sobre esto... sera que esta pero no lo busque bien nada mas!!! > Les agradesco lo que me puedan informar..... > > Saludos , Cesar > -- > ================================== > Cesar E. Diaz - Analista en Informática Aplicada > > Msn : cesarstafe en hotmail.com > ICQ : 312384614 > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > > > -- Cristian Aliaga Estudiante de programación computacional irc.cl - #gnome From cesare.diaz en gmail.com Sat Jul 2 14:21:40 2005 From: cesare.diaz en gmail.com (=?ISO-8859-1?Q?C=E9sar_Diaz?=) Date: Sat, 2 Jul 2005 09:21:40 -0300 Subject: =?ISO-8859-1?Q?Re:__Conexi=F3n_con_Bases_de_Datos_Posgre?= In-Reply-To: References: Message-ID: Ok, gracias Cristian, voy a probar tu ejemplo de conexion y voy a ver lo que me decis del link de la pagina Posgre. Saludos, Cesar ================================== Cesar E. Diaz - Analista en Informática Aplicada Msn : cesarstafe en hotmail.com ICQ : 312384614 From cesare.diaz en gmail.com Sat Jul 2 17:16:54 2005 From: cesare.diaz en gmail.com (=?ISO-8859-1?Q?C=E9sar_Diaz?=) Date: Sat, 2 Jul 2005 12:16:54 -0300 Subject: =?ISO-8859-1?Q?Re:__Conexi=F3n_con_Bases_de_Datos_Posgre?= In-Reply-To: References: Message-ID: Gentes, probe este ejemplo que encontre pero no funciona porque tienen problemas con la linea 7 :-( ----------------------------------------------------------------- 1 #!/usr/bin/python2.3 2 import gtk 3 import sys 4 import os 5 import gobject 6 import pango 7 import pg # ESTE ES EL OBJETO QUE ME DA ERROR 8 def connect(): 9 usuario = 'cesar' 10 base = 'contable' 11 conecta = pg.connect(dbname=base,user=usuario) 12 consulta = 'select nombre, clave from usuario' 13 resultado = conecta.query(consulta) 14 print resultado 15 conecta.close() ----------------------------------------------------------- el error que muestra es el siguiente.... Traceback (most recent call last): File "contable.py", line 12, in ? import pg ImportError: No module named pg intente encontrar este modulo en los repositorios pero no tube suerte... ustedes me puedes decir si existe algun modulo que lo reemplase o en que esto fallando con este codigo? . Gracias por la ayuda que me puedan dar Saludos, Cesar ================================== Cesar E. Diaz - Analista en Informática Aplicada Msn : cesarstafe en hotmail.com ICQ : 312384614 From minoztro en gmail.com Sat Jul 2 20:04:40 2005 From: minoztro en gmail.com (Milton inostroza) Date: Sat, 2 Jul 2005 14:04:40 -0400 Subject: =?ISO-8859-1?Q?Re:__Conexi=F3n_con_Bases_de_Datos_Posgre?= In-Reply-To: References: Message-ID: <172699c505070211041ed396f7@mail.gmail.com> from pyPgSQL.PgSQL import connect trata con ese en vez de tu linea 7 y despues utiliza simplemente connect, salu2!! El 2/07/05, César Diaz escribió: > Gentes, > probe este ejemplo que encontre pero no funciona porque > tienen problemas con la linea 7 :-( > > ----------------------------------------------------------------- > > 1 #!/usr/bin/python2.3 > 2 import gtk > 3 import sys > 4 import os > 5 import gobject > 6 import pango > 7 import pg # ESTE ES EL OBJETO QUE ME DA ERROR > 8 def connect(): > 9 usuario = 'cesar' > 10 base = 'contable' > 11 conecta = pg.connect(dbname=base,user=usuario) > 12 consulta = 'select nombre, clave from usuario' > 13 resultado = conecta.query(consulta) > 14 print resultado > 15 conecta.close() > ----------------------------------------------------------- > el error que muestra es el siguiente.... > > Traceback (most recent call last): > File "contable.py", line 12, in ? > import pg > ImportError: No module named pg > > intente encontrar este modulo en los repositorios pero no tube > suerte... ustedes me puedes decir si existe algun modulo que lo > reemplase o en que esto fallando con este codigo? . Gracias por la > ayuda que me puedan dar > > Saludos, Cesar > > ================================== > Cesar E. Diaz - Analista en Informática Aplicada > > Msn : cesarstafe en hotmail.com > ICQ : 312384614 > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > -- Milton Inostroza Aguilera From jjdelcerromurciano en yahoo.es Sat Jul 2 21:29:42 2005 From: jjdelcerromurciano en yahoo.es (Joaquin Jose del Cerro Murciano) Date: Sat, 2 Jul 2005 21:29:42 +0200 Subject: =?iso-8859-1?q?Conexi=F3n_con_Bases_de_Datos?= Posgre In-Reply-To: References: Message-ID: <200507022129.42922.jjdelcerromurciano@yahoo.es> Hola, Un par de cosillas. Normalmente con la distribucion de python no vienen modulos para acceder a BD, y concretamente para acceder a postgresql. Antes de intentar acceder a la base de datos deberias instalar el paquete correspondiente. Para el ejemplo de Cristian tienes que tener instalado el paquete pyPgSQL, que puedes encontrar en http://pypgsql.sourceforge.net/ Si vas a utilizar este paquete para acceder a la base de datos prueba los siguientes cambios. El Sábado, 2 de Julio de 2005 17:16, César Diaz escribió: > Gentes, > probe este ejemplo que encontre pero no funciona porque > tienen problemas con la linea 7 :-( > > ----------------------------------------------------------------- > > 1 #!/usr/bin/python2.3 > 2 import gtk > 3 import sys > 4 import os > 5 import gobject > 6 import pango > 7 import pg # ESTE ES EL OBJETO QUE ME DA ERROR from pyPgSQL import PgSQL > 8 def connect(): > 9 usuario = 'cesar' > 10 base = 'contable' > 11 conecta = pg.connect(dbname=base,user=usuario) conecta = PgSQL.connect(dbname=base,user=usuario) > 12 consulta = 'select nombre, clave from usuario' > 13 resultado = conecta.query(consulta) cursor = conecta.cursor() # Creamos un cursor sobre la conexion cursor.execute(consulta) # Ejecutamos la consulta resultado = cursor.fetchall() # Recogemos el resultado cursor.close() # Cerramos el cursor > 14 print resultado > 15 conecta.close() > ----------------------------------------------------------- > el error que muestra es el siguiente.... > > Traceback (most recent call last): > File "contable.py", line 12, in ? > import pg > ImportError: No module named pg > > intente encontrar este modulo en los repositorios pero no tube > suerte... ustedes me puedes decir si existe algun modulo que lo > reemplase o en que esto fallando con este codigo? . Gracias por la > ayuda que me puedan dar > > Saludos, Cesar > > ================================== > Cesar E. Diaz - Analista en Informática Aplicada > > Msn : cesarstafe en hotmail.com > ICQ : 312384614 > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es Ademas tambien te recomiendo que ojees por http://www.python.org/topics/database/ y mas concretamente en http://www.python.org/peps/pep-0249.html En donde encontraras las especificaciones del DBAPI 2.0, que describen que clases y metodos deberias encontrar en un paquete de acceso a base de datos. un saludo Joaquin ______________________________________________ Renovamos el Correo Yahoo! Nuevos servicios, más seguridad http://correo.yahoo.es From i12yemom en uco.es Mon Jul 4 13:07:02 2005 From: i12yemom en uco.es (Miguel Yepes Moyano) Date: Mon, 04 Jul 2005 13:07:02 +0200 Subject: =?ISO-8859-1?Q?Validaci=F3n_de_documentos_?= =?ISO-8859-1?Q?usando_XML_Schema_con_python?= In-Reply-To: References: Message-ID: <42C91856.4070905@uco.es> Hernan Martínez Foffani escribió: >>¿Sabe alguien de algún módulo que permita la validación de documentos >>XML usando XML Schema? >> >> > >¿no te sirve XSV, que es la implementación oficial del W3C ? >se puede probar online: >http://www.w3.org/2001/03/webdata/xsv > >el proyectos XSV está en: >http://www.ltg.ed.ac.uk/~ht/xsv-status.html > >saludos, >-H. > >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es > > > Muchas gracias :D:D, ya he probado el módulo y funciona bien. Saludos. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From lcatalin en siadv.com Mon Jul 4 13:34:20 2005 From: lcatalin en siadv.com (Catalin Lungu) Date: Mon, 4 Jul 2005 13:34:20 +0200 Subject: MySQL Message-ID: <000601c5808c$543da4f0$d900a8c0@catalin> Hola, Me pueden decir cual es la sintaxis correcta de hacer un insert en una tabla de MySQL atravez del modulo MySQLdb. Lo estoy haciendo de esta forma y no funciona: fraseSQL = "INSERT INTO clientes (codcli, nomcli, direccion, telefono, fax, perscont) VALUES (3,'cliente3','direccion3','918659654','915521949','pepe')" cursor.execute(fraseSQL) Los SELECT, SHOW TABLES, SHOW DATABASES y otros comandos funcionan. Saludos, Catalin From lcatalin en siadv.com Mon Jul 4 13:42:59 2005 From: lcatalin en siadv.com (Catalin Lungu) Date: Mon, 4 Jul 2005 13:42:59 +0200 Subject: MySQL vs PostrgreSQL vs BerkleyDB Message-ID: <000d01c5808d$874c3630$d900a8c0@catalin> Vuelvo con otra pregunta, He leído mucho en internet sobre comparaciones entre estas base de datos pero no acabo de aclararme. Lo que necesito es una BD que soporte SQL, que vaya rápido, que no pete mucho, que no corrompa los datos en las caídas de servidores. Espero no pedir demasiado. Muchas gracias de antemano, Catalin From david.abreu en iac.es Mon Jul 4 13:43:23 2005 From: david.abreu en iac.es (David Abreu Rodriguez) Date: Mon, 04 Jul 2005 12:43:23 +0100 Subject: MySQL References: <000601c5808c$543da4f0$d900a8c0@catalin> Message-ID: <42C920DB.5050300@iac.es> Catalin Lungu wrote: >Hola, >Me pueden decir cual es la sintaxis correcta de hacer un insert en una tabla de MySQL atravez del modulo MySQLdb. >Lo estoy haciendo de esta forma y no funciona: > >fraseSQL = "INSERT INTO clientes (codcli, nomcli, direccion, telefono, fax, perscont) VALUES (3,'cliente3','direccion3','918659654','915521949','pepe')" >cursor.execute(fraseSQL) > >Los SELECT, SHOW TABLES, SHOW DATABASES y otros comandos funcionan. > >Saludos, >Catalin >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es > > Hola, creo que es: fraseSQL = "INSERT INTO clientes VALUES (3,'cliente3','direccion3','918659654','915521949','pepe')" dando los valores en el orden en el que están las comlumnas seguro que funciona. ciao. From necudeco en yahoo.es Mon Jul 4 13:56:50 2005 From: necudeco en yahoo.es (NeCuDeCo) Date: Mon, 4 Jul 2005 06:56:50 -0500 Subject: MySQL vs PostrgreSQL vs BerkleyDB In-Reply-To: <000d01c5808d$874c3630$d900a8c0@catalin> References: <000d01c5808d$874c3630$d900a8c0@catalin> Message-ID: <20050704065650.5771f7bb.necudeco@yahoo.es> Que vaya rapido? mysql... que no compromenta los datos .. pues creoq ue postgresql On Mon, 4 Jul 2005 13:42:59 +0200 "Catalin Lungu" wrote: > Vuelvo con otra pregunta, > > He leído mucho en internet sobre comparaciones entre estas base de datos pero no acabo de aclararme. Lo que necesito es una BD que soporte SQL, que vaya rápido, que no pete mucho, que no corrompa los datos en las caídas de servidores. Espero no pedir demasiado. > > Muchas gracias de antemano, > Catalin > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es ______________________________________________ Renovamos el Correo Yahoo! Nuevos servicios, más seguridad http://correo.yahoo.es From necudeco en yahoo.es Mon Jul 4 13:56:08 2005 From: necudeco en yahoo.es (NeCuDeCo) Date: Mon, 4 Jul 2005 06:56:08 -0500 Subject: MySQL In-Reply-To: <000601c5808c$543da4f0$d900a8c0@catalin> References: <000601c5808c$543da4f0$d900a8c0@catalin> Message-ID: <20050704065608.162424ea.necudeco@yahoo.es> prueba ejecutando tu isntruccion SQL en un qeyr de mysql y ahi ve q error te sale.... Una vez la instruccion esta correcta ya la peudes usar en python On Mon, 4 Jul 2005 13:34:20 +0200 "Catalin Lungu" wrote: > Hola, > Me pueden decir cual es la sintaxis correcta de hacer un insert en una tabla de MySQL atravez del modulo MySQLdb. > Lo estoy haciendo de esta forma y no funciona: > > fraseSQL = "INSERT INTO clientes (codcli, nomcli, direccion, telefono, fax, perscont) VALUES (3,'cliente3','direccion3','918659654','915521949','pepe')" > cursor.execute(fraseSQL) > > Los SELECT, SHOW TABLES, SHOW DATABASES y otros comandos funcionan. > > Saludos, > Catalin > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es ______________________________________________ Renovamos el Correo Yahoo! Nuevos servicios, m?s seguridad http://correo.yahoo.es ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From py en ls-l.org Mon Jul 4 13:58:33 2005 From: py en ls-l.org (Chema Cortes) Date: Mon, 04 Jul 2005 13:58:33 +0200 Subject: MySQL In-Reply-To: <000601c5808c$543da4f0$d900a8c0@catalin> References: <000601c5808c$543da4f0$d900a8c0@catalin> Message-ID: <42C92469.9080401@ls-l.org> Catalin Lungu escribió: > Hola, > Me pueden decir cual es la sintaxis correcta de hacer un insert en una tabla de MySQL atravez del modulo MySQLdb. > Lo estoy haciendo de esta forma y no funciona: > > fraseSQL = "INSERT INTO clientes (codcli, nomcli, direccion, telefono, fax, perscont) VALUES (3,'cliente3','direccion3','918659654','915521949','pepe')" > cursor.execute(fraseSQL) > > Los SELECT, SHOW TABLES, SHOW DATABASES y otros comandos funcionan. ¿No será que te has olvidado del commit? Es una mala costumbre que tienen los que usan versiones de mysql anteriores a la 4.0. :-P From lcatalin en siadv.com Mon Jul 4 14:07:52 2005 From: lcatalin en siadv.com (Catalin Lungu) Date: Mon, 4 Jul 2005 14:07:52 +0200 Subject: MySQL References: <000601c5808c$543da4f0$d900a8c0@catalin> <20050704065608.162424ea.necudeco@yahoo.es> Message-ID: <004101c58091$01d66c10$d900a8c0@catalin> En MySQL Query Browser no me da ningun error. Referente a lo que me contesto David los valores de las columnas estan en orden, también he probado poner solo los valor sin los nombres de las columnas, pero nada. No hay que hacer algun commit o algo al estilo? From lcatalin en siadv.com Mon Jul 4 14:11:49 2005 From: lcatalin en siadv.com (Catalin Lungu) Date: Mon, 4 Jul 2005 14:11:49 +0200 Subject: MySQL References: <000601c5808c$543da4f0$d900a8c0@catalin> <42C92469.9080401@ls-l.org> Message-ID: <004701c58091$8e79fe20$d900a8c0@catalin> La version de la base de datos 5.0.7-beta-nt y si que me he olvidado del commit. No sera que la mala costumbre sigue con esta versión? From py en ls-l.org Mon Jul 4 15:17:09 2005 From: py en ls-l.org (Chema Cortes) Date: Mon, 04 Jul 2005 15:17:09 +0200 Subject: MySQL In-Reply-To: <004701c58091$8e79fe20$d900a8c0@catalin> References: <000601c5808c$543da4f0$d900a8c0@catalin> <42C92469.9080401@ls-l.org> <004701c58091$8e79fe20$d900a8c0@catalin> Message-ID: <42C936D5.5000809@ls-l.org> Catalin Lungu escribió: > La version de la base de datos 5.0.7-beta-nt y si que me he olvidado del > commit. No sera que la mala costumbre sigue con esta versión? Cuando me refería a "mala costumbre" era a que los programadores estaban acostumbrados a no tener que hacer el "commit". Resulta muy recomendable poner siempre el "commit" al final de una operación. Por cierto, en el mysql browser se trabaja con autocommit, por eso te parecerá que funciona sin commits. From py en ls-l.org Mon Jul 4 15:32:01 2005 From: py en ls-l.org (Chema Cortes) Date: Mon, 04 Jul 2005 15:32:01 +0200 Subject: MySQL vs PostrgreSQL vs BerkleyDB In-Reply-To: <000d01c5808d$874c3630$d900a8c0@catalin> References: <000d01c5808d$874c3630$d900a8c0@catalin> Message-ID: <42C93A51.3060604@ls-l.org> Catalin Lungu escribió: > He leído mucho en internet sobre comparaciones entre estas base de datos pero no acabo de aclararme. Lo que necesito es una BD que soporte SQL, que vaya rápido, que no pete mucho, que no corrompa los datos en las caídas de servidores. Espero no pedir demasiado. Te podemos contar muchas cosas, y cada cuál te podrá dar argumentos a favor y en contra, por lo que te recomiendo que las pruebes tú mismo. En función de qué entiendas por soporte SQL hay que decir que la Berkeley no tiene SQL. Mysql tiene un SQL incompleto, y el SQL de Postgresql es casi casi completo. La Berkeley tiene la particularidad que no requiere de servidor, es muy rápida, no consume muchos recursos, es tremendamente robusta y soporta accesos concurrentes. Es, por eso, muy usada en sistemas empotrados. Hablando de python, el acceso de alto nivel sólo permite almacenar cadenas de caracteres. También puedes acceder a bajo nivel, pero ya no tendría nada que ver con el SQL. MySQL es una de las más elegidas por su rapidez. Sus optimizaciones se realizan a costa de recortar características, lo que puede resultar frustrante si necesitas combinaciones complejas de muchas tablas para crear vistas, esquemas y demás. Aún así, para aplicaciones web suele dar muy buenos resultados y es más que suficiente. Postgresql es un SGDB muy completo, con todo lo que necesites: triggers, vistas, procedimientos almacenados (procedimientos que pueden ser escritos en python), etc. Las última versión 8 es equiparable en solidez con Oracle. Tiene una velocidad bastante aceptable, aunque no es tan rápida como mysql. Sobre corrupción de datos y caídas de sistemas habría que hablar mucho sobre las transacciones. El motor MyISAM de MySQL no soporta transacciones, con lo que una caída de sistema en medio de una actualización de tablas puede provocar la pérdida de la integridad referencial. El motor InnoDB ya incorpora transacciones, pero implica una pérdida de velocidad en comparación con MyISAM. No conozco su robustez, así como tampoco las características del resto de motores de mysql. Algunos de ellos tienen, al menos nominalmente, características muy potentes para control de transacciones. Postgresql-8 tiene un mecanismo de transacciones muy robusto que hace que la consolidación sea casi inmediata. Prácticamente se reduce a cero las posibilidades de perder la integridad referencial a causa de un fallo del sistema. En fin, yo he elegido postgresql para mi trabajo de desarrollo. En producción utilizo oracle, informix y sqlserver, y tengo mysql para pruebas de una intranet (apache tomcat). Si te lías sólo con tres bases de datos, ya no te cuento el lío que puedo tener yo en estos momentos :-S From pepe en xpress.es Mon Jul 4 16:47:06 2005 From: pepe en xpress.es (pepe) Date: Mon, 4 Jul 2005 16:47:06 +0200 Subject: duda Message-ID: <011901c580a7$3f6981a0$4dfaa8c0@Clint> Hola Estoy intentando lanzar un trabajo mediante un padre que segun los trabajos k tenga crea un hijo. mi problema que ejecuto mediante os.execlp(x,x)y luego se me kda zombi el hijo y no konsigo matarlo. Alguien me podria explicar como matarlo ni con kill -9 lo consigo Un saludo From cescd en yahoo.com.mx Mon Jul 4 17:12:43 2005 From: cescd en yahoo.com.mx (Cesar Cardenas Desales) Date: Mon, 4 Jul 2005 10:12:43 -0500 (CDT) Subject: =?iso-8859-1?q?Grupo_Python_M=C9XICO?= Message-ID: <20050704151243.50490.qmail@web50403.mail.yahoo.com> Amigos de la lista de Python en español: Desde hace algunos meses he tenido la intención de crear un grupo de discusión de Python en México. He notado a lo largo del tiempo que llevo en la lista, ya existen grupos en España y en Perú... ¿Pero en México cuando? Les invito a suscribirse al grupo de yahoo que ya he creado (o si alguien cuenta con infraestructura propia, a ofrecerla). Publicar mensaje: pythonmexico en yahoogrupos.com.mx Suscribir: pythonmexico-subscribe en yahoogrupos.com.mx Propietario: pythonmexico-owner en yahoogrupos.com.mx César ___________________________________________________________ Do You Yahoo!? La mejor conexión a Internet y 2GB extra a tu correo por $100 al mes. http://net.yahoo.com.mx From jcea en argo.es Mon Jul 4 18:17:10 2005 From: jcea en argo.es (Jesus Cea) Date: Mon, 04 Jul 2005 18:17:10 +0200 Subject: duda In-Reply-To: <011901c580a7$3f6981a0$4dfaa8c0@Clint> References: <011901c580a7$3f6981a0$4dfaa8c0@Clint> Message-ID: <42C96106.8040203@argo.es> pepe wrote: > Hola > Estoy intentando lanzar un trabajo mediante un padre que segun los trabajos k tenga crea un hijo. > mi problema que ejecuto mediante os.execlp(x,x)y luego se me kda zombi el hijo y no konsigo matarlo. > Alguien me podria explicar como matarlo > ni con kill -9 lo consigo Esto no es una pregunta de Python, sino UNIX. En unix, un proceso solo "termina" del todo cuando su padre es informado de su status de salida. Osea, hay que hacer un WAIT en el padre. Si no es "fácil" hacer eso, lo más simple es lanzar un hijo, que dicho hijo lance otro, el que realmente hace el trabajo, y que el primer hijo termine inmediatamente. El padre hace un WAIT que retorna inmediatamente (porque su hijo inmediato termina enseguida), y el nieto, que es quien realmente curra, al "morir" su padre (el primer hijo), es "heredado" por el proceso "init" del sistema operativo, cuya única misión en la vida es hacer "wait" sobre procesos huérfanos :-) La otra posibilidad es intercambiar los roles de padre e hijo. Pero sin tener más detalles es difícil ser más preciso. -- Jesus Cea Avion _/_/ _/_/_/ _/_/_/ jcea en argo.es http://www.argo.es/~jcea/ _/_/ _/_/ _/_/ _/_/ _/_/ _/_/ _/_/ _/_/_/_/_/ PGP Key Available at KeyServ _/_/ _/_/ _/_/ _/_/ _/_/ "Things are not so easy" _/_/ _/_/ _/_/ _/_/ _/_/ _/_/ "My name is Dump, Core Dump" _/_/_/ _/_/_/ _/_/ _/_/ "El amor es poner tu felicidad en la felicidad de otro" - Leibniz From miuler en gmail.com Mon Jul 4 18:19:09 2005 From: miuler en gmail.com (Hector Miuler Malpica Gallegos) Date: Mon, 04 Jul 2005 11:19:09 -0500 Subject: diferentes formar de obtener el titulo de un objeto en zope Message-ID: <1120493949.22965.15.camel@localhost> Hola amigos, estaba viendo las diferente formas de obtener el titulo, por ejemplo en un script python: /******************************************/ print "\nTitulos:" print "container.getContentInfo()['title']:",container.getContentInfo()['title'] print "container.Title() :",container.Title() print "container.title :",container.title /******************************************/ lo que me da como resultado: /******************************************/ Titulos: container.getContentInfo()['title']: Hector Miuler Malpica Gallegos container.Title() : Hector Miuler Malpica Gallegos container.title : /******************************************/ en una plantilla de zope .zpt /******************************************/ Titulos:
here.title:
here.Title():
here.getContentInfo()['title']:
/******************************************/ da como resultado: /******************************************/ Titulos: here.title: here.Title():Hector Miuler Malpica Gallegos here.getContentInfo()['title']: Hector Miuler Malpica Gallegos /******************************************/ 1. por lo que veo here.title es diferente a here.Title(), ahora ¿ here.Title() llama a here.getContentInfo()['title'] ? 2. ¿here=template? ¿here!=template?, pues veo siempre en los ejemplos que usan:

content title or id optional template title

3. Desde un script de python, como puedo hacer referencia a here?, pues si pongo here.title, me da error _\|/_ (O-O) --oOO-(_)-OOo---------------------------------------- Hector Miuler Malpica Gallegos Universidad Nacional del Callao - Peru Escuela de Ingenieria Electronica Jabber miuler en jabber.org usuario registrado #308608 ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From jmeile en hotmail.com Mon Jul 4 18:52:33 2005 From: jmeile en hotmail.com (Josef Meile) Date: Mon, 04 Jul 2005 18:52:33 +0200 Subject: diferentes formar de obtener el titulo de un objeto en zope In-Reply-To: <1120493949.22965.15.camel@localhost> References: <1120493949.22965.15.camel@localhost> Message-ID: <42C96951.40003@hotmail.com> Hola Hector > Hola amigos, estaba viendo las diferente formas de obtener el titulo, > por ejemplo en un script python: > > [...] > > 1. por lo que veo here.title es diferente a here.Title(), > ahora ¿ here.Title() llama a here.getContentInfo()['title'] ? > > 2. ¿here=template? ¿here!=template?, pues veo siempre en los ejemplos que usan: >

content title or id > tal:replace="template/title">optional template title

> > > 3. Desde un script de python, como puedo hacer referencia a here?, > pues si pongo here.title, me da error me parece que es context.title. Saludos, Josef ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From zootv en myrealbox.com Mon Jul 4 18:54:51 2005 From: zootv en myrealbox.com (ZooTV) Date: Mon, 04 Jul 2005 12:54:51 -0400 Subject: Consulta Python 2.4.1 y MySQL 4.1 Message-ID: Hola a todos. Estoy haciendo una aplicación que utiliza MySQL como base de datos. Mi problema es el siguiente: Resulta que cuando deseo realizar una modificación de un dato existente en la base, el programa no lo hace, pero me indica que lo hizo. El Código es el siguiente: #sql = 'UPDATE dolar set valor = 100.10 where N_mes = 7 and N_dia = 10' #conn = Conecta(None, "tablas_generales") #regis = modifica(conn, sql) #print "Registros: ", regis #conn.close() Las funciones llamadas son: def Conecta(self, BaseDatos): try: conne = MySQLdb.connect (host = "SERVIDOR", user = "usuario", passwd = "usuario", db = BaseDatos) except MySQLdb.Error, e: try: dlg = wx.MessageDialog(self, 'Trabajo en Forma Local', 'Error de Red', wx.OK | wx.ICON_INFORMATION) try: dlg.ShowModal() finally: dlg.Destroy() conne = MySQLdb.connect (host = "localhost", user = "usuario", passwd = "usuario", db = BaseDatos) except MySQLdb.Error, e: dlg = wx.MessageDialog(self, 'No se pudo conectar a la BD', 'Error de Comunicacion', wx.OK | wx.ICON_INFORMATION) try: dlg.ShowModal() finally: dlg.Destroy() sys.exit(1) return conne def modifica(coni, sql): cursor = coni.cursor() try: cursor.execute(sql) except MySQLdb.Error, e: print "Condoro %d: %s" % (e.args[0], e.args[1]) registros = cursor.rowcount cursor.close() return registros El campo regis me indica 1, por lo que entiendo que me dice que se hizo la actualización, pero al consultar la base no me registra el cambio. Me faltará algo? Gracias de antemano por lo ayuda. ZooTV ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From snmartin en galilea.cl Mon Jul 4 19:02:14 2005 From: snmartin en galilea.cl (Fernando San =?ISO-8859-1?Q?Mart=EDn?= Woerner) Date: Mon, 04 Jul 2005 13:02:14 -0400 Subject: Consulta Python 2.4.1 y MySQL 4.1 In-Reply-To: References: Message-ID: <1120496534.7904.13.camel@localhost.localdomain> Los modulos de base de datos traen un autocommit desactivado por defecto, fijate en el valor de la propiedad para tu caso específico. saludos On lun, 2005-07-04 at 12:54 -0400, ZooTV wrote: > Hola a todos. > > Estoy haciendo una aplicación que utiliza MySQL como base de datos. Mi > problema es el siguiente: > > Resulta que cuando deseo realizar una modificación de un dato existente en > la base, el programa no lo hace, pero me indica que lo hizo. > El Código es el siguiente: > > #sql = 'UPDATE dolar set valor = 100.10 where N_mes = 7 and N_dia = 10' > #conn = Conecta(None, "tablas_generales") > #regis = modifica(conn, sql) > #print "Registros: ", regis > #conn.close() > > Las funciones llamadas son: > > def Conecta(self, BaseDatos): > try: > conne = MySQLdb.connect (host = "SERVIDOR", > user = "usuario", > passwd = "usuario", > db = BaseDatos) > except MySQLdb.Error, e: > try: > dlg = wx.MessageDialog(self, 'Trabajo en Forma Local', > 'Error de Red', wx.OK | wx.ICON_INFORMATION) > try: > dlg.ShowModal() > finally: > dlg.Destroy() > > conne = MySQLdb.connect (host = "localhost", > user = "usuario", > passwd = "usuario", > db = BaseDatos) > except MySQLdb.Error, e: > dlg = wx.MessageDialog(self, 'No se pudo conectar a la BD', > 'Error de Comunicacion', wx.OK | wx.ICON_INFORMATION) > try: > dlg.ShowModal() > finally: > dlg.Destroy() > sys.exit(1) > return conne > > def modifica(coni, sql): > cursor = coni.cursor() > try: > cursor.execute(sql) > except MySQLdb.Error, e: > print "Condoro %d: %s" % (e.args[0], e.args[1]) > > registros = cursor.rowcount > cursor.close() > return registros > > > El campo regis me indica 1, por lo que entiendo que me dice que se hizo la > actualización, pero al consultar la base no me registra el cambio. Me > faltará algo? > > Gracias de antemano por lo ayuda. > > ZooTV > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es -- Fernando San Martín Woerner Jefe de Informática Galilea S.A. From jileon en parcan.es Mon Jul 4 19:52:42 2005 From: jileon en parcan.es (=?ISO-8859-1?Q?Juan_Ignacio_Rodr=EDguez_de_Le=F3n?=) Date: Mon, 04 Jul 2005 18:52:42 +0100 Subject: MySQL vs PostrgreSQL vs BerkleyDB In-Reply-To: <42C93A51.3060604@ls-l.org> References: <000d01c5808d$874c3630$d900a8c0@catalin> <42C93A51.3060604@ls-l.org> Message-ID: <42C9776A.1020602@parcan.es> A lo comentado por Chema, yo añadiría también Firebird entre las opciones a considerar. From miuler en gmail.com Mon Jul 4 21:54:32 2005 From: miuler en gmail.com (Hector Miuler Malpica Gallegos) Date: Mon, 04 Jul 2005 14:54:32 -0500 Subject: diferentes formar de obtener el titulo de un objeto en zope In-Reply-To: <42C96951.40003@hotmail.com> References: <1120493949.22965.15.camel@localhost> <42C96951.40003@hotmail.com> Message-ID: <1120506872.22965.26.camel@localhost> Hola, no eso no hace referencia context.title, e probado esto: print "\nTitulos:" print "container.getContentInfo()['title']:",container.getContentInfo()['title'] print "container.Title() :",container.Title() print "container.title :",container.title print "container.id :",container.id print "context.getContentInfo()['title'] :",context.getContentInfo()['title'] print "context.Title() :",context.Title() print "context.title :",context.title print "context.id :",context.id container y context me dan los mismo resultados, es a la carpeta que lo contiene. El lun, 04-07-2005 a las 18:52 +0200, Josef Meile escribió: > Hola Hector > > > Hola amigos, estaba viendo las diferente formas de obtener el titulo, > > por ejemplo en un script python: > > > > [...] > > > > 1. por lo que veo here.title es diferente a here.Title(), > > ahora ¿ here.Title() llama a here.getContentInfo()['title'] ? > > > > 2. ¿here=template? ¿here!=template?, pues veo siempre en los ejemplos que usan: > >

content title or id > > > tal:replace="template/title">optional template title

> > > > > > 3. Desde un script de python, como puedo hacer referencia a here?, > > pues si pongo here.title, me da error > me parece que es context.title. > > Saludos, > Josef > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From zootv en myrealbox.com Mon Jul 4 22:55:25 2005 From: zootv en myrealbox.com (ZooTV) Date: Mon, 04 Jul 2005 16:55:25 -0400 Subject: Consulta Python 2.4.1 y MySQL 4.1 Message-ID: > Los modulos de base de datos traen un autocommit desactivado por > defecto, fijate en el valor de la propiedad para tu caso específico. >saludos Perdón, podrías ser más específico, porque le agrego el COMMIT al proceso pero quedo en las mismas, no me arroja ningún error pero tampoco me midifica el campo. Estoy usando Python 2.4.1, MySQL 4.1.12a-nt en Windows XP, Win2000. El módulo de Python para MySQL es el 1.2.0 Con la versión 2.3 de Python no tenía estos problemas, actualicé a la versión 2.4, reinstalé todos los módulos correspondientes para esta versión y comenzaron los problemas. El código con COMMIT es este: sql = 'UPDATE dolar set valor = 100.10 where N_mes = ' + str(mes) + ' and N_dia = ' + str(dia) + ';' conn = Conecta(None, "tablas_generales") regis = modifica(conn, sql) sql = 'COMMIT;' conn = Conecta(None, "tablas_generales") regis = modifica(conn, sql) conn.close() Ni con esto funciona. Alguien puede tener alguna idea de dónde esta el problema? Gracias. ZooTV ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From snmartin en galilea.cl Mon Jul 4 23:10:45 2005 From: snmartin en galilea.cl (Fernando San =?ISO-8859-1?Q?Mart=EDn?= Woerner) Date: Mon, 04 Jul 2005 17:10:45 -0400 Subject: Consulta Python 2.4.1 y MySQL 4.1 In-Reply-To: References: Message-ID: <1120511445.8224.7.camel@localhost.localdomain> La verdad afortunadamente no tengo ni idea de mysql, pero en el caso de postgresql que maneja transacciones desde siempre, es asi. Las conecciones a la base de datos declaran una transaccion implicita, por lo que debes usar el metodo commit() de la coneccion, o cambiar el estado de la propiedad autocommit de falso a verdadero, dependiendo del modulo eso lo haces en una propiedad o con una llamada a un metodo. Por otra parte creo que el problema es que hay un bug en tu codigo, estas conectando dos veces, eso es muy mala idea (igual que usar mysql), deberias tener una sola coneccion y de ahi sacar más cursores, pero nunca más de un objeto de coneccion. ej: sql = 'UPDATE dolar set valor = 100.10 where N_mes = ' + str(mes) + ' and N_dia = ' + str(dia) + ';' conn = Conecta(None, "tablas_generales") regis = modifica(conn, sql) sql = 'COMMIT;' regis = modifica(conn, sql) conn.close() por otra parte para que cambias los nombres de los metodos? no es mejor: conn = tu_modulo.connect(...) cursor = conn.cursor() cursor.execute(sql) cursor.execute("commit") al menos eso es mucho más parecido a la DBAPI 2.0, y leible por el resto de los mortales. te recomiendo hacer en el modo interactivo de python import tu_modulo_db c = connect()... dir(c) o en vez de dir(c) import tu_modulo_db c = connect()... help(c) con eso debiera bastar, al menos a mi me funciona en mi humilde linux, también tengo la fortuna de saber muy poco acerca de XP. saludos -- Fernando San Martín Woerner Jefe de Informática Galilea S.A. From cesare.diaz en gmail.com Mon Jul 4 23:45:53 2005 From: cesare.diaz en gmail.com (=?ISO-8859-1?Q?C=E9sar_Diaz?=) Date: Mon, 4 Jul 2005 18:45:53 -0300 Subject: =?ISO-8859-1?Q?Re:__Conexi=F3n_con_Bases_de_Datos_Posgre?= In-Reply-To: <200507022129.42922.jjdelcerromurciano@yahoo.es> References: <200507022129.42922.jjdelcerromurciano@yahoo.es> Message-ID: Les agradesco lo que me pasaron como ayuda en los links para manuales, aplique lo que me indico Joaquin Jose: 1 #!/usr/bin/python2.3 2 import gtk 3 import sys 4 import os 5 import gobject 6 import pango 7from pyPgSQL import PgSQL #include 8 def connect(): 9 usuario = 'cesar' 10 base = 'contable' 11 conecta = PgSQL.connect(dbname=base,user=usuario) 12 cursor = conecta.cursor()# Creamos un cursor sobre la conexion 13 cursor.execute("SELECT nombre, empresa FROM usuario;") # Ejecutamos la consulta 14 resultado = cursor.fetchall() # Recogemos el resultado 15 print resultado 16 cursor.close() # Cerramos el cursor pero le querias mostrar un error que no comprendo porque motivo se da: Traceback (most recent call last): File "contable.py", line 88, in button1.connect("clicked", lambda b, w=bbox : connect()) File "contable.py", line 19, in connect conecta = PgSQL.connect(dbname=base,user=usuario) TypeError: connect() got an unexpected keyword argument 'dbname' Lo que no entiendo es porque me dice que el argumento "dbname " es inesperado... acaso no se le pasa ese argumento a una conexion con la base de datos? Saludos, Cesar ================================== Cesar E. Diaz - Analista en Informática Aplicada Msn : cesarstafe en hotmail.com ICQ : 312384614 From snmartin en galilea.cl Mon Jul 4 23:49:11 2005 From: snmartin en galilea.cl (Fernando San =?ISO-8859-1?Q?Mart=EDn?= Woerner) Date: Mon, 04 Jul 2005 17:49:11 -0400 Subject: =?ISO-8859-1?Q?Conexi=F3n?= con Bases de Datos Posgre In-Reply-To: References: <200507022129.42922.jjdelcerromurciano@yahoo.es> Message-ID: <1120513751.8224.10.camel@localhost.localdomain> On lun, 2005-07-04 at 18:45 -0300, César Diaz wrote: > Les agradesco lo que me pasaron como ayuda en los links para manuales, > aplique lo que me indico Joaquin Jose: > > 1 #!/usr/bin/python2.3 > 2 import gtk > 3 import sys > 4 import os > 5 import gobject > 6 import pango muchas de estas cosas estan de más si no las usas, por lo menos gobject y pango... > 7from pyPgSQL import PgSQL te recomiendo psycopg en vez de PgSQL, esta mucho más mantenido, PgSQL no tiene releases desde el 2003. ...... > > pero le querias mostrar un error que no comprendo porque motivo se da: > > Traceback (most recent call last): > File "contable.py", line 88, in > button1.connect("clicked", lambda b, w=bbox : connect()) > File "contable.py", line 19, in connect > conecta = PgSQL.connect(dbname=base,user=usuario) > TypeError: connect() got an unexpected keyword argument 'dbname' el parametro dbname se usa en psycopg, en PgSQL es database... -- Fernando San Martín Woerner Jefe de Informática Galilea S.A. From cesare.diaz en gmail.com Mon Jul 4 23:59:23 2005 From: cesare.diaz en gmail.com (=?ISO-8859-1?Q?C=E9sar_Diaz?=) Date: Mon, 4 Jul 2005 18:59:23 -0300 Subject: =?ISO-8859-1?Q?Re:__Conexi=F3n_con_Bases_de_Datos_Posgre?= In-Reply-To: <1120513751.8224.10.camel@localhost.localdomain> References: <200507022129.42922.jjdelcerromurciano@yahoo.es> <1120513751.8224.10.camel@localhost.localdomain> Message-ID: Muchas gracias Fernando, anda perfecto esto!!! Las otras librerias te comento que si las uso porque por ahora tengo todo el programita en un solo archivo .py hasta que aprenda como cargar desde un archivo python algo que yo haya definido en otro. Voy a investigar y probar de usar la "psycopg," si vos decis que esta mejor. Saludos, Cesar ================================== Cesar E. Diaz - Analista en Informática Aplicada Msn : cesarstafe en hotmail.com ICQ : 312384614 From py en ls-l.org Tue Jul 5 00:30:45 2005 From: py en ls-l.org (Chema Cortes) Date: Tue, 5 Jul 2005 00:30:45 +0200 Subject: Consulta Python 2.4.1 y MySQL 4.1 In-Reply-To: References: Message-ID: <200507050030.45727.py@ls-l.org> El Lunes 04 Julio 2005 22:55, ZooTV escribió: > Perdón, podrías ser más específico, porque le agrego el COMMIT al proceso > pero quedo en las mismas, no me arroja ningún error pero tampoco me > midifica el campo. > ... > El código con COMMIT es este: > > sql = 'UPDATE dolar set valor = 100.10 where N_mes = ' + str(mes) + ' and > N_dia = ' + str(dia) + ';' > conn = Conecta(None, "tablas_generales") > regis = modifica(conn, sql) > sql = 'COMMIT;' > conn = Conecta(None, "tablas_generales") > regis = modifica(conn, sql) > conn.close() ¡Cuidado! Aquí estás empleando dos "conexiones". Al abrir la segunda conexión estás dejando la primera sin cerrar y, por lo tanto, sin consolidar. Los commits tienen que hacerse dentro de la misma conexión. En lugar de invocar al SQL, es más seguro que utilices los métodos commit ó rollback de la conexión: sql = 'UPDATE dolar set valor = 100.10 where N_mes = ' + str(mes) + ' and   N_dia = ' + str(dia) + ';' conn = Conecta(None, "tablas_generales") regis = modifica(conn, sql) conn.commit() conn.close() From miuler en gmail.com Tue Jul 5 01:12:35 2005 From: miuler en gmail.com (Hector Miuler Malpica Gallegos) Date: Mon, 04 Jul 2005 18:12:35 -0500 Subject: Thema personalizado Message-ID: <1120518756.22965.46.camel@localhost> Hola amigos, yo recién estaba aprendiendo a cambiar la forma en que se presenta el aspecto de plone, ahora que estoy cambiando a CPS, no se como hacerlo, por un lado me acuerdo del famoso /miuler/portal_skins/custom/ pero también veo a /miuler/portal_themes/ en el cual e copiado un thema y lo he renombrado, alguien tiene una idea que es lo que debo de hacer? algo? Gracias de antemano. _\|/_ (O-O) --oOO-(_)-OOo---------------------------------------- Hector Miuler Malpica Gallegos Universidad Nacional del Callao - Peru Escuela de Ingenieria Electronica Jabber miuler en jabber.org usuario registrado #308608 ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From ftoledo en docksud.com.ar Tue Jul 5 02:08:33 2005 From: ftoledo en docksud.com.ar (Fernando Toledo) Date: Mon, 4 Jul 2005 21:08:33 -0300 Subject: MySQL In-Reply-To: <42C936D5.5000809@ls-l.org> References: <000601c5808c$543da4f0$d900a8c0@catalin> <42C92469.9080401@ls-l.org> <004701c58091$8e79fe20$d900a8c0@catalin> <42C936D5.5000809@ls-l.org> Message-ID: <20050704210833.3674e7f8@localhost> helloz. soy nuevito en la lista y por ahora solo estoy leyendo para evaluar usar python en futuros proyectos. por que recomendable el uso del commit? es necesario o no? saludos a todos. El Mon, 04 Jul 2005 15:17:09 +0200 Chema Cortes escribió: > Catalin Lungu escribió: > > La version de la base de datos 5.0.7-beta-nt y si que me he olvidado del > > commit. No sera que la mala costumbre sigue con esta versión? > > Cuando me refería a "mala costumbre" era a que los programadores estaban > acostumbrados a no tener que hacer el "commit". Resulta muy recomendable > poner siempre el "commit" al final de una operación. > > Por cierto, en el mysql browser se trabaja con autocommit, por eso te > parecerá que funciona sin commits. > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es -- Fernando Toledo http://www.docksud.com.ar telnet://bbs.docksud.com.ar ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: no disponible Type: application/pgp-signature Size: 189 bytes Desc: no disponible URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From ch3m4 en ch3m4.org Tue Jul 5 03:08:48 2005 From: ch3m4 en ch3m4.org (Chema Cortes) Date: Tue, 5 Jul 2005 03:08:48 +0200 Subject: MySQL In-Reply-To: <20050704210833.3674e7f8@localhost> References: <000601c5808c$543da4f0$d900a8c0@catalin> <42C936D5.5000809@ls-l.org> <20050704210833.3674e7f8@localhost> Message-ID: <200507050308.48697.ch3m4@ch3m4.org> El Martes 05 Julio 2005 02:08, Fernando Toledo escribió: > helloz. soy nuevito en la lista y por ahora solo estoy leyendo para evaluar > usar python en futuros proyectos. > > por que recomendable el uso del commit? > es necesario o no? Vaya, no pensaba que este tema fuera tan problemático. Lo mejor para aclararse es seguir la DB-API2 para acceso a bases de datos (http://www.python.org/peps/pep-0249.html), que es la norma habitual que siguen los módulos para acceder a mysql, postgres, etc. En relación con el commit, la DP-API2 indica dos cosas a tener en cuenta: - Si el SGBD admite "autocommit", ésta opción debe estar desactiva por defecto (no hay commits automáticos) - Si se cierra una conexión en medio de una transacción, se asumirá un rollback implícito. Para SGBD sin transacciones, los métodos commit ó rollback no hacen nada, y es por eso por lo que suelen ser "olvidados". Pero cuando en un gestor con transacciones, todas las operaciones que modifican datos durante una conexión quedan asociadas a una misma transacción, siendo necesario ejecutar un commit antes de cerrar la conexión para consolidar la transacción. La idea de la DB-API2 es no tener que depender del gestor de bases de datos que se utilice. Aunque estemos usando una base de datos que no tenga transacciones, es recomendable invocar siempre al método commit con el fin de no tener problemas el día que queramos cambiar a otro gestor. From Abel.aranda en salud.madrid.org Tue Jul 5 04:37:37 2005 From: Abel.aranda en salud.madrid.org (Abel Aranda) Date: Tue, 5 Jul 2005 04:37:37 +0200 Subject: Problema con Tkinter y los metodos grid In-Reply-To: <200505202107.23032.jjdelcerromurciano@yahoo.es> References: <200505202107.23032.jjdelcerromurciano@yahoo.es> Message-ID: <00a601c5810a$8214e270$d008800a@salud.madrid.org> Buenas noches, tengo un problema con tkinter y la colocación de diversos botones y pantallas de texto en la aplicación: No consigo que me aparezca una pantalla de texto bajo unos botones y no entiendo el motivo, el bloque de texto me lo pone detrás de los botones en vez de debajo, la cuestión es que veo ejemplos y estos funcionan bien pero no consigo que en mi programa lo haga bien, creo que puede deberse a la generación dinámica de botones pero no se que puede ser. Nota la lista de maquinas contendrá muchas mas de las que vienen aqui y tiene que ser generada dinámicamente por lo que no puedo crearla a capón como en el ejemplo Si alguien me pudiera ayudar estaría muy agradecido Aki os pongo el código from Tkinter import * class Maquina(Frame): def __init__(self) : self.nombre = "" self.ip = 0 self.contador = 3 self.activo = 1 self.posx = 0 self.posy = 0 def nombre(self) : print self.nombre def ip(self) : print self.ip class Pines( Frame ): def __init__( self, master ): Frame.__init__( self, master ) self.grid() self.radiocheck() #self.textbox() def radiocheck (self): self.listaobjetos = [] self.checkObjects = [] self.x = 0 self.y = 0 global Maquinas for i in Maquinas: self.checkObjects.append(StringVar()) self.oneObject = Checkbutton (text=i.nombre,variable=self.checkObjects[-1],onvalue=i.nombre, offvalue="") self.listaobjetos.append(self.oneObject) for i,self.cb in enumerate(self.listaobjetos): self.cb.grid(column=i % 2, row=i / 2,sticky = W) self.x = i + 1 self.selection_text = Text(self, width = 40, height = 10, wrap = WORD) self.selection_text.grid(row = 4, column = 0, columnspan = 3) Maquinas = [] M = Maquina() M.nombre = "Maquina1" M.ip = "10.127.0.1" Maquinas.append(M) M1 = Maquina() M1.nombre = "Maquina2" M1.ip = "10.127.0.2" Maquinas.append(M1) M2 = Maquina() M2.nombre = "Maquina3" M2.ip = "10.127.0.3" Maquinas.append(M2) root = Tk() root.title("Pines") app = Pines(root) root.mainloop() No entiendo el motivo aparente, puesto que este otro ejemplo funciona perfectamente #----------------------------------------------------------------------- ------- # Name: radio_button_response.pyw # Author: Kevin Harris (kevin en codesampler.com) # Last Modified: 10/15/04 # Description: This Python script demonstrates how to create radio buttons. # # NOTE: To prevent a console from popping up when a Tkinter based window is # executed, this script uses the .pyw extension. If you want to modify this # script and need to output debugging information, change the extension back # to .py. #----------------------------------------------------------------------- ------- from Tkinter import * class Application( Frame ): def __init__( self, master ): Frame.__init__( self, master ) self.grid() self.create_widgets() def create_widgets( self ): # Create a string variable to bind these three radio buttons # together as a group. self.current_selection = StringVar() # Create radio button #1 self.rbttn1 = Radiobutton( self ) self.rbttn1["text"] = "Radio Button #1" self.rbttn1["variable"] = self.current_selection, self.rbttn1["value"] = "radio_button_1", self.rbttn1["command"] = self.update_text self.rbttn1.grid( row = 2, column = 0, sticky = W ) # Create radio button #2 self.rbttn2 = Radiobutton( self ) self.rbttn2["text"] = "Radio Button #2" self.rbttn2["variable"] = self.current_selection, self.rbttn2["value"] = "radio_button_2", self.rbttn2["command"] = self.update_text self.rbttn2.grid( row = 3, column = 0, sticky = W ) # Create radio button #3 self.rbttn3 = Radiobutton( self ) self.rbttn3["text"] = "Radio Button #3" self.rbttn3["variable"] = self.current_selection, self.rbttn3["value"] = "radio_button_3", self.rbttn3["command"] = self.update_text self.rbttn3.grid( row = 4, column = 0, sticky = W ) # Create radio button #4 self.rbttn4 = Radiobutton( self ) self.rbttn4["text"] = "Radio Button #3" self.rbttn4["variable"] = self.current_selection, self.rbttn4["value"] = "radio_button_4", self.rbttn4["command"] = self.update_text self.rbttn4.grid( row = 5, column = 0, sticky = W ) # Create a text field to display the current selection self.selection_text = Text(self, width = 40, height = 10, wrap = WORD) self.selection_text.grid(row = 6, column = 0, columnspan = 3) def update_text( self ): text = "Current selection is " text += self.current_selection.get() #self.selection_text.delete( 0.0, END ) self.selection_text.insert( 0.0, text ) self.rbttn3["foreground"] = "blue" #root.update() #----------------------------------------------------------------------- ------- # Script entry point... #----------------------------------------------------------------------- ------- if __name__ == '__main__': root = Tk() root.title("Radio Buttons Sample") root.geometry( "250x250" ) app = Application(root) root.mainloop() From ftoledo en docksud.com.ar Tue Jul 5 05:07:25 2005 From: ftoledo en docksud.com.ar (Fernando Toledo) Date: Tue, 5 Jul 2005 00:07:25 -0300 Subject: MySQL In-Reply-To: <200507050308.48697.ch3m4@ch3m4.org> References: <000601c5808c$543da4f0$d900a8c0@catalin> <42C936D5.5000809@ls-l.org> <20050704210833.3674e7f8@localhost> <200507050308.48697.ch3m4@ch3m4.org> Message-ID: <20050705000725.7071ff4a@localhost> no es problematico. queria saber nada mas.. gracias por el link =) El Tue, 5 Jul 2005 03:08:48 +0200 Chema Cortes escribió: > El Martes 05 Julio 2005 02:08, Fernando Toledo escribió: > > helloz. soy nuevito en la lista y por ahora solo estoy leyendo para evaluar > > usar python en futuros proyectos. > > > > por que recomendable el uso del commit? > > es necesario o no? > > Vaya, no pensaba que este tema fuera tan problemático. > > Lo mejor para aclararse es seguir la DB-API2 para acceso a bases de datos > (http://www.python.org/peps/pep-0249.html), que es la norma habitual que > siguen los módulos para acceder a mysql, postgres, etc. > > En relación con el commit, la DP-API2 indica dos cosas a tener en cuenta: > > - Si el SGBD admite "autocommit", ésta opción debe estar desactiva por defecto > (no hay commits automáticos) > - Si se cierra una conexión en medio de una transacción, se asumirá un > rollback implícito. > > Para SGBD sin transacciones, los métodos commit ó rollback no hacen nada, y es > por eso por lo que suelen ser "olvidados". Pero cuando en un gestor con > transacciones, todas las operaciones que modifican datos durante una conexión > quedan asociadas a una misma transacción, siendo necesario ejecutar un commit > antes de cerrar la conexión para consolidar la transacción. > > La idea de la DB-API2 es no tener que depender del gestor de bases de datos > que se utilice. Aunque estemos usando una base de datos que no tenga > transacciones, es recomendable invocar siempre al método commit con el fin de > no tener problemas el día que queramos cambiar a otro gestor. > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es -- Fernando Toledo http://www.docksud.com.ar telnet://bbs.docksud.com.ar ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: no disponible Type: application/pgp-signature Size: 189 bytes Desc: no disponible URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From acastro en ciberdroide.com Tue Jul 5 08:08:00 2005 From: acastro en ciberdroide.com (Antonio Castro) Date: Tue, 5 Jul 2005 08:08:00 +0200 (CEST) Subject: MySQL vs PostrgreSQL vs BerkleyDB In-Reply-To: <42C93A51.3060604@ls-l.org> References: <000d01c5808d$874c3630$d900a8c0@catalin> <42C93A51.3060604@ls-l.org> Message-ID: On Mon, 4 Jul 2005, Chema Cortes wrote: > Catalin Lungu escribió: > > > He leído mucho en internet sobre comparaciones entre estas base de datos pero no acabo de aclararme. Lo que necesito es una BD que soporte SQL, que vaya rápido, que no pete mucho, que no corrompa los datos en las caídas de servidores. Espero no pedir demasiado. > > Te podemos contar muchas cosas, y cada cuál te podrá dar argumentos a > favor y en contra, por lo que te recomiendo que las pruebes tú mismo. > > En función de qué entiendas por soporte SQL hay que decir que la > Berkeley no tiene SQL. Mysql tiene un SQL incompleto, y el SQL de > Postgresql es casi casi completo. > > La Berkeley tiene la particularidad que no requiere de servidor, es muy > rápida, no consume muchos recursos, es tremendamente robusta y soporta > accesos concurrentes. Es, por eso, muy usada en sistemas empotrados. > Hablando de python, el acceso de alto nivel sólo permite almacenar > cadenas de caracteres. También puedes acceder a bajo nivel, pero ya no > tendría nada que ver con el SQL. > > MySQL es una de las más elegidas por su rapidez. Sus optimizaciones se > realizan a costa de recortar características, lo que puede resultar > frustrante si necesitas combinaciones complejas de muchas tablas para > crear vistas, esquemas y demás. Aún así, para aplicaciones web suele dar > muy buenos resultados y es más que suficiente. > > Postgresql es un SGDB muy completo, con todo lo que necesites: triggers, > vistas, procedimientos almacenados (procedimientos que pueden ser > escritos en python), etc. Las última versión 8 es equiparable en solidez > con Oracle. Tiene una velocidad bastante aceptable, aunque no es tan > rápida como mysql. > > Sobre corrupción de datos y caídas de sistemas habría que hablar mucho > sobre las transacciones. El motor MyISAM de MySQL no soporta > transacciones, con lo que una caída de sistema en medio de una > actualización de tablas puede provocar la pérdida de la integridad > referencial. El motor InnoDB ya incorpora transacciones, pero implica > una pérdida de velocidad en comparación con MyISAM. No conozco su > robustez, así como tampoco las características del resto de motores de > mysql. Algunos de ellos tienen, al menos nominalmente, características > muy potentes para control de transacciones. > > Postgresql-8 tiene un mecanismo de transacciones muy robusto que hace > que la consolidación sea casi inmediata. Prácticamente se reduce a cero > las posibilidades de perder la integridad referencial a causa de un > fallo del sistema. > > En fin, yo he elegido postgresql para mi trabajo de desarrollo. En > producción utilizo oracle, informix y sqlserver, y tengo mysql para > pruebas de una intranet (apache tomcat). Si te lías sólo con tres bases > de datos, ya no te cuento el lío que puedo tener yo en estos momentos :-S Una excelente comparativa. Aportaré mi granito de arena. Yo solo conozco Postresql, y Mysql solo por referencias porque no lo he usado nunca. Yo añadiría que la historia de Mysql y la de Postgresql han sido bastante distintas, y conviene tener una idea de estas trayectorias. En parte ha existido una cierta convergencia entre ambas. Mysql no nació en mi humilde opinión como un autentico SGDB, sino como un rápidísimo gestor de ficheros indexados, sin soporte de integridad transaccional y con soporte muy incompleto de lenguaje SQL. Es injusto comparar velocidades con cosas tan distintas. Luego Mysql fué evolucionando en el sentido de ir completando poco a poco estas importantes carencias. Postgresql que se ha desarrollado desde sus comienzos como proyecto de software totalmente libre creo que ha marcado una trayectoria mucho más coerente. Su vocación de SGDB completo arranca desde sus comienzos. Su convergencia con MySQL ha consistido en ir ganando velocidad, pero es que además de eso, ha continuado ganando en robustez, y en funcionalidad. Mysql es la más adecuada para entornos en los cuales la BD va ha sufrir masivas consultas, y unas pocas altas, bajas y modificaciones.De aquí viene su enorme éxito en determinados servicios de consultas en Internet, donde la inmensa mayoría de los usuarios solo puenden consultar. Si la BD va a ser sometida a un número de altas, bajas, y modificaciones elevadas y con alto nivel de concurrencia, a poco cariño que tengas a tus datos lo suyo es optar por Postgresql. La velocidad se puede compensar con más máquina, y la falta de integridad referencial no. -- Un saludo Antonio Castro /\ /\ \\W// _|0 0|_ +-oOOO-(___o___)-OOOo---------------------+ | . . . . U U . Antonio Castro Snurmacher | | . . . . . . . acastro en ciberdroide.com | +()()()---------()()()--------------------+ From py en ls-l.org Tue Jul 5 09:38:58 2005 From: py en ls-l.org (Chema Cortes) Date: Tue, 05 Jul 2005 09:38:58 +0200 Subject: Problema con Tkinter y los metodos grid In-Reply-To: <00a601c5810a$8214e270$d008800a@salud.madrid.org> References: <00a601c5810a$8214e270$d008800a@salud.madrid.org> Message-ID: <42CA3912.8080801@ls-l.org> Abel Aranda escribió: > No consigo que me aparezca una pantalla de texto bajo unos botones y no > entiendo el motivo, el bloque de texto me lo pone detrás de los botones > en vez de debajo, No especificas el contenedor de los checkboxes, por lo que por defecto usan la ventana raiz, y no el contenedor Pines. Bastaría con añadir el frame Pines (==self): > self.oneObject = Checkbutton > (text=i.nombre,variable=self.checkObjects[-1],onvalue=i.nombre, > offvalue="") self.oneObject = Checkbutton(self,text=i.nombre,variable=self.checkObjects[-1],onvalue=i.nombre,offvalue="") From rabs en dimension-virtual.com Tue Jul 5 12:12:07 2005 From: rabs en dimension-virtual.com (=?iso-8859-1?q?Ra=FAl_Alexis_Betancort_Santana?=) Date: Tue, 5 Jul 2005 11:12:07 +0100 Subject: Busco ejemplos de programas que usen twisted Message-ID: <200507051112.07443.rabs@dimension-virtual.com> Pues eso .. lo he estado mirando y me parece un framework estupendo y quisiera saber si alguien conoce alguna aplicación de monitorización de servidores que lo use, o cualquier otro tipo de aplicación que haga uso la parte cliente/servidor de framework. Necesito algunos ejemplos a parte de los que vienen con el tutorial para terminar de pillarle el truco. Saludos From faltet en carabos.com Tue Jul 5 13:34:22 2005 From: faltet en carabos.com (Francesc Altet) Date: Tue, 05 Jul 2005 13:34:22 +0200 Subject: Busco ejemplos de programas que usen twisted In-Reply-To: <200507051112.07443.rabs@dimension-virtual.com> References: <200507051112.07443.rabs@dimension-virtual.com> Message-ID: <1120563263.4291.1.camel@localhost.localdomain> El dt 05 de 07 del 2005 a les 11:12 +0100, en/na Raúl Alexis Betancort Santana va escriure: > Pues eso .. lo he estado mirando y me parece un framework estupendo y quisiera > saber si alguien conoce alguna aplicación de monitorización de servidores que > lo use, o cualquier otro tipo de aplicación que haga uso la parte > cliente/servidor de framework. > > Necesito algunos ejemplos a parte de los que vienen con el tutorial para > terminar de pillarle el truco. > Aqui tienes un ejemplo de uso como cliente/servidor en una aplicación real: http://www.cstables.org/ Saludos, Francesc From zootv en myrealbox.com Tue Jul 5 16:14:13 2005 From: zootv en myrealbox.com (ZooTV) Date: Tue, 05 Jul 2005 10:14:13 -0400 Subject: Consulta Python 2.4.1 y MySQL 4.1 Message-ID: > ¡Cuidado! Aquí estás empleando dos "conexiones". Al abrir la segunda > conexiónestás dejando la primera sin cerrar y, por lo tanto, sin > consolidar. Loscommits tienen que hacerse dentro de la misma conexión. > En lugar de invocaral SQL, es más seguro que utilices los métodos commit > ó rollback de laconexión: >sql = 'UPDATE dolar set valor = 100.10 where N_mes = ' + str(mes) + ' > and N_dia = ' + str(dia) + ';' > conn = Conecta(None, "tablas_generales") > regis = modifica(conn, sql) > conn.commit() > conn.close() Pero claro. Diste en el clavo, no me había percatado de tremendo error. Es que con tanto código y con el apuro uno se nubla. Eliminé las conexiones de más y agregé el conn.commit() y mis problemas se resolvieron. Gracias a todos por la ayuda. ZooTV ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From jldalla en gmail.com Tue Jul 5 16:53:09 2005 From: jldalla en gmail.com (Jose Luis DALLAPICCOLA) Date: Tue, 5 Jul 2005 11:53:09 -0300 Subject: =?ISO-8859-1?Q?Re:__Grupo_Python_M=C9XICO?= In-Reply-To: <20050704151243.50490.qmail@web50403.mail.yahoo.com> References: <20050704151243.50490.qmail@web50403.mail.yahoo.com> Message-ID: <40b558b305070507532c56a8fe@mail.gmail.com> Realmente... Para qué excluir al resto? Digo, no es suficiente con python-es? Disculpame, el comentario va con toda onda. Me parece conveniente que una lista de discución sea lo más abarcativa que se pueda. Ya que podríamos utilizar los conocimientos de todos en las inquietudes de todos. Realmente lamentaría no ver los correos de las personas que utilizan python en México. Igualmente recordemos que todos somos libres de participar en lo que querramos. Aclaro esto para remarcar la intención de mi comentario. Saludos a todos. El 4/07/05, Cesar Cardenas Desales escribió: > Amigos de la lista de Python en español: > > Desde hace algunos meses he tenido la intención de > crear un grupo de discusión de Python en México. He > notado a lo largo del tiempo que llevo en la lista, ya > existen grupos en España y en Perú... ¿Pero en México > cuando? > > Les invito a suscribirse al grupo de yahoo que ya > he creado (o si alguien cuenta con infraestructura > propia, a ofrecerla). > > Publicar mensaje: > pythonmexico en yahoogrupos.com.mx > Suscribir: > pythonmexico-subscribe en yahoogrupos.com.mx > Propietario: > pythonmexico-owner en yahoogrupos.com.mx > > César > > ___________________________________________________________ > Do You Yahoo!? > La mejor conexión a Internet y 2GB extra a tu correo por $100 al mes. http://net.yahoo.com.mx > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > -- --- José Luis DALLAPICCOLA Cipolletti - RIO NEGRO Patagonia ARGENTINA From dvilla en gmx.net Tue Jul 5 17:12:39 2005 From: dvilla en gmx.net (David Villa) Date: Tue, 05 Jul 2005 17:12:39 +0200 Subject: Busco ejemplos de programas que usen twisted In-Reply-To: <200507051112.07443.rabs@dimension-virtual.com> References: <200507051112.07443.rabs@dimension-virtual.com> Message-ID: <1120576359.6747.3.camel@amy> Hola: Yo lo he visto por encima y lo he utilizado para hacer alguna cosilla bastante simple. Estoy de acuerdo en que tiene muy buena pinta. ¿Qué es exactamente lo que quieres hacer? En concreto me ha gustado mucho un "engendro" llamado Nevow, que está hecho con Twisted, es una especie de Zope en pequeñito. No he tenido tiempo para meterle mano, pero parece muy prometedor. Si alguien lo ha usado para hacer algo medianamente serio que nos cuente su opinión, por favor. Saludos El mar, 05-07-2005 a las 11:12 +0100, Raúl Alexis Betancort Santana escribió: > Pues eso .. lo he estado mirando y me parece un framework estupendo y quisiera > saber si alguien conoce alguna aplicación de monitorización de servidores que > lo use, o cualquier otro tipo de aplicación que haga uso la parte > cliente/servidor de framework. > > Necesito algunos ejemplos a parte de los que vienen con el tutorial para > terminar de pillarle el truco. > > Saludos > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > From cescd en yahoo.com.mx Tue Jul 5 17:45:38 2005 From: cescd en yahoo.com.mx (Cesar Cardenas Desales) Date: Tue, 5 Jul 2005 10:45:38 -0500 (CDT) Subject: =?iso-8859-1?q?Re:=20=20Grupo=20Python=20M=C9XICO?= In-Reply-To: <40b558b305070507532c56a8fe@mail.gmail.com> References: <40b558b305070507532c56a8fe@mail.gmail.com> Message-ID: <20050705154538.35749.qmail@web50408.mail.yahoo.com> Je je, no se trata de un cisma ni nada parecido La idea es simplemente que mediante esa lista se forme un Grupo de Usuarios en México, que pueda tener reuniones en vivo; y un foro en que se pueda hablar de asuntos locales, como por ejemplo, reuniones, cursos o charlas en el IPN, UNAM, u otras instituciones mexicanas. Aunque no lo creas, la idea ha cobrado cierto entusiasmo, pues en su segundo día de existencia ya tiene 26 personas suscritas. --- Jose Luis DALLAPICCOLA escribió: > Realmente... Para qué excluir al resto? > Digo, no es suficiente con python-es? > Disculpame, el comentario va con toda onda. > > Me parece conveniente que una lista de discución sea > lo más abarcativa > que se pueda. Ya que podríamos utilizar los > conocimientos de todos en > las inquietudes de todos. > > Realmente lamentaría no ver los correos de las > personas que utilizan > python en México. > > Igualmente recordemos que todos somos libres de > participar en lo que > querramos. Aclaro esto para remarcar la intención de > mi comentario. > > Saludos a todos. > > El 4/07/05, Cesar Cardenas > Desales escribió: > > Amigos de la lista de Python en español: > > > > Desde hace algunos meses he tenido la intención > de > > crear un grupo de discusión de Python en México. > He > > notado a lo largo del tiempo que llevo en la > lista, ya > > existen grupos en España y en Perú... ¿Pero en > México > > cuando? > > > > Les invito a suscribirse al grupo de yahoo que > ya > > he creado (o si alguien cuenta con infraestructura > > propia, a ofrecerla). > > > > Publicar mensaje: > > pythonmexico en yahoogrupos.com.mx > > Suscribir: > > pythonmexico-subscribe en yahoogrupos.com.mx > > Propietario: > > pythonmexico-owner en yahoogrupos.com.mx > > > > César > > > > > ___________________________________________________________ > > Do You Yahoo!? > > La mejor conexión a Internet y 2GB extra a > tu correo por $100 al mes. http://net.yahoo.com.mx > > > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es > > > > > -- > > --- > José Luis DALLAPICCOLA > Cipolletti - RIO NEGRO > Patagonia ARGENTINA > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > ___________________________________________________________ Do You Yahoo!? La mejor conexión a Internet y 2GB extra a tu correo por $100 al mes. http://net.yahoo.com.mx From antonio.beamud en linkend.net Tue Jul 5 17:29:55 2005 From: antonio.beamud en linkend.net (Antonio Beamud Montero) Date: Tue, 05 Jul 2005 17:29:55 +0200 Subject: Busco ejemplos de programas que usen twisted In-Reply-To: <1120576359.6747.3.camel@amy> References: <200507051112.07443.rabs@dimension-virtual.com> <1120576359.6747.3.camel@amy> Message-ID: <1120577395.2753.10.camel@homer.linkend.net> El mar, 05-07-2005 a las 17:12 +0200, David Villa escribió: > Hola: > > Yo lo he visto por encima y lo he utilizado para hacer alguna cosilla > bastante simple. Estoy de acuerdo en que tiene muy buena pinta. ¿Qué es > exactamente lo que quieres hacer? > > > En concreto me ha gustado mucho un "engendro" llamado Nevow, que está > hecho con Twisted, es una especie de Zope en pequeñito. No he tenido > tiempo para meterle mano, pero parece muy prometedor. Si alguien lo ha > usado para hacer algo medianamente serio que nos cuente su opinión, por > favor. Zope 3 y twisted implementan el mismo modelo de componentes. Yo prefiero Zope 3, verdadera maravilla :) para lo que es un servidor web/servidor de aplicaciones, para el resto, twisted es un framework buenismo para desarrollar aplicaciones de cualquier tipo (por ejemplo la gente de Fluendo ha desarrollado Flumotion (un servidor de streaming de audio y video) enteramente con Twisted) Un saludo. > Saludos > > > El mar, 05-07-2005 a las 11:12 +0100, Raúl Alexis Betancort Santana > escribió: > > Pues eso .. lo he estado mirando y me parece un framework estupendo y quisiera > > saber si alguien conoce alguna aplicación de monitorización de servidores que > > lo use, o cualquier otro tipo de aplicación que haga uso la parte > > cliente/servidor de framework. > > > > Necesito algunos ejemplos a parte de los que vienen con el tutorial para > > terminar de pillarle el truco. > > > > Saludos > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es > > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From DrBobus en gulic.org Tue Jul 5 17:55:29 2005 From: DrBobus en gulic.org (Dr Bobus) Date: Tue, 5 Jul 2005 16:55:29 +0100 Subject: MySQL In-Reply-To: <000601c5808c$543da4f0$d900a8c0@catalin> References: <000601c5808c$543da4f0$d900a8c0@catalin> Message-ID: <20050705165529.56cdbc40@casiopea.mariaonline.org> import MySQLdb valor1, valor2, valor3, valor4, valor5, valor6 = 3,'cliente3','direccion3','918659654','915521949','pepe' conexiondb = MySQLdb.connect(host='nomre del host', user='usuario',passwd='contraseña', db='base de datos') cursor=conexiondb.cursor() cursor.execute("insert into clientes (codcli, nomcli, direccion, telefono, fax, perscont) values (%s,%s,%s,%s,%s,%s)",(valor1,valor2,valor3,valor4,valor5,valor6)) cursor.close() Saludos El Mon, 4 Jul 2005 13:34:20 +0200 "Catalin Lungu" dijo: > Hola, > Me pueden decir cual es la sintaxis correcta de hacer un insert en una tabla de MySQL atravez del modulo MySQLdb. > Lo estoy haciendo de esta forma y no funciona: > > fraseSQL = "INSERT INTO clientes (codcli, nomcli, direccion, telefono, fax, perscont) VALUES (3,'cliente3','direccion3','918659654','915521949','pepe')" > cursor.execute(fraseSQL) > > Los SELECT, SHOW TABLES, SHOW DATABASES y otros comandos funcionan. > > Saludos, > Catalin > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > -- if (argc > 1 && strcmp(argv[1], "-advice") == 0) { printf("Don't Panic!\n"); exit(42); } (Arnold Robbins in the LJ of February '95, describing RCS) ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: no disponible Type: application/pgp-signature Size: 189 bytes Desc: no disponible URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From jldalla en gmail.com Tue Jul 5 18:40:59 2005 From: jldalla en gmail.com (Jose Luis DALLAPICCOLA) Date: Tue, 5 Jul 2005 13:40:59 -0300 Subject: =?ISO-8859-1?Q?Re:__Grupo_Python_M=C9XICO?= In-Reply-To: <20050705154538.35749.qmail@web50408.mail.yahoo.com> References: <40b558b305070507532c56a8fe@mail.gmail.com> <20050705154538.35749.qmail@web50408.mail.yahoo.com> Message-ID: <40b558b305070509401a8a37d2@mail.gmail.com> Si, como no te voy a creer :-) Los felicito, pero creo que sería interesante que, por subscribirse a esa lista no pueda ver sus correos. Sólo eso. Saludos, El 5/07/05, Cesar Cardenas Desales escribió: > Je je, no se trata de un cisma ni nada parecido > > La idea es simplemente que mediante esa lista se forme > un Grupo de Usuarios en México, que pueda tener > reuniones en vivo; y un foro en que se pueda hablar de > asuntos locales, como por ejemplo, reuniones, cursos o > charlas en el IPN, UNAM, u otras instituciones > mexicanas. > > Aunque no lo creas, la idea ha cobrado cierto > entusiasmo, pues en su segundo día de existencia ya > tiene 26 personas suscritas. > > --- Jose Luis DALLAPICCOLA > escribió: > > > Realmente... Para qué excluir al resto? > > Digo, no es suficiente con python-es? > > Disculpame, el comentario va con toda onda. > > > > Me parece conveniente que una lista de discución sea > > lo más abarcativa > > que se pueda. Ya que podríamos utilizar los > > conocimientos de todos en > > las inquietudes de todos. > > > > Realmente lamentaría no ver los correos de las > > personas que utilizan > > python en México. > > > > Igualmente recordemos que todos somos libres de > > participar en lo que > > querramos. Aclaro esto para remarcar la intención de > > mi comentario. > > > > Saludos a todos. > > > > El 4/07/05, Cesar Cardenas > > Desales escribió: > > > Amigos de la lista de Python en español: > > > > > > Desde hace algunos meses he tenido la intención > > de > > > crear un grupo de discusión de Python en México. > > He > > > notado a lo largo del tiempo que llevo en la > > lista, ya > > > existen grupos en España y en Perú... ¿Pero en > > México > > > cuando? > > > > > > Les invito a suscribirse al grupo de yahoo que > > ya > > > he creado (o si alguien cuenta con infraestructura > > > propia, a ofrecerla). > > > > > > Publicar mensaje: > > > pythonmexico en yahoogrupos.com.mx > > > Suscribir: > > > pythonmexico-subscribe en yahoogrupos.com.mx > > > Propietario: > > > pythonmexico-owner en yahoogrupos.com.mx > > > > > > César > > > > > > > > > ___________________________________________________________ > > > Do You Yahoo!? > > > La mejor conexión a Internet y 2GB extra a > > tu correo por $100 al mes. http://net.yahoo.com.mx > > > > > > _______________________________________________ > > > Python-es mailing list > > > Python-es en aditel.org > > > http://listas.aditel.org/listinfo/python-es > > > > > > > > > -- > > > > --- > > José Luis DALLAPICCOLA > > Cipolletti - RIO NEGRO > > Patagonia ARGENTINA > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es > > > > ___________________________________________________________ > Do You Yahoo!? > La mejor conexión a Internet y 2GB extra a tu correo por $100 al mes. http://net.yahoo.com.mx > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > -- --- José Luis DALLAPICCOLA Cipolletti - RIO NEGRO Patagonia ARGENTINA From josepgimbernat en cdgir.com Tue Jul 5 18:52:52 2005 From: josepgimbernat en cdgir.com (Josep) Date: Tue, 5 Jul 2005 18:52:52 +0200 Subject: Mover un panel en wxpython Message-ID: <200507051852.52349.josepgimbernat@cdgir.com> Hola a todos, necesitaria mover un panel en tiempo de ejecución pero no encuentro por ninguna parte el método, función o propiedad para modificar. Sólo lo puedo hacer en tiempo de diseño, pero necesitaria mover un determinado panel en respuesta a un botón. Estoy usando python 2.3 con wxwidgets y Boa-Constructor 0.3, bajo Linux Alguien sabe cómo hacerlo? Grácias de antemano. Josep. ____________________________________________________________________ Mensaje analizado y protegido, tecnologia antivirus www.trendmicro.es From rabs en dimension-virtual.com Tue Jul 5 19:18:21 2005 From: rabs en dimension-virtual.com (=?iso-8859-1?q?Ra=FAl_Alexis_Betancort_Santana?=) Date: Tue, 5 Jul 2005 18:18:21 +0100 Subject: Busco ejemplos de programas que usen twisted In-Reply-To: <1120576359.6747.3.camel@amy> References: <200507051112.07443.rabs@dimension-virtual.com> <1120576359.6747.3.camel@amy> Message-ID: <200507051818.22074.rabs@dimension-virtual.com> El Martes, 5 de Julio de 2005 16:12, David Villa escribió: > Hola: > > Yo lo he visto por encima y lo he utilizado para hacer alguna cosilla > bastante simple. Estoy de acuerdo en que tiene muy buena pinta. ¿Qué es > exactamente lo que quieres hacer? El nombre del "engendro" es Sistema Integrado de Gestión Monitorización y Alarmas, SIGMA par los amigos. La idea es un NMS, pero que sea algo más que un NMS, hasta ahora todo lo que he encontrado con respecto a los NMS está mas pensado en la monitorización, no en la gestión. Quiero montar algo para luego añadirle algo de IA y terminar consiguiendo un monstruo pero manejable. Se me han ocurrido ideas para resolver situaciones del estilo ...: "Nueva actualización del producto X" ... y que simplemente con cargar la actualización en el sistema este la "reparta" y tome las acciones necesarias en los diferentes sistemas (servidores, routers, firewalls, proxies, etc.) para que todo llegue a "buen puerto". Es un proyecto ambicioso ... pero como no he encontrado nada por ahí que colme mis espectativas, pues me lo voy a currar yo y así de paso es una buena escusa para adentrarme en las profundidades de Python. Saludos From fredyg en negosat.com Tue Jul 5 19:27:08 2005 From: fredyg en negosat.com (Fredy Gonzales) Date: Tue, 05 Jul 2005 12:27:08 -0500 Subject: Grupo Python =?ISO-8859-1?Q?M=C9XICO?= In-Reply-To: <20050704151243.50490.qmail@web50403.mail.yahoo.com> References: <20050704151243.50490.qmail@web50403.mail.yahoo.com> Message-ID: Amigos..donde esta el grupo de Peru.. Gracias FG On Mon, 4 Jul 2005 10:12:43 -0500 (CDT) Cesar Cardenas Desales wrote: > Amigos de la lista de Python en español: > > Desde hace algunos meses he tenido la intención de > crear un grupo de discusión de Python en México. He > notado a lo largo del tiempo que llevo en la lista, ya > existen grupos en España y en Perú... ¿Pero en México > cuando? > > Les invito a suscribirse al grupo de yahoo que ya > he creado (o si alguien cuenta con infraestructura > propia, a ofrecerla). > > Publicar mensaje: > pythonmexico en yahoogrupos.com.mx > Suscribir: > pythonmexico-subscribe en yahoogrupos.com.mx > Propietario: > pythonmexico-owner en yahoogrupos.com.mx > > > César > > > > > > ___________________________________________________________ > Do You Yahoo!? > La mejor conexión a Internet y 2GB extra a tu >correo por $100 al mes. http://net.yahoo.com.mx > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From optimasc en yahoo.com.mx Tue Jul 5 17:32:17 2005 From: optimasc en yahoo.com.mx (Mauricio Flores Olmos) Date: Tue, 05 Jul 2005 10:32:17 -0500 Subject: =?ISO-8859-1?B?UmU6IFJlOiBbUHl0aG9uLWVzXSBHcnVwbyBQeXRob24gTclYSUNP?= In-Reply-To: <40b558b305070507532c56a8fe@mail.gmail.com> References: <20050704151243.50490.qmail@web50403.mail.yahoo.com> <40b558b305070507532c56a8fe@mail.gmail.com> Message-ID: <42CAA801.9050704@yahoo.com.mx> Jose Luis DALLAPICCOLA escribió: >Realmente... Para qué excluir al resto? >Digo, no es suficiente con python-es? >Disculpame, el comentario va con toda onda. > >Me parece conveniente que una lista de discución sea lo más abarcativa >que se pueda. Ya que podríamos utilizar los conocimientos de todos en >las inquietudes de todos. > >Realmente lamentaría no ver los correos de las personas que utilizan >python en México. > >Igualmente recordemos que todos somos libres de participar en lo que >querramos. Aclaro esto para remarcar la intención de mi comentario. > >Saludos a todos. > >El 4/07/05, Cesar Cardenas Desales escribió: > > >>Amigos de la lista de Python en español: >> >> Desde hace algunos meses he tenido la intención de >>crear un grupo de discusión de Python en México. He >>notado a lo largo del tiempo que llevo en la lista, ya >>existen grupos en España y en Perú... ¿Pero en México >>cuando? >> >> Les invito a suscribirse al grupo de yahoo que ya >>he creado (o si alguien cuenta con infraestructura >>propia, a ofrecerla). >> >> Publicar mensaje: >> pythonmexico en yahoogrupos.com.mx >> Suscribir: >> pythonmexico-subscribe en yahoogrupos.com.mx >> Propietario: >> pythonmexico-owner en yahoogrupos.com.mx >> >> César >> >> Que tal: Yo tambien soy de Mexico y para mi es importante poder ir a eventos, pero si no puedo en ocasiones costear para los que hay en diversas ciudades de mi pais, menos podria ir al otro lado del charco... Por otro lado, creo que por la tropicalizacion de los temas o terminos, por ejemplo, ALBARANES, si eres español o vives en España, ya debes saber que es un ALBARAN, incluso buscando en la RAE, no viene esa palabra, asi que no puedo saber que significa... eso es un pequeño ejemplo, pero ha de suceder mas seguido con otras cosas... Otro ejemplo, baje PyGestor, creo que es de Chile, y la forma de trabajo administrativo es distinto al de Mexico o al de España o al de otros paises, entonces la reutilizacion practicamente no existe, porque es mas facil desarrollar algo para el mercado Mexicano desde Cero que basandose en ese codigo, aqui lo unico que se toma es la forma de conexion a bd, utilizacion de widgets, etc. De cualquir forma, en mi caso, no voy a desuscribirme de esta lista, y posiblemente muchos de los que se suscriban a la otra tampoco... Mauricio Flores Olmos... __________________________________________________ Correo Yahoo! Espacio para todos tus mensajes, antivirus y antispam ¡gratis! Regístrate ya - http://correo.yahoo.com.mx/ From marcelobarbero en arnet.com.ar Tue Jul 5 19:53:52 2005 From: marcelobarbero en arnet.com.ar (Marcelo Barbero) Date: Tue, 5 Jul 2005 14:53:52 -0300 Subject: MySQL vs PostrgreSQL vs BerkleyDB In-Reply-To: References: Message-ID: <20050705175020.3FE221B01AF@dns2.uji.es> OJO con la licencia de Berkeley DB. Según me parece, si usás la versión libre, tu programa debe redistribuirse con el código fuente: o a lo mejor entendí mal. Acá va la versión en inglés: Sleepycat Software makes several different products. The license for each of these products permits you to use the software at no charge under the condition that if you use them in an application you redistribute, the complete source code for your application must be available and freely redistributable under reasonable conditions. If you do not want to release the source code for an application you redistribute, you may purchase a license from Sleepycat Software. Mi recomendación va también para Firebird. Marcelo -----Mensaje original----- De: python-es-bounces en aditel.org [mailto:python-es-bounces en aditel.org] En nombre de Antonio Castro Enviado el: Martes 5 de Julio de 2005 03:08 a.m. Para: La lista de python en castellano Asunto: Re: [Python-es] MySQL vs PostrgreSQL vs BerkleyDB On Mon, 4 Jul 2005, Chema Cortes wrote: > Catalin Lungu escribió: > > > He leído mucho en internet sobre comparaciones entre estas base de datos pero no acabo de aclararme. Lo que necesito es una BD que soporte SQL, que vaya rápido, que no pete mucho, que no corrompa los datos en las caídas de servidores. Espero no pedir demasiado. > > Te podemos contar muchas cosas, y cada cuál te podrá dar argumentos a > favor y en contra, por lo que te recomiendo que las pruebes tú mismo. > > En función de qué entiendas por soporte SQL hay que decir que la > Berkeley no tiene SQL. Mysql tiene un SQL incompleto, y el SQL de > Postgresql es casi casi completo. > > La Berkeley tiene la particularidad que no requiere de servidor, es > muy rápida, no consume muchos recursos, es tremendamente robusta y > soporta accesos concurrentes. Es, por eso, muy usada en sistemas empotrados. > Hablando de python, el acceso de alto nivel sólo permite almacenar > cadenas de caracteres. También puedes acceder a bajo nivel, pero ya no > tendría nada que ver con el SQL. > > MySQL es una de las más elegidas por su rapidez. Sus optimizaciones se > realizan a costa de recortar características, lo que puede resultar > frustrante si necesitas combinaciones complejas de muchas tablas para > crear vistas, esquemas y demás. Aún así, para aplicaciones web suele > dar muy buenos resultados y es más que suficiente. > > Postgresql es un SGDB muy completo, con todo lo que necesites: > triggers, vistas, procedimientos almacenados (procedimientos que > pueden ser escritos en python), etc. Las última versión 8 es > equiparable en solidez con Oracle. Tiene una velocidad bastante > aceptable, aunque no es tan rápida como mysql. > > Sobre corrupción de datos y caídas de sistemas habría que hablar mucho > sobre las transacciones. El motor MyISAM de MySQL no soporta > transacciones, con lo que una caída de sistema en medio de una > actualización de tablas puede provocar la pérdida de la integridad > referencial. El motor InnoDB ya incorpora transacciones, pero implica > una pérdida de velocidad en comparación con MyISAM. No conozco su > robustez, así como tampoco las características del resto de motores de > mysql. Algunos de ellos tienen, al menos nominalmente, características > muy potentes para control de transacciones. > > Postgresql-8 tiene un mecanismo de transacciones muy robusto que hace > que la consolidación sea casi inmediata. Prácticamente se reduce a > cero las posibilidades de perder la integridad referencial a causa de > un fallo del sistema. > > En fin, yo he elegido postgresql para mi trabajo de desarrollo. En > producción utilizo oracle, informix y sqlserver, y tengo mysql para > pruebas de una intranet (apache tomcat). Si te lías sólo con tres > bases de datos, ya no te cuento el lío que puedo tener yo en estos > momentos :-S Una excelente comparativa. Aportaré mi granito de arena. Yo solo conozco Postresql, y Mysql solo por referencias porque no lo he usado nunca. Yo añadiría que la historia de Mysql y la de Postgresql han sido bastante distintas, y conviene tener una idea de estas trayectorias. En parte ha existido una cierta convergencia entre ambas. Mysql no nació en mi humilde opinión como un autentico SGDB, sino como un rápidísimo gestor de ficheros indexados, sin soporte de integridad transaccional y con soporte muy incompleto de lenguaje SQL. Es injusto comparar velocidades con cosas tan distintas. Luego Mysql fué evolucionando en el sentido de ir completando poco a poco estas importantes carencias. Postgresql que se ha desarrollado desde sus comienzos como proyecto de software totalmente libre creo que ha marcado una trayectoria mucho más coerente. Su vocación de SGDB completo arranca desde sus comienzos. Su convergencia con MySQL ha consistido en ir ganando velocidad, pero es que además de eso, ha continuado ganando en robustez, y en funcionalidad. Mysql es la más adecuada para entornos en los cuales la BD va ha sufrir masivas consultas, y unas pocas altas, bajas y modificaciones.De aquí viene su enorme éxito en determinados servicios de consultas en Internet, donde la inmensa mayoría de los usuarios solo puenden consultar. Si la BD va a ser sometida a un número de altas, bajas, y modificaciones elevadas y con alto nivel de concurrencia, a poco cariño que tengas a tus datos lo suyo es optar por Postgresql. La velocidad se puede compensar con más máquina, y la falta de integridad referencial no. -- Un saludo Antonio Castro /\ /\ \\W// _|0 0|_ +-oOOO-(___o___)-OOOo---------------------+ | . . . . U U . Antonio Castro Snurmacher | | . . . . . . . acastro en ciberdroide.com | +()()()---------()()()--------------------+ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es -- No virus found in this incoming message. Checked by AVG Anti-Virus. Version: 7.0.323 / Virus Database: 267.8.8/37 - Release Date: 01/07/2005 -- No virus found in this outgoing message. Checked by AVG Anti-Virus. Version: 7.0.323 / Virus Database: 267.8.8/37 - Release Date: 01/07/2005 From snmartin en galilea.cl Tue Jul 5 19:59:19 2005 From: snmartin en galilea.cl (Fernando San =?ISO-8859-1?Q?Mart=EDn?= Woerner) Date: Tue, 05 Jul 2005 13:59:19 -0400 Subject: Grupo Python =?ISO-8859-1?Q?M=C9XICO?= In-Reply-To: <42CAA801.9050704@yahoo.com.mx> References: <20050704151243.50490.qmail@web50403.mail.yahoo.com> <40b558b305070507532c56a8fe@mail.gmail.com> <42CAA801.9050704@yahoo.com.mx> Message-ID: <1120586360.7998.24.camel@localhost.localdomain> Gestor es un software de contabilidad de partida doble para Chile, honestamente está pensado para las empresas locales, afortunadamente lo hemos hecho GPL, por otra parte, a nosotros nos pasó lo mismo con facturalux por ejemplo, tampoco era muy fácil adaptarlo a nuestras necesidades, más fácil comenzar desde 0 (from the scratch), el resultado Gestor. saludos On mar, 2005-07-05 at 10:32 -0500, Mauricio Flores Olmos wrote: > Jose Luis DALLAPICCOLA escribió: > > >Realmente... Para qué excluir al resto? > >Digo, no es suficiente con python-es? > >Disculpame, el comentario va con toda onda. > > > >Me parece conveniente que una lista de discución sea lo más abarcativa > >que se pueda. Ya que podríamos utilizar los conocimientos de todos en > >las inquietudes de todos. > > > >Realmente lamentaría no ver los correos de las personas que utilizan > >python en México. > > > >Igualmente recordemos que todos somos libres de participar en lo que > >querramos. Aclaro esto para remarcar la intención de mi comentario. > > > >Saludos a todos. > > > >El 4/07/05, Cesar Cardenas Desales escribió: > > > > > >>Amigos de la lista de Python en español: > >> > >> Desde hace algunos meses he tenido la intención de > >>crear un grupo de discusión de Python en México. He > >>notado a lo largo del tiempo que llevo en la lista, ya > >>existen grupos en España y en Perú... ¿Pero en México > >>cuando? > >> > >> Les invito a suscribirse al grupo de yahoo que ya > >>he creado (o si alguien cuenta con infraestructura > >>propia, a ofrecerla). > >> > >> Publicar mensaje: > >> pythonmexico en yahoogrupos.com.mx > >> Suscribir: > >> pythonmexico-subscribe en yahoogrupos.com.mx > >> Propietario: > >> pythonmexico-owner en yahoogrupos.com.mx > >> > >> César > >> > >> > Que tal: > Yo tambien soy de Mexico y para mi es importante poder ir a eventos, > pero si no puedo en ocasiones costear para los que hay en diversas > ciudades de mi pais, menos podria ir al otro lado del charco... > Por otro lado, creo que por la tropicalizacion de los temas o terminos, > por ejemplo, ALBARANES, si eres español o vives en España, ya debes > saber que es un ALBARAN, incluso buscando en la RAE, no viene esa > palabra, asi que no puedo saber que significa... eso es un pequeño > ejemplo, pero ha de suceder mas seguido con otras cosas... > Otro ejemplo, baje PyGestor, creo que es de Chile, y la forma de trabajo > administrativo es distinto al de Mexico o al de España o al de otros > paises, entonces la reutilizacion practicamente no existe, porque es mas > facil desarrollar algo para el mercado Mexicano desde Cero que basandose > en ese codigo, aqui lo unico que se toma es la forma de conexion a bd, > utilizacion de widgets, etc. > De cualquir forma, en mi caso, no voy a desuscribirme de esta lista, y > posiblemente muchos de los que se suscriban a la otra tampoco... > > Mauricio Flores Olmos... > > > __________________________________________________ > Correo Yahoo! > Espacio para todos tus mensajes, antivirus y antispam ¡gratis! > Regístrate ya - http://correo.yahoo.com.mx/ > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es -- Fernando San Martín Woerner Jefe de Informática Galilea S.A. From jldalla en gmail.com Tue Jul 5 21:01:36 2005 From: jldalla en gmail.com (Jose Luis DALLAPICCOLA) Date: Tue, 5 Jul 2005 16:01:36 -0300 Subject: =?ISO-8859-1?Q?Re:_Re:__Grupo_Python_M=C9XICO?= In-Reply-To: <42CAA801.9050704@yahoo.com.mx> References: <20050704151243.50490.qmail@web50403.mail.yahoo.com> <40b558b305070507532c56a8fe@mail.gmail.com> <42CAA801.9050704@yahoo.com.mx> Message-ID: <40b558b3050705120115b9b789@mail.gmail.com> Mauricio: En la RAE está la palabra "albarán". Igualmente insisto en lo que puse: "Lo que no me gustaría es no poder leer las dudas/consultas/respuestas sobre python de los mexicanos.". Sólo es eso. Sobre un caso particular, como el que mencionás (pyGestor, por ejemplo) me parece acertadísimo que se realicen las traducciones a distintos idiomas con las peculiaridades de cada región. Incluso la realización de módulos locales. Saludos, El 5/07/05, Mauricio Flores Olmos escribió: > Jose Luis DALLAPICCOLA escribió: > > >Realmente... Para qué excluir al resto? > >Digo, no es suficiente con python-es? > >Disculpame, el comentario va con toda onda. > > > >Me parece conveniente que una lista de discución sea lo más abarcativa > >que se pueda. Ya que podríamos utilizar los conocimientos de todos en > >las inquietudes de todos. > > > >Realmente lamentaría no ver los correos de las personas que utilizan > >python en México. > > > >Igualmente recordemos que todos somos libres de participar en lo que > >querramos. Aclaro esto para remarcar la intención de mi comentario. > > > >Saludos a todos. > > > >El 4/07/05, Cesar Cardenas Desales escribió: > > > > > >>Amigos de la lista de Python en español: > >> > >> Desde hace algunos meses he tenido la intención de > >>crear un grupo de discusión de Python en México. He > >>notado a lo largo del tiempo que llevo en la lista, ya > >>existen grupos en España y en Perú... ¿Pero en México > >>cuando? > >> > >> Les invito a suscribirse al grupo de yahoo que ya > >>he creado (o si alguien cuenta con infraestructura > >>propia, a ofrecerla). > >> > >> Publicar mensaje: > >> pythonmexico en yahoogrupos.com.mx > >> Suscribir: > >> pythonmexico-subscribe en yahoogrupos.com.mx > >> Propietario: > >> pythonmexico-owner en yahoogrupos.com.mx > >> > >> César > >> > >> > Que tal: > Yo tambien soy de Mexico y para mi es importante poder ir a eventos, > pero si no puedo en ocasiones costear para los que hay en diversas > ciudades de mi pais, menos podria ir al otro lado del charco... > Por otro lado, creo que por la tropicalizacion de los temas o terminos, > por ejemplo, ALBARANES, si eres español o vives en España, ya debes > saber que es un ALBARAN, incluso buscando en la RAE, no viene esa > palabra, asi que no puedo saber que significa... eso es un pequeño > ejemplo, pero ha de suceder mas seguido con otras cosas... > Otro ejemplo, baje PyGestor, creo que es de Chile, y la forma de trabajo > administrativo es distinto al de Mexico o al de España o al de otros > paises, entonces la reutilizacion practicamente no existe, porque es mas > facil desarrollar algo para el mercado Mexicano desde Cero que basandose > en ese codigo, aqui lo unico que se toma es la forma de conexion a bd, > utilizacion de widgets, etc. > De cualquir forma, en mi caso, no voy a desuscribirme de esta lista, y > posiblemente muchos de los que se suscriban a la otra tampoco... > > Mauricio Flores Olmos... > > > __________________________________________________ > Correo Yahoo! > Espacio para todos tus mensajes, antivirus y antispam ¡gratis! > Regístrate ya - http://correo.yahoo.com.mx/ > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > -- --- José Luis DALLAPICCOLA Cipolletti - RIO NEGRO Patagonia ARGENTINA From ftoledo en docksud.com.ar Tue Jul 5 21:43:18 2005 From: ftoledo en docksud.com.ar (Fernando Toledo) Date: Tue, 5 Jul 2005 16:43:18 -0300 Subject: codigo fuente In-Reply-To: <20050705175020.3FE221B01AF@dns2.uji.es> References: <20050705175020.3FE221B01AF@dns2.uji.es> Message-ID: <20050705164318.4e02f6a6@localhost> bueno gracias a que el codigo fuente este disponible tenemos herramientas como python muchos lo vemos como una ventaja :) El Tue, 5 Jul 2005 14:53:52 -0300 "Marcelo Barbero" escribió: > OJO con la licencia de Berkeley DB. Según me parece, si usás la versión > libre, tu programa debe redistribuirse con el código fuente: o a lo mejor > entendí mal. Acá va la versión en inglés: > -- Fernando Toledo http://www.solar.org.ar ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: no disponible Type: application/pgp-signature Size: 189 bytes Desc: no disponible URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From DrBobus en gulic.org Wed Jul 6 00:44:07 2005 From: DrBobus en gulic.org (Dr Bobus) Date: Tue, 5 Jul 2005 23:44:07 +0100 Subject: OT Listas sobre Python In-Reply-To: <40b558b3050705120115b9b789@mail.gmail.com> References: <20050704151243.50490.qmail@web50403.mail.yahoo.com> <40b558b305070507532c56a8fe@mail.gmail.com> <42CAA801.9050704@yahoo.com.mx> <40b558b3050705120115b9b789@mail.gmail.com> Message-ID: <20050705234407.3de2135e@casiopea.mariaonline.org> Hola: En relación con listas "duplicadas" algo puedo comentar pues durante bastente tiempo he administrado/coadministrado o como queramos llamarlo listas de temáticas similares en los dos lados del charco. Los motivos que se han expuesto son los que se suelen exponer siempre en estos temas. Este tema se puede manejar de varias formas dependiendo del gestor de lista de correo que estemos usando. Se pueden crear sublistas, listas con topics, etc... eso se podría ver. Personalmente, en este momento, estoy por la especialización de listas más que por ámbitos geográficos por temáticas eso si.... (pero entiendo perfectamente cualquiera de las opciones.) Una posibilidad independiente del gestor que se use es la suscripción de listas entre sí o la creación de una supralista a la que están subscritas únicamente las listas y a donde se rebotan los digest de cada lista... Hay mil combinaciones. Lo importante es que nadie se sienta excluido y nadie piense en estos foros como en algo privativo donde mantener cuotas de poder ni nada por el estilo. Saludos a todos. Dr. Bobus -- >Linux is not user-friendly. It _is_ user-friendly. It is not ignorant-friendly and idiot-friendly. (Seen somewhere on the net.) ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: no disponible Type: application/pgp-signature Size: 189 bytes Desc: no disponible URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From lcatalin en siadv.com Wed Jul 6 08:49:32 2005 From: lcatalin en siadv.com (Catalin Lungu) Date: Wed, 6 Jul 2005 08:49:32 +0200 Subject: Mover un panel en wxpython References: <200507051852.52349.josepgimbernat@cdgir.com> Message-ID: <007901c581f6$ddf472d0$d900a8c0@catalin> Prueba con: panel.SetPosition((x, y)) From lcatalin en siadv.com Wed Jul 6 08:59:04 2005 From: lcatalin en siadv.com (Catalin Lungu) Date: Wed, 6 Jul 2005 08:59:04 +0200 Subject: MySQL vs PostrgreSQL vs BerkleyDB References: <20050705175020.3FE221B01AF@dns2.uji.es> Message-ID: <007f01c581f8$327be4e0$d900a8c0@catalin> Muchas gracias a todos. No me he decidido todavía pero seguiré investigando. Me habría gustado Postgre pero la instalación no es tan sencilla (en Windows) y hacer copia de seguridad y restaurarla tampoco. MySQL también me gusta pero la aplicación va a hacer muchas escrituras y updates sobre la BD y por lo visto MySQL es mas para consultas. Probaré Firebird a ver que tal. Saludos. From py en ls-l.org Wed Jul 6 09:54:34 2005 From: py en ls-l.org (Chema Cortes) Date: Wed, 06 Jul 2005 09:54:34 +0200 Subject: MySQL vs PostrgreSQL vs BerkleyDB In-Reply-To: <20050705175020.3FE221B01AF@dns2.uji.es> References: <20050705175020.3FE221B01AF@dns2.uji.es> Message-ID: <42CB8E3A.1020707@ls-l.org> Marcelo Barbero escribió: > OJO con la licencia de Berkeley DB. Según me parece, si usás la versión > libre, tu programa debe redistribuirse con el código fuente: o a lo mejor > entendí mal. Acá va la versión en inglés: > > Sleepycat Software makes several different products. The license for each of > these products permits you to use the software at no charge under the > condition that if you use them in an application you redistribute, the > complete source code for your application must be available and freely > redistributable under reasonable conditions. If you do not want to release > the source code for an application you redistribute, you may purchase a > license from Sleepycat Software. Si lees más abajo, donde explica la licencia (http://www.sleepycat.com/download/licensinginfo.shtml): """ Do I have to pay for a Berkeley DB license to use it in my Perl or Python scripts? No, you may use the Berkeley DB open source license at no cost. The Berkeley DB open source license requires that software that uses Berkeley DB be freely redistributable. In the case of Perl or Python, that software is Perl or Python, and not your scripts. Any scripts you write are your property, including scripts that make use of Berkeley DB. None of the Perl, Python or Berkeley DB licenses place any restrictions on what you may do with them. """ Resumiendo, admite que sólo sea "Python" es el único "usuario" de la base, obligando únicamente a hacer disponible el código del "Python", no los scripts de tu aplicación. From py en ls-l.org Wed Jul 6 10:18:42 2005 From: py en ls-l.org (Chema Cortes) Date: Wed, 06 Jul 2005 10:18:42 +0200 Subject: [OT] Re: MySQL vs PostrgreSQL vs BerkleyDB In-Reply-To: <007f01c581f8$327be4e0$d900a8c0@catalin> References: <20050705175020.3FE221B01AF@dns2.uji.es> <007f01c581f8$327be4e0$d900a8c0@catalin> Message-ID: <42CB93E2.9030705@ls-l.org> Catalin Lungu escribió: > Muchas gracias a todos. No me he decidido todavía pero seguiré > investigando. Me habría gustado Postgre pero la instalación no es tan > sencilla (en Windows) y hacer copia de seguridad y restaurarla tampoco. > MySQL también me gusta pero la aplicación va a hacer muchas escrituras y > updates sobre la BD y por lo visto MySQL es mas para consultas. Probaré > Firebird a ver que tal. Creo que ya es necesario activar el "Offtopic" :-P ¿Qué problema tienes en windows y con los backups? No veo problemas con la instalación de postgresql 8.0. Además se incluye el pgadmin3 desde el que se puede hacer las copias de seguridad sin mucha complicación. From Facundo.Batista en telefonicamoviles.com.ar Wed Jul 6 17:41:11 2005 From: Facundo.Batista en telefonicamoviles.com.ar (Batista, Facundo) Date: Wed, 6 Jul 2005 12:41:11 -0300 Subject: =?iso-8859-1?Q?RE=3A_=5BPython-es=5D_Grupo_Python_M=C9XICO?= Message-ID: <55018DD359F5B147861F150F4689161E0BA5B2C9@escont.tcp.com.ar> #- Amigos de la lista de Python en español: #- #- Desde hace algunos meses he tenido la intención de #- crear un grupo de discusión de Python en México. He #- notado a lo largo del tiempo que llevo en la lista, ya #- existen grupos en España y en Perú... ¿Pero en México #- cuando? Y en Argentina: www.python.org/ar Y en Brasil: www.pythonbrasil.com.br Slds. . Facundo Bitácora De Vuelo: http://www.taniquetil.com.ar/plog PyAr - Python Argentina: http://www.python.org/ar/ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ADVERTENCIA. La información contenida en este mensaje y cualquier archivo anexo al mismo, son para uso exclusivo del destinatario y pueden contener información confidencial o propietaria, cuya divulgación es sancionada por la ley. Si Ud. No es uno de los destinatarios consignados o la persona responsable de hacer llegar este mensaje a los destinatarios consignados, no está autorizado a divulgar, copiar, distribuir o retener información (o parte de ella) contenida en este mensaje. Por favor notifíquenos respondiendo al remitente, borre el mensaje original y borre las copias (impresas o grabadas en cualquier medio magnético) que pueda haber realizado del mismo. Todas las opiniones contenidas en este mail son propias del autor del mensaje y no necesariamente coinciden con las de Telefónica Comunicaciones Personales S.A. o alguna empresa asociada. Los mensajes electrónicos pueden ser alterados, motivo por el cual Telefónica Comunicaciones Personales S.A. no aceptará ninguna obligación cualquiera sea el resultante de este mensaje. Muchas Gracias. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From dlopez en aditel.org Wed Jul 6 20:02:56 2005 From: dlopez en aditel.org (=?ISO-8859-1?Q?Dar=EDo_L=F3pez_Llueca?=) Date: Wed, 06 Jul 2005 18:02:56 +0000 Subject: Sockets no bloqueantes Message-ID: <42CC1CD0.5000700@aditel.org> Hola a tod en s l en s de la lista :) mi problema es el siguiente: Estoy haciendo pruebas con Python y los sockets no bloqueantes, porque en un futuro quiero hacer una aplicación, en la cual mi interesa usas estos sobre los "normales". No obstante ante el siguiente codigo #Inicio código #!/usr/bin/env python import socket import select s = socket.socket (socket.AF_INET, socket.SOCK_STREAM) s.connect (('www.uji.es',80)) s.setblocking (0) read, write, error = select.select ([s],[s],[s]) print read, write, error while s not in write: pass s.send ('GET / HTTP/1.0\r\n\r\n') print 'Enviado' while s not in read: pass print 'Se ha recibido algo!' #Fin de código Obtengo lo siguiente: dario en wilbur ~/noemi $ python prueba.py [] [] [] Enviado Y ahí se queda bloqueado. Alguien sabe donde está el fallo. Estoy harto de buscar ya, y no encuentro nada :( Venga, gracias de antemano. From faltet en carabos.com Wed Jul 6 18:29:09 2005 From: faltet en carabos.com (Francesc Altet) Date: Wed, 06 Jul 2005 18:29:09 +0200 Subject: Sockets no bloqueantes In-Reply-To: <42CC1CD0.5000700@aditel.org> References: <42CC1CD0.5000700@aditel.org> Message-ID: <1120667349.3537.4.camel@localhost.localdomain> El dc 06 de 07 del 2005 a les 18:02 +0000, en/na Darío López Llueca va escriure: > Hola a tod en s l en s de la lista :) > > mi problema es el siguiente: > Estoy haciendo pruebas con Python y los sockets no bloqueantes, porque > en un futuro quiero hacer una aplicación, en la cual mi interesa usas > estos sobre los "normales". No obstante ante el siguiente codigo Yo te aconsejaria usar un framework para hacer esto. Si Twisted te parece demasiado complejo (para lo que quieres reconozco que es como matar pulgas a cañonazos), échale un vistazo a Medusa [1] y léete con atención [2]. Medusa es compacto (creo recordar que se trata de un módulo en Python tan sólo) y fácil de usar. [1] http://www.amk.ca/python/code/medusa.html [2] http://www.nightmare.com/medusa/programming.html Saludos, Francesc From jmoroz en uol.com.ar Wed Jul 6 18:26:22 2005 From: jmoroz en uol.com.ar (jmoroz en uol.com.ar) Date: Wed, 06 Jul 2005 13:26:22 -0300 Subject: MySQL vs PostrgreSQL vs BerkleyDB In-Reply-To: <007f01c581f8$327be4e0$d900a8c0@catalin> References: <20050705175020.3FE221B01AF@dns2.uji.es> <007f01c581f8$327be4e0$d900a8c0@catalin> Message-ID: <42CC062E.6030805@uol.com.ar> Una propuesta valida puede ser que uses la base de datos embebida SQLITE;que por supuesto esta soportada para ambientes Win32 y ademas tiene una interface o conector para Python que tambien esta para la plataforma antedicha!. Es decir Python y SQLITE son multiplataforma, pues tambien existen para GNU/Linux http://sqlite.org/download.html http://initd.org/tracker/pysqlite (aqui esta la sección de download!) espero que te se util. Mario. Catalin Lungu escribió: > Muchas gracias a todos. No me he decidido todavía pero seguiré > investigando. Me habría gustado Postgre pero la instalación no es tan > sencilla (en Windows) y hacer copia de seguridad y restaurarla tampoco. > MySQL también me gusta pero la aplicación va a hacer muchas escrituras y > updates sobre la BD y por lo visto MySQL es mas para consultas. Probaré > Firebird a ver que tal. > Saludos. > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > > From jjdelcerromurciano en yahoo.es Wed Jul 6 19:13:41 2005 From: jjdelcerromurciano en yahoo.es (Joaquin Jose del Cerro Murciano) Date: Wed, 6 Jul 2005 19:13:41 +0200 Subject: Sockets no bloqueantes In-Reply-To: <42CC1CD0.5000700@aditel.org> References: <42CC1CD0.5000700@aditel.org> Message-ID: <200507061913.42102.jjdelcerromurciano@yahoo.es> Hola, No entiendo muy bien lo que pretendes con tu codigo. Yo he estado jugando con sockets y aun no he necesitado lo de sockets no bloqueantes, simplemente tiro de select. Pero si tiras de select, como parece que intentas, deberias llamar al select a cada iteracion, ya que si no la condicion de salida del bucle no cambia. En : while s not in read: pass Si a la entrada al bucle "read" es lista vacia, lo sera siempre. No cambia por arte de magia. Es mejor probar algo como: while s not in read: read, write, error = select.select ([s],[s],[s],0) Este bucle espera a que hayan caracteres para leer en el socket. Ojo, que en cuanto se te active que tienes caracteres en el buffer deberias leerlos con un "s.recv()", y si le pides mas caracteres de los que hay no pasa nada, te dara los que hayan. Lo que no debes hacer si no quieres quedarte clavado en el recv es intentar invocarlo si el select te dice que no hay nada que leer. Otra consideracion es el ultimo parametro del select. Es el tiempo que se va a quedar esperendo (en segundos con decimales) antes de devolverte que no hay datos en el socket. Si le pones un 0 comprueba y retorna al instante. Un bucle asi puede merendarse toda la CPU de la maquina, asi que no es muy aconsejable. Generalmete a ti te suele dar igual un cero que 0.1, o incluso un 1 y eso alivia un huevo a la CPU. Tu codigo retocado y olvidandome de los socket no-bloquenates podria quedar asi: #------------ inicio de codigo ------------------------------- import socket import select s = socket.socket (socket.AF_INET, socket.SOCK_STREAM) s.connect (('www.uji.es',80)) print "Esperando a listo para enviar..." write = [] while s not in write: read, write, error = select.select ([s],[s],[s],1) print read, write, error s.send ('GET / HTTP/1.0\r\n\r\n') print 'Enviado' print "Esperando a recibir respuesta" read = [] while s not in read: read, write, error = select.select ([s],[s],[s],1) print read, write, error print 'Se ha recibido algo!' print s.recv(2024) #------------ Fin de codigo ------------------------------- Un saludo Joaquin. El Miércoles, 6 de Julio de 2005 20:02, Darío López Llueca escribió: > Hola a tod en s l en s de la lista :) > > mi problema es el siguiente: > Estoy haciendo pruebas con Python y los sockets no bloqueantes, porque > en un futuro quiero hacer una aplicación, en la cual mi interesa usas > estos sobre los "normales". No obstante ante el siguiente codigo > > #Inicio código > #!/usr/bin/env python > > import socket > import select > > s = socket.socket (socket.AF_INET, socket.SOCK_STREAM) > s.connect (('www.uji.es',80)) > s.setblocking (0) > > read, write, error = select.select ([s],[s],[s]) > > print read, write, error > > while s not in write: pass > s.send ('GET / HTTP/1.0\r\n\r\n') > > print 'Enviado' > > while s not in read: pass > > print 'Se ha recibido algo!' > > #Fin de código > > Obtengo lo siguiente: > > dario en wilbur ~/noemi $ python prueba.py > [] [] [] > Enviado > > Y ahí se queda bloqueado. > > Alguien sabe donde está el fallo. Estoy harto de buscar ya, y no > encuentro nada :( > > Venga, gracias de antemano. > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es ______________________________________________ Renovamos el Correo Yahoo! Nuevos servicios, más seguridad http://correo.yahoo.es From emulwich en yahoo.com Wed Jul 6 21:00:30 2005 From: emulwich en yahoo.com (Mauricio Zarceÿfffff1o) Date: Wed, 6 Jul 2005 12:00:30 -0700 (PDT) Subject: Ayuda!!!! In-Reply-To: <20050706162702.F0984144429D@devnull.aditel.org> References: <20050706162702.F0984144429D@devnull.aditel.org> Message-ID: <20050706190031.86266.qmail@web51101.mail.yahoo.com> Tengo un problema, estoy intentando hacer un especie de clon de no-ip, lo que intento hacer es subir una pagina en un hosting gratis, y de ahi redireccionar a mi maquina, el problema es que yo no tengo ip publica, estoy detras de un proxy, lo que no se es como puedo redireccionar hacia mi maquina, se que tengo que poner la ip del proxy que es la que sale a internet, lo que no es como poner despues para que sepa que tiene que ir hasta mi maquina. __________________________________ Yahoo! Mail for Mobile Take Yahoo! Mail with you! Check email on your mobile phone. http://mobile.yahoo.com/learn/mail From hernan en orgmf.com.ar Wed Jul 6 22:43:22 2005 From: hernan en orgmf.com.ar (=?iso-8859-1?Q?Hernan_Mart=EDnez_Foffani?=) Date: Wed, 6 Jul 2005 22:43:22 +0200 Subject: Ayuda!!!! In-Reply-To: <20050706190031.86266.qmail@web51101.mail.yahoo.com> References: <20050706190031.86266.qmail@web51101.mail.yahoo.com> Message-ID: > Tengo un problema, estoy intentando hacer un especie > de clon de no-ip, lo que intento hacer es subir una > pagina en un hosting gratis, y de ahi redireccionar a > mi maquina, el problema es que yo no tengo ip publica, > estoy detras de un proxy, lo que no se es como puedo > redireccionar hacia mi maquina, se que tengo que poner > la ip del proxy que es la que sale a internet, lo que > no es como poner despues para que sepa que tiene que ir hasta mi > maquina. Dependerá del proxy, pero como receta general deberías configurarlo para que los pedidos que le lleguen los redireccione al ip de la red interna. (la pregunta no tiene nada que ver con python, seguramente encotrarás mejores respuestas en grupos especializados...) -H. From jaime en iaa.es Wed Jul 6 23:38:07 2005 From: jaime en iaa.es (Jaime Perea) Date: Wed, 6 Jul 2005 23:38:07 +0200 Subject: Ayuda!!!! In-Reply-To: <20050706190031.86266.qmail@web51101.mail.yahoo.com> References: <20050706190031.86266.qmail@web51101.mail.yahoo.com> Message-ID: <200507062338.07459.jaime@iaa.es> El Miércoles, 6 de Julio de 2005 21:00, Mauricio Zarceÿfffff1o escribió: > Tengo un problema, estoy intentando hacer un especie > de clon de no-ip, lo que intento hacer es subir una > pagina en un hosting gratis, y de ahi redireccionar a > mi maquina, el problema es que yo no tengo ip publica, > estoy detras de un proxy, lo que no se es como puedo > redireccionar hacia mi maquina, se que tengo que poner > la ip del proxy que es la que sale a internet, lo que > no es como poner despues para que sepa que tiene que > ir hasta mi maquina. > > Depende de que ports tengas abiertos en tu proxy, pero lo más fácil es usar el port forwrding de ssh, búscalo en google (opción -L de ssh) -- Jaime D. Perea Duarte. Linux registered user #10472 Dep. Astrofisica Extragalactica. Instituto de Astrofisica de Andalucia (CSIC) Apdo. 3004, 18080 Granada, Spain. From jjdelcerromurciano en yahoo.es Thu Jul 7 08:29:48 2005 From: jjdelcerromurciano en yahoo.es (Joaquin Jose del Cerro Murciano) Date: Thu, 7 Jul 2005 08:29:48 +0200 Subject: Sockets no bloqueantes In-Reply-To: <200507061913.42102.jjdelcerromurciano@yahoo.es> References: <42CC1CD0.5000700@aditel.org> <200507061913.42102.jjdelcerromurciano@yahoo.es> Message-ID: <200507070829.48805.jjdelcerromurciano@yahoo.es> Hola otra vez, En el ejemplo que te deje ayer mejor una correccion, no esperar a que el socket este listo para escribir si lo que quieres es leer. Osea > > print "Esperando a recibir respuesta" > read = [] > while s not in read: > read, write, error = select.select ([s],[s],[s],1) read, write, error = select.select ([s],[],[s],1) > print read, write, error > > print 'Se ha recibido algo!' Un saludo Joaquin. ______________________________________________ Renovamos el Correo Yahoo! Nuevos servicios, más seguridad http://correo.yahoo.es From dlopez en aditel.org Thu Jul 7 11:17:38 2005 From: dlopez en aditel.org (=?ISO-8859-1?Q?Dar=EDo_L=F3pez_Llueca?=) Date: Thu, 07 Jul 2005 09:17:38 +0000 Subject: Sockets no bloqueantes In-Reply-To: <200507070829.48805.jjdelcerromurciano@yahoo.es> References: <42CC1CD0.5000700@aditel.org> <200507061913.42102.jjdelcerromurciano@yahoo.es> <200507070829.48805.jjdelcerromurciano@yahoo.es> Message-ID: <42CCF332.7040005@aditel.org> Gracias Joaquín José pero ese problema ya lo tenía resuelto, simplemente usando sockets no bloqueantes :) (ya que ese es el principal beneficio de estos sobre los bloqueantes). Aps... y gracias a Francesc también, por sus orientaciones :) Joaquin Jose del Cerro Murciano wrote: >Hola otra vez, >En el ejemplo que te deje ayer mejor una correccion, no esperar a que el >socket este listo para escribir si lo que quieres es leer. Osea > > > >>print "Esperando a recibir respuesta" >>read = [] >>while s not in read: >> read, write, error = select.select ([s],[s],[s],1) >> >> > read, write, error = select.select ([s],[],[s],1) > > >> print read, write, error >> >>print 'Se ha recibido algo!' >> >> > >Un saludo >Joaquin. > > >______________________________________________ >Renovamos el Correo Yahoo! >Nuevos servicios, más seguridad >http://correo.yahoo.es >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es > > From rapto en arrakis.es Thu Jul 7 09:30:00 2005 From: rapto en arrakis.es (Marcos =?ISO-8859-1?Q?S=E1nchez?= Provencio) Date: Thu, 07 Jul 2005 09:30:00 +0200 Subject: COMO DESACTIVARSE DE LA LISTA In-Reply-To: <55956.200.87.30.8.1120718628.squirrel@www.webmail.uajms.edu.bo> References: <42C91856.4070905@uco.es> <55956.200.87.30.8.1120718628.squirrel@www.webmail.uajms.edu.bo> Message-ID: <1120721400.8256.8.camel@savin.proteus> En general, para todas las listas de Mailman: Sólo hay que seguir las instrucciones que se dan en la dirección que aparece al final de cada mensaje de la lista. El jue, 07-07-2005 a las 02:43 -0400, poam en uajms.edu.bo escribió: > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es -- Marcos Sánchez Provencio ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From jmoroz en uol.com.ar Thu Jul 7 17:14:09 2005 From: jmoroz en uol.com.ar (jmoroz en uol.com.ar) Date: Thu, 07 Jul 2005 12:14:09 -0300 Subject: Sockets no bloqueantes In-Reply-To: <42CCF332.7040005@aditel.org> References: <42CC1CD0.5000700@aditel.org> <200507061913.42102.jjdelcerromurciano@yahoo.es> <200507070829.48805.jjdelcerromurciano@yahoo.es> <42CCF332.7040005@aditel.org> Message-ID: <42CD46C1.20007@uol.com.ar> [Puede parecer OFF-TOPIC pero el tema ya esta instalado] Pero entonces cuantos tipo de sockets hay, yo conozco los inet y los de unix(filesystem). Mejor dicho, se ve que de los inet hay varios tipos!? Podrias hacer una vreve reseña de lo que implica ser bloqueante y no bloqueante. Recuerdo haber jugado con sockets en VB pero no infirio en el aplicativo si eran o no bloqueantes. desde ya garcias Mario. Darío López Llueca escribió: > Gracias Joaquín José pero ese problema ya lo tenía resuelto, simplemente > usando sockets no bloqueantes :) (ya que ese es el principal beneficio > de estos sobre los bloqueantes). > > Aps... y gracias a Francesc también, por sus orientaciones :) > > Joaquin Jose del Cerro Murciano wrote: > > >>Hola otra vez, >>En el ejemplo que te deje ayer mejor una correccion, no esperar a que el >>socket este listo para escribir si lo que quieres es leer. Osea >> >> >> >> >>>print "Esperando a recibir respuesta" >>>read = [] >>>while s not in read: >>> read, write, error = select.select ([s],[s],[s],1) >>> >>> >> >> read, write, error = select.select ([s],[],[s],1) >> >> >> >>> print read, write, error >>> >>>print 'Se ha recibido algo!' >>> >>> >> >>Un saludo >>Joaquin. >> >> >>______________________________________________ >>Renovamos el Correo Yahoo! >>Nuevos servicios, más seguridad >>http://correo.yahoo.es >>_______________________________________________ >>Python-es mailing list >>Python-es en aditel.org >>http://listas.aditel.org/listinfo/python-es >> >> > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > > From dvilla en gmx.net Fri Jul 8 08:00:59 2005 From: dvilla en gmx.net (David Villa) Date: Fri, 08 Jul 2005 08:00:59 +0200 Subject: Sockets no bloqueantes In-Reply-To: <42CD46C1.20007@uol.com.ar> References: <42CC1CD0.5000700@aditel.org> <200507061913.42102.jjdelcerromurciano@yahoo.es> <200507070829.48805.jjdelcerromurciano@yahoo.es> <42CCF332.7040005@aditel.org> <42CD46C1.20007@uol.com.ar> Message-ID: <1120802459.6756.14.camel@amy> Hola: En realidad un socket bloqueante/no-bloqueante no es un nuevo tipo de socket, es más bien un modo. Cuando usas un socket bloqueante, al hacer una llamada a recv() el proceso queda bloqueado hasta que llegan datos. Es algo parecido a leer del teclado (que también puede ser bloqueante o no). Eso está muy bien cuando sólo manejas un dispositivo asíncrono (y un socket lo es). El problema se puede resolver de varias maneras, por ejemplo con hilos o con el select(). select() permite manejar en un solo punto varios descriptores asíncronos, de modo que cuando lees o escribes en un dispositivo (lo que incluye a los sockets) ya sabes de antemano que hay algo para leer o escribir (según sea) de modo que evitas que te bloquee el proceso. Llegados a este punto y dicho lo dicho, no entiendo porqué Darío necesita sockets no-bloqueantes. Si usas select() no hay mucha diferencia entre usar bloqueantes o no. Y puestos a elegir, son preferibles los bloqueantes. Saludos El jue, 07-07-2005 a las 12:14 -0300, jmoroz en uol.com.ar escribió: > [Puede parecer OFF-TOPIC pero el tema ya esta instalado] > > Pero entonces cuantos tipo de sockets hay, yo conozco los > inet y los de unix(filesystem). > Mejor dicho, se ve que de los inet hay varios tipos!? > Podrias hacer una vreve reseña de lo que implica ser > bloqueante y no bloqueante. > Recuerdo haber jugado con sockets en VB pero no infirio > en el aplicativo si eran o no bloqueantes. > > desde ya garcias > Mario. > > > Darío López Llueca escribió: > > Gracias Joaquín José pero ese problema ya lo tenía resuelto, simplemente > > usando sockets no bloqueantes :) (ya que ese es el principal beneficio > > de estos sobre los bloqueantes). > > > > Aps... y gracias a Francesc también, por sus orientaciones :) > > > > Joaquin Jose del Cerro Murciano wrote: > > > > > >>Hola otra vez, > >>En el ejemplo que te deje ayer mejor una correccion, no esperar a que el > >>socket este listo para escribir si lo que quieres es leer. Osea > >> > >> > >> > >> > >>>print "Esperando a recibir respuesta" > >>>read = [] > >>>while s not in read: > >>> read, write, error = select.select ([s],[s],[s],1) > >>> > >>> > >> > >> read, write, error = select.select ([s],[],[s],1) > >> > >> > >> > >>> print read, write, error > >>> > >>>print 'Se ha recibido algo!' > >>> > >>> > >> > >>Un saludo > >>Joaquin. > >> > >> > >>______________________________________________ > >>Renovamos el Correo Yahoo! > >>Nuevos servicios, más seguridad > >>http://correo.yahoo.es > >>_______________________________________________ > >>Python-es mailing list > >>Python-es en aditel.org > >>http://listas.aditel.org/listinfo/python-es > >> > >> > > > > > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es > > > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > From dlopez en aditel.org Fri Jul 8 11:40:02 2005 From: dlopez en aditel.org (=?ISO-8859-1?Q?Dar=EDo_L=F3pez_Llueca?=) Date: Fri, 08 Jul 2005 09:40:02 +0000 Subject: Sockets no bloqueantes In-Reply-To: <1120802459.6756.14.camel@amy> References: <42CC1CD0.5000700@aditel.org> <200507061913.42102.jjdelcerromurciano@yahoo.es> <200507070829.48805.jjdelcerromurciano@yahoo.es> <42CCF332.7040005@aditel.org> <42CD46C1.20007@uol.com.ar> <1120802459.6756.14.camel@amy> Message-ID: <42CE49F2.6050006@aditel.org> David Villa wrote: >Hola: > >En realidad un socket bloqueante/no-bloqueante no es un nuevo tipo de >socket, es más bien un modo. > >Cuando usas un socket bloqueante, al hacer una llamada a recv() el >proceso queda bloqueado hasta que llegan datos. Es algo parecido a leer >del teclado (que también puede ser bloqueante o no). > >Eso está muy bien cuando sólo manejas un dispositivo asíncrono (y un >socket lo es). El problema se puede resolver de varias maneras, por >ejemplo con hilos o con el select(). > >select() permite manejar en un solo punto varios descriptores >asíncronos, de modo que cuando lees o escribes en un dispositivo (lo que >incluye a los sockets) ya sabes de antemano que hay algo para leer o >escribir (según sea) de modo que evitas que te bloquee el proceso. > >Llegados a este punto y dicho lo dicho, no entiendo porqué Darío >necesita sockets no-bloqueantes. Si usas select() no hay mucha >diferencia entre usar bloqueantes o no. Y puestos a elegir, son >preferibles los bloqueantes. > >Saludos > > > Uso los no bloqueantes porque a parte de las conexiones, voy a hacer uso de una interfaz gráfica, y si hiciera uso de los sockets bloqueantes, cuando pidiese o enviase cosas por el socket, la interfaz se quedaría bloqueada (y la verdad, a mí no me gusta eso :)). También existe la posibilida de los hilos, pero entonces entraríamos en el tema de los semáforos y complicaría sobre manera mi programa. Espero que ahora ya entendáis un poco mis razones :P >El jue, 07-07-2005 a las 12:14 -0300, jmoroz en uol.com.ar escribió: > > >>[Puede parecer OFF-TOPIC pero el tema ya esta instalado] >> >>Pero entonces cuantos tipo de sockets hay, yo conozco los >>inet y los de unix(filesystem). >>Mejor dicho, se ve que de los inet hay varios tipos!? >>Podrias hacer una vreve reseña de lo que implica ser >>bloqueante y no bloqueante. >>Recuerdo haber jugado con sockets en VB pero no infirio >>en el aplicativo si eran o no bloqueantes. >> >>desde ya garcias >>Mario. >> >> >>Darío López Llueca escribió: >> >> >>>Gracias Joaquín José pero ese problema ya lo tenía resuelto, simplemente >>>usando sockets no bloqueantes :) (ya que ese es el principal beneficio >>>de estos sobre los bloqueantes). >>> >>>Aps... y gracias a Francesc también, por sus orientaciones :) >>> >>>Joaquin Jose del Cerro Murciano wrote: >>> >>> >>> >>> >>>>Hola otra vez, >>>>En el ejemplo que te deje ayer mejor una correccion, no esperar a que el >>>>socket este listo para escribir si lo que quieres es leer. Osea >>>> >>>> >>>> >>>> >>>> >>>> >>>>>print "Esperando a recibir respuesta" >>>>>read = [] >>>>>while s not in read: >>>>>read, write, error = select.select ([s],[s],[s],1) >>>>> >>>>> >>>>> >>>>> >>>> read, write, error = select.select ([s],[],[s],1) >>>> >>>> >>>> >>>> >>>> >>>>>print read, write, error >>>>> >>>>>print 'Se ha recibido algo!' >>>>> >>>>> >>>>> >>>>> >>>>Un saludo >>>>Joaquin. >>>> >>>> >>>>______________________________________________ >>>>Renovamos el Correo Yahoo! >>>>Nuevos servicios, más seguridad >>>>http://correo.yahoo.es >>>>_______________________________________________ >>>>Python-es mailing list >>>>Python-es en aditel.org >>>>http://listas.aditel.org/listinfo/python-es >>>> >>>> >>>> >>>> >>>_______________________________________________ >>>Python-es mailing list >>>Python-es en aditel.org >>>http://listas.aditel.org/listinfo/python-es >>> >>> >>> >>> >>_______________________________________________ >>Python-es mailing list >>Python-es en aditel.org >>http://listas.aditel.org/listinfo/python-es >> >> >> > >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es > > From dlopez en aditel.org Fri Jul 8 11:43:49 2005 From: dlopez en aditel.org (=?ISO-8859-1?Q?Dar=EDo_L=F3pez_Llueca?=) Date: Fri, 08 Jul 2005 09:43:49 +0000 Subject: Sockets no bloqueantes In-Reply-To: <1120802459.6756.14.camel@amy> References: <42CC1CD0.5000700@aditel.org> <200507061913.42102.jjdelcerromurciano@yahoo.es> <200507070829.48805.jjdelcerromurciano@yahoo.es> <42CCF332.7040005@aditel.org> <42CD46C1.20007@uol.com.ar> <1120802459.6756.14.camel@amy> Message-ID: <42CE4AD5.5040509@aditel.org> David Villa wrote: >Hola: > >En realidad un socket bloqueante/no-bloqueante no es un nuevo tipo de >socket, es más bien un modo. > >Cuando usas un socket bloqueante, al hacer una llamada a recv() el >proceso queda bloqueado hasta que llegan datos. Es algo parecido a leer >del teclado (que también puede ser bloqueante o no). > >Eso está muy bien cuando sólo manejas un dispositivo asíncrono (y un >socket lo es). El problema se puede resolver de varias maneras, por >ejemplo con hilos o con el select(). > >select() permite manejar en un solo punto varios descriptores >asíncronos, de modo que cuando lees o escribes en un dispositivo (lo que >incluye a los sockets) ya sabes de antemano que hay algo para leer o >escribir (según sea) de modo que evitas que te bloquee el proceso. > >Llegados a este punto y dicho lo dicho, no entiendo porqué Darío >necesita sockets no-bloqueantes. Si usas select() no hay mucha >diferencia entre usar bloqueantes o no. Y puestos a elegir, son >preferibles los bloqueantes. > >Saludos > > > Uso los no bloqueantes porque a parte de las conexiones, voy a hacer uso de una interfaz gráfica, y si hiciera uso de los sockets bloqueantes, cuando pidiese o enviase cosas por el socket, la interfaz se quedaría bloqueada (y la verdad, a mí no me gusta eso :)). También existe la posibilida de los hilos, pero entonces entraríamos en el tema de los semáforos y complicaría sobre manera mi programa. Espero que ahora ya entendáis un poco mis razones :P >El jue, 07-07-2005 a las 12:14 -0300, jmoroz en uol.com.ar escribió: > > >>[Puede parecer OFF-TOPIC pero el tema ya esta instalado] >> >>Pero entonces cuantos tipo de sockets hay, yo conozco los >>inet y los de unix(filesystem). >>Mejor dicho, se ve que de los inet hay varios tipos!? >>Podrias hacer una vreve reseña de lo que implica ser >>bloqueante y no bloqueante. >>Recuerdo haber jugado con sockets en VB pero no infirio >>en el aplicativo si eran o no bloqueantes. >> >>desde ya garcias >>Mario. >> >> >>Darío López Llueca escribió: >> >> >>>Gracias Joaquín José pero ese problema ya lo tenía resuelto, simplemente >>>usando sockets no bloqueantes :) (ya que ese es el principal beneficio >>>de estos sobre los bloqueantes). >>> >>>Aps... y gracias a Francesc también, por sus orientaciones :) >>> >>>Joaquin Jose del Cerro Murciano wrote: >>> >>> >>> >>> >>>>Hola otra vez, >>>>En el ejemplo que te deje ayer mejor una correccion, no esperar a que el >>>>socket este listo para escribir si lo que quieres es leer. Osea >>>> >>>> >>>> >>>> >>>> >>>> >>>>>print "Esperando a recibir respuesta" >>>>>read = [] >>>>>while s not in read: >>>>>read, write, error = select.select ([s],[s],[s],1) >>>>> >>>>> >>>>> >>>>> >>>> read, write, error = select.select ([s],[],[s],1) >>>> >>>> >>>> >>>> >>>> >>>>>print read, write, error >>>>> >>>>>print 'Se ha recibido algo!' >>>>> >>>>> >>>>> >>>>> >>>>Un saludo >>>>Joaquin. >>>> >>>> >>>>______________________________________________ >>>>Renovamos el Correo Yahoo! >>>>Nuevos servicios, más seguridad >>>>http://correo.yahoo.es >>>>_______________________________________________ >>>>Python-es mailing list >>>>Python-es en aditel.org >>>>http://listas.aditel.org/listinfo/python-es >>>> >>>> >>>> >>>> >>>_______________________________________________ >>>Python-es mailing list >>>Python-es en aditel.org >>>http://listas.aditel.org/listinfo/python-es >>> >>> >>> >>> >>_______________________________________________ >>Python-es mailing list >>Python-es en aditel.org >>http://listas.aditel.org/listinfo/python-es >> >> >> > >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es > > From jjdelcerromurciano en yahoo.es Fri Jul 8 11:25:32 2005 From: jjdelcerromurciano en yahoo.es (Joaquin Jose del Cerro Murciano) Date: Fri, 8 Jul 2005 11:25:32 +0200 Subject: Sockets no bloqueantes In-Reply-To: <42CE4AD5.5040509@aditel.org> References: <42CC1CD0.5000700@aditel.org> <1120802459.6756.14.camel@amy> <42CE4AD5.5040509@aditel.org> Message-ID: <200507081125.32317.jjdelcerromurciano@yahoo.es> >> > > Uso los no bloqueantes porque a parte de las conexiones, voy a hacer uso > de una interfaz gráfica, y si hiciera uso de los sockets bloqueantes, > cuando pidiese o enviase cosas por el socket, la interfaz se quedaría > bloqueada (y la verdad, a mí no me gusta eso :)). También existe la > posibilida de los hilos, pero entonces entraríamos en el tema de los > semáforos y complicaría sobre manera mi programa. > > Espero que ahora ya entendáis un poco mis razones :P:P > > El tema de los socket bloqueantes o no-bloqueantes es algo asi como un artificio de python para mantener compatibilidad entre plataformas. En sistemas unix, cuando as tenido que hacer un read sobre un dispositivo y ademas tenias que atender el UI, siempre han habido dos opciones, y las dos validas. - O bien tiras de fcntl y le cascas el flag de O_NONBLOCK al dispositivo - o tiras de select. Siempre has podido usar fcntls para montar sockets no bloqueantes, pero eso no era portable entre plataformas ya que M$ Windows no lo soportaba. Asi que han dejado caer una capa sobre ello y nos han dado el metodo setblocking y settimeout para encubrir las diferencias entre los distintos operativos y que no tengas que lidiar con el siempre engorroso fcntl. Con las dos formas tienes funcionalidades similares y usar una u otra es cuestion de gustos. Decir que una no es buena en detrimento de la otra sin aportar ningun fundamento, lo unico que hace es liar a los mas novatos en python. Las diferencias en el codigo entre una opcion y otra para obtener los mismos resultados son cosmeticas. Valores de retorno frente a exceptiones y poco mas. Al final de la jugada se trata de hacer pooling para ver si han llegado datos o si puedes escribir y si no continuar haciendo lo que tubieses que hacer. Pudes intentar leer y que te de una exception si no hay datos que leer (recv-non-blocking), o preguntar si hay datos antes de leer y si hay lees y si no no (select+recv-blocking). Usa la que mas te guste pero no digas que una sirbe y la otra no. Y lo mismo que es valido para el recv es valido para el send. Ademas si solo estas usando un socket, el modo non-blocking puede parecer comodo, pero como tengas que estar pendiente de 5 o 6, o incluso mas sockets, el metodo del select casi seguro que te va a quitar muchos dolores de cabeza ya que le dices que te informe si se puede leer o escribir de una lista de sockets. Son validas las dos opciones y segun que escenario te sera mas comodo usar una u otra. Deja que cada cual decida y no vallas creando prejuicios frente una u otra opcion entre los usuarios de la lista. Un saludo Joaquin. ______________________________________________ Renovamos el Correo Yahoo! Nuevos servicios, más seguridad http://correo.yahoo.es From dvilla en gmx.net Fri Jul 8 16:51:40 2005 From: dvilla en gmx.net (David Villa) Date: Fri, 08 Jul 2005 16:51:40 +0200 Subject: Sockets no bloqueantes In-Reply-To: <200507081125.32317.jjdelcerromurciano@yahoo.es> References: <42CC1CD0.5000700@aditel.org> <1120802459.6756.14.camel@amy> <42CE4AD5.5040509@aditel.org> <200507081125.32317.jjdelcerromurciano@yahoo.es> Message-ID: <1120834300.6289.32.camel@amy> Hola: El vie, 08-07-2005 a las 11:25 +0200, Joaquin Jose del Cerro Murciano escribió: > > > >> > > > > Uso los no bloqueantes porque a parte de las conexiones, voy a hacer uso > > de una interfaz gráfica, y si hiciera uso de los sockets bloqueantes, > > cuando pidiese o enviase cosas por el socket, la interfaz se quedaría > > bloqueada (y la verdad, a mí no me gusta eso :)). También existe la > > posibilida de los hilos, pero entonces entraríamos en el tema de los > > semáforos y complicaría sobre manera mi programa. > > > > Espero que ahora ya entendáis un poco mis razones :P:P > > > > > > El tema de los socket bloqueantes o no-bloqueantes es algo asi como un > artificio de python para mantener compatibilidad entre plataformas. Hombre, no es sólo una cuestión de python, en muchos lenguajes hay primitivas bloqueantes/no-bloqueantes para acceder a dispositivos asíncronos (sean sockets o lo que sean). > Con las dos formas tienes funcionalidades similares y usar una u otra es > cuestion de gustos. Decir que una no es buena en detrimento de la otra sin > aportar ningun fundamento, lo unico que hace es liar a los mas novatos en > python. Creo que la cuestión no es si "es mejor". Sí que es una cuestión de gustos. A mi me parece más cómodo usar sockets bloqueantes, creo que es más fácil localizar puntos de fallo y es más fácil pensar en términos "bloqueantes" (sobre todo para un novato). Pero vamos, que no dudo de la utilidad de los no-bloqueantes, es evidente que Darío los prefiere. Yo creo que el tema de la UI no es un problema insalvable que impida usar bloqueantes, pero vamos, cada uno decide lo que le parece mejor. > Ademas si solo estas usando un socket, el modo non-blocking puede parecer > comodo, pero como tengas que estar pendiente de 5 o 6, o incluso mas sockets, > el metodo del select casi seguro que te va a quitar muchos dolores de cabeza > ya que le dices que te informe si se puede leer o escribir de una lista de > sockets. A pesar de lo que decías antes, está claro que tú también tienes tus preferencias :-D En realidad no hay nada que te impida usar el mismo select() con sockets no-bloqueantes y es igual de bueno. Está claro que con los bloqueantes al menos te ahorras el setsockopt() :-) A fin de cuentas este problema está más que estudiado y todos nos topamos de vez en cuando con él. La solución es el patrón "reactor". Twisted tiene implementaciones muy monas de "reactors" que permiten ejecutar el bucle de eventos de un GUI y a la vez tener una serie de entradas asíncronas, al estilo de g_main_loop() y los "io_channels" de glib. No sé si pygtk trae las io_channels, me da que no. A veces echo en falta en python algunas cosas de glib, aunque siempre hay otra manera de hacerlo. > Son validas las dos opciones y segun que escenario te sera mas comodo usar una > u otra. Deja que cada cual decida y no vallas creando prejuicios frente una u > otra opcion entre los usuarios de la lista. Esto no sé si lo dices por Darío o por mi. No me ha parecido que la intención de Darío fuese crear prejuicios y desde luego no es la mía. Yo aconsejo los bloqueantes porque por mi experiencia creo que dan menos problemas, pero ni mucho menos he dicho que esté mal usar no-bloqueantes. Creo que no es nada malo que cada uno dé su opinión y se contrasten experiencias. Creo que eso de que "cada cual decida" no encaja con la idea de una lista (opinión personal). Yo pregunto en la lista porque me fío de la experiencia de los demás, y un buen consejo a tiempo me puede ahorrar muchos dolores de cabeza. Saludos From dvilla en gmx.net Fri Jul 8 16:56:35 2005 From: dvilla en gmx.net (David Villa) Date: Fri, 08 Jul 2005 16:56:35 +0200 Subject: Ayuda!!!! In-Reply-To: <20050706190031.86266.qmail@web51101.mail.yahoo.com> References: <20050706190031.86266.qmail@web51101.mail.yahoo.com> Message-ID: <1120834595.6289.36.camel@amy> Hola: Si tienes un proxy web no hay problema, el proxy es para salir y tu quieres entrar. Si estás detrás de un router que hace NAT tienes que acceder a la configuración del router y mapear el puerto 80 hacia tu máquina. Si no tienes permiso para tocar el router lo único que puedes hacer es montar un túnel hacia una máquina externa como te han dicho. No resulta muy prometedor. Saludos. El mié, 06-07-2005 a las 12:00 -0700, Mauricio Zarceÿfffff1o escribió: > Tengo un problema, estoy intentando hacer un especie > de clon de no-ip, lo que intento hacer es subir una > pagina en un hosting gratis, y de ahi redireccionar a > mi maquina, el problema es que yo no tengo ip publica, > estoy detras de un proxy, lo que no se es como puedo > redireccionar hacia mi maquina, se que tengo que poner > la ip del proxy que es la que sale a internet, lo que > no es como poner despues para que sepa que tiene que > ir hasta mi maquina. > > > > __________________________________ > Yahoo! Mail for Mobile > Take Yahoo! Mail with you! Check email on your mobile phone. > http://mobile.yahoo.com/learn/mail > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > From csotelop en yahoo.es Fri Jul 8 18:08:21 2005 From: csotelop en yahoo.es (Carlos Eduardo Sotelo Pinto) Date: Fri, 8 Jul 2005 11:08:21 -0500 (CDT) Subject: (sin asunto) Message-ID: <20050708160821.70340.qmail@web26606.mail.ukl.yahoo.com> Hola lista Referente a los comentarios acerca del grupo de python de Mexico y Peru dados en esta lista, solo puedo opinar lo siguiente: las listas locales no estan hechas con la finalidad de excluir, tan solo de poder integrar a la gente segun su ubicacion geografica, y poder difundir en nuestras localidades estos topicos, participar de charlas, reuniones para conocernos personalmente, etc. Asi mismo, si es que estos estan oriengados a fines especificos no veo en que se pueda excluir a miembros, por asi decirlo si estoy interesado en en saber como unir dos cadenas, posteare a la lista de python, pero si deseo saber cuando se reunira el grupo de python de La Isla de guilligan debere postear un mensaje a dicha lista Para los interesados de la lista de python en Peru, aqui les mando los contactos, dicha lista fue proporcionada por el Grupo de Usuarios de GNU/Linux de Arequipa Dominio de Correo aqpglug.org.pe Correo de la Lista python-pe en aqpglug.org.pe Ayuda python-pe-help en aqpglug.org.pe Darse de Alta python-pe-subscribe en aqpglug.org.pe Darse de baja python-pe-unsubscribe en aqpglug.org.pe Un saludo Carlos Eduardo Sotelo Pinto Atentamente: Carlos Eduardo Sotelo Pinto --------------------------------- Grupo de Usuarios de Linux de Arequipa __________________________________________________ Correo Yahoo! Espacio para todos tus mensajes, antivirus y antispam ¡gratis! Regístrate ya - http://correo.espanol.yahoo.com/ From csotelop en yahoo.es Fri Jul 8 18:09:46 2005 From: csotelop en yahoo.es (Carlos Eduardo Sotelo Pinto) Date: Fri, 8 Jul 2005 11:09:46 -0500 (CDT) Subject: OT Listas de Peru y Mexico Message-ID: <20050708160946.12334.qmail@web26602.mail.ukl.yahoo.com> Hola lista Referente a los comentarios acerca del grupo de python de Mexico y Peru dados en esta lista, solo puedo opinar lo siguiente: las listas locales no estan hechas con la finalidad de excluir, tan solo de poder integrar a la gente segun su ubicacion geografica, y poder difundir en nuestras localidades estos topicos, participar de charlas, reuniones para conocernos personalmente, etc. Asi mismo, si es que estos estan oriengados a fines especificos no veo en que se pueda excluir a miembros, por asi decirlo si estoy interesado en en saber como unir dos cadenas, posteare a la lista de python, pero si deseo saber cuando se reunira el grupo de python de La Isla de guilligan debere postear un mensaje a dicha lista Para los interesados de la lista de python en Peru, aqui les mando los contactos, dicha lista fue proporcionada por el Grupo de Usuarios de GNU/Linux de Arequipa Dominio de Correo aqpglug.org.pe Correo de la Lista python-pe en aqpglug.org.pe Ayuda python-pe-help en aqpglug.org.pe Darse de Alta python-pe-subscribe en aqpglug.org.pe Darse de baja python-pe-unsubscribe en aqpglug.org.pe Un saludo Carlos Eduardo Sotelo Pinto Atentamente: Carlos Eduardo Sotelo Pinto --------------------------------- Grupo de Usuarios de Linux de Arequipa __________________________________________________ Correo Yahoo! Espacio para todos tus mensajes, antivirus y antispam ¡gratis! Regístrate ya - http://correo.espanol.yahoo.com/ From pan_python en yahoo.com.ar Fri Jul 8 21:03:25 2005 From: pan_python en yahoo.com.ar (Ariel Nardelli) Date: Fri, 08 Jul 2005 16:03:25 -0300 Subject: Redondeo Message-ID: <42CECDFD.5010504@yahoo.com.ar> Hola! Se que es una pavada pero no encuentro cual es la sentencia/funcion para hacer redondeo! Tengo campos que suman dinstintos importes y me generan muchos decimales y quiero redondear a 2 decimales y buscando no encuentro cual es el comando que lo hace... Alguien me tira una punta? Pido perdon, se que lo que pregunto es una reverendisima pavada... pero parece que este es el dia que no encuentro nada :( -- Saludos Panflin NO al limite de adsl de TELECOM Firma YA el petitorio NACIONAL para que TELECOM no nos estafe con el limite del ADSL, la direccion es: http://peticionbandaancha.com/ www.reconquista.com.ar From amphora en escomposlinux.org Fri Jul 8 21:13:03 2005 From: amphora en escomposlinux.org (Israel Gutierrez) Date: Fri, 8 Jul 2005 21:13:03 +0200 Subject: Redondeo In-Reply-To: <42CECDFD.5010504@yahoo.com.ar> References: <42CECDFD.5010504@yahoo.com.ar> Message-ID: <200507082113.07294.amphora@escomposlinux.org> El Viernes, 8 de Julio de 2005 21:03, Ariel Nardelli escribió: > Hola! > Se que es una pavada pero no encuentro cual es la sentencia/funcion para > hacer redondeo! ¿round? -- BOFH excuse #119: evil hackers from Serbia. ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: no disponible Type: application/pgp-signature Size: 189 bytes Desc: no disponible URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From pepe en diselpro.com Sat Jul 9 00:38:44 2005 From: pepe en diselpro.com (Pepe Aracil) Date: Sat, 09 Jul 2005 00:38:44 +0200 Subject: Redondeo In-Reply-To: <42CECDFD.5010504@yahoo.com.ar> References: <42CECDFD.5010504@yahoo.com.ar> Message-ID: <42CF0074.8040004@diselpro.com> Si solo quieres redondear para imprimir, utiliza las cadenas con formato. >>> "%2.2f" % 22.555 '22.55' >>> "%2.2f" % 22.556 '22.56' Salut. Ariel Nardelli wrote: > Hola! > Se que es una pavada pero no encuentro cual es la sentencia/funcion para > hacer redondeo! > Tengo campos que suman dinstintos importes y me generan muchos decimales > y quiero redondear a 2 decimales y buscando no encuentro cual es el > comando que lo hace... > > Alguien me tira una punta? > > Pido perdon, se que lo que pregunto es una reverendisima pavada... pero > parece que este es el dia que no encuentro nada :( > From jldalla en gmail.com Sat Jul 9 03:01:25 2005 From: jldalla en gmail.com (Jose Luis DALLAPICCOLA) Date: Fri, 8 Jul 2005 22:01:25 -0300 Subject: Editar datos en TreeView Message-ID: <40b558b30507081801904aa6d@mail.gmail.com> Hola. Una consulta sobre PyGTK. Estoy viendo de poder editar datos provenientes de una tabla en un TreeView. ¿Existe algún tipo de render para datos codificados, que provengan de otra tabla? Por ejemplo con un spin buttom y tener, a su derecha, un entry con la descripción de ese código (que se actualizaría por código-src al editar el campor del código). O, para otros casos, un combo box con, también, datos provenientes de otras tablas. Muchas gracias. Saludos, -- --- José Luis DALLAPICCOLA Cipolletti - RIO NEGRO Patagonia ARGENTINA From jpfuertes en gmail.com Sat Jul 9 04:51:13 2005 From: jpfuertes en gmail.com (Juampi) Date: Fri, 8 Jul 2005 23:51:13 -0300 Subject: Simple session web en python Message-ID: <247522d105070819512e458e62@mail.gmail.com> Hola, he realizado un pequeño modulo de sesión para python como practica de desarrollo en este lenguaje. Si alguien esta interesado en verlo se encuentra en http://sessionpy.blogspot.com/ Cualquier sugerencia, correción o crítica será agradecida!!!. From jpfuertes en gmail.com Sat Jul 9 06:04:22 2005 From: jpfuertes en gmail.com (Juampi) Date: Sat, 9 Jul 2005 01:04:22 -0300 Subject: Simple session web en python In-Reply-To: <247522d105070819512e458e62@mail.gmail.com> References: <247522d105070819512e458e62@mail.gmail.com> Message-ID: <247522d105070821045d305f02@mail.gmail.com> session en python se puede ver correctamte en juampi.com From pan_python en yahoo.com.ar Sat Jul 9 07:33:04 2005 From: pan_python en yahoo.com.ar (Ariel Nardelli) Date: Sat, 09 Jul 2005 02:33:04 -0300 Subject: Redondeo In-Reply-To: <42CF0074.8040004@diselpro.com> References: <42CECDFD.5010504@yahoo.com.ar> <42CF0074.8040004@diselpro.com> Message-ID: <42CF6190.1010307@yahoo.com.ar> Pepe Aracil wrote: > Si solo quieres redondear para imprimir, utiliza las cadenas con formato. > > > >>> "%2.2f" % 22.555 > '22.55' > >>> "%2.2f" % 22.556 > '22.56' > > > Salut. > > > > Ariel Nardelli wrote: > >> Hola! >> Se que es una pavada pero no encuentro cual es la sentencia/funcion >> para hacer redondeo! >> Tengo campos que suman dinstintos importes y me generan muchos >> decimales y quiero redondear a 2 decimales y buscando no encuentro >> cual es el comando que lo hace... >> >> Alguien me tira una punta? >> >> Pido perdon, se que lo que pregunto es una reverendisima pavada... >> pero parece que este es el dia que no encuentro nada :( >> > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es -- Saludos Panflin NO al limite de adsl de TELECOM Firma YA el petitorio NACIONAL para que TELECOM no nos estafe con el limite del ADSL, la direccion es: http://peticionbandaancha.com/ www.reconquista.com.ar From joepc74 en gmail.com Sat Jul 9 20:43:29 2005 From: joepc74 en gmail.com (JoePC) Date: Sat, 9 Jul 2005 20:43:29 +0200 Subject: gtk y thread Message-ID: <54af49c10507091143495a0a50@mail.gmail.com> Estoy haciendo una aplicacion con pygtk, y en ella hay un thread con un bucle infinito que ejecuta tareas periodicas y que tiene un time.sleep para que se pare un tiempo. El problema surge en que este thread solo se ejecuta cuando pincho algun boton de la ventana y por tanto pygtk ejecuta una funcion del codigo. Hay alguna solucion para que el thread se ejecute periodicamente sin que se tenga que jacer nada en la ventana? Gracias. From minoztro en gmail.com Mon Jul 11 00:40:01 2005 From: minoztro en gmail.com (Milton inostroza) Date: Sun, 10 Jul 2005 18:40:01 -0400 Subject: gtk y thread In-Reply-To: <54af49c10507091143495a0a50@mail.gmail.com> References: <54af49c10507091143495a0a50@mail.gmail.com> Message-ID: <172699c505071015404244fe0d@mail.gmail.com> haz probado poner la llamada al thread en el metodo __init__ de tu aplicación ?, porque lo que estás haciendo es conectar el thread a un callback los cuales siempre reaccionaran a algún evento de los objetos de pygtk El 9/07/05, JoePC escribió: > Estoy haciendo una aplicacion con pygtk, y en ella hay un thread con > un bucle infinito que ejecuta tareas periodicas y que tiene un > time.sleep para que se pare un tiempo. > El problema surge en que este thread solo se ejecuta cuando pincho > algun boton de la ventana y por tanto pygtk ejecuta una funcion del > codigo. > Hay alguna solucion para que el thread se ejecute periodicamente sin > que se tenga que jacer nada en la ventana? > > Gracias. > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > -- Milton Inostroza Aguilera From joepc74 en gmail.com Mon Jul 11 08:16:58 2005 From: joepc74 en gmail.com (JoePC) Date: Mon, 11 Jul 2005 08:16:58 +0200 Subject: gtk y thread In-Reply-To: <172699c505071015404244fe0d@mail.gmail.com> References: <54af49c10507091143495a0a50@mail.gmail.com> <172699c505071015404244fe0d@mail.gmail.com> Message-ID: <54af49c105071023162747f766@mail.gmail.com> No, el thread se ejecuta al inicio de la aplicacion. He conseguido arreglarlo con un gtk.threads_start() Pero el thread bloquea toda la ejecucion y eso que tiene un time.sleep(30). El 11/07/05, Milton inostroza escribió: > haz probado poner la llamada al thread en el metodo __init__ de tu > aplicación ?, porque lo que estás haciendo es conectar el thread a un > callback los cuales siempre reaccionaran a algún evento de los objetos > de pygtk > > El 9/07/05, JoePC escribió: > > Estoy haciendo una aplicacion con pygtk, y en ella hay un thread con > > un bucle infinito que ejecuta tareas periodicas y que tiene un > > time.sleep para que se pare un tiempo. > > El problema surge en que este thread solo se ejecuta cuando pincho > > algun boton de la ventana y por tanto pygtk ejecuta una funcion del > > codigo. > > Hay alguna solucion para que el thread se ejecute periodicamente sin > > que se tenga que jacer nada en la ventana? > > > > Gracias. > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es > > > > > -- > Milton Inostroza Aguilera > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > From ricardo en sinectis.com.ar Wed Jul 6 21:07:32 2005 From: ricardo en sinectis.com.ar (Ricardo Frydman) Date: Wed, 06 Jul 2005 16:07:32 -0300 Subject: Ayuda!!!! In-Reply-To: <20050706190031.86266.qmail@web51101.mail.yahoo.com> References: <20050706190031.86266.qmail@web51101.mail.yahoo.com> Message-ID: <42CC2BF4.9090005@sinectis.com.ar> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Mauricio Zarceÿfffff1o wrote: > Tengo un problema, estoy intentando hacer un especie > de clon de no-ip, lo que intento hacer es subir una > pagina en un hosting gratis, y de ahi redireccionar a > mi maquina, el problema es que yo no tengo ip publica, > estoy detras de un proxy, lo que no se es como puedo > redireccionar hacia mi maquina, se que tengo que poner > la ip del proxy que es la que sale a internet, lo que > no es como poner despues para que sepa que tiene que > ir hasta mi maquina. No te sirve ddclient? - -- Ricardo A.Frydman Consultor en Tecnología Open Source - Administrador de Sistemas jabber: eureka en jabber.sk - http://www.eureka-linux.com.ar SIP # 1-747-667-9534 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.1 (GNU/Linux) iD8DBQFCzCv0kw12RhFuGy4RAjadAJ9Oq2aeGy24964eTV3V13OujHX9lwCggU0M 6KhEA2iRquD9LEyikT5AMU8= =2nrx -----END PGP SIGNATURE----- From gabriel.garcia en isotrol.com Mon Jul 11 09:10:18 2005 From: gabriel.garcia en isotrol.com (gabri) Date: Mon, 11 Jul 2005 09:10:18 +0200 Subject: Consejos sobre entorno grafico Message-ID: <42D21B5A.5020602@isotrol.com> Hola: Soy muy nuevo en el mundo de python, y he estado haciendo mis "pinitos" pero ahora me ha entrado curiosidad por el entorno gráfico de python..pero hay un monton..tkinter, pmw, tix, pyGTK, pyQT, wxPython... Me gustaría que me aconsejarais sobre cual debería trabajar y el porqué, cosas a favor y en contra..según vuestra larga experiencia en este lenguaje cual de todos es más compatible con linux y a la vez con M$ windows. ¿Cual es el más adecuado? La lista es estupenda..muchas gracias a todos. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From pepe en diselpro.com Mon Jul 11 10:45:17 2005 From: pepe en diselpro.com (Pepe Aracil) Date: Mon, 11 Jul 2005 10:45:17 +0200 Subject: gtk y thread In-Reply-To: <54af49c10507091143495a0a50@mail.gmail.com> References: <54af49c10507091143495a0a50@mail.gmail.com> Message-ID: <42D2319D.4040401@diselpro.com> Porque no utilizas la función gtk.timeout_add, para realizar esas tareas periodicas? Ej. timeout = gtk.timeout_add(10,timer_cb) def timer_cb(self): print "Aqui pongo las tareas periodicas" return True ----- Salut. JoePC wrote: > Estoy haciendo una aplicacion con pygtk, y en ella hay un thread con > un bucle infinito que ejecuta tareas periodicas y que tiene un > time.sleep para que se pare un tiempo. > El problema surge en que este thread solo se ejecuta cuando pincho > algun boton de la ventana y por tanto pygtk ejecuta una funcion del > codigo. > Hay alguna solucion para que el thread se ejecute periodicamente sin > que se tenga que jacer nada en la ventana? > > Gracias. > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From py en ls-l.org Mon Jul 11 11:40:36 2005 From: py en ls-l.org (Chema Cortes) Date: Mon, 11 Jul 2005 11:40:36 +0200 Subject: Data pump en python Message-ID: <42D23E94.50806@ls-l.org> Necesito alguna utilidad para "Data Pump", o sea, pasar definiciones de datos (DDL) y datos entre servidores de datos heterogéneos (Oracle, Informix, MsSQLServer, Postgresql, MySQL,...). He encontrado algunas soluciones comerciales para windows que usan conexiones ODBC, pero no he sido capaz de encontrar ninguna solución implementada con software libre. ¿Sabéis si existe alguna solución hecha en python para este tipo de tarea, ya sea con odbc/ado ó, muchísimo mejor, empleando la db-api2 de python? From i92fredy en hotmail.com Mon Jul 11 11:53:32 2005 From: i92fredy en hotmail.com (=?iso-8859-1?B?QWxmcmVkbyBDYfFhZGFz?=) Date: Mon, 11 Jul 2005 11:53:32 +0200 Subject: Paralelismo en PyGTK Message-ID: Hola lista!! Tengo un problemilla desarrollando un programa con PyGTK. Tengo un menú que llama a una función, "Funcion1", y tengo otra función, "Función2". "Funcion2" es una ventanita que tiene una barra de progreso que se ejecuta, mejor dicho, se debería ejecutar mientras está en proceso "Funcion1" (esta tarda en ejecutarse unos 30 segundos). El problema que tengo es que no consigo que las 2 funciones se ejecuten en paralelo. ¿Alguna pistilla? From bameda en gmail.com Mon Jul 11 12:24:32 2005 From: bameda en gmail.com (bameda) Date: Mon, 11 Jul 2005 12:24:32 +0200 Subject: Paralelismo en PyGTK In-Reply-To: References: Message-ID: Si no me equivoco eso se realiza con funciones de tiempo ocioso o thread o algo por el estilo. Yo googleando encontre algo de informacion. Hechale un ojo a esta libreria (thread) en python y mira por los mensajes antiguos de la lista que habia algo sobre esto. Lamento no poder ayudarte mas. UN SALUDO PD.: Mira estas transparencias que tratan el tema aunque no en profundidad: http://gsyc.info/~barrera/documentos/cursos/pygtk_uc3m_nov2004.pdf El 11/07/05, Alfredo Cañadas escribió: > Hola lista!! > Tengo un problemilla desarrollando un programa con PyGTK. > Tengo un menú que llama a una función, "Funcion1", y tengo otra función, > "Función2". "Funcion2" es una ventanita que tiene una barra de progreso que > se ejecuta, mejor dicho, se debería ejecutar mientras está en proceso > "Funcion1" (esta tarda en ejecutarse unos 30 segundos). El problema que > tengo es que no consigo que las 2 funciones se ejecuten en paralelo. ¿Alguna > pistilla? > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > -- ____________________________________________ | | David Barragán Merino | E-mail: bameda en ARROBA@gmail.com | Ingeniería Informática | Universidad Carlos III Madrid |____________________________________________ From py en ls-l.org Mon Jul 11 13:03:14 2005 From: py en ls-l.org (Chema Cortes) Date: Mon, 11 Jul 2005 13:03:14 +0200 Subject: Consejos sobre entorno grafico In-Reply-To: <42D21B5A.5020602@isotrol.com> References: <42D21B5A.5020602@isotrol.com> Message-ID: <42D251F2.4040701@ls-l.org> gabri escribió: > Hola: > Soy muy nuevo en el mundo de python, y he estado haciendo mis "pinitos" > pero ahora me ha entrado curiosidad por el entorno gráfico de > python..pero hay un monton..tkinter, pmw, tix, pyGTK, pyQT, wxPython... > Me gustaría que me aconsejarais sobre cual debería trabajar y el porqué, > cosas a favor y en contra..según vuestra larga experiencia en este > lenguaje cual de todos es más compatible con linux y a la vez con M$ > windows. > ¿Cual es el más adecuado? > La lista es estupenda..muchas gracias a todos. Es un tema muy hablado en esta lista, por lo que no voy a añadir muchos detalles. Hay cuatro grandes grupos: -Tkinter/tix -pyGTK -pyQt -wxPython El Tkinter/Tix es el "estándar" de python. Suele ser suficiente para crear interfaces gráficos sin muchas ambiciones. Existen herramientas para diseño visual del interface, aunque algo complicadas de utilizar. Una crítica al tkinter es que da un interface algo vetusto, pero eso se resuelve con la extensión Tix. Esta extesión era problemática en windows, pero ahora ya viene instalada junto con el python. Una ventaja del tkinter es su veteranía (proviene del Tcl/Tk), por lo que tiene numerosas extensiones como el PMW ó el Tkinter3000. Fuera del Tkinter, la polémica "pyGTK vs pyQT vs wxPython" es muy frecuente. Hay pros y contras para cada uno de estos interface, con lo que es difícil darte una idea rápida de cada uno. Quizás destacaría que el wxpython tiene la ventaja de que utiliza el interface nativo gráfico del sistema operativo donde se ejecuta, lo que da un aspecto visual más integrado con el resto de aplicaciones nativas. Hay, sobre todo, dos temas a tener en cuenta: - Las licencias de uso y copia (léelas) - Las herramientas de diseño visual Dentro de las herramientas de diseño hay que diferenciar: - Las que crean el código python que luego hay que ajustar - Las que crean un fichero XML con el que se carga el interface gráfico En cuanto a licencias, las Qts tienen doble licencia de desarrollo que impedía hacer aplicaciones libres para windows. A partir de la nueva versión ya parece que no habrá problemas para crear aplicaciones GPL también para windows. En cuanto a herramientas según el toolkit: -Tkinter: specpython -pygtk: glade2 -pyQt: qtdesigner, eric -wxpyhthon: wxglade, boa-constructor, pythoncard Sin ánimo de entrar en polémicas, si tuviera que describir cada entorno con pocas palabra, sería así: -Tkinter: estándar y multiplataforma -pygtk: ideal para software libre -pyqt: entorno profesional -wxpython: muy popular en python From bameda en gmail.com Mon Jul 11 13:30:28 2005 From: bameda en gmail.com (bameda) Date: Mon, 11 Jul 2005 13:30:28 +0200 Subject: Consejos sobre entorno grafico In-Reply-To: <42D251F2.4040701@ls-l.org> References: <42D21B5A.5020602@isotrol.com> <42D251F2.4040701@ls-l.org> Message-ID: Para pequeñas aplicaciones que preferentemente corran en linux (especialmente en gnome o cualquier gestor de ventanas que use gtk) te recomiendo pyGTK + glade2 (o gazpacho) el problema de usar wxpython es que esta muy "normalizado" (limitado debido a la adaptabilidad siendo esta a su vez su mayor virtud si quieres portar tu programa). El tema de licencias como ya te an comentado es un factor a tener en cuenta. Googlea un poco, hay muchos manuales muy buenos. UN SALUDO El 11/07/05, Chema Cortes escribió: > gabri escribió: > > Hola: > > Soy muy nuevo en el mundo de python, y he estado haciendo mis "pinitos" > > pero ahora me ha entrado curiosidad por el entorno gráfico de > > python..pero hay un monton..tkinter, pmw, tix, pyGTK, pyQT, wxPython... > > Me gustaría que me aconsejarais sobre cual debería trabajar y el porqué, > > cosas a favor y en contra..según vuestra larga experiencia en este > > lenguaje cual de todos es más compatible con linux y a la vez con M$ > > windows. > > ¿Cual es el más adecuado? > > La lista es estupenda..muchas gracias a todos. > > Es un tema muy hablado en esta lista, por lo que no voy a añadir muchos > detalles. > > Hay cuatro grandes grupos: > > -Tkinter/tix > -pyGTK > -pyQt > -wxPython > > > El Tkinter/Tix es el "estándar" de python. Suele ser suficiente para > crear interfaces gráficos sin muchas ambiciones. Existen herramientas > para diseño visual del interface, aunque algo complicadas de utilizar. > > Una crítica al tkinter es que da un interface algo vetusto, pero eso se > resuelve con la extensión Tix. Esta extesión era problemática en > windows, pero ahora ya viene instalada junto con el python. > > Una ventaja del tkinter es su veteranía (proviene del Tcl/Tk), por lo > que tiene numerosas extensiones como el PMW ó el Tkinter3000. > > > Fuera del Tkinter, la polémica "pyGTK vs pyQT vs wxPython" es muy > frecuente. Hay pros y contras para cada uno de estos interface, con lo > que es difícil darte una idea rápida de cada uno. Quizás destacaría que > el wxpython tiene la ventaja de que utiliza el interface nativo gráfico > del sistema operativo donde se ejecuta, lo que da un aspecto visual más > integrado con el resto de aplicaciones nativas. > > Hay, sobre todo, dos temas a tener en cuenta: > - Las licencias de uso y copia (léelas) > - Las herramientas de diseño visual > > Dentro de las herramientas de diseño hay que diferenciar: > - Las que crean el código python que luego hay que ajustar > - Las que crean un fichero XML con el que se carga el interface gráfico > > > En cuanto a licencias, las Qts tienen doble licencia de desarrollo que > impedía hacer aplicaciones libres para windows. A partir de la nueva > versión ya parece que no habrá problemas para crear aplicaciones GPL > también para windows. > > En cuanto a herramientas según el toolkit: > -Tkinter: specpython > -pygtk: glade2 > -pyQt: qtdesigner, eric > -wxpyhthon: wxglade, boa-constructor, pythoncard > > > Sin ánimo de entrar en polémicas, si tuviera que describir cada entorno > con pocas palabra, sería así: > > -Tkinter: estándar y multiplataforma > -pygtk: ideal para software libre > -pyqt: entorno profesional > -wxpython: muy popular en python > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > -- ____________________________________________ | | David Barragán Merino | E-mail: bameda en ARROBA@gmail.com | Ingeniería Informática | Universidad Carlos III Madrid |____________________________________________ From dtrillo en gmail.com Mon Jul 11 13:48:48 2005 From: dtrillo en gmail.com (david _) Date: Mon, 11 Jul 2005 13:48:48 +0200 Subject: Zope Message-ID: <86b8f6b905071104483f7709c2@mail.gmail.com> Estoy leyendo cosas sobre Zope. Mi pregunta es acerca de la facilidad para crear sistemas de informacion, o sistemas de gestion, por si alguien tiene alguna experiencia y me puede comentar su vision sobre el tema! Un saludo: david From cruz_avilaf en hotmail.com Mon Jul 11 16:40:29 2005 From: cruz_avilaf en hotmail.com (Cruz Avila Fereira) Date: Mon, 11 Jul 2005 14:40:29 +0000 Subject: Llamar variable dentro de funcion desde un modulo diferente Message-ID: Saludos. Me encuentro iniciandome en el mundo de la programacion en python y me ha surgido la siguiente duda: estoy realizando un programa cgi que hace conexion con una base de datos postgresql, decidi implementar la conexion en un modulo aparte y cargarlo desde el modulo donde genero el codigo html. En este modulo de conexion, defino una funcion a la que ingreso los parametros usuario, contraseña, base de datos y query. El problema se me presenta cuando cargo el modulo de conexion desde el modulo que me genera el html, ya que cuando intento acceder a la variable que contiene el resultado de la busqueda. me produce un error (dice que el modulo en cuestion no tiene un atributo igual al nombre de la variable que estoy intentando recuperar). Muchas gracias de antemano por su respuesta. _________________________________________________________________ Descubre la descarga digital con MSN Music. Más de medio millón de canciones. http://music.msn.es/ From cescd en yahoo.com.mx Mon Jul 11 16:45:58 2005 From: cescd en yahoo.com.mx (Cesar Cardenas Desales) Date: Mon, 11 Jul 2005 09:45:58 -0500 (CDT) Subject: Llamar variable dentro de funcion desde un modulo diferente In-Reply-To: References: Message-ID: <20050711144559.68057.qmail@web50407.mail.yahoo.com> eso que estás intentando hacer es muy riesgoso, y además no es permitido por Python, ya que viola las reglas de encapsulamiento. La solución rápida(mas no recomendable) sería guardar los datos en una variable global en vez de una variable local dentro de una función. Lo más adecuado sería que la función tuviera como valor de retorno los datos que necesitas. --- Cruz Avila Fereira escribió: > Saludos. Me encuentro iniciandome en el mundo de la > programacion en python y > me ha surgido la siguiente duda: estoy realizando un > programa cgi que hace > conexion con una base de datos postgresql, decidi > implementar la conexion en > un modulo aparte y cargarlo desde el modulo donde > genero el codigo html. En > este modulo de conexion, defino una funcion a la que > ingreso los parametros > usuario, contraseña, base de datos y query. El > problema se me presenta > cuando cargo el modulo de conexion desde el modulo > que me genera el html, ya > que cuando intento acceder a la variable que > contiene el resultado de la > busqueda. me produce un error (dice que el modulo en > cuestion no tiene un > atributo igual al nombre de la variable que estoy > intentando recuperar). > Muchas gracias de antemano por su respuesta. > > _________________________________________________________________ > Descubre la descarga digital con MSN Music. Más de > medio millón de > canciones. http://music.msn.es/ > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > ___________________________________________________________ Do You Yahoo!? La mejor conexión a Internet y 2GB extra a tu correo por $100 al mes. http://net.yahoo.com.mx From gerardo en computo-industrial.com.mx Mon Jul 11 20:18:27 2005 From: gerardo en computo-industrial.com.mx (Gerardo Juarez) Date: Mon, 11 Jul 2005 14:18:27 -0400 (EDT) Subject: Llamar variable dentro de funcion desde un modulo diferente In-Reply-To: References: Message-ID: Si, mira, el asunto aqui es que mas que tener una variable a la que accedes en forma 'remota', deberias verlo como un modulo al que le preguntas por una propiedad o atributo, mediante una funcion de acceso. Si lo piensas como objeto es lo mismo: r = Rectangulo(100, 200) a = r.area() Quien sabe como se calcula el area, quien sabe que variables use, no importa. Obtienes lo que quieres, que es el area. De este modo tus puntos de conexion con el modulo (u objeto) estan aqui, en tu modulo. Si por un cambio de algoritmo requieres cambiar tu variable del modulo aquel, no tienes que cambiar tu codigo, solo el del modulo aquel. Mi humilde sugerencia seria seguir esta tecnica. saludos Gerardo On Mon, 11 Jul 2005, Cruz Avila Fereira wrote: > Saludos. Me encuentro iniciandome en el mundo de la programacion en python y > me ha surgido la siguiente duda: estoy realizando un programa cgi que hace > conexion con una base de datos postgresql, decidi implementar la conexion en > un modulo aparte y cargarlo desde el modulo donde genero el codigo html. En > este modulo de conexion, defino una funcion a la que ingreso los parametros > usuario, contraseña, base de datos y query. El problema se me presenta > cuando cargo el modulo de conexion desde el modulo que me genera el html, ya > que cuando intento acceder a la variable que contiene el resultado de la > busqueda. me produce un error (dice que el modulo en cuestion no tiene un > atributo igual al nombre de la variable que estoy intentando recuperar). > Muchas gracias de antemano por su respuesta. > > _________________________________________________________________ > Descubre la descarga digital con MSN Music. Más de medio millón de > canciones. http://music.msn.es/ > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > From miuler en gmail.com Mon Jul 11 21:02:31 2005 From: miuler en gmail.com (Hector Miuler Malpica Gallegos) Date: Mon, 11 Jul 2005 14:02:31 -0500 Subject: CPSWiki Message-ID: <1121108552.9215.27.camel@localhost> Hola amigos, quisiera saber si alguien sabe manejar este wiki, ya que no puedo ni crear una tabla, no se en que se basa, pegue un ejemplo de wikipedia, de zwiki, de xwiki y ninguno me funciona, alguna idea? en que se basa cpsWiki? donde encuentro como usar este wiki, ¿existe alguna herramienta visual para cpswiki? Les agradezco cualquier sugerencia o comentario, gracias. _\|/_ (O-O) --oOO-(_)-OOo---------------------------------------- Hector Miuler Malpica Gallegos Universidad Nacional del Callao - Peru Escuela de Ingenieria Electronica Jabber miuler en jabber.org usuario registrado #308608 ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From muspellheim en gmail.com Tue Jul 12 15:35:21 2005 From: muspellheim en gmail.com (muspellheim) Date: Tue, 12 Jul 2005 15:35:21 +0200 Subject: problema con print Message-ID: <42D3C719.4000107@gmail.com> buenas tardes lista!! a ver, un tema. Uso el comando print de esta forma: print "compilando... ", poniendo la coma al final, para que despues de realizar las operaciones, si no ha habido error poner un print "OK" Para q al final me quede por pantalla algo así (en la misma linea): compilando... OK El problema es q me escribe la linea al final y a la vez, me explico. print "compilando... ", if os.system("make"): #Imaginemos que tarda media hora el compilar print "ERROR" else: print "OK" En vez de poner: compilando... (y despues de media hora) OK ocurre q saca por pantalla (despues de media hora) compilando... OK y da la sensación como que se atasca el programa en vez de que sigue trabajando (he dicho sensación, ojo, q el programa sigue ejecutándose correctamente) Espero haberme explicado bien. Alguien sabe como solucionarlo?? Creo q una solución cutre sería poner un os.system("echo -n 'compilando... '") if os.system("make"): os.system("echo 'ERROR'") else: os.system("echo 'OK'") pero me interesaría mas si hay alguna forma de hacer esto directamente con python Un saludo ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From jjdelcerromurciano en yahoo.es Tue Jul 12 16:11:43 2005 From: jjdelcerromurciano en yahoo.es (Joaquin Jose del Cerro Murciano) Date: Tue, 12 Jul 2005 16:11:43 +0200 Subject: problema con print In-Reply-To: <42D3C719.4000107@gmail.com> References: <42D3C719.4000107@gmail.com> Message-ID: <200507121611.43333.jjdelcerromurciano@yahoo.es> El Martes, 12 de Julio de 2005 15:35, muspellheim escribió: > buenas tardes lista!! > > a ver, un tema. Uso el comando print de esta forma: > print "compilando... ", > poniendo la coma al final, para que despues de realizar las operaciones, > si no ha habido error poner un > print "OK" > > Para q al final me quede por pantalla algo así (en la misma linea): > compilando... OK > > El problema es q me escribe la linea al final y a la vez, me explico. > print "compilando... ", > if os.system("make"): #Imaginemos que tarda media hora el compilar > print "ERROR" > else: > print "OK" > > En vez de poner: > compilando... (y despues de media hora) OK > ocurre q saca por pantalla > (despues de media hora) compilando... OK > y da la sensación como que se atasca el programa en vez de que sigue > trabajando (he dicho sensación, ojo, q el programa sigue ejecutándose > correctamente) > > Espero haberme explicado bien. Alguien sabe como solucionarlo?? > > Creo q una solución cutre sería poner un > os.system("echo -n 'compilando... '") > if os.system("make"): > os.system("echo 'ERROR'") > else: > os.system("echo 'OK'") > pero me interesaría mas si hay alguna forma de hacer esto directamente > con python > > Un saludo o Hola, la solucion es simple, solo pensar que la salida standard, que es la que el "print" usa por defecto va buffereada, y el buffer se vuelca al dispositivo, cuando llega un salto de linea ('\n') o cuando se hace un flush de forma explicita. Aclarado esto, simplemente tienes que llamar a sys.stdout.flush() en el sitio apropiado. Yo normalmente lo suelo hacer asi: sys.stdout.write("compilando... ") sys.stdout.flush() if os.system("make"): #Imaginemos que tarda media hora el compilar sys.stdout.write("ERROR\n") else: sys.stdout.write("OK\n") Pero podrias usar prints y simplemente añadir la linea del flush tras cada print que acabe en una "," (sin salto de linea). A mi me dio una vez un dolor de cabeza con los prints y por eso cuando tengo que hacer un flush uso stdout.write, pero creo que es una mania fruto de alguna ralladura mia. Un saludo Joaquin. ______________________________________________ Renovamos el Correo Yahoo! Nuevos servicios, más seguridad http://correo.yahoo.es From Facundo.Batista en telefonicamoviles.com.ar Tue Jul 12 16:10:56 2005 From: Facundo.Batista en telefonicamoviles.com.ar (Batista, Facundo) Date: Tue, 12 Jul 2005 11:10:56 -0300 Subject: problema con print Message-ID: <55018DD359F5B147861F150F4689161E0BA5B2F2@escont.tcp.com.ar> [muspellheim en gmail.com] #- a ver, un tema. Uso el comando print de esta forma: #- print "compilando... ", #- poniendo la coma al final, para que despues de realizar las #- operaciones, #- si no ha habido error poner un #- print "OK" #- #- Para q al final me quede por pantalla algo así (en la misma linea): #- compilando... OK #- #- El problema es q me escribe la linea al final y a la vez, me explico. El tema es que Python no le dice al sistema que sí o sí imprima la linea hasta que no terminó de armarla. Como pones la coma al final, y tiene que seguir con la linea, no fuerza que se muestre. Si realmente lo quieres hacer, tienes que hacerlo a mano. Ejecuta el siguiente código y verás: ------------------- import sys, time print "Uno", time.sleep(2) print "Dos" print "Uno", sys.stdout.flush() time.sleep(2) print "Dos" ------------------- Slds. . Facundo Bitácora De Vuelo: http://www.taniquetil.com.ar/plog PyAr - Python Argentina: http://www.python.org/ar/ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ADVERTENCIA. La información contenida en este mensaje y cualquier archivo anexo al mismo, son para uso exclusivo del destinatario y pueden contener información confidencial o propietaria, cuya divulgación es sancionada por la ley. Si Ud. No es uno de los destinatarios consignados o la persona responsable de hacer llegar este mensaje a los destinatarios consignados, no está autorizado a divulgar, copiar, distribuir o retener información (o parte de ella) contenida en este mensaje. Por favor notifíquenos respondiendo al remitente, borre el mensaje original y borre las copias (impresas o grabadas en cualquier medio magnético) que pueda haber realizado del mismo. Todas las opiniones contenidas en este mail son propias del autor del mensaje y no necesariamente coinciden con las de Telefónica Comunicaciones Personales S.A. o alguna empresa asociada. Los mensajes electrónicos pueden ser alterados, motivo por el cual Telefónica Comunicaciones Personales S.A. no aceptará ninguna obligación cualquiera sea el resultante de este mensaje. Muchas Gracias. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From muspellheim en gmail.com Tue Jul 12 16:36:48 2005 From: muspellheim en gmail.com (muspellheim) Date: Tue, 12 Jul 2005 16:36:48 +0200 Subject: problema con print In-Reply-To: <55018DD359F5B147861F150F4689161E0BA5B2F2@escont.tcp.com.ar> References: <55018DD359F5B147861F150F4689161E0BA5B2F2@escont.tcp.com.ar> Message-ID: <42D3D580.8010200@gmail.com> muchas gracias!! el sys.stdout.flush() es justo lo que buscaba Un saludo ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From rapto en arrakis.es Tue Jul 12 19:46:24 2005 From: rapto en arrakis.es (Marcos =?ISO-8859-1?Q?S=E1nchez?= Provencio) Date: Tue, 12 Jul 2005 19:46:24 +0200 Subject: problema con print In-Reply-To: <42D3C719.4000107@gmail.com> References: <42D3C719.4000107@gmail.com> Message-ID: <1121190384.5832.1.camel@localhost.localdomain> Aparte de lo que te han contestado, ya por completitud, si arrancas con 'python -u' no se usa buffer de entrada ni salida, así que te ahorras los flush. El mar, 12-07-2005 a las 15:35 +0200, muspellheim escribió: > buenas tardes lista!! > > a ver, un tema. Uso el comando print de esta forma: > print "compilando... ", > poniendo la coma al final, para que despues de realizar las operaciones, > si no ha habido error poner un > print "OK" > > Para q al final me quede por pantalla algo así (en la misma linea): > compilando... OK > > El problema es q me escribe la linea al final y a la vez, me explico. > print "compilando... ", > if os.system("make"): #Imaginemos que tarda media hora el compilar > print "ERROR" > else: > print "OK" > > En vez de poner: > compilando... (y despues de media hora) OK > ocurre q saca por pantalla > (despues de media hora) compilando... OK > y da la sensación como que se atasca el programa en vez de que sigue > trabajando (he dicho sensación, ojo, q el programa sigue ejecutándose > correctamente) > > Espero haberme explicado bien. Alguien sabe como solucionarlo?? > > Creo q una solución cutre sería poner un > os.system("echo -n 'compilando... '") > if os.system("make"): > os.system("echo 'ERROR'") > else: > os.system("echo 'OK'") > pero me interesaría mas si hay alguna forma de hacer esto directamente > con python > > Un saludo > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From zootv en myrealbox.com Tue Jul 12 23:25:56 2005 From: zootv en myrealbox.com (ZooTV) Date: Tue, 12 Jul 2005 17:25:56 -0400 Subject: Paso de Variables entre funciones y Clases. Message-ID: Hola a todos. Estoy haciendo un programa y me encuentro con un problema que todavía no logro dar con una solución. El cuento es el siguiente: Tengo una serie de programas que se llaman entre sí y necesito que entre ellos se pasen algunos valores. Para la construcción del programa, estoy usando BoaConstructor. El caso es que no entiendo cómo hacer que python use un valor definido en el principal, de manera que este valor sea usado siempre en los otros programas. El esquema seria más o menos el siguiente: principal.py KILO = 1 clase1 def a def b llamo a programa1 def c .... programa1.py clase2 def a aca debo saber que KILO = 1 def b def c .... Entiendo que algunos me puden indicar que lo pase como parámetros, pero cuando uno necesita definir muchas cosas del tipo KILO para ser usados en distintas partes del programa, no me parece que la solución sea pasarlos todos como parámetros. La idea no es devatir si boa es bueno o no, quiero saber si existe una solución decente para mi problema. Gracias. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From pepe en diselpro.com Tue Jul 12 23:46:11 2005 From: pepe en diselpro.com (Pepe Aracil) Date: Tue, 12 Jul 2005 23:46:11 +0200 Subject: Paso de Variables entre funciones y Clases. In-Reply-To: References: Message-ID: <42D43A23.2010006@diselpro.com> Lo de los programas que se llaman entre si, se podria solucionar con módulos. Se puede solucionar el problema de las variables globales entre módulos usando un módulo contenedor. Ej. globales.py: #!/usr/bin/python user="Juan" pass="pass" -- a.py: #!/usr/bin/python import globales def print_globales(): print globales.user,globales.pass -- principal.py: #!/usr/bin/python import globales,a a.print_globales() globales.user="Pedro" globales.pass="passss" a.print_globales() --- Saludos. ZooTV wrote: > Hola a todos. > > Estoy haciendo un programa y me encuentro con un problema que > todavía no logro dar con una solución. El cuento es el siguiente: > > Tengo una serie de programas que se llaman entre sí y necesito que > entre ellos se pasen algunos valores. Para la construcción del > programa, estoy usando BoaConstructor. > El caso es que no entiendo cómo hacer que python use un valor definido > en el principal, de manera que este valor sea usado siempre en los > otros programas. El esquema seria más o menos el siguiente: > > principal.py > > KILO = 1 > > clase1 > def a > def b > llamo a programa1 > def c > .... > > programa1.py > clase2 > def a > aca debo saber que KILO = 1 > def b > def c > .... > > Entiendo que algunos me puden indicar que lo pase como parámetros, pero > cuando uno necesita definir muchas cosas del tipo KILO para ser usados > en distintas partes del programa, no me parece que la solución sea > pasarlos todos como parámetros. > La idea no es devatir si boa es bueno o no, quiero saber si existe una > solución decente para mi problema. > > Gracias. > > > ------------------------------------------------------------------------ > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From dvilla en gmx.net Wed Jul 13 08:48:58 2005 From: dvilla en gmx.net (David Villa) Date: Wed, 13 Jul 2005 08:48:58 +0200 Subject: problema con print In-Reply-To: <55018DD359F5B147861F150F4689161E0BA5B2F2@escont.tcp.com.ar> References: <55018DD359F5B147861F150F4689161E0BA5B2F2@escont.tcp.com.ar> Message-ID: <1121237338.6708.7.camel@amy> El mar, 12-07-2005 a las 11:10 -0300, Batista, Facundo escribió: > [muspellheim en gmail.com] > > El tema es que Python no le dice al sistema que sí o sí imprima la linea > hasta que no terminó de armarla. Como pones la coma al final, y tiene que > seguir con la linea, no fuerza que se muestre. No se trata de algo exclusivo de Python, esto también ocurre en C o C++, por poner un caso. Es una buena manera de evitar más operaciones de E/S de las necesarias. Saludos From i92fredy en hotmail.com Wed Jul 13 11:39:15 2005 From: i92fredy en hotmail.com (=?iso-8859-1?B?QWxmcmVkbyBDYfFhZGFz?=) Date: Wed, 13 Jul 2005 11:39:15 +0200 Subject: Sistema de archivos y modulos Message-ID: Hola lista!! Tengo un sistema de archivos como sigue: Practicas Primero Segundo Principal Principal.py Funciones1 funciones1.py Funciones2 funciones2.py Lo que pretendo hacer, es incluir los módulos de las funciones funciones1.py y funciones2.py. Lo he intentado de varias maneras: form Funciones1/funciones.py import * o con dirección absoluta, pero no lo consigo. Debe haber alguna manera para conseguirlo ... Gracias a tod en s From py en ls-l.org Wed Jul 13 12:33:16 2005 From: py en ls-l.org (Chema Cortes) Date: Wed, 13 Jul 2005 12:33:16 +0200 Subject: Sistema de archivos y modulos In-Reply-To: References: Message-ID: <42D4EDEC.3020201@ls-l.org> Alfredo Cañadas escribió: > Hola lista!! > Tengo un sistema de archivos como sigue: > > Practicas > Primero > Segundo > Principal > Principal.py > Funciones1 > funciones1.py > Funciones2 > funciones2.py > > Lo que pretendo hacer, es incluir los módulos de las funciones > funciones1.py y funciones2.py. Lo he intentado de varias maneras: > form Funciones1/funciones.py import * > o con dirección absoluta, pero no lo consigo. Debe haber alguna > manera para conseguirlo ... Gracias a tod en s Tal como lo haces, estás armando lo que se entiende como un "paquete" (package). En los directorios Funciones1 y Funciones2 debería existir un fichero llamado "__init__.py". Pueden estar vacío, pero es recomendable que expongas el interface a través del atributo "__all__" para que no te importe cosas que no quieras durante el "for import *". Mira la documentación. Si no entiendes algo nos lo dices. From i92fredy en hotmail.com Wed Jul 13 13:01:46 2005 From: i92fredy en hotmail.com (=?iso-8859-1?B?QWxmcmVkbyBDYfFhZGFz?=) Date: Wed, 13 Jul 2005 13:01:46 +0200 Subject: Sistema de archivos y modulos In-Reply-To: <42D4EDEC.3020201@ls-l.org> References: <42D4EDEC.3020201@ls-l.org> Message-ID: Perdona mi desconocimiento, pero no me entero de nada. ¿Quieres decir que cree un archivo llamado "__init.py__" que esté vacío? Quedaría esto: Practicas Primero Segundo Principal Principal.py Funciones1 __init.py__ funciones1.py Funciones2 __init.py__ funciones2.py >From: Chema Cortes >Reply-To: La lista de python en castellano >To: La lista de python en castellano >Subject: Re: [Python-es] Sistema de archivos y modulos >Date: Wed, 13 Jul 2005 12:33:16 +0200 > >Alfredo Cañadas escribió: > > Hola lista!! > > Tengo un sistema de archivos como sigue: > > > > Practicas > > Primero > > Segundo > > Principal > > Principal.py > > Funciones1 > > funciones1.py > > Funciones2 > > funciones2.py > > > > Lo que pretendo hacer, es incluir los módulos de las funciones > > funciones1.py y funciones2.py. Lo he intentado de varias maneras: > > form Funciones1/funciones.py import * > > o con dirección absoluta, pero no lo consigo. Debe haber alguna > > manera para conseguirlo ... Gracias a tod en s > >Tal como lo haces, estás armando lo que se entiende como un "paquete" >(package). En los directorios Funciones1 y Funciones2 debería existir un >fichero llamado "__init__.py". Pueden estar vacío, pero es recomendable >que expongas el interface a través del atributo "__all__" para que no te >importe cosas que no quieras durante el "for import *". > >Mira la documentación. Si no entiendes algo nos lo dices. >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es From i92fredy en hotmail.com Wed Jul 13 13:08:10 2005 From: i92fredy en hotmail.com (=?iso-8859-1?B?QWxmcmVkbyBDYfFhZGFz?=) Date: Wed, 13 Jul 2005 13:08:10 +0200 Subject: Paralelismo en PyGTK In-Reply-To: References: Message-ID: Hola lista!! Tengo un problemilla desarrollando un programa con PyGTK. Tengo un menú que llama a una función, "Funcion1", y tengo otra función, "Función2". "Funcion2" es una ventanita que tiene una barra de progreso que se ejecuta, mejor dicho, se debería ejecutar mientras está en proceso "Funcion1" (esta tarda en ejecutarse unos 30 segundos). El problema que tengo es que no consigo que las 2 funciones se ejecuten en paralelo. ¿Alguna pistilla? En la lista ya me recomendaron que usara "threads", y en ello estoy. Tengo lo siguiente: def Ventana1(self, widget, entradaArchivoAMarcar, entradaArchivoMarcas, entradaNodos, entradaArchivoXslt, entradaArchivoSalida): hilo1 = Thread (group=None, target=self.barraProgreso, name=None, args=(self, widget), kwargs={}) hilo1.run() hilo2 = Thread (group=None, target=self.irContinuar, name=None, args=(widget, entradaArchivoAMarcar, entradaArchivoMarcas, entradaNodos, entradaArchivoXslt, entradaArchivoSalida), kwargs={}) hilo2.run() Y la cosa funciona ... vamos, como antes. Que no sale la ventanita de progreso hasta que no termina el proceso 2. ¿En qué me puedo estar equivocando? From lcatalin en siadv.com Wed Jul 13 13:26:58 2005 From: lcatalin en siadv.com (Catalin Lungu) Date: Wed, 13 Jul 2005 13:26:58 +0200 Subject: =?iso-8859-1?q?OT__Modulo_conexi=F3n_PostgreSQL?= Message-ID: <001701c5879d$c8808bd0$c801a8c0@catalin> Hola, Hace poco pregunte por una comparación entre postgre, mysql, berkleydb. No vi la versión 8 de postgre y por eso le puse pegas. Pero por lo que leí hasta ahora parece que es la que mas se adapta a lo que necesito. Ahora para conectar desde Python que modulo podría usar. El pypgsql no funciona en Python2.4 que tengo instalado. Hay algún otro para esta versión? Muchas gracias. From bameda en gmail.com Wed Jul 13 13:45:23 2005 From: bameda en gmail.com (bameda) Date: Wed, 13 Jul 2005 13:45:23 +0200 Subject: Paralelismo en PyGTK In-Reply-To: References: Message-ID: Yo lo hice importando la libreria "gobject". esta posee una funcion denominada "gobject.idle_add( function, {param})". Te explico, mi idea era hacer una aplicacion que me alertara cuando mi lavadora acabase de realizar la colada (menuda chorrada), pues bien, yo debia de realizar una especie de contador hacia atras y cuando este llegase a 0 sonara una melodia. Pero yo queria que cuando el contador estubiese andando el programa no se me quedase congelado. Pues bien, cree una funcion: //////// def lavando(self, z): t = self.get_time() if (self.actual_time == t): return True; else : self.actualice_actual_time(t) s = self.get_washing_machine_timestart() r = self.get_washing_machine_timeremaind() if (r == 0): self.play_alarm_lava() self.msg("Tu ropa ya esta mareada del todo (y humecta)!!") return False; # ya no nos llaman mas else: d = self.rest_times(t, s) print (d) r = self.get_preferences_washing_machine_timeremaind() r = self.rest_times(r, d) # print (t, s, d, r) self.put_value_on_washing_machine_timeremain(r) return True; # siguen llamandonos /////// y luego, cuando puñsasemos el boton de start esto se realizaria como si fuese un bucle hasta que devolviera false. Esto queda plasmado en la siguiente funcion: /////// def on_botton1_clicked(self,widget): t = self.put_value_on_washing_machine_start_and_stop() v = self.get_preferences_washing_machine_timeremaind() self.put_value_on_dryer_timeremain(v) gobject.idle_add(self.lavando, ()) /////// Esto me lo comentaron en esta lista, A continuacion te pongo el mail que mande y la contestacion por si el ejemplo que a mi me pusieron te resulta mas comodo de entender(seguro que si) **********Mi email *********************** Hola en primer lugar saludar a toda la lista ya que soy nuevo en ella, este es mi primer mensaje y espero que entre todos encontremos una solución. Trataré de explicarme lo mejor que pueda: Estoy iniciandome en python y tras haberme leído algún que otro manual y haber asistido a alguna que otra charla (concretamente a 2, una de programacion en python y otra de python + GTK) decidí hacer mi primera aplicación gráfica. Algo facilito pensé y como en ese momento estada dedicandome a una lavor doméstica que todos los que estudiamos fuera de casa padecemos (me refiero a hacer la colada) pues decidi hacer una aplicación que me alertara cuando la lavadora acabara y extenderlo a la secadora. Pues bien, sabiendo el tiempo de duración de ambos cacharros, buscando dos archivitos de audio molones yn tirando algunas lineas de código parecia que todo era pan comido. Instalé Glade para currarme el tema del GTK y tire mi código que aparentemente tira bien. Para reproducir el archivo de audio use el mpg321. Mi algoritmo de la aplicación es muy sencillo: en primer lugar obtengo la hora de inicio al pulsar al boton de comenzar, le sumo el tiempo que tarda la lavadora en dejar mi ropa limpita y muestro ambos tiempos en mi aplicación. Simultaneamente una tupla, que contiene la h, min y seg que utiliza la lavadora, va disminuyendo segundo a segundo. Para ello voy leyendo (con un bucle) la hora actual y cuando varía un seg con la anterior esta tupla se modifica. Así hasta que llegue a 0 que será cuando suene la alarma avisandonos de que ya podemos ir a meter la ropa a la secadora. Pues bien, mi problema es que los campos en mi aplicación gráfica no se actualizan hasta el fina, aunque yo dentro del bucle el contador hacia atrás lo actualizo en cada iteración, y además durante la ejecución de el bucle no puedo hacer nada más. No puedo, por ejemplo crear un boton que me interrumpa el bucle. Mi pregunta es ¿cómo puedo implementar mi búcle para que me actualice la informacion en cada iteración? y ¿cómo puedo hacer para que esta función se ejecute en "segundo plano"?. Haber si alguin me puede iluminar o conducirme hacia un poco de documentación que me resuelva mis dudas. Aquí os dejo la función en discordia y algo más de código: class GUI: def __init__(self): def start_preferences(self): def get_time(self): def play_alarm_lava(self): def play_alarm_seca(self): def add_times(self, t1, t2): def rest_times(self, t1, t2): def put_value_on_secadora_start_and_stop(self): def put_value_on_secadora_timeremain(self, t1, t2, t3): if (self.secadora_entry_timeremaind_heure.get_text() != t1): self.secadora_entry_timeremaind_heure.set_text(str(t1)) if (self.secadora_entry_timeremaind_minute.get_text() != t2): self.secadora_entry_timeremaind_minute.set_text(str(t2)) if (self.secadora_entry_timeremaind_second.get_text() != t3): self.secadora_entry_timeremaind_second.set_text(str(t3)) def put_value_on_lavadora_start_and_stop(self): def put_value_on_lavadora_timeremain(self, t1, t2, t3): # Widgets actions def on_window_destroy(self, widget): def on_botton3_clicked(self,widget): t = self.put_value_on_secadora_start_and_stop() # Da la hora de inicio además v = int(self.preferences_entry_secadora_timeremaind_heure.get_text()), int(self.preferences_entry_secadora_timeremaind_minute.get_text()), int(self.preferences_entry_secadora_timeremaind_second.get_text()) self.put_value_on_secadora_timeremain(v[0], v[1], v[2]) fin = 'false' while(fin == 'false' ): oldt = t t = self.get_time() d = self.rest_times(t, oldt) v = self.rest_times(v, d) if (v[2] == 0 ): if( v [1] == 0): if( v [0] ==0 ): fin = 'true' print (v) if (d[2] > 0): self.put_value_on_secadora_timeremain(v[0], v[1], v[2]) self.play_alarm_seca() def on_botton1_clicked(self,widget): if (__name__ == "__main__"): gui = GUI() gtk.main() Gracias de antemano. Un saludo. ******************************************** **********Contyestacion***************** Hola David, para lo que tu quieres yo usaria las funciones idle (funciones ociosas). GTK+ llama a estas funciones siempre que no tenga nada mejor que hacer. Asi, puedes usar una de estas funciones para comprobar si tu lavadora ya ha terminado de lavar la ropa. Algo como esto: import pygtk pygtk.require('2.0') import gtk import gobject import time # esto es lo que tarda tu super lavadora INTERVALO_TIEMPO = 60 * 5 # 5 minutos # funcion de ayuda para mostrar un cuadro de dialogo def msg(text): d = gtk.MessageDialog(None, gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT, gtk.MESSAGE_WARNING, gtk.BUTTONS_OK, text) d.run() d.destroy() gtk.main_quit() # funcion que se llama constantemente para comprobar si ha pasado el tiempo def comprueba_tiempo(hora_limite): hora_actual = time.time() if hora_limite < hora_actual: msg("Tu ropa se esta pudriendo!!!") return False # ya no nos llaman mas return True # siguen llamandonos if __name__ == '__main__': w = gtk.Window() w.connect('destroy', gtk.main_quit) label = gtk.Label('Lavando la ropa...') w.add(label) w.show_all() hora_limite = time.time() + INTERVALO_TIEMPO # instalo la funcion ociosa gobject.idle_add(comprueba_tiempo, hora_limite) gtk.main() Como ves en el codigo, si tu funcion idle devuelve True, GTK la seguira llamando. Si devuelve False, ya no la llamara mas. Como ves, el ejemplo es muy sencillo, pero explica lo de las funciones idle que creo que es lo que mas te conviene en este caso. Un saludo Lorenzo -- Lorenzo Gil Sanchez ******************************************** Bueno despues de esta parrafada espero haberte ayudado en la medida de lo posible. UN SALUDO -- ____________________________________________ | | David Barragán Merino | E-mail: bameda en ARROBA@gmail.com | Ingeniería Informática | Universidad Carlos III Madrid |____________________________________________ From jldalla en gmail.com Wed Jul 13 13:59:39 2005 From: jldalla en gmail.com (Jose Luis DALLAPICCOLA) Date: Wed, 13 Jul 2005 08:59:39 -0300 Subject: Sistema de archivos y modulos In-Reply-To: References: <42D4EDEC.3020201@ls-l.org> Message-ID: <40b558b305071304595f1db073@mail.gmail.com> No se mucho del caso, pero buscando en www.python.org he encontrado http://www.python.org/doc/2.4/tut/node8.html#SECTION008400000000000000000 Supongo que es eso lo que necesitás. Saludos, El 13/07/05, Alfredo Cañadas escribió: > Perdona mi desconocimiento, pero no me entero de nada. ¿Quieres > decir que cree un archivo llamado "__init.py__" que esté vacío? Quedaría > esto: > Practicas > Primero > Segundo > Principal > Principal.py > Funciones1 > __init.py__ > funciones1.py > Funciones2 > __init.py__ > funciones2.py > > > > >From: Chema Cortes > >Reply-To: La lista de python en castellano > >To: La lista de python en castellano > >Subject: Re: [Python-es] Sistema de archivos y modulos > >Date: Wed, 13 Jul 2005 12:33:16 +0200 > > > >Alfredo Cañadas escribió: > > > Hola lista!! > > > Tengo un sistema de archivos como sigue: > > > > > > Practicas > > > Primero > > > Segundo > > > Principal > > > Principal.py > > > Funciones1 > > > funciones1.py > > > Funciones2 > > > funciones2.py > > > > > > Lo que pretendo hacer, es incluir los módulos de las funciones > > > funciones1.py y funciones2.py. Lo he intentado de varias maneras: > > > form Funciones1/funciones.py import * > > > o con dirección absoluta, pero no lo consigo. Debe haber alguna > > > manera para conseguirlo ... Gracias a tod en s > > > >Tal como lo haces, estás armando lo que se entiende como un "paquete" > >(package). En los directorios Funciones1 y Funciones2 debería existir un > >fichero llamado "__init__.py". Pueden estar vacío, pero es recomendable > >que expongas el interface a través del atributo "__all__" para que no te > >importe cosas que no quieras durante el "for import *". > > > >Mira la documentación. Si no entiendes algo nos lo dices. > >_______________________________________________ > >Python-es mailing list > >Python-es en aditel.org > >http://listas.aditel.org/listinfo/python-es > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > -- --- José Luis DALLAPICCOLA Cipolletti - RIO NEGRO Patagonia ARGENTINA From py en ls-l.org Wed Jul 13 14:32:49 2005 From: py en ls-l.org (Chema Cortes) Date: Wed, 13 Jul 2005 14:32:49 +0200 Subject: Sistema de archivos y modulos In-Reply-To: References: Message-ID: <42D509F1.8030305@ls-l.org> Alfredo Cañadas escribió: > Perdona mi desconocimiento, pero no me entero de nada. ¿Quieres > decir que cree un archivo llamado "__init.py__" que esté vacío? Quedaría > esto: > Practicas > Primero > Segundo > Principal > Principal.py > Funciones1 > __init.py__ > funciones1.py > Funciones2 > __init.py__ > funciones2.py > Con éso bastaría. Pero sospecho que, tal vez, lo que quieres es no llegar a tener que hacer paquetes, tan sólo cargar los módulos desde un lugar "arbitrario". Para éllo hay que alterar la ruta por defecto de donde se cargan los módulos: import sys sys.path[0:0]=["Funciones1","Funciones2"] Cuando hay que buscar módulos, los primeros lugares donde irá será siempre a los dos directorios que hemos insertados. A veces, para una importación puntual, lo mejor es emplear el módulo 'imp' para así no alterar las rutas de búsqueda por defecto. Aquí te dejo una función que haría eso mismo: def MyImport(name, relpaths): import imp,os abspaths=[os.path.abspath(p) from p in relpaths] fp,pathname,description = imp.find_module(name,abspaths) try: return imp.load_module(name, fp, pathname, description) finally: if fp: fp.close() relpaths=["Funciones1","Funciones2"] funciones1=MyImport("funciones1", relpaths) From py en ls-l.org Wed Jul 13 14:39:12 2005 From: py en ls-l.org (Chema Cortes) Date: Wed, 13 Jul 2005 14:39:12 +0200 Subject: OT Modulo =?ISO-8859-1?Q?conexi=F3n_PostgreSQ?= =?ISO-8859-1?Q?L?= In-Reply-To: <001701c5879d$c8808bd0$c801a8c0@catalin> References: <001701c5879d$c8808bd0$c801a8c0@catalin> Message-ID: <42D50B70.8040407@ls-l.org> Catalin Lungu escribió: > Hace poco pregunte por una comparación entre postgre, mysql, berkleydb. No vi la versión 8 de postgre y por eso le puse pegas. Pero por lo que leí hasta ahora parece que es la que mas se adapta a lo que necesito. > Ahora para conectar desde Python que modulo podría usar. El pypgsql no funciona en Python2.4 que tengo instalado. Hay algún otro para esta versión? Prueba con el psycopg[0]. En mi blog[1] hice una comparativa en cuanto a manejo de blobs, y es el único que me funcionó como debía ser. [0]http://initd.org/projects/psycopg1 [1]http://ch3m4.org/blog/index.php/py/2005/01/24/manejo_de_blobs_con_postgresql From i92fredy en hotmail.com Wed Jul 13 17:37:02 2005 From: i92fredy en hotmail.com (=?iso-8859-1?B?QWxmcmVkbyBDYfFhZGFz?=) Date: Wed, 13 Jul 2005 17:37:02 +0200 Subject: Paralelismo en PyGTK In-Reply-To: References: Message-ID: He probado con eso que me dices, y sigue sin funcionarme. Vamos, que hace lo mismo. Mi problema me parece que es con las ventanas, para poder observar varias simultaneamente no encuentro una solución. Lo que ocurre es que hasta que no se me ejecuta la función principal, no se me empieza a ejecutar la secundaria (la barra de progreso). Gracias >From: bameda >Reply-To: La lista de python en castellano >To: La lista de python en castellano >Subject: Re: [Python-es] Paralelismo en PyGTK >Date: Wed, 13 Jul 2005 13:45:23 +0200 > >Yo lo hice importando la libreria "gobject". esta posee una funcion >denominada "gobject.idle_add( function, {param})". > >Te explico, mi idea era hacer una aplicacion que me alertara cuando mi >lavadora acabase de realizar la colada (menuda chorrada), pues bien, >yo debia de realizar una especie de contador hacia atras y cuando este >llegase a 0 sonara una melodia. Pero yo queria que cuando el contador >estubiese andando el programa no se me quedase congelado. Pues bien, >cree una funcion: > >//////// > def lavando(self, z): > t = self.get_time() > if (self.actual_time == t): > return True; > else : > self.actualice_actual_time(t) > s = self.get_washing_machine_timestart() > r = self.get_washing_machine_timeremaind() > if (r == 0): > self.play_alarm_lava() > self.msg("Tu ropa ya esta mareada del todo (y humecta)!!") > return False; # ya no nos llaman mas > else: > d = self.rest_times(t, s) > print (d) > r = self.get_preferences_washing_machine_timeremaind() > r = self.rest_times(r, d) > # print (t, s, d, r) > self.put_value_on_washing_machine_timeremain(r) > return True; # siguen llamandonos >/////// > >y luego, cuando puñsasemos el boton de start esto se realizaria como >si fuese un bucle hasta que devolviera false. Esto queda plasmado en >la siguiente funcion: > >/////// >def on_botton1_clicked(self,widget): > t = self.put_value_on_washing_machine_start_and_stop() > v = self.get_preferences_washing_machine_timeremaind() > self.put_value_on_dryer_timeremain(v) > gobject.idle_add(self.lavando, ()) >/////// > >Esto me lo comentaron en esta lista, A continuacion te pongo el mail >que mande y la contestacion por si el ejemplo que a mi me pusieron te >resulta mas comodo de entender(seguro que si) > >**********Mi email *********************** >Hola en primer lugar saludar a toda la lista ya que soy nuevo en ella, >este es mi primer mensaje y espero que entre todos encontremos una >solución. Trataré de explicarme lo mejor que pueda: > >Estoy iniciandome en python y tras haberme leído algún que otro manual >y haber asistido a alguna que otra charla (concretamente a 2, una de >programacion en python y otra de python + GTK) decidí hacer mi primera >aplicación gráfica. Algo facilito pensé y como en ese momento estada >dedicandome a una lavor doméstica que todos los que estudiamos fuera >de casa padecemos (me refiero a hacer la colada) pues decidi hacer una >aplicación que me alertara cuando la lavadora acabara y extenderlo a >la secadora. > >Pues bien, sabiendo el tiempo de duración de ambos cacharros, buscando >dos archivitos de audio molones yn tirando algunas lineas de código >parecia que todo era pan comido. > >Instalé Glade para currarme el tema del GTK y tire mi código que >aparentemente tira bien. Para reproducir el archivo de audio use el >mpg321. Mi algoritmo de la aplicación es muy sencillo: en primer lugar >obtengo la hora de inicio al pulsar al boton de comenzar, le sumo el >tiempo que tarda la lavadora en dejar mi ropa limpita y muestro ambos >tiempos en mi aplicación. Simultaneamente una tupla, que contiene la >h, min y seg que utiliza la lavadora, va disminuyendo segundo a >segundo. Para ello voy leyendo (con un bucle) la hora actual y cuando >varía un seg con la anterior esta tupla se modifica. Así hasta que >llegue a 0 que será cuando suene la alarma avisandonos de que ya >podemos ir a meter la ropa a la secadora. > >Pues bien, mi problema es que los campos en mi aplicación gráfica no >se actualizan hasta el fina, aunque yo dentro del bucle el contador >hacia atrás lo actualizo en cada iteración, y además durante la >ejecución de el bucle no puedo hacer nada más. No puedo, por ejemplo >crear un boton que me interrumpa el bucle. > >Mi pregunta es ¿cómo puedo implementar mi búcle para que me actualice >la informacion en cada iteración? y ¿cómo puedo hacer para que esta >función se ejecute en "segundo plano"?. Haber si alguin me puede >iluminar o conducirme hacia un poco de documentación que me resuelva >mis dudas. > >Aquí os dejo la función en discordia y algo más de código: > >class GUI: > def __init__(self): > def start_preferences(self): > def get_time(self): > def play_alarm_lava(self): > def play_alarm_seca(self): > def add_times(self, t1, t2): > def rest_times(self, t1, t2): > def put_value_on_secadora_start_and_stop(self): > def put_value_on_secadora_timeremain(self, t1, t2, t3): > if (self.secadora_entry_timeremaind_heure.get_text() != t1): > self.secadora_entry_timeremaind_heure.set_text(str(t1)) > if (self.secadora_entry_timeremaind_minute.get_text() != t2): > self.secadora_entry_timeremaind_minute.set_text(str(t2)) > if (self.secadora_entry_timeremaind_second.get_text() != t3): > self.secadora_entry_timeremaind_second.set_text(str(t3)) > def put_value_on_lavadora_start_and_stop(self): > def put_value_on_lavadora_timeremain(self, t1, t2, t3): > # Widgets actions > def on_window_destroy(self, widget): > def on_botton3_clicked(self,widget): > t = self.put_value_on_secadora_start_and_stop() # Da la hora >de inicio además > v = >int(self.preferences_entry_secadora_timeremaind_heure.get_text()), >int(self.preferences_entry_secadora_timeremaind_minute.get_text()), >int(self.preferences_entry_secadora_timeremaind_second.get_text()) > self.put_value_on_secadora_timeremain(v[0], v[1], v[2]) > fin = 'false' > while(fin == 'false' ): > oldt = t > t = self.get_time() > d = self.rest_times(t, oldt) > v = self.rest_times(v, d) > if (v[2] == 0 ): > if( v [1] == 0): > if( v [0] ==0 ): > fin = 'true' > print (v) > if (d[2] > 0): > self.put_value_on_secadora_timeremain(v[0], v[1], v[2]) > self.play_alarm_seca() > > def on_botton1_clicked(self,widget): >if (__name__ == "__main__"): > gui = GUI() > gtk.main() > > >Gracias de antemano. Un saludo. >******************************************** > >**********Contyestacion***************** >Hola David, > >para lo que tu quieres yo usaria las funciones idle (funciones ociosas). >GTK+ llama a estas funciones siempre que no tenga nada mejor que hacer. >Asi, puedes usar una de estas funciones para comprobar si tu lavadora ya >ha terminado de lavar la ropa. Algo como esto: > >import pygtk >pygtk.require('2.0') >import gtk >import gobject >import time > ># esto es lo que tarda tu super lavadora >INTERVALO_TIEMPO = 60 * 5 # 5 minutos > ># funcion de ayuda para mostrar un cuadro de dialogo >def msg(text): > d = gtk.MessageDialog(None, > gtk.DIALOG_MODAL | >gtk.DIALOG_DESTROY_WITH_PARENT, > gtk.MESSAGE_WARNING, > gtk.BUTTONS_OK, > text) > d.run() > d.destroy() > gtk.main_quit() > ># funcion que se llama constantemente para comprobar si ha pasado el >tiempo >def comprueba_tiempo(hora_limite): > hora_actual = time.time() > if hora_limite < hora_actual: > msg("Tu ropa se esta pudriendo!!!") > return False # ya no nos llaman mas > > return True # siguen llamandonos > >if __name__ == '__main__': > w = gtk.Window() > w.connect('destroy', gtk.main_quit) > > label = gtk.Label('Lavando la ropa...') > w.add(label) > w.show_all() > > hora_limite = time.time() + INTERVALO_TIEMPO > # instalo la funcion ociosa > gobject.idle_add(comprueba_tiempo, hora_limite) > > gtk.main() > > >Como ves en el codigo, si tu funcion idle devuelve True, GTK la seguira >llamando. Si devuelve False, ya no la llamara mas. > >Como ves, el ejemplo es muy sencillo, pero explica lo de las funciones >idle que creo que es lo que mas te conviene en este caso. > >Un saludo > >Lorenzo >-- >Lorenzo Gil Sanchez > >******************************************** > >Bueno despues de esta parrafada espero haberte ayudado en la medida de >lo posible. > >UN SALUDO > >-- >____________________________________________ >| >| David Barragán Merino >| E-mail: bameda en ARROBA@gmail.com >| Ingeniería Informática >| Universidad Carlos III Madrid >|____________________________________________ >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es From jcea en argo.es Wed Jul 13 19:02:33 2005 From: jcea en argo.es (Jesus Cea) Date: Wed, 13 Jul 2005 19:02:33 +0200 Subject: Nueva =?iso-8859-1?q?versi=F3n_de_PyTrek?= Message-ID: <42D54929.9060800@argo.es> Nueva versión de PyTrek: PyTrek-20050713-Zaragoza. Disponible en http://www.argo.es/~jcea/programacion/pytrek.htm Los cambios son: >>>>> PyTrek-20050713-Zaragoza: (19Kbytes) Esta versión añade una pestaña adicional, "Astro", que muestra diversa información sobre el sol: * Alba: Hora y minuto en el que empieza a verse claridad en el horizonte. * Orto: Hora y minuto en la que aparece el primer rayo de sol. Se muestra, entre paréntesis, el azimuth del sol en ese instante. * Tránsito: Hora y minuto en el que el sol pasa por el meridiano local, que es el momento en que está más alto en el cielo. Entre paréntesis se indica la elevación del sol sobre el horizonte. * Ocaso: Hora y minuto en el que desaparece el último rayo de sol. No se muestra el azimuth en ese momento porque es igual a 360-azimuth del orto. * Crepúsculo: Hora y minuto en el que desaparece la luz del sol. Ya no hay luz suficiente para leer en el exterior. * Posición: Se muestra el azimuth y la elevación del sol en este preciso instante. La información de salida y puesta del sol es útil a la hora de planificar una excursión. La información de posición es útil a la hora de orientarse sin brújula. Toda esta información se calcula en función de la fecha, hora y posición GPS actual del observador. La precisión de los datos es mejor de cinco minutos, si bien los cálculos suponen que estamos a nivel del mar, o en una meseta más o menos llana. Se tiene en cuenta la refracción en la atmósfera, para el orto y el ocaso, y los tiempos del alba y el crepúsculo se dan para una posición del sol seis grados por debajo del horizonte (crepúsculo civil). ATENCIÓN: El programa *NO* funcionará correctamente dentro del círculo polar ártico y antártico. ATENCIÓN: Todas las horas se muestran respecto a la hora GMT. En España, hay que sumar una hora en invierno y dos horas cuando estamos en horario de verano, para ajustar el horario mostrado al tiempo civil español. <<<<< -- Jesus Cea Avion _/_/ _/_/_/ _/_/_/ jcea en argo.es http://www.argo.es/~jcea/ _/_/ _/_/ _/_/ _/_/ _/_/ _/_/ _/_/ _/_/_/_/_/ PGP Key Available at KeyServ _/_/ _/_/ _/_/ _/_/ _/_/ "Things are not so easy" _/_/ _/_/ _/_/ _/_/ _/_/ _/_/ "My name is Dump, Core Dump" _/_/_/ _/_/_/ _/_/ _/_/ "El amor es poner tu felicidad en la felicidad de otro" - Leibniz From palao en decsai.ugr.es Wed Jul 13 19:13:42 2005 From: palao en decsai.ugr.es (=?ISO-8859-1?Q?Francisco_Carlos_Palao_Rein=E9s?=) Date: Wed, 13 Jul 2005 19:13:42 +0200 Subject: pygtk: Coloreando TreeViews Message-ID: <42D54BC6.1030605@decsai.ugr.es> Tengo un Treeview para mostrar una jerarquia de objetos y me gustaría poder pintar cada uno de los elementos (filas) que aparecen en el treeview de un color distinto según el tipo de objeto. ¿Se puede hacer? Hasta ahora solo he conseguido cambiar el color de toda la columna (mediante las propiedades del cellrenderer) pero cada vez que cambio el color de la columna afecta a todas las filas de esta. Si alguien sabe como cambiar el color de las distintas filas o elementos en un mismo cellrenderer que me diga cómo, gracias! Fco Palao. From snmartin en galilea.cl Wed Jul 13 19:15:38 2005 From: snmartin en galilea.cl (Fernando San =?ISO-8859-1?Q?Mart=EDn?= Woerner) Date: Wed, 13 Jul 2005 13:15:38 -0400 Subject: pygtk: Coloreando TreeViews In-Reply-To: <42D54BC6.1030605@decsai.ugr.es> References: <42D54BC6.1030605@decsai.ugr.es> Message-ID: <1121274938.13408.3.camel@localhost.localdomain> tal vez te sirva el pango-markup http://www.pygtk.org/pygtk2tutorial/sec-CellRenderers.html#sec-CellRendererTextMarkup saludos El mié, 13-07-2005 a las 19:13 +0200, Francisco Carlos Palao Reinés escribió: > Tengo un Treeview para mostrar una jerarquia de objetos y me gustaría > poder pintar cada uno de los elementos (filas) que aparecen en el > treeview de un color distinto según el tipo de objeto. ¿Se puede hacer? > Hasta ahora solo he conseguido cambiar el color de toda la columna > (mediante las propiedades del cellrenderer) pero cada vez que cambio el > color de la columna afecta a todas las filas de esta. > > Si alguien sabe como cambiar el color de las distintas filas o elementos > en un mismo cellrenderer que me diga cómo, gracias! > > Fco Palao. > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es -- Fernando San Martín Woerner Jefe de Informática Galilea S.A. From palao en decsai.ugr.es Wed Jul 13 20:24:47 2005 From: palao en decsai.ugr.es (=?ISO-8859-1?Q?Francisco_Carlos_Palao_Rein=E9s?=) Date: Wed, 13 Jul 2005 20:24:47 +0200 Subject: pygtk: Coloreando TreeViews In-Reply-To: <1121274938.13408.3.camel@localhost.localdomain> References: <42D54BC6.1030605@decsai.ugr.es> <1121274938.13408.3.camel@localhost.localdomain> Message-ID: <42D55C6F.9010709@decsai.ugr.es> Si, parece que me sirve! Muchas gracias :-) Fco Palao Fernando San Martín Woerner wrote: >tal vez te sirva el pango-markup > >http://www.pygtk.org/pygtk2tutorial/sec-CellRenderers.html#sec-CellRendererTextMarkup > >saludos > >El mié, 13-07-2005 a las 19:13 +0200, Francisco Carlos Palao Reinés >escribió: > > >>Tengo un Treeview para mostrar una jerarquia de objetos y me gustaría >>poder pintar cada uno de los elementos (filas) que aparecen en el >>treeview de un color distinto según el tipo de objeto. ¿Se puede hacer? >>Hasta ahora solo he conseguido cambiar el color de toda la columna >>(mediante las propiedades del cellrenderer) pero cada vez que cambio el >>color de la columna afecta a todas las filas de esta. >> >>Si alguien sabe como cambiar el color de las distintas filas o elementos >>en un mismo cellrenderer que me diga cómo, gracias! >> >>Fco Palao. >>_______________________________________________ >>Python-es mailing list >>Python-es en aditel.org >>http://listas.aditel.org/listinfo/python-es >> >> From cruz_avilaf en hotmail.com Wed Jul 13 21:28:44 2005 From: cruz_avilaf en hotmail.com (Cruz Avila Fereira) Date: Wed, 13 Jul 2005 19:28:44 +0000 Subject: Conexion Python-Oracle 8i Message-ID: Saludos. Me encuentro trabajando en un programa en Python que debe incluir la conexion a una base de datos Oracle 8i. Baje el cx_oracle 4.1 para windows, oracle 8i y python 2.3 y lo instale en mi maquina, pero al intentar importar por la linea de comandos el modulo cx_oracle, me aparece el error:Traceback (most recent call last): File "", line 1, in -toplevel- import cx_Oracle ImportError: DLL load failed: No se encontró el proceso especificado. copie el modulo cx_oracle.pyd a la carpeta lib de python23, pero no consigo la causa del error. Mucho les agradeceria su orientacion al respecto.... _________________________________________________________________ Moda para esta temporada. Ponte al día de todas las tendencias. http://www.msn.es/Mujer/moda/default.asp From kortux en gmail.com Wed Jul 13 22:16:45 2005 From: kortux en gmail.com (Miguel Angel Guerrero) Date: Wed, 13 Jul 2005 15:16:45 -0500 Subject: Problemas Instalacion Python en Debian Message-ID: Saludos Listeros Alguien de casualidad a tenido problemas con la actualizacion de python en debian, ya que despues de intentar pasar los paquetes de mi sarge de abril, a los de stable, se me a reventado el python, y ya e intentado actulizarlo con los de testing, incluso con los de unstable, pero en todas se me a reventado, el error se da en la compilacion de los modulos y en todos es como el siguiente, me disculpo por el texto agregado (es una parte del error solo puse lo que crei necesario), gracias desde ahora. Desempaquetando python (de .../python_2.3.5-2_all.deb) ... Configurando python2.3 (2.3.5-3) ... Compiling python modules in /usr/lib/python2.3 ... Compiling /usr/lib/python2.3/site-packages/vb2py/vb/converter/python/frmMain.py ... File "/usr/lib/python2.3/site-packages/vb2py/vb/converter/python/frmMain.py", line 21 def cmdFromFile_Click(self ): ^ SyntaxError: invalid syntax /usr/lib/python2.3/site-packages/vb2py/vbconstants.py:148: FutureWarning: hex/oct constants > sys.maxint will return positive values in Python 2.4 and up vbScrollBars = 0x80000000 # Scroll bar color /usr/lib/python2.3/site-packages/vb2py/vbconstants.py:149: FutureWarning: hex/oct constants > sys.maxint will return positive values in Python 2.4 and up vbDesktop = 0x80000001 # Desktop color /usr/lib/python2.3/site-packages/vb2py/vbconstants.py:150: FutureWarning: hex/oct constants > sys.maxint will return positive values in Python 2.4 and up vbActiveTitleBar = 0x80000002 # Color of the title bar for the active window /usr/lib/python2.3/site-packages/vb2py/vbconstants.py:151: FutureWarning: hex/oct constants > sys.maxint will return positive values in Python 2.4 and up vbInactiveTitleBar = 0x80000003 # Color of the title bar for the inactive window From pepe en diselpro.com Wed Jul 13 23:23:22 2005 From: pepe en diselpro.com (Pepe Aracil) Date: Wed, 13 Jul 2005 23:23:22 +0200 Subject: Problemas Instalacion Python en Debian In-Reply-To: References: Message-ID: <42D5864A.6030600@diselpro.com> Opciones: 1) Intenta corregir el SyntaxError en la linea 21 de frmMain.py. 2) Desinstala el vb2py, haz el apt-get upgrade e instala la última versión de vb2py (si hay alguna más reciente) 3) Mueve temporalmente el directorio vb2py a otro lugar e intenta otra vez el apt-get upgrade. Yo me decanto por la opción 1 ;-D Salud. Miguel Angel Guerrero wrote: > Saludos Listeros > > Alguien de casualidad a tenido problemas con la actualizacion de > python en debian, ya que despues de intentar pasar los paquetes de mi > sarge de abril, a los de stable, se me a reventado el python, y ya e > intentado actulizarlo con los de testing, incluso con los de unstable, > pero en todas se me a reventado, el error se da en la compilacion de > los modulos y en todos es como el siguiente, me disculpo por el texto > agregado (es una parte del error solo puse lo que crei necesario), > gracias desde ahora. > > Desempaquetando python (de .../python_2.3.5-2_all.deb) ... > Configurando python2.3 (2.3.5-3) ... > Compiling python modules in /usr/lib/python2.3 ... > Compiling /usr/lib/python2.3/site-packages/vb2py/vb/converter/python/frmMain.py > ... > File "/usr/lib/python2.3/site-packages/vb2py/vb/converter/python/frmMain.py", > line 21 > def cmdFromFile_Click(self ): > ^ > SyntaxError: invalid syntax > > /usr/lib/python2.3/site-packages/vb2py/vbconstants.py:148: > FutureWarning: hex/oct constants > sys.maxint will return positive > values in Python 2.4 and up > vbScrollBars = 0x80000000 # Scroll bar color > /usr/lib/python2.3/site-packages/vb2py/vbconstants.py:149: > FutureWarning: hex/oct constants > sys.maxint will return positive > values in Python 2.4 and up > vbDesktop = 0x80000001 # Desktop color > /usr/lib/python2.3/site-packages/vb2py/vbconstants.py:150: > FutureWarning: hex/oct constants > sys.maxint will return positive > values in Python 2.4 and up > vbActiveTitleBar = 0x80000002 # Color of the title bar for the active window > /usr/lib/python2.3/site-packages/vb2py/vbconstants.py:151: > FutureWarning: hex/oct constants > sys.maxint will return positive > values in Python 2.4 and up > vbInactiveTitleBar = 0x80000003 # Color of the title bar for the > inactive window > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From pepe en diselpro.com Wed Jul 13 23:27:51 2005 From: pepe en diselpro.com (Pepe Aracil) Date: Wed, 13 Jul 2005 23:27:51 +0200 Subject: Conexion Python-Oracle 8i In-Reply-To: References: Message-ID: <42D58757.7070605@diselpro.com> Supongo que tendrás que instalar la biblioteca cliente de oracle 8i. cx_oracle es solo un envoltorio dbapi de esta biblioteca. Salud. Cruz Avila Fereira wrote: > Saludos. Me encuentro trabajando en un programa en Python que debe > incluir la conexion a una base de datos Oracle 8i. Baje el cx_oracle 4.1 > para windows, oracle 8i y python 2.3 y lo instale en mi maquina, pero al > intentar importar por la linea de comandos el modulo cx_oracle, me > aparece el error:Traceback (most recent call last): > File "", line 1, in -toplevel- > import cx_Oracle > ImportError: DLL load failed: No se encontró el proceso especificado. > copie el modulo cx_oracle.pyd a la carpeta lib de python23, pero no > consigo la causa del error. Mucho les agradeceria su orientacion al > respecto.... > > _________________________________________________________________ > Moda para esta temporada. Ponte al día de todas las tendencias. > http://www.msn.es/Mujer/moda/default.asp > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From kortux en gmail.com Thu Jul 14 00:53:33 2005 From: kortux en gmail.com (Miguel Angel Guerrero) Date: Wed, 13 Jul 2005 17:53:33 -0500 Subject: problemas Instalacion Python en Debian (Resuelto) Message-ID: El problema se soluciono borrando el directorio que contenia el modulo vb2py -- Atte: ------------------------------------ Miguel Angel Guerrero Usuario GNU/Linux Registrado #353531 Webmaster Escuela de Gobierno Tomas Moro http://www.tomasmoro.net ------------------------------------ From lcatalin en siadv.com Thu Jul 14 09:34:12 2005 From: lcatalin en siadv.com (Catalin Lungu) Date: Thu, 14 Jul 2005 09:34:12 +0200 Subject: =?iso-8859-1?Q?Re:_=5BPython-es=5D_OT__Modulo_conexi=F3n_PostgreSQL?= References: <001701c5879d$c8808bd0$c801a8c0@catalin> <42D50B70.8040407@ls-l.org> Message-ID: <007601c58846$6e692540$c801a8c0@catalin> Hola Chema, Otra vez yo. No creo que soy de capz de instalar el modulo psycopg, aunque me he leido las instrucciones. En la ultima linea despues de ejecutar el setup.py me da un error The .NET Framework SDK needs to be installed before building extensions for Python. Me he bajado e instalado el dotnetfx.exe versión 2 aunque lo tenia ya instalado pero tampoco funciona. También dentro del setup.py he cambiado la ruta hacia la base de datos. Estoy trabajando en WinXP. Muchas gracias, Catalin From gabriel.garcia en isotrol.com Wed Jul 13 08:33:19 2005 From: gabriel.garcia en isotrol.com (gabri) Date: Wed, 13 Jul 2005 08:33:19 +0200 Subject: Consejos sobre entorno grafico Message-ID: <42D4B5AF.3070609@isotrol.com> Hola: Muchas gracias por vuestros consejos (Bameda y Chema), creo que ahora estoy más orientado en este tema y lo tengo más claro. Me voy a poner a mirar el tema de las licencias no vaya a ser que después de hacer la aplicación me lleve un susto, jeje. Sólo por curiosidad..con cual trabajais vosotros??(normalmente). Un saludo y muchas gracias por vuestro tiempo. ;) ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From rpuerta en siporltda.com Tue Jul 12 18:54:27 2005 From: rpuerta en siporltda.com (Roberto Puerta) Date: Tue, 12 Jul 2005 11:54:27 -0500 Subject: =?ISO-8859-1?Q?=22Dise=F1o=22_para_facturas_o_similar?= Message-ID: <200507121654.j6CGsWqm070305@web.enred-usa.com> ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From py en ls-l.org Thu Jul 14 11:11:51 2005 From: py en ls-l.org (Chema Cortes) Date: Thu, 14 Jul 2005 11:11:51 +0200 Subject: OT Modulo =?ISO-8859-1?Q?conexi=F3n_PostgreSQ?= =?ISO-8859-1?Q?L?= In-Reply-To: <007601c58846$6e692540$c801a8c0@catalin> References: <001701c5879d$c8808bd0$c801a8c0@catalin> <42D50B70.8040407@ls-l.org> <007601c58846$6e692540$c801a8c0@catalin> Message-ID: <42D62C57.8050304@ls-l.org> Catalin Lungu escribió: > Hola Chema, > Otra vez yo. No creo que soy de capz de instalar el modulo psycopg, > aunque me he leido las instrucciones. En la ultima linea despues de > ejecutar el setup.py me da un error The .NET Framework SDK needs to be > installed before building extensions for Python. Me he bajado e > instalado el dotnetfx.exe versión 2 aunque lo tenia ya instalado pero > tampoco funciona. También dentro del setup.py he cambiado la ruta hacia > la base de datos. Estoy trabajando en WinXP. No sé para qué quiere el .NET Framework ya que no lo creo necesario. Los binarios para windows los tienes en: http://www.stickpeople.com/projects/python/psycopg/ Utiliza la versión 1.1.18: http://www.stickpeople.com/projects/python/psycopg/win-psycopg24-pg8.0.zip From lcatalin en siadv.com Thu Jul 14 11:30:57 2005 From: lcatalin en siadv.com (Catalin Lungu) Date: Thu, 14 Jul 2005 11:30:57 +0200 Subject: =?iso-8859-1?Q?Re:_=5BPython-es=5D_OT__Modulo_conexi=F3n_PostgreSQL?= References: <001701c5879d$c8808bd0$c801a8c0@catalin><42D50B70.8040407@ls-l.org> <007601c58846$6e692540$c801a8c0@catalin> <42D62C57.8050304@ls-l.org> Message-ID: <000701c58856$be335f90$d900a8c0@catalin> Muchas gracias Chema. Me has sido de gran ayuda. Ya me pondré a hacer pruebas a ver como va la Postgre. Saludos, Catalin From py en ls-l.org Thu Jul 14 15:59:54 2005 From: py en ls-l.org (Chema Cortes) Date: Thu, 14 Jul 2005 15:59:54 +0200 Subject: Un estudio sobre la iteracion sobre un cursor Message-ID: <42D66FDA.5080305@ls-l.org> Estoy trabajando con el adodbapi (DB-API2), y buscaba una manera elegante para "iterar" sobre los resultados de una query para traspasar los datos entre bases de datos. Aunque algunos módulos ofrecen iteradores, en la DB-API2 no existe ninguna facilidad "explícita" para iterar. Por tanto se me había ocurrido hacer algo así: con_ori=adodbapi.connect(DSN1) con_des=adodbapi.connect(DSN2) cur_ori=con.cursor() cur_des=con.cursor() cur_ori.execute(query1) for res in iter(cur.fetchone,None): cur_des.execute(query2, res) con_ori.close() con_des.close() Pensando en que daría mejor redimiento utilizar el .fetchmany/.executemany cambié el código a lo siguiente: ... ... for res in iter(cur_ori.fetchmany,()): cur_des.executemany(query2,res) ... Pero me encontré con el problema de que el .fetchmany, según la DB-API2, debería devolver una secuencia vacía, sin especificar si esta secuencia es una tupla, una lista ó el qué. Como consecuencia, no es fiable emplear la función iter(). Además me encuentro con un fallo del .fetchmany del adodbapi que devuelte None cuando el .arraysize es 1. Sin poner un "testigo" fiable en iter() es muy probable que éste acabe entrando en un bucle infinito. Solución: emplear el 'takewhile' del 'itertools'. Así quedaría el código final: from itertools import takewhile ... ... for res in takewhile(bool,iter(cur_ori.fetchmany,None)): cur_des.executemany(query2,res) ... Es un iterador con una doble comprobación del resultado, pero en el fondo funciona bastante bien. ¿Os parece muy enrevesado todo ésto?¿Véis alguna forma de hacerlo más simple?¿Créis que vale la pena utilizar el .fetchmany/.executemany? From jrossi en cirn.inta.gov.ar Thu Jul 14 17:02:33 2005 From: jrossi en cirn.inta.gov.ar (Juan Pablo Rossi) Date: Thu, 14 Jul 2005 12:02:33 -0300 Subject: muy principiante en python Message-ID: <42D67E89.8040803@cirn.inta.gov.ar> hola gente, recien empiezo con python y estoy medio perdido. Alguien sabe de un BUEN manual para poder empezar?. Por lo pronto, como armo un programa en el gui (IDLE version 1.1.1 python version 2.4.1)?, veo que me deja ver el codigo y va dandome errores de sintaxis, pero, que hago después para que lo que escribí corra en algún lado?. Estoy trabajando sobre windows saludos, From cescd en yahoo.com.mx Thu Jul 14 17:22:51 2005 From: cescd en yahoo.com.mx (Cesar Cardenas Desales) Date: Thu, 14 Jul 2005 10:22:51 -0500 (CDT) Subject: muy principiante en python In-Reply-To: <42D67E89.8040803@cirn.inta.gov.ar> References: <42D67E89.8040803@cirn.inta.gov.ar> Message-ID: <20050714152251.80258.qmail@web50408.mail.yahoo.com> Un manual muy bueno es http://marmota.act.uji.es/IG04/pdf/python.pdf --- Juan Pablo Rossi escribió: > hola gente, recien empiezo con python y estoy medio > perdido. Alguien > sabe de un BUEN manual para poder empezar?. > Por lo pronto, como armo un programa en el gui (IDLE > version 1.1.1 > python version 2.4.1)?, veo que me deja ver el > codigo y va dandome > errores de sintaxis, pero, que hago después para que > lo que escribí > corra en algún lado?. > Estoy trabajando sobre windows > > saludos, > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > __________________________________________________ Correo Yahoo! Espacio para todos tus mensajes, antivirus y antispam ¡gratis! Regístrate ya - http://correo.yahoo.com.mx/ From jrossi en cirn.inta.gov.ar Thu Jul 14 17:28:26 2005 From: jrossi en cirn.inta.gov.ar (Juan Pablo Rossi) Date: Thu, 14 Jul 2005 12:28:26 -0300 Subject: muy principiante en python In-Reply-To: <20050714152251.80258.qmail@web50408.mail.yahoo.com> References: <20050714152251.80258.qmail@web50408.mail.yahoo.com> Message-ID: <42D6849A.7060305@cirn.inta.gov.ar> gracias, lo voy a probar, porque hasta ahora todos los que he probado, cuando ingreso el codigo que viene de ejemplo da error, Cesar Cardenas Desales wrote: >Un manual muy bueno es >http://marmota.act.uji.es/IG04/pdf/python.pdf > > > --- Juan Pablo Rossi >escribió: > > > >>hola gente, recien empiezo con python y estoy medio >>perdido. Alguien >>sabe de un BUEN manual para poder empezar?. >>Por lo pronto, como armo un programa en el gui (IDLE >>version 1.1.1 >>python version 2.4.1)?, veo que me deja ver el >>codigo y va dandome >>errores de sintaxis, pero, que hago después para que >>lo que escribí >>corra en algún lado?. >>Estoy trabajando sobre windows >> >>saludos, >>_______________________________________________ >>Python-es mailing list >>Python-es en aditel.org >>http://listas.aditel.org/listinfo/python-es >> >> >> > > >__________________________________________________ >Correo Yahoo! >Espacio para todos tus mensajes, antivirus y antispam ¡gratis! >Regístrate ya - http://correo.yahoo.com.mx/ >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es > > > > From cruz_avilaf en hotmail.com Thu Jul 14 22:43:26 2005 From: cruz_avilaf en hotmail.com (Cruz Avila Fereira) Date: Thu, 14 Jul 2005 20:43:26 +0000 Subject: Conexion Python-Oracle 8i Message-ID: Saludos. Gracias por su pronta respuesta. Verifique la instalacion y funcionamiento del cliente de oracle 8i en mi maquina, y el mismo opera correctamente, sin embargo, el problema persiste. Baje el PDO y he tratado de utilizarlo siguiendo las instrucciones del readme, pero al intentar establecer la conexiòn me arroja el siguiente error: File "C:\Python23\pdo.py", line 80, in __init__ raise pdo_connection_error, self.ErrorMessage pdo_connection_error: 'Unable to load Database Module: Database specific Error:exceptions.ImportError\nDLL load failed: No se encontr\xf3 el proceso especificado.' No estoy segura de estar utilizando la sintaxis correcta para establecer la conexiòn,la sintaxis que estoy utilizando es la siguiente: import pdo db=pdo.connect("Module=cx_Oracle;User=acruz;Passwd=1234;DB=back") podrìa alguien orientarme en cuanto al uso del pdo?? gracias de antemano por su respuesta. _________________________________________________________________ Moda para esta temporada. Ponte al día de todas las tendencias. http://www.msn.es/Mujer/moda/default.asp From jldalla en gmail.com Fri Jul 15 17:11:37 2005 From: jldalla en gmail.com (Jose Luis DALLAPICCOLA) Date: Fri, 15 Jul 2005 12:11:37 -0300 Subject: Editar datos en TreeView In-Reply-To: <40b558b30507081801904aa6d@mail.gmail.com> References: <40b558b30507081801904aa6d@mail.gmail.com> Message-ID: <40b558b305071508116e90b5d1@mail.gmail.com> Respondiéndome un poco sólo... A partir de GTK 2.6 existe http://www.pygtk.org/pygtk2reference/class-gtkcellrenderercombo.html Saludos, El 8/07/05, Jose Luis DALLAPICCOLA escribió: > Hola. > > Una consulta sobre PyGTK. > > Estoy viendo de poder editar datos provenientes de una tabla en un TreeView. > ¿Existe algún tipo de render para datos codificados, que provengan de > otra tabla? > > Por ejemplo con un spin buttom y tener, a su derecha, un entry con la > descripción de ese código (que se actualizaría por código-src al > editar el campor del código). > O, para otros casos, un combo box con, también, datos provenientes de > otras tablas. > > Muchas gracias. Saludos, > -- > > --- > José Luis DALLAPICCOLA > Cipolletti - RIO NEGRO > Patagonia ARGENTINA > -- --- José Luis DALLAPICCOLA Cipolletti - RIO NEGRO Patagonia ARGENTINA From javierg_cim en yahoo.com.mx Fri Jul 15 21:22:45 2005 From: javierg_cim en yahoo.com.mx (=?ISO-8859-1?Q?Javier_Gardu=F1o?=) Date: Fri, 15 Jul 2005 14:22:45 -0500 Subject: =?iso-8859-1?q?=BFRecomiendas_wxGlade=3F_=BFOtro=3F?= Message-ID: <42D80D05.4010804@yahoo.com.mx> Saludos, Pues lo dicho: ¿Recomiendas wxGlade para el desarrollo de interfaces wxPython? ¿Conoces algo mejor? ¿Cuáles son tus experiencias?... ¿o de plano es mejor teclear el código correspondiente, asi a secas? ¿Algún manual o texto dedicado a la maquetación de una interfaz? Me daría gusto que los colisteros contaran sus experiencias en el asunto. Javier Garduño __________________________________________________ Correo Yahoo! Espacio para todos tus mensajes, antivirus y antispam ¡gratis! Regístrate ya - http://correo.yahoo.com.mx/ From gaba en riseup.net Fri Jul 15 18:58:15 2005 From: gaba en riseup.net (gaba) Date: Fri, 15 Jul 2005 12:58:15 -0400 Subject: =?iso-8859-1?q?=BFRecomiendas_wxGlade=3F_=BFOtro=3F?= In-Reply-To: <42D80D05.4010804@yahoo.com.mx> References: <42D80D05.4010804@yahoo.com.mx> Message-ID: <20050715165815.GC4026@riseup.net> Hasta ahora lo que me ha servido es usar XRCed para editar la interfaz y luego vim para teclear el codigo a mano nomas. Es decir, levanto hago la interfaz en xrc y luego levanto lo que necesito en la clase correspondiente en el codigo. Estaria interesante saber de otras experiencias. +++ Javier Garduño [15/07/05 14:22 -0500]: >:Saludos, >: >:Pues lo dicho: ¿Recomiendas wxGlade para el desarrollo de interfaces >:wxPython? ¿Conoces algo mejor? ¿Cuáles son tus experiencias?... ¿o de >:plano es mejor teclear el código correspondiente, asi a secas? >: >:¿Algún manual o texto dedicado a la maquetación de una interfaz? >: >:Me daría gusto que los colisteros contaran sus experiencias en el asunto. >: >:Javier Garduño >: >: >:__________________________________________________ >:Correo Yahoo! >:Espacio para todos tus mensajes, antivirus y antispam ¡gratis! >:Regístrate ya - http://correo.yahoo.com.mx/ >:_______________________________________________ >:Python-es mailing list >:Python-es en aditel.org >:http://listas.aditel.org/listinfo/python-es -- Las tiranías fomentan la estupidez. -- Jorge Luis Borges. (1899-1986) Escritor argentino. Ni sus guerras ni su paz From minoztro en gmail.com Sat Jul 16 01:33:57 2005 From: minoztro en gmail.com (Milton inostroza) Date: Fri, 15 Jul 2005 19:33:57 -0400 Subject: [PYGTK SPINBUTTON V/S ENTRY] Message-ID: <172699c505071516332bd4a27e@mail.gmail.com> hola: Saben tengo una duda con la utilización de estos dos objetos. En el sistema que estoy desarrollando se utilizan muchas entry que reciben solamente numeros (en realidad pueden recibir cualquier caracter pero dentro del contexto deben recibir solamente numeros), entonces me preguntaba...no será mejor que todos esos entry en los cuales solamente debo recibir numeros los reemplace por spinbutton's y asi me evito de estar verificando si el entry solamente contiene numeros y no otra cosa...ahora nace una nueva pregunta....las entry se pueden restringir para que solamente reciban numeros y nada más??? un ejemplo de los entry que tengo son: -sueldo base -gratificaciones -cantidad de cargas familiares -bono de transporte -colacion -movilizacion Ahora solamente dejo que el motor de base de datos postgresql verifique el tipo de dato y le imprimo una excepción al usuario para que sepa que introdujo texto en una parte que debiera introducir numeros. Aún así quiero que me aconsejen, ya que estoy en ese dilema. En mi punto de vista debiera reemplazarlos por spinbutton todos los entry's que solamente deben recibir numeros. salu2!! -- Milton Inostroza Aguilera From lwayar en retronet.com.ar Sat Jul 16 04:27:45 2005 From: lwayar en retronet.com.ar (Luis Tomas Wayar) Date: Fri, 15 Jul 2005 23:27:45 -0300 Subject: Borrar un linea de un archivo Message-ID: <200507152327.45510.lwayar@retronet.com.ar> Hola estimado pythonadictos. Estoy tratando de borrar una linea de un archivo de texto, se trata de reglas de un firewall, lo que hago es lo siguiente: 1.- Cargo el archivos en una lista 2.- Iteratuo con la lista para buscar las lineas que contienen un numero ip 3.- borro de la lista el elemento que cumple la condicion Ahora el problema, me borra bien los elementos de la lista -1, es decir me deja el ultimo elemento que conicide con la condicion. Ahora las preguntas: 1.- Que hago mal? 2.- Hay alguna forma mejor de hacerlo? A continuacion la funcion: def borrar_puesto(ip): archivo = open("/etc/firewall/gshield.last","r") reglas = archivo.readlines() for regla in reglas: if regla.__contains__(ip): reglas.remove(regla) Muchas gracias y que tengan buen dia. -- -----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.4.1 (GNU/Linux) mQGiBEKrDCIRBAC+qeS50jxjCuQ1JBfl6dpHV4dPwEsb/v+72/b4VeIk2Zbz0Yaz 5EFbASK0RGANdz9y+u0llvTB+WTCDY/LlO5ygPvMG/d6ooTQPyBh1yIz3ojRELRE HIsrZmRN2ZVJN2HQjo4BcNbtcufDRnEsaq29VOOBd705N0d0YoDcEXMpFwCgj/cw 2lrnT4S1w0ekdet+TSwVoCED+gPyYqN+BM0kw556b38u4a63PL6BCik7LykQZY8y 5kYvyP3IMM8F4NgK7sk5VgrCGeYvCPciSnn8O6Vr/dpxRHTr2a/cpyThnMSxl1dk 1syFyX2iR1AB4+19An/K5ejgSgLQA+fK0SLKh2DIT217TwIaflSeEjrugmZoJZQ5 pgXAA/9H3kZn3JZHlBApmLBWxkhIM3WKe0T5eOqc82MZj9lKVTwk3DuJJP4uJYkN 5tWHcpQh1O9seej/F7g7oZmIuNUA7kNGkVSP1DtGBH5GdiVNrj9SBYoM+ayrH4oq quwlaEgn/22rg7u5yYA2PV/6X87Q9y7I/3/VrSXNnkeemUiXibQ0THVpcyBUb21h cyBXYXlhciAoUmV0cm9NYW4pIDxsd2F5YXJAcmV0cm9uZXQuY29tLmFyPoheBBMR AgAeBQJCqwwiAhsDBgsJCAcDAgMVAgMDFgIBAh4BAheAAAoJEAr8xRtwJBc8/toA oIESxASJIhQiUJGuMxob0cysIPUzAJwKeeviE7IQmBCYAUHxuK26RXo1KrkCDQRC qwxWEAgAknagwLPR5oOvyqkNP4gRqVZoxuIQ/RGerTRYuFYKkD2yTd8ziSuHIMrt ng18LjUTE4+kH0eiy243DigSWATwLbtdSttbeeE5CJDABb8UWXU6M63kPabQz/q+ YdF1PqD/JQj+8tcJP3lqgLKIDZFnxKFjam0pffooaMbf2Wrjlb8iwYq44YQ91Vzc cgN9V1eZRHHgTdVj9SCYJAJinIp9WSFs/1JbG7nC7BGI9BCRCwERk0+R1mdZrWUg 9HYLV7QUJATjrZmJP8oS8++tZCfDWMlgtCca1KiD47wdgTWeG9H9n0HqFhzWTP/E WMElvTSrCPubniS+eHHlzUDNvhMEMwADBQf+NwjVa6nIsjRj7zO1dG4wT2Z57eiu FcQ4CAMX6cS+h6OY051ISawAUcQjON2bJ68bZIhiM2nma9vgi4CJBnRNqQ5PwQTp deoWk/GbWre9iYXYQ54Ya9OUM2HqqwpTQUA2XVRndw1JV8oXo01/qCDVwkAJiiue J+4FKBDPnQTn0P85wPhcfpmiRulKxYUgkSegHNyFNBBM92ak2jKaES+cCaoyBDTy v4wEAnAWCQNDp2KWpGamweYh6k9nKFMP3j7ehTz1Wafod1fP7AJ6yHEAbVZd8S9+ NrLRzSyXQwReXKKG+evc2gc/t7Me+vbzp5OX1eXrloMDoX3BN9XEDaedaYhJBBgR AgAJBQJCqwxWAhsMAAoJEAr8xRtwJBc8VMEAn1kY8m+V+R9zevVDectbh0e1QNiB AJ0flIfJk6VuNv+qvQJQF1kGuCGzgQ== =0Ml7 -----END PGP PUBLIC KEY BLOCK----- ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From horaciod en gmail.com Sat Jul 16 04:39:50 2005 From: horaciod en gmail.com (Horacio Degiorgi) Date: Fri, 15 Jul 2005 23:39:50 -0300 Subject: =?ISO-8859-1?Q?Re:__Re:_=BFRecomiendas_wxGlade=3F_=BFOtro=3F?= In-Reply-To: <20050715165815.GC4026@riseup.net> References: <42D80D05.4010804@yahoo.com.mx> <20050715165815.GC4026@riseup.net> Message-ID: si vas a desarrollar en windows podes ver http://visualwx.altervista.org/ yo lo he usado para algunas cositas y a parte de ser muy estable tiene lo que wxglade le falta un editor de texto incorporado se acerca mucho a un RAD en serio pudiendo ejecutar desde la misma interface. saludos Horaciod El 15/07/05, gaba escribió: > Hasta ahora lo que me ha servido es usar XRCed para editar la interfaz y > luego vim para teclear el codigo a mano nomas. Es decir, levanto hago la > interfaz en xrc y luego levanto lo que necesito en la clase > correspondiente en el codigo. > > Estaria interesante saber de otras experiencias. > > +++ Javier Garduño [15/07/05 14:22 -0500]: > >:Saludos, > >: > >:Pues lo dicho: ¿Recomiendas wxGlade para el desarrollo de interfaces > >:wxPython? ¿Conoces algo mejor? ¿Cuáles son tus experiencias?... ¿o de > >:plano es mejor teclear el código correspondiente, asi a secas? > >: > >:¿Algún manual o texto dedicado a la maquetación de una interfaz? > >: > >:Me daría gusto que los colisteros contaran sus experiencias en el asunto. > >: > >:Javier Garduño > >: > >: > >:__________________________________________________ > >:Correo Yahoo! > >:Espacio para todos tus mensajes, antivirus y antispam ¡gratis! > >:Regístrate ya - http://correo.yahoo.com.mx/ > >:_______________________________________________ > >:Python-es mailing list > >:Python-es en aditel.org > >:http://listas.aditel.org/listinfo/python-es > > -- > Las tiranías fomentan la estupidez. > -- Jorge Luis Borges. (1899-1986) Escritor argentino. > Ni sus guerras ni su paz > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > -- Horacio Degiorgi http://blog.codigophp.com From miuler en gmail.com Sat Jul 16 11:06:21 2005 From: miuler en gmail.com (Hector Miuler Malpica Gallegos) Date: Sat, 16 Jul 2005 04:06:21 -0500 Subject: Hacer una pausa Message-ID: <1121504781.10302.11.camel@localhost> Hola amigos, estoy haciendo un ejemplo en python muy sencillo, lo que quiero hacer es mostrar una etiqueta y que cada cierto tiempo cambie, esto se realiza al pulsar un boton, def on_button1_clicked(self, object): for i in range(4): time.sleep(0.1) self.a=self.a+1 print self.label2.set_text(str(self.a)) print self.label2.get_angle() print self.label2.set_angle(self.a) lo malo es que no se muestra ningún cambio hasta que termina el for, no va cambiando poco a poco, cual sería la forma correcta?, las gtk tienen algo para hacer esto? en las WX encontré algo, pero en gtk no. Gracias por sus comentarios/respuestas/observaciones _\|/_ (O-O) --oOO-(_)-OOo---------------------------------------- Hector Miuler Malpica Gallegos Universidad Nacional del Callao - Peru Escuela de Ingenieria Electronica Jabber miuler en jabber.org usuario registrado #308608 ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From nauj27 en gmail.com Sat Jul 16 11:16:05 2005 From: nauj27 en gmail.com (=?ISO-8859-1?Q?Juan_Mart=EDn?=) Date: Sat, 16 Jul 2005 11:16:05 +0200 Subject: Hacer una pausa In-Reply-To: <1121504781.10302.11.camel@localhost> References: <1121504781.10302.11.camel@localhost> Message-ID: <2c79d17e0507160216222c1c01@mail.gmail.com> Hola, siento no responder a tu pregunta, sino reafirmarla. Lo mismo me ocurre cuando por ejemplo intento ir incrementando una barra de progreso mientras realizo algunas opciones en segundo plano. Hasta que no terminan todas las acciones del evento los elementos de la interfaz gráfica no se actualizan. ¿Cómo puedo hacer que se vayan reflejando los cambios conforme se va ejecutando? Gracias, Juan 2005/7/16, Hector Miuler Malpica Gallegos : > Hola amigos, estoy haciendo un ejemplo en python muy sencillo, lo que > quiero hacer es mostrar una etiqueta y que cada cierto tiempo cambie, > esto se realiza al pulsar un boton, > > def on_button1_clicked(self, object): > for i in range(4): > time.sleep(0.1) > self.a=self.a+1 > print self.label2.set_text(str(self.a)) > print self.label2.get_angle() > print self.label2.set_angle(self.a) > > lo malo es que no se muestra ningún cambio hasta que termina el for, no > va cambiando poco a poco, cual sería la forma correcta?, las gtk tienen > algo para hacer esto? en las WX encontré algo, pero en gtk no. > > Gracias por sus comentarios/respuestas/observaciones > > _\|/_ > (O-O) > --oOO-(_)-OOo---------------------------------------- > Hector Miuler Malpica Gallegos > Universidad Nacional del Callao - Peru > Escuela de Ingenieria Electronica > > Jabber miuler en jabber.org > usuario registrado #308608 > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > > > From pepe en diselpro.com Sat Jul 16 15:10:18 2005 From: pepe en diselpro.com (Pepe Aracil) Date: Sat, 16 Jul 2005 15:10:18 +0200 Subject: Hacer una pausa In-Reply-To: <1121504781.10302.11.camel@localhost> References: <1121504781.10302.11.camel@localhost> Message-ID: <42D9073A.4070807@diselpro.com> Inserta en el bucle esto: while gtk.events_pending(): gtk.main_iteration(gtk.FALSE) Salud. Hector Miuler Malpica Gallegos wrote: > Hola amigos, estoy haciendo un ejemplo en python muy sencillo, lo que > quiero hacer es mostrar una etiqueta y que cada cierto tiempo cambie, > esto se realiza al pulsar un boton, > > def on_button1_clicked(self, object): > for i in range(4): > time.sleep(0.1) > self.a=self.a+1 > print self.label2.set_text(str(self.a)) > print self.label2.get_angle() > print self.label2.set_angle(self.a) > > lo malo es que no se muestra ningún cambio hasta que termina el for, no > va cambiando poco a poco, cual sería la forma correcta?, las gtk tienen > algo para hacer esto? en las WX encontré algo, pero en gtk no. > > Gracias por sus comentarios/respuestas/observaciones > > _\|/_ > (O-O) > --oOO-(_)-OOo---------------------------------------- > Hector Miuler Malpica Gallegos > Universidad Nacional del Callao - Peru > Escuela de Ingenieria Electronica > > Jabber miuler en jabber.org > usuario registrado #308608 > > > ------------------------------------------------------------------------ > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From daemonbsd en tutopia.com Mon Jul 18 02:58:56 2005 From: daemonbsd en tutopia.com (=?ISO-8859-1?Q?Marcelo_Fern=E1ndez?=) Date: Sun, 17 Jul 2005 21:58:56 -0300 Subject: insertar tuplas en firebird In-Reply-To: <42B99841001AF498@resmta03.ono.com> (added by postmaster@resmta03.ono.com) References: <42B99841001AF498@resmta03.ono.com> (added by postmaster@resmta03.ono.com) Message-ID: <42DAFECF.3070903@tutopia.com> Berna López escribió: Como implementaste el campo autonumerico en Firebird? con un Trigger + un Generador? Saludos. > Hola a todos, > > Estoy intentando insertar tuplas de datos sobre mis tablas, pero siempre me > da un error por la clave principal, campo q tengo definido como > autonumérico, > cuando ejecuto la sentencia sql omito ese campo, debo hacer referencia a él > de alguna forma. > > Gracias. > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > ______________________________ Visita http://www.tutopia.com y comienza a navegar más rápido en Internet. Tutopia es Internet para todos. From jordinas en gmail.com Mon Jul 18 09:39:37 2005 From: jordinas en gmail.com (Joan Ordinas) Date: Mon, 18 Jul 2005 09:39:37 +0200 Subject: Borrar un linea de un archivo In-Reply-To: <200507152327.45510.lwayar@retronet.com.ar> References: <200507152327.45510.lwayar@retronet.com.ar> Message-ID: <9140533f05071800391edae385@mail.gmail.com> On 7/16/05, Luis Tomas Wayar wrote: > Hola estimado pythonadictos. Estoy tratando de borrar una linea de un archivo de texto, se trata de reglas de un firewall, > lo que hago es lo siguiente: > > 1.- Cargo el archivos en una lista > 2.- Iteratuo con la lista para buscar las lineas que contienen un numero ip > 3.- borro de la lista el elemento que cumple la condicion > > Ahora el problema, me borra bien los elementos de la lista -1, es decir me deja el ultimo elemento que conicide con la condicion. > > Ahora las preguntas: > > 1.- Que hago mal? > 2.- Hay alguna forma mejor de hacerlo? > > A continuacion la funcion: > > def borrar_puesto(ip): > archivo = open("/etc/firewall/gshield.last","r") > reglas = archivo.readlines() > for regla in reglas: > if regla.__contains__(ip): > reglas.remove(regla) > EL problema es que modificas 'reglas' mientras iteras sobre la lista. Eso no se debe hacer. Hay varias soluciones. Esta es bastante eficiente: > def borrar_puesto(ip): > archivo = open("/etc/firewall/gshield.last","r") > reglas = [] > for regla in archivo: > if ip not in regla: > reglas.extend(regla) > return reglas > From py en ls-l.org Mon Jul 18 10:32:25 2005 From: py en ls-l.org (Chema Cortes) Date: Mon, 18 Jul 2005 10:32:25 +0200 Subject: Borrar un linea de un archivo In-Reply-To: <200507152327.45510.lwayar@retronet.com.ar> References: <200507152327.45510.lwayar@retronet.com.ar> Message-ID: <42DB6919.8090003@ls-l.org> Luis Tomas Wayar escribió: > Hola estimado pythonadictos. Estoy tratando de borrar una linea de un archivo de texto, se trata de reglas de un firewall, > lo que hago es lo siguiente: > > 1.- Cargo el archivos en una lista > 2.- Iteratuo con la lista para buscar las lineas que contienen un numero ip > 3.- borro de la lista el elemento que cumple la condicion > > Ahora el problema, me borra bien los elementos de la lista -1, es decir me deja el ultimo elemento que conicide con la condicion. > > Ahora las preguntas: > > 1.- Que hago mal? > 2.- Hay alguna forma mejor de hacerlo? Lo raro es que sólo sea una línea la que te deje sin borrar. Por lo general, no es buena idea andar modificando en el interior de un bucle los parámetros que lo controlan. > > A continuacion la funcion: > > def borrar_puesto(ip): > archivo = open("/etc/firewall/gshield.last","r") > reglas = archivo.readlines() > for regla in reglas: > if regla.__contains__(ip): > reglas.remove(regla) La lista "reglas" la estás alterando dentro del bucle, con lo que el bucle deja de ser "exhaustivo". Te propongo unas alternativas: 1.- reglas=[] for regla in open("/etc/firewall/gshield.last","r"): if not ip in regla: reglas.append(regla) 2.- reglas=[regla in open("/etc/firewall/gshield.last","r") if ip not in regla] 3.- lo mismo que la 2, pero con generadores. Es una forma mucho mejor cuando se trabaja con ficheros enormes. reglas=(regla in open("/etc/firewall/gshield.last","r") if ip not in regla) PD: Tampoco está bien que incluyas la clave OpenPGP en la firma. From py en ls-l.org Mon Jul 18 11:53:18 2005 From: py en ls-l.org (Chema Cortes) Date: Mon, 18 Jul 2005 11:53:18 +0200 Subject: Borrar un linea de un archivo In-Reply-To: <42DB6919.8090003@ls-l.org> References: <200507152327.45510.lwayar@retronet.com.ar> <42DB6919.8090003@ls-l.org> Message-ID: <42DB7C0E.20806@ls-l.org> Chema Cortes escribió: > Te propongo unas alternativas: > > 1.- > > reglas=[] > for regla in open("/etc/firewall/gshield.last","r"): > if not ip in regla: > reglas.append(regla) > > > 2.- > > reglas=[regla in open("/etc/firewall/gshield.last","r") > if ip not in regla] > > > 3.- lo mismo que la 2, pero con generadores. Es una forma mucho mejor > cuando se trabaja con ficheros enormes. > > reglas=(regla in open("/etc/firewall/gshield.last","r") > if ip not in regla) Estas dos últimas son incorrectas. Deberían ser: 2.- reglas=[regla for regla in open("/etc/firewall/gshield.last","r") if ip not in regla] 3.- lo mismo que la 2, pero con generadores. Es una forma mucho mejor cuando se trabaja con ficheros enormes. reglas=(regla for regla in open("/etc/firewall/gshield.last","r") if ip not in regla) From kerocky en ono.com Mon Jul 18 12:59:43 2005 From: kerocky en ono.com (kerocky en ono.com) Date: Mon, 18 Jul 2005 12:59:43 +0200 Subject: =?iso-8859-15?q?Re=3A_insertar_tuplas_en_firebird_?= =?iso-8859-15?q?=28Marcelo_Fern=E1ndez=29?= In-Reply-To: <20050718073953.0329314053C2@devnull.aditel.org> References: <20050718073953.0329314053C2@devnull.aditel.org> Message-ID: <42B2C40C00011212@resmta01.ono.com> Yo he utilizado el IBEasy+ para crear las tablas, y si no me equivoco utiliza un Trigger + un Generador, lo que ocurre es que no se como hacer referencia en la consulta SQL, o si se puede utilizar ese tipo de campo o debo definirlo como integer. >Como implementaste el campo autonumerico en Firebird? con un Trigger + un Generador? >Saludos. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From cgalisteo en k-rolus.net Mon Jul 18 13:57:33 2005 From: cgalisteo en k-rolus.net (Carlos Galisteo de Cabo) Date: Mon, 18 Jul 2005 13:57:33 +0200 (CEST) Subject: =?iso-8859-1?q?Conexi=F3n_a_registro_remoto_?= (con usuario y =?iso-8859-1?q?contrase=F1a?= ) Message-ID: <41005.80.58.1.111.1121687853.squirrel@k-rolus.net> Hola, a ver si me podeis echar una mano que ando un poco atascado. Necesito leer unas claves del registro de maquinas remotas. Todo funciona bien (de momento, estoy empezando a probar) con el registro local y con máquinas donde no necesito autentificarme (o mis credenciales tienen privilegios suficientes). El problema está en aquellas a las que debería especificar un dominio\usuario y password. Más que problema es que no tengo ni idea de cómo hacerlo y no encuentro nada claro en google :P Si hago: _winreg.ConnectRegistry("maquina_de_mi_dominio",_winreg.HKEY_LOCAL_MACHINE) me devuelve: Pero en una máquina del otro dominio: _winreg.ConnectRegistry("maquina_de_otro_dominio",_winreg.HKEY_LOCAL_MACHINE) casca: Traceback (most recent call last): File "", line 1, in ? WindowsError: [Errno 5] Acceso denegado ¿Ideas? Gracias. -- --- Carlos Galisteo Jabber_Id::cgalisteo en jabber.org PGP_key::http://k-rolus.net/~cgalisteo/cgalisteo.gpg Key_Fingerprint::F888 6FBA 9145 B5A2 C187 66D6 5B8C 027A 69AD BE65 --- From alxgnar en gmail.com Mon Jul 18 15:35:54 2005 From: alxgnar en gmail.com (=?ISO-8859-1?Q?alex_ordo=F1ez?=) Date: Mon, 18 Jul 2005 08:35:54 -0500 Subject: pycard Message-ID: <26a76236050718063567027260@mail.gmail.com> Hola a todos, alguien sabe de un manual en español sobre python Card y wxpython, ya que no he podido enconrar nada. gracias. alx From jrossi en cirn.inta.gov.ar Mon Jul 18 16:10:41 2005 From: jrossi en cirn.inta.gov.ar (Juan Pablo Rossi) Date: Mon, 18 Jul 2005 11:10:41 -0300 Subject: wxphyton In-Reply-To: <40b558b305071508116e90b5d1@mail.gmail.com> References: <40b558b30507081801904aa6d@mail.gmail.com> <40b558b305071508116e90b5d1@mail.gmail.com> Message-ID: <42DBB861.1030403@cirn.inta.gov.ar> Puede que sea una consulta medio estupida, pero asi serán hasta que maneje mas o menos bien python, tenganme paciencia gente. acabo de instalar wxpython, ya que según vengo leyendo, este es un entorno de desarrollo python. En la carpeta que me lo descomprimió no encuentro un ejecutable, como hago correr ese programa (windows). Muchas gracias From sergio en s3r.com.ar Mon Jul 18 16:30:36 2005 From: sergio en s3r.com.ar (=?ISO-8859-1?Q?Sergio_G=F3mez?=) Date: Mon, 18 Jul 2005 11:30:36 -0300 Subject: insertar tuplas en firebird In-Reply-To: <42B99841001AF498@resmta03.ono.com> References: <42B99841001AF498@resmta03.ono.com> Message-ID: <42DBBD0C.2060900@s3r.com.ar> Berna López wrote: > Hola a todos, Hola! > Estoy intentando insertar tuplas de datos sobre mis tablas, pero siempre me > da un error por la clave principal, campo q tengo definido como > autonumérico, > cuando ejecuto la sentencia sql omito ese campo, debo hacer referencia a él > de alguna forma. En Firebird un autoincrmental se implementa mediante un trigger Before Insert y un generator. Lo que hace el trigger es completar el campo autoincrmental con el valor que le devuelve el generador (tomalo como una funcion que devuelve un numero consecutivo incrementado en 1). Tenes que ver como esta implementado el trigger para ver que valor tenes que pasarle al campo primary key (normalmente '' - el string vacio), pero tenes que pasarle un valor. Por ejemplo: insert into UnaTabla (CampoPK, Valor) values ('', 35.2); y no insert into UnaTabla (Valor) values (35.2); > Gracias. -- Sergio Gómez - S3R ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From cescd en yahoo.com.mx Mon Jul 18 16:53:33 2005 From: cescd en yahoo.com.mx (Cesar Cardenas Desales) Date: Mon, 18 Jul 2005 09:53:33 -0500 (CDT) Subject: wxphyton In-Reply-To: <42DBB861.1030403@cirn.inta.gov.ar> References: <42DBB861.1030403@cirn.inta.gov.ar> Message-ID: <20050718145333.66804.qmail@web50402.mail.yahoo.com> No se qué versión habrás bajado. Si no estás en Windoze, donde con usar el instalador .exe basta, lo mas probable es que debas ejecutar: $python setup.py install --- Juan Pablo Rossi escribió: > Puede que sea una consulta medio estupida, pero asi > serán hasta que > maneje mas o menos bien python, tenganme paciencia > gente. > acabo de instalar wxpython, ya que según vengo > leyendo, este es un > entorno de desarrollo python. En la carpeta que me > lo descomprimió no > encuentro un ejecutable, como hago correr ese > programa (windows). > Muchas gracias > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > ___________________________________________________________ Do You Yahoo!? La mejor conexión a Internet y 2GB extra a tu correo por $100 al mes. http://net.yahoo.com.mx From cescd en yahoo.com.mx Mon Jul 18 17:06:55 2005 From: cescd en yahoo.com.mx (Cesar Cardenas Desales) Date: Mon, 18 Jul 2005 10:06:55 -0500 (CDT) Subject: Manuales pycard In-Reply-To: <26a76236050718063567027260@mail.gmail.com> References: <26a76236050718063567027260@mail.gmail.com> Message-ID: <20050718150656.99362.qmail@web50404.mail.yahoo.com> Ya sería hora de que al menos tradujeramos algunos manuales de referencia común como los de PythonCard, y al menos alguna introducción a reportlab, wxpython. A decir verdad, varios artículos existentes ya son obsoletos, pues corresponden a versiones que salieron por allá de 2002-2003, así que habría que evaluar la posibilidad. Quién se anota. Yo voy a empezar solicitando el permiso de traducción(o anunciandoles a los autores, si el documento tiene licencia libre) para los de PythonCard. César --- alex ordoñez escribió: > Hola a todos, alguien sabe de un manual en español > sobre python Card y > wxpython, ya que no he podido enconrar nada. > > gracias. > alx > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > ___________________________________________________________ Do You Yahoo!? La mejor conexión a Internet y 2GB extra a tu correo por $100 al mes. http://net.yahoo.com.mx From interhouse en teleline.es Mon Jul 18 17:26:53 2005 From: interhouse en teleline.es (Roberto Ferrer) Date: Mon, 18 Jul 2005 17:26:53 +0200 Subject: wxphyton In-Reply-To: <42DBB861.1030403@cirn.inta.gov.ar> References: <40b558b30507081801904aa6d@mail.gmail.com> <40b558b305071508116e90b5d1@mail.gmail.com> <42DBB861.1030403@cirn.inta.gov.ar> Message-ID: <42DBCA3D.5070505@teleline.es> Juan Pablo Rossi wrote: > Puede que sea una consulta medio estupida, pero asi serán hasta que > maneje mas o menos bien python, tenganme paciencia gente. > acabo de instalar wxpython, ya que según vengo leyendo, este es un > entorno de desarrollo python. En la carpeta que me lo descomprimió no > encuentro un ejecutable, como hago correr ese programa (windows). > Muchas gracias > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > > __________ NOD32 1.1166 (20050711) Information __________ > > This message was checked by NOD32 antivirus system. > http://www.eset.com > > > Uhm....tengo entendido que wxpython no es un IDE, que creo que es lo que estas buscando, sino mas bien un conjunto de librerias insertadas en python como modulo para poder desarrollar aplicaciones con interfaz grafica. para instalarlo $python setup.py install y ya tendras las librerias instaladas. Despues debes generar el entorno gráfico tu mismo :) o emplear algun entorno de desarrollo que te permita hacerlo, boa-contructor por ejemplo. Saludos From jrossi en cirn.inta.gov.ar Mon Jul 18 17:31:01 2005 From: jrossi en cirn.inta.gov.ar (Juan Pablo Rossi) Date: Mon, 18 Jul 2005 12:31:01 -0300 Subject: wxphyton In-Reply-To: <20050718145333.66804.qmail@web50402.mail.yahoo.com> References: <20050718145333.66804.qmail@web50402.mail.yahoo.com> Message-ID: <42DBCB35.6060504@cirn.inta.gov.ar> hola, ya lo tengo instalado, lo que no se es como acceder. El que instaé es el wx-2.6-msw-unicode, estoy trabajando con windows. al instalarlo me generó algunas carpetas con archivos .py entre otros, pero ningun ejecutable. Cesar Cardenas Desales wrote: >No se qué versión habrás bajado. Si no estás en >Windoze, donde con usar el instalador .exe basta, lo >mas probable es que debas ejecutar: > >$python setup.py install > > > --- Juan Pablo Rossi >escribió: > > > >>Puede que sea una consulta medio estupida, pero asi >>serán hasta que >>maneje mas o menos bien python, tenganme paciencia >>gente. >>acabo de instalar wxpython, ya que según vengo >>leyendo, este es un >>entorno de desarrollo python. En la carpeta que me >>lo descomprimió no >>encuentro un ejecutable, como hago correr ese >>programa (windows). >>Muchas gracias >>_______________________________________________ >>Python-es mailing list >>Python-es en aditel.org >>http://listas.aditel.org/listinfo/python-es >> >> >> > > > > > > >___________________________________________________________ >Do You Yahoo!? >La mejor conexión a Internet y 2GB extra a tu correo por $100 al mes. http://net.yahoo.com.mx > >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es > > > > From interhouse en teleline.es Mon Jul 18 17:42:11 2005 From: interhouse en teleline.es (Roberto Ferrer) Date: Mon, 18 Jul 2005 17:42:11 +0200 Subject: Manuales pycard In-Reply-To: <20050718150656.99362.qmail@web50404.mail.yahoo.com> References: <20050718150656.99362.qmail@web50404.mail.yahoo.com> Message-ID: <42DBCDD3.7020903@teleline.es> Cesar Cardenas Desales wrote: >Ya sería hora de que al menos tradujeramos algunos >manuales de referencia común como los de PythonCard, y >al menos alguna introducción a reportlab, wxpython. > >A decir verdad, varios artículos existentes ya son >obsoletos, pues corresponden a versiones que salieron >por allá de 2002-2003, así que habría que evaluar la >posibilidad. > >Quién se anota. Yo voy a empezar solicitando el >permiso de traducción(o anunciandoles a los autores, >si el documento tiene licencia libre) para los de >PythonCard. > > César > > > --- alex ordoñez escribió: > > > >>Hola a todos, alguien sabe de un manual en español >>sobre python Card y >>wxpython, ya que no he podido enconrar nada. >> >>gracias. >>alx >>_______________________________________________ >>Python-es mailing list >>Python-es en aditel.org >>http://listas.aditel.org/listinfo/python-es >> >> >> > > > > > > >___________________________________________________________ >Do You Yahoo!? >La mejor conexión a Internet y 2GB extra a tu correo por $100 al mes. http://net.yahoo.com.mx > >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es > > > Si es por traducir yo me puedo apuntar, aunque cuantos mas seamos mas rapido lo haremos y con menos esfuerzo. Saludos From lwayar en retronet.com.ar Mon Jul 18 18:38:26 2005 From: lwayar en retronet.com.ar (Luis Tomas Wayar) Date: Mon, 18 Jul 2005 13:38:26 -0300 Subject: Borrar un linea de un archivo In-Reply-To: <200507152327.45510.lwayar@retronet.com.ar> References: <200507152327.45510.lwayar@retronet.com.ar> Message-ID: <200507181338.26546.lwayar@retronet.com.ar> El Vie 15 Jul 2005 23:27, Luis Tomas Wayar escribió: Muchas gracias por las respuestas, entendi cual era mi error. Saludos cordiales. > Hola estimado pythonadictos. Estoy tratando de borrar una linea de un archivo de texto, se trata de reglas de un firewall, > lo que hago es lo siguiente: > > 1.- Cargo el archivos en una lista > 2.- Iteratuo con la lista para buscar las lineas que contienen un numero ip > 3.- borro de la lista el elemento que cumple la condicion > > Ahora el problema, me borra bien los elementos de la lista -1, es decir me deja el ultimo elemento que conicide con la condicion. > > Ahora las preguntas: > > 1.- Que hago mal? > 2.- Hay alguna forma mejor de hacerlo? > > A continuacion la funcion: > > def borrar_puesto(ip): > archivo = open("/etc/firewall/gshield.last","r") > reglas = archivo.readlines() > for regla in reglas: > if regla.__contains__(ip): > reglas.remove(regla) > > Muchas gracias y que tengan buen dia. > > -- -----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.4.1 (GNU/Linux) mQGiBEKrDCIRBAC+qeS50jxjCuQ1JBfl6dpHV4dPwEsb/v+72/b4VeIk2Zbz0Yaz 5EFbASK0RGANdz9y+u0llvTB+WTCDY/LlO5ygPvMG/d6ooTQPyBh1yIz3ojRELRE HIsrZmRN2ZVJN2HQjo4BcNbtcufDRnEsaq29VOOBd705N0d0YoDcEXMpFwCgj/cw 2lrnT4S1w0ekdet+TSwVoCED+gPyYqN+BM0kw556b38u4a63PL6BCik7LykQZY8y 5kYvyP3IMM8F4NgK7sk5VgrCGeYvCPciSnn8O6Vr/dpxRHTr2a/cpyThnMSxl1dk 1syFyX2iR1AB4+19An/K5ejgSgLQA+fK0SLKh2DIT217TwIaflSeEjrugmZoJZQ5 pgXAA/9H3kZn3JZHlBApmLBWxkhIM3WKe0T5eOqc82MZj9lKVTwk3DuJJP4uJYkN 5tWHcpQh1O9seej/F7g7oZmIuNUA7kNGkVSP1DtGBH5GdiVNrj9SBYoM+ayrH4oq quwlaEgn/22rg7u5yYA2PV/6X87Q9y7I/3/VrSXNnkeemUiXibQ0THVpcyBUb21h cyBXYXlhciAoUmV0cm9NYW4pIDxsd2F5YXJAcmV0cm9uZXQuY29tLmFyPoheBBMR AgAeBQJCqwwiAhsDBgsJCAcDAgMVAgMDFgIBAh4BAheAAAoJEAr8xRtwJBc8/toA oIESxASJIhQiUJGuMxob0cysIPUzAJwKeeviE7IQmBCYAUHxuK26RXo1KrkCDQRC qwxWEAgAknagwLPR5oOvyqkNP4gRqVZoxuIQ/RGerTRYuFYKkD2yTd8ziSuHIMrt ng18LjUTE4+kH0eiy243DigSWATwLbtdSttbeeE5CJDABb8UWXU6M63kPabQz/q+ YdF1PqD/JQj+8tcJP3lqgLKIDZFnxKFjam0pffooaMbf2Wrjlb8iwYq44YQ91Vzc cgN9V1eZRHHgTdVj9SCYJAJinIp9WSFs/1JbG7nC7BGI9BCRCwERk0+R1mdZrWUg 9HYLV7QUJATjrZmJP8oS8++tZCfDWMlgtCca1KiD47wdgTWeG9H9n0HqFhzWTP/E WMElvTSrCPubniS+eHHlzUDNvhMEMwADBQf+NwjVa6nIsjRj7zO1dG4wT2Z57eiu FcQ4CAMX6cS+h6OY051ISawAUcQjON2bJ68bZIhiM2nma9vgi4CJBnRNqQ5PwQTp deoWk/GbWre9iYXYQ54Ya9OUM2HqqwpTQUA2XVRndw1JV8oXo01/qCDVwkAJiiue J+4FKBDPnQTn0P85wPhcfpmiRulKxYUgkSegHNyFNBBM92ak2jKaES+cCaoyBDTy v4wEAnAWCQNDp2KWpGamweYh6k9nKFMP3j7ehTz1Wafod1fP7AJ6yHEAbVZd8S9+ NrLRzSyXQwReXKKG+evc2gc/t7Me+vbzp5OX1eXrloMDoX3BN9XEDaedaYhJBBgR AgAJBQJCqwxWAhsMAAoJEAr8xRtwJBc8VMEAn1kY8m+V+R9zevVDectbh0e1QNiB AJ0flIfJk6VuNv+qvQJQF1kGuCGzgQ== =0Ml7 -----END PGP PUBLIC KEY BLOCK----- From kerocky en ono.com Mon Jul 18 18:42:53 2005 From: kerocky en ono.com (=?iso-8859-1?Q?Berna_L=F3pez?=) Date: Mon, 18 Jul 2005 18:42:53 +0200 Subject: insertar tuplas en firebird References: <20050718152703.E7C01143FF8F@devnull.aditel.org> Message-ID: <000801c58bb7$c1d169d0$c47ba8c0@portatilxxx> Lo siento, pero no acabo de enternder o no me funciona, el Trigger es el siguiente T$_COD_FAMILIA de tipo: Before Insert as begin if (new."COD_FAMILIA" is null) then begin new."COD_FAMILIA"= gen_id("G$_COD_FAMILIA",1); end end la tabla creada es la siguiente: /* Table: FAMILIA, Owner: BERNA */ CREATE TABLE "FAMILIA" ( "COD_FAMILIA" INTEGER NOT NULL, "ACRONIMO" CHAR(3) CHARACTER SET WIN1252 NOT NULL, "NOM_FAMILIA" VARCHAR(30) CHARACTER SET WIN1252 NOT NULL, PRIMARY KEY ("COD_FAMILIA") ); por tanto la consulta seria: insert into FAMILIA values (",'aaa','abcdefghijkl') pero la clave principal me da problemas, alguien sabria decirme que valor tengo q poner aqui Ah, perdon si es muy larga mi consulta. Gracias >En Firebird un autoincrmental se implementa mediante un trigger Before >Insert y un generator. Lo que hace el trigger es completar el campo >autoincrmental con el valor que le devuelve el generador (tomalo como >funcion que devuelve un numero consecutivo incrementado en 1). >Tenes que ver como esta implementado el trigger para ver que valor tenes >que pasarle al campo primary key (normalmente '' - el string vacio), >pero tenes que pasarle un valor. Por ejemplo: >insert into UnaTabla (CampoPK, Valor) >values ('', 35.2); >y no >insert into UnaTabla (Valor) >values (35.2); > Gracias. -- Sergio Gómez - S3R From erny en sicem.biz Mon Jul 18 19:07:22 2005 From: erny en sicem.biz (Ernesto Revilla) Date: Mon, 18 Jul 2005 19:07:22 +0200 Subject: =?ISO-8859-1?Q?Conexi=F3n_a_registro_remot?= =?ISO-8859-1?Q?o__=28con_usuario_y_contrase=F1a_=29?= In-Reply-To: <41005.80.58.1.111.1121687853.squirrel@k-rolus.net> References: <41005.80.58.1.111.1121687853.squirrel@k-rolus.net> Message-ID: <42DBE1CA.7060804@sicem.biz> Hola, cuando quiero administrar una máquina remota, suelo iniciar una sesión sobre la máquina remota, indicando algún recurso mediante: net use \\ordenador\recurso /user:nombreusuario pwd creo que lo del nombre del recurso es opcional. El objetivo es iniciar la sesión en esa máquina. Creo que después si te conectas al registro remoto, utiliza esas credenciales. Depende si en el equipo remoto ese usuario con que has iniciado la sesión, tiene privilegios suficientes para modificar el registro. He encontrado esto en google: http://tgolden.sc.sabren.com/python/wmi_cookbook.html Administración a através de WMI. Yo he probado conectarme a una máquina remota, pero no me ha funcionado bien (siempre me dice Accesso denegado). Quizá tú tengas mejor suerte. Erny Carlos Galisteo de Cabo escribió: >Hola, a ver si me podeis echar una mano que ando un poco atascado. >Necesito leer unas claves del registro de maquinas remotas. >Todo funciona bien (de momento, estoy empezando a probar) con el registro >local y con máquinas donde no necesito autentificarme (o mis credenciales >tienen privilegios suficientes). >El problema está en aquellas a las que debería especificar un >dominio\usuario y password. > >Más que problema es que no tengo ni idea de cómo hacerlo y no encuentro >nada claro en google :P > >Si hago: >_winreg.ConnectRegistry("maquina_de_mi_dominio",_winreg.HKEY_LOCAL_MACHINE) >me devuelve: > >Pero en una máquina del otro dominio: >_winreg.ConnectRegistry("maquina_de_otro_dominio",_winreg.HKEY_LOCAL_MACHINE) >casca: >Traceback (most recent call last): > File "", line 1, in ? >WindowsError: [Errno 5] Acceso denegado > > > ¿Ideas? > >Gracias. > > --- avast! Antivirus: Saliente mensaje limpio. Base de datos de Virus (VPS): 0529-0, 18/07/2005 Comprobado en: 18/07/2005 19:07:22 avast! tiene los derechos reservados (c) 2000-2004 ALWIL Software. http://www.avast.com From machucao4 en yahoo.es Mon Jul 18 19:14:16 2005 From: machucao4 en yahoo.es (Manuel Labra) Date: Mon, 18 Jul 2005 19:14:16 +0200 (CEST) Subject: wxphyton In-Reply-To: <42DBCA3D.5070505@teleline.es> References: <42DBCA3D.5070505@teleline.es> Message-ID: <20050718171416.4388.qmail@web26201.mail.ukl.yahoo.com> --- Roberto Ferrer escribió: > Juan Pablo Rossi wrote: > > > Puede que sea una consulta medio estupida, pero > asi serán hasta que > > maneje mas o menos bien python, tenganme > paciencia gente. > > acabo de instalar wxpython, ya que según vengo > leyendo, este es un > > entorno de desarrollo python. En la carpeta que me > lo descomprimió no > > encuentro un ejecutable, como hago correr ese > programa (windows). > > Muchas gracias > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es > > > > __________ NOD32 1.1166 (20050711) Information > __________ > > > > This message was checked by NOD32 antivirus > system. > > http://www.eset.com > > > > > > > Uhm....tengo entendido que wxpython no es un IDE, > que creo que es lo que > estas buscando, sino mas bien un conjunto de > librerias insertadas en > python como modulo para poder desarrollar > aplicaciones con interfaz > grafica. para instalarlo $python setup.py install y > ya tendras las > librerias instaladas. Despues debes generar el > entorno gráfico tu mismo > :) o emplear algun entorno de desarrollo que te > permita hacerlo, > boa-contructor por ejemplo. > > Saludos > > _____ Correcto wxpython es una biblioteca que te permite crear aplicaciones gráficas. Si quieres un ambiente para usar esta biblioteca puedes ocupar boa-contructor, aunque yo acupo wxglade el cual genera código en python utilizando wxpython. Saludos. -------- Manuel Labra S. www.alumnos.utfsm.cl/~manuel_labra www.sansanet.cl/~mlabra __________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > ______________________________________________ Renovamos el Correo Yahoo! Nuevos servicios, más seguridad http://correo.yahoo.es From machucao4 en yahoo.es Mon Jul 18 19:21:01 2005 From: machucao4 en yahoo.es (Manuel Labra) Date: Mon, 18 Jul 2005 19:21:01 +0200 (CEST) Subject: wxphyton In-Reply-To: <42DBCB35.6060504@cirn.inta.gov.ar> References: <42DBCB35.6060504@cirn.inta.gov.ar> Message-ID: <20050718172101.5914.qmail@web26201.mail.ukl.yahoo.com> --- Juan Pablo Rossi escribió: > hola, ya lo tengo instalado, lo que no se es como > acceder. El que > instaé es el wx-2.6-msw-unicode, estoy trabajando > con windows. al > instalarlo me generó algunas carpetas con archivos > .py entre otros, pero > ningun ejecutable. Claro wxpython es una biblioteca. En python los ejecutables son los py. En windows basta hacer doble click y se ejecutan. Si quieres ocupar wxpython has lo siguiente. 1.- Instala el interprete de python. 2.- Instala wxpython. 3.- Instala wxglade. http://wxglade.sourceforge.net/index.php#download 4.- Has una serie de frames en wxglade y pone luego generar codigo. eso te dara un codigo utilizando wxpython el cual es de la extención .py que son ejecutables en python, recuerda que python es interpretado, "algo así como html". Lo que me costo entender en wxglade y wxpython son como utilizar los sizers, bueno aun no lo entiendo bien. Aunque wxglade no es tan necesrio entenderlo. Saludos! -------- Manuel Labra S. www.alumnos.utfsm.cl/~manuel_labra www.sansanet.cl/~mlabra > > Cesar Cardenas Desales wrote: > > >No se qué versión habrás bajado. Si no estás en > >Windoze, donde con usar el instalador .exe basta, > lo > >mas probable es que debas ejecutar: > > > >$python setup.py install > > > > > > --- Juan Pablo Rossi > >escribió: > > > > > > > >>Puede que sea una consulta medio estupida, pero > asi > >>serán hasta que > >>maneje mas o menos bien python, tenganme > paciencia > >>gente. > >>acabo de instalar wxpython, ya que según vengo > >>leyendo, este es un > >>entorno de desarrollo python. En la carpeta que me > >>lo descomprimió no > >>encuentro un ejecutable, como hago correr ese > >>programa (windows). > >>Muchas gracias > >>_______________________________________________ > >>Python-es mailing list > >>Python-es en aditel.org > >>http://listas.aditel.org/listinfo/python-es > >> > >> > >> > > > > > > > > > > > > > >___________________________________________________________ > > >Do You Yahoo!? > >La mejor conexión a Internet y 2GB extra a > tu correo por $100 al mes. http://net.yahoo.com.mx > > > >_______________________________________________ > >Python-es mailing list > >Python-es en aditel.org > >http://listas.aditel.org/listinfo/python-es > > > > > > > > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > ______________________________________________ Renovamos el Correo Yahoo! Nuevos servicios, más seguridad http://correo.yahoo.es From sergio en s3r.com.ar Mon Jul 18 19:44:39 2005 From: sergio en s3r.com.ar (=?ISO-8859-1?Q?Sergio_G=F3mez?=) Date: Mon, 18 Jul 2005 14:44:39 -0300 Subject: insertar tuplas en firebird In-Reply-To: <000801c58bb7$c1d169d0$c47ba8c0@portatilxxx> References: <20050718152703.E7C01143FF8F@devnull.aditel.org> <000801c58bb7$c1d169d0$c47ba8c0@portatilxxx> Message-ID: <42DBEA87.1020707@s3r.com.ar> Berna López wrote: > Lo siento, pero no acabo de enternder o no me funciona, el Trigger es el > siguiente > > T$_COD_FAMILIA de tipo: Before Insert > > as > begin > if (new."COD_FAMILIA" is null) then > begin > new."COD_FAMILIA"= gen_id("G$_COD_FAMILIA",1); > end > end > > la tabla creada es la siguiente: > > > /* Table: FAMILIA, Owner: BERNA */ > CREATE TABLE "FAMILIA" > ( > "COD_FAMILIA" INTEGER NOT NULL, > "ACRONIMO" CHAR(3) CHARACTER SET WIN1252 NOT NULL, > "NOM_FAMILIA" VARCHAR(30) CHARACTER SET WIN1252 NOT NULL, > PRIMARY KEY ("COD_FAMILIA") > ); > > por tanto la consulta seria: > > insert into FAMILIA values (",'aaa','abcdefghijkl') > > pero la clave principal me da problemas, alguien sabria decirme que valor > tengo q poner aqui > > Ah, perdon si es muy larga mi consulta. Gracias Dado tu ejemplo, la sentencia seria: insert into FAMILIA values (null,'aaa','abcdefghijkl'); pero yo te recomiendo que siempre agregues la lista de columnas que queres agregarle valores, entonces quedaria: insert into FAMILIA (COD_FAMILIA, ACRONIMO, NOM_FAMILIA) values (null,'aaa','abcdefghijkl'); Ahora dos cosas: * 1ro Fijate que el null es para COD_FAMILIA que es donde la primera condicion dentro del trigge es verdadera y el generador te devuelve el valor adecuado. Esto quiere decir, que si modificas la primer linea del cuerpo del trigger, como por ejemplo a 'if (:new.COD_FAMILIIA = 0) then' significa que la sentencia adecuada para insertar una tupla es: insert into FAMILIA (COD_FAMILIA, ACRONIMO, NOM_FAMILIA) values (0,'aaa','abcdefghijkl'); * 2do Te conviene siempre agregar la lista de nombres de columnas en una sentencia insert, ya que sino agregas los valores por orden en que fueron definidas las columnas. Y al hacer: insert into FAMILIA values ('aaa','abcdefghijkl'); el servidor pensara que 'aaa' es un valor para COD_FAMILIA, no para acronimo, y como son distintos tipos te dara un error. Por eso, si usas esta sentencia: insert into FAMILIA (ACRONIMO, NOM_FAMILIA) values ('aaa','abcdefghijkl'); 'aaa' no es en valor para COD_FAMILIA (como en el ejemplo anterior) sino que si es para ACRONIMO y ademas el valor de COD_FAMILIA llegara como null. Espero con esto no haberte confundido mas aun. queria darte un panorama mas conceptual. Saludos, -- Sergio Gómez - S3R ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From interhouse en teleline.es Mon Jul 18 19:46:16 2005 From: interhouse en teleline.es (Roberto Ferrer) Date: Mon, 18 Jul 2005 19:46:16 +0200 Subject: wxphyton In-Reply-To: <20050718172101.5914.qmail@web26201.mail.ukl.yahoo.com> References: <20050718172101.5914.qmail@web26201.mail.ukl.yahoo.com> Message-ID: <42DBEAE8.3060605@teleline.es> Manuel Labra wrote: > --- Juan Pablo Rossi >escribió: > > > >>hola, ya lo tengo instalado, lo que no se es como >>acceder. El que >>instaé es el wx-2.6-msw-unicode, estoy trabajando >>con windows. al >>instalarlo me generó algunas carpetas con archivos >>.py entre otros, pero >>ningun ejecutable. >> >> > >Claro wxpython es una biblioteca. >En python los ejecutables son los py. En windows basta >hacer doble click y se ejecutan. > >Si quieres ocupar wxpython has lo siguiente. >1.- Instala el interprete de python. >2.- Instala wxpython. >3.- Instala wxglade. >http://wxglade.sourceforge.net/index.php#download >4.- Has una serie de frames en wxglade y pone luego >generar codigo. eso te dara un codigo utilizando >wxpython el cual es de la extención .py que son >ejecutables en python, recuerda que python es >interpretado, "algo así como html". > >Lo que me costo entender en wxglade y wxpython son >como utilizar los sizers, bueno aun no lo entiendo >bien. Aunque wxglade no es tan necesrio entenderlo. > >Saludos! > >-------- >Manuel Labra S. >www.alumnos.utfsm.cl/~manuel_labra >www.sansanet.cl/~mlabra > > > > >>Cesar Cardenas Desales wrote: >> >> >> >>>No se qué versión habrás bajado. Si no estás en >>>Windoze, donde con usar el instalador .exe basta, >>> >>> >>lo >> >> >>>mas probable es que debas ejecutar: >>> >>>$python setup.py install >>> >>> >>>--- Juan Pablo Rossi >>>escribió: >>> >>> >>> >>> >>> >>>>Puede que sea una consulta medio estupida, pero >>>> >>>> >>asi >> >> >>>>serán hasta que >>>>maneje mas o menos bien python, tenganme >>>> >>>> >>paciencia >> >> >>>>gente. >>>>acabo de instalar wxpython, ya que según vengo >>>>leyendo, este es un >>>>entorno de desarrollo python. En la carpeta que me >>>>lo descomprimió no >>>>encuentro un ejecutable, como hago correr ese >>>>programa (windows). >>>>Muchas gracias >>>>_______________________________________________ >>>>Python-es mailing list >>>>Python-es en aditel.org >>>>http://listas.aditel.org/listinfo/python-es >>>> >>>> >>>> >>>> >>>> >>> >>> >>> >>> >>> >>> >>___________________________________________________________ >> >> >> >>>Do You Yahoo!? >>>La mejor conexión a Internet y 2GB extra a >>> >>> >>tu correo por $100 al mes. http://net.yahoo.com.mx >> >> >>>_______________________________________________ >>>Python-es mailing list >>>Python-es en aditel.org >>>http://listas.aditel.org/listinfo/python-es >>> >>> >>> >>> >>> >>> >>_______________________________________________ >>Python-es mailing list >>Python-es en aditel.org >>http://listas.aditel.org/listinfo/python-es >> >> >> > > > > >______________________________________________ >Renovamos el Correo Yahoo! >Nuevos servicios, más seguridad >http://correo.yahoo.es >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es > > > wxGlade no genera codigo verdad?¿, o eso tengo entendido...has probado Boa?.... esta muy logrado. Saludos From jpfuertes en gmail.com Mon Jul 18 20:20:19 2005 From: jpfuertes en gmail.com (Juampi) Date: Mon, 18 Jul 2005 15:20:19 -0300 Subject: Bibliografia Python Message-ID: <247522d105071811201f364099@mail.gmail.com> 6592 Este libro de Bruce Eckels tiene conceptos muy interesantes sobre programacion orientada a objetos, si alguien lo http://mindview.net/Books/TIPython -- ( o _ / / \ V_ / _ ' . nnnn (@ @) -----oOOo-(_)-oOOo----- From jsemari en terra.es Mon Jul 18 23:55:09 2005 From: jsemari en terra.es (Josemari) Date: Mon, 18 Jul 2005 23:55:09 +0200 Subject: Chequeo de la =?iso-8859-1?q?conexi=F3n_ADSL?= Message-ID: <42DC253D.10602@terra.es> Estoy preiniciándome en Python, solo he hecho algo más que simplísimos programas de prácticas, pero ahora quiero hacer algo que me sea útil. El caso es que tengo cortes intermitentes del ADSL y siempre que me llaman los técnicos coincide con que funciona. Como no estoy en casa mucho tiempo, se me ha ocurrido hacer un programita que chequee la conexión a Internet, y me apunte la hora a la que se va, y a la hora a la que vuelve, para tener mas datos. Tengo la ligera sospecha que se da a las horas de más calor, por lo que puede se problema del router. Lo primero que he pensado es en hacer un ping cíclicamente al ip de "enfrente" de mi ADSLmodem, y tratar la respuesta, apuntando así la hora en un fichero si no ha tenido éxito. Pero no se si hay un comando mejor, o alguna función que me diga directamente si hay conexión, sin tener que tratar la devolución del "ping". ¿Me podéis dar alguna pista? Gracias Josemari From jrossi en cirn.inta.gov.ar Tue Jul 19 14:45:23 2005 From: jrossi en cirn.inta.gov.ar (Juan Pablo Rossi) Date: Tue, 19 Jul 2005 09:45:23 -0300 Subject: wxphyton In-Reply-To: <20050718171416.4388.qmail@web26201.mail.ukl.yahoo.com> References: <20050718171416.4388.qmail@web26201.mail.ukl.yahoo.com> Message-ID: <42DCF5E3.8090403@cirn.inta.gov.ar> pruebo con eso. Muchas gracias ;) Manuel Labra wrote: > --- Roberto Ferrer escribió: > > > >>Juan Pablo Rossi wrote: >> >> >> >>>Puede que sea una consulta medio estupida, pero >>> >>> >>asi serán hasta que >> >> >>>maneje mas o menos bien python, tenganme >>> >>> >>paciencia gente. >> >> >>>acabo de instalar wxpython, ya que según vengo >>> >>> >>leyendo, este es un >> >> >>>entorno de desarrollo python. En la carpeta que me >>> >>> >>lo descomprimió no >> >> >>>encuentro un ejecutable, como hago correr ese >>> >>> >>programa (windows). >> >> >>>Muchas gracias >>>_______________________________________________ >>>Python-es mailing list >>>Python-es en aditel.org >>>http://listas.aditel.org/listinfo/python-es >>> >>>__________ NOD32 1.1166 (20050711) Information >>> >>> >>__________ >> >> >>>This message was checked by NOD32 antivirus >>> >>> >>system. >> >> >>>http://www.eset.com >>> >>> >>> >>> >>> >>Uhm....tengo entendido que wxpython no es un IDE, >>que creo que es lo que >>estas buscando, sino mas bien un conjunto de >>librerias insertadas en >>python como modulo para poder desarrollar >>aplicaciones con interfaz >>grafica. para instalarlo $python setup.py install y >>ya tendras las >>librerias instaladas. Despues debes generar el >>entorno gráfico tu mismo >>:) o emplear algun entorno de desarrollo que te >>permita hacerlo, >>boa-contructor por ejemplo. >> >>Saludos >> >>_____ >> >> > >Correcto wxpython es una biblioteca que te permite >crear aplicaciones gráficas. Si quieres un ambiente >para usar esta biblioteca puedes ocupar >boa-contructor, aunque yo acupo wxglade el cual genera >código en python utilizando wxpython. > >Saludos. >-------- >Manuel Labra S. >www.alumnos.utfsm.cl/~manuel_labra >www.sansanet.cl/~mlabra >__________________________________________ > > >>Python-es mailing list >>Python-es en aditel.org >>http://listas.aditel.org/listinfo/python-es >> >> >> > > > > >______________________________________________ >Renovamos el Correo Yahoo! >Nuevos servicios, más seguridad >http://correo.yahoo.es >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es > > > > From marcelobarbero en arnet.com.ar Tue Jul 19 16:13:02 2005 From: marcelobarbero en arnet.com.ar (marcelobarbero en arnet.com.ar) Date: Tue, 19 Jul 2005 10:13:02 -0400 (WST) Subject: wxphyton Message-ID: <200507191413.j6JED2h19015@webserver7.arnet.com.ar> Bueno, a ver si te aclaro algo: Suponiendo que tenés instalado Python en C:\\Python, cuando instalás las wxPython, estas son bibliotecas que te permiten diseñar una Interfaz Gráfica de Usuario (GUI) multiplataforma y en lenguaje Python. (Se instalan en C:\\Python\\Lib\\site-packages\\wxPython) Para usarlas en cualquier script Python tenés que hacer un import (import wx, por ejemplo), fijate en la documentación. Si querés saber cómo se ven los programas que se desarrollan usando las wxPython (que son scripts Python), bajate e instalá el archivo de las Docs and Demos (http://prdownloads.sourceforge.net/wxpython/wxPython2.6-win32-docs-demos-2.6.1.0.exe). Te va a crear un acceso directo en el menú Programas de Windows, y desde ahí podés ver todo su código vufente y ejemplos de uso. Pero no hay ningún \"exe\". Todo es código Python (*.py o *.pyw). Espero que te haya sido de ayuda y comentame si con esto entendiste de qué va la mano. Marcelo Mensaje citado por: Juan Pablo Rossi : > pruebo con eso. Muchas gracias ;) > __________________________________ Registrate desde http://servicios.arnet.com.ar/registracion/registracion.asp?origenid=9 y participá de todos los beneficios del Portal Arnet. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From hernan en orgmf.com.ar Tue Jul 19 15:30:19 2005 From: hernan en orgmf.com.ar (=?iso-8859-1?Q?Hern=E1n_Mart=EDnez_Foffani?=) Date: Tue, 19 Jul 2005 15:30:19 +0200 Subject: =?iso-8859-1?Q?RE:_=5BPython-es=5D_Chequeo_de_la_conexi=F3n_ADSL?= In-Reply-To: <42DC253D.10602@terra.es> References: <42DC253D.10602@terra.es> Message-ID: > El caso es que tengo cortes intermitentes del ADSL y siempre que me > llaman los técnicos coincide con que funciona. Como no estoy en casa > mucho tiempo, se me ha ocurrido hacer un programita que chequee la > conexión a Internet, y me apunte la hora a la que se va, y a la hora a > la que vuelve, para tener mas datos. Tengo la ligera sospecha que se > da a las horas de más calor, por lo que puede se problema del router. > Lo primero que he pensado es en hacer un ping cíclicamente al ip de > "enfrente" de mi ADSLmodem, y tratar la respuesta, apuntando así la > hora en un fichero si no ha tenido éxito. Pero no se si hay un > comando mejor, o alguna función que me diga directamente si hay > conexión, sin tener que tratar la devolución del "ping". > > ¿Me podéis dar alguna pista? El programa ping lo que hace es enviar paquetes ICMP. Si bien ese protocolo no está incluído en la biblioteca estandar de python hay algunas librerías de terceros: http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/409689 Los inconvenientes que tiene (y que son las razones por las cuales no se han incluido en la distribución oficial del lenguaje) son la portabilidad y los permisos de acceso. Lo mas sencillo y portable es que tu aplicación ejecute el comando externo ping y procese la salida. Otras alternativas podrían ser que tu programa se conecte con router como si fuera un usuario administrador y leyera el estado actual procesando el html (si tu router ofrece interfaz con un navegador) o procesando el texto de salida (interfaz de línea de comandos) O también podrías activar el control del dispositivo por SNMP. Saludos, -H. From joepc74 en gmail.com Tue Jul 19 23:01:11 2005 From: joepc74 en gmail.com (JoePC) Date: Tue, 19 Jul 2005 23:01:11 +0200 Subject: Puertos en linux Message-ID: <54af49c10507191401e812ee3@mail.gmail.com> Tengo un problema, estoy haciendo pruebas para implementar un servidor de smtp, pero en linux no me deja capturar el puerto 20 salvo que sea el root. ¿como debo hacerlo? Gracias. From conan en lugmen.org.ar Wed Jul 20 00:32:45 2005 From: conan en lugmen.org.ar (Fernando Canizo) Date: Tue, 19 Jul 2005 19:32:45 -0300 Subject: que usar para obtener fecha en formato conforme a rfc822 Message-ID: <20050719223245.GA7499@lugmen.org.ar> Hola a todos. Estoy generando el xml para feeds rss 2.0 para mi blog con python. En la especificacion del tag dice que ahi dentro debe haber una fecha conforme a la rfc822: http://www.faqs.org/rfcs/rfc822.html (5. DATE AND TIME SPECIFICATION, pag 26) Una fecha de estas se ve asi: "Fri, 1 Jul 2005 09:53:26 +0200" Sin embargo usando este codigo: import datetime segundos = 1120199537 a = datetime.datetime.fromtimestamp(segundos) print a.ctime Obtengo: Fri Jul 1 03:32:17 2005 El cual es casi parecido a lo que necesito. Las busquedas: "rfc822 date inurl:aditel.org" no reporta nada util. Hasta aqui habia compuesto este mail para preguntar que debia usar, ya que me parecia que algo tan extendido como la rfc822 deberia tener alguna implementacion ya hecha en python. Entonces me dije que no habia buscado lo suficiente y probe con: "rfc822 date python" y voila! El primer enlace me llevo al hilo de discusion que respondia mi pregunta: http://mail.python.org/pipermail/python-list/1999-April/000491.html Resulta que hay todo un modulo llamado rfc822 ! Me ha dado pena tirar el mail, asique lo envio para el proximo que busque sobre esto en aditel. -- Fernando Canizo - LUGMen: www.lugmen.org.ar - A8N: a8n.lugmen.org.ar Modesty: The gentle art of enhancing your charm by pretending not to be aware of it. -- Oliver Herford ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From py en ls-l.org Wed Jul 20 02:44:49 2005 From: py en ls-l.org (Chema Cortes) Date: Wed, 20 Jul 2005 02:44:49 +0200 Subject: que usar para obtener fecha en formato conforme a rfc822 In-Reply-To: <20050719223245.GA7499@lugmen.org.ar> References: <20050719223245.GA7499@lugmen.org.ar> Message-ID: <200507200244.49651.py@ls-l.org> El Miércoles 20 Julio 2005 00:32, Fernando Canizo escribió: > Estoy generando el xml para feeds rss 2.0 para mi blog con python. Es curioso, yo también estaba pensando en hacerme uno. ¿Cómo lo llevas? > En la > especificacion del tag dice que ahi dentro debe haber > una fecha conforme a la rfc822: http://www.faqs.org/rfcs/rfc822.html > (5. DATE AND TIME SPECIFICATION, pag 26) > Una fecha de estas se ve asi: "Fri, 1 Jul 2005 09:53:26 +0200" > > [...] > > Las busquedas: "rfc822 date inurl:aditel.org" no reporta nada util. Ummm...Supongo que estás hablando de google. Lo primero que te tengo que decir es que 'inurl:' es para buscar "dentro" de las urls del documento, o sea, entre los documentos que tiene alguna referencia a aditel.org. Supongo que lo que querías era otra cosa, restringir la búsqueda a la web de adite.org: "rfc822 date site:aditel.org" (Tampoco hay suerte :-P) > probe con: "rfc822 date python" y voila! El primer enlace me > llevo al hilo de discusion que respondia mi pregunta: > http://mail.python.org/pipermail/python-list/1999-April/000491.html > > Resulta que hay todo un modulo llamado rfc822 ! La pena es que ahora que lo habías encontrado resulta que se está "abandonando" y no se debería emplear. :-( Emplea mejor el paquete 'email'. Tiene un módulo Utils que te ayudará: >>> import email.Utils >>> email.Utils.formatdate(1120199537) 'Fri, 01 Jul 2005 06:32:17 -0000' From jpfuertes en gmail.com Wed Jul 20 03:26:26 2005 From: jpfuertes en gmail.com (Juampi) Date: Tue, 19 Jul 2005 22:26:26 -0300 Subject: =?iso-8859-1?q?Re=3A_Chequeo_de_la_conexi=F3n_ADSL_V?= =?iso-8859-1?q?ol_279=2C_Env=EDo_24?= In-Reply-To: <20050720004510.2AF3A143FF85@devnull.aditel.org> References: <20050720004510.2AF3A143FF85@devnull.aditel.org> Message-ID: <247522d1050719182618f398c8@mail.gmail.com> El siguiente codigo espero te pueda servir como punto de partida import sys import time import urllib google = 'http://www s.google.com' status = True while 1: try: test = urllib.urlopen(google) test.read() if not status: print 'Recuperado ' + time.strftime('%c') status = True except: if status: print 'Dejo de funcionar ' + time.strftime('%c') status = False time.sleep(60) Message: 3 Date: Mon, 18 Jul 2005 23:55:09 +0200 From: Josemari Subject: [Python-es] Chequeo de la conexión ADSL To: La lista de python en castellano Message-ID: <42DC253D.10602 en terra.es> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Estoy preiniciándome en Python, solo he hecho algo más que simplísimos programas de prácticas, pero ahora quiero hacer algo que me sea útil. El caso es que tengo cortes intermitentes del ADSL y siempre que me llaman los técnicos coincide con que funciona. Como no estoy en casa mucho tiempo, se me ha ocurrido hacer un programita que chequee la conexión a Internet, y me apunte la hora a la que se va, y a la hora a la que vuelve, para tener mas datos. Tengo la ligera sospecha que se da a las horas de más calor, por lo que puede se problema del router. Lo primero que he pensado es en hacer un ping cíclicamente al ip de "enfrente" de mi ADSLmodem, y tratar la respuesta, apuntando así la hora en un fichero si no ha tenido éxito. Pero no se si hay un comando mejor, o alguna función que me diga directamente si hay conexión, sin tener que tratar la devolución del "ping". ¿Me podéis dar alguna pista? Gracias Josemari From dvilla en gmx.net Wed Jul 20 10:22:40 2005 From: dvilla en gmx.net (David Villa) Date: Wed, 20 Jul 2005 10:22:40 +0200 Subject: Puertos en linux In-Reply-To: <54af49c10507191401e812ee3@mail.gmail.com> References: <54af49c10507191401e812ee3@mail.gmail.com> Message-ID: <1121847761.6823.5.camel@amy> Hola: El mar, 19-07-2005 a las 23:01 +0200, JoePC escribió: > Tengo un problema, estoy haciendo pruebas para implementar un servidor > de smtp, pero en linux no me deja capturar el puerto 20 salvo que sea > el root. > ¿como debo hacerlo? Pues así debe ser. Todos los puertos por debajo del 1024 están reservados para aplicaciones bien conocidas y un usuario normal no puede poner servidores ahí. Saludos From dvilla en gmx.net Wed Jul 20 10:27:29 2005 From: dvilla en gmx.net (David Villa) Date: Wed, 20 Jul 2005 10:27:29 +0200 Subject: python y los nokia serie 60 Message-ID: <1121848049.6823.9.camel@amy> Hola: Como sé que algunos habéis jugueteado con el Symbian de Nokia pregunto: ¿Se puede coger una llamada entrante con el API disponible para Python? Parece ser que con Java no se puede pero con C++ sí. ¿Los bindings de python no usan las mismas librerías que C++? Gracias From canopus en gmail.com Wed Jul 20 10:37:41 2005 From: canopus en gmail.com (canopus) Date: Wed, 20 Jul 2005 10:37:41 +0200 Subject: python y los nokia serie 60 In-Reply-To: <1121848049.6823.9.camel@amy> References: <1121848049.6823.9.camel@amy> Message-ID: On 7/20/05, David Villa wrote: > Hola: > > Como sé que algunos habéis jugueteado con el Symbian de Nokia pregunto: > > ¿Se puede coger una llamada entrante con el API disponible para Python? > Parece ser que con Java no se puede pero con C++ sí. ¿Los bindings de > python no usan las mismas librerías que C++? > > Gracias Pues por lo que probé en el SDK anterior (creo que han sacado el 2.0), NO. El API es bastante limitado en cuanto al acceso al sistema del movil, aunque sí se puede acceder a algunos perfiles Bluetooth y a la pantalla, claro. En breve retomaré el tema más a fondo, ya que al fin tendré un movil Serie 60 :) Saludos. Joaquin Santos. From py en ls-l.org Wed Jul 20 13:52:51 2005 From: py en ls-l.org (Chema Cortes) Date: Wed, 20 Jul 2005 13:52:51 +0200 Subject: Error del ADO con el tipo Decimal Message-ID: <42DE3B13.2030306@ls-l.org> He detectado un error bastante curioso, pero aún no soy capaz de localizar dónde se produce exactamente para dar parte de éllo a los programadores. Estoy lanzando consultas SQL sobre una base de datos informix a través de ADO. En estas consultas realizo un COUNT(*) que, según la documentación, me retorna un tipo DECIMAL(15,0). Por lo que veo, el ADO trata el tipo DECIMAL como cadena de texto, supongo que por no haber tenido python, hasta hace poco, un tipo decimal, por lo que había que usar un tipo de datos lo más genérico posible. El problema que me he encontrado es que cuando el COUNT(*) devuelve un número acabado en ceros éstos ceros desaparecen. Ésto es, 3000 se me convierte en '3'. La única forma de solucionar el problema que se me ha ocurrido es forzar una conversión de tipos. Por un motivo que desconozco, no he podido realizar un casting a INTEGER en informix, por lo que he tenido que hacerlo con COUNT(*)+0 y parece que funciona como debe. Ahora el ADO me devuelve un int y con el valor que debería. He comprobado que el driver ODBC funciona correctamente con otras aplicaciones, por lo que sólo me quedaría que hubiese algún problema con python y las extensiones pythonwin. ¿Sabe álguien dónde puede estar el problema del ADO con los DECIMALs? From palao en decsai.ugr.es Wed Jul 20 14:45:50 2005 From: palao en decsai.ugr.es (=?ISO-8859-1?Q?Francisco_Carlos_Palao_Rein=E9s?=) Date: Wed, 20 Jul 2005 14:45:50 +0200 Subject: Distintos modos de visualizar un TreeView?? Message-ID: <42DE477E.1070102@decsai.ugr.es> Por mas que navego por el manual de referencia del gtk.treeView no encuentro cómo hacer que se muestre en pantalla las conexiones entre los distintos niveles en un arbol visualizado con un objeto treeView. Ahora mismo el arbol se visualiza con unas pestañas que pulsando en ellas despliegan abajo los hijos del nodo padre. Lo que me gustaria es que no sólo se viesen esas pestañas si no una linea que conectara los padres con los hijos para que al expandir muchos niveles quede mas clara la estructura general, ¿Alguien sabe si se puede cambiar este modo de visualización? Gracias! Saludos, Fco Palao. From katximan en gmx.net Wed Jul 20 17:26:16 2005 From: katximan en gmx.net (Asier) Date: Wed, 20 Jul 2005 17:26:16 +0200 Subject: insertar tuplas en firebird In-Reply-To: <42B99841001AF498@resmta03.ono.com> References: <42B99841001AF498@resmta03.ono.com> Message-ID: <20050720152616.GA29972@kasparov.local> El 17/07/2005, Berna López escribió: > Estoy intentando insertar tuplas de datos sobre mis tablas, pero siempre me > da un error por la clave principal, campo q tengo definido como > autonumérico, > cuando ejecuto la sentencia sql omito ese campo, debo hacer referencia a él > de alguna forma. Yo no hago nada especial. Tengo una tabla 'Filiaciones' cuya clave principal es 'ID'. A la hora de añadir registros me basta gracias a los triggers y generadores con esto: > --- Python --- cursor = self.cnn.cursor() sql = 'INSERT INTO Filiaciones (historial) VALUES (?);' cursor.execute(sql, historial) > --- Python --- Me olvido de la clave principal, no la incluyo en la INSERT gracias a un trigger y un generador. Al crear las tablas, para cada clave maestra que es autonumérica hago esto: > --- SQL --- /* * Definición de la tabla 'Filiaciones' */ CREATE TABLE Filiaciones ( id INTEGER NOT NULL PRIMARY KEY, historial INTEGER NOT NULL UNIQUE, [ .... ] ); /* * Generador */ CREATE GENERATOR genFiliaciones_id; SET term !! ; CREATE TRIGGER trgFiliaciones_id FOR Filiaciones ACTIVE BEFORE INSERT POSITION 0 AS BEGIN IF ((new.id IS NULL) or (new.id <= 0)) THEN new.id = GEN_ID(genFiliaciones_id, 1); END !! CREATE PROCEDURE prcFiliaciones_getID RETURNS (new_id INTEGER) AS BEGIN new_id = GEN_ID(genFiliaciones_id, 1); END !! SET term ; !! > --- SQL --- Para mí es muy cómodo. Ignoro si esto repercutirá mucho en el rendimiento, pero la aplicación funciona suave. Tienes bastantes ejemplos sobre esto en el sitio del Firebird, http://firebird.sf.net Y por el mismo precio, si quieres saber el ID del último registro añadido puedes usar esta función (adaptada a lo que necesites, claro) # ------------------------------------------------------------------------ def last_id(self, tabla): '''Devuelve el id del último registro añadido a la BD. Todos los nombres de los generadores siguen el patrón: gen_id Ej: genFiliaciones_ID, genCabeceras_ID, etc ''' # Esta consulta _siempre_ deberá devolver un valor. sql = 'SELECT GEN_ID(gen%s_ID, 0) FROM RDB$DATABASE;' % tabla csr = self.cnn.cursor() try: csr.execute(sql) except: return -1 pk_key = csr.fetchone()[0] csr.close() return pk_key # ------------------------------------------------------------------------ -- email: burn areas again 'aGF4aWVyQHNvZnRob21lLm5ldA=='.decode('base64') Asier. - La ignorancia es la felicidad - From cescd en yahoo.com.mx Wed Jul 20 23:29:37 2005 From: cescd en yahoo.com.mx (Cesar Cardenas Desales) Date: Wed, 20 Jul 2005 16:29:37 -0500 (CDT) Subject: Jython 2.2 Message-ID: <20050720212937.38706.qmail@web50401.mail.yahoo.com> Se acaba de anunciar que Jython 2.2 alfa 1 está saliendo del horno http://sourceforge.net/mailarchive/forum.php?thread_id=7753939&forum_id=5586 Sus principales características: - Calses nuevo-estilo - Integración con Collections de Java - Iteradores - Generadores - Soporte para correr en JDK1.5 - Arreglo de bugs, y muchas mejoras Que lo disfruten! __________________________________________________ Correo Yahoo! Espacio para todos tus mensajes, antivirus y antispam ¡gratis! Regístrate ya - http://correo.yahoo.com.mx/ From joepc74 en gmail.com Thu Jul 21 08:32:52 2005 From: joepc74 en gmail.com (JoePC) Date: Thu, 21 Jul 2005 08:32:52 +0200 Subject: Puertos en linux In-Reply-To: <1121847761.6823.5.camel@amy> References: <54af49c10507191401e812ee3@mail.gmail.com> <1121847761.6823.5.camel@amy> Message-ID: <54af49c1050720233232ab521d@mail.gmail.com> Y no hay forma de poder hacerlo, añadiendole en algun grupo o marcandolo en algun archivo? El 20/07/05, David Villa escribió: > Hola: > > El mar, 19-07-2005 a las 23:01 +0200, JoePC escribió: > > Tengo un problema, estoy haciendo pruebas para implementar un servidor > > de smtp, pero en linux no me deja capturar el puerto 20 salvo que sea > > el root. > > ¿como debo hacerlo? > > Pues así debe ser. Todos los puertos por debajo del 1024 están > reservados para aplicaciones bien conocidas y un usuario normal no puede > poner servidores ahí. > > Saludos > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > From joepc74 en gmail.com Thu Jul 21 08:34:45 2005 From: joepc74 en gmail.com (JoePC) Date: Thu, 21 Jul 2005 08:34:45 +0200 Subject: Salida en servidor XML Message-ID: <54af49c1050720233453e4bfdc@mail.gmail.com> Tengo un servidor XML, pero cada vez que recibe una conexion saca en pantalla un mensaje, hay alguna forma de hacer que esto no ocurra? El codigo es: import SocketServer from SimpleXMLRPCServer import SimpleXMLRPCServer,SimpleXMLRPCRequestHandler import threading,time # Threaded mix-in class AsyncXMLRPCServer(SocketServer.ThreadingMixIn, SimpleXMLRPCServer): pass # Example class to be published class TestObject: def ver(self,a): print a return True def _dispatch(self, method, params): try: # We are forcing the 'export_' prefix on methods that are # callable through XML-RPC to prevent potential security # problems func = getattr(self, method) except AttributeError: raise Exception('method "%s" is not supported' % method) else: return func(*params) def __init__(self): server = AsyncXMLRPCServer(("", 8080), SimpleXMLRPCRequestHandler) server.register_instance(self) serverThread = threading.Thread(target = server.serve_forever) serverThread.start() while True: print "a" time.sleep(500) pass a=TestObject() Gracias. From erny en sicem.biz Thu Jul 21 10:45:31 2005 From: erny en sicem.biz (Ernesto Revilla) Date: Thu, 21 Jul 2005 10:45:31 +0200 Subject: Salida en servidor XML In-Reply-To: <54af49c1050720233453e4bfdc@mail.gmail.com> References: <54af49c1050720233453e4bfdc@mail.gmail.com> Message-ID: <42DF60AB.8070502@sicem.biz> Hola, sin bucear mucho por la librería (log_request es parte BaseHTTPServer.BaseHTTPRequest) también podrías redirigir las salidas de error estándar (stderr): import sys oldstderr=sys.stderr sys.stderr=file('mi.log', 'w') No sé si te sirve. Si no, tendrías que heredar de XMLRequestHandler y redefinir el método log_request: class MiXMLRPPRequestHandler(SimpleXMLRPCRequestHandler): def log_request(self, code='-', size='-'): pass o incluso redefinir log_message(self, format, *args) que es la que escribe a stderr. Un saludo, Erny JoePC escribió: >Tengo un servidor XML, pero cada vez que recibe una conexion saca en >pantalla un mensaje, hay alguna forma de hacer que esto no ocurra? > >El codigo es: > >import SocketServer >from SimpleXMLRPCServer import SimpleXMLRPCServer,SimpleXMLRPCRequestHandler >import threading,time > ># Threaded mix-in >class AsyncXMLRPCServer(SocketServer.ThreadingMixIn, >SimpleXMLRPCServer): pass > ># Example class to be published >class TestObject: > def ver(self,a): > print a > return True > > def _dispatch(self, method, params): > try: > # We are forcing the 'export_' prefix on methods that are > # callable through XML-RPC to prevent potential security > # problems > func = getattr(self, method) > except AttributeError: > raise Exception('method "%s" is not supported' % method) > else: > return func(*params) > > def __init__(self): > server = AsyncXMLRPCServer(("", 8080), SimpleXMLRPCRequestHandler) > server.register_instance(self) > serverThread = threading.Thread(target = server.serve_forever) > serverThread.start() > while True: > print "a" > time.sleep(500) > pass > > >a=TestObject() > >Gracias. >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es > > > --- avast! Antivirus: Saliente mensaje limpio. Base de datos de Virus (VPS): 0529-1, 20/07/2005 Comprobado en: 21/07/2005 10:45:32 avast! tiene los derechos reservados (c) 2000-2004 ALWIL Software. http://www.avast.com From jmeile en hotmail.com Thu Jul 21 12:32:45 2005 From: jmeile en hotmail.com (Josef Meile) Date: Thu, 21 Jul 2005 12:32:45 +0200 Subject: Puertos en linux In-Reply-To: <54af49c1050720233232ab521d@mail.gmail.com> References: <54af49c10507191401e812ee3@mail.gmail.com> <1121847761.6823.5.camel@amy> <54af49c1050720233232ab521d@mail.gmail.com> Message-ID: <42DF79CD.7000802@hotmail.com> Hola Joe, JoePC wrote: > Y no hay forma de poder hacerlo, añadiendole en algun grupo o > marcandolo en algun archivo? Si, podrías hacer un pequeño programa en C que llame a tu script python. Al binario generado por el compilador de C, le puedes asignar un user set-id: chown root binario chmod go-rwx binario chmod g+x binario chmod u+rwx binario chmod u+s binario Sin embargo, cabe aclarar que es un poco arriesgado, pues si tu script python puede ser modificado por alguien más, este podría reemplazarlo por algo como "rm -Rf *". Por lo tanto, tienes dos alternativas: 1) Cambiar el dueño del script a root y quitar los permisos para grupo y otros usuarios 2) Hacer que el programa en C haga todo lo referente al puerto 20. De esta forma, podrías llamar el programa en C desde python sin tener que cambiar los permisos del script y no se corre el riesgo de que alguien vea y/o cambie el programa en C, ya que es un binario protegido con permiso de sólo ejecución. Yo se que el set-id no es posible asignarlo a archivos que no sean binarios. Por eso es necesario la rutina en C, pues un script en python es tan sólo un archivo de texto y el código de objecto de python ".pyc" tampoco sirve con el set-id. Hay un programa que hace que puedas también asignar set-id a scripts, pero no recuerdo su nombre. Creo que tu alternativa del grupo, también serviría sólo si el usuario pertenece al mismo grupo que root (sys). Por lo tanto aquí podrías crear un usuario que pertenezca al grupo sys, cambiar los permisos del script en python por: chown root:sys archivo_python chmod og-rwx archivo_python chmod g+x archivo_python De nuevo, es riesgoso asignarle a un usuario el mismo grupo de root. Yo creo que lo más viable es hacer que la rutina en C haga todo lo referente al puerto y el script en python la llame. Saludos, Josef > > El 20/07/05, David Villa escribió: > >>Hola: >> >>El mar, 19-07-2005 a las 23:01 +0200, JoePC escribió: >> >>>Tengo un problema, estoy haciendo pruebas para implementar un servidor >>>de smtp, pero en linux no me deja capturar el puerto 20 salvo que sea >>>el root. >>>¿como debo hacerlo? >> >>Pues así debe ser. Todos los puertos por debajo del 1024 están >>reservados para aplicaciones bien conocidas y un usuario normal no puede >>poner servidores ahí. >> >>Saludos >> >> >>_______________________________________________ >>Python-es mailing list >>Python-es en aditel.org >>http://listas.aditel.org/listinfo/python-es >> From dvilla en gmx.net Thu Jul 21 12:37:55 2005 From: dvilla en gmx.net (David Villa) Date: Thu, 21 Jul 2005 12:37:55 +0200 Subject: Puertos en linux In-Reply-To: <42DF79CD.7000802@hotmail.com> References: <54af49c10507191401e812ee3@mail.gmail.com> <1121847761.6823.5.camel@amy> <54af49c1050720233232ab521d@mail.gmail.com> <42DF79CD.7000802@hotmail.com> Message-ID: <1121942275.7036.6.camel@amy> Hola: Otra posibilidad es que el root cree un túnel entre el puerto 20 y un puerto en el que tú puedas poner tu servidor. Creo que es menos arriesgado que jugar con el set-id y no tienes que hacer un programa en C, aunque tampoco es 100% seguro. Estas restricciones de seguridad están ahí por una buena razón. Saludos El jue, 21-07-2005 a las 12:32 +0200, Josef Meile escribió: > Hola Joe, > > JoePC wrote: > > Y no hay forma de poder hacerlo, añadiendole en algun grupo o > > marcandolo en algun archivo? > Si, podrías hacer un pequeño programa en C que llame a tu script > python. Al binario generado por el compilador de C, le puedes > asignar un user set-id: > > chown root binario > chmod go-rwx binario > chmod g+x binario > chmod u+rwx binario > chmod u+s binario > > Sin embargo, cabe aclarar que es un poco arriesgado, pues si tu > script python puede ser modificado por alguien más, este podría > reemplazarlo por algo como "rm -Rf *". Por lo tanto, tienes dos > alternativas: > > 1) Cambiar el dueño del script a root y quitar los permisos para > grupo y otros usuarios > > 2) Hacer que el programa en C haga todo lo referente al puerto 20. > De esta forma, podrías llamar el programa en C desde python sin > tener que cambiar los permisos del script y no se corre el > riesgo de que alguien vea y/o cambie el programa en C, ya que > es un binario protegido con permiso de sólo ejecución. > > Yo se que el set-id no es posible asignarlo a archivos que no sean > binarios. Por eso es necesario la rutina en C, pues un script en > python es tan sólo un archivo de texto y el código de objecto de > python ".pyc" tampoco sirve con el set-id. Hay un programa que hace > que puedas también asignar set-id a scripts, pero no recuerdo su > nombre. > > Creo que tu alternativa del grupo, también serviría sólo si el > usuario pertenece al mismo grupo que root (sys). Por lo tanto aquí > podrías crear un usuario que pertenezca al grupo sys, cambiar los > permisos del script en python por: > > chown root:sys archivo_python > chmod og-rwx archivo_python > chmod g+x archivo_python > > De nuevo, es riesgoso asignarle a un usuario el mismo grupo de > root. Yo creo que lo más viable es hacer que la rutina en C haga > todo lo referente al puerto y el script en python la llame. > > Saludos, > Josef > > > > > El 20/07/05, David Villa escribió: > > > >>Hola: > >> > >>El mar, 19-07-2005 a las 23:01 +0200, JoePC escribió: > >> > >>>Tengo un problema, estoy haciendo pruebas para implementar un servidor > >>>de smtp, pero en linux no me deja capturar el puerto 20 salvo que sea > >>>el root. > >>>¿como debo hacerlo? > >> > >>Pues así debe ser. Todos los puertos por debajo del 1024 están > >>reservados para aplicaciones bien conocidas y un usuario normal no puede > >>poner servidores ahí. > >> > >>Saludos > >> > >> > >>_______________________________________________ > >>Python-es mailing list > >>Python-es en aditel.org > >>http://listas.aditel.org/listinfo/python-es > >> > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > From pereyra.roberto en gmail.com Thu Jul 21 12:57:50 2005 From: pereyra.roberto en gmail.com (Roberto Pereyra) Date: Thu, 21 Jul 2005 07:57:50 -0300 Subject: consulta sobre link externo a plone en un dominio In-Reply-To: References: Message-ID: hola Sigo con unas problemitas con mi nuevo sitio con plone. El problema es que el sitio plone reemplaza un sitio desarrollado en php. El sitio principal en plone funciona ya bien, pero necesito que algunos accesos (links) esten dirigidos a las paginas viejas en php, por ej. el webmail. Mi sitio es: http://www.gualeguaychu.gov.ar Lo que quiero es que por medio de http://www.gualeguaychu.gov.ar/mail se ingrese al webmail en php (por fuera de Plone) A Plone lo estoy corriendo detras de apache con la funcion ProxyPass ProxyPass / http://www.gualeguaychu.gov.ar:8080/VirtualHostBase/http/www.gualeguaychu.gov.ar:80/Muni/VirtualHostRoot/ ProxyPassReverse / http://www.gualeguaychu.gov.ar:8080/VirtualHostBase/http/www.gualeguaychu.gov.ar:80/Muni/VirtualHostRoot/ El problema es que cualquier enlace del mi dominio gualeguaychu.gov.ar siempre queda dentro de Plone y no sale de él (me da el error de página no encontrada). Alguien tiene alguna idea de que se puede hacer. Gracias de antemano. roberto From i92fredy en hotmail.com Thu Jul 21 13:15:48 2005 From: i92fredy en hotmail.com (=?iso-8859-1?B?QWxmcmVkbyBDYfFhZGFz?=) Date: Thu, 21 Jul 2005 13:15:48 +0200 Subject: wstools y soappy Message-ID: Hola lista!! Estoy haciendo unos servicios Web con soappy, y para crear un wsdl me han dicho que puedo usar wstools. Alguien me podría mandar algún ejemplo de uso de wstools? Gracias a tod en s From hernan en orgmf.com.ar Thu Jul 21 16:01:33 2005 From: hernan en orgmf.com.ar (=?iso-8859-1?Q?Hern=E1n_Mart=EDnez_Foffani?=) Date: Thu, 21 Jul 2005 16:01:33 +0200 Subject: Puertos en linux In-Reply-To: <1121942275.7036.6.camel@amy> References: <1121942275.7036.6.camel@amy> Message-ID: Con respecto a seguridad, practicidad y administración lo mas sencillo y efectivo sería usar el inetd, no? Aunque sospecho que ya es un poco tarde para eso... > Otra posibilidad es que el root cree un túnel entre el puerto 20 y un > puerto en el que tú puedas poner tu servidor. Creo que es menos > arriesgado que jugar con el set-id y no tienes que hacer un programa > en C, aunque tampoco es 100% seguro. Estas restricciones de seguridad > están ahí por una buena razón. > > Saludos > > El jue, 21-07-2005 a las 12:32 +0200, Josef Meile escribió: >> Hola Joe, >> >> JoePC wrote: >>> Y no hay forma de poder hacerlo, añadiendole en algun grupo o >>> marcandolo en algun archivo? >> Si, podrías hacer un pequeño programa en C que llame a tu script >> python. Al binario generado por el compilador de C, le puedes >> asignar un user set-id: >> >> chown root binario >> chmod go-rwx binario >> chmod g+x binario >> chmod u+rwx binario >> chmod u+s binario >> >> Sin embargo, cabe aclarar que es un poco arriesgado, pues si tu >> script python puede ser modificado por alguien más, este podría >> reemplazarlo por algo como "rm -Rf *". Por lo tanto, tienes dos >> alternativas: >> >> 1) Cambiar el dueño del script a root y quitar los permisos para >> grupo y otros usuarios >> >> 2) Hacer que el programa en C haga todo lo referente al puerto 20. >> De esta forma, podrías llamar el programa en C desde python sin >> tener que cambiar los permisos del script y no se corre el >> riesgo de que alguien vea y/o cambie el programa en C, ya que >> es un binario protegido con permiso de sólo ejecución. >> >> Yo se que el set-id no es posible asignarlo a archivos que no sean >> binarios. Por eso es necesario la rutina en C, pues un script en >> python es tan sólo un archivo de texto y el código de objecto de >> python ".pyc" tampoco sirve con el set-id. Hay un programa que hace >> que puedas también asignar set-id a scripts, pero no recuerdo su >> nombre. >> >> Creo que tu alternativa del grupo, también serviría sólo si el >> usuario pertenece al mismo grupo que root (sys). Por lo tanto aquí >> podrías crear un usuario que pertenezca al grupo sys, cambiar los >> permisos del script en python por: >> >> chown root:sys archivo_python >> chmod og-rwx archivo_python >> chmod g+x archivo_python >> >> De nuevo, es riesgoso asignarle a un usuario el mismo grupo de >> root. Yo creo que lo más viable es hacer que la rutina en C haga >> todo lo referente al puerto y el script en python la llame. >> >> Saludos, >> Josef >> >>> >>> El 20/07/05, David Villa escribió: >>> >>>> Hola: >>>> >>>> El mar, 19-07-2005 a las 23:01 +0200, JoePC escribió: >>>> >>>>> Tengo un problema, estoy haciendo pruebas para implementar un >>>>> servidor de smtp, pero en linux no me deja capturar el puerto 20 >>>>> salvo que sea el root. ¿como debo hacerlo? >>>> >>>> Pues así debe ser. Todos los puertos por debajo del 1024 están >>>> reservados para aplicaciones bien conocidas y un usuario normal no >>>> puede poner servidores ahí. From conan en lugmen.org.ar Fri Jul 22 02:45:05 2005 From: conan en lugmen.org.ar (Fernando Canizo) Date: Thu, 21 Jul 2005 21:45:05 -0300 Subject: que usar para obtener fecha en formato conforme a rfc822 In-Reply-To: <200507200244.49651.py@ls-l.org> References: <20050719223245.GA7499@lugmen.org.ar> <200507200244.49651.py@ls-l.org> Message-ID: <20050722004505.GB16297@lugmen.org.ar> El Wed, Jul 20, 2005 at 02:44:49AM +0200, Chema Cortes me dec?a: > El Miércoles 20 Julio 2005 00:32, Fernando Canizo escribió: > > > Estoy generando el xml para feeds rss 2.0 para mi blog con python. > > Es curioso, yo también estaba pensando en hacerme uno. ¿Cómo lo llevas? Bueno, he tenido una lucha de tres dias para conseguir que valide, esto es debido a la manera en que decidi crear mi blog: no use ninguna aplicacion, sino que son meros archivos de texto. De hecho creo que de un momento a otro van a explotar mis feeds, por ahora he llegado a una solucion de compromiso (temporal). Espero implementar el filtro html-izador antes :) Para quienes hayan seguido el estandar para crear su blog no deberia ser dificil: Crear el xml con las feeds es sencillisimo, nada mas dale una mirada a este tutorial: http://www.notestips.com/80256B3A007F2692/1/NAMO5P9UPQ Para validarla una vez que la crees usa este: http://feedvalidator.org/ > > Las busquedas: "rfc822 date inurl:aditel.org" no reporta nada util. > > Ummm...Supongo que estás hablando de google. Lo primero que te tengo que decir > es que 'inurl:' es para buscar "dentro" de las urls del documento, o sea, > entre los documentos que tiene alguna referencia a aditel.org. Supongo que lo > que querías era otra cosa, restringir la búsqueda a la web de adite.org: > > "rfc822 date site:aditel.org" A-ha, hacia mucho que no hacia una busqueda restringida, si, queria hacer lo que decis. > > Resulta que hay todo un modulo llamado rfc822 ! > > La pena es que ahora que lo habías encontrado resulta que se está > "abandonando" y no se debería emplear. :-( > > Emplea mejor el paquete 'email'. Tiene un módulo Utils que te ayudará: > > >>> import email.Utils > >>> email.Utils.formatdate(1120199537) > 'Fri, 01 Jul 2005 06:32:17 -0000' Hum... Eso significa que en un futuro python 2.n con n > 4 no incorporara el modulo rfc822 ? Me gustaria leer por que se esta abandonando, tendras algun url en el bolsilo que comente las razones ? -- Fernando Canizo - LUGMen: www.lugmen.org.ar - A8N: a8n.lugmen.org.ar Hee, hee! I can be a jerk and no one can stop me! -- Homer Simpson Itchy & Scratchy Land ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From py en ls-l.org Fri Jul 22 10:22:13 2005 From: py en ls-l.org (Chema Cortes) Date: Fri, 22 Jul 2005 10:22:13 +0200 Subject: que usar para obtener fecha en formato conforme a rfc822 In-Reply-To: <20050722004505.GB16297@lugmen.org.ar> References: <20050719223245.GA7499@lugmen.org.ar> <200507200244.49651.py@ls-l.org> <20050722004505.GB16297@lugmen.org.ar> Message-ID: <42E0ACB5.4040007@ls-l.org> Fernando Canizo escribió: > El Wed, Jul 20, 2005 at 02:44:49AM +0200, Chema Cortes me dec?a: > >>El Miércoles 20 Julio 2005 00:32, Fernando Canizo escribió: >> >> >>>Estoy generando el xml para feeds rss 2.0 para mi blog con python. >> >>Es curioso, yo también estaba pensando en hacerme uno. ¿Cómo lo llevas? > > > Bueno, he tenido una lucha de tres dias para conseguir que valide, esto es > debido a la manera en que decidi crear mi blog: no use ninguna aplicacion, sino > que son meros archivos de texto. Es lo que me pasaba a mí. Estaba harto de no poder configurar a mi gusto un alojamiento en internet con python. Al final me he decidido por utilizar un servidor virtual dedicado (búsca por VDS ó VPS en internet) y configurar un linux a mi medida (todo python, como tiene que ser ;-) > Para quienes hayan seguido el estandar para crear su blog no deberia ser > dificil: > > Crear el xml con las feeds es sencillisimo, nada mas dale una mirada a este > tutorial: http://www.notestips.com/80256B3A007F2692/1/NAMO5P9UPQ Me compré el libro de O'Reilly "Developing feeds with RSS y Atom" (http://www.oreilly.com/catalog/deveoprssatom/) y, aunque está pensado para Perl, habla también un poco sobre python. En concreto nombra al "feedparser" (http://feedparser.org/) y te hace un lector de RSS en 40 líneas de código. >>>Resulta que hay todo un modulo llamado rfc822 ! >> >>La pena es que ahora que lo habías encontrado resulta que se está >>"abandonando" y no se debería emplear. :-( >> >>Emplea mejor el paquete 'email'. Tiene un módulo Utils que te ayudará: > > Hum... Eso significa que en un futuro python 2.n con n > 4 no incorporara el > modulo rfc822 ? > Me gustaria leer por que se esta abandonando, tendras algun url en el bolsilo > que comente las razones ? Cuando sigas un poco la "historia" del python, verás que se habla mucho del "python3000" (también llamado Python 3.0 - http://www.python.org/peps/pep-3000.html) que es una especie de "Santo Grial" al que anhelan esos caballeros de la tabla cuadrada que desarrollan el lenguaje. Los cambios en el lenguaje se hacen o por "obsolescencia" o por "simplificación", pero siempre intentando que la transición a una nueva versión sea lo menos traumática posible. El módulo "rfc822" posiblemente siga siendo parte del python durante mucho tiempo, al menos hasta que se esté seguro que se ha dejado de utilizar; pero habría que intentar no utilizarlo si hay alternativas. En concreto, se consideró que el módulo rfc822 iba a estar mejor incluído dentro del paquete 'email' quien lo usa, sobre todo, para procesar las cabeceras de correo. Pero está resultando que, incluso dentro de la misma librería estándar de python, este módulo se usaba para cosas totalmente variopintas. De hecho, es uno de los módulos depreciados que todavía no saca advertencias ("warnings") como debería hace todo módulo depreciado. From erny en sicem.biz Fri Jul 22 17:07:38 2005 From: erny en sicem.biz (Ernesto Revilla) Date: Fri, 22 Jul 2005 17:07:38 +0200 Subject: OT Re: consulta sobre link externo a plone en un dominio In-Reply-To: References: Message-ID: <42E10BBA.8090202@sicem.biz> Hola, esto deberías preguntar en la lista de zope que puedes suscribir en: http://listas.aditel.org/listinfo/zope-es Nosotros no usamos ProxyPass, sin el proxy de las rewrite-rules [P] Esta es nuestra config. de proxy.conf de Apache2, pero creo que tb te sirve para Apache 1.3.x) #turning ProxyRequests on and allowing proxying from all may allow #spammers to use your proxy to send email. ProxyRequests Off Order deny,allow Allow from all # Enable/disable the handling of HTTP/1.1 "Via:" headers. # ("Full" adds the server version; "Block" removes all outgoing Via: headers) # Set to one of: Off | On | Full | Block ProxyVia On Te pongo algunos ejemplos: Para nuestro squirrelmail: Alias /mail /usr/share/squirrelmail php_flag register_globals off Options Indexes FollowSymLinks DirectoryIndex index.php Algunos rewriterules: RewriteRule ^/mail(.*) - [L] RewriteRule ^/favicon.ico - [L] RewriteRule ^/pipermail/ - [L] RewriteRule ^/mailman/?$ /mailman/listinfo [L,R] RewriteRule ^/mailman/ - [L] La de nuestro Zope: RewriteRule ^/(.*)$ http://127.0.0.1:8080/VirtualHostBase/http/%{SERVER_NAME}:80/sicem/VirtualHostRoot/$1 [L,P] Un saludo, Erny Roberto Pereyra escribió: >hola > >Sigo con unas problemitas con mi nuevo sitio con plone. > >El problema es que el sitio plone reemplaza un sitio desarrollado en php. > >El sitio principal en plone funciona ya bien, pero necesito que >algunos accesos (links) esten dirigidos a las paginas viejas en php, >por ej. el webmail. > >Mi sitio es: http://www.gualeguaychu.gov.ar > >Lo que quiero es que por medio de http://www.gualeguaychu.gov.ar/mail >se ingrese al webmail en php (por fuera de Plone) > >A Plone lo estoy corriendo detras de apache con la funcion ProxyPass > >ProxyPass / http://www.gualeguaychu.gov.ar:8080/VirtualHostBase/http/www.gualeguaychu.gov.ar:80/Muni/VirtualHostRoot/ >ProxyPassReverse / >http://www.gualeguaychu.gov.ar:8080/VirtualHostBase/http/www.gualeguaychu.gov.ar:80/Muni/VirtualHostRoot/ > >El problema es que cualquier enlace del mi dominio gualeguaychu.gov.ar >siempre queda dentro de Plone y no sale de él (me da el error de >página no encontrada). > >Alguien tiene alguna idea de que se puede hacer. > >Gracias de antemano. > >roberto >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es > > > --- avast! Antivirus: Saliente mensaje limpio. Base de datos de Virus (VPS): 0529-2, 21/07/2005 Comprobado en: 22/07/2005 17:07:39 avast! tiene los derechos reservados (c) 2000-2004 ALWIL Software. http://www.avast.com From javierg_cim en yahoo.com.mx Sat Jul 23 21:04:47 2005 From: javierg_cim en yahoo.com.mx (=?ISO-8859-1?Q?Javier_Gardu=F1o?=) Date: Sat, 23 Jul 2005 14:04:47 -0500 Subject: wxPython: Deplegar Imagen Message-ID: <42E294CF.9020202@yahoo.com.mx> Hola, Estoy bastante confundido con el uso de wxPython. Ya he visto la demo de wxPython, pero no le hallo el modo, verán: Deseo abrir una ventana que solo depliega una imagen. La imagen puede ser diferente según elecciones previas. Dicha ventana se abre al presionar un botón en un cuadro de diálogo. En la función que se ejecuta por el evento de presionar el botón se hace todo lo necesario para llevar la imagen a un wxBitmap. El wxBitmap ya existe, pero me lío sobre como decir que pinte ese wxBitmap en particular. Espero me puedan ayudar... Gracias. Javier Garduño -- El blog Personal de Javier: http://visione.esceptica.net/ __________________________________________________ Correo Yahoo! Espacio para todos tus mensajes, antivirus y antispam ¡gratis! Regístrate ya - http://correo.yahoo.com.mx/ From acurro en wanadoo.es Sat Jul 23 21:19:04 2005 From: acurro en wanadoo.es (Alberto Curro) Date: Sat, 23 Jul 2005 21:19:04 +0200 Subject: error en consulta SQL In-Reply-To: <42B9984100216B54@resmta03.ono.com> (added by postmaster@resmta03.ono.com) References: <42B9984100216B54@resmta03.ono.com> (added by postmaster@resmta03.ono.com) Message-ID: <42E29828.90605@wanadoo.es> Berna López wrote: >he realizado una consulta sobre un campo numérico de 14 elementos, y el >resultado es: 20050710161130L cuando le sobra la L final. >Yo utilizo firebird y kinterbasdb, y como IDE el Boa. > >He realizado esta misma consulta sobre el IBEasy+ 1.4.4 y el resultado es el >correcto, creo que es un problema de kinterbasdb pero no se >como solucionarlo. Alguna idea? > > Uhmmm, yo diría que KinterbasDB está usando la notación C; es decir, te está indicando con ese "L" final que el número es un Long (quizás?). Un saludo From al084070 en alumail.uji.es Sun Jul 24 01:48:30 2005 From: al084070 en alumail.uji.es (=?ISO-8859-1?Q?Andr=E9s?= Ignacio =?ISO-8859-1?Q?Mart=EDnez?= Soto) Date: Sun, 24 Jul 2005 01:48:30 +0200 Subject: POO - Tkinter y =?iso-8859-1?q?m=E9todos?= get() Message-ID: <1122162510.7084.20.camel@localhost.localdomain> Hola a todos, estoy programando una pequeña aplicación para uso personal con la siguiente estructura: imports Tkinter, sys, ... -main() class GUI: __init__() root=Tk() root.title() root.geometry() crear_widgets() root.mainloop() crear_widgets(op) if op==1: widgets de la 1ª ventana elif op==2: widgets de la 2ª ventana elif op==3: widgets de la 3ª ventana else: ... crear_ventana2(): v2=Tk() crear_widgets(2) v2.mainloop() crear_ventana3(): v3=Tk() crear_widgets(3) v3.mainloop() procesa_datos(op): ...get() ...get() genera_xml(datos) genera_xml(datos): try: ... except: try: raise "Error ...." lista=[] dt=""" Dato1 %s %(datos[0]) """ f=open("fichero.xml","r") linea="algo" while linea!="": linea=f.readline lista.append(linea) f.close() f=open("fichero.xml","w") for i in range(len(lista)): f.write(lista[i]) f.write(dt) f.write("") f.close() errores(error): tk.... Estoy intentando que desde la función procesa_datos(self,variable1,variableN) me coja los datos de los Entrys de Tkinter definidos en crear_widgets(op) con el método campo.get(), pero al parecer cuando se le pasa el "campo", dice que se le pasa un "None", y por lo tanto no me funciona el método .get(). ¿Alguna idea de como puedo recoger los datos de los entrys desde otra función de la misma clase? La aplicación es para PDA, por eso está desarrollada con Tkinter, en PyGTK lo que hago es enlazar un botón y los "entrys" (textboxes) con una "señal" (evento) a una función de la misma clase, y allí si que funcionan. He mirado varias webs y veo que definen los widgets a usar en sus aplicaciones como "self.algo", pero yo quisiera tener una función que los definiese. ¿Alguna sugerencia? Si utilizo XML es por el marcado que tiene y porque embebo xhtml+css +html en un mismo documento creando documentos muy majos. Lo utilizo así porque no conozco los parseadores de XML. Saludos y gracias por todo Andrés Ignacio Martínez Soto ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From joepc74 en gmail.com Sun Jul 24 11:42:12 2005 From: joepc74 en gmail.com (JoePC) Date: Sun, 24 Jul 2005 11:42:12 +0200 Subject: Redireccionar salida Message-ID: <54af49c105072402422694a8cf@mail.gmail.com> Existe alguna forma de redireccionar la salida estandar a una clase? Gracias. From jamp423 en yahoo.es Sun Jul 24 19:02:35 2005 From: jamp423 en yahoo.es (Alexis Mendoza) Date: Sun, 24 Jul 2005 19:02:35 +0200 (CEST) Subject: =?iso-8859-1?q?M=F3dulo_record?= Message-ID: <20050724170235.68065.qmail@web86904.mail.ukl.yahoo.com> Hola, soy nuevo en la programación, pero tengo muchas ganas de aprender. He estudiadiado "Introducción a la programación con Python" de la UJI, creo que está muy bueno, pero el Módulo record no me funciona, me da el siguiente error: Traceback (most recent call last): File "C:\Python23\record.py", line 53, in ? class record(object): File "C:\Python23\record.py", line 42, in __new__ if k in newdict: NameError: global name 'newdict' is not defined] Por favor, alguien puede ayudarme, tengo la versión 2.3.4, mi SO Windows. Saludos, Alexis --------------------------------- Correo Yahoo! Comprueba qué es nuevo, aquí http://correo.yahoo.es From al084070 en alumail.uji.es Sun Jul 24 21:38:38 2005 From: al084070 en alumail.uji.es (=?ISO-8859-1?Q?Andr=E9s?= Ignacio =?ISO-8859-1?Q?Mart=EDnez?= Soto) Date: Sun, 24 Jul 2005 21:38:38 +0200 Subject: =?iso-8859-1?q?M=F3dulo?= record In-Reply-To: <20050723234840.6D66B143FF91@devnull.aditel.org> References: <20050723234840.6D66B143FF91@devnull.aditel.org> Message-ID: <1122233919.4155.5.camel@localhost.localdomain> Varias cosas: -1º El módulo record NO está implementado por gente de la UJI, simplemente lo han puesto allí para que alumnos como yo aprendamos a programar. -2º El módulo record es muy semejante a los structs de C -3º Para utilizar record debes seguir la pauta "from record import record", "from record import *" o "import record", depende de como esté el módulo implementado, debes saber que los nombres de acceso a las funciones varían con la forma del import. -4º Si aún así te dá error, vuelve a bajarte el módulo record. Saludos Andrés Ignacio Martínez Soto ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From erny en sicem.biz Mon Jul 25 09:32:00 2005 From: erny en sicem.biz (Ernesto Revilla) Date: Mon, 25 Jul 2005 09:32:00 +0200 Subject: POO - Tkinter y =?UTF-8?B?77+9IGdldCgp?= In-Reply-To: <1122162510.7084.20.camel@localhost.localdomain> References: <1122162510.7084.20.camel@localhost.localdomain> Message-ID: <42E49570.3010501@sicem.biz> Hola, deberías leerte primero la introducción a Python que viene en la documentación oficial. Allí, en el apartado de clases, verás que al definir los métodos de clase, es necesario especificar como argumento la propia instancia que se le pasará a la función. En contraste con C++/Java y otros, en Python, hay que especificarlo, de manera que todos los métodos de clase tienes que: class GUI: def __init__(self): self.root=Tk() self.root.title() self.root.geometry() self.crear_widgets() self.root.mainloop() .... Mira como el self.root crea una variable de instancia, y el self.crear_widgets está llamando un método de la instancia. Erny Andrés Ignacio Martínez Soto escribió: >Hola a todos, estoy programando una pequeña aplicación para uso personal >con la siguiente estructura: > >imports Tkinter, sys, ... >-main() > > class GUI: > __init__() > root=Tk() > root.title() > root.geometry() > crear_widgets() > root.mainloop() > > crear_widgets(op) > if op==1: > widgets de la 1ª ventana > elif op==2: > widgets de la 2ª ventana > elif op==3: > widgets de la 3ª ventana > else: > ... > > crear_ventana2(): > v2=Tk() > crear_widgets(2) > v2.mainloop() > > crear_ventana3(): > v3=Tk() > crear_widgets(3) > v3.mainloop() > > procesa_datos(op): > ...get() > ...get() > genera_xml(datos) > > genera_xml(datos): > try: > ... > except: > try: > raise "Error ...." > > lista=[] > dt=""" > Dato1 %s >%(datos[0]) > """ > f=open("fichero.xml","r") > linea="algo" > while linea!="": > linea=f.readline > lista.append(linea) > > f.close() > > f=open("fichero.xml","w") > for i in range(len(lista)): > f.write(lista[i]) > f.write(dt) > f.write("") > f.close() > > errores(error): > tk.... > >Estoy intentando que desde la función >procesa_datos(self,variable1,variableN) me coja los datos de los Entrys >de Tkinter definidos en crear_widgets(op) con el método campo.get(), >pero al parecer cuando se le pasa el "campo", dice que se le pasa un >"None", y por lo tanto no me funciona el método .get(). >¿Alguna idea de como puedo recoger los datos de los entrys desde otra >función de la misma clase? >La aplicación es para PDA, por eso está desarrollada con Tkinter, en >PyGTK lo que hago es enlazar un botón y los "entrys" (textboxes) con una >"señal" (evento) a una función de la misma clase, y allí si que >funcionan. He mirado varias webs y veo que definen los widgets a usar en >sus aplicaciones como "self.algo", pero yo quisiera tener una función >que los definiese. ¿Alguna sugerencia? >Si utilizo XML es por el marcado que tiene y porque embebo xhtml+css >+html en un mismo documento creando documentos muy majos. >Lo utilizo así porque no conozco los parseadores de XML. > >Saludos y gracias por todo >Andrés Ignacio Martínez Soto > > > >------------------------------------------------------------------------ > >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es > > --- avast! Antivirus: Saliente mensaje limpio. Base de datos de Virus (VPS): 0529-2, 21/07/2005 Comprobado en: 25/07/2005 9:32:01 avast! tiene los derechos reservados (c) 2000-2004 ALWIL Software. http://www.avast.com ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From erny en sicem.biz Mon Jul 25 09:34:28 2005 From: erny en sicem.biz (Ernesto Revilla) Date: Mon, 25 Jul 2005 09:34:28 +0200 Subject: Redireccionar salida In-Reply-To: <54af49c105072402422694a8cf@mail.gmail.com> References: <54af49c105072402422694a8cf@mail.gmail.com> Message-ID: <42E49604.4080909@sicem.biz> class MiSalidaEstandar: def write(self, mensaje) mis=MiSalidaEstandar() import sys oldstdout = sys.stdout sys.stdout = mis Básicamente, el objeto ha de comportarse como un archivo. al menos se usa su método write. No sé si en algún momento se usan otros, como flush. Erny JoePC escribió: >Existe alguna forma de redireccionar la salida estandar a una clase? > >Gracias. >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es > > > --- avast! Antivirus: Saliente mensaje limpio. Base de datos de Virus (VPS): 0529-2, 21/07/2005 Comprobado en: 25/07/2005 9:34:30 avast! tiene los derechos reservados (c) 2000-2004 ALWIL Software. http://www.avast.com From py en ls-l.org Mon Jul 25 09:34:32 2005 From: py en ls-l.org (Chema Cortes) Date: Mon, 25 Jul 2005 09:34:32 +0200 Subject: Redireccionar salida In-Reply-To: <54af49c105072402422694a8cf@mail.gmail.com> References: <54af49c105072402422694a8cf@mail.gmail.com> Message-ID: <42E49608.7010703@ls-l.org> JoePC escribió: > Existe alguna forma de redireccionar la salida estandar a una clase? Puedes sustituir sys.stdout con cualquier objeto que implemente la interface .write(). Puedes hacerte tu propia clase o utilizar alguna de las clases afines como 'file' ó 'StringIO': import sys class RedirStdout: def write(self,msg): print >>sys.__stdout__, "<%s>\n"%msg stdout_orig=sys.stdout sys.stdout=RedirStdout() print "Mensaje Redirigido" sys.stdout=stdout_orig OJO, que algunos IDEs como el pythonwin alteran las redirecciones del stdout. Ejecuta siempre el código desde la cónsola. From erny en sicem.biz Mon Jul 25 09:26:17 2005 From: erny en sicem.biz (Ernesto Revilla) Date: Mon, 25 Jul 2005 09:26:17 +0200 Subject: error en consulta SQL In-Reply-To: <42B9984100216B54@resmta03.ono.com> (added by postmaster@resmta03.ono.com) References: <42B9984100216B54@resmta03.ono.com> (added by postmaster@resmta03.ono.com) Message-ID: <42E49419.1000509@sicem.biz> la L indica que es un tipo de dato Long, y se usa al imprimir el número. En Python 2.3 >>> a=11L >>> a 11L >>> print a 11 >>> type(a) Esto significa que la función '__repr__' de la clase/tipo long imprime una L al final, pero sólo cuando imprimes resultados con la línea interactiva o uses la función repr. Con print eso no pasa. Erny Berna López escribió: >he realizado una consulta sobre un campo numérico de 14 elementos, y el >resultado es: 20050710161130L cuando le sobra la L final. >Yo utilizo firebird y kinterbasdb, y como IDE el Boa. > >He realizado esta misma consulta sobre el IBEasy+ 1.4.4 y el resultado es el >correcto, creo que es un problema de kinterbasdb pero no se >como solucionarlo. Alguna idea? > >Gracias >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es > > > --- avast! Antivirus: Saliente mensaje limpio. Base de datos de Virus (VPS): 0529-2, 21/07/2005 Comprobado en: 25/07/2005 9:26:23 avast! tiene los derechos reservados (c) 2000-2004 ALWIL Software. http://www.avast.com From py en ls-l.org Mon Jul 25 14:41:38 2005 From: py en ls-l.org (Chema Cortes) Date: Mon, 25 Jul 2005 14:41:38 +0200 Subject: Error del ADO con el tipo Decimal (deseperado) In-Reply-To: <42DE3B13.2030306@ls-l.org> References: <42DE3B13.2030306@ls-l.org> Message-ID: <42E4DE02.4040702@ls-l.org> Chema Cortes escribió: > Estoy lanzando consultas SQL sobre una base de datos informix a través > de ADO. En estas consultas realizo un COUNT(*) que, según la > documentación, me retorna un tipo DECIMAL(15,0). > > Por lo que veo, el ADO trata el tipo DECIMAL como cadena de texto, > supongo que por no haber tenido python, hasta hace poco, un tipo > decimal, por lo que había que usar un tipo de datos lo más genérico posible. > > El problema que me he encontrado es que cuando el COUNT(*) devuelve un > número acabado en ceros éstos ceros desaparecen. Ésto es, 3000 se me > convierte en '3'. He estado haciendo algunas pruebas en VBS y da el mismo problema. Por tanto se puede eliminar al python ó a las pywin de ser las causantes. From jordinas en gmail.com Mon Jul 25 18:41:56 2005 From: jordinas en gmail.com (Joan Ordinas) Date: Mon, 25 Jul 2005 18:41:56 +0200 Subject: Puertos en linux In-Reply-To: <54af49c10507191401e812ee3@mail.gmail.com> References: <54af49c10507191401e812ee3@mail.gmail.com> Message-ID: <9140533f05072509415af6394@mail.gmail.com> On 7/19/05, JoePC wrote: > Tengo un problema, estoy haciendo pruebas para implementar un servidor > de smtp, pero en linux no me deja capturar el puerto 20 salvo que sea > el root. > ¿como debo hacerlo? Como ya te han dicho, esto ha de ser así. Para lanzar tu programa, que desea escuchar en un puerto < 1024, lo lanzas como root, ya sea con su, sudo, o como quieras o puedas. No le des mas vueltas. Esto es así "por diseño". JJOR From christian.perez en myrealbox.com Mon Jul 25 18:55:48 2005 From: christian.perez en myrealbox.com (=?iso-8859-15?Q?Christian_P=E9rez_S=2E?=) Date: Mon, 25 Jul 2005 12:55:48 -0400 Subject: =?iso-8859-15?q?Eliminar_N=FAmero_de_l=EDneas_en_Gri?= =?iso-8859-15?q?d?= Message-ID: Hola a todos. Acudo nuevamente a ustedes porque no puedo encontrar la forma de eliminar los números de filas que aparecen en forma automática al usar una Grilla (wx.grid). Estoy usando Boa para la interfaz, por lo que la solución debe ser compatible con este programa. De antemano, muchas gracias. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From lcabrera en gulic.org Mon Jul 25 20:43:16 2005 From: lcabrera en gulic.org (Luis Cabrera) Date: Mon, 25 Jul 2005 19:43:16 +0100 Subject: =?iso-8859-1?Q?M=F3dul?= =?iso-8859-1?Q?o?= record In-Reply-To: <20050724170235.68065.qmail@web86904.mail.ukl.yahoo.com> References: <20050724170235.68065.qmail@web86904.mail.ukl.yahoo.com> Message-ID: <20050725184315.GA22653@sauco.org> Quien: Alexis Mendoza Cuando: domingo, 24 de julio del 2005, a las 07:02, Qué: [Python-es] Módulo record > > Hola, soy nuevo en la programación, pero tengo muchas ganas de aprender. Estupendo El módulo record que se está distribuyendo junto con el libro tiene un error de indentación. Es por ello que falla. El error lo pilló brainsucker en el canal #python del IRC Hispano y lo reporte, a los autores del libro, la semana pasada o asi (se imaginan reportando un error en El Quijote) :) Te mando el fichero corregido por privado, para que puedas seguir trabajando Saludos ------------ 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 ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From ivan.figueroa en gmail.com Mon Jul 25 21:02:56 2005 From: ivan.figueroa en gmail.com (Ivan Figueroa) Date: Mon, 25 Jul 2005 14:02:56 -0500 Subject: Error del ADO con el tipo Decimal (deseperado) In-Reply-To: <42E4DE02.4040702@ls-l.org> References: <42DE3B13.2030306@ls-l.org> <42E4DE02.4040702@ls-l.org> Message-ID: > > He estado haciendo algunas pruebas en VBS y da el mismo problema. Por > tanto se puede eliminar al python ó a las pywin de ser las causantes. > _______________________________________________ Que version de informix usas? From minoztro en gmail.com Mon Jul 25 23:55:19 2005 From: minoztro en gmail.com (Milton inostroza) Date: Mon, 25 Jul 2005 17:55:19 -0400 Subject: pasar numeros a letras Message-ID: <172699c505072514552b208357@mail.gmail.com> hola lista: Necesito un algoritmo que me traduzca de numeros a letras. ej: 2->dos; 34 ->treinta y cuatro...y asi sucesivamente. Encontre un código que hizo un colega, pero me pregunto si python trae alguna clasesilla que haga esto. alguien que me pueda ayudar. salu2!! -- Milton Inostroza Aguilera From lcatalin en siadv.com Tue Jul 26 08:28:52 2005 From: lcatalin en siadv.com (Catalin Lungu) Date: Tue, 26 Jul 2005 08:28:52 +0200 Subject: =?iso-8859-15?Q?Re:_=5BPython-es=5D_Eliminar_N=FAmero_de_l=EDneas_en_Grid?= References: Message-ID: <00db01c591ab$4accfb70$d900a8c0@catalin> Prueba con .SetColSize(int col, int width) donde col = width = 0 y luego .ForceRefresh() Saludos, Catalin ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From lcatalin en siadv.com Tue Jul 26 08:37:04 2005 From: lcatalin en siadv.com (Catalin Lungu) Date: Tue, 26 Jul 2005 08:37:04 +0200 Subject: wxPython: Deplegar Imagen References: <42E294CF.9020202@yahoo.com.mx> Message-ID: <010d01c591ac$702ac220$d900a8c0@catalin> Solo con wx.Bitmap no vale para ver imagenes. Hay que cargrlo en un wx.StaticBitmap. try: bmp = wx.Bitmap(ruta, wx.BITMAP_TYPE_ANY) except: bmp = wx.EmptyBitmap(ancho, alto) imag = wx.StaticBitmap(tu_formulario, -1, bmp, (posx, posy), (ancho, alto)) Saludos, Catalin From py en ls-l.org Tue Jul 26 09:13:59 2005 From: py en ls-l.org (Chema Cortes) Date: Tue, 26 Jul 2005 09:13:59 +0200 Subject: Error del ADO con el tipo Decimal (deseperado) In-Reply-To: References: <42DE3B13.2030306@ls-l.org> <42E4DE02.4040702@ls-l.org> Message-ID: <42E5E2B7.1030601@ls-l.org> Ivan Figueroa escribió: >>He estado haciendo algunas pruebas en VBS y da el mismo problema. Por >>tanto se puede eliminar al python ó a las pywin de ser las causantes. >>_______________________________________________ > > > Que version de informix usas? Creo que los servidores son INFORMIX 9. En el cliente estoy usando INFORMIX-CLI 2.80.0008.TC1 que puede acceder a IDS 7.3x, 8.2x y 9.14. El driver ODBC es INTERSOLV 3.11 para INFORMIX 9 From acastro en ciberdroide.com Tue Jul 26 09:29:56 2005 From: acastro en ciberdroide.com (Antonio Castro) Date: Tue, 26 Jul 2005 09:29:56 +0200 (CEST) Subject: pasar numeros a letras In-Reply-To: <172699c505072514552b208357@mail.gmail.com> References: <172699c505072514552b208357@mail.gmail.com> Message-ID: On Mon, 25 Jul 2005, Milton inostroza wrote: > hola lista: > > Necesito un algoritmo que me traduzca de numeros a letras. ej: > 2->dos; 34 ->treinta y cuatro...y asi sucesivamente. > > Encontre un código que hizo un colega, pero me pregunto si python > trae alguna clasesilla que haga esto. alguien que me pueda ayudar. > > salu2!! Lo suyo sería esperarme para no pasarme de listo, porque lo cierto es que es tan increible la abundancia de módulos en Python para hacer casi cualquier cosa que resulta muy arriesgado decir que algo no existe, pero un módulo como el que tu propones implica un código distinto para cada idioma y seguramente no tiene mucha aplicación. Me pega más que encuentres algo sobre esto en ejercicios y tutoriales de programación. -- Un saludo Antonio Castro /\ /\ \\W// _|0 0|_ +-oOOO-(___o___)-OOOo---------------------+ | . . . . U U . Antonio Castro Snurmacher | | . . . . . . . acastro en ciberdroide.com | +()()()---------()()()--------------------+ From py en ls-l.org Tue Jul 26 09:41:31 2005 From: py en ls-l.org (Chema Cortes) Date: Tue, 26 Jul 2005 09:41:31 +0200 Subject: pasar numeros a letras In-Reply-To: <172699c505072514552b208357@mail.gmail.com> References: <172699c505072514552b208357@mail.gmail.com> Message-ID: <42E5E92B.4030607@ls-l.org> Milton inostroza escribió: > hola lista: > > Necesito un algoritmo que me traduzca de numeros a letras. ej: > 2->dos; 34 ->treinta y cuatro...y asi sucesivamente. > > Encontre un código que hizo un colega, pero me pregunto si python > trae alguna clasesilla que haga esto. alguien que me pueda ayudar. Python no lleva nada de éso, pero si quieres puedes usar una que hice hace tiempo. He aprovechado para subir a internet algunos códigos que tenía por ahí perdidos: Numerals.py (http://ch3m4.org/pystore/Numerals.py) Convertir de números a texto en castellano (sin faltas de ortografía) CalcCC.py (http://ch3m4.org/pystore/CalcCC.py) Comprobar el código de control de una cuenta bancaria Calcnif.py (http://ch3m4.org/pystore/Calcnif.py) Chequear el NIF (personas físicas ó jurídicas) luhn.py (http://ch3m4.org/pystore/luhn.py) Comprobar tarjetas de crédito From lcatalin en siadv.com Tue Jul 26 12:00:11 2005 From: lcatalin en siadv.com (Catalin Lungu) Date: Tue, 26 Jul 2005 12:00:11 +0200 Subject: Consulta Postgre Message-ID: <002901c591c8$d025ebc0$7500a8c0@catalin> Hola, Hay alguna forma de hacer un UPDATE sobre una tabla Postgre de la siguiente forma: UPDATE "VENTAS" SET PRECIO = CalculaPrecio() donde CalculaPrecio es una función Python. Lo que me hace falta es que para cada fila de la tabla que se llame a la función. Con la forma de arriba me pone el mismo precio en todas las filas. Gracias, Catalin From faltet en carabos.com Tue Jul 26 12:06:39 2005 From: faltet en carabos.com (Francesc Altet) Date: Tue, 26 Jul 2005 12:06:39 +0200 Subject: Puertos en linux In-Reply-To: <9140533f05072509415af6394@mail.gmail.com> References: <54af49c10507191401e812ee3@mail.gmail.com> <9140533f05072509415af6394@mail.gmail.com> Message-ID: <200507261206.39950.faltet@carabos.com> A Monday 25 July 2005 18:41, Joan Ordinas va escriure: > On 7/19/05, JoePC wrote: > > Tengo un problema, estoy haciendo pruebas para implementar un servidor > > de smtp, pero en linux no me deja capturar el puerto 20 salvo que sea > > el root. > > ¿como debo hacerlo? > > Como ya te han dicho, esto ha de ser así. Para lanzar tu programa, que > desea escuchar en un puerto < 1024, lo lanzas como root, ya sea con > su, sudo, o como quieras o puedas. No le des mas vueltas. Esto es así > "por diseño". O también puedes usar un puerto > 1024 para las pruebas y usar un cliente de correo que te permita cambiar ese puerto. -- >0,0< Francesc Altet     http://www.carabos.com/ V V Cárabos Coop. V.   Enjoy Data "-" From alexis.roda en urv.net Tue Jul 26 12:07:05 2005 From: alexis.roda en urv.net (SER.RI-TIC-Alexis Roda) Date: Tue, 26 Jul 2005 12:07:05 +0200 Subject: Consulta Postgre In-Reply-To: <002901c591c8$d025ebc0$7500a8c0@catalin> References: <002901c591c8$d025ebc0$7500a8c0@catalin> Message-ID: <42E60B49.7060100@urv.net> Catalin Lungu wrote: > Hola, > Hay alguna forma de hacer un UPDATE sobre una tabla Postgre de la siguiente forma: > > UPDATE "VENTAS" SET PRECIO = CalculaPrecio() > > donde CalculaPrecio es una función Python. Lo que me hace falta es que para cada fila de la tabla que se llame a la función. Con la forma de arriba me pone el mismo precio en todas las filas. > Tal vez te sirva. http://www.postgresql.org/docs/8.0/static/plpython.html Saludos -- //// (@ @) ----------------------------oOO----(_)----OOo-------------------------- <> Ojo por ojo y el mundo acabara ciego /\ Alexis Roda - Universitat Rovira i Virgili - Reus, Tarragona (Spain) ----------------------------------------------------------------------- From pepe en diselpro.com Tue Jul 26 11:58:56 2005 From: pepe en diselpro.com (Pepe Aracil) Date: Tue, 26 Jul 2005 11:58:56 +0200 Subject: Consulta Postgre In-Reply-To: <002901c591c8$d025ebc0$7500a8c0@catalin> References: <002901c591c8$d025ebc0$7500a8c0@catalin> Message-ID: <42E60960.2020607@diselpro.com> Hola. ¿No te sirve esto? for id in lista_de_ids: cur.execute('UPDATE "VENTAS" SET PRECIO=%s WHERE ID=%s",(CalculaPrecio(id),id)) Salud. Catalin Lungu wrote: > Hola, > Hay alguna forma de hacer un UPDATE sobre una tabla Postgre de la siguiente forma: > > UPDATE "VENTAS" SET PRECIO = CalculaPrecio() > > donde CalculaPrecio es una función Python. Lo que me hace falta es que para cada fila de la tabla que se llame a la función. Con la forma de arriba me pone el mismo precio en todas las filas. > > Gracias, > Catalin > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From svenero en gmail.com Tue Jul 26 12:21:01 2005 From: svenero en gmail.com (Javierin Tin Tin) Date: Tue, 26 Jul 2005 12:21:01 +0200 Subject: cgi vacio Message-ID: <8595f20705072603212cf64c1f@mail.gmail.com> Hola! Es la primera vez que escribo en una lista de estas así que espero que me perdonéis si incumplo alguna norma o hago algo mal. Mi problema es: estoy realizando con python un sistema de entrega de prácticas muy simple que maneja una base de datos de usuarios. Estoy usando páginas dinámicas con un parser dom. Y el problema es que cuando genero una página dinámica tras hacer la acción de login (un cgi) éste me devuelve un html vacío (). Y por ningún lado sale el resultado de reemplazar etiquetas en la plantilla xhtml con el parser. En cambio si ejecuto el cgi desde línea de comandos devuelve correctamente lo que sería la página. Si en el cgi no utilizo el parser para generar la página dinámica no hay ningún problema. Gracias a todos de antemano. Salud! From py en ls-l.org Tue Jul 26 12:39:13 2005 From: py en ls-l.org (Chema Cortes) Date: Tue, 26 Jul 2005 12:39:13 +0200 Subject: cgi vacio In-Reply-To: <8595f20705072603212cf64c1f@mail.gmail.com> References: <8595f20705072603212cf64c1f@mail.gmail.com> Message-ID: <42E612D1.5050200@ls-l.org> Javierin Tin Tin escribió: > Hola! > Es la primera vez que escribo en una lista de estas así que espero que > me perdonéis si incumplo alguna norma o hago algo mal. > > Mi problema es: > estoy realizando con python un sistema de entrega de prácticas muy > simple que maneja una base de datos de usuarios. > Estoy usando páginas dinámicas con un parser dom. Y el problema es que > cuando genero una página dinámica tras hacer la acción de login (un cgi) > éste me devuelve un html vacío (). Y por ningún lado sale el > resultado de reemplazar etiquetas en la plantilla xhtml con el parser. > En cambio si ejecuto el cgi desde línea de comandos devuelve > correctamente lo que sería la página. > > Si en el cgi no utilizo el parser para generar la página dinámica no hay > ningún problema. Puede que tengas un problema de permisos, o que no hayas hecho "ejecutable" el cgi. Piensa que el CGI lo estás ejecutando con el mismo usuario que el apache (excepto si usas SCGI http://www.mems-exchange.org/software/scgi/). From svenero en gmail.com Tue Jul 26 12:49:29 2005 From: svenero en gmail.com (Javierin Tin Tin) Date: Tue, 26 Jul 2005 12:49:29 +0200 Subject: cgi vacio In-Reply-To: <42E612D1.5050200@ls-l.org> References: <8595f20705072603212cf64c1f@mail.gmail.com> <42E612D1.5050200@ls-l.org> Message-ID: <8595f207050726034931185807@mail.gmail.com> El 26/07/05, Chema Cortes escribió: > Puede que tengas un problema de permisos, o que no hayas hecho > "ejecutable" el cgi. Piensa que el CGI lo estás ejecutando con el mismo > usuario que el apache (excepto si usas SCGI > http://www.mems-exchange.org/software/scgi/). > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > Hola! Gracias por contestar! Los permisos los tengo cambiados. El problema es que al escribir el resultado de las operaciones (una página html) y utilizo un parser dom para cambiar ciertas etiquetas de la plantilla por el resultado (por ejemplo una lista de archivos) obtengo: ... Es decir, obtengo la primera etitqueta vacía y luego lo que sería el contenido. Si lo que escribo con el cgi es la página html entera (generar una página html válida) es todo correcto. Parece ser que la salida del DOM no está bien... Gracias! Salud! From lcatalin en siadv.com Tue Jul 26 12:51:14 2005 From: lcatalin en siadv.com (Catalin Lungu) Date: Tue, 26 Jul 2005 12:51:14 +0200 Subject: Consulta Postgre References: <002901c591c8$d025ebc0$7500a8c0@catalin> <42E60960.2020607@diselpro.com> Message-ID: <001301c591cf$f2384940$7500a8c0@catalin> Si no hay mas remedio me servirá esto. La idea era hacer el UPDATE en un solo comando SQL. El UPDATE modifica una columna entera en una sola llamada sin hacer un bucle para cada fila. Pues esto mismo me gustaría que pueda hacer, es decir evitar 10 millones de iteraciones para cada fila. Gracias. ----- Original Message ----- From: "Pepe Aracil" To: "La lista de python en castellano" Sent: Tuesday, July 26, 2005 11:58 AM Subject: Re: [Python-es] Consulta Postgre > Hola. > ¿No te sirve esto? > > for id in lista_de_ids: > cur.execute('UPDATE "VENTAS" SET PRECIO=%s WHERE > ID=%s",(CalculaPrecio(id),id)) > > > > Salud. > > > Catalin Lungu wrote: >> Hola, >> Hay alguna forma de hacer un UPDATE sobre una tabla Postgre de la >> siguiente forma: >> >> UPDATE "VENTAS" SET PRECIO = CalculaPrecio() donde CalculaPrecio es una >> función Python. Lo que me hace falta es que para cada fila de la tabla >> que se llame a la función. Con la forma de arriba me pone el mismo precio >> en todas las filas. >> >> Gracias, >> Catalin >> _______________________________________________ >> Python-es mailing list >> Python-es en aditel.org >> http://listas.aditel.org/listinfo/python-es > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > From anifeno en ubbi.com Tue Jul 26 12:54:15 2005 From: anifeno en ubbi.com (Anibal Fenoglio) Date: Tue, 26 Jul 2005 07:54:15 -0300 Subject: Puertos en linux In-Reply-To: <9140533f05072509415af6394@mail.gmail.com> References: <54af49c10507191401e812ee3@mail.gmail.com> <9140533f05072509415af6394@mail.gmail.com> Message-ID: <1122375257.2690.9.camel@localhost> El lun, 25-07-2005 a las 18:41 +0200, Joan Ordinas escribió: > On 7/19/05, JoePC wrote: > > Tengo un problema, estoy haciendo pruebas para implementar un servidor > > de smtp, pero en linux no me deja capturar el puerto 20 salvo que sea > > el root. > > ¿como debo hacerlo? > > Como ya te han dicho, esto ha de ser así. Para lanzar tu programa, que > desea escuchar en un puerto < 1024, lo lanzas como root, ya sea con > su, sudo, o como quieras o puedas. No le des mas vueltas. Esto es así > "por diseño". > > JJOR Hola, también se podría hacer que tu programa escuche en un puerto mayor al 1024 (ej 2020) y luego con una regla de IPTABLES redireccionar lo que llegue al puerto 20 hasta el 2020. Saludos. -- Anibal "Kia" Fenoglio Córdoba - Argentina ICQ: 24950258 Jabber: anifeno en jabber.org Correo-e: anibalf en gmail.com Blog: http://anibalf.blogspot.com http://www.aptech.com.ar/blog/ GPG id: B02DED4A ------------ 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 ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From lcatalin en siadv.com Tue Jul 26 13:10:47 2005 From: lcatalin en siadv.com (Catalin Lungu) Date: Tue, 26 Jul 2005 13:10:47 +0200 Subject: Consulta Postgre References: <002901c591c8$d025ebc0$7500a8c0@catalin><42E60960.2020607@diselpro.com> <001301c591cf$f2384940$7500a8c0@catalin> Message-ID: <002101c591d2$ad09afa0$7500a8c0@catalin> Quise decir "evitar 10 millones de iteraciones una para cada fila" ----- Original Message ----- From: "Catalin Lungu" To: "La lista de python en castellano" Sent: Tuesday, July 26, 2005 12:51 PM Subject: Re: [Python-es] Consulta Postgre > Si no hay mas remedio me servirá esto. La idea era hacer el UPDATE en un > solo comando SQL. El UPDATE modifica una columna entera en una sola > llamada sin hacer un bucle para cada fila. Pues esto mismo me gustaría que > pueda hacer, es decir evitar 10 millones de iteraciones para cada fila. > > Gracias. > > ----- Original Message ----- > From: "Pepe Aracil" > To: "La lista de python en castellano" > Sent: Tuesday, July 26, 2005 11:58 AM > Subject: Re: [Python-es] Consulta Postgre > > >> Hola. >> ¿No te sirve esto? >> >> for id in lista_de_ids: >> cur.execute('UPDATE "VENTAS" SET PRECIO=%s WHERE >> ID=%s",(CalculaPrecio(id),id)) >> >> >> >> Salud. >> >> >> Catalin Lungu wrote: >>> Hola, >>> Hay alguna forma de hacer un UPDATE sobre una tabla Postgre de la >>> siguiente forma: >>> >>> UPDATE "VENTAS" SET PRECIO = CalculaPrecio() donde CalculaPrecio es una >>> función Python. Lo que me hace falta es que para cada fila de la tabla >>> que se llame a la función. Con la forma de arriba me pone el mismo >>> precio en todas las filas. >>> >>> Gracias, >>> Catalin >>> _______________________________________________ >>> Python-es mailing list >>> Python-es en aditel.org >>> http://listas.aditel.org/listinfo/python-es >> _______________________________________________ >> Python-es mailing list >> Python-es en aditel.org >> http://listas.aditel.org/listinfo/python-es >> > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > From py en ls-l.org Tue Jul 26 13:14:08 2005 From: py en ls-l.org (Chema Cortes) Date: Tue, 26 Jul 2005 13:14:08 +0200 Subject: Consulta Postgre In-Reply-To: <001301c591cf$f2384940$7500a8c0@catalin> References: <002901c591c8$d025ebc0$7500a8c0@catalin> <42E60960.2020607@diselpro.com> <001301c591cf$f2384940$7500a8c0@catalin> Message-ID: <42E61B00.8060604@ls-l.org> Catalin Lungu escribió: > Si no hay mas remedio me servirá esto. La idea era hacer el UPDATE en un > solo comando SQL. El UPDATE modifica una columna entera en una sola > llamada sin hacer un bucle para cada fila. Pues esto mismo me gustaría > que pueda hacer, es decir evitar 10 millones de iteraciones para cada fila. Si la tabla está indexada por el campo ID no serían tantas iteraciones. Si se agrupa todo en una sóla transacción no debería dar mayores problemas. Pero parece que lo que buscas sean las funciones almacenadas de postgresql. Las puedes escribir en pl/pythonu, pero ten en cuenta que éso significaría cargar bastante el servidor, además de que seguramente tendrías que recompilar el postgresql para aceptar python. Si los cálculos no son muy complejos, podrías hacerlos con pl/pgsql. From svenero en gmail.com Tue Jul 26 13:42:19 2005 From: svenero en gmail.com (svenero en gmail.com) Date: Tue, 26 Jul 2005 13:42:19 +0200 Subject: cgi vacio Message-ID: <1122378139.5884.3.camel@localhost.localdomain> Hola! Ya está solucionado. Era una verdadera tontería... y llevo dos días (suele pasar). La página la generaba bien pero además de ella hay que mandar la cabecera "Content-type: text/html", hasta ahí bien. Lo que faltaba era recordar la estructura de las cabeceras y cuerpo en las respuestas http: faltaba un espacio (dos CRLF) después de la cabecera. En fin... muchas gracias por preocuparse! Salud! From graciosillo21 en yahoo.es Tue Jul 26 17:16:56 2005 From: graciosillo21 en yahoo.es (isaac jarquin medina) Date: Tue, 26 Jul 2005 17:16:56 +0200 (CEST) Subject: cgi vacio In-Reply-To: <1122378139.5884.3.camel@localhost.localdomain> References: <1122378139.5884.3.camel@localhost.localdomain> Message-ID: <20050726151657.36900.qmail@web26903.mail.ukl.yahoo.com> buenas estoy buscando un tutorial de Tkinter en español a ver si me puedes hechar una mano. de momento me las apaño con uno en portugues y otro en ingles pero la verdad que hay veces que la pesco fleje venga viejo un saludo --- "svenero en gmail.com" escribió: > Hola! > > Ya está solucionado. Era una verdadera tontería... y > llevo dos días > (suele pasar). > > La página la generaba bien pero además de ella hay > que mandar la > cabecera "Content-type: text/html", hasta ahí bien. > Lo que faltaba era > recordar la estructura de las cabeceras y cuerpo en > las respuestas http: > faltaba un espacio (dos CRLF) después de la > cabecera. > > En fin... muchas gracias por preocuparse! > > Salud! > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > ______________________________________________ Renovamos el Correo Yahoo! Nuevos servicios, más seguridad http://correo.yahoo.es From graciosillo21 en yahoo.es Tue Jul 26 18:51:46 2005 From: graciosillo21 en yahoo.es (isaac jarquin medina) Date: Tue, 26 Jul 2005 18:51:46 +0200 (CEST) Subject: tutorial de Tkinter Message-ID: <20050726165146.60229.qmail@web26903.mail.ukl.yahoo.com> buenas estoy buscando un tutorial de Tkinter en español a ver si me pueden hechar una mano. de momento me las apaño con uno en portugues y otro en ingles pero la verdad que hay veces que la pesco fleje venga señores un saludo ______________________________________________ Renovamos el Correo Yahoo! Nuevos servicios, más seguridad http://correo.yahoo.es From javierg_cim en yahoo.com.mx Tue Jul 26 19:58:32 2005 From: javierg_cim en yahoo.com.mx (=?ISO-8859-1?Q?Javier_Gardu=F1o?=) Date: Tue, 26 Jul 2005 12:58:32 -0500 Subject: wxPython: Deplegar Imagen In-Reply-To: <010d01c591ac$702ac220$d900a8c0@catalin> References: <42E294CF.9020202@yahoo.com.mx> <010d01c591ac$702ac220$d900a8c0@catalin> Message-ID: <42E679C8.2040704@yahoo.com.mx> Catalin Lungu wrote: > Solo con wx.Bitmap no vale para ver imagenes. Hay que cargrlo en un > wx.StaticBitmap. > try: > bmp = wx.Bitmap(ruta, wx.BITMAP_TYPE_ANY) > except: > bmp = wx.EmptyBitmap(ancho, alto) > > imag = wx.StaticBitmap(tu_formulario, -1, bmp, (posx, posy), > (ancho, alto)) > > Saludos, > Catalin > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > Gracias por la respuesta. Pero mi pregunta no va especificamente en el código para pintar. Trataré de ser más claro: Tengo una clase llamada frmImagen, que no es otra cosa que un wxframe. Deseo crear una instancia de la clase donde se muestre una imagen elegida por el usuario. Mi problema es que no sé cómo "decirle" a la instancia que pinte esa imagen en particular. Es decir, ¿Cómo puedo 'darle' la imagen al frame para que lo gestione? ¿Cómo envío el parámetro o el objeto? (La ruta de la imagen no vale) Si me pudieran orientar estaría muy agradecido. Apenas estoy empezando con el wxPython. Javier Garduño -- Blog personal 'VisiónE': http://visione.esceptica.net/ __________________________________________________ Correo Yahoo! Espacio para todos tus mensajes, antivirus y antispam ¡gratis! Regístrate ya - http://correo.yahoo.com.mx/ From erny en sicem.biz Tue Jul 26 21:01:03 2005 From: erny en sicem.biz (Ernesto Revilla) Date: Tue, 26 Jul 2005 21:01:03 +0200 Subject: Consulta Postgre In-Reply-To: <42E61B00.8060604@ls-l.org> References: <002901c591c8$d025ebc0$7500a8c0@catalin> <42E60960.2020607@diselpro.com> <001301c591cf$f2384940$7500a8c0@catalin> <42E61B00.8060604@ls-l.org> Message-ID: <42E6886F.7010702@sicem.biz> Hola, Respecto a lo que dices, puedes usar una consulta parametrizada también, pero parece que pyPgSQL no lo soporta. Puedes usar PREPARE para crear una consulta optimizada. He hecho una prueba sobre la inserción de 10000 filas: SQL Normal: 10.9159998894 segundos Params expandidos por pyPgSQL: 13.5299999714 segundos autocommit habilitado: 20.1190001965 segundos con plan preparado: 10.0750000477 segundos (fuente en http://www.sicem.biz/personal/erny/python/Recetas/testpyPgSQL) ¿Cómo calculas los precios? ¿Qué otras variables / tablas intervienen? Estos días he estado revisando la interfaz python de programación en servidor (SPI), y realmente tiene una pinta estupenda. Viene incluído/compilado en Debian Sarge (Postgresql 7.4.x) y Windows. Para Fedora Core 3 hay paquete instalable. Es bastante probable que esté incluido o que existe como paquete de binarios para la distribución que uséis. Cosas interesantes: * todos los triggers se ejecutan en una transacción. Al fallar el trigger se realiza automáticamente un Rollback * se puede realizar importaciones de módulos, y por tanto escribir toda la lógica del servidor con vuestro editor favorito, en un directorio cualquiera con lo que podáis usar fácilmente cvs, subversion o cualquier otro paquete de control de versiones * los triggers pueden diseñarse genéricamente para inserción, borrado y modificación de registros: * los datos de los triggers están disponibles en un simple diccionario (TD) * se pueden intercambiar datos entre varias funciones a través de un diccionario global (GD) * cada función dispone de un diccionario que mantiene su estado entre las llamadas a la función (ejemplo, contador) http://python.fyxm.net/pycon/dc2004/papers/23/ Para tus cosas: desde el sistema operativo, intenta instalar python como un lenguaje (entra como usuario postgres o el que sea tu superusuario de la BD): $ createlang plpythonu desde psql o mandando consultas a la BD: create function actualizaPrecios() returns void as $$ $$ language plpython; Un saludo, Erny Chema Cortes escribió: >Catalin Lungu escribió: > > >>Si no hay mas remedio me servirá esto. La idea era hacer el UPDATE en un >>solo comando SQL. El UPDATE modifica una columna entera en una sola >>llamada sin hacer un bucle para cada fila. Pues esto mismo me gustaría >>que pueda hacer, es decir evitar 10 millones de iteraciones para cada fila. >> >> > >Si la tabla está indexada por el campo ID no serían tantas iteraciones. >Si se agrupa todo en una sóla transacción no debería dar mayores problemas. > >Pero parece que lo que buscas sean las funciones almacenadas de >postgresql. Las puedes escribir en pl/pythonu, pero ten en cuenta que >éso significaría cargar bastante el servidor, además de que seguramente >tendrías que recompilar el postgresql para aceptar python. Si los >cálculos no son muy complejos, podrías hacerlos con pl/pgsql. >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es > > > --- avast! Antivirus: Saliente mensaje limpio. Base de datos de Virus (VPS): 0530-1, 26/07/2005 Comprobado en: 26/07/2005 21:01:04 avast! tiene los derechos reservados (c) 2000-2004 ALWIL Software. http://www.avast.com From hsantos78 en yahoo.es Tue Jul 26 23:27:18 2005 From: hsantos78 en yahoo.es (Hector Santos) Date: Tue, 26 Jul 2005 23:27:18 +0200 (CEST) Subject: Programacion LAMP Message-ID: <20050726212718.24030.qmail@web25602.mail.ukl.yahoo.com> He visto mucho lo que es LAMP (Linux, Apache, MYSQL, Php/Perl/Python) pero todos los tutoriales se tratan de php y no Python. Hay algun tutorial sobre LAMP pero con orientacion a python? No importa que sea en ingles. ______________________________________________ Renovamos el Correo Yahoo! Nuevos servicios, más seguridad http://correo.yahoo.es From egapaz en jazzfree.com Tue Jul 26 23:42:31 2005 From: egapaz en jazzfree.com (ELIAS) Date: Tue, 26 Jul 2005 23:42:31 +0200 Subject: DABO. Herramienta de desarrollo multiplataforma para aplicaciones de gestion Message-ID: <20050726234231.7ed15f0c@maga.micasa.es> He tropezado casualmente con DABO, segun su web, es una herramienta de desarrollo de aplicaciones de base de datos basada en python y wxpython que quiere parecerse a visual foxpro pero que es multiplataforma (linux/ mac-ox/win). En teoria, parece una buena herramienta para hacer de python uno de los lenguajes de desarrollo de esas aplicaciones de gestion de empresa que tanta falta hacen para polularizar linux en las empresas. La web es: http://dabodev.com/about Por mi parte creo que tardare bastante en probarla, si alguien lo hace antes que comente sus impresiones ;-) Un saludo. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From machucao4 en yahoo.es Wed Jul 27 01:15:33 2005 From: machucao4 en yahoo.es (Manuel Labra) Date: Wed, 27 Jul 2005 01:15:33 +0200 (CEST) Subject: wxPython: Deplegar Imagen In-Reply-To: <42E679C8.2040704@yahoo.com.mx> References: <42E679C8.2040704@yahoo.com.mx> Message-ID: <20050726231533.93663.qmail@web26202.mail.ukl.yahoo.com> Hola, yo he trabajado con algo parecido, pero la forma que le entrego es siempre con la dirección (ruta) de la imagen (claro que yo tengo una estructura que me permite hacer esto), si deseas pasarle la imagen para manipularñla intenta pasarla como un wx.Bitmap que es lo que ocupa generalmente para referirse a una imagen. Bueno aunque con una buena estructura de archivos prefiero la ruta. Saludos! Manuel Labra S. http://www.alumnos.utfsm.cl/~manuel_labra/ --- Javier Garduño escribió: > Catalin Lungu wrote: > > Solo con wx.Bitmap no vale para ver imagenes. Hay > que cargrlo en un > > wx.StaticBitmap. > > try: > > bmp = wx.Bitmap(ruta, > wx.BITMAP_TYPE_ANY) > > except: > > bmp = wx.EmptyBitmap(ancho, alto) > > > > imag = wx.StaticBitmap(tu_formulario, -1, > bmp, (posx, posy), > > (ancho, alto)) > > > > Saludos, > > Catalin > > > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es > > > > Gracias por la respuesta. Pero mi pregunta no va > especificamente en el > código para pintar. Trataré de ser más claro: > > Tengo una clase llamada frmImagen, que no es otra > cosa que un wxframe. > Deseo crear una instancia de la clase donde se > muestre una imagen > elegida por el usuario. > > Mi problema es que no sé cómo "decirle" a la > instancia que pinte esa > imagen en particular. Es decir, ¿Cómo puedo 'darle' > la imagen al frame > para que lo gestione? ¿Cómo envío el parámetro o el > objeto? (La ruta de > la imagen no vale) > > Si me pudieran orientar estaría muy agradecido. > Apenas estoy empezando > con el wxPython. > > Javier Garduño > > -- > Blog personal 'VisiónE': > http://visione.esceptica.net/ > > __________________________________________________ > Correo Yahoo! > Espacio para todos tus mensajes, antivirus y > antispam ¡gratis! > Regístrate ya - http://correo.yahoo.com.mx/ > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > ______________________________________________ Renovamos el Correo Yahoo! Nuevos servicios, más seguridad http://correo.yahoo.es From minoztro en gmail.com Wed Jul 27 06:53:17 2005 From: minoztro en gmail.com (Milton inostroza) Date: Wed, 27 Jul 2005 00:53:17 -0400 Subject: pasar numeros a letras In-Reply-To: <42E5E92B.4030607@ls-l.org> References: <172699c505072514552b208357@mail.gmail.com> <42E5E92B.4030607@ls-l.org> Message-ID: <172699c505072621535873f511@mail.gmail.com> > Python no lleva nada de éso, pero si quieres puedes usar una que hice > hace tiempo. Muchas gracias, funciona perfecto -- Milton Inostroza Aguilera From jcanto en hispasec.com Wed Jul 27 13:04:51 2005 From: jcanto en hispasec.com (Julio Canto) Date: Wed, 27 Jul 2005 13:04:51 +0200 Subject: Proxy SOCKS In-Reply-To: <247522d105071811201f364099@mail.gmail.com> References: <247522d105071811201f364099@mail.gmail.com> Message-ID: <42E76A53.6030308@hispasec.com> Buenas, He estado buscando algo en python puro para implementar un proxy SOCKS pero no he encontrado nada... ¿Alguien tiene alguna experiencia al respecto? Gracias por adelantado, JC From dvilla en gmx.net Wed Jul 27 13:49:31 2005 From: dvilla en gmx.net (David Villa) Date: Wed, 27 Jul 2005 13:49:31 +0200 Subject: Proxy SOCKS In-Reply-To: <42E76A53.6030308@hispasec.com> References: <247522d105071811201f364099@mail.gmail.com> <42E76A53.6030308@hispasec.com> Message-ID: <1122464971.14201.1.camel@amy> No entiendo para qué sirve un proxy SOCKS. Podrías explicarlo? por favor. Saludos El mié, 27-07-2005 a las 13:04 +0200, Julio Canto escribió: > Buenas, > He estado buscando algo en python puro para implementar un proxy SOCKS > pero no he encontrado nada... ¿Alguien tiene alguna experiencia al respecto? > Gracias por adelantado, > JC > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > From jcanto en hispasec.com Wed Jul 27 14:04:39 2005 From: jcanto en hispasec.com (Julio Canto) Date: Wed, 27 Jul 2005 14:04:39 +0200 Subject: Proxy SOCKS In-Reply-To: <1122464971.14201.1.camel@amy> References: <247522d105071811201f364099@mail.gmail.com> <42E76A53.6030308@hispasec.com> <1122464971.14201.1.camel@amy> Message-ID: <42E77857.5070306@hispasec.com> David Villa wrote: >No entiendo para qué sirve un proxy SOCKS. Podrías explicarlo? por >favor. > > Hmm... bueno, queria programar un proxy SOCKSv4 para hacer filtros de trafico de ciertos protocolos. Suena descabellado? :? Un saludo, JC From dvilla en gmx.net Wed Jul 27 14:17:00 2005 From: dvilla en gmx.net (David Villa) Date: Wed, 27 Jul 2005 14:17:00 +0200 Subject: Proxy SOCKS In-Reply-To: <42E77857.5070306@hispasec.com> References: <247522d105071811201f364099@mail.gmail.com> <42E76A53.6030308@hispasec.com> <1122464971.14201.1.camel@amy> <42E77857.5070306@hispasec.com> Message-ID: <1122466620.14201.9.camel@amy> Hola: ajem, no he dicho nada, se me fue la olla y entendí otra cosa. No, no creo que sea descabellado implementar un proxy SOCKS aunque si que puede tener trabajo implementar el protocolo y el proceso de autenticación. De todos modos, lo habitual ahora es SOCKS5, no? El mié, 27-07-2005 a las 14:04 +0200, Julio Canto escribió: > David Villa wrote: > > >No entiendo para qué sirve un proxy SOCKS. Podrías explicarlo? por > >favor. > > > > > Hmm... bueno, queria programar un proxy SOCKSv4 para hacer filtros de > trafico de ciertos protocolos. Suena descabellado? :? > Un saludo, > JC > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > From jcanto en hispasec.com Wed Jul 27 14:31:56 2005 From: jcanto en hispasec.com (Julio Canto) Date: Wed, 27 Jul 2005 14:31:56 +0200 Subject: Proxy SOCKS In-Reply-To: <1122466620.14201.9.camel@amy> References: <247522d105071811201f364099@mail.gmail.com> <42E76A53.6030308@hispasec.com> <1122464971.14201.1.camel@amy> <42E77857.5070306@hispasec.com> <1122466620.14201.9.camel@amy> Message-ID: <42E77EBC.5050205@hispasec.com> David Villa wrote: >Hola: > >ajem, no he dicho nada, se me fue la olla y entendí otra cosa. > >No, no creo que sea descabellado implementar un proxy SOCKS aunque si >que puede tener trabajo implementar el protocolo y el proceso de >autenticación. De todos modos, lo habitual ahora es SOCKS5, no? > > Si, pero queria empezar con algo mas 'ligero', mas que nada para experimentar y luego meterme en berengenales mas espesos, como lo de la autenticación de la v5 y demás :) Un saludo, JC From lcatalin en siadv.com Wed Jul 27 14:57:37 2005 From: lcatalin en siadv.com (Catalin Lungu) Date: Wed, 27 Jul 2005 14:57:37 +0200 Subject: Consulta Postgre References: <002901c591c8$d025ebc0$7500a8c0@catalin> <42E60960.2020607@diselpro.com> <001301c591cf$f2384940$7500a8c0@catalin><42E61B00.8060604@ls-l.org> <42E6886F.7010702@sicem.biz> Message-ID: <000b01c592aa$c3ef1b50$7500a8c0@catalin> Hola, Ya me he creado funciones en el servidor y las puedo llamar desde mis programas. Ahora me gustaría poder importar mis módulos desde las funciones. Puedo importar sys, time, etc. pero no puedo importar random y tampoco mis módulos aunque la ruta de los módulos se encuentra en sys.path Muchas gracia otra vez. Catalin ----- Original Message ----- From: "Ernesto Revilla" To: "La lista de python en castellano" Sent: Tuesday, July 26, 2005 9:01 PM Subject: Re: [Python-es] Consulta Postgre > Hola, > > Respecto a lo que dices, puedes usar una consulta parametrizada también, > pero parece que pyPgSQL no lo soporta. Puedes usar PREPARE para crear una > consulta optimizada. He hecho una prueba sobre la inserción de 10000 > filas: > > SQL Normal: 10.9159998894 segundos > Params expandidos por pyPgSQL: 13.5299999714 segundos > autocommit habilitado: 20.1190001965 segundos > con plan preparado: 10.0750000477 segundos > > (fuente en http://www.sicem.biz/personal/erny/python/Recetas/testpyPgSQL) > > ¿Cómo calculas los precios? ¿Qué otras variables / tablas intervienen? > > Estos días he estado revisando la interfaz python de programación en > servidor (SPI), y realmente tiene una pinta estupenda. Viene > incluído/compilado en Debian Sarge (Postgresql 7.4.x) y Windows. Para > Fedora Core 3 hay paquete instalable. Es bastante probable que esté > incluido o que existe como paquete de binarios para la distribución que > uséis. > > Cosas interesantes: > * todos los triggers se ejecutan en una transacción. Al fallar el trigger > se realiza automáticamente un Rollback > * se puede realizar importaciones de módulos, y por tanto escribir toda la > lógica del servidor con vuestro editor favorito, en un directorio > cualquiera con lo que podáis usar fácilmente cvs, subversion o cualquier > otro paquete de control de versiones > * los triggers pueden diseñarse genéricamente para inserción, borrado y > modificación de registros: > * los datos de los triggers están disponibles en un simple diccionario > (TD) > * se pueden intercambiar datos entre varias funciones a través de un > diccionario global (GD) > * cada función dispone de un diccionario que mantiene su estado entre las > llamadas a la función (ejemplo, contador) > > http://python.fyxm.net/pycon/dc2004/papers/23/ > > Para tus cosas: > desde el sistema operativo, intenta instalar python como un lenguaje > (entra como usuario postgres o el que sea tu superusuario de la BD): > $ createlang plpythonu > > desde psql o mandando consultas a la BD: > create function actualizaPrecios() returns void as $$ > puedes usar plpy.execute para realizar consultas> > $$ language plpython; > > Un saludo, > Erny > > > > > Chema Cortes escribió: > >>Catalin Lungu escribió: >> >>>Si no hay mas remedio me servirá esto. La idea era hacer el UPDATE en un >>>solo comando SQL. El UPDATE modifica una columna entera en una sola >>>llamada sin hacer un bucle para cada fila. Pues esto mismo me gustaría >>>que pueda hacer, es decir evitar 10 millones de iteraciones para cada >>>fila. >>> >> >>Si la tabla está indexada por el campo ID no serían tantas iteraciones. >>Si se agrupa todo en una sóla transacción no debería dar mayores >>problemas. >> >>Pero parece que lo que buscas sean las funciones almacenadas de >>postgresql. Las puedes escribir en pl/pythonu, pero ten en cuenta que >>éso significaría cargar bastante el servidor, además de que seguramente >>tendrías que recompilar el postgresql para aceptar python. Si los >>cálculos no son muy complejos, podrías hacerlos con pl/pgsql. >>_______________________________________________ >>Python-es mailing list >>Python-es en aditel.org >>http://listas.aditel.org/listinfo/python-es >> >> > > > > > --- > avast! Antivirus: Saliente mensaje limpio. > Base de datos de Virus (VPS): 0530-1, 26/07/2005 > Comprobado en: 26/07/2005 21:01:04 > avast! tiene los derechos reservados (c) 2000-2004 ALWIL Software. > http://www.avast.com > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > From erny en sicem.biz Wed Jul 27 16:12:11 2005 From: erny en sicem.biz (Ernesto Revilla) Date: Wed, 27 Jul 2005 16:12:11 +0200 Subject: Rekall Era: DABO. Herramienta de desarrollo multiplataforma para aplicaciones de gestion In-Reply-To: <20050726234231.7ed15f0c@maga.micasa.es> References: <20050726234231.7ed15f0c@maga.micasa.es> Message-ID: <42E7963B.8010607@sicem.biz> Hola también hay una herramienta que se quiere parecer a M$ Access. Se llama Rekall. Está escrito en C++ / QT, pero lo que para Access es VBA, para Rekall es Python. Hay licencia dual para Linux (GPL/comercial) y licencia comercial para Windows (ya que para QT 3.x no hay licencia GPL en versión Windows), pero cuesta sólo 25 libras esterlinas por copia. En un futuro cercano, tendremos tb licencia GPL para Windows, ya que QT 4 tiene tb licencia dual bajo Windows. http://www.rekallrevealed.org Un saludo, Erny ELIAS escribió: >He tropezado casualmente con DABO, segun su web, es una herramienta de >desarrollo de aplicaciones de base de datos basada en python y wxpython >que quiere parecerse a visual foxpro pero que es multiplataforma (linux/ >mac-ox/win). > >En teoria, parece una buena herramienta para hacer de python uno de los >lenguajes de desarrollo de esas aplicaciones de gestion de empresa que >tanta falta hacen para polularizar linux en las empresas. > >La web es: http://dabodev.com/about > >Por mi parte creo que tardare bastante en probarla, si alguien lo hace >antes que comente sus impresiones ;-) > >Un saludo. > > >------------------------------------------------------------------------ > >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es > > --- avast! Antivirus: Saliente mensaje limpio. Base de datos de Virus (VPS): 0530-1, 26/07/2005 Comprobado en: 27/07/2005 16:12:29 avast! tiene los derechos reservados (c) 2000-2004 ALWIL Software. http://www.avast.com From erny en sicem.biz Wed Jul 27 16:17:04 2005 From: erny en sicem.biz (Ernesto Revilla) Date: Wed, 27 Jul 2005 16:17:04 +0200 Subject: Consulta Postgre In-Reply-To: <000b01c592aa$c3ef1b50$7500a8c0@catalin> References: <002901c591c8$d025ebc0$7500a8c0@catalin> <42E60960.2020607@diselpro.com> <001301c591cf$f2384940$7500a8c0@catalin><42E61B00.8060604@ls-l.org> <42E6886F.7010702@sicem.biz> <000b01c592aa$c3ef1b50$7500a8c0@catalin> Message-ID: <42E79760.5080100@sicem.biz> Realmente se encuentra en el sys.path ? CREATE FUNCTION pythonpath() RETURNS TEXT LANGUAGE plpythonu AS ' import sys; return sys.path '; SELECT pythonpath(); Lo digo porque quizá el entorno con que arranca postgres no es el mismo que tú tienes como usuario. En todo caso, si usas postgres bajo Linux puedes modificar el archivo .profile del usuario postgres, o meterlo en postgres.conf o crearte una función para agregarlo al python path desde SQL. Erny Catalin Lungu escribió: > Hola, > Ya me he creado funciones en el servidor y las puedo llamar desde mis > programas. Ahora me gustaría poder importar mis módulos desde las > funciones. Puedo importar sys, time, etc. pero no puedo importar > random y tampoco mis módulos aunque la ruta de los módulos se > encuentra en sys.path > > Muchas gracia otra vez. > Catalin > > > ----- Original Message ----- From: "Ernesto Revilla" > To: "La lista de python en castellano" > Sent: Tuesday, July 26, 2005 9:01 PM > Subject: Re: [Python-es] Consulta Postgre > > >> Hola, >> >> Respecto a lo que dices, puedes usar una consulta parametrizada >> también, pero parece que pyPgSQL no lo soporta. Puedes usar PREPARE >> para crear una consulta optimizada. He hecho una prueba sobre la >> inserción de 10000 filas: >> >> SQL Normal: 10.9159998894 segundos >> Params expandidos por pyPgSQL: 13.5299999714 segundos >> autocommit habilitado: 20.1190001965 segundos >> con plan preparado: 10.0750000477 segundos >> >> (fuente en >> http://www.sicem.biz/personal/erny/python/Recetas/testpyPgSQL) >> >> ¿Cómo calculas los precios? ¿Qué otras variables / tablas intervienen? >> >> Estos días he estado revisando la interfaz python de programación en >> servidor (SPI), y realmente tiene una pinta estupenda. Viene >> incluído/compilado en Debian Sarge (Postgresql 7.4.x) y Windows. Para >> Fedora Core 3 hay paquete instalable. Es bastante probable que esté >> incluido o que existe como paquete de binarios para la distribución >> que uséis. >> >> Cosas interesantes: >> * todos los triggers se ejecutan en una transacción. Al fallar el >> trigger se realiza automáticamente un Rollback >> * se puede realizar importaciones de módulos, y por tanto escribir >> toda la lógica del servidor con vuestro editor favorito, en un >> directorio cualquiera con lo que podáis usar fácilmente cvs, >> subversion o cualquier otro paquete de control de versiones >> * los triggers pueden diseñarse genéricamente para inserción, borrado >> y modificación de registros: >> * los datos de los triggers están disponibles en un simple >> diccionario (TD) >> * se pueden intercambiar datos entre varias funciones a través de un >> diccionario global (GD) >> * cada función dispone de un diccionario que mantiene su estado entre >> las llamadas a la función (ejemplo, contador) >> >> http://python.fyxm.net/pycon/dc2004/papers/23/ >> >> Para tus cosas: >> desde el sistema operativo, intenta instalar python como un lenguaje >> (entra como usuario postgres o el que sea tu superusuario de la BD): >> $ createlang plpythonu >> >> desde psql o mandando consultas a la BD: >> create function actualizaPrecios() returns void as $$ >> > puedes usar plpy.execute para realizar consultas> >> $$ language plpython; >> >> Un saludo, >> Erny >> >> >> >> >> Chema Cortes escribió: >> >>> Catalin Lungu escribió: >>> >>>> Si no hay mas remedio me servirá esto. La idea era hacer el UPDATE >>>> en un >>>> solo comando SQL. El UPDATE modifica una columna entera en una sola >>>> llamada sin hacer un bucle para cada fila. Pues esto mismo me gustaría >>>> que pueda hacer, es decir evitar 10 millones de iteraciones para >>>> cada fila. >>>> >>> >>> Si la tabla está indexada por el campo ID no serían tantas iteraciones. >>> Si se agrupa todo en una sóla transacción no debería dar mayores >>> problemas. >>> >>> Pero parece que lo que buscas sean las funciones almacenadas de >>> postgresql. Las puedes escribir en pl/pythonu, pero ten en cuenta que >>> éso significaría cargar bastante el servidor, además de que seguramente >>> tendrías que recompilar el postgresql para aceptar python. Si los >>> cálculos no son muy complejos, podrías hacerlos con pl/pgsql. >>> _______________________________________________ >>> Python-es mailing list >>> Python-es en aditel.org >>> http://listas.aditel.org/listinfo/python-es >>> >>> >> >> >> >> >> --- >> avast! Antivirus: Saliente mensaje limpio. >> Base de datos de Virus (VPS): 0530-1, 26/07/2005 >> Comprobado en: 26/07/2005 21:01:04 >> avast! tiene los derechos reservados (c) 2000-2004 ALWIL Software. >> http://www.avast.com >> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en aditel.org >> http://listas.aditel.org/listinfo/python-es >> > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > --- avast! Antivirus: Saliente mensaje limpio. Base de datos de Virus (VPS): 0530-1, 26/07/2005 Comprobado en: 27/07/2005 16:17:05 avast! tiene los derechos reservados (c) 2000-2004 ALWIL Software. http://www.avast.com From minoztro en gmail.com Wed Jul 27 18:15:01 2005 From: minoztro en gmail.com (Milton inostroza) Date: Wed, 27 Jul 2005 12:15:01 -0400 Subject: insertar archivo pdf en base de datos postgresql utilizando pypgsql Message-ID: <172699c50507270915123c983a@mail.gmail.com> hola: hace tiempo que quiero guardar archivos con extension pdf en mi base de datos y no he podido...pensé que habia encontrado la solucion cuando visité el blog de Chema Cortes http://ch3m4.org/blog/index.php/py?p=40&more=1&page=3 ...en realidad me resulta con los archivos jpg y en realidad con cualquier archivo que no tenga dentro de su formato las dobles cremilas (" "), viendo mi pdf lamentablemente tiene dobles cremillas y el motor de base de datos postgresql me tira un error... como puedo solucionar esto...chema o alguien me puede ayudar o guiar??. lo que hago es lo siguiente: archivo=file('liquidacion.pdf','rb').read() archivo=PgSQL.PgBytea(archivo) #aca imprime como se va el insert a la base de datos INSERT INTO historico_liquidacion (rut_trabajador, codigo_proceso, liquidacion_sueldo) VALUES ('15.683.705-9',3,%PDF-1.3 %ï¿¿ï¿¿ï¿¿ï¿¿ ReportLab Generated PDF document http://www.reportlab.com % 'BasicFonts': class PDFDictionary 1 0 obj % The standard fonts dictionary << /F1 2 0 R /F2 4 0 R >> endobj % 'F1': class PDFType1Font 2 0 obj % Font Helvetica << /BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font >> endobj % 'FormXob.cef2d14ab870c54c970a864d4dc3155b': class PDFImageXObject 3 0 obj << /BitsPerComponent 8 /ColorSpace /DeviceRGB /Filter [ /ASCII85Decode /DCTDecode ] /Height 32 /Length 1534 /Subtype /Image /Type /XObject /Width 73 >> stream s4IA0!"_al8O`[\!o"U>5:%L<=M*Y]2#*Zc en D*Zc en D*Zc en D*Zc en D*Zc en D*Zc en D*Zc en D*Zc en D*Zc en D*Zc en D*Zc en D*Zc en D*Zk?s!"fJ:+94t8!?qLF&HMtG!WU(<)#sX;5s24ml&-)_5"9AT+"9Sr1z!!*-'"98T0&KqAl5qu4M'I#:I6X_3+;H7^fP+g;'_uLVT!L>Tj+E'`:Yl(*/Qe:$*j&]@W4+!tV9?`reiTcR:+HL$WA_GPDM"YuBDQ.#]=e0HZ.5n"W2Bn_sNPoX\?\1Up"ELUUG'-CM=`S>Adq-#MPEh/%ZR[A%[dPWMWas4!p5T6MYhrhY_FaWf:Hk!IlE73Rc:a_bE/aB2aKqAbB,7_gKZE%q"Z4`.cM^:UP_%V=Uj$TYh_\tDEZEsCR6 en FR>_ZP#S/I+MbC3SG[k^UtBaR0rK4Q2oJiVk%nn8K1?!-Eoh+G;cE`K:Ubbe$N_2,K>q%2\R-:PpIXg43 en 8NL%j,s_'s^GITDn!u`.c;Qd[NojIJb!\p(.D3`m/@sRH]cf!*A>G7:oUY43NU6,&!qts7fe'LHQMkTjj%s0r[BcA:V[r=pJiN]Y`PlamZ3q en NXAobNO:%2c;Qh5C!(0^M6R,m?\Q2L8RsJAh)E,T5r-9.[]/\$OFrX/++=&Bt4eV:7M@/0da`*cQldPWi[*n en P+h5r@d!P&dGb--.YaCFSh/3JuL;/o>'UV4S<^@Jg5X#uX\kF/$Ep.@!6F en M'5]$!o en G0=\K+(?8),^,tCVdDebV($P%qim`Y,l&h=J<>ZIZ6Mbpr\\;1Lh\Dsdc!)^_'`cdCJ!4BMOL]IT#_3t[Cu:20Oif9"NQ/@1gmaiidp&]"FW[OEd?SE9?&.!1)2[)I$I?@2(_QhD+40=g4emA5^3L2l_ju!E193H#+N*Td#\e=9s'K^@G3hg44gpdW5[fA3:s-*q);WIfP4':KS$+`4VG*u_cn$:4&Ga4i^JmD,2j0irPCljRUNC"./IcT*p1&"?4JoJO]q-!('ajuI!R%M5%-Z-"scSlOJDW/#QoYWktn>/EOP*mGcZ*i./V#\Se:Kcti"PtWUK/rODme?X4X'$/)I^_q.s4BXMUh-.b*A-KUteu_9&ekFS&t]`~>endstream endobj % 'F2': class PDFType1Font 4 0 obj % Font Courier << /BaseFont /Courier /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font >> endobj % 'Page1': class PDFPage 5 0 obj % Page dictionary << /Contents 9 0 R /MediaBox [ 0 0 612 792 ] /Parent 8 0 R /Resources << /Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] /XObject << /FormXob.cef2d14ab870c54c970a864d4dc3155b 3 0 R >> >> /Rotate 0 /Trans << >> /Type /Page >> endobj % 'R6': class PDFCatalog 6 0 obj % Document Root << /Outlines 10 0 R /PageMode /UseNone /Pages 8 0 R /Type /Catalog >> endobj % 'R7': class PDFInfo 7 0 obj << /Author (anonymous) /CreationDate (20050727121022) /Producer (ReportLab http://www.reportlab.com) /Subject (unspecified) /Title (untitled) >> endobj % 'R8': class PDFPages 8 0 obj % page tree << /Count 1 /Kids [ 5 0 R ] /Type /Pages >> endobj % 'R9': class PDFStream 9 0 obj % page stream << /Filter [ /ASCII85Decode /FlateDecode ] /Length 1951 >> stream GatU4>Ar4d'RiR35F_sZg9%g4\U0i*F%`JleiR<9jJZ4WY9@ 8W8Y/8;UjRS,(>ihmn[`;#FbqGI3*B!$?q((l.#UQm<;r0arYWM]L^8`!E?= 5$p_DG&*;Tb8e>%84A2p6GOM(@>%K1chCHoYBp"dcdDR5="g0e'NVqqq=TA4 )F)q-7p)ep05TW%6Fk1^qCkUPl[R>Q'#dXoa^k0[*#^7D\IK(.Q:ncI"B4Rt qJ!S7\_XRZj1oBk5(7MnhL=u:dul,5rcO<^@a%*AL-N_Rc\kZXl](fKoER'W %*!_q0*o9XnBS15FG"N=5`&/sE)n`&Mf3H2M'SIZ*-4$^_E?1TSefP%OGWa'c0_Sm4GZ[Yd 3LN&\m*hC9l(ClWqbHmeI8*$V3GR!m/nbr`j!nKZ#R^MUgf9#^0gUIiVMpob imff#)I?8h<$#$qsa/U("Ma]8ar<$@2A VZ(,U*=o.Oi4<#\O en 9KQB%RHB`OmGDU/#ueb=Jd\Q:JFL<@Nr2Utf4YYhrLX m,[RIU_dp en 6`X+'QTT3'-qQ?O%+iTN$+It-8(ftC-'G0FPa4eLe:q996^6Pi "ainYI1iBA8`C`'?,Uj'eJpSf`6j^sbsV,br^?Y_Zc:RbD^\;jRS\F6 &rSAEO]?7ZeXgF.(I?VQVc$XFV*qi1W>/Gi[Z2])A,`+liM5!Fbj'5BK^1=7 S[(WSTqIG:eOICr*,fd.WSP(]u=@lq"(SRoXrkjNu):3AmX*djRrIS 'doMIW,PB=j`I\G6TGG`N?L2Y1K#83Ot!AL+kLD"b=!4g#MsD,c6$%Qi>JuG mmU'naTK-<'T:$o*,"]/:b72:;A=j!m5TAIRE*VY m%h=>(N/q<=@]ZM"e_+`?ZNg_B[XEoN\1ZmOU(Vr\j^dLda_d4&$^uBnggF8 EcGXKY2rdh2CYslrF>/jH-)RcO4]5'oOEr,?EG,==MRW,j?[lYpE?aON7Ja0 '"Yt\ULGh9EBYu%*VpFf?8X+&kn^OC$e$:RDrM4no&EPO en QIV@a3/dW(;W_D ^*HS_BPVDdVO2acZ!=9gU&WK1H1P3o"jdXnH?KHgkKSN9mm:8uSFfun/gO?M;DiGNF`ekr en STffp]\Or232scU6O[=3>V8Vi P@\oTGt[C'k60BJ9<#9#9LkG'Y(l2?Fd:Ma@@c?HF!##-4[D[nRn;[4t\:#r`7"kas6O8MXPJ^i.KK< (75I en k0N:-"C>>^OFVN?IfsPQl2~>endstream endobj % 'R10': class PDFOutlines 10 0 obj << /Count 0 /Type /Outlines >> endobj xref 0 11 0000000000 65535 f 0000000113 00000 n 0000000221 00000 n 0000000427 00000 n 0000002198 00000 n 0000002357 00000 n 0000002702 00000 n 0000002837 00000 n 0000003033 00000 n 0000003138 00000 n 0000005236 00000 n trailer << /ID % ReportLab generated PDF document -- digest (http://www.reportlab.com) [(o\371\301\013\033\306P\335\315\302"\373\372\232M_) (o\371\301\013\033\306P\335\315\302"\373\372\232M_)] /Info 7 0 R /Root 6 0 R /Size 11 >> startxref 5288 %%EOF ) despues del error, ejecute la misma instruccion por consola y definitivamente es problemas de las cremillas..ahora me pregunto sería incorrecto insertar todo esto como campo de tipo text??, igual tendría el problema de las doble cremillas??. salu2!! -- Milton Inostroza Aguilera From golarru en hotmail.com Wed Jul 27 18:52:34 2005 From: golarru en hotmail.com (Xabier Gonzalez) Date: Wed, 27 Jul 2005 18:52:34 +0200 Subject: Python y Excel Message-ID: Saludos de parte de un principiante, Soy un estudiante espanhol de Erasmus en la Technische Universität München (por eso no tengo la enhe!) y me encuentro enmaranhado en un trabajo de el departamento de Maschinenelemente. Al grano: Quería preguntar sobre los medios que dispone Python para lo siguiente: Crear hojas .xls de excel (con gráficos y la pesca) a importando archivos de texto .txt Según lo que he averiguado por ahí, existe el módulo win32com. La verdad es que soy un neofito, y quisiera saber si puedo conseguir algún ejemplo para lo que quiero. Gracias a todos, de antemano From llonchj en atcubic.com Wed Jul 27 19:02:49 2005 From: llonchj en atcubic.com (Jordi Llonch) Date: Wed, 27 Jul 2005 19:02:49 +0200 Subject: Python y Excel In-Reply-To: References: Message-ID: <20299F5C-83BA-461A-B6C2-499C42EBAEF6@atcubic.com> Hola, Prueba con el módulo CSV que viene en la distribución de python o con pyXLWriter(http://pyxlwriter.sourceforge.net/), un módulo específico que lee archivos XLS. import csv #Custom dialect for CSV export class custom_dialect: delimiter = ';' quotechar = '"' escapechar = '\\' doublequote = True skipinitialspace = False lineterminator = '\n' quoting = csv.QUOTE_MINIMAL f=open("export.csv", "w") writer = csv.writer(f , dialect=custom_dialect) writer.writerow( (1,2,3)) Saludos, El 27/07/2005, a las 18:52, Xabier Gonzalez escribió: > Saludos de parte de un principiante, > > Soy un estudiante espanhol de Erasmus en la Technische Universität > München (por eso no tengo la enhe!) y me encuentro enmaranhado en > un trabajo de el departamento de Maschinenelemente. Al grano: > > Quería preguntar sobre los medios que dispone Python para lo > siguiente: > > Crear hojas .xls de excel (con gráficos y la pesca) a importando > archivos de texto .txt > > Según lo que he averiguado por ahí, existe el módulo win32com. La > verdad es que soy un neofito, y quisiera saber si puedo conseguir > algún ejemplo para lo que quiero. > > Gracias a todos, de antemano > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > From rvr en infoastro.com Wed Jul 27 19:41:25 2005 From: rvr en infoastro.com (=?iso-8859-1?q?V=EDctor_R=2E?= Ruiz) Date: Wed, 27 Jul 2005 18:41:25 +0100 Subject: Python y Excel In-Reply-To: <20299F5C-83BA-461A-B6C2-499C42EBAEF6@atcubic.com> References: <20299F5C-83BA-461A-B6C2-499C42EBAEF6@atcubic.com> Message-ID: <200507271841.25245.rvr@infoastro.com> Hola: El Miércoles 27 Julio 2005 18:02, Jordi Llonch tecleó: > Prueba con el módulo CSV que viene en la distribución de python o con > pyXLWriter(http://pyxlwriter.sourceforge.net/), un módulo específico > que lee archivos XLS. En SF hay otro proyecto, http://sourceforge.net/projects/python2xlw/ "The main purpose of "python2xlw" is to create an Excel-compatible file which can be sent to users via the web as an excel application. The motivation is mainly to support the display of XY Scatter plots and tabular numerical data(eg engineering data)". Pero ni idea de si funciona bien. El Miércoles 27 Julio 2005 17:52, Xabier Gonzalez tecleó: > Según lo que he averiguado por ahí, existe el módulo win32com. La verdad es > que soy un neofito, y quisiera saber si puedo conseguir algún ejemplo para > lo que quiero. Google es tu amigo ;) http://www.markcarter.me.uk/computing/python/excel.html Saludetes, -- Víctor R. Ruiz | - Todos estos momentos se perderán http://infoastro.com/rvr | como lágrimas en la lluvia From devnull.tst en gmail.com Wed Jul 27 23:10:01 2005 From: devnull.tst en gmail.com (Paulino Padial) Date: Wed, 27 Jul 2005 23:10:01 +0200 Subject: Programacion LAMP In-Reply-To: <20050726212718.24030.qmail@web25602.mail.ukl.yahoo.com> References: <20050726212718.24030.qmail@web25602.mail.ukl.yahoo.com> Message-ID: <1122498601.8892.2.camel@Monkey> Tambien podría ser Linux, Apache, Mono, Postgre :D ;) El mar, 26-07-2005 a las 23:27 +0200, Hector Santos escribió: > He visto mucho lo que es LAMP (Linux, Apache, MYSQL, > Php/Perl/Python) pero todos los tutoriales se tratan > de php y no Python. Hay algun tutorial sobre LAMP pero > con orientacion a python? No importa que sea en > ingles. > > > > > > ______________________________________________ > Renovamos el Correo Yahoo! > Nuevos servicios, más seguridad > http://correo.yahoo.es > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From erny en sicem.biz Thu Jul 28 01:06:03 2005 From: erny en sicem.biz (Ernesto Revilla) Date: Thu, 28 Jul 2005 01:06:03 +0200 Subject: insertar archivo pdf en base de datos postgresql utilizando pypgsql In-Reply-To: <172699c50507270915123c983a@mail.gmail.com> References: <172699c50507270915123c983a@mail.gmail.com> Message-ID: <42E8135B.2080303@sicem.biz> Hola, no expandas la instrucción sql con %s. Deja que pyPgSQL lo haga por ti: archivo=file('liquidacion.pdf','rb').read() archivo=PgSQL.PgBytea(archivo) # !!! cur.execute("""INSERT INTO historico_liquidacion (rut_trabajador, codigo_proceso, liquidacion_sueldo) VALUES (%s,%s,%s)""", arg1, arg2, archivo) Erny Milton inostroza escribió: >hola: > >hace tiempo que quiero guardar archivos con extension pdf en mi base >de datos y no he podido...pensé que habia encontrado la solucion >cuando visité el blog de Chema Cortes >http://ch3m4.org/blog/index.php/py?p=40&more=1&page=3 ...en realidad >me resulta con los archivos jpg y en realidad con cualquier archivo >que no tenga dentro de su formato las dobles cremilas (" "), viendo mi >pdf lamentablemente tiene dobles cremillas y el motor de base de datos >postgresql me tira un error... como puedo solucionar esto...chema o >alguien me puede ayudar o guiar??. > >lo que hago es lo siguiente: > >archivo=file('liquidacion.pdf','rb').read() >archivo=PgSQL.PgBytea(archivo) > >#aca imprime como se va el insert a la base de datos > >INSERT INTO historico_liquidacion > (rut_trabajador, > codigo_proceso, liquidacion_sueldo) > VALUES ('15.683.705-9',3,%PDF-1.3 >%ï¿¿ï¿¿ï¿¿ï¿¿ ReportLab Generated PDF document http://www.reportlab.com >% 'BasicFonts': class PDFDictionary >1 0 obj >% The standard fonts dictionary ><< /F1 2 0 R > /F2 4 0 R >> >endobj >% 'F1': class PDFType1Font >2 0 obj >% Font Helvetica ><< /BaseFont /Helvetica > /Encoding /WinAnsiEncoding > /Name /F1 > /Subtype /Type1 > /Type /Font >> >endobj >% 'FormXob.cef2d14ab870c54c970a864d4dc3155b': class PDFImageXObject >3 0 obj ><< /BitsPerComponent 8 > /ColorSpace /DeviceRGB > /Filter [ /ASCII85Decode > /DCTDecode ] > /Height 32 > /Length 1534 > /Subtype /Image > /Type /XObject > /Width 73 >> >stream >s4IA0!"_al8O`[\!o"U>5:%L<=M*Y]2#*Zc en D*Zc en D*Zc en D*Zc en D*Zc en D*Zc en D*Zc en D*Zc en D*Zc en D*Zc en D*Zc en D*Zc en D*Zk?s!"fJ:+94t8!?qLF&HMtG!WU(<)#sX;5s24ml&-)_5"9AT+"9Sr1z!!*-'"98T0&KqAl5qu4M'I#:I6X_3+;H7^fP+g;'_uLVT!L>Tj+E'`:Yl(*/Qe:$*j&]@W4+!tV9?`reiTcR:+HL$WA_GPDM"YuBDQ.#]=e0HZ.5n"W2Bn_sNPoX\?\1Up"ELUUG'-CM=`S>Adq-#MPEh/%ZR[A%[dPWMWas4!p5T6MYhrhY_FaWf:Hk!IlE73Rc:a_bE/aB2aKqAbB,7_gKZE%q"Z4`.cM^:UP_%V=Uj$TYh_\tDEZEsCR6 en FR>_ZP#S/I+MbC3SG[k^UtBaR0rK4Q2oJiVk%nn8K1?!-Eoh+G;cE`K:Ubbe$N_2,K>q%2\R-:PpIXg43 en 8NL%j,s_'s^GITDn!u`.c;Qd[NojIJb!\p(.D3`m/@sRH]cf!*A>G7:oUY43NU6,&!qts7fe'LHQMkTjj%s0r[BcA:V[r=pJiN]Y`PlamZ3q en NXAobNO:%2c;Qh5C!(0^M6R,m?\Q2L8RsJAh)E,T5r-9.[]/\$OFrX/++=&Bt4eV:7M@/0da`*cQldPWi[*n en P+h5r@d!P&dGb--.YaCFSh/3JuL;/o>'UV4S<^@Jg5X#uX\kF/$Ep.@!6F en M'5]$!o en G0=\K+(?8),^,tCVdDebV($P%qim`Y,l&h=J<>ZIZ6Mbpr\\;1Lh\Dsdc!)^_'`cdCJ!4BMOL]IT#_3t[Cu:20Oif9"NQ/@1gmaiidp&]"FW[OEd?SE9?&.!1)2[)I$I?@2(_QhD+40=g4emA5^3L2l_ju!E193H#+N*Td#\e=9s'K^@G3hg44gpdW5[fA3:s-*q);WIfP4':KS$+`4VG*u_cn$:4&Ga4i^JmD,2j0irPCljRUNC"./IcT*p1&"?4JoJO]q-!('ajuI!R%M5%-Z-"scSlOJDW/#QoYWktn>/EOP*mGcZ*i./V#\Se:Kcti"PtWUK/rODme?X4X'$/)I^_q.s4BXMUh-.b*A-KUteu_9&ekFS&t]`~>endstream > >endobj >% 'F2': class PDFType1Font >4 0 obj >% Font Courier ><< /BaseFont /Courier > /Encoding /WinAnsiEncoding > /Name /F2 > /Subtype /Type1 > /Type /Font >> >endobj >% 'Page1': class PDFPage >5 0 obj >% Page dictionary ><< /Contents 9 0 R > /MediaBox [ 0 > 0 > 612 > 792 ] > /Parent 8 0 R > /Resources << /Font 1 0 R > /ProcSet [ /PDF > /Text > /ImageB > /ImageC > /ImageI ] > /XObject << /FormXob.cef2d14ab870c54c970a864d4dc3155b 3 0 R >> >> > /Rotate 0 > /Trans << >> > /Type /Page >> >endobj >% 'R6': class PDFCatalog >6 0 obj >% Document Root ><< /Outlines 10 0 R > /PageMode /UseNone > /Pages 8 0 R > /Type /Catalog >> >endobj >% 'R7': class PDFInfo >7 0 obj ><< /Author (anonymous) > /CreationDate (20050727121022) > /Producer (ReportLab http://www.reportlab.com) > /Subject (unspecified) > /Title (untitled) >> >endobj >% 'R8': class PDFPages >8 0 obj >% page tree ><< /Count 1 > /Kids [ 5 0 R ] > /Type /Pages >> >endobj >% 'R9': class PDFStream >9 0 obj >% page stream ><< /Filter [ /ASCII85Decode > /FlateDecode ] > /Length 1951 >> >stream >GatU4>Ar4d'RiR35F_sZg9%g4\U0i*F%`JleiR<9jJZ4WY9@ >8W8Y/8;UjRS,(>ihmn[`;#FbqGI3*B!$?q((l.#UQm<;r0arYWM]L^8`!E?= >5$p_DG&*;Tb8e>%84A2p6GOM(@>%K1chCHoYBp"dcdDR5="g0e'NVqqq=TA4 >)F)q-7p)ep05TW%6Fk1^qCkUPl[R>Q'#dXoa^k0[*#^7D\IK(.Q:ncI"B4Rt >qJ!S7\_XRZj1oBk5(7MnhL=u:dul,5rcO<^@a%*AL-N_Rc\kZXl](fKoER'W >%*!_q0*o9XnBS15FG"Nd!aM`;+is&*=[@tMh5ZuOB`A-2+24,X_Eu en rO@jUi*eGPd(4RBm).<\Ag9,J >7MC7mbkurRnEq*fnR1JoN en q;l;'QRIVS)V]/4`%oJ173ep4 en VZ?@05,Mq>=5`&/sE)n`&Mf3H2M'SIZ*-4$^_E?1TSefP%OGWa'c0_Sm4GZ[Yd >3LN&\m*hC9l(ClWqbHmeI8*$V3GR!m/nbr`j!nKZ#R^MUgf9#^0gUIiVMpob >imffA%HNm\UYR;gE]24iT:]Si&gq)/hLH+SgsLQY0nmQP7TcW7So+FI$E,N.gg'9 >Wqi9t:mX^enqtdg2ehE]T1Sf0Xto%M<>#)I?8h<$#$qsa/U("Ma]8ar<$@2A >VZ(,U*=o.Oi4<#\O en 9KQB%RHB`OmGDU/#ueb=Jd\Q:JFL<@Nr2Utf4YYhrLX >m,[RIU_dp en 6`X+'QTT3'-qQ?O%+iTN$+It-8(ftC-'G0FPa4eLe:q996^6Pi >"ainYI1iBA8`C`'?,Uj'eJpSf`6j^sbsV,br^?Y_Zc:RbD^\;jRS\F6 >&rSAEO]?7ZeXgF.(I?VQVc$XFV*qi1W>/Gi[Z2])A,`+liM5!Fbj'5BK^1=7 >S[(WSTqIG:eOICr*,fd.WSP(]u=@lq"(SRoXrkjNu):3AmX*djRrIS >'doMIW,PB=j`I\G6TGG`N?L2Y1K#83Ot!AL+kLD"b=!4g#MsD,c6$%Qi>JuG >mmU'naTK-<'T:$o*,"]/:b72:;A=j!m5TAIRE*VY >m%h=>(N/q<=@]ZM"e_+`?ZNg_B[XEoN\1ZmOU(Vr\j^dLda_d4&$^uBnggF8 >EcGXKY2rdh2CYslrF>/jH-)RcO4]5'oOEr,?EG,==MRW,j?[lYpE?aON7Ja0 >'"Yt\ULGh9EBYu%*VpFf?8X+&kn^OC$e$:RDrM4no&EPO en QIV@a3/dW(;W_D >^*HS_BPVDdVO2acZ!=9gU&WK1H1P3o"jdXnH?KHgkKSN9mm:8uSF?Iq83i/X[dWle)T\L)P(^=k\VZXYtL en 3CS*mHK9/U3T_)hYqOsY0F&]48V$!MBsmCTbHmmq^+=sAC_]sY0YEb2,?=V\4>fun/gO?M;DiGNF`ekr en STffp]\Or232scU6O[=3>V8Vi >P@\oTGt[C'k60BJ9<#9#9LkG'Y(l2?Fd:Ma@@c?HF!#*3mo%H)H[(Ls=5PX5q;EZSL2bP:/LH`Z&$6OO^pYO5oj0#k8;l(q5Pbc`'&k >Up*EKc\MF3[n<^H-t`T en e"QX/+qg`A./pqVG7^TRA]=&'p^cd6Y?'Un"0;H, >j5L)uCBMQdFX$9K^\=-cBL,>#-4[D[nRn;[4t\:#r`7"kas6O8MXPJ^i.KK< >(75I en k0N:-"C>>^OFVN?IfsPQl2~>endstream > >endobj >% 'R10': class PDFOutlines >10 0 obj ><< /Count 0 > /Type /Outlines >> >endobj >xref >0 11 >0000000000 65535 f >0000000113 00000 n >0000000221 00000 n >0000000427 00000 n >0000002198 00000 n >0000002357 00000 n >0000002702 00000 n >0000002837 00000 n >0000003033 00000 n >0000003138 00000 n >0000005236 00000 n >trailer ><< /ID > % ReportLab generated PDF document -- digest (http://www.reportlab.com) > [(o\371\301\013\033\306P\335\315\302"\373\372\232M_) >(o\371\301\013\033\306P\335\315\302"\373\372\232M_)] > > /Info 7 0 R > /Root 6 0 R > /Size 11 >> >startxref >5288 >%%EOF >) > >despues del error, ejecute la misma instruccion por consola y >definitivamente es problemas de las cremillas..ahora me pregunto sería >incorrecto insertar todo esto como campo de tipo text??, igual tendría >el problema de las doble cremillas??. > >salu2!! > > > > --- avast! Antivirus: Saliente mensaje limpio. Base de datos de Virus (VPS): 0530-1, 26/07/2005 Comprobado en: 28/07/2005 1:06:04 avast! tiene los derechos reservados (c) 2000-2004 ALWIL Software. http://www.avast.com From dyerga en gmail.com Thu Jul 28 01:23:21 2005 From: dyerga en gmail.com (dani yerga) Date: Wed, 27 Jul 2005 23:23:21 +0000 Subject: =?iso-8859-1?q?Llamar_a_variable_dentro_de_funci=F3n?= Message-ID: <1122506609l.8372l.0l@llaranes> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hola listeros: Lo siento si la pregunta es algo novata o no está bien planteada, pero es que no encuentro la solución. El caso es que tengo una variable que está dentro de una funcion, y la variable toma un valor cuando se ejecuta esa función, diferente valor cada vez. Lo que me trae de cabeza es que necesito esa variable en otra función que quiero implementar y no la puedo crear, tiene que ser esa misma variable. El problema es que no se como llamar a esa variable en la función nueva, ya que si la llamo por su nombre, me dice que no está definida, lo que es lógico. Muchas gracias por vuestra atención. Un saludo. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.5 (GNU/Linux) iD8DBQFC6BdxcnvB1T3xmfMRAt0rAJ4nz+jBS5uBbTYK6YlJi08xmD+rGACfea1f kHFegqEF7nnGsyIS9VtWfAs= =y/G7 -----END PGP SIGNATURE----- ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From erny en sicem.biz Thu Jul 28 01:19:26 2005 From: erny en sicem.biz (Ernesto Revilla) Date: Thu, 28 Jul 2005 01:19:26 +0200 Subject: Python y Excel In-Reply-To: References: Message-ID: <42E8167E.30305@sicem.biz> Hola, la ñ la tienes en Alt-164 (tecl. numérico) Si instalas las win32all de Mark Hammond, puedes usar Excel vía COM http://starship.python.net/crew/mhammond/win32/Downloads.html Aquí un ejemplillo: from win32com.client import Dispatch excel=Dispatch("Excel.Application") excel.Visible=1 # ahora, como no sabes el modelo COM de Excel, pulsas alt-F11 sobre Excel y te abre la interfaz de VBA. # activas la ayuda: buscar Workbooks wb=excel.Workbooks.Add() # ya tenemos un libro nuevo ws=wb.Sheets(1) # esta es la hoja 1. print "Nombre de primera hoja:", ws.Name # escribimos un valor en la primera casilla ws.Cells(1,1).Value=110 # y así seguimos... Erny Xabier Gonzalez escribió: > Saludos de parte de un principiante, > > Soy un estudiante espanhol de Erasmus en la Technische Universität > München (por eso no tengo la enhe!) y me encuentro enmaranhado en un > trabajo de el departamento de Maschinenelemente. Al grano: > > Quería preguntar sobre los medios que dispone Python para lo siguiente: > > Crear hojas .xls de excel (con gráficos y la pesca) a importando > archivos de texto .txt > > Según lo que he averiguado por ahí, existe el módulo win32com. La > verdad es que soy un neofito, y quisiera saber si puedo conseguir > algún ejemplo para lo que quiero. > > Gracias a todos, de antemano > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > --- avast! Antivirus: Saliente mensaje limpio. Base de datos de Virus (VPS): 0530-1, 26/07/2005 Comprobado en: 28/07/2005 1:19:28 avast! tiene los derechos reservados (c) 2000-2004 ALWIL Software. http://www.avast.com From gaba en riseup.net Wed Jul 27 23:29:15 2005 From: gaba en riseup.net (gaba) Date: Wed, 27 Jul 2005 17:29:15 -0400 Subject: Llamar a variable =?iso-8859-1?q?dentro_de_funci=F3n?= In-Reply-To: <1122506609l.8372l.0l@llaranes> References: <1122506609l.8372l.0l@llaranes> Message-ID: <20050727212915.GA4463@riseup.net> Son dos funciones independientes? No te sirve que la variable sea global? +++ dani yerga [27/07/05 23:23 +0000]: >:-----BEGIN PGP SIGNED MESSAGE----- >:Hash: SHA1 >: >:Hola listeros: >: >:Lo siento si la pregunta es algo novata o no está bien planteada, pero >:es que no encuentro la solución. >: >:El caso es que tengo una variable que está dentro de una funcion, y la >:variable toma un valor cuando se ejecuta esa función, diferente valor >:cada vez. Lo que me trae de cabeza es que necesito esa variable en otra >:función que quiero implementar y no la puedo crear, tiene que ser esa >:misma variable. >:El problema es que no se como llamar a esa variable en la función >:nueva, ya que si la llamo por su nombre, me dice que no está definida, >:lo que es lógico. >: >:Muchas gracias por vuestra atención. >:Un saludo. >:-----BEGIN PGP SIGNATURE----- >:Version: GnuPG v1.2.5 (GNU/Linux) >: >:iD8DBQFC6BdxcnvB1T3xmfMRAt0rAJ4nz+jBS5uBbTYK6YlJi08xmD+rGACfea1f >:kHFegqEF7nnGsyIS9VtWfAs= >:=y/G7 >:-----END PGP SIGNATURE----- >: >: >:_______________________________________________ >:Python-es mailing list >:Python-es en aditel.org >:http://listas.aditel.org/listinfo/python-es -- Ni sus guerras ni su paz From mgallegol en gmail.com Thu Jul 28 06:22:18 2005 From: mgallegol en gmail.com (=?ISO-8859-1?Q?Martha_Luc=EDa_Gallego_L=F3pez?=) Date: Wed, 27 Jul 2005 23:22:18 -0500 Subject: manejo de ventanas y modulos python Message-ID: <3da61ab7050727212246a8becc@mail.gmail.com> Hola a todos quienes forman parte de la lista. Me dirijo a ustedes con el fin de que me ayuden con las siguientes inquietudes que se me estan presentando respecto al manejo de modulos y de ventanas en python 2.4 sobre windows xp: 1. Se me presenta el siguiente problema: Tengo un modulo que se encarga dentro de alguna de sus funciones el invocar un nuevo modulo; la manera en como lo hago es utilizando la funcion import seguida del nombre del modulo, una vez se corre el programa efectivamente la ventana que invoca inmediatamente llama a la otra, pero si se cierra esta, queda la ventana que invoca, lo que se hace es intentar llamar nuevamente a la ventana pero no se obtiene ninguna respuesta, lo que implica que deba cerrarse el programa en ejecución y volverlo a poner a correr. Que debo hacer para corregir tal problema? 2. Quisiera saber que comando debo utilizar para cerrar una determinada ventana, que tiene como una de sus funciones llamar a través de un button o menubutton otra ventana y en que parte del modulo deberia ir el comando para que funcione adecuadamente. From mgallegol en gmail.com Thu Jul 28 06:24:29 2005 From: mgallegol en gmail.com (=?ISO-8859-1?Q?Martha_Luc=EDa_Gallego_L=F3pez?=) Date: Wed, 27 Jul 2005 23:24:29 -0500 Subject: manejo de modulos y ventanas en python Message-ID: <3da61ab705072721247753d154@mail.gmail.com> Hola a todos quienes forman parte de la lista. Me dirijo a ustedes con el fin de que me ayuden con las siguientes inquietudes que se me estan presentando respecto al manejo de modulos y de ventanas en python 2.4 sobre windows xp: 1. Se me presenta el siguiente problema: Tengo un modulo que se encarga dentro de alguna de sus funciones el invocar un nuevo modulo; la manera en como lo hago es utilizando la funcion import seguida del nombre del modulo, una vez se corre el programa efectivamente la ventana que invoca inmediatamente llama a la otra, pero si se cierra esta, queda la ventana que invoca, lo que se hace es intentar llamar nuevamente a la ventana pero no se obtiene ninguna respuesta, lo que implica que deba cerrarse el programa en ejecución y volverlo a poner a correr. Que debo hacer para corregir tal problema? 2. Quisiera saber que comando debo utilizar para cerrar una determinada ventana, que tiene como una de sus funciones llamar a través de un button o menubutton otra ventana y en que parte del modulo deberia ir el comando para que funcione adecuadamente. From mgallegol en gmail.com Thu Jul 28 06:40:18 2005 From: mgallegol en gmail.com (=?ISO-8859-1?Q?Martha_Luc=EDa_Gallego_L=F3pez?=) Date: Wed, 27 Jul 2005 23:40:18 -0500 Subject: comandos hora actual Message-ID: <3da61ab7050727214017a13ed0@mail.gmail.com> Saludos a la lista: 1. Se tiene una clasificación de frutas y de verduras y se quiere seleccionar de las frutas solo una y de las verduras también solo una, que función o comando de Tkinter puede utilizarse que sea similar al manejo de checkbutton o radiobutton. 2. Se cuenta con un modulo que tiene como función mostrar en pantalla la hora actual, lo que sucede es que cuando se pone en ejecución si muestra la hora pero si uno se queda un determinado tiempo observando el pantallazo pasa que la hora sigue siendo la misma, pero si cierro la ventana y vuelo a abrirla si muestra la hora actual; al parecer hace un proceso interno y lo que necesito es que en pantalla este mostrando el cambio de hora minuto a minuto. La función que se esta usando para la hora es time.strftime. Que me sugieren ustedes para que este modulo funcione correctamente. Mil gracias por su atención. From mgallegol en gmail.com Thu Jul 28 06:40:54 2005 From: mgallegol en gmail.com (=?ISO-8859-1?Q?Martha_Luc=EDa_Gallego_L=F3pez?=) Date: Wed, 27 Jul 2005 23:40:54 -0500 Subject: ayuda comandos hora actual Message-ID: <3da61ab70507272140130d2f89@mail.gmail.com> Saludos a la lista: 1. Se tiene una clasificación de frutas y de verduras y se quiere seleccionar de las frutas solo una y de las verduras también solo una, que función o comando de Tkinter puede utilizarse que sea similar al manejo de checkbutton o radiobutton. 2. Se cuenta con un modulo que tiene como función mostrar en pantalla la hora actual, lo que sucede es que cuando se pone en ejecución si muestra la hora pero si uno se queda un determinado tiempo observando el pantallazo pasa que la hora sigue siendo la misma, pero si cierro la ventana y vuelo a abrirla si muestra la hora actual; al parecer hace un proceso interno y lo que necesito es que en pantalla este mostrando el cambio de hora minuto a minuto. La función que se esta usando para la hora es time.strftime. Que me sugieren ustedes para que este modulo funcione correctamente. Mil gracias por su atención. From mgallegol en gmail.com Thu Jul 28 07:06:04 2005 From: mgallegol en gmail.com (=?ISO-8859-1?Q?Martha_Luc=EDa_Gallego_L=F3pez?=) Date: Thu, 28 Jul 2005 00:06:04 -0500 Subject: Como saber que palm elegir???? Message-ID: <3da61ab705072722065538556d@mail.gmail.com> Hola que tal, de nuevo saludandos para que me ayuden con otra gran inquietud: Necesito comprar una palm, pero estoy muy confundida al decidir cual es la indicada y me atemoriza el hecho de que no funcione para lo que yo necesito. En este momento me encuentro trabajando en mi proyecto de grado que tiene que ver con la recolección de datos de un volcán en una palm la cual deba resistir a las condiciones del lugar, por lo que he pensado en una Recon con las siguientes caracteristicas: *Ruggedization: Meets or exceeds MIL-STD-810F and IP-67 *Size/Weight/Battery Life: 6.5 X 3.8 X 1.8 inches/1.1 pounds/15 hours *Display: 320 X 240-resolution front-lit color touchscreen *CPU/RAM/Storage: 200-MHz or 400-MHz Intel Xscale/64 MB/64-MB or 128-MB flash ROM and integrated CompactFlash drive *Operating Systems: Windows Mobile 2003 for Pocket PC *Keypad: 10 hardware control keys *Connectivity: RS-232, USB, Type 1 and Type II PC card slots, speaker Con lo anterior, la inquietud que tengo es que debo instalar python 2.4 allí y quisiera saber si no hay problema con el sistema operativo Windows Mobile 2003; además me pregunto también si no se presentará problema en el momento de que se baje la información de la palm a un computador con windows xp; ya que también forma parte de mi proyecto. Acepto todas las sugerencias, comentarios y criterios que surjan de lo anterior. Muchisimas gracias por su atención. From mgallegol en gmail.com Thu Jul 28 07:06:26 2005 From: mgallegol en gmail.com (=?ISO-8859-1?Q?Martha_Luc=EDa_Gallego_L=F3pez?=) Date: Thu, 28 Jul 2005 00:06:26 -0500 Subject: como saber que palm elegir???? Message-ID: <3da61ab7050727220610b22fbb@mail.gmail.com> Hola que tal, de nuevo saludandos para que me ayuden con otra gran inquietud: Necesito comprar una palm, pero estoy muy confundida al decidir cual es la indicada y me atemoriza el hecho de que no funcione para lo que yo necesito. En este momento me encuentro trabajando en mi proyecto de grado que tiene que ver con la recolección de datos de un volcán en una palm la cual deba resistir a las condiciones del lugar, por lo que he pensado en una Recon con las siguientes caracteristicas: *Ruggedization: Meets or exceeds MIL-STD-810F and IP-67 *Size/Weight/Battery Life: 6.5 X 3.8 X 1.8 inches/1.1 pounds/15 hours *Display: 320 X 240-resolution front-lit color touchscreen *CPU/RAM/Storage: 200-MHz or 400-MHz Intel Xscale/64 MB/64-MB or 128-MB flash ROM and integrated CompactFlash drive *Operating Systems: Windows Mobile 2003 for Pocket PC *Keypad: 10 hardware control keys *Connectivity: RS-232, USB, Type 1 and Type II PC card slots, speaker Con lo anterior, la inquietud que tengo es que debo instalar python 2.4 allí y quisiera saber si no hay problema con el sistema operativo Windows Mobile 2003; además me pregunto también si no se presentará problema en el momento de que se baje la información de la palm a un computador con windows xp; ya que también forma parte de mi proyecto. Acepto todas las sugerencias, comentarios y criterios que surjan de lo anterior. Muchisimas gracias por su atención. From minoztro en gmail.com Thu Jul 28 07:26:20 2005 From: minoztro en gmail.com (Milton inostroza) Date: Thu, 28 Jul 2005 01:26:20 -0400 Subject: manejo de ventanas y modulos python In-Reply-To: <3da61ab7050727212246a8becc@mail.gmail.com> References: <3da61ab7050727212246a8becc@mail.gmail.com> Message-ID: <172699c50507272226504c7c0a@mail.gmail.com> que librerias gráficas estás utilizando? -- Milton Inostroza Aguilera From py en ls-l.org Thu Jul 28 09:16:59 2005 From: py en ls-l.org (Chema Cortes) Date: Thu, 28 Jul 2005 09:16:59 +0200 Subject: =?ISO-8859-1?Q?Re=3A_=5BPython-es=5D_Llamar_a_variable_?= =?ISO-8859-1?Q?dentro_de_funci=F3n?= In-Reply-To: <1122506609l.8372l.0l@llaranes> References: <1122506609l.8372l.0l@llaranes> Message-ID: <42E8866B.1020304@ls-l.org> dani yerga escribió: > El caso es que tengo una variable que está dentro de una funcion, y la > variable toma un valor cuando se ejecuta esa función, diferente valor > cada vez. Lo que me trae de cabeza es que necesito esa variable en otra > función que quiero implementar y no la puedo crear, tiene que ser esa > misma variable. > El problema es que no se como llamar a esa variable en la función > nueva, ya que si la llamo por su nombre, me dice que no está definida, > lo que es lógico. Supongo que no quieres crear una variable global, o que prefieres que esté más "ligada" con la función. Una posibilidad que se usa poco es utilizar los "atributos" de función: def f1(): f1.myvar=getattr(f1,"myvar",0) #valor por defecto = 0 f1.myvar+=1 def f2(): print "Función f1 ejecutada %d veces"%f1.myvar for i in range(10): f1() f2() From graciosillo21 en yahoo.es Thu Jul 28 11:27:33 2005 From: graciosillo21 en yahoo.es (isaac jarquin medina) Date: Thu, 28 Jul 2005 11:27:33 +0200 (CEST) Subject: manejo de ventanas y modulos python In-Reply-To: <3da61ab7050727212246a8becc@mail.gmail.com> References: <3da61ab7050727212246a8becc@mail.gmail.com> Message-ID: <20050728092733.43981.qmail@web26903.mail.ukl.yahoo.com> hola marta, pues mira Ctrl F6 resetea el Tkinter, con lo cual te lo deja dispuesto para volver a ejecutar el programa sin la necesidad de cerrarlo. --- Martha Lucía Gallego López escribió: > Hola a todos quienes forman parte de la lista. > > Me dirijo a ustedes con el fin de que me ayuden con > las siguientes > inquietudes que se me estan presentando respecto al > manejo de modulos > y de ventanas en python 2.4 sobre windows xp: > > 1. Se me presenta el siguiente problema: Tengo un > modulo que se > encarga dentro de alguna de sus funciones el invocar > un nuevo modulo; > la manera en como lo hago es utilizando la funcion > import seguida del > nombre del modulo, una vez se corre el programa > efectivamente la > ventana que invoca inmediatamente llama a la otra, > pero si se cierra > esta, queda la ventana que invoca, lo que se hace es > intentar llamar > nuevamente a la ventana pero no se obtiene ninguna > respuesta, lo que > implica que deba cerrarse el programa en ejecución y > volverlo a poner > a correr. > Que debo hacer para corregir tal problema? > > > 2. Quisiera saber que comando debo utilizar para > cerrar una > determinada ventana, que tiene como una de sus > funciones llamar a > través de un button o menubutton otra ventana y en > que parte del > modulo deberia ir el comando para que funcione > adecuadamente. > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > ______________________________________________ Renovamos el Correo Yahoo! Nuevos servicios, más seguridad http://correo.yahoo.es From dyerga en gmail.com Thu Jul 28 13:11:26 2005 From: dyerga en gmail.com (dani yerga) Date: Thu, 28 Jul 2005 11:11:26 +0000 Subject: =?iso-8859-1?q?Llamar_a_variable_dentro_de_funci=F3n?= In-Reply-To: <42E8866B.1020304@ls-l.org> (from py@ls-l.org on Thu Jul 28 09:16:59 2005) References: <1122506609l.8372l.0l@llaranes> <42E8866B.1020304@ls-l.org> Message-ID: <1122549093l.8044l.0l@llaranes> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 28/07/05 09:16:59, Chema Cortes escribió: > > Supongo que no quieres crear una variable global, o que prefieres que > esté más "ligada" con la función. > > Una posibilidad que se usa poco es utilizar los "atributos" de > función: > > > def f1(): > f1.myvar=getattr(f1,"myvar",0) #valor por defecto = 0 > f1.myvar+=1 > > > def f2(): > print "Función f1 ejecutada %d veces"%f1.myvar > > > for i in range(10): > f1() > > f2() > _______________________________________________ Muchas gracias, era lo que necesitaba. Un saludo. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.5 (GNU/Linux) iD8DBQFC6L1lcnvB1T3xmfMRAn6TAJ4jTtWf2SgGWMsDnvHHDujCTAt+twCbBDom QXuMkM/plbUP1XnpNWLDOa0= =dozG -----END PGP SIGNATURE----- From pepe en diselpro.com Thu Jul 28 14:03:39 2005 From: pepe en diselpro.com (Pepe Aracil) Date: Thu, 28 Jul 2005 14:03:39 +0200 Subject: =?ISO-8859-1?Q?Re=3A_=5BPython-es=5D_Llamar_a_variable_?= =?ISO-8859-1?Q?dentro_de_funci=F3n?= In-Reply-To: <42E8866B.1020304@ls-l.org> References: <1122506609l.8372l.0l@llaranes> <42E8866B.1020304@ls-l.org> Message-ID: <42E8C99B.5060008@diselpro.com> Este python cada día me sorprende más. ;D Aunque puede que no sea este el caso, ¿No es mejor crearse una clase contenedora de variables globales? Te evitas tener que ir declarando como públicas las variables en las cuales vas a escribir. ¿En que casos es mejor declarar variables globales? ---- >>> class GLOBALES: ... pass ... >>> globales = GLOBALES() >>> globales.var1 = "Variable 1" >>> >>> def f(): ... print globales.var1 ... globales.var1 = "Variable global 1" ... >>> f() Variable 1 >>> print globales.var1 Variable global 1 ---- Salud. Chema Cortes wrote: > dani yerga escribió: > > >>El caso es que tengo una variable que está dentro de una funcion, y la >>variable toma un valor cuando se ejecuta esa función, diferente valor >>cada vez. Lo que me trae de cabeza es que necesito esa variable en otra >>función que quiero implementar y no la puedo crear, tiene que ser esa >>misma variable. >>El problema es que no se como llamar a esa variable en la función >>nueva, ya que si la llamo por su nombre, me dice que no está definida, >>lo que es lógico. > > > Supongo que no quieres crear una variable global, o que prefieres que > esté más "ligada" con la función. > > Una posibilidad que se usa poco es utilizar los "atributos" de función: > > > def f1(): > f1.myvar=getattr(f1,"myvar",0) #valor por defecto = 0 > f1.myvar+=1 > > > def f2(): > print "Función f1 ejecutada %d veces"%f1.myvar > > > for i in range(10): > f1() > > f2() > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From hernan en orgmf.com.ar Thu Jul 28 15:03:29 2005 From: hernan en orgmf.com.ar (=?iso-8859-1?Q?Hern=E1n_Mart=EDnez_Foffani?=) Date: Thu, 28 Jul 2005 15:03:29 +0200 Subject: =?iso-8859-1?Q?RE:_=5BPython-es=5D_Llamar_a_variable_dentro_de_funci=F3n?= In-Reply-To: <42E8C99B.5060008@diselpro.com> References: <42E8C99B.5060008@diselpro.com> Message-ID: > Aunque puede que no sea este el caso, ¿No es mejor crearse una clase > contenedora de variables globales? Quizás. Pero en ese caso sería preferible que la clase respetara el patrón singleton (o variaciones similares) > Te evitas tener que ir declarando como públicas las variables en las > cuales vas a escribir. > ¿En que casos es mejor declarar variables globales? En los casos en que el programa solo modifica el contenido de esas variables solo en un lado y cuando el sistema es lo suficientemente pequeño que no compensa agregar un módulo específico para las variables globales. Ej: nivel de traza, directorio de archivos temporarios, etc. los que estableces su valor al comenzar el programa con opciones en la línea de comandos y luego no modificas en toda la corrida. En la biblioteca estándar de python hay varios ejemplos de eso. -H. From py en ls-l.org Thu Jul 28 18:23:35 2005 From: py en ls-l.org (Chema Cortes) Date: Thu, 28 Jul 2005 18:23:35 +0200 Subject: insertar archivo pdf en base de datos postgresql utilizando pypgsql In-Reply-To: <42E8135B.2080303@sicem.biz> References: <172699c50507270915123c983a@mail.gmail.com> <42E8135B.2080303@sicem.biz> Message-ID: <200507281823.36385.py@ls-l.org> El Jueves 28 Julio 2005 01:06, Ernesto Revilla escribió: > no expandas la instrucción sql con %s. Deja que pyPgSQL lo haga por ti: > > archivo=file('liquidacion.pdf','rb').read() > archivo=PgSQL.PgBytea(archivo) > # !!! > > cur.execute("""INSERT INTO historico_liquidacion > (rut_trabajador, codigo_proceso, liquidacion_sueldo) > VALUES (%s,%s,%s)""", arg1, arg2, archivo) Éso es lo que debería ser en teoría. La realidad es que el .PgBytea() sólo convierte el binario a una cadena de texto (sin escapes), y que el .execute() convierte el query y sus parámetros en una única query usando el operador formato '%' de python. Sólo veo hay dos alternativas: - Convertir el binario a texto antes de pasarlo como argumento - Pasarse al psycopg, que es mi recomendación. Ambas alternativas están explicadas en mi weblog. From minoztro en gmail.com Thu Jul 28 19:44:23 2005 From: minoztro en gmail.com (Milton inostroza) Date: Thu, 28 Jul 2005 13:44:23 -0400 Subject: insertar archivo pdf en base de datos postgresql utilizando pypgsql In-Reply-To: <200507281823.36385.py@ls-l.org> References: <172699c50507270915123c983a@mail.gmail.com> <42E8135B.2080303@sicem.biz> <200507281823.36385.py@ls-l.org> Message-ID: <172699c50507281044539f7d2c@mail.gmail.com> > > no expandas la instrucción sql con %s. Deja que pyPgSQL lo haga por ti: > > > > archivo=file('liquidacion.pdf','rb').read() > > archivo=PgSQL.PgBytea(archivo) > > # !!! > > > > cur.execute("""INSERT INTO historico_liquidacion > > (rut_trabajador, codigo_proceso, liquidacion_sueldo) > > VALUES (%s,%s,%s)""", arg1, arg2, archivo) Lo realice de la forma que me indicó Ernesto y resultó, después me di cuenta que tu igual lo hiciste de esa forma..(Y) lo que pasaba era que al execute le mandaba una variable de python y por eso me daba problema con las cremilla dobles, peeero despues escribi el string dentro del execute y no problem, inserta de maravillas > > - Convertir el binario a texto antes de pasarlo como argumento > - Pasarse al psycopg, que es mi recomendación. Quiero migrar a psycopg, pero me ha dado algunos problemas cuando inserto en tablas y la insercion lanza una exception..la exception la capturo y todo pero al volver a insertar me dice que no insertará hasta que se cierre la conexion....en 99.9% creo que es problema mio, en realidad ni siquiera he estudiado psycopg (funcionamiento), pero cuando tengo un poco de tiempo no dudaré en realizar la transición > > Ambas alternativas están explicadas en mi weblog. Sip, muy buena ayuda, te pasaste -- Milton Inostroza Aguilera From jcea en argo.es Thu Jul 28 20:10:58 2005 From: jcea en argo.es (Jesus Cea) Date: Thu, 28 Jul 2005 20:10:58 +0200 Subject: python y los nokia serie 60 In-Reply-To: References: <1121848049.6823.9.camel@amy> Message-ID: <42E91FB2.1060202@argo.es> >>¿Se puede coger una llamada entrante con el API disponible para Python? Con el API 1.0, no. Con el API 1.2, todavía en fase "prealfa", ni idea. No consigo bajarme la documentación. Dice que estoy en un país que no le gusta al gobierno norteamericano. Absurdo, ya que Nokia es una compañía europea. En fin... -- Jesus Cea Avion _/_/ _/_/_/ _/_/_/ jcea en argo.es http://www.argo.es/~jcea/ _/_/ _/_/ _/_/ _/_/ _/_/ _/_/ _/_/ _/_/_/_/_/ PGP Key Available at KeyServ _/_/ _/_/ _/_/ _/_/ _/_/ "Things are not so easy" _/_/ _/_/ _/_/ _/_/ _/_/ _/_/ "My name is Dump, Core Dump" _/_/_/ _/_/_/ _/_/ _/_/ "El amor es poner tu felicidad en la felicidad de otro" - Leibniz From minoztro en gmail.com Thu Jul 28 20:12:14 2005 From: minoztro en gmail.com (Milton inostroza) Date: Thu, 28 Jul 2005 14:12:14 -0400 Subject: almacenar gtk.object en base de datos postgresql Message-ID: <172699c50507281112464500cd@mail.gmail.com> hola: Alguien sabe si puedo almacenar un gtk.object en una base de datos postgresql, para despues recuperarlo y poder utilizarlo en mi aplicacion... que tipo de datos tendría que tener la celda que albergue a este objecto...despues como lo utilizaría en python. Por vuestra ayuda, gracias, salu2!! -- Milton Inostroza Aguilera From erny en sicem.biz Thu Jul 28 20:19:44 2005 From: erny en sicem.biz (Ernesto Revilla) Date: Thu, 28 Jul 2005 20:19:44 +0200 Subject: insertar archivo pdf en base de datos postgresql utilizando pypgsql In-Reply-To: <200507281823.36385.py@ls-l.org> References: <172699c50507270915123c983a@mail.gmail.com> <42E8135B.2080303@sicem.biz> <200507281823.36385.py@ls-l.org> Message-ID: <42E921C0.8000202@sicem.biz> Textos intercalados. Chema Cortes escribió: >El Jueves 28 Julio 2005 01:06, Ernesto Revilla escribió: > > > >>no expandas la instrucción sql con %s. Deja que pyPgSQL lo haga por ti: >> >>archivo=file('liquidacion.pdf','rb').read() >>archivo=PgSQL.PgBytea(archivo) >># !!! >> >>cur.execute("""INSERT INTO historico_liquidacion >> (rut_trabajador, codigo_proceso, liquidacion_sueldo) >> VALUES (%s,%s,%s)""", arg1, arg2, archivo) >> >> > >Éso es lo que debería ser en teoría. La realidad es que el .PgBytea() sólo >convierte el binario a una cadena de texto (sin escapes), y que el .execute() >convierte el query y sus parámetros en una única query usando el operador >formato '%' de python. > > Efectivamente. Pero se supone que el objeto de tipo PgBytea al expandirse en el execute, produce una consulta válida. ví como el .execute genera la sentencia SQL. Supongo que la única otra posibilidad con pyPgSQL sería usar LargeObjects. También cierto, que sólo hice una prueba con un binario no muy grande (90k), que no me funcionó sin convertir a objeto PgBytea. Asumí que para el tipo de archivo que se desea (PDFs) esto sería suficiente. >Sólo veo hay dos alternativas: > >- Convertir el binario a texto antes de pasarlo como argumento >- Pasarse al psycopg, que es mi recomendación. > >Ambas alternativas están explicadas en mi weblog. > > Erny --- avast! Antivirus: Saliente mensaje limpio. Base de datos de Virus (VPS): 0530-2, 28/07/2005 Comprobado en: 28/07/2005 20:19:48 avast! tiene los derechos reservados (c) 2000-2004 ALWIL Software. http://www.avast.com From jcea en argo.es Thu Jul 28 20:20:35 2005 From: jcea en argo.es (Jesus Cea) Date: Thu, 28 Jul 2005 20:20:35 +0200 Subject: Proxy SOCKS In-Reply-To: <42E77EBC.5050205@hispasec.com> References: <247522d105071811201f364099@mail.gmail.com> <42E76A53.6030308@hispasec.com> <1122464971.14201.1.camel@amy> <42E77857.5070306@hispasec.com> <1122466620.14201.9.camel@amy> <42E77EBC.5050205@hispasec.com> Message-ID: <42E921F3.1050702@argo.es> Julio Canto wrote: > Si, pero queria empezar con algo mas 'ligero', mas que nada para > experimentar y luego meterme en berengenales mas espesos, como lo de la > autenticación de la v5 y demás :) Hola, Julio. SOCKS4 es muy sencillo. Te lo curras en media hora. Tienes documentado el protocolo en http://archive.socks.permeo.com/protocol/socks4.protocol -- Jesus Cea Avion _/_/ _/_/_/ _/_/_/ jcea en argo.es http://www.argo.es/~jcea/ _/_/ _/_/ _/_/ _/_/ _/_/ _/_/ _/_/ _/_/_/_/_/ PGP Key Available at KeyServ _/_/ _/_/ _/_/ _/_/ _/_/ "Things are not so easy" _/_/ _/_/ _/_/ _/_/ _/_/ _/_/ "My name is Dump, Core Dump" _/_/_/ _/_/_/ _/_/ _/_/ "El amor es poner tu felicidad en la felicidad de otro" - Leibniz From erny en sicem.biz Thu Jul 28 20:25:36 2005 From: erny en sicem.biz (Ernesto Revilla) Date: Thu, 28 Jul 2005 20:25:36 +0200 Subject: almacenar gtk.object en base de datos postgresql In-Reply-To: <172699c50507281112464500cd@mail.gmail.com> References: <172699c50507281112464500cd@mail.gmail.com> Message-ID: <42E92320.5020704@sicem.biz> eso me suena al sistema de persistencia de g_objects sobre el que han estado trabajando los de fisterra. creo que se llamaba Barnacle. pero no creo que haya bindings para python todavía. puedes buscar info en la web de fisterra. de todos modos, lo que hace gazpacho (http://gazpacho.sicem.biz) es justamente convertir un árbol de widgets con sus propiedades a XML, de manera que se podría plantear usar un campo tipo TEXT, y realizar búsquedas con patrones. Pero.... ¿qué intentas hacer? Si concretas, a lo mejor podemos darte mejores pistas. Erny Milton inostroza escribió: >hola: > > Alguien sabe si puedo almacenar un gtk.object en una base de datos >postgresql, para despues recuperarlo y poder utilizarlo en mi >aplicacion... que tipo de datos tendría que tener la celda que >albergue a este objecto...despues como lo utilizaría en python. > > Por vuestra ayuda, gracias, salu2!! > > --- avast! Antivirus: Saliente mensaje limpio. Base de datos de Virus (VPS): 0530-2, 28/07/2005 Comprobado en: 28/07/2005 20:25:53 avast! tiene los derechos reservados (c) 2000-2004 ALWIL Software. http://www.avast.com From minoztro en gmail.com Thu Jul 28 21:02:50 2005 From: minoztro en gmail.com (Milton inostroza) Date: Thu, 28 Jul 2005 15:02:50 -0400 Subject: almacenar gtk.object en base de datos postgresql In-Reply-To: <42E92320.5020704@sicem.biz> References: <172699c50507281112464500cd@mail.gmail.com> <42E92320.5020704@sicem.biz> Message-ID: <172699c5050728120276b2b3d0@mail.gmail.com> tengo un gkt.model de un gtk.treeview, y lo que quiero hacer es guardarlo de forma integra en la base de datos para despues poder rescatarlo y ponerlo en el gtk.treeview sin problemas...la solución opcional es meterse en el gtk.model y guardar todos los datos en formato de un diccionario o en una lista en un campo tipo text y despues rescatarlo, pero quería una solución menos laboriosa (para el sistema)...eso es, salu2!! El 28/07/05, Ernesto Revilla escribió: > eso me suena al sistema de persistencia de g_objects sobre el que han > estado trabajando los de fisterra. creo que se llamaba Barnacle. pero no > creo que haya bindings para python todavía. puedes buscar info en la web > de fisterra. de todos modos, lo que hace gazpacho > (http://gazpacho.sicem.biz) es justamente convertir un árbol de widgets > con sus propiedades a XML, de manera que se podría plantear usar un > campo tipo TEXT, y realizar búsquedas con patrones. > > Pero.... ¿qué intentas hacer? Si concretas, a lo mejor podemos darte > mejores pistas. > > Erny > > > > Milton inostroza escribió: > > >hola: > > > > Alguien sabe si puedo almacenar un gtk.object en una base de datos > >postgresql, para despues recuperarlo y poder utilizarlo en mi > >aplicacion... que tipo de datos tendría que tener la celda que > >albergue a este objecto...despues como lo utilizaría en python. > > > > Por vuestra ayuda, gracias, salu2!! > > > > > > > > --- > avast! Antivirus: Saliente mensaje limpio. > Base de datos de Virus (VPS): 0530-2, 28/07/2005 > Comprobado en: 28/07/2005 20:25:53 > avast! tiene los derechos reservados (c) 2000-2004 ALWIL Software. > http://www.avast.com > > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > -- Milton Inostroza Aguilera From snmartin en galilea.cl Thu Jul 28 21:58:12 2005 From: snmartin en galilea.cl (Fernando San =?ISO-8859-1?Q?Mart=EDn?= Woerner) Date: Thu, 28 Jul 2005 15:58:12 -0400 Subject: almacenar gtk.object en base de datos postgresql In-Reply-To: <172699c5050728120276b2b3d0@mail.gmail.com> References: <172699c50507281112464500cd@mail.gmail.com> <42E92320.5020704@sicem.biz> <172699c5050728120276b2b3d0@mail.gmail.com> Message-ID: <1122580692.7849.0.camel@localhost.localdomain> El jue, 28-07-2005 a las 15:02 -0400, Milton inostroza escribió: > tengo un gkt.model de un gtk.treeview, y lo que quiero hacer es > guardarlo de forma integra en la base de datos para despues poder > rescatarlo y ponerlo en el gtk.treeview sin problemas...la solución > opcional es meterse en el gtk.model y guardar todos los datos en > formato de un diccionario o en una lista en un campo tipo text y > despues rescatarlo, pero quería una solución menos laboriosa (para el > sistema)...eso es, salu2!! milton, lo que deseas hacer es serializar un objeto, ve el modulo pickle de python. saludos -- Fernando San Martín Woerner Jefe de Informática Galilea S.A. From david.abreu en iac.es Fri Jul 29 00:02:38 2005 From: david.abreu en iac.es (David Abreu Rodriguez) Date: Thu, 28 Jul 2005 23:02:38 +0100 Subject: Informes con reportlab References: <42B99841002610B6@resmta03.ono.com> (added by postmaster@resmta03.ono.com) Message-ID: <42E955FE.1000909@iac.es> Qué sistema operativo usas? en linux/unix existe un programilla llamado pdf2ps que manda la salida directamente a la impresora. No sé si estará disponible también para windows. no puedo ayudarte más. ciao. Berna López wrote: >Hola a todos, > >Ante todo agradecer la colaboración que los miembros del foro ofreceis a la >gente novata como yo en este lenguaje. > >Mi pregunta es la siguiente, estoy diseñando una aplicación de gestión de >pedidos para un local de comida rápida, y estoy diseñando los tickets tanto >de cocina como de entrega a los clientes (como en las pizzerias), los genero >con el pdf y los abro con el adobe acrobat reader, y desde allí puedo >imprimirlos, entonces pregunto, existe algun comando para que ese ticket se >imprima directamente, dispongo del acrobat version 7, o existe alguna forma >de realizar esta tarea de forma más efectiva y rápida. > >Gracias. > >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es > > From jcea en argo.es Fri Jul 29 00:09:34 2005 From: jcea en argo.es (Jesus Cea) Date: Fri, 29 Jul 2005 00:09:34 +0200 Subject: Informes con reportlab In-Reply-To: <42B99841002610B6@resmta03.ono.com> (added by postmaster@resmta03.ono.com) References: <42B99841002610B6@resmta03.ono.com> (added by postmaster@resmta03.ono.com) Message-ID: <42E9579E.4070801@argo.es> Berna López wrote: > Mi pregunta es la siguiente, estoy diseñando una aplicación de gestión de > pedidos para un local de comida rápida, y estoy diseñando los tickets tanto Los tickets suelen tener un diseño muy sencillo, así que yo te sugeriría realizar la generación "a mano" en postscript y largarla directamente a la impresora, si soporta postscript. Si no lo soporta, puede ser más simple generar el ticket directamente en bitmap, si sabes sus secuencias de control. Para algo sencillo como un ticket, yo tiraría por ahí. Ah, si trabajas en unix (solaris, linux, *bsd, etc), lo tienes más fácil aún, ya que si tienes la impresora bien configurada en el sistema, puedes imprimir postscript directamente al "lpr", aunque la impresora no soporte postscript de forma nativa. Trabajando así y con un CUPS bien configurado, hasta puedes imprimir en red. Si sigues empeñado en usar PDF, en UNIX tienes todas las herramientas accesibles para pasar el PDF a postscript y mandar el postscript a cualquier impresora imaginable, esté donde esté y soporte lo que soporte :). -- Jesus Cea Avion _/_/ _/_/_/ _/_/_/ jcea en argo.es http://www.argo.es/~jcea/ _/_/ _/_/ _/_/ _/_/ _/_/ _/_/ _/_/ _/_/_/_/_/ PGP Key Available at KeyServ _/_/ _/_/ _/_/ _/_/ _/_/ "Things are not so easy" _/_/ _/_/ _/_/ _/_/ _/_/ _/_/ "My name is Dump, Core Dump" _/_/_/ _/_/_/ _/_/ _/_/ "El amor es poner tu felicidad en la felicidad de otro" - Leibniz From erny en sicem.biz Fri Jul 29 00:25:42 2005 From: erny en sicem.biz (Ernesto Revilla) Date: Fri, 29 Jul 2005 00:25:42 +0200 Subject: Informes con reportlab In-Reply-To: <42E955FE.1000909@iac.es> References: <42B99841002610B6@resmta03.ono.com> (added by postmaster@resmta03.ono.com) <42E955FE.1000909@iac.es> Message-ID: <42E95B66.4070807@sicem.biz> Hmmm, eso se ha comentado en la lista anteriormente, con lo que google sabrá algo más? buscar por: imprimir python pdf Si usas Windows: yo puse una recetilla para usar Acrobat vía COM: http://listas.aditel.org/archivos/python-es/2004-November/011058.html pero más fácilmente puede arrancarse el archivo con el verbo print: http://listas.aditel.org/archivos/python-es/2005-April/013054.html Erny David Abreu Rodriguez escribió: > Qué sistema operativo usas? > > en linux/unix existe un programilla llamado pdf2ps que manda la salida > directamente a la impresora. No sé si estará disponible también para > windows. > > no puedo ayudarte más. > > ciao. > > Berna López wrote: > >> Hola a todos, >> >> Ante todo agradecer la colaboración que los miembros del foro >> ofreceis a la >> gente novata como yo en este lenguaje. >> >> Mi pregunta es la siguiente, estoy diseñando una aplicación de >> gestión de >> pedidos para un local de comida rápida, y estoy diseñando los tickets >> tanto >> de cocina como de entrega a los clientes (como en las pizzerias), los >> genero >> con el pdf y los abro con el adobe acrobat reader, y desde allí puedo >> imprimirlos, entonces pregunto, existe algun comando para que ese >> ticket se >> imprima directamente, dispongo del acrobat version 7, o existe alguna >> forma >> de realizar esta tarea de forma más efectiva y rápida. >> >> Gracias. >> >> _______________________________________________ >> Python-es mailing list >> Python-es en aditel.org >> http://listas.aditel.org/listinfo/python-es >> >> > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > --- avast! Antivirus: Saliente mensaje limpio. Base de datos de Virus (VPS): 0530-2, 28/07/2005 Comprobado en: 29/07/2005 0:25:44 avast! tiene los derechos reservados (c) 2000-2004 ALWIL Software. http://www.avast.com From jcea en argo.es Fri Jul 29 01:19:39 2005 From: jcea en argo.es (Jesus Cea) Date: Fri, 29 Jul 2005 01:19:39 +0200 Subject: [Zope-es] Fase lunar In-Reply-To: <42E963EB.10303@sistes.net> References: <42E583B0.8050108@sistes.net> <42E95D97.8080606@argo.es> <42E963EB.10303@sistes.net> Message-ID: <42E9680B.4000102@argo.es> Añado la lista "python-es" a la lista de receptores. Garito wrote: > Simplemente me gustaria que en mi weblog saliese, al lado de la fecha, > la fase lunar Si no requieres excesiva precisión, como es el caso, basta con que recuerdes que las fases lunares se repiten con un período de unos 29.53 días, si no recuerdo mal. Así que con saber cualquier día de cambio de fase, que es algo que te viene en cualquier calendario casero, vas servido. a) Obtén el tiempo en segundos desde el EPOCH (1/1/1970) para un cambio de fase arbitrario. Lo tienes en cualquier calendario de casa. b) Obtén el tiempo en segundos del momento actual ("time.time()"). c) Resta ambos resultados. d) Divide el resultado por 86400 y tendrás el número de días pasados desde la luna llena del ejemplo. e) Las fases de la luna se repiten cada 29.53 días. Ya lo tienes. Para algo más preciso, a ver si mi siguiente versión de PyTrek lo incluye :). PS: Para evaluar la precisión, simplemente toma como referencia el primer cambio de fase del año, y comprueba si calculas bien el último cambio de fase del año. PPS: El ejemplo dado es preciso, pero acumulas del orden de un día de error cada tres años, así a ojo. Puedes usar fórmulas más precisas o, simplemente, apuntarte en algún sitio el "recalibrar" la referencia una vez al año :). Recuerda también que puedes tener fácilmente un día de error también porque el cambio de fase que viene en el calendario no indica la hora exacta del cambio, sino solo el día. Esa es otra fuente de imprecisión que puedes resolver simplemente empleando algo "preciso", como la librería "pyephem", para calcular la referencia inicial. -- Jesus Cea Avion _/_/ _/_/_/ _/_/_/ jcea en argo.es http://www.argo.es/~jcea/ _/_/ _/_/ _/_/ _/_/ _/_/ _/_/ _/_/ _/_/_/_/_/ PGP Key Available at KeyServ _/_/ _/_/ _/_/ _/_/ _/_/ "Things are not so easy" _/_/ _/_/ _/_/ _/_/ _/_/ _/_/ "My name is Dump, Core Dump" _/_/_/ _/_/_/ _/_/ _/_/ "El amor es poner tu felicidad en la felicidad de otro" - Leibniz From mgallegol en gmail.com Fri Jul 29 07:05:06 2005 From: mgallegol en gmail.com (=?ISO-8859-1?Q?Martha_Luc=EDa_Gallego_L=F3pez?=) Date: Fri, 29 Jul 2005 00:05:06 -0500 Subject: Como saber que palm elegir???? Message-ID: <3da61ab705072822055df61c2e@mail.gmail.com> Hola que tal, de nuevo saludandos para que me ayuden con otra gran inquietud: Necesito comprar una palm, pero estoy muy confundida al decidir cual es la indicada y me atemoriza el hecho de que no funcione para lo que yo necesito. En este momento me encuentro trabajando en mi proyecto de grado que tiene que ver con la recolección de datos de un volcán en una palm la cual deba resistir a las condiciones del lugar, por lo que he pensado en una Recon con las siguientes caracteristicas: *Ruggedization: Meets or exceeds MIL-STD-810F and IP-67 *Size/Weight/Battery Life: 6.5 X 3.8 X 1.8 inches/1.1 pounds/15 hours *Display: 320 X 240-resolution front-lit color touchscreen *CPU/RAM/Storage: 200-MHz or 400-MHz Intel Xscale/64 MB/64-MB or 128-MB flash ROM and integrated CompactFlash drive *Operating Systems: Windows Mobile 2003 for Pocket PC *Keypad: 10 hardware control keys *Connectivity: RS-232, USB, Type 1 and Type II PC card slots, speaker Con lo anterior, la inquietud que tengo es que debo instalar python 2.4 allí y quisiera saber si no hay problema con el sistema operativo Windows Mobile 2003; además me pregunto también si no se presentará problema en el momento de que se baje la información de la palm a un computador con windows xp; ya que también forma parte de mi proyecto. Acepto todas las sugerencias, comentarios y criterios que surjan de lo anterior. Muchisimas gracias por su atención. From jcanto en hispasec.com Fri Jul 29 07:39:49 2005 From: jcanto en hispasec.com (Julio Canto) Date: Fri, 29 Jul 2005 07:39:49 +0200 Subject: Proxy SOCKS In-Reply-To: <42E921F3.1050702@argo.es> References: <247522d105071811201f364099@mail.gmail.com> <42E76A53.6030308@hispasec.com> <1122464971.14201.1.camel@amy> <42E77857.5070306@hispasec.com> <1122466620.14201.9.camel@amy> <42E77EBC.5050205@hispasec.com> <42E921F3.1050702@argo.es> Message-ID: <42E9C125.7020507@hispasec.com> > > Hola, Julio. > > SOCKS4 es muy sencillo. Te lo curras en media hora. > > Tienes documentado el protocolo en > http://archive.socks.permeo.com/protocol/socks4.protocol > Muchas gracias, parece lo que necesitaba :) Un saludo, JC From acurro en wanadoo.es Fri Jul 29 13:20:24 2005 From: acurro en wanadoo.es (Alberto Curro) Date: Fri, 29 Jul 2005 13:20:24 +0200 Subject: Imprimir =?iso-8859-15?q?m=FAltiples_copias_con_reportlab_y_acrob?= =?iso-8859-15?q?at_reader_=3F?= Message-ID: <42EA10F8.5070205@wanadoo.es> Buenas, es mi primera pregunta a la lista, no suelo hacerlas pero ahora me encuentro un poco perdido. Utilizo un motor propio de informes basado en reportlab y transformación xml con xslt y rml. Tengo unas plantillas xsl y rml que conjugo con los xml para generar el pdf con el reportlab. Después, un python llamado con parámetros (desde cualquier aplicación o a mano, en mi caso desde aplicaciones visual basic) llama a acrobat reader utilizando las extensiones win32all via shell (open para abrir, print para imprimir directamente). Mi problema es que necesito imprimir, y necesito hacer varias copias (depende de la configuración, fichas del cliente, etc.), pero no sé cómo decírselo a acrobat para que lo haga. He estado viendo la tabla COM de la clase definida por Acrobat, y no encuentro nada. He buscado en google, tampoco. En la web de reportlab no lo encuentro, y como no tienen búsqueda no tengo ganas de tragarme las listas guardadas para ver si alguien lo ha preguntado (que supongo que sí!). Alguien con experiencia en este tema? PD : Qué nadie me diga que haga un "shellexecute" n veces !!! :) Saludos Alberto Curro ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From erny en sicem.biz Fri Jul 29 15:09:51 2005 From: erny en sicem.biz (Ernesto Revilla) Date: Fri, 29 Jul 2005 15:09:51 +0200 Subject: Como saber que palm elegir???? In-Reply-To: <3da61ab705072822055df61c2e@mail.gmail.com> References: <3da61ab705072822055df61c2e@mail.gmail.com> Message-ID: <42EA2A9F.2040508@sicem.biz> Hola, hay Python para PocketPC. No sé si ya hay Python para 2.4. Puedes preguntar a Google. Yo veo esto: http://fore.validus.com/~kashtan/ es decir, Python 2.3.4. Seguro que te vale. Cuando hables de ordenador de mano, llámalo así o llámalo PDA, ya que por Palm entendemos normalmente un ordenador con PalmOS. El desarrollo de Python para PalmOS está parado. Respecto a las características " Ruggedization: Meets or exceeds MIL-STD-810F and IP-67", ni idea. Erny Martha Lucía Gallego López escribió: >Hola que tal, de nuevo saludandos para que me ayuden con otra gran inquietud: > >Necesito comprar una palm, pero estoy muy confundida al decidir cual >es la indicada y me atemoriza el hecho de que no funcione para lo que >yo necesito. > >En este momento me encuentro trabajando en mi proyecto de grado que >tiene que ver con la recolección de datos de un volcán en una palm la >cual deba resistir a las condiciones del lugar, por lo que he pensado >en una Recon con las siguientes caracteristicas: > >*Ruggedization: Meets or exceeds MIL-STD-810F and IP-67 >*Size/Weight/Battery Life: 6.5 X 3.8 X 1.8 inches/1.1 pounds/15 hours >*Display: 320 X 240-resolution front-lit color touchscreen >*CPU/RAM/Storage: 200-MHz or 400-MHz Intel Xscale/64 MB/64-MB or >128-MB flash ROM and integrated CompactFlash drive >*Operating Systems: Windows Mobile 2003 for Pocket PC >*Keypad: 10 hardware control keys >*Connectivity: RS-232, USB, Type 1 and Type II PC card slots, speaker > >Con lo anterior, la inquietud que tengo es que debo instalar python >2.4 allí y quisiera saber si no hay problema con el sistema operativo >Windows Mobile 2003; además me pregunto también si no se presentará >problema en el momento de que se baje la información de la palm a un >computador con windows xp; ya que también forma parte de mi proyecto. > >Acepto todas las sugerencias, comentarios y criterios que surjan de lo anterior. > >Muchisimas gracias por su atención. >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es > > > --- avast! Antivirus: Saliente mensaje limpio. Base de datos de Virus (VPS): 0530-3, 29/07/2005 Comprobado en: 29/07/2005 15:10:13 avast! tiene los derechos reservados (c) 2000-2004 ALWIL Software. http://www.avast.com From snmartin en galilea.cl Fri Jul 29 15:31:57 2005 From: snmartin en galilea.cl (Fernando San =?ISO-8859-1?Q?Mart=EDn?= Woerner) Date: Fri, 29 Jul 2005 09:31:57 -0400 Subject: Como saber que palm elegir???? In-Reply-To: <3da61ab705072822055df61c2e@mail.gmail.com> References: <3da61ab705072822055df61c2e@mail.gmail.com> Message-ID: <1122643917.7839.5.camel@localhost.localdomain> El vie, 29-07-2005 a las 00:05 -0500, Martha Lucía Gallego López escribió: > Hola que tal, de nuevo saludandos para que me ayuden con otra gran inquietud: > > Necesito comprar una palm, pero estoy muy confundida al decidir cual > es la indicada y me atemoriza el hecho de que no funcione para lo que > yo necesito. > las "palm" corren PalmOS, hay otras PDA que utilizan windows mobile 2003, y otras vienen con linux :D > En este momento me encuentro trabajando en mi proyecto de grado que > tiene que ver con la recolección de datos de un volcán en una palm la > cual deba resistir a las condiciones del lugar, por lo que he pensado > en una Recon con las siguientes caracteristicas: no conozco la Recon, ojo si es un palm no corre windows > > *Ruggedization: Meets or exceeds MIL-STD-810F and IP-67 Esta es una norma de robustez, la IP 67 creo que resiste caídas al fondo del mar, acá tengo máquinas hhp con esa norma, y son bastante resistentes, aunque no las he probado en una erupción volcánica. > *Size/Weight/Battery Life: 6.5 X 3.8 X 1.8 inches/1.1 pounds/15 hours > *Display: 320 X 240-resolution front-lit color touchscreen > *CPU/RAM/Storage: 200-MHz or 400-MHz Intel Xscale/64 MB/64-MB or > 128-MB flash ROM and integrated CompactFlash drive > *Operating Systems: Windows Mobile 2003 for Pocket PC > *Keypad: 10 hardware control keys > *Connectivity: RS-232, USB, Type 1 and Type II PC card slots, speaker esto depende de lo que necesites en tu app, de todas maneras a mi modo de ver es mejor tener wifi. > > Con lo anterior, la inquietud que tengo es que debo instalar python > 2.4 allí y quisiera saber si no hay problema con el sistema operativo > Windows Mobile 2003; además me pregunto también si no se presentará > problema en el momento de que se baje la información de la palm a un > computador con windows xp; ya que también forma parte de mi proyecto. no he visto python 2.4 en PDA, recuerdo que hay algo para mobile 2003, pero es muy limitado, y ni pensar en librerías no estándar de python, es decir, módulos que no vengan en la base. > > Acepto todas las sugerencias, comentarios y criterios que surjan de lo anterior. tal vez debas explicar como es tu app. -- Fernando San Martín Woerner Jefe de Informática Galilea S.A. From erny en sicem.biz Fri Jul 29 15:31:12 2005 From: erny en sicem.biz (Ernesto Revilla) Date: Fri, 29 Jul 2005 15:31:12 +0200 Subject: Imprimir =?ISO-8859-15?Q?m=FAltiples_copias_?= =?ISO-8859-15?Q?con_reportlab_y_acrobat_reader_=3F?= In-Reply-To: <42EA10F8.5070205@wanadoo.es> References: <42EA10F8.5070205@wanadoo.es> Message-ID: <42EA2FA0.7090409@sicem.biz> Si quieres sacar 2 copias, el ShellExecute con el verbo "print" no te sirve. O abres Acrobat vía COM, o configuras la impresora para que saque 2 copias de todo antes de imprimir, y restableces el valor. Busca el la lista o en Google "imprimir PDF COM", ya que se ha respondido a la pregunta cómo imprimir vía COM. http://listas.aditel.org/archivos/python-es/2004-November/011058.html podrías hacer 2 PrintPages. No sé cómo indicarlo si no. De todos modos, la mayoría de impresoras permiten establecer el nº de copias por defecto a través del control de impresora. Erny Alberto Curro escribió: > Buenas, > > es mi primera pregunta a la lista, no suelo hacerlas pero ahora me > encuentro un poco perdido. > > Utilizo un motor propio de informes basado en reportlab y > transformación xml con xslt y rml. Tengo unas plantillas xsl y rml que > conjugo con los xml para generar el pdf con el reportlab. Después, un > python llamado con parámetros (desde cualquier aplicación o a mano, en > mi caso desde aplicaciones visual basic) llama a acrobat reader > utilizando las extensiones win32all via shell (open para abrir, print > para imprimir directamente). > Mi problema es que necesito imprimir, y necesito hacer varias > copias (depende de la configuración, fichas del cliente, etc.), pero > no sé cómo decírselo a acrobat para que lo haga. He estado viendo la > tabla COM de la clase definida por Acrobat, y no encuentro nada. He > buscado en google, tampoco. En la web de reportlab no lo encuentro, y > como no tienen búsqueda no tengo ganas de tragarme las listas > guardadas para ver si alguien lo ha preguntado (que supongo que sí!). > > Alguien con experiencia en este tema? > > PD : Qué nadie me diga que haga un "shellexecute" n veces !!! :) > > Saludos > > Alberto Curro > >------------------------------------------------------------------------ > >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es > > --- avast! Antivirus: Saliente mensaje limpio. Base de datos de Virus (VPS): 0530-3, 29/07/2005 Comprobado en: 29/07/2005 15:31:29 avast! tiene los derechos reservados (c) 2000-2004 ALWIL Software. http://www.avast.com ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From acurro en wanadoo.es Thu Jul 28 11:19:29 2005 From: acurro en wanadoo.es (Alberto Curro) Date: Thu, 28 Jul 2005 11:19:29 +0200 Subject: Como saber que palm elegir???? In-Reply-To: <3da61ab705072722065538556d@mail.gmail.com> References: <3da61ab705072722065538556d@mail.gmail.com> Message-ID: <42E8A321.30303@wanadoo.es> Martha Lucía Gallego López wrote: Hola Martha, mal lo llevas para instalar WM 2003 sobre una Palm. Palm usa Symbian, un SO propio que algunos otros dispositivos móviles usan (como los móviles serie 60 de Nokia). Para lo que quieres quizás te venga mejor algún modelo industrial de PDA (para recolección de datos, almacenes, etc) que cumplirá con lo que quieres y lo hará bien. Una ayudita de google seguro que te sirve. Un saludo >Hola que tal, de nuevo saludandos para que me ayuden con otra gran inquietud: > >Necesito comprar una palm, pero estoy muy confundida al decidir cual >es la indicada y me atemoriza el hecho de que no funcione para lo que >yo necesito. > >En este momento me encuentro trabajando en mi proyecto de grado que >tiene que ver con la recolección de datos de un volcán en una palm la >cual deba resistir a las condiciones del lugar, por lo que he pensado >en una Recon con las siguientes caracteristicas: > >*Ruggedization: Meets or exceeds MIL-STD-810F and IP-67 >*Size/Weight/Battery Life: 6.5 X 3.8 X 1.8 inches/1.1 pounds/15 hours >*Display: 320 X 240-resolution front-lit color touchscreen >*CPU/RAM/Storage: 200-MHz or 400-MHz Intel Xscale/64 MB/64-MB or >128-MB flash ROM and integrated CompactFlash drive >*Operating Systems: Windows Mobile 2003 for Pocket PC >*Keypad: 10 hardware control keys >*Connectivity: RS-232, USB, Type 1 and Type II PC card slots, speaker > >Con lo anterior, la inquietud que tengo es que debo instalar python >2.4 allí y quisiera saber si no hay problema con el sistema operativo >Windows Mobile 2003; además me pregunto también si no se presentará >problema en el momento de que se baje la información de la palm a un >computador con windows xp; ya que también forma parte de mi proyecto. > >Acepto todas las sugerencias, comentarios y criterios que surjan de lo anterior. > >Muchisimas gracias por su atención. >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es > > > > From rvr en infoastro.com Fri Jul 29 18:39:19 2005 From: rvr en infoastro.com (=?iso-8859-1?q?V=EDctor_R=2E?= Ruiz) Date: Fri, 29 Jul 2005 17:39:19 +0100 Subject: Como saber que palm elegir???? In-Reply-To: <42E8A321.30303@wanadoo.es> References: <3da61ab705072722065538556d@mail.gmail.com> <42E8A321.30303@wanadoo.es> Message-ID: <200507291739.19614.rvr@infoastro.com> Hola: El Jueves 28 Julio 2005 10:19, Alberto Curro tecleó: > mal lo llevas para instalar WM 2003 sobre una Palm. Palm usa > Symbian, un SO propio que algunos otros dispositivos móviles usan (como > los móviles serie 60 de Nokia). Cuidado, Palm usa PalmOS. Symbian es otro sistema operativo. Saludetes, -- Víctor R. Ruiz | - Todos estos momentos se perderán http://infoastro.com/rvr | como lágrimas en la lluvia From aurora.mg en gmail.com Fri Jul 29 21:50:29 2005 From: aurora.mg en gmail.com (=?ISO-8859-1?Q?Aurora_Marcial_Ger=F3n?=) Date: Fri, 29 Jul 2005 14:50:29 -0500 Subject: ayuda en graficos Message-ID: Hola soy nueva en esto de la progrmaciòn en python, quisiera que me ayudaran para ver si alguin sabe de algun tutorial o algo asi para hacer circulos, lineas, cuadros, rectangulos en python lo que pasa que un grupo de usuarios y yo queremos realizar un programa de calculo para unos aquitectos y este progrma debe mostrar graficos que estan echos a base de lineas, cuadros, circulos, si alguien me puede ayudar por favor s lo agradecere, mi correo es: aurora.mg en gmail.com tambien este lo pueden agregar al mensajero instantaneo, gracias.... -- A.M.G From fvillarroel en yahoo.com Fri Jul 29 22:01:09 2005 From: fvillarroel en yahoo.com (FERNANDO VILLARROEL) Date: Fri, 29 Jul 2005 13:01:09 -0700 (PDT) Subject: Convertir PDF a texto plano Message-ID: <20050729200109.63270.qmail@web41207.mail.yahoo.com> Hola, por motivos tecnicos y costos me gustaria transformar informes generados con Reportlab (PDF) a algun formato ascii puede ser ps u otro. Lo que ocurre es que necesito imprimir en impresoras de matriz punto, Okidata 320/321 y los PDF me salen casi ilegibles. Alguien ha probado trnasformar de formato y luego tirar a la impresora, alguien tiene algun ejemplo. Bueno acepto sus sugerencias. Fernando Villarroel N __________________________________ Yahoo! Mail for Mobile Take Yahoo! Mail with you! Check email on your mobile phone. http://mobile.yahoo.com/learn/mail From maramsis en gmail.com Fri Jul 29 22:39:45 2005 From: maramsis en gmail.com (maram) Date: Fri, 29 Jul 2005 17:39:45 -0300 Subject: manejo de modulos y ventanas en python In-Reply-To: <3da61ab705072721247753d154@mail.gmail.com> References: <3da61ab705072721247753d154@mail.gmail.com> Message-ID: On 7/28/05, Martha Lucía Gallego López wrote: > Hola a todos quienes forman parte de la lista. > > Me dirijo a ustedes con el fin de que me ayuden con las siguientes > inquietudes que se me estan presentando respecto al manejo de modulos > y de ventanas en python 2.4 sobre windows xp: > > 1. Se me presenta el siguiente problema: Tengo un modulo que se > encarga dentro de alguna de sus funciones el invocar un nuevo modulo; > la manera en como lo hago es utilizando la funcion import seguida del > nombre del modulo, una vez se corre el programa efectivamente la > ventana que invoca inmediatamente llama a la otra, pero si se cierra > esta, queda la ventana que invoca, lo que se hace es intentar llamar > nuevamente a la ventana pero no se obtiene ninguna respuesta, lo que > implica que deba cerrarse el programa en ejecución y volverlo a poner > a correr. > Que debo hacer para corregir tal problema? > > > 2. Quisiera saber que comando debo utilizar para cerrar una > determinada ventana, que tiene como una de sus funciones llamar a > través de un button o menubutton otra ventana y en que parte del > modulo deberia ir el comando para que funcione adecuadamente. > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > Que libreria usas para hacer la ventana? gtk , qt, otra? Conque instrucciones creas la ventan y las llamas? -- Marcelo Ametller www.maramsis.com.ar - www.aeroenlace.com.ar Ubuntu Linux User. From maramsis en gmail.com Fri Jul 29 23:21:13 2005 From: maramsis en gmail.com (maram) Date: Fri, 29 Jul 2005 18:21:13 -0300 Subject: comandos hora actual In-Reply-To: <3da61ab7050727214017a13ed0@mail.gmail.com> References: <3da61ab7050727214017a13ed0@mail.gmail.com> Message-ID: On 7/28/05, Martha Lucía Gallego López wrote: > Saludos a la lista: > > 1. Se tiene una clasificación de frutas y de verduras y se quiere > seleccionar de las frutas solo una y de las verduras también solo una, > que función o comando de Tkinter puede utilizarse que sea similar al > manejo de checkbutton o radiobutton. > > 2. Se cuenta con un modulo que tiene como función mostrar en pantalla > la hora actual, lo que sucede es que cuando se pone en ejecución si > muestra la hora pero si uno se queda un determinado tiempo observando > el pantallazo pasa que la hora sigue siendo la misma, pero si cierro > la ventana y vuelo a abrirla si muestra la hora actual; al parecer > hace un proceso interno y lo que necesito es que en pantalla este > mostrando el cambio de hora minuto a minuto. La función que se esta > usando para la hora es time.strftime. > > Que me sugieren ustedes para que este modulo funcione correctamente. mas datos sobre como implementaste el codigo... para saber como esta echo... > > Mil gracias por su atención. > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > -- Marcelo Ametller www.maramsis.com.ar - www.aeroenlace.com.ar Ubuntu Linux User. From cescd en yahoo.com.mx Fri Jul 29 23:43:40 2005 From: cescd en yahoo.com.mx (Cesar Cardenas Desales) Date: Fri, 29 Jul 2005 16:43:40 -0500 (CDT) Subject: ayuda en graficos In-Reply-To: References: Message-ID: <20050729214341.58088.qmail@web50412.mail.yahoo.com> Probablemente PythonG les sea de utilidad,debido a su sencillez. http://www3.uji.es/~dllorens/PythonG/ --- Aurora Marcial Gerón escribió: > Hola soy nueva en esto de la progrmaciòn en python, > quisiera que me ayudaran > para ver si alguin sabe de algun tutorial o algo asi > para hacer circulos, > lineas, cuadros, rectangulos en python lo que pasa > que un grupo de usuarios > y yo queremos realizar un programa de calculo para > unos aquitectos y este > progrma debe mostrar graficos que estan echos a base > de lineas, cuadros, > circulos, si alguien me puede ayudar por favor s lo > agradecere, mi correo > es: aurora.mg en gmail.com tambien este lo pueden > agregar al mensajero > instantaneo, gracias.... > > -- > A.M.G > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > ___________________________________________________________ Do You Yahoo!? La mejor conexión a Internet y 2GB extra a tu correo por $100 al mes. http://net.yahoo.com.mx From marcelobarbero en arnet.com.ar Sat Jul 30 06:41:57 2005 From: marcelobarbero en arnet.com.ar (Marcelo Barbero) Date: Sat, 30 Jul 2005 01:41:57 -0300 Subject: Pregunta sobre clases In-Reply-To: <200507271841.25245.rvr@infoastro.com> References: <200507271841.25245.rvr@infoastro.com> Message-ID: <20050730043655.05CA394450@marti.uji.es> Estoy empezando a programar en Python y veo un comportamiento que me parece extraño: Supongamos una clase: class Prueba: def __init__(self): self.dato1 = 1 self.dato2 = 'uno' y el siguiente código: x = Prueba() print x.dato1 # muestra 1 print x.dato2 # muestra 'uno', hasta acá todo OK x.dato3 = 4 # ????? print x.dato3 # muestra 4 La pregunta es: ¿por qué en Python no existe un mecanismo para evitar este tipo de código? ¿Por qué es posible asignar un valor y crear una variable dentro de una clase, si ésta no lo define en su misma especificación? Marcelo -- No virus found in this outgoing message. Checked by AVG Anti-Virus. Version: 7.0.338 / Virus Database: 267.9.7/60 - Release Date: 28/07/2005 From hernan en orgmf.com.ar Sat Jul 30 12:07:08 2005 From: hernan en orgmf.com.ar (=?iso-8859-1?Q?Hernan_Mart=EDnez_Foffani?=) Date: Sat, 30 Jul 2005 12:07:08 +0200 Subject: Pregunta sobre clases In-Reply-To: <20050730043655.05CA394450@marti.uji.es> References: <20050730043655.05CA394450@marti.uji.es> Message-ID: > Estoy empezando a programar en Python y veo un comportamiento que me > parece extraño: > > Supongamos una clase: > > class Prueba: > def __init__(self): > self.dato1 = 1 > self.dato2 = 'uno' > > y el siguiente código: > > x = Prueba() > print x.dato1 # muestra 1 > print x.dato2 # muestra 'uno', hasta acá todo OK > > x.dato3 = 4 # ????? > print x.dato3 # muestra 4 > > La pregunta es: ¿por qué en Python no existe un mecanismo para evitar > este tipo de código? ¿Por qué es posible asignar un valor y crear una > variable dentro de una clase, si ésta no lo define en su misma > especificación? Porque en python la definicion de una variable (mejor dicho, del ``nombre'' de un objeto) se hace en el momento de la primer asignación (binding). Se usa el mismo mecanismo tanto para atributos de instancias como para simples variables locales. Pero si aun insistes, es posible hacerlo. Usa el nuevo tipo de clases, aquellas que derivan de object: >>> class Prueba(object): ... __slots__ = ('dato1', 'dato2') ... >>> x = Prueba() >>> x.dato1 = 1 >>> x.dato2 = 'hola' >>> x.dato3 = 3.5 Traceback (most recent call last): File "", line 1, in ? AttributeError: 'Prueba' object has no attribute 'dato3' >>> Saludos, -H. PD: ¡vaya hora para programar en python! ;-) From jordinas en gmail.com Sat Jul 30 19:00:08 2005 From: jordinas en gmail.com (Joan Ordinas) Date: Sat, 30 Jul 2005 19:00:08 +0200 Subject: Pregunta sobre clases In-Reply-To: <20050730043655.05CA394450@marti.uji.es> References: <200507271841.25245.rvr@infoastro.com> <20050730043655.05CA394450@marti.uji.es> Message-ID: <9140533f05073010004b1a163b@mail.gmail.com> On 7/30/05, Marcelo Barbero wrote: > Estoy empezando a programar en Python y veo un comportamiento que me parece > extraño: > > Supongamos una clase: > > class Prueba: > def __init__(self): > self.dato1 = 1 > self.dato2 = 'uno' > > y el siguiente código: > > x = Prueba() > print x.dato1 # muestra 1 > print x.dato2 # muestra 'uno', hasta acá todo OK > > x.dato3 = 4 # ????? > print x.dato3 # muestra 4 > > La pregunta es: ¿por qué en Python no existe un mecanismo para evitar este > tipo de código? Ya te han contestado con las razones técnicas. Hay otras razones, y que tienen que ver con la filosofia de Python: en general, Python no es un lenguaje dictador, que ya viene con las decisiones tomadas respecto a lo que se puede hacer o no. En tu ejemplo de código, concretamente, lo que haces es añadir, dinámicamente, una propiedad a un objeto. Esto no tiene por que ser considerado un pecado. Python te permite incluso la clasificación dinámica (cambiar de clase a un objeto): que la mayoria de lenguajes no permita esto (CLOS si lo permite) no quiere decir que sea malo. De hecho, en la fase de analisis cosas como la clasificación dinámica son perfectemente justificables. Python simplemente te permite mantener esas cosas en la fase de diseño y programación JJOR From mgallegol en gmail.com Sun Jul 31 06:35:00 2005 From: mgallegol en gmail.com (=?ISO-8859-1?Q?Martha_Luc=EDa_Gallego_L=F3pez?=) Date: Sat, 30 Jul 2005 23:35:00 -0500 Subject: backups Message-ID: <3da61ab70507302135970e763@mail.gmail.com> Hola a todos: Quiero agradecer a ustedes por sus opiniones y preocupación que demuestran con los asuntos enviados a la lista. Quisiera saber si python 2.4 hace backups. Gracias por su atención y tiempo. From hernan en orgmf.com.ar Sun Jul 31 12:10:10 2005 From: hernan en orgmf.com.ar (=?iso-8859-1?Q?Hernan_Mart=EDnez_Foffani?=) Date: Sun, 31 Jul 2005 12:10:10 +0200 Subject: backups In-Reply-To: <3da61ab70507302135970e763@mail.gmail.com> References: <3da61ab70507302135970e763@mail.gmail.com> Message-ID: > Quisiera saber si python 2.4 hace backups. ¿backups? ¿pero de qué? ¿qué es lo que quieres guardar? ¿en qué sistema operativo está lo que quieres conservar? si son los programas alcanza con que copies los archivos con extension .py alcanza. From graciosillo21 en yahoo.es Sun Jul 31 12:53:49 2005 From: graciosillo21 en yahoo.es (isaac jarquin medina) Date: Sun, 31 Jul 2005 12:53:49 +0200 (CEST) Subject: Pregunta sobre clases In-Reply-To: <20050730043655.05CA394450@marti.uji.es> References: <20050730043655.05CA394450@marti.uji.es> Message-ID: <20050731105349.72574.qmail@web26909.mail.ukl.yahoo.com> por que marcelo si no me equivoco lo que estas haciendo es crear una variable que no tiene nada que ver con la clase y mostrandola por pantalla, es decir que esta nusva variable no pertenece a la clase no es un atributo suyo, es una varibel simple, date cuenta que python es un lenguage interpretado y las variables no las tenemos que definir, el usuario las crea cuando las necesita sin previa definicion --- Marcelo Barbero escribió: > Estoy empezando a programar en Python y veo un > comportamiento que me parece > extraño: > > Supongamos una clase: > > class Prueba: > def __init__(self): > self.dato1 = 1 > self.dato2 = 'uno' > > y el siguiente código: > > x = Prueba() > print x.dato1 # muestra 1 > print x.dato2 # muestra 'uno', hasta acá todo OK > > x.dato3 = 4 # ????? > print x.dato3 # muestra 4 > > La pregunta es: ¿por qué en Python no existe un > mecanismo para evitar este > tipo de código? ¿Por qué es posible asignar un valor > y crear una variable > dentro de una clase, si ésta no lo define en su > misma especificación? > > Marcelo > > -- > No virus found in this outgoing message. > Checked by AVG Anti-Virus. > Version: 7.0.338 / Virus Database: 267.9.7/60 - > Release Date: 28/07/2005 > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > ______________________________________________ Renovamos el Correo Yahoo! Nuevos servicios, más seguridad http://correo.yahoo.es From antropografo en antropografo.com.mx Sat Jul 30 03:41:50 2005 From: antropografo en antropografo.com.mx (Antropografo-Tr) Date: Fri, 29 Jul 2005 20:41:50 -0500 Subject: pasar numeros a letras Message-ID: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From egapaz en wanadoo.es Sat Jul 16 12:34:25 2005 From: egapaz en wanadoo.es (ELIAS) Date: Sat, 16 Jul 2005 12:34:25 +0200 Subject: DABO. Herramienta de desarrollo multiplataforma para aplicaciones de gestion Message-ID: <20050716123425.110a1916@maga.micasa.es> He tropezado casualmente con DABO, segun su web, es una herramienta de desarrollo de aplicaciones de base de datos basada en python y wxpython que quiere parecerse a visual foxpro pero que es multiplataforma (linux/ mac-ox/win). En teoria, parece una buena herramienta para hacer de python uno de los lenguajes de desarrollo de esas aplicaciones de gestion de empresa que tanta falta hacen para polularizar linux en las empresas. La web es: http://dabodev.com/about Por mi parte creo que tardare bastante en probarla, si alguien lo hace antes que comente sus impresiones ;-) Un saludo. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From javier.lasheras en telefonica.net Thu Jul 21 11:41:11 2005 From: javier.lasheras en telefonica.net (javier lasheras) Date: Thu, 21 Jul 2005 11:41:11 +0200 Subject: Puertos en linux In-Reply-To: <54af49c1050720233232ab521d@mail.gmail.com> References: <54af49c10507191401e812ee3@mail.gmail.com> <1121847761.6823.5.camel@amy> <54af49c1050720233232ab521d@mail.gmail.com> Message-ID: <93ab88395fbeafae0093951b4fe019a3@telefonica.net> Buenas: Si es posible hacer eso que tu quieres, pero antes revisa muy bien que tu programa no tenga agujeros de seguridad. Te paso dos enlaces que explica como hacerlo, y te meten miedito para que no lo hagas a lo loco: http://www.iec.csic.es/criptonomicon/linux/suid.html http://www.zonasiete.org/manual/ch05s05.html Ejecutarlo con sudo puede darte exactamente los mismos problemas. Eso si, si alguien puede editar tu script con SUID, podrá ejecutar cosas desde él como si fuera root, así que precaución amigo linuxero. Por cierto: $grep smtp /etc/services smtp 25/udp # Simple Mail Transfer smtp 25/tcp # Simple Mail Transfer ¿Estás seguro de que el puerto que quieres es el 20 o el protocolo el smtp? Supongo que será simplemente un error tipográfico ;-) Saludos javi El 21/07/2005, a las 8:32, JoePC escribió: > Y no hay forma de poder hacerlo, añadiendole en algun grupo o > marcandolo en algun archivo? > > El 20/07/05, David Villa escribió: >> Hola: >> >> El mar, 19-07-2005 a las 23:01 +0200, JoePC escribió: >>> Tengo un problema, estoy haciendo pruebas para implementar un >>> servidor >>> de smtp, pero en linux no me deja capturar el puerto 20 salvo que sea >>> el root. >>> ¿como debo hacerlo? >> >> Pues así debe ser. Todos los puertos por debajo del 1024 están >> reservados para aplicaciones bien conocidas y un usuario normal no >> puede >> poner servidores ahí. >> >> Saludos >> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en aditel.org >> http://listas.aditel.org/listinfo/python-es >> > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From lslorg en ls-l.org Mon Jul 25 00:28:41 2005 From: lslorg en ls-l.org (Chema Cortes) Date: Mon, 25 Jul 2005 00:28:41 +0200 Subject: Redireccionar salida In-Reply-To: <54af49c105072402422694a8cf@mail.gmail.com> References: <54af49c105072402422694a8cf@mail.gmail.com> Message-ID: <20050725002841.ceozrqwga00gw0cg@ls-l.org> Quoting JoePC : > Existe alguna forma de redireccionar la salida estandar a una clase? Puedes sustituir el objeto sys.stdout con cualquier clase que implente el mismo interface para el método .write() . Puedes hacértelo tú mismo ó usar cualquiera de los objetos afines como 'file' ó 'StringIO'. import sys class ReQuote: def write(self, msg): sys.__stdout__.write("--> "+msg+" <--\n") #redirección sys.stdout=ReQuote() print "Mensaje Redirigido" sys.stdout=sys.__stdout__ From lslorg en ls-l.org Wed Jul 27 02:16:36 2005 From: lslorg en ls-l.org (Chema Cortes) Date: Wed, 27 Jul 2005 02:16:36 +0200 Subject: Consulta Postgre In-Reply-To: <42E6886F.7010702@sicem.biz> References: <002901c591c8$d025ebc0$7500a8c0@catalin> <42E60960.2020607@diselpro.com> <001301c591cf$f2384940$7500a8c0@catalin> <42E61B00.8060604@ls-l.org> <42E6886F.7010702@sicem.biz> Message-ID: <20050727021636.9klzhnfqylo0occw@ls-l.org> Quoting Ernesto Revilla : > Respecto a lo que dices, puedes usar una consulta parametrizada también, > pero parece que pyPgSQL no lo soporta. A mi me funcionan las consultas con parámetros en pyPgSQL. Por lo que veo en tu código no pasas los parámetros como una tupla. Mira a ver si es por éso. Tampoco haría falta convertir previamente los enteros a strings. > Estos días he estado revisando la interfaz python de programación en > servidor (SPI), y realmente tiene una pinta estupenda. Viene > incluído/compilado en Debian Sarge (Postgresql 7.4.x) y Windows. Para > Fedora Core 3 hay paquete instalable. Es bastante probable que esté > incluido o que existe como paquete de binarios para la distribución que > uséis. Me sorprende que en Sarge hayan hecho que depensa postgres del python. Lo que no he visto es que la versión de windows permita usar python. ¿Estás utilizando un postgresql 8.0 para windows? > Cosas interesantes: Para añadir a la lista: Crear en postgresql un secuenciador en python: http://www.pythonhispano.org/node/1009 Utilización en postgresql de generadores python: http://www.pythonhispano.org/node/1010 En éste último ejemplo se puede ver que el diccionario SD se pueden almacenar cualquier objeto python, en este caso un "generador". From manel en libresoftware.com Wed Jul 27 02:09:08 2005 From: manel en libresoftware.com (Manel Cebolla) Date: Wed, 27 Jul 2005 02:09:08 +0200 Subject: Programacion LAMP In-Reply-To: <20050726212718.24030.qmail@web25602.mail.ukl.yahoo.com> References: <20050726212718.24030.qmail@web25602.mail.ukl.yahoo.com> Message-ID: <200507270209.08754.manel@libresoftware.com> Hola, si quieres aprender LAMP con Python yo antes te propondría que le echaras una ojeada a: a) Zope: GNU/Linux + Apache ó Zope + MySQL/PostgreSQL... + Python/Perl (http://www.zope.org) b) Cheetah (http://www.cheetahtemplate.org) Sobre mod_python + Apache hay un buen manual en: http://www.modpython.org/live/current/doc-html/ Saludos, Manel. El Martes, 26 de Julio de 2005 23:27, Hector Santos escribió: > He visto mucho lo que es LAMP (Linux, Apache, MYSQL, > Php/Perl/Python) pero todos los tutoriales se tratan > de php y no Python. Hay algun tutorial sobre LAMP pero > con orientacion a python? No importa que sea en > ingles. > > > > > > ______________________________________________ > Renovamos el Correo Yahoo! > Nuevos servicios, más seguridad > http://correo.yahoo.es > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es -- Saludos / Regards. Manel. GNU/Linux User #391733 (http://counter.li.org/) Projects Page: http://www.manelelena.com Libre Software: http://www.libresoftware.com From garito en sistes.net Fri Jul 29 13:23:00 2005 From: garito en sistes.net (Garito) Date: Fri, 29 Jul 2005 13:23:00 +0200 Subject: [Zope-es] Fase lunar In-Reply-To: <42E9680B.4000102@argo.es> References: <42E583B0.8050108@sistes.net> <42E95D97.8080606@argo.es> <42E963EB.10303@sistes.net> <42E9680B.4000102@argo.es> Message-ID: <42EA1194.7030005@sistes.net> Jesus Cea escribió: > Añado la lista "python-es" a la lista de receptores. > > > > Garito wrote: > >> Simplemente me gustaria que en mi weblog saliese, al lado de la >> fecha, la fase lunar > > > Si no requieres excesiva precisión, como es el caso, basta con que > recuerdes que las fases lunares se repiten con un período de unos > 29.53 días, si no recuerdo mal. Así que con saber cualquier día de > cambio de fase, que es algo que te viene en cualquier calendario > casero, vas servido. > > a) Obtén el tiempo en segundos desde el EPOCH (1/1/1970) para un > cambio de fase arbitrario. Lo tienes en cualquier calendario de casa. > > b) Obtén el tiempo en segundos del momento actual ("time.time()"). > > c) Resta ambos resultados. > > d) Divide el resultado por 86400 y tendrás el número de días pasados > desde la luna llena del ejemplo. > > e) Las fases de la luna se repiten cada 29.53 días. > > Ya lo tienes. > > Para algo más preciso, a ver si mi siguiente versión de PyTrek lo > incluye :). > > PS: Para evaluar la precisión, simplemente toma como referencia el > primer cambio de fase del año, y comprueba si calculas bien el último > cambio de fase del año. > > PPS: El ejemplo dado es preciso, pero acumulas del orden de un día de > error cada tres años, así a ojo. Puedes usar fórmulas más precisas o, > simplemente, apuntarte en algún sitio el "recalibrar" la referencia > una vez al año :). Recuerda también que puedes tener fácilmente un día > de error también porque el cambio de fase que viene en el calendario > no indica la hora exacta del cambio, sino solo el día. Esa es otra > fuente de imprecisión que puedes resolver simplemente empleando algo > "preciso", como la librería "pyephem", para calcular la referencia > inicial. > Ole! Gracias por la informacion, Jesus Voy a ver que hago al final. Si veo que lo voy dejando y vosotros acabais antes que yo casi que prefiero usar tu libreria De todos modos la informacion que me das es lo que yo necesitaba asi que muchisimas gracias!!! Saludos -- Mis Cosas http://blogs.sistes.net/Garito/