From erny en sicem.biz Fri Oct 1 01:36:56 2004 From: erny en sicem.biz (Ernesto Revilla) Date: Fri, 01 Oct 2004 01:36:56 +0200 Subject: Cuando abrir la coneccion con las bases de datos desde python? In-Reply-To: <415C7BBA.6030900@yahoo.com.ar> References: <415C7BBA.6030900@yahoo.com.ar> Message-ID: <415C9898.80403@sicem.biz> Hola, no creo que abrir constantemente conexiones a una base de datos sea una buena técnica. Hay muchas en los que la operación es bastante rápida, pero otras que creen un proceso por cada conexión en el servidor, y eso con muchas conexiones se vuelve lento. Por eso, está la técnica del connection pooling, es decir, siempre mantener un conjunto de conexiones abiertas (e.g. 20) y usar cualquiera que esté libre. Además, eso asegura que no se desborde el servidor. Saludos, Erny Ariel Nardelli escribió: > Hola.... > > Mas que una pregunta es una cuestion de como usan ustedes las > aperturas y cierres de la coneccion a las bases de datos... > > Yo particularmente lo que hago es abrir una coneccion a las bases de > datos al principio de mi funcion y al final antes de salir de la > funcion vuelvo a cerrar la base y listo, o sea, durante todo el tiempo > que el programa esta trabajando la coneccion a la base de datos esta > abierta... > > Por otro lado hay gente que abre y cierra la coneccion justo en el > momento de hacer una operacion de sql entonces cada vez que se quiere > hacer una operacion sobre sql abren la coneccion, realizan la > operacion (leen graban o lo que sea) y cierran la conecion y continuan > con el programa... > > Despues puede haber un mix de estas dos cosas, o sea, abrir la > coneccion realizar todas o varios trabajos sobre sql y cerrar la > coneccion y continuar con el programa... > > Bueno esta es mi pregunta, que usan mas ustedes y por que? > > Yo no quiero abrir muchas veces la coneccion por una cuestion de no > sobrecargar el motor de base de datos (mysql en mi caso) y por ahi > pasar mas tiempo abriendo y cerrando conecciones que realizando > operaciones sql en si :) > > Queda planteado el tema, un tema que va mas con el uso y costumbre > personal que desde el punto de vista de programacion en si... > > Que opinan ustedes? > > Ariel > _______________________________________________ > 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): 0440-2, 29/09/2004 Comprobado en: 01/10/2004 1:36:57 avast! tiene los derechos reservados (c) 2000-2004 ALWIL Software. http://www.avast.com From fvillarroel en yahoo.com Fri Oct 1 02:48:36 2004 From: fvillarroel en yahoo.com (FERNANDO VILLARROEL) Date: Thu, 30 Sep 2004 17:48:36 -0700 (PDT) Subject: Python-pypgsql para Windows SOLUCIONADO In-Reply-To: <1096581535.6497.6.camel@renata.macondo.pri> References: <1096581535.6497.6.camel@renata.macondo.pri> Message-ID: <20041001004836.43032.qmail@web41209.mail.yahoo.com> Gracias a todos por sus consejos, deje funcionando wxpython y accedo al servidor Debian woody donde corre PostgreSQL desde Python usando pyPgSQL. Tambien me baje wxglade y ya hice algunas cositas, pero debo revisar sus ejemplos y documentacion (wxPython). Sobre todo el tema de las se?ales, me imagino que debe ser similar a GTK, en ese sentido. Gracias a todos y saludos. --- Marcos S?nchez Provencio wrote: > La otra es usar ODBC, para lo que tendr?s que usar > el driver odbc para > postgresql y acceder al servidor ODBC por mxODBC o > por COM con las > extensiones de Windows. > > El jue, 30-09-2004 a las 20:38, FERNANDO VILLARROEL > escribi?: > > Hola lista estuve probando con wxPython, hasta el > > minuto me a corrido fantastico en Windows, lo que > pasa > > es que como dije debo desarrollar una aplicacion > > (cliente) para acceder desde computadores con > Windows > > a una base de datos remota PostgreSQL (Postgres > corre > > en una Debian woody), en los Windows puse Python y > > wxPython y mis pruebas van bien, pero ahora como a > las > > estaciones Windows les instalo el modulo pyPgSQL > para > > acceder a Postgres. No encuentro donde bajar este > > modulo para Windows. > > > > Debo ademas instalar el ODBC de PostgreSQL para > > Windows verdad?. > > > > Fernando Villarroel. > > > > > > > > _______________________________ > > Do you Yahoo!? > > Declare Yourself - Register online to vote today! > > http://vote.yahoo.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 > __________________________________ Do you Yahoo!? New and Improved Yahoo! Mail - 100MB free storage! http://promotions.yahoo.com/new_mail ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From falted en pytables.org Fri Oct 1 09:54:34 2004 From: falted en pytables.org (Francesc Alted) Date: Fri, 1 Oct 2004 09:54:34 +0200 Subject: [SemiOT]Pack y unpack In-Reply-To: <20040930213631.GA10948@mediterrania> References: <1096519403.415b8eeb3f63f@webmail.upv.es> <200409300947.55529.falted@pytables.org> <20040930213631.GA10948@mediterrania> Message-ID: <200410010954.35625.falted@pytables.org> A Dijous 30 Setembre 2004 23:36, Fernando Blat va escriure: > Muchas gracias, es justo lo que quería. Lo he probado y funciona perfecto. Pues no sé como ha sido, pues me he dado cuenta que en mi receta te dije que usaras una definición como: typedef struct {int *i; char *s; float *f;} pstruct; cuando en realidad deberia ser algo como: typedef struct {int i; char s[N]; float f;} pstruct; en fin, supongo que ya te habrás dado cuenta. > Sin embargo me he dado cuenta de que esta forma de compartir estructuras > de datos entre C y Python está un poco cogida por pinzas, pues binarizar > unos datos depende demasiado del compilador y de la plataforma. Si se quiere > ser purista del todo sólo queda como solución enviar strings que luego se > irán convirtiendo, según un orden dado, en los campos de la estructura de > datos. De todas formas me gustaría conocer vuestras alternativas, ya como > curiosidad, pues el problema está solucionado :) Bueno, si se quiere ser purista y hacer código *eficiente* al mismo tiempo, entonces puedes pasar la información usando una ordenación de bytes determinada. La más típica para pasar información a través de la red es la big-endian o también llamada network (la de los procesadores Intel es little-endian). Puedes generarla usando el carácter '!' al principio del formato struct. Con esto además el alienamiento de los datos es standard, i.e. no hay 'huecos' entre los diferentes campos (cosa que muchos compiladores introducen para conseguir mayores eficiencias de acceso a los datos). Una vez tengas el buffer en la máquina remota tienes que hacer dos cosas: 1.- Comprobar que byteorder tiene la máquina receptora. Esto es fácil: char byteorder[7]; int n = 1; char *p = (char *) &n; if (*p == 1) strcpy(byteorder, "little"); else strcpy(byteorder, "big"); y después, si tu máquina es "little", simplemente le das la vuelta a los bytes para convertir los datos de "big" a "little". 2.- Creas una estructura que mapee los datos a recibir de manera que no haya "huecos" (i.e. sin alienamiento) entre ellos. Esto ya es poco más difícil, pero te puede servir cómo lo hace Python: mira el fichero Module/structmodule.c (te recomiendo el de la versión 2.4 que, aunque esté en alpha, han rehecho el código y parece más elegante que el de versiones anteriores). Presta particular atención a las rutinas align y calcsize. Aunque si la velocidad no es importante, lo mismo te va a dar pasarlo todo como cadenas. En fin, tú mismo. -- Francesc Alted From py en ch3m4.org Fri Oct 1 10:34:59 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Fri, 01 Oct 2004 10:34:59 +0200 Subject: Cuando abrir la coneccion con las bases de datos desde python? In-Reply-To: <415C7BBA.6030900@yahoo.com.ar> References: <415C7BBA.6030900@yahoo.com.ar> Message-ID: <200410011035.02940.py@ch3m4.org> On Thursday 30 September 2004 23:33, Ariel Nardelli wrote: > Mas que una pregunta es una cuestion de como usan ustedes las aperturas > y cierres de la coneccion a las bases de datos... Esta cuestión no tiene una respuesta clara; pero más que un problema de programación es un problema del dimensionamiento del servidor y de cómo se haga la conexión. Por lo general, no es recomendable realizar conexiones y desconexiones rápidas ya que perjudican el rendimiento del servidor. Los servidores suelen estar preparados para mantener abiertas varias conexiones simultáneas, manteniendo por cada conexión un sistema de "cachés" del que poco se beneficia si la conexión se cierra demasiado pronto. Por otro lado, aunque no tan importante, están los conectores (los módulos DB-API2 de python) que mantienen una caché de sentencias SQL que también desaparece al cerrar la conexión. Mi consejo es mantener abierta la conexión mientras sea necesaria, pero hay que tener en consideración que el servidor puede cerrar la conexión por "timeout". Suelen ser tiempos muy grandes, aunque es configurable por el administrador. Ésto hace que sea recomendable cerrar la conexión con la base de datos en los ratos que esté parado el programa (pe: en las introduciones de datos). Siempre dependerá un poco del juicio del programador. ------------ 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 Fri Oct 1 17:28:57 2004 From: acastro en ciberdroide.com (Antonio Castro) Date: Fri, 1 Oct 2004 17:28:57 +0200 (CEST) Subject: Cuando abrir la coneccion con las bases de datos desde python? In-Reply-To: <200410011035.02940.py@ch3m4.org> References: <415C7BBA.6030900@yahoo.com.ar> <200410011035.02940.py@ch3m4.org> Message-ID: On Fri, 1 Oct 2004, Chema Cortés wrote: > On Thursday 30 September 2004 23:33, Ariel Nardelli wrote: > > > Mas que una pregunta es una cuestion de como usan ustedes las aperturas > > y cierres de la coneccion a las bases de datos... > > Esta cuestión no tiene una respuesta clara; pero más que un problema de > programación es un problema del dimensionamiento del servidor y de cómo se > haga la conexión. > > Por lo general, no es recomendable realizar conexiones y desconexiones rápidas > ya que perjudican el rendimiento del servidor. Los servidores suelen estar > preparados para mantener abiertas varias conexiones simultáneas, manteniendo > por cada conexión un sistema de "cachés" del que poco se beneficia si la > conexión se cierra demasiado pronto. > > Por otro lado, aunque no tan importante, están los conectores (los módulos > DB-API2 de python) que mantienen una caché de sentencias SQL que también > desaparece al cerrar la conexión. > > > Mi consejo es mantener abierta la conexión mientras sea necesaria, pero hay > que tener en consideración que el servidor puede cerrar la conexión por > "timeout". Suelen ser tiempos muy grandes, aunque es configurable por el > administrador. Ésto hace que sea recomendable cerrar la conexión con la base > de datos en los ratos que esté parado el programa (pe: en las introduciones > de datos). Siempre dependerá un poco del juicio del programador. Yo en C recuerdo que programaba el cierre de la conexion con atexit(). De esa forma al salir del programa bajo cualquier circunstancia salvo la recepción de la señal KILL, el programa cerraba correctamente la conexión. Mantenía todo el rato abierta la conexión pero es que en mi caso el numero de conexiones siempre era muy pequeño. Supongo cerrar la conexión para abrirla al poco tiempo solo está justificado si con eso evitamos alcanzar un excesivo número de conexiones abiertas simultaneamente. Supongo que lo suyo es hacer pruebas primero sin cerrar conexiones. -- Un saludo Antonio Castro /\ /\ \\W// _|0 0|_ +-oOOO-(___o___)-OOOo---------------------+ | . . . . U U . Antonio Castro Snurmacher | | . . . . . . . acastro en ciberdroide.com | +()()()---------()()()--------------------+ From miuler_listas en csdelectronic.com Fri Oct 1 19:26:17 2004 From: miuler_listas en csdelectronic.com (Hector Miuler Malpica Gallegos) Date: Fri, 01 Oct 2004 12:26:17 -0500 Subject: Reemplazar aplicaciones de calculo y otros para estudiantes de Ingenieria. Message-ID: <1096651577.5931.43.camel@debi.debian> Hola amigos, espero que puedan comentar cada punto: MATRICES: Quisiera saber si alguien a visto algo sobre python+matrices estoy usando Numarray y e probado las operaciones basicas, pero también quisiera saber si también se puede calcular la determinante, si solo funciona con matrices numericas? o se pueden usar variables, mmm... . CALCULO NUMERICO Y SIMBOLICO: Luego si existe algo para "algebra system" quiero usar a python en ves de mi HP48 para los calculos, e visto una libreria gsl y un binding para python pygsl pero me parece que pygsl aun le faltan implementar mas cosas, no estoy seguro de esto. ESTADISTICA: Luego encontre python-stats que es un modulo basico de para estadistica para python, tambíen el python-pyr para usarlo con "R" un programa muy completo para estadistica y graficas, y GRAFICAS: para completar creo que python-gnuplot es muy bueno no se si abra mas opciones. Gracias por cualquier comentario, es que quiero reemplazar mis aplicaciones de siempre por python, quiero reemplazar en todo lo que pueda, quisiera hacer una lista con estas opciones, probarlas y colgarlo en algún sitio para mis compañeros de la universidad y para cualquier otra personal interesada. _\|/_ (O-O) --oOO-(_)-OOo---------------------------------------- Hector Miuler Malpica Gallegos Universidad Nacional del Callao - Peru Escuela de Ingenieria Electronica .''`. Powered by: ,__, : :' : Debian GNU/Linux(SID) (2.4.21,Ext3) (oo)____ `. `' usuario registrado #308608 (__) mu )\ `- ||--|| * Jabber miuler en jabber.org ICQ 179326439 MSN miuler13 en yahoo.es Yahoo miuler13 en yahoo.es IRC irc.freenode.net #apesol ----------------------------------------------------- From FBatista en uniFON.com.ar Fri Oct 1 19:35:36 2004 From: FBatista en uniFON.com.ar (Batista, Facundo) Date: Fri, 1 Oct 2004 14:35:36 -0300 Subject: Reemplazar aplicaciones de calculo y otros para e studiantes de Ingenieria. Message-ID: [Hector Miuler Malpica Gallegos] #- GRAFICAS: #- para completar creo que python-gnuplot es muy #- bueno no se si abra mas opciones. Yo estoy usando pychart, y aunque se me complicó con detalles de los gráficos de torta, genero unos PDFs con gráficos x-y y de barras buenísimos! . Facundo From nuevodebian28 en yahoo.es Sun Oct 3 01:56:51 2004 From: nuevodebian28 en yahoo.es (Joseba) Date: Sun, 03 Oct 2004 01:56:51 +0200 Subject: Novato total, mas perdido que un pulpo en un garage Message-ID: <415F4043.5050800@yahoo.es> Hola gente, me presento y mis primeras preguntas, Me llamo Joseba, de bilbao, mis vicios confesables son la comida y salir de fiesta, tengo 22 y recientemente he hecho mis primeros pinitos en esto del softvare libre, instalando un debian sid en mi sufrido hp. Una puta odisea hasta configurarlo. En fin tras dos meses que no he podio avanzar mucho, ya no uso otra cosa. Como pasar de un coche automatico a uno con marchas, una vez sabes pisar el embrage, conduces mejor. Pues me he decidio aprender a pogramar minimisimamente, en parte para solucionar una pequeña necesidad personal, en parte por el ansia de conocer. He intentado el scripting basico, y de hecho he realizado un script "de dos lineas" que funciona mravillosisimamente. Lo he pasado a version estable 1.0 en una semana ;) Ahora quiero aprender python. Me he bajado libros de la red, cursos tutoriales, pero querria una especie de "biblia del python " o "python para torpones" un libro fisico en castellano que pueda encargar en una libreria. os estimaria alguna propuesta especialmente si añadis el codigo isdn que suele venir en el dorso del libro y lo identifica inequivocamente para pedirlo asi en mi libreria habitual. From fvillarroel en yahoo.com Sun Oct 3 03:18:02 2004 From: fvillarroel en yahoo.com (FERNANDO VILLARROEL) Date: Sat, 2 Oct 2004 18:18:02 -0700 (PDT) Subject: wxglade Message-ID: <20041003011802.52499.qmail@web41212.mail.yahoo.com> Hola tengo un peque?o incoveniente, sucede que se me ocurrio tambien instalar python, wxpython y wxglade en unas maquinas con windows, todo corre, pero el wxGlade solo se ejecuta haciendo la instalacion de este, no asi cuando entro por inicio, programas, etc o desde el icono que genera la instalacion en el escritorio, las maquinas con problemas en wxglade tienen windows 98. Alguna idea o a alguien le ha pasado esto. __________________________________ Do you Yahoo!? New and Improved Yahoo! Mail - Send 10MB messages! http://promotions.yahoo.com/new_mail ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From lopez en esrf.fr Sun Oct 3 15:18:02 2004 From: lopez en esrf.fr (Angel Lopez =?iso-8859-1?Q?Mu=F1oz?=) Date: Sun, 03 Oct 2004 15:18:02 +0200 Subject: Novato total, mas perdido que un pulpo en un In-Reply-To: <415F4043.5050800@yahoo.es> References: <415F4043.5050800@yahoo.es> Message-ID: <5.1.0.14.0.20041003151640.00ae58e8@pop.esrf.fr> Hola Joseba, no se si existirá en castellano pero me parece muy bueno (lo tengo en ingles) el "Learning python" de Oreilly. Buena suerte con el Python y ánimo. Un saludo, Angel. At 01:56 03/10/2004 +0200, you wrote: >Hola gente, me presento y mis primeras preguntas, > >Me llamo Joseba, de bilbao, mis vicios confesables son la comida y salir >de fiesta, tengo 22 y recientemente he hecho mis primeros pinitos en esto >del softvare libre, instalando un debian sid en mi sufrido hp. Una puta >odisea hasta configurarlo. En fin tras dos meses que no he podio avanzar >mucho, ya no uso otra cosa. Como pasar de un coche automatico a uno con >marchas, una vez sabes pisar el embrage, conduces mejor. > >Pues me he decidio aprender a pogramar minimisimamente, en parte para >solucionar una pequeña necesidad personal, en parte por el ansia de >conocer. He intentado el scripting basico, y de hecho he realizado un >script "de dos lineas" que funciona mravillosisimamente. Lo he pasado a >version estable 1.0 en una semana ;) > >Ahora quiero aprender python. Me he bajado libros de la red, cursos >tutoriales, pero querria una especie de "biblia del python " o "python >para torpones" un libro fisico en castellano que pueda encargar en una >libreria. os estimaria alguna propuesta especialmente si añadis el codigo >isdn que suele venir en el dorso del libro y lo identifica inequivocamente >para pedirlo asi en mi libreria habitual. >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es From pan_python en yahoo.com.ar Mon Oct 4 08:48:13 2004 From: pan_python en yahoo.com.ar (Ariel Nardelli) Date: Mon, 04 Oct 2004 03:48:13 -0300 Subject: Cuando abrir la coneccion con las bases de datos desde python? In-Reply-To: <415C9898.80403@sicem.biz> References: <415C7BBA.6030900@yahoo.com.ar> <415C9898.80403@sicem.biz> Message-ID: <4160F22D.2000003@yahoo.com.ar> Ernesto Revilla wrote: > Hola, > no creo que abrir constantemente conexiones a una base de datos sea > una buena técnica. Hay muchas en los que la operación es bastante > rápida, pero otras que creen un proceso por cada conexión en el > servidor, y eso con muchas conexiones se vuelve lento. Por eso, está > la técnica del connection pooling, es decir, siempre mantener un > conjunto de conexiones abiertas (e.g. 20) y usar cualquiera que esté > libre. Además, eso asegura que no se desborde el servidor. Hola. Mas o menos la idea que tenia yo entonces por lo que veo era correcta, creo que aca lo mejor es lograr equilibrio para mi hay que equilibrar.... Lo que no sabia nada es de connection polling mmm sabes de algun lugar donde pueda encontrar info? me interesa el tema... Yo abro una sola coneccion y paso por esa todas absolutamente todas los movimientos que halla en sql sobre esa unica coneccion.... Ariel From pan_python en yahoo.com.ar Mon Oct 4 08:51:14 2004 From: pan_python en yahoo.com.ar (Ariel Nardelli) Date: Mon, 04 Oct 2004 03:51:14 -0300 Subject: Cuando abrir la coneccion con las bases de datos desde python? In-Reply-To: <200410011035.02940.py@ch3m4.org> References: <415C7BBA.6030900@yahoo.com.ar> <200410011035.02940.py@ch3m4.org> Message-ID: <4160F2E2.5000307@yahoo.com.ar> Chema Cortés wrote: >On Thursday 30 September 2004 23:33, Ariel Nardelli wrote: > > > >>Mas que una pregunta es una cuestion de como usan ustedes las aperturas >>y cierres de la coneccion a las bases de datos... >> >> > >Esta cuestión no tiene una respuesta clara; pero más que un problema de >programación es un problema del dimensionamiento del servidor y de cómo se >haga la conexión. > >Por lo general, no es recomendable realizar conexiones y desconexiones rápidas >ya que perjudican el rendimiento del servidor. Los servidores suelen estar >preparados para mantener abiertas varias conexiones simultáneas, manteniendo >por cada conexión un sistema de "cachés" del que poco se beneficia si la >conexión se cierra demasiado pronto. > >Por otro lado, aunque no tan importante, están los conectores (los módulos >DB-API2 de python) que mantienen una caché de sentencias SQL que también >desaparece al cerrar la conexión. > > >Mi consejo es mantener abierta la conexión mientras sea necesaria, pero hay >que tener en consideración que el servidor puede cerrar la conexión por >"timeout". Suelen ser tiempos muy grandes, aunque es configurable por el >administrador. Ésto hace que sea recomendable cerrar la conexión con la base >de datos en los ratos que esté parado el programa (pe: en las introduciones >de datos). Siempre dependerá un poco del juicio del programador. > > Como siempre Chema, con los comentarios certeros :) Si mas o menos era por donde tambien estaba pensando yo incluso tenia la idea de agrupar la mayor cantidad de operaciones sobre las bases para hacerlas todas juntas (por supuesto dentro de lo posible) y asi usar el servidor de un solo saque por asi decirlo. Ahora confirmo que mi idea no estaba tan errada, gracias!!! veo que voy por buen camino entonces. Ariel From py en ch3m4.org Mon Oct 4 09:36:09 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Mon, 04 Oct 2004 09:36:09 +0200 Subject: Reemplazar aplicaciones de calculo y otros para estudiantes de Ingenieria. In-Reply-To: <1096651577.5931.43.camel@debi.debian> References: <1096651577.5931.43.camel@debi.debian> Message-ID: <200410040936.12876.py@ch3m4.org> On Friday 01 October 2004 19:26, Hector Miuler Malpica Gallegos wrote: > Hola amigos, espero que puedan comentar cada punto: Antes de contestarte, lo primero es recomendarte que visites el siguiente enlace: SciPy: http://www.scipy.org > MATRICES: > Quisiera saber si alguien a visto algo sobre > python+matrices estoy usando Numarray y e probado las operaciones > basicas, pero también quisiera saber si también se puede calcular la > determinante, si solo funciona con matrices numericas? o se pueden usar > variables, mmm... . Mira dentro de numarray.linear_algebra. No te puedo decir si funciona también con variables, pero sería demasiado. Lo que estás pidiendo es un sistema de cálculo simbólico estilo matlab ó mathematica. > CALCULO NUMERICO Y SIMBOLICO: > Luego si existe algo para "algebra system" quiero > usar a python en ves de mi HP48 para los calculos, e visto una libreria > gsl y un binding para python pygsl pero me parece que pygsl aun le > faltan implementar mas cosas, no estoy seguro de esto. Mírate PyMat, como enlace entre NumPy y MatLab: http://claymore.engineer.gvsu.edu/~steriana/Python/pymat.html (No te olvides que también SciPy puede intercambiar matrices con MatLab) > ESTADISTICA: > Luego encontre python-stats que es un modulo basico de para estadistica > para python, > tambíen el python-pyr para usarlo con "R" un programa muy completo para > estadistica y graficas, y El "R" tiene buena pinta, aunque necesitarás aprender un nuevo lenguaje. Últimamente he visto que David Mertz, uno de los autores destacado de python, ha iniciando una serie de artículos sobre R: http://www-106.ibm.com/developerworks/linux/library/l-r1/?ca=dgr-lnxw57Are No es de extrañar que en próximos artículos se extienda más sobre la programación de R desde python. > GRAFICAS: > para completar creo que python-gnuplot es muy > bueno no se si abra mas opciones. Independiente de los sistemas más o menos integrados, para mi uso personal estoy utilizando PyX: http://pyx.sourceforge.net, sobre todo por poder integrar luego la salida en escritos latex. ------------ 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 rapto en arrakis.es Mon Oct 4 10:05:16 2004 From: rapto en arrakis.es (=?ISO-8859-1?Q?Marcos_S=E1nchez_Provencio?=) Date: Mon, 04 Oct 2004 10:05:16 +0200 Subject: Cuando abrir la coneccion con las bases de datos desde python? In-Reply-To: <4160F22D.2000003@yahoo.com.ar> References: <415C7BBA.6030900@yahoo.com.ar> <415C9898.80403@sicem.biz> <4160F22D.2000003@yahoo.com.ar> Message-ID: <4161043C.9050509@arrakis.es> Ojo, no confundir polling (consulta periódica) con pooling (uso optimizado de un grupo de servicios). Ariel Nardelli escribió: > Ernesto Revilla wrote: > >> Hola, >> no creo que abrir constantemente conexiones a una base de datos sea >> una buena técnica. Hay muchas en los que la operación es bastante >> rápida, pero otras que creen un proceso por cada conexión en el >> servidor, y eso con muchas conexiones se vuelve lento. Por eso, está >> la técnica del connection pooling, es decir, siempre mantener un >> conjunto de conexiones abiertas (e.g. 20) y usar cualquiera que esté >> libre. Además, eso asegura que no se desborde el servidor. > > > Hola. > Mas o menos la idea que tenia yo entonces por lo que veo era correcta, > creo que aca lo mejor es lograr equilibrio para mi hay que equilibrar.... > > Lo que no sabia nada es de connection polling mmm sabes de algun lugar > donde pueda encontrar info? me interesa el tema... > > Yo abro una sola coneccion y paso por esa todas absolutamente todas > los movimientos que halla en sql sobre esa unica coneccion.... > > Ariel From raro82 en hotmail.com Mon Oct 4 10:04:01 2004 From: raro82 en hotmail.com (Adrian Ferreres Esteller) Date: Mon, 04 Oct 2004 08:04:01 +0000 Subject: Conexion Python base de datos PostgreSQL Message-ID: Buenas a todos: Me gustaria saber si alguien de vosotros me puede indicar como acceder de manera directa (sin puente ODBC) desde un programa python a una base de datos PostreSQL. Me gustaria saber en concreto: - Las librerias a utilizar - La sintaxis de las ordenes para la conexion, realizar consultas, modificar tablas e insertar datos en una tabla - La sintaxis de las ordenes para cerrar la conexion Muchas gracias por vuestara ayuda. _________________________________________________________________ La información más fresca desde diferentes puntos de vista en la Revista de Prensa de MSN. http://es.newsbot.msn.com/ From acastro en ciberdroide.com Mon Oct 4 10:10:42 2004 From: acastro en ciberdroide.com (Antonio Castro) Date: Mon, 4 Oct 2004 10:10:42 +0200 (CEST) Subject: Novato total, mas perdido que un pulpo en un In-Reply-To: <5.1.0.14.0.20041003151640.00ae58e8@pop.esrf.fr> References: <5.1.0.14.0.20041003151640.00ae58e8@pop.esrf.fr> Message-ID: On Sun, 3 Oct 2004, Angel Lopez Muñoz wrote: > Hola Joseba, > > no se si existirá en castellano pero me parece muy bueno (lo tengo en > ingles) el "Learning python" de Oreilly. > > Buena suerte con el Python y ánimo. Yo también lo tengo y también lo recomiendo. Es adecuado para aprender el lenguaje. Para ir un poco más lejos "Programming Python" de Mark Lutz y también es de O'reilly. Este segundo no habla casi para nada de lo que es el lenguaje Python. Aborda directamente la programación en las areas donde más se usa Python. (Scripts, GUI (Tkinter), Internet, Bases de datos, ...) -- Un saludo Antonio Castro /\ /\ \\W// _|0 0|_ +-oOOO-(___o___)-OOOo---------------------+ | . . . . U U . Antonio Castro Snurmacher | | . . . . . . . acastro en ciberdroide.com | +()()()---------()()()--------------------+ From hernan en orgmf.com.ar Mon Oct 4 10:40:20 2004 From: hernan en orgmf.com.ar (=?iso-8859-1?Q?Hern=E1n_Mart=EDnez_Foffani?=) Date: Mon, 4 Oct 2004 10:40:20 +0200 Subject: Cuando abrir la coneccion con las bases de datos desde python? In-Reply-To: <4160F22D.2000003@yahoo.com.ar> References: <4160F22D.2000003@yahoo.com.ar> Message-ID: >> no creo que abrir constantemente conexiones a una base de datos sea >> una buena técnica. Hay muchas en los que la operación es bastante >> rápida, pero otras que creen un proceso por cada conexión en el >> servidor, y eso con muchas conexiones se vuelve lento. Por eso, está >> la técnica del connection pooling, es decir, siempre mantener un >> conjunto de conexiones abiertas (e.g. 20) y usar cualquiera que esté >> libre. Además, eso asegura que no se desborde el servidor. > > Mas o menos la idea que tenia yo entonces por lo que veo era correcta, > creo que aca lo mejor es lograr equilibrio para mi hay que > equilibrar.... > > Lo que no sabia nada es de connection polling mmm sabes de algun lugar > donde pueda encontrar info? me interesa el tema... Lo mas razonable es encontrar drivers para tu base de datos que ya se encarguen del pool de conexiones. > Yo abro una sola coneccion y paso por esa todas absolutamente todas > los movimientos que halla en sql sobre esa unica coneccion.... Es algo mas complejo que eso. Por ejemplo, si tu aplicacion usa transacciones no puedes "mezclar" las operaciones. Además, hay drivers de acceso de BD te impiden ejecutar sql mientras tengas un cursor abierto sobre esa conexión. En la práctica la API para el programador de aplicaciones es muy similar (por no decir idéntica) uses o no el pool. Para este ultimo "abrir" una conexion es pasarle a la aplicacion un objeto que en realidad es el indice de la primer conexion libre de la lista (pool) y "cerrar" es enviar un Rollback y marcarla como libre. Ambas operaciones necesitan de un buen bloqueo para concurrencia y de un monitor sobre cada conexion ocupada que la libere pasado un determinado tiempo de inactividad. Con respecto a tu pregunta original, el caso de uso dependerá de qué tipo de aplicación desarrolles. Para una aplicación web normal (tipo CGI) no tienes opciones, debes abrir y cerrar la conexion dentro de cada request. En arquitecturas de dos capas podrías abrir y cerrar las conexiones al iniciar y terminar la aplicacion. -H. From falted en pytables.org Mon Oct 4 12:04:41 2004 From: falted en pytables.org (Francesc Alted) Date: Mon, 4 Oct 2004 12:04:41 +0200 Subject: Reemplazar aplicaciones de calculo y otros para estudiantes de Ingenieria. In-Reply-To: <1096651577.5931.43.camel@debi.debian> References: <1096651577.5931.43.camel@debi.debian> Message-ID: <200410041204.41546.falted@pytables.org> Hola, A parte de las recomendaciones de Chema, para el tema de gráficas, hay mucho y variado. Echa un vistazo a: PyQwt: uno de mis preferidos: http://gerard.vermeulen.free.fr/ matplotlib: un proyecto reciente, pero muy bueno: http://matplotlib.sourceforge.net/ IPython: Se trata realmente de una shell para Python, pero con buenas interfaces para GnuPlot y, últimamente, matplotlib: http://ipython.scipy.org/ Hay muchísimo más, pero esto es lo que más uso yo. Saludos, -- Francesc Alted From erny en sicem.biz Mon Oct 4 12:29:39 2004 From: erny en sicem.biz (Ernesto Revilla) Date: Mon, 04 Oct 2004 12:29:39 +0200 Subject: Cuando abrir la coneccion con las bases de datos desde python? In-Reply-To: <4160F22D.2000003@yahoo.com.ar> References: <415C7BBA.6030900@yahoo.com.ar> <415C9898.80403@sicem.biz> <4160F22D.2000003@yahoo.com.ar> Message-ID: <41612613.4020405@sicem.biz> Hola, primero, no es lo mismo 'polling' que 'pooling'. polling significa sondear y un pool es una especie de almacén. es decir, el término de connection pooling se refiere a tener un almacén de conexiones y reutilizarlas. Si haces todos desde una misma conexión, mientras que esa está ocupada (por ejemplo, por un Select complejo), no puedes hacer más consultas a la vez. Para un entorno Cliente-Servidor puede ser aceptable, pero para un entorno de servidor de aplicaciones eso es inaceptable. Un usuario no puede esperar hasta que todos los demás hayan sido servidos. Para más información, busca en google. Yo buscaría por: Python db-api 2 connection pooling . (lo siento de momento tengo poco tiempo) Erny Ariel Nardelli escribió: > Ernesto Revilla wrote: > >> Hola, >> no creo que abrir constantemente conexiones a una base de datos sea >> una buena técnica. Hay muchas en los que la operación es bastante >> rápida, pero otras que creen un proceso por cada conexión en el >> servidor, y eso con muchas conexiones se vuelve lento. Por eso, está >> la técnica del connection pooling, es decir, siempre mantener un >> conjunto de conexiones abiertas (e.g. 20) y usar cualquiera que esté >> libre. Además, eso asegura que no se desborde el servidor. > > > Hola. > Mas o menos la idea que tenia yo entonces por lo que veo era correcta, > creo que aca lo mejor es lograr equilibrio para mi hay que equilibrar.... > > Lo que no sabia nada es de connection polling mmm sabes de algun lugar > donde pueda encontrar info? me interesa el tema... > > Yo abro una sola coneccion y paso por esa todas absolutamente todas > los movimientos que halla en sql sobre esa unica coneccion.... > > Ariel > _______________________________________________ > 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): 0440-3, 01/10/2004 Comprobado en: 04/10/2004 12:30:06 avast! tiene los derechos reservados (c) 2000-2004 ALWIL Software. http://www.avast.com From erny en sicem.biz Mon Oct 4 12:32:46 2004 From: erny en sicem.biz (Ernesto Revilla) Date: Mon, 04 Oct 2004 12:32:46 +0200 Subject: Conexion Python base de datos PostgreSQL In-Reply-To: References: Message-ID: <416126CE.2050004@sicem.biz> Hola: pypgsql.sf.net pypgsql usa la librería de C nativa de postgres libpq. Para Python, usa db-api 2.0, la interfaz estándar para Python. Mira la documentación de PyPgSQL. Viene con ejemplos. Erny Adrian Ferreres Esteller escribió: > Buenas a todos: > > Me gustaria saber si alguien de vosotros me puede indicar como > acceder de manera directa (sin puente ODBC) desde un programa python a > una base de datos PostreSQL. Me gustaria saber en concreto: > > - Las librerias a utilizar > - La sintaxis de las ordenes para la conexion, realizar > consultas, modificar tablas e insertar datos en una tabla > - La sintaxis de las ordenes para cerrar la conexion > > Muchas gracias por vuestara ayuda. > > _________________________________________________________________ > La información más fresca desde diferentes puntos de vista en la > Revista de Prensa de MSN. http://es.newsbot.msn.com/ > > _______________________________________________ > 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): 0440-3, 01/10/2004 Comprobado en: 04/10/2004 12:32:48 avast! tiene los derechos reservados (c) 2000-2004 ALWIL Software. http://www.avast.com From josepgimbernat en cdgir.com Mon Oct 4 12:38:29 2004 From: josepgimbernat en cdgir.com (Josep) Date: Mon, 4 Oct 2004 12:38:29 +0200 Subject: Error ejecutando programa en Boa Constructor Message-ID: <200410041238.29899.josepgimbernat@cdgir.com> Hola a todos, estoy siguiendo hace algun tiempo esta lista y, sin darme cuenta me ha solucionado un montón de pequeños problemas al programar, pero hay uno que todavia no he visto comentarlo. Estoy programando una pequeña aplicación usando el Boa-Constructor, bajo debian (bueno, una variante de knoppix), y todo me iba bién hasta hace unos días en que ha empezado a salir un error al ejecutar el script y se cierra la ejecución. el error es: Gdk-ERROR **: BadWindow (invalid Window parameter)   serial 2293 error_code 3 request_code 15 minor_code 0 hasta ahora, que usaba Suse 9.1, este error no me salia, ahora que me he pasado a K-DEMar (como digo, una variante de Knoppix) el programa se me ejecuta a veces bién, mostrando las ventanas sin error alguno, y otras, aleatoriamente ni tan siquiera muestra la primera ventana... se para la ejecución y sale ese dichoso error. Python se me ejecuta bien, sin problemas, y no encuentro nada más que me falle. Pero esto me tiene loco... Alguien puede orientarme? Grácias de antemano ________________________________________________________________________________________ Este mensaje ha sido analizado y protegido por la tecnologia antivirus www.trendmicro.es From lgs0a en yahoo.es Mon Oct 4 14:55:25 2004 From: lgs0a en yahoo.es (Lucas Gonzalez) Date: Mon, 4 Oct 2004 14:55:25 +0200 (CEST) Subject: Reemplazar aplicaciones de calculo y otros para estudiantes de Ingenieria. In-Reply-To: <200410041204.41546.falted@pytables.org> References: <200410041204.41546.falted@pytables.org> Message-ID: <20041004125525.27834.qmail@web52010.mail.yahoo.com> > Aparte de las recomendaciones de Chema, para el tema de gráficas, > hay mucho y variado. Gracias por toda esa información. ¿Y para mapas? Por ejemplo mapas de provincias coloreados por el número de mayores de 65 años o cosas así (rojo si más de 25%, naranja si menos, etc). (Intenté PIL hace tiempo.) Gracias de antemano! Lucas ______________________________________________ Renovamos el Correo Yahoo!: ¡100 MB GRATIS! Nuevos servicios, más seguridad http://correo.yahoo.es From py en ch3m4.org Mon Oct 4 14:55:36 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Mon, 04 Oct 2004 14:55:36 +0200 Subject: Error ejecutando programa en Boa Constructor In-Reply-To: <200410041238.29899.josepgimbernat@cdgir.com> References: <200410041238.29899.josepgimbernat@cdgir.com> Message-ID: <200410041455.40396.py@ch3m4.org> On Monday 04 October 2004 12:38, Josep wrote: > Hola a todos, estoy siguiendo hace algun tiempo esta lista y, sin darme > cuenta me ha solucionado un montón de pequeños problemas al programar, pero > hay uno que todavia no he visto comentarlo. > > Estoy programando una pequeña aplicación usando el Boa-Constructor, bajo > debian (bueno, una variante de knoppix), y todo me iba bién hasta hace unos > días en que ha empezado a salir un error al ejecutar el script y se cierra > la ejecución. > > el error es: > > Gdk-ERROR **: BadWindow (invalid Window parameter) >   serial 2293 error_code 3 request_code 15 minor_code 0 Se trata de un bug en el Gtk, que no controla bien cuándo se destruye una ventana. Si tu linux deriva de knoppix, posiblemente es que no han cuidado mucho las librerías gtk (knoppix emplea sobre todo kde/qt). Actualiza tu sistema gtk (No se me ocurre otra cosa :-P) ------------ 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 py en ch3m4.org Mon Oct 4 15:34:41 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Mon, 04 Oct 2004 15:34:41 +0200 Subject: Reemplazar aplicaciones de calculo y otros para estudiantes de Ingenieria. In-Reply-To: <20041004125525.27834.qmail@web52010.mail.yahoo.com> References: <20041004125525.27834.qmail@web52010.mail.yahoo.com> Message-ID: <200410041534.47233.py@ch3m4.org> On Monday 04 October 2004 14:55, Lucas Gonzalez wrote: > > Aparte de las recomendaciones de Chema, para el tema de gráficas, > > hay mucho y variado. > > Gracias por toda esa información. > > ¿Y para mapas? Por ejemplo mapas de provincias coloreados por el > número de mayores de 65 años o cosas así (rojo si más de 25%, naranja > si menos, etc). (Intenté PIL hace tiempo.) Tendrás que buscar algún sistema GIS que tenga interface para python. Hay algunos muy buenos aquí: http://opensourcegis.org También hay programas comerciales como MapMaker que llevan módulos python. Un poco menos completo, pero que igual te sirve, es el MapServer: http://mapserver.gis.umn.edu ------------ 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 ezako en yahoo.es Mon Oct 4 19:10:42 2004 From: ezako en yahoo.es (zako) Date: Mon, 4 Oct 2004 19:10:42 +0200 Subject: duda de string Message-ID: <20041004171042.GA2244@birgadista.rebelbase.dyns.cx> aupa, al ejecutar el programa en python me da un error diciendo que no hay suficientes argumentos para la cadena. Esto me ha pasado en varios sitios y no veo a que se debe, si alguien lo ve me haria un favor diciendome donde esta el error: tmp = self.executeSQLCommand ("select ANCHOBANDA.* from ANCHOBANDA, \ USUAB where USUAB.IdUsuario = '%s' and USUAB.IdAB = ANCHOBANDA.IdAB\ and USUAB.DiaAB = %s and USUAB.InicioAB < %s and USUAB.FinAB > %s"%\ usuario.getIdUsuario(), dia, hora, hora) TypeError: no enough arguments for format string Un saludo, zako ------------ 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 Mon Oct 4 19:22:48 2004 From: hernan en orgmf.com.ar (=?us-ascii?Q?Hernan_Martinez_Foffani?=) Date: Mon, 4 Oct 2004 19:22:48 +0200 Subject: duda de string In-Reply-To: <20041004171042.GA2244@birgadista.rebelbase.dyns.cx> References: <20041004171042.GA2244@birgadista.rebelbase.dyns.cx> Message-ID: > al ejecutar el programa en python me da un error diciendo que no hay > suficientes argumentos para la cadena. Esto me ha pasado en varios > sitios y no veo a que se debe, si alguien lo ve me haria un favor > diciendome donde esta el error: > > ... "select ANCHOBANDA.* from ANCHOBANDA, \ > USUAB where USUAB.IdUsuario = '%s' and USUAB.IdAB = > ANCHOBANDA.IdAB\ and USUAB.DiaAB = %s and USUAB.InicioAB < %s > and USUAB.FinAB > %s" % \ > usuario.getIdUsuario(), dia, hora, hora > > TypeError: no enough arguments for format string Porque el % es un operador, no es una funcion con cantidad de argumentos variables. El operador % sobre strings acepta una tupla como parametro. O sea, te faltan los parentesis: (usuario.getIdUsuario(), dia, hora, hora) -H. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From nuevodebian28 en yahoo.es Mon Oct 4 21:07:50 2004 From: nuevodebian28 en yahoo.es (Joseba) Date: Mon, 04 Oct 2004 21:07:50 +0200 Subject: Gracias por los consejos Message-ID: <41619F86.7080205@yahoo.es> Me hallo sigiendo uno de los tutoriales, gracias a : Antonio Castro, Adrian Ferreres y Angel lopez, he leido vuestros comentarios y bajado los tutos que me habeis indicado, y gracias a todos por vuestro tiempo. Pero continuo. Python es un lenguaje "de consola" y yo quiero terminar haciendo alguna gui "de pantalla" he visto comentarios sobre lo sigiente y no he lograda aclararme buscanbdo en el google: Wxglade wxpython tlc/tk y tkinter. Yo quiero algo sencillo de usar y que sea resulton, o sea para un programa de 200 lineas y dos dibujillos que resulte util y vistoso. Si ademas es multiplataforma mejor que mejor. Por otra parte me he instalado boa y drpython como "entornos de desarrollo" dr python parece sencillo y es lo que uso pa trastear con mis primero programas, boa me parece complicadillo y tampoco he hecho intento ¿cual usais? ¿por que? un saludo lista From ferblape en inf.upv.es Sun Oct 3 11:32:15 2004 From: ferblape en inf.upv.es (Fernando Blat) Date: Sun, 3 Oct 2004 11:32:15 +0200 Subject: [SemiOT]Pack y unpack In-Reply-To: <200410010954.35625.falted@pytables.org> References: <1096519403.415b8eeb3f63f@webmail.upv.es> <200409300947.55529.falted@pytables.org> <20040930213631.GA10948@mediterrania> <200410010954.35625.falted@pytables.org> Message-ID: <20041003093214.GB11320@mediterrania> > > Sin embargo me he dado cuenta de que esta forma de compartir estructuras > > de datos entre C y Python está un poco cogida por pinzas, pues binarizar > > unos datos depende demasiado del compilador y de la plataforma. Si se quiere > > ser purista del todo sólo queda como solución enviar strings que luego se > > irán convirtiendo, según un orden dado, en los campos de la estructura de > > datos. De todas formas me gustaría conocer vuestras alternativas, ya como > > curiosidad, pues el problema está solucionado :) > > Bueno, si se quiere ser purista y hacer código *eficiente* al mismo tiempo, > entonces puedes pasar la información usando una ordenación de bytes > determinada. La más típica para pasar información a través de la red es la > big-endian o también llamada network (la de los procesadores Intel es > little-endian). Puedes generarla usando el carácter '!' al principio del > formato struct. Con esto además el alienamiento de los datos es standard, > i.e. no hay 'huecos' entre los diferentes campos (cosa que muchos > compiladores introducen para conseguir mayores eficiencias de acceso a los > datos). > > Una vez tengas el buffer en la máquina remota tienes que hacer dos cosas: > > 1.- Comprobar que byteorder tiene la máquina receptora. Esto es fácil: > > char byteorder[7]; > int n = 1; > char *p = (char *) &n; > if (*p == 1) > strcpy(byteorder, "little"); > else > strcpy(byteorder, "big"); > > y después, si tu máquina es "little", simplemente le das la vuelta a los > bytes para convertir los datos de "big" a "little". Buen truco, ese me lo guardo :) > 2.- Creas una estructura que mapee los datos a recibir de manera que no haya > "huecos" (i.e. sin alienamiento) entre ellos. Esto ya es poco más > difícil, pero te puede servir cómo lo hace Python: mira el fichero > Module/structmodule.c (te recomiendo el de la versión 2.4 que, aunque > esté en alpha, han rehecho el código y parece más elegante que el de > versiones anteriores). Presta particular atención a las rutinas align y > calcsize. > > Aunque si la velocidad no es importante, lo mismo te va a dar pasarlo todo > como cadenas. En fin, tú mismo. Pues al final nos vamos a quedar con una parte intermedia en la que sólo se enviarán strings. Solo que para hacerlo dinámico primero enviamos la longitud del string y así sabemos cuánta memoria reservar. La longitud la enviamos codificada en dos bytes, que seguro que funciona, y luego reconstruimos con 256*byte1 + byte2. De todas formas muchas gracias por tu interés. -- Fernando Blat Peris > ferblape en inf.upv.es From ferblape en inf.upv.es Sun Oct 3 23:27:06 2004 From: ferblape en inf.upv.es (Fernando Blat) Date: Sun, 3 Oct 2004 23:27:06 +0200 Subject: Problemas al escribir frase codificada Message-ID: <20041003212705.GA28470@mediterrania> Hola a todos, estoy volviéndome loco para grabar a un fichero (fd.write(frase)) un string codificado con unicode, y es que me devuelve mil errores en las mil formas diferentes que lo he intentado. Si lo pruebo así a pelo me dice: UnicodeEncodeError: 'ascii' codec can't encode character u'\xbf' in position 54: ordinal not in range(128) Luego he buscado la clase Coder del módulo codecs y nada de nada. Los strings están codificados con la función unicode de la siguiente forma: unicode(string,'cp1252'). Os ha sucedido esto alguna vez? -- Fernando Blat Peris > ferblape en inf.upv.es From rapto en arrakis.es Mon Oct 4 22:01:42 2004 From: rapto en arrakis.es (Marcos =?ISO-8859-1?Q?S=E1nchez?= Provencio) Date: Mon, 04 Oct 2004 22:01:42 +0200 Subject: Problemas al escribir frase codificada In-Reply-To: <20041003212705.GA28470@mediterrania> References: <20041003212705.GA28470@mediterrania> Message-ID: <1096920101.4158.21.camel@renata.macondo.pri> No puedes escribir datos unicode en un fichero, tienes que decidir en qué codificación los quieres. El más común ultimamente en utf8. fd.write(frase.encode('utf8')) funcionará. El texto plano no existe, ya lo dijo Joel en http://www.joelonsoftware.com/articles/Unicode.html (creo que no hay traducción). El dom, 03-10-2004 a las 23:27, Fernando Blat escribió: > Hola a todos, > > estoy volviéndome loco para grabar a un fichero (fd.write(frase)) un string codificado con unicode, y es que me devuelve mil errores en las mil formas diferentes que lo he intentado. > > Si lo pruebo así a pelo me dice: > > UnicodeEncodeError: 'ascii' codec can't encode character u'\xbf' in position 54: ordinal not in range(128) > > Luego he buscado la clase Coder del módulo codecs y nada de nada. > > Los strings están codificados con la función unicode de la siguiente forma: unicode(string,'cp1252'). > > Os ha sucedido esto alguna vez? ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From ferblape en inf.upv.es Mon Oct 4 22:30:32 2004 From: ferblape en inf.upv.es (Fernando Blat) Date: Mon, 4 Oct 2004 22:30:32 +0200 Subject: Gracias por los consejos In-Reply-To: <41619F86.7080205@yahoo.es> References: <41619F86.7080205@yahoo.es> Message-ID: <20041004203032.GA15754@mediterrania> El lun, 04 de oct de 2004, a las 09:07:50 +0200, Joseba dijo: > Python es un lenguaje "de consola" y yo quiero terminar haciendo alguna > gui "de pantalla" he visto comentarios sobre lo sigiente y no he lograda > aclararme buscanbdo en el google: > Wxglade wxpython tlc/tk y tkinter. Yo quiero algo sencillo de usar y que > sea resulton, o sea para un programa de 200 lineas y dos dibujillos que > resulte util y vistoso. Si ademas es multiplataforma mejor que mejor. > > Por otra parte me he instalado boa y drpython como "entornos de > desarrollo" dr python parece sencillo y es lo que uso pa trastear con > mis primero programas, boa me parece complicadillo y tampoco he hecho > intento ¿cual usais? ¿por que? > un saludo lista Tkinter si no se usa en Windows es resultón y muy muy sencillo. Si no yo creo que WxPython. Entorno de desarrollo... hmmm... con el editor de texto a pelo y se va probando cómo va quedando según pones los controles. Un saludo. -- Fernando Blat Peris > ferblape en inf.upv.es From jordipascual en ono.com Mon Oct 4 22:33:43 2004 From: jordipascual en ono.com (Jordi Pascual) Date: Mon, 04 Oct 2004 22:33:43 +0200 Subject: Gracias por los consejos (GUI) In-Reply-To: <41619F86.7080205@yahoo.es> References: <41619F86.7080205@yahoo.es> Message-ID: <4161B3A7.6030704@ono.com> Hola, yo utilizo Qt ( www.trolltech.com , http://doc.trolltech.com/2.3/index.html , estos docs son de la versión que yo uso, un poco anticuadilla, quizás) El único problema que le veo es el de las licencias (es GPL), pero si es para tu uso particular no hay ningún problema. De la misma web puedes bajar Qt Designer (version non-commercial), que funciona bien para crear aplicaciones gráficas. También necesitarás pyuic, para convertir a python los archivos generados. Está incluido con PyQt. Y creo que eso es todo, suerte y a divertirse! En/na Joseba ha escrit: > Me hallo sigiendo uno de los tutoriales, gracias a : > Antonio Castro, Adrian Ferreres y Angel lopez, he leido vuestros > comentarios y bajado los tutos que me habeis indicado, y gracias a > todos por vuestro tiempo. Pero continuo. > > Python es un lenguaje "de consola" y yo quiero terminar haciendo > alguna gui "de pantalla" he visto comentarios sobre lo sigiente y no > he lograda aclararme buscanbdo en el google: > Wxglade wxpython tlc/tk y tkinter. Yo quiero algo sencillo de usar y > que sea resulton, o sea para un programa de 200 lineas y dos > dibujillos que resulte util y vistoso. Si ademas es multiplataforma > mejor que mejor. > > Por otra parte me he instalado boa y drpython como "entornos de > desarrollo" dr python parece sencillo y es lo que uso pa trastear con > mis primero programas, boa me parece complicadillo y tampoco he hecho > intento ¿cual usais? ¿por que? > un saludo lista > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > From vitojph en gmail.com Mon Oct 4 23:09:19 2004 From: vitojph en gmail.com (Victor Peinado) Date: Mon, 4 Oct 2004 14:09:19 -0700 Subject: =?iso-8859-1?q?=BFD=F3nde_coloco_mis_m=F3dulos=3F?= Message-ID: ¡Hola listeros! Tengo un problemilla para utilizar mis módulos en una máquina que no es la que utilizo habitualmente. Hasta ahora, guardo todo en un directorio personal con mis módulos de Python y lo incluyo en la variable PYTHONPATH. Esto, que funciona perfectamente en mi Debian, casca en este ordenador con RH. Veamos, desde el ordenador que me da problemas: $ echo $PYTHONPATH /usr/lib/python2.2/site-packages:/usr/lib/python2.2/:/opt/lib/python2.3:/nfs/isd2/victor/modules/python $ ll /nfs/isd2/victor/modules/python/ total 7 -rw-r--r-- 1 victor isdstaff 2874 Oct 2 15:16 mkids.py -rw-r--r-- 1 victor isdstaff 4015 Oct 4 13:36 mkids.pyc Hasta aquí todo correcto, y sin embargo: $ python Python 2.3.4 (#1, Sep 26 2004, 18:09:12) [GCC 3.2.2 20030222 (Red Hat Linux 3.2.2-5)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import mkids Traceback (most recent call last): File "", line 1, in ? ImportError: No module named mkids ¿Alguien sabe dónde está el problema. Hasta ahora lo he solucionado con una especie de parche bastante feo en plan: try: sys.path.append("/nfs/isd2/victor/modules/python") import mkids except ImportError: sys.stderr.write("Canot import module mkids") sys.exit() ¿Hay alguna forma más elegante/fácil de hacerlo? Tened en cuenta que no tengo permisos de root en esta máquina. Saludos y gracias de antemano. -- Víctor Peinado || || http://ieqo.org/blog From acastro en ciberdroide.com Tue Oct 5 09:56:38 2004 From: acastro en ciberdroide.com (Antonio Castro) Date: Tue, 5 Oct 2004 09:56:38 +0200 (CEST) Subject: Gracias por los consejos In-Reply-To: <41619F86.7080205@yahoo.es> References: <41619F86.7080205@yahoo.es> Message-ID: On Mon, 4 Oct 2004, Joseba wrote: > Me hallo sigiendo uno de los tutoriales, gracias a : > Antonio Castro, Adrian Ferreres y Angel lopez, he leido vuestros > comentarios y bajado los tutos que me habeis indicado, y gracias a todos > por vuestro tiempo. Pero continuo. > > Python es un lenguaje "de consola" y yo quiero terminar haciendo alguna > gui "de pantalla" he visto comentarios sobre lo sigiente y no he lograda > aclararme buscanbdo en el google: > Wxglade wxpython tlc/tk y tkinter. Yo quiero algo sencillo de usar y que > sea resulton, o sea para un programa de 200 lineas y dos dibujillos que > resulte util y vistoso. Si ademas es multiplataforma mejor que mejor. > > Por otra parte me he instalado boa y drpython como "entornos de > desarrollo" dr python parece sencillo y es lo que uso pa trastear con > mis primero programas, boa me parece complicadillo y tampoco he hecho > intento ¿cual usais? ¿por que? > un saludo lista Me parece que todo eso va bastante en gustos y lo mejor es ir probando. Yo uso tkinter porque me parece que está muy extendido. No sabría hacerte una buena comparativa. Supongo que hay cosas similares mucho más eficientes. Para mi es muy importante que esté bien documentado y que exista mucho código publicado. No uso ningun sistema de desarrollo. Edito con vim que ya tengo costumbre de usarlo y que me muestra la sintaxis coloreada. Con eso me conformo. Como ves me conformo con muy poco. :-) Con Traceback de python y el uso de trazas en el código me va bastante bien. Python es muy potente y muy legible. Coge ejemplitos sencillos y practica con ellos. -- Un saludo Antonio Castro /\ /\ \\W// _|0 0|_ +-oOOO-(___o___)-OOOo---------------------+ | . . . . U U . Antonio Castro Snurmacher | | . . . . . . . acastro en ciberdroide.com | +()()()---------()()()--------------------+ From py en ch3m4.org Tue Oct 5 10:36:13 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Tue, 05 Oct 2004 10:36:13 +0200 Subject: Problemas al escribir frase codificada In-Reply-To: <20041003212705.GA28470@mediterrania> References: <20041003212705.GA28470@mediterrania> Message-ID: <200410051036.17336.py@ch3m4.org> On Sunday 03 October 2004 23:27, Fernando Blat wrote: > Hola a todos, > > estoy volviéndome loco para grabar a un fichero (fd.write(frase)) un string > codificado con unicode, y es que me devuelve mil errores en las mil formas > diferentes que lo he intentado. > > Si lo pruebo así a pelo me dice: > > UnicodeEncodeError: 'ascii' codec can't encode character u'\xbf' in > position 54: ordinal not in range(128) > > Luego he buscado la clase Coder del módulo codecs y nada de nada. > > Los strings están codificados con la función unicode de la siguiente forma: > unicode(string,'cp1252'). > > Os ha sucedido esto alguna vez? El sistema operativo tiene que entender "unicode" por defecto en los ficheros de texto, pero como mucho se emplea el "unicode" para los nombre de fichero, y poco más. Si tu sistema no soporta unicode, tienes dos opciones: 1.- convertir de unicode a la codificación que use tu sistema 2.- emplear el 'codecs.open()' para trabajar con unicodes (conversión automática) Como te dice Marcos, si tu sistema soportada 'utf8', empléala para codificar unicodes. ------------ 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 morillas en posta.unizar.es Tue Oct 5 11:21:24 2004 From: morillas en posta.unizar.es (Luis Miguel Morillas) Date: Tue, 5 Oct 2004 11:21:24 +0200 Subject: Problemas al escribir frase codificada In-Reply-To: <200410051036.17336.py@ch3m4.org> References: <20041003212705.GA28470@mediterrania> <200410051036.17336.py@ch3m4.org> Message-ID: <1096968084.4162679444a2e@webmail.unizar.es> Mensaje citado por Chema Cortés : > On Sunday 03 October 2004 23:27, Fernando Blat wrote: > > Hola a todos, > > > > estoy volviéndome loco para grabar a un fichero (fd.write(frase)) un > string > > codificado con unicode, y es que me devuelve mil errores en las mil formas > > diferentes que lo he intentado. > > > > Si lo pruebo así a pelo me dice: > > > > UnicodeEncodeError: 'ascii' codec can't encode character u'\xbf' in > > position 54: ordinal not in range(128) > > ¿Qué te dice python -c "import sys; print sys.getdefaultencoding()" ? > > Luego he buscado la clase Coder del módulo codecs y nada de nada. > > > > Los strings están codificados con la función unicode de la siguiente > forma: > > unicode(string,'cp1252'). > > > > Os ha sucedido esto alguna vez? > > El sistema operativo tiene que entender "unicode" por defecto en los ficheros > > de texto, pero como mucho se emplea el "unicode" para los nombre de fichero, > > y poco más. > Si trabajas con xml, por defecto todo va en unicode. > Si tu sistema no soporta unicode, tienes dos opciones: > > 1.- convertir de unicode a la codificación que use tu sistema > 2.- emplear el 'codecs.open()' para trabajar con unicodes (conversión > automática) > > Como te dice Marcos, si tu sistema soportada 'utf8', empléala para codificar > > unicodes. > -- Luis Miguel From lopez en esrf.fr Tue Oct 5 12:03:43 2004 From: lopez en esrf.fr (Angel Lopez =?iso-8859-1?Q?Mu=F1oz?=) Date: Tue, 05 Oct 2004 12:03:43 +0200 Subject: Gracias por los consejos Message-ID: <5.1.0.14.0.20041005120318.01d5e850@pop.esrf.fr> Yo te recomiendo Qt (www.trolltech.com) unido a las librerias para python pyqt (www.riverbankcomputing.co.uk/pyqt/). Es totalmente multiplataforma. El unico problema es que en windows, no hay licencia GPL y tienes que utilizar la no comercial (2.3) pero vamos que para hacer cositas para ti vale perfectamente. Yo tengo un tutorial de pyqt bastante sencillote. Se le he enviado a distintas personas. Le voy a poner en un sitio web y asi esta disponible para todos ; ) http://es.geocities.com/anglop6700/PyQt_tutorial.pdf Un saludo y suerte. At 21:07 04/10/2004 +0200, you wrote: >Python es un lenguaje "de consola" y yo quiero terminar haciendo alguna >gui "de pantalla" he visto comentarios sobre lo sigiente y no he lograda >aclararme buscanbdo en el google: >Wxglade wxpython tlc/tk y tkinter. Yo quiero algo sencillo de usar y que >sea resulton, o sea para un programa de 200 lineas y dos dibujillos que >resulte util y vistoso. Si ademas es multiplataforma mejor que mejor. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From py en ch3m4.org Tue Oct 5 12:26:54 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Tue, 05 Oct 2004 12:26:54 +0200 Subject: Problemas al escribir frase codificada In-Reply-To: <1096968084.4162679444a2e@webmail.unizar.es> References: <20041003212705.GA28470@mediterrania> <200410051036.17336.py@ch3m4.org> <1096968084.4162679444a2e@webmail.unizar.es> Message-ID: <200410051226.58074.py@ch3m4.org> On Tuesday 05 October 2004 11:21, Luis Miguel Morillas wrote: > Si trabajas con xml, por defecto todo va en unicode. Siendo precisos, xml emplea por defecto la codificación utf8 ó utf16. Los unicodes realmente se representan por "code points", un número entre 4 y 6 dígitos hexadecimales (16 ó 24 bits). Pero en python no hay distinciones: el módulo xml transforma todo a "unicode" ;-) ------------ 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 i_munoz en euskalnet.net Tue Oct 5 12:49:06 2004 From: i_munoz en euskalnet.net (=?ISO-8859-1?Q?I=F1igo?=) Date: Tue, 05 Oct 2004 12:49:06 +0200 Subject: Gracias por los consejos In-Reply-To: <41619F86.7080205@yahoo.es> References: <41619F86.7080205@yahoo.es> Message-ID: <41627C22.5090105@euskalnet.net> Yo soy un completo novato en python, pero buscando el otro día encontre python card, que es un entorno de creación de guis para wxpython, y además es multiplataforma (sino me equivoco) y es muy sencillo de usar, tan sólo seleccionas el componente que quieres añadir, lo colocas donde quieres que esté en la ventana y editas sus propiedades. La URL es http://pythoncard.sourceforge.net/ Joseba escribió: > Me hallo sigiendo uno de los tutoriales, gracias a : > Antonio Castro, Adrian Ferreres y Angel lopez, he leido vuestros > comentarios y bajado los tutos que me habeis indicado, y gracias a > todos por vuestro tiempo. Pero continuo. > > Python es un lenguaje "de consola" y yo quiero terminar haciendo > alguna gui "de pantalla" he visto comentarios sobre lo sigiente y no > he lograda aclararme buscanbdo en el google: > Wxglade wxpython tlc/tk y tkinter. Yo quiero algo sencillo de usar y > que sea resulton, o sea para un programa de 200 lineas y dos > dibujillos que resulte util y vistoso. Si ademas es multiplataforma > mejor que mejor. > > Por otra parte me he instalado boa y drpython como "entornos de > desarrollo" dr python parece sencillo y es lo que uso pa trastear con > mis primero programas, boa me parece complicadillo y tampoco he hecho > intento ¿cual usais? ¿por que? > un saludo lista > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From apuntesus en yahoo.com Tue Oct 5 13:40:16 2004 From: apuntesus en yahoo.com (qqq qqqq) Date: Tue, 5 Oct 2004 04:40:16 -0700 (PDT) Subject: PyGTK 2.4.0 , algun Tutorial o Manual de Referencia en castellano ? Message-ID: <20041005114016.93726.qmail@web50302.mail.yahoo.com> Hola a todos , Veo que han sacado la version PyGTK 2.4.0 http://www.pygtk.org/ y que hay tutoriales y manuales en ingles : http://www.pygtk.org/pygtk2reference/index.html http://www.pygtk.org/pygtk2tutorial/index.html ? Hay algun enlace de estos traducidos al castellano ? He encontrado tutoriales y manuales en castellano , pero son de hace tiempo y me gustaria encontrar algun documento reciente traducido al castellano. Un Saludo. __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From listas en nnss.d7.be Tue Oct 5 14:05:59 2004 From: listas en nnss.d7.be (Matias) Date: Tue, 5 Oct 2004 09:05:59 -0300 Subject: abrir un dispositivo serial (COM1) en Windows Message-ID: <20041005090559.33e60b9f@nnss.d7.be> Hola: Necesito hacer algunas cosas que abren un dispositivo serial, en GNU/Linux no tengo problema, así como en FBSD. Pero lamentablemente tengo que hacer que el mismo programa se ejecute sin problemas en Windows. ¿Cómo debería hacer para abrir el COM1 (el "/dev/ttyS0" o "/dev/cuaa0") en Windows? PD: Si me recomiendan alguna lectura relacionada con dispositivos les agradecería. -- Atentamente, yo Y sigo sin fumar desde el '1089515700' http://www.nnss.d7.be just GNU it -- http://www.gnu.org From py en ch3m4.org Tue Oct 5 11:07:35 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Tue, 05 Oct 2004 11:07:35 +0200 Subject: Gracias por los consejos In-Reply-To: <41619F86.7080205@yahoo.es> References: <41619F86.7080205@yahoo.es> Message-ID: <200410051107.40954.py@ch3m4.org> On Monday 04 October 2004 21:07, Joseba wrote: > Python es un lenguaje "de consola" y yo quiero terminar haciendo alguna > gui "de pantalla" he visto comentarios sobre lo sigiente y no he lograda > aclararme buscanbdo en el google: > Wxglade wxpython tlc/tk y tkinter. Yo quiero algo sencillo de usar y que > sea resulton, o sea para un programa de 200 lineas y dos dibujillos que > resulte util y vistoso. Si ademas es multiplataforma mejor que mejor. No me gusta esa expresión de que python es un "lenguaje de cónsola". Toda instalación de python lleva el Tkinter por defecto, y ofrece herramientas gráficas como el idle (IDE para python). Otra cosa distinta es que empleemos más la cónsola para todo. > Por otra parte me he instalado boa y drpython como "entornos de > desarrollo" dr python parece sencillo y es lo que uso pa trastear con > mis primero programas, boa me parece complicadillo y tampoco he hecho > intento ¿cual usais? ¿por que? Lo dicho, para algo sencillo y rápido lo mejor es usar el Tkinter. Cubrirá la mayor parte de tus necesidades sin ningún problema. En plan más profesional, hay tres opciones principales: wxPython, pyGtk y pyQt. Por herramientas de desarrollo, el mejor es PyQt (kdevelop, eric, qtdesigner,...). Por cantidad de desarrolladores (por algo será) pondría el pyGtk (últimamente gnome está siendo invadido por pythonistas :-P). Por compatibilidad entre plataformas, el wxPython, que emplea el interface "nativo" en cada plataforma. Dices que te has intalado boa y drpython; entonces es que ya te has decantado por wxPython, uno de los entornos más populares en python. Ahora tienes dos opciones: codificar el interface directamente en python ó utilizar XRC (XML). Ya que preguntas cuál usamos, yo utilizo XRC. Con wxGlade diseño el interface, y con XRCEd lo modifico. Usando XRC consigo desacoplar diseño y código. Pero si quieres algo realmente sencillo de usar para hacer interfaces gráficos mírate el PythonCard. ------------ 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 aragorn en pythonhispano.org Tue Oct 5 15:24:09 2004 From: aragorn en pythonhispano.org (Jose) Date: Tue, 05 Oct 2004 15:24:09 +0200 Subject: abrir un dispositivo serial (COM1) en Windows In-Reply-To: <20041005090559.33e60b9f@nnss.d7.be> References: <20041005090559.33e60b9f@nnss.d7.be> Message-ID: <1096982648.3963.3.camel@demeter.speriaitc.com> ¿Conoces el paquete pySerial (http://pyserial.sourceforge.net/)? El mar, 05-10-2004 a las 14:05, Matias escribió: > Hola: > Necesito hacer algunas cosas que abren un dispositivo serial, en > GNU/Linux no tengo problema, así como en FBSD. Pero lamentablemente > tengo que hacer que el mismo programa se ejecute sin problemas en > Windows. > > ¿Cómo debería hacer para abrir el COM1 (el "/dev/ttyS0" o > "/dev/cuaa0") en Windows? > > > > PD: Si me recomiendan alguna lectura relacionada con dispositivos les > agradecería. > ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From lopez en esrf.fr Tue Oct 5 10:56:35 2004 From: lopez en esrf.fr (Angel Lopez =?iso-8859-1?Q?Mu=F1oz?=) Date: Tue, 05 Oct 2004 10:56:35 +0200 Subject: Gracias por los consejos In-Reply-To: <41619F86.7080205@yahoo.es> References: <41619F86.7080205@yahoo.es> Message-ID: <5.1.0.14.0.20041005090712.01d66e38@pop.esrf.fr> Yo te recomiendo Qt (www.trolltech.com) unido a las librerias para python pyqt (www.riverbankcomputing.co.uk/pyqt/). Es totalmente multiplataforma. El unico problema es que en windows, no hay licencia GPL y tienes que utilizar la no comercial (2.3) pero vamos que para hacer cositas para ti vale perfectamente. Yo tengo un tutorial de pyqt bastante sencillote. Se le he enviado a distintas personas. Le voy a poner en un sitio web y asi esta disponible para todos ; ) http://es.geocities.com/anglop6700/PyQt_tutorial.pdf Un saludo y suerte. At 21:07 04/10/2004 +0200, you wrote: >Python es un lenguaje "de consola" y yo quiero terminar haciendo alguna >gui "de pantalla" he visto comentarios sobre lo sigiente y no he lograda >aclararme buscanbdo en el google: >Wxglade wxpython tlc/tk y tkinter. Yo quiero algo sencillo de usar y que >sea resulton, o sea para un programa de 200 lineas y dos dibujillos que >resulte util y vistoso. Si ademas es multiplataforma mejor que mejor. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From lgs en sicem.biz Tue Oct 5 18:42:51 2004 From: lgs en sicem.biz (Lorenzo Gil Sanchez) Date: Tue, 05 Oct 2004 18:42:51 +0200 Subject: PyGTK 2.4.0 , algun Tutorial o Manual de Referencia en castellano ? In-Reply-To: <20041005114016.93726.qmail@web50302.mail.yahoo.com> References: <20041005114016.93726.qmail@web50302.mail.yahoo.com> Message-ID: <1096994571.2402.14.camel@localhost.localdomain> Desde gnome-hispano estamos coordinando la actualizacion de la traduccion del tutorial de pygtk. El manual de referencia no esta traducido. Ahora mismo puedes ver la traduccion en http://www.pygtk.org/pygtk2tutorial-es/index.html pero esa es la version antigua. Para acceder a la ultima version usa el cvs de gnome hispano: cvs -d:pserver:anonymous en cvs.es.gnome.org:/gnome checkout tutorialpygtk Y por supuesto, si te decides a colaborar en la traduccion eres mas que bienvenido. Es una buena manera de aprender pygtk, de hecho asi es como aprendi yo. Un saludo Lorenzo El mar, 05-10-2004 a las 04:40 -0700, qqq qqqq escribió: > Hola a todos , > > Veo que han sacado la version PyGTK 2.4.0 > http://www.pygtk.org/ y que hay tutoriales y manuales > en ingles : > > http://www.pygtk.org/pygtk2reference/index.html > > http://www.pygtk.org/pygtk2tutorial/index.html > > Hay algun enlace de estos traducidos al castellano ? > > He encontrado tutoriales y manuales en castellano , > pero son de hace tiempo y me gustaria encontrar algun > documento reciente traducido al castellano. > > Un Saludo. > > __________________________________________________ > Do You Yahoo!? > Tired of spam? Yahoo! Mail has the best spam protection around > http://mail.yahoo.com > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es -- Lorenzo Gil Sanchez From lcatalin en siadv.com Tue Oct 5 10:59:49 2004 From: lcatalin en siadv.com (Catalin Lungu) Date: Tue, 5 Oct 2004 10:59:49 +0200 Subject: Gracias por los consejos (GUI) References: <41619F86.7080205@yahoo.es> <4161B3A7.6030704@ono.com> Message-ID: <004701c4aab9$c0f88280$d900a8c0@catalin> Boa Constructor 0.3.1 va de maravilla. Yo lo uso con wxPython 2.4.2.4 y no tengo ningún problema. Además es muy sencillo e intuitivo. El depurador es el mejor. Saludos, Catalin Lungu ----- Original Message ----- From: "Jordi Pascual" To: "La lista de python en castellano" Sent: Monday, October 04, 2004 10:33 PM Subject: Re: [Python-es] Gracias por los consejos (GUI) > > Hola, > yo utilizo Qt ( www.trolltech.com , > http://doc.trolltech.com/2.3/index.html , estos docs son de la versión que > yo uso, un poco anticuadilla, quizás) > El único problema que le veo es el de las licencias (es GPL), pero si es > para tu uso particular no hay ningún problema. > De la misma web puedes bajar Qt Designer (version non-commercial), que > funciona bien para crear aplicaciones gráficas. También necesitarás pyuic, > para convertir a python los archivos generados. Está incluido con PyQt. > Y creo que eso es todo, suerte y a divertirse! > > En/na Joseba ha escrit: > >> Me hallo sigiendo uno de los tutoriales, gracias a : >> Antonio Castro, Adrian Ferreres y Angel lopez, he leido vuestros >> comentarios y bajado los tutos que me habeis indicado, y gracias a todos >> por vuestro tiempo. Pero continuo. >> >> Python es un lenguaje "de consola" y yo quiero terminar haciendo alguna >> gui "de pantalla" he visto comentarios sobre lo sigiente y no he lograda >> aclararme buscanbdo en el google: >> Wxglade wxpython tlc/tk y tkinter. Yo quiero algo sencillo de usar y que >> sea resulton, o sea para un programa de 200 lineas y dos dibujillos que >> resulte util y vistoso. Si ademas es multiplataforma mejor que mejor. >> >> Por otra parte me he instalado boa y drpython como "entornos de >> desarrollo" dr python parece sencillo y es lo que uso pa trastear con mis >> primero programas, boa me parece complicadillo y tampoco he hecho intento >> ¿cual usais? ¿por que? >> un saludo lista >> _______________________________________________ >> 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 rapto en arrakis.es Tue Oct 5 11:56:05 2004 From: rapto en arrakis.es (=?ISO-8859-1?Q?Marcos_S=E1nchez_Provencio?=) Date: Tue, 05 Oct 2004 11:56:05 +0200 Subject: Problemas al escribir frase codificada In-Reply-To: <1096968084.4162679444a2e@webmail.unizar.es> References: <20041003212705.GA28470@mediterrania> <200410051036.17336.py@ch3m4.org> <1096968084.4162679444a2e@webmail.unizar.es> Message-ID: <41626FB5.7020406@arrakis.es> Luis Miguel Morillas escribió: >Mensaje citado por Chema Cortés : > > > >>On Sunday 03 October 2004 23:27, Fernando Blat wrote: >> >> >>>Hola a todos, >>> >>>estoy volviéndome loco para grabar a un fichero (fd.write(frase)) un >>> >>> >>string >> >> >>>codificado con unicode, y es que me devuelve mil errores en las mil formas >>>diferentes que lo he intentado. >>> >>>Si lo pruebo así a pelo me dice: >>> >>>UnicodeEncodeError: 'ascii' codec can't encode character u'\xbf' in >>>position 54: ordinal not in range(128) >>> >>> >>> >¿Qué te dice > >python -c "import sys; print sys.getdefaultencoding()" >? > > > >>>Luego he buscado la clase Coder del módulo codecs y nada de nada. >>> >>>Los strings están codificados con la función unicode de la siguiente >>> >>> >>forma: >> >> >>>unicode(string,'cp1252'). >>> >>>Os ha sucedido esto alguna vez? >>> >>> >>El sistema operativo tiene que entender "unicode" por defecto en los ficheros >> >>de texto, pero como mucho se emplea el "unicode" para los nombre de fichero, >> >>y poco más. >> >> >> La cuestión es que _no_ existen los ficheros de texto unicode. Existen ficheros de texto codificados en alguna codificación. XML usa UTF8 por defecto, aunque está encima el orden de los bytes. Si quieres otra codificación en XML, no hay más que declararla al principio. Pero, repito, los 'caracteres' en unicode son una abstracción, como las fechas. Siempre tiene que haber un acuerdo para saber cómo interpretarlas a partir de un texto. > >Si trabajas con xml, por defecto todo va en unicode. > > > >>Si tu sistema no soporta unicode, tienes dos opciones: >> >>1.- convertir de unicode a la codificación que use tu sistema >>2.- emplear el 'codecs.open()' para trabajar con unicodes (conversión >>automática) >> >>Como te dice Marcos, si tu sistema soportada 'utf8', empléala para codificar >> >>unicodes. >> >> >> > > > > From pachi en mmn-arquitectos.com Tue Oct 5 13:54:41 2004 From: pachi en mmn-arquitectos.com (Rafael Villar Burke) Date: Tue, 05 Oct 2004 13:54:41 +0200 Subject: PyGTK 2.4.0 , algun Tutorial o Manual de Referencia en castellano ? In-Reply-To: <20041005114016.93726.qmail@web50302.mail.yahoo.com> References: <20041005114016.93726.qmail@web50302.mail.yahoo.com> Message-ID: <41628B81.1090100@mmn-arquitectos.com> qqq qqqq wrote: >Hola a todos , > >Veo que han sacado la version PyGTK 2.4.0 >http://www.pygtk.org/ y que hay tutoriales y manuales >en ingles : > >http://www.pygtk.org/pygtk2reference/index.html > >http://www.pygtk.org/pygtk2tutorial/index.html > >¿ Hay algun enlace de estos traducidos al castellano ? > Se está en ello, así que pronto estarán disponibles y enlazados en pygtk.org -- Pachi From miuler_listas en csdelectronic.com Wed Oct 6 06:44:22 2004 From: miuler_listas en csdelectronic.com (Hector Miuler Malpica Gallegos) Date: Tue, 05 Oct 2004 23:44:22 -0500 Subject: Gracias por los consejos In-Reply-To: <41619F86.7080205@yahoo.es> References: <41619F86.7080205@yahoo.es> Message-ID: <1097037862.3617.9.camel@debi.debian> Yo uso GTK/Glade, es libre donde sea, puedes hacer programas comerciales, y es muy completo, uso scite para editar el codigo. El lun, 04-10-2004 a las 21:07 +0200, Joseba escribió: > Me hallo sigiendo uno de los tutoriales, gracias a : > Antonio Castro, Adrian Ferreres y Angel lopez, he leido vuestros > comentarios y bajado los tutos que me habeis indicado, y gracias a todos > por vuestro tiempo. Pero continuo. > > Python es un lenguaje "de consola" y yo quiero terminar haciendo alguna > gui "de pantalla" he visto comentarios sobre lo sigiente y no he lograda > aclararme buscanbdo en el google: > Wxglade wxpython tlc/tk y tkinter. Yo quiero algo sencillo de usar y que > sea resulton, o sea para un programa de 200 lineas y dos dibujillos que > resulte util y vistoso. Si ademas es multiplataforma mejor que mejor. > > Por otra parte me he instalado boa y drpython como "entornos de > desarrollo" dr python parece sencillo y es lo que uso pa trastear con > mis primero programas, boa me parece complicadillo y tampoco he hecho > intento ¿cual usais? ¿por que? > un saludo lista > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > _\|/_ (O-O) --oOO-(_)-OOo---------------------------------------- Hector Miuler Malpica Gallegos Universidad Nacional del Callao - Peru Escuela de Ingenieria Electronica .''`. Powered by: ,__, : :' : Debian GNU/Linux(SID) (2.4.21,Ext3) (oo)____ `. `' usuario registrado #308608 (__) mu )\ `- ||--|| * Jabber miuler en jabber.org ICQ 179326439 MSN miuler13 en yahoo.es Yahoo miuler13 en yahoo.es IRC irc.freenode.net #apesol ----------------------------------------------------- From py en ch3m4.org Wed Oct 6 09:53:10 2004 From: py en ch3m4.org (Chema =?iso-8859-15?q?Cort=E9s?=) Date: Wed, 06 Oct 2004 09:53:10 +0200 Subject: Gracias por los consejos In-Reply-To: <5.1.0.14.0.20041005090712.01d66e38@pop.esrf.fr> References: <5.1.0.14.0.20041005090712.01d66e38@pop.esrf.fr> Message-ID: <200410060953.14319.py@ch3m4.org> On Tuesday 05 October 2004 10:56, Angel Lopez Muñoz wrote: > Es totalmente multiplataforma. El unico problema es que en windows, no hay > licencia GPL y tienes que utilizar la no comercial (2.3) pero vamos que > para hacer cositas para ti vale perfectamente. Insisto una vez más que SÍ hay versión GPL para windows, y además en versión 3, con su qtdesigner y todo. No está en la web de Trolltech, pero viene en el CD del libro oficial de programación de las QTs en C++: http://www.trolltech.com/products/qt/book.html El problema es que no tiene un desarrollo similar al resto de herramientas libres, con su CVS y su repositorio de descargas al que estamos aconstumbrados. Aún así, cuando algo es GPL, siempre lo será. Existe un desarrollo libre GPL para windows como "spinoff" del proyecto KDE para cygwin: http://kde-cygwin.sf.net/qt3-win32 https://sourceforge.net/project/showfiles.php?group_id=27249&package_id=123036 ------------ 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 py en ch3m4.org Wed Oct 6 10:20:06 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Wed, 06 Oct 2004 10:20:06 +0200 Subject: Problemas al escribir frase codificada In-Reply-To: <41626FB5.7020406@arrakis.es> References: <20041003212705.GA28470@mediterrania> <1096968084.4162679444a2e@webmail.unizar.es> <41626FB5.7020406@arrakis.es> Message-ID: <200410061020.09719.py@ch3m4.org> On Tuesday 05 October 2004 11:56, Marcos Sánchez Provencio wrote: > La cuestión es que _no_ existen los ficheros de texto unicode. Existen > ficheros de texto codificados en alguna codificación. XML usa UTF8 por > defecto, aunque está encima el orden de los bytes. Si quieres otra > codificación en XML, no hay más que declararla al principio. Pero, > repito, los 'caracteres' en unicode son una abstracción, como las > fechas. Siempre tiene que haber un acuerdo para saber cómo > interpretarlas a partir de un texto. No quisiera insistir más, pero es que sí que existe una codificación nativa para unicodes que son los "code points". Éstos se recodifican en "code units" (utfs) para optimizar su proceso en memoria y almacenamiento. En los "code units" se tiene en cuentas el orden de los bytes y demás cuestiones que comentas, y de ahí salen distintos utfs. Aquí pongo la referencia a un artículo que explica muy bien todo ésto: http://www-106.ibm.com/developerworks/library/utfencodingforms/ ------------ 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 lopez en esrf.fr Wed Oct 6 12:03:58 2004 From: lopez en esrf.fr (Angel Lopez =?iso-8859-1?Q?Mu=F1oz?=) Date: Wed, 06 Oct 2004 12:03:58 +0200 Subject: Gracias por los consejos In-Reply-To: <200410060953.14319.py@ch3m4.org> References: <5.1.0.14.0.20041005090712.01d66e38@pop.esrf.fr> <5.1.0.14.0.20041005090712.01d66e38@pop.esrf.fr> <200410060953.14319.py@ch3m4.org> Message-ID: <5.1.0.14.0.20041006115341.00b49b30@pop.esrf.fr> At 09:53 06/10/2004 +0200, you wrote: >On Tuesday 05 October 2004 10:56, Angel Lopez Muñoz wrote: > > > Es totalmente multiplataforma. El unico problema es que en windows, no hay > > licencia GPL y tienes que utilizar la no comercial (2.3) pero vamos que > > para hacer cositas para ti vale perfectamente. > >Insisto una vez más que SÍ hay versión GPL para windows, y además en versión >3, con su qtdesigner y todo. No está en la web de Trolltech, pero viene en el >CD del libro oficial de programación de las QTs en C++: > >http://www.trolltech.com/products/qt/book.html En efecto, hay version de QT 3 para windows en licencia GPL, pero el problema es que no hay version de pyqt que la soporte :((( Extraido del FAQ de http://www.riverbankcomputing.co.uk/pyqt/faq.php : "...Why isn't there a PyQt version for the Qt/Windows edition supplied on the CD that comes with C++ GUI Programming with Qt 3? Trolltech have told us that C++ GUI Programming with Qt 3 is aimed at teaching people how to write C++/Qt applications and the Qt/Windows edition supplied on the CD is provided for just that purpose. If you want to develop PyQt applications using Qt 3 on Windows you will need to purchase a commercial license. Please contact Trolltech if you have any further questions. ..." >El problema es que no tiene un desarrollo similar al resto de herramientas >libres, con su CVS y su repositorio de descargas al que estamos >aconstumbrados. > >Aún así, cuando algo es GPL, siempre lo será. Existe un desarrollo libre GPL >para windows como "spinoff" del proyecto KDE para cygwin: > >http://kde-cygwin.sf.net/qt3-win32 >https://sourceforge.net/project/showfiles.php?group_id=27249&package_id=123036 From py en ch3m4.org Wed Oct 6 14:37:29 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Wed, 06 Oct 2004 14:37:29 +0200 Subject: PyQt windows GPL (Re: Gracias por los consejos) In-Reply-To: <5.1.0.14.0.20041006115341.00b49b30@pop.esrf.fr> References: <5.1.0.14.0.20041005090712.01d66e38@pop.esrf.fr> <5.1.0.14.0.20041006115341.00b49b30@pop.esrf.fr> Message-ID: <200410061437.33445.py@ch3m4.org> On Wednesday 06 October 2004 12:03, Angel Lopez Muñoz wrote: > En efecto, hay version de QT 3 para windows en licencia GPL, pero el > problema es que no hay version de pyqt que la soporte :((( > > Extraido del FAQ de http://www.riverbankcomputing.co.uk/pyqt/faq.php : > > "...Why isn't there a PyQt version for the Qt/Windows edition supplied > on the CD that comes with C++ GUI Programming with Qt 3? > > Trolltech have told us that C++ GUI Programming with Qt 3 > is aimed at teaching people how to write C++/Qt applications > and the Qt/Windows edition supplied on the CD is provided for > just that purpose. If you want to develop PyQt applications using > Qt 3 on Windows you will need to purchase a commercial license. > Please contact Trolltech if you have any further questions. ..." Es más una "petición" de TrollTech, que un conflicto con las licencias. RiverBank ha decidido no sacar versión GPL para windows del PyQt, pero siempre se podría recontruir el módulo PyQt aplicando SIP a los fuentes del Qt del proyecto kde-cygwin, todo compilado con el MinGW para windows. Yo ahora no tengo tiempo (ni necesidad) para intentar ésto, pero si alguien se anima nos podría contar sus experiencias. ------------ 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 acurro en wanadoo.es Wed Oct 6 16:27:27 2004 From: acurro en wanadoo.es (Alberto Curro) Date: Wed, 06 Oct 2004 16:27:27 +0200 Subject: PyQt windows GPL (Re: Gracias por los consejos) In-Reply-To: <200410061437.33445.py@ch3m4.org> References: <5.1.0.14.0.20041005090712.01d66e38@pop.esrf.fr> <5.1.0.14.0.20041006115341.00b49b30@pop.esrf.fr> <200410061437.33445.py@ch3m4.org> Message-ID: <416400CF.6040103@wanadoo.es> Chema Cortés wrote: Ahí te equivocas.... Qt NO tiene versión GPL para Win32. Tienen versiones educativa y no-comercial, pero NO GPL en Win32. De la misma forma, y siguiendo la licencia, si usas una versión comercial de Qt tienes que usar una versión comercial de PyQt. De hecho, en la propia página que mencionas lo dicen : What about Windows? Like Qt, there is no GPL version of PyQt for Windows. If neither the Qt Non-commercial or Educational licenses are not appropriate to your use of Qt and PyQt then you must purchase the commercial version of PyQt. Viene a corroborar lo anterior : como en el caso de Qt, no hay versión GPL de PyQt para Windows. La gente de RiverBank sigue el mismo esquema de licenciamiento que Trolltech : si en tu plataforma tienes disponible GPL y tu programa o aplicación se ajusta y sigue el esquema descrito por la GPL, entonces podrás usar PyQt sobre GPL. Sino, tendrás que adquirir una versión comercial, educativa o no-comercial en ambos casos. Lo he comprobado ahora mismo y Trolltech NO dispone de versión GPL para Windows, sólo X11/Free y las versiones embedded/Free y Qtopia. Miralo : http://www.trolltech.com/download/index.html?cid=20 Qt en Win32 solo tiene comercial y educativa. Creo que a día de hoy la versión non-commercial no se aplica, por lo que tampoco se aplicaría con PyQt (para los no duchos en la materia, una versión non-commercial se usa en desarrollos en los que no ganas nada con el producto final, como un desarrollo interno de una empresa, pero que no quieres liberar el código fuente de la aplicación bajo alguna licencia libre). Siento decirte que en Python con Qt tienes el mismo problema que tengo yo : o pagas la licencia comercial (y te puedo asegurar que es una barbaridad de dinero lo que cuesta), o te pasas a wxPython. No hay otra opción, salvo Tk. Saludos >On Wednesday 06 October 2004 12:03, Angel Lopez Muñoz wrote: > > > >>En efecto, hay version de QT 3 para windows en licencia GPL, pero el >>problema es que no hay version de pyqt que la soporte :((( >> >>Extraido del FAQ de http://www.riverbankcomputing.co.uk/pyqt/faq.php : >> >>"...Why isn't there a PyQt version for the Qt/Windows edition supplied >>on the CD that comes with C++ GUI Programming with Qt 3? >> >>Trolltech have told us that C++ GUI Programming with Qt 3 >>is aimed at teaching people how to write C++/Qt applications >>and the Qt/Windows edition supplied on the CD is provided for >>just that purpose. If you want to develop PyQt applications using >>Qt 3 on Windows you will need to purchase a commercial license. >>Please contact Trolltech if you have any further questions. ..." >> >> > >Es más una "petición" de TrollTech, que un conflicto con las licencias. >RiverBank ha decidido no sacar versión GPL para windows del PyQt, pero >siempre se podría recontruir el módulo PyQt aplicando SIP a los fuentes del >Qt del proyecto kde-cygwin, todo compilado con el MinGW para windows. > >Yo ahora no tengo tiempo (ni necesidad) para intentar ésto, pero si alguien se >anima nos podría contar sus experiencias. > > >------------------------------------------------------------------------ > >_______________________________________________ >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 lgs en sicem.biz Wed Oct 6 16:50:51 2004 From: lgs en sicem.biz (Lorenzo Gil Sanchez) Date: Wed, 06 Oct 2004 16:50:51 +0200 Subject: PyQt windows GPL (Re: Gracias por los consejos) In-Reply-To: <416400CF.6040103@wanadoo.es> References: <5.1.0.14.0.20041005090712.01d66e38@pop.esrf.fr> <5.1.0.14.0.20041006115341.00b49b30@pop.esrf.fr> <200410061437.33445.py@ch3m4.org> <416400CF.6040103@wanadoo.es> Message-ID: <1097074251.2476.10.camel@localhost.localdomain> > Siento decirte que en Python con Qt tienes el mismo problema que tengo > yo : o pagas la licencia comercial (y te puedo asegurar que es una > barbaridad de dinero lo que cuesta), o te pasas a wxPython. No hay otra > opción, salvo Tk. > O pygtk :-) From rabs en dimension-virtual.com Wed Oct 6 20:22:51 2004 From: rabs en dimension-virtual.com (=?iso-8859-1?q?Ra=FAl_Alexis_Betancort_Santana?=) Date: Wed, 6 Oct 2004 19:22:51 +0100 Subject: PyQt windows GPL (Re: Gracias por los consejos) In-Reply-To: <1097074251.2476.10.camel@localhost.localdomain> References: <5.1.0.14.0.20041005090712.01d66e38@pop.esrf.fr> <416400CF.6040103@wanadoo.es> <1097074251.2476.10.camel@localhost.localdomain> Message-ID: <200410061922.51237.rabs@dimension-virtual.com> El Miércoles 06 Octubre 2004 15:50, Lorenzo Gil Sanchez escribió: > > Siento decirte que en Python con Qt tienes el mismo problema que tengo > > yo : o pagas la licencia comercial (y te puedo asegurar que es una > > barbaridad de dinero lo que cuesta), o te pasas a wxPython. No hay otra > > opción, salvo Tk. > > O pygtk :-) No es por nada .. pero "bade reto satanis..." con las gtk, su modelo de API es un culto al desastre y el desorden. Me gusta (opinión personal evidentemente) mucho mas el modelo de API de Qt Saludos From rabs en dimension-virtual.com Wed Oct 6 20:32:50 2004 From: rabs en dimension-virtual.com (=?iso-8859-15?q?Ra=FAl_Alexis_Betancort_Santana?=) Date: Wed, 6 Oct 2004 19:32:50 +0100 Subject: PyQt windows GPL (Re: Gracias por los consejos) In-Reply-To: <416400CF.6040103@wanadoo.es> References: <5.1.0.14.0.20041005090712.01d66e38@pop.esrf.fr> <200410061437.33445.py@ch3m4.org> <416400CF.6040103@wanadoo.es> Message-ID: <200410061932.50559.rabs@dimension-virtual.com> El Miércoles 06 Octubre 2004 15:27, Alberto Curro escribió: > Chema Cortés wrote: > > Ahí te equivocas.... > > Qt NO tiene versión GPL para Win32. Tienen versiones educativa y > no-comercial, pero NO GPL en Win32. De la misma forma, y siguiendo la > licencia, si usas una versión comercial de Qt tienes que usar una > versión comercial de PyQt. Falso como una moneda de 3?, puedes usar la versión de kde-cygwin la cual ES GPL y ES para Win32. > De hecho, en la propia página que mencionas lo dicen : > > What about Windows? > > Like Qt, there is no GPL version of PyQt for Windows. If neither the Qt > Non-commercial or Educational licenses are not appropriate to your use of > Qt and PyQt then you must purchase the commercial version of PyQt. Ahi lo único que dicen es que si no hay una versión GPL has de pagar la licencia, no dice nada sobre que no puedas usar PyQT con proyectos GPL sobre Win32. > Viene a corroborar lo anterior : como en el caso de Qt, no hay versión > GPL de PyQt para Windows. La gente de RiverBank sigue el mismo esquema > de licenciamiento que Trolltech : si en tu plataforma tienes disponible > GPL y tu programa o aplicación se ajusta y sigue el esquema descrito por > la GPL, entonces podrás usar PyQt sobre GPL. Sino, tendrás que adquirir > una versión comercial, educativa o no-comercial en ambos casos. En esto estamos deacuerdo, yo personalmente he discutido el tema de la licencia GPL con los de Trolltech y ellos dicen que nanai, que para Win32 no hay licencia GPL, a pesar de que les he propuesto la situación en la que si yo por mi cuenta y riesgo, cojo la versión X11 GPL y me busco la vida para hacerla compilar en Win32 (en realidad la diferencia son un par de includes y un par de .cpp) entonces debería de poder distribuirla como GPL para Win32, ellos dicen que nó, que eso es ilegal y yo digo lo contrario. > Siento decirte que en Python con Qt tienes el mismo problema que tengo > yo : o pagas la licencia comercial (y te puedo asegurar que es una > barbaridad de dinero lo que cuesta), o te pasas a wxPython. No hay otra > opción, salvo Tk. Veamos, veamos .. la licencia de QT no cuesta tan cara (no para una plataforma, si te pillas la tri-plataforma te sacan los riñones), teniendo en cuenta una serie de factores, como pueden ser: - Si necesitas la comercial será "probablemente" porque estés desarrollando algún soft propietario, y te garantizo que la licencia de QT no es mucho mas cara que WinXP+OfficeXP Pro - Si lo que haces es desarrolar GPL para Win, siempre puedes usar las Qt a través de cygwin, es una pequeña sobrecarga, pero en las versiones actuales y teniendo en cuenta que hoy en dia el programa mas "guarro" en Win te puede pesar tranquilamente un par de cientos de megas en .dlls inútiles, no se va a notar mucho que le metas la cygwin.dll ;) Saludos ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From maramsis en gmail.com Wed Oct 6 20:43:01 2004 From: maramsis en gmail.com (maram) Date: Wed, 6 Oct 2004 15:43:01 -0300 Subject: Como buscar un dato en los archivos de la lista via web Message-ID: Necesito saber si existe algun buscador de datos que se hayan posteado a la lista. Por ejemplo: quiero ver que mensajes hay con la palabra "imprimir" en la lista. Esto via web. sin bajar los archivos de mensages. maram ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From vitojph en gmail.com Wed Oct 6 21:40:58 2004 From: vitojph en gmail.com (Victor Peinado) Date: Wed, 6 Oct 2004 12:40:58 -0700 Subject: Como buscar un dato en los archivos de la lista via web In-Reply-To: References: Message-ID: On Wed, 6 Oct 2004 15:43:01 -0300, maram wrote: > Necesito saber si existe algun buscador de datos que se hayan posteado > a la lista. > > Por ejemplo: quiero ver que mensajes hay con la palabra "imprimir" en la lista. > Esto via web. sin bajar los archivos de mensages. Utiliza Google acotándo las búsquedas en los archivos de la lista Python-es: http://listas.aditel.org/archivos/python-es/ Por ejemplo, busca en Google lo siguiente: imprimir site:aditel.org -- Víctor Peinado || || http://ieqo.org/blog From acurro en wanadoo.es Wed Oct 6 22:18:36 2004 From: acurro en wanadoo.es (Alberto Curro) Date: Wed, 06 Oct 2004 22:18:36 +0200 Subject: PyQt windows GPL (Re: Gracias por los consejos) In-Reply-To: <200410061932.50559.rabs@dimension-virtual.com> References: <5.1.0.14.0.20041005090712.01d66e38@pop.esrf.fr> <200410061437.33445.py@ch3m4.org> <416400CF.6040103@wanadoo.es> <200410061932.50559.rabs@dimension-virtual.com> Message-ID: <4164531C.8000008@wanadoo.es> Raúl Alexis Betancort Santana wrote: >El Miércoles 06 Octubre 2004 15:27, Alberto Curro escribió: > > >>Chema Cortés wrote: >> >>Ahí te equivocas.... >> >> Qt NO tiene versión GPL para Win32. Tienen versiones educativa y >>no-comercial, pero NO GPL en Win32. De la misma forma, y siguiendo la >>licencia, si usas una versión comercial de Qt tienes que usar una >>versión comercial de PyQt. >> >> > >Falso como una moneda de 3?, puedes usar la versión de kde-cygwin la cual ES >GPL y ES para Win32. > > Ya, pero lo que estás es trabajando con la versión X11/Free GPL, NO nativo win32. El hecho de que uses Cygwin no implica que uses Win32, amigo mío. Recuerda que cygwin es un paquete interfaz de llamadas Posix de los UNIX/Linux, pero no significa que uses sobre Win32. Además, no recuerdo que fuese precisamente un juego de niños poner a funcionar KDE-cygwin. Con Win32 nos referimos a NATIVO, es decir, que no necesites ninguna librería/interfaz/módulo/etc. Ahí sea con C++, Python, Perl, Ruby y todos los que disponen de un binding a Qt (aunque no sea en Windows), estás sujeto a la licencia de Qt. Por lo tanto, tu solución no me vale, sorry. :) Saludos > > > >> De hecho, en la propia página que mencionas lo dicen : >> >>What about Windows? >> >>Like Qt, there is no GPL version of PyQt for Windows. If neither the Qt >>Non-commercial or Educational licenses are not appropriate to your use of >>Qt and PyQt then you must purchase the commercial version of PyQt. >> >> > >Ahi lo único que dicen es que si no hay una versión GPL has de pagar la >licencia, no dice nada sobre que no puedas usar PyQT con proyectos GPL sobre >Win32. > > > >>Viene a corroborar lo anterior : como en el caso de Qt, no hay versión >>GPL de PyQt para Windows. La gente de RiverBank sigue el mismo esquema >>de licenciamiento que Trolltech : si en tu plataforma tienes disponible >>GPL y tu programa o aplicación se ajusta y sigue el esquema descrito por >>la GPL, entonces podrás usar PyQt sobre GPL. Sino, tendrás que adquirir >>una versión comercial, educativa o no-comercial en ambos casos. >> >> > >En esto estamos deacuerdo, yo personalmente he discutido el tema de la >licencia GPL con los de Trolltech y ellos dicen que nanai, que para Win32 no >hay licencia GPL, a pesar de que les he propuesto la situación en la que si >yo por mi cuenta y riesgo, cojo la versión X11 GPL y me busco la vida para >hacerla compilar en Win32 (en realidad la diferencia son un par de includes y >un par de .cpp) entonces debería de poder distribuirla como GPL para Win32, >ellos dicen que nó, que eso es ilegal y yo digo lo contrario. > > > >> Siento decirte que en Python con Qt tienes el mismo problema que tengo >>yo : o pagas la licencia comercial (y te puedo asegurar que es una >>barbaridad de dinero lo que cuesta), o te pasas a wxPython. No hay otra >>opción, salvo Tk. >> >> > > Veamos, veamos .. la licencia de QT no cuesta tan cara (no para una >plataforma, si te pillas la tri-plataforma te sacan los riñones), teniendo en >cuenta una serie de factores, como pueden ser: > >- Si necesitas la comercial será "probablemente" porque estés desarrollando >algún soft propietario, y te garantizo que la licencia de QT no es mucho mas >cara que WinXP+OfficeXP Pro > >- Si lo que haces es desarrolar GPL para Win, siempre puedes usar las Qt a >través de cygwin, es una pequeña sobrecarga, pero en las versiones actuales y >teniendo en cuenta que hoy en dia el programa mas "guarro" en Win te puede >pesar tranquilamente un par de cientos de megas en .dlls inútiles, no se va a >notar mucho que le metas la cygwin.dll ;) > >Saludos > > >------------------------------------------------------------------------ > >_______________________________________________ >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 nuevodebian28 en yahoo.es Wed Oct 6 22:33:22 2004 From: nuevodebian28 en yahoo.es (Joseba) Date: Wed, 06 Oct 2004 22:33:22 +0200 Subject: Saturacion de informacion yt ultima pregunta de momento Message-ID: <41645692.5040303@yahoo.es> Toi saturadito de informacion sobre python, he comenzado los ejercicios del tutorial propuesto por aqui y de momento avanzo lento, pero avanzo. Es de suponer que llegar a tener un poco mas de conocimiento sobre el asunto me llevara quizas un par de meses o mas, ademas he leido todos los correos y entre que leo, me informo en el gogle y vuelvo a leer me toma cierto tiempo. Gracias a todos/as. mi sigiente pregunta es un poco retorcida, python es un lenguage interpretado, una especie de gion que lee el interprete antes de pasarselo a la maquina. Sabemos que eso supone ciertas ventajas, pero el tiempo de ejecucion en programas de cierto tamaño se resiente. ¿existen compiladores de python? he visto en sourceforge el programa pytoexe, que transforma pyton en binarios windows, ¿existe algo similar para linux? ¿es eficiente el codigo maquina asi generado, en comparacion con, por ejemplo, el c? ¿el mismo programa en lenguages diferentes genera codigo maquina diferente? Gracias. From rabs en dimension-virtual.com Wed Oct 6 22:37:25 2004 From: rabs en dimension-virtual.com (=?iso-8859-15?q?Ra=FAl_Alexis_Betancort_Santana?=) Date: Wed, 6 Oct 2004 21:37:25 +0100 Subject: PyQt windows GPL (Re: Gracias por los consejos) In-Reply-To: <4164531C.8000008@wanadoo.es> References: <5.1.0.14.0.20041005090712.01d66e38@pop.esrf.fr> <200410061932.50559.rabs@dimension-virtual.com> <4164531C.8000008@wanadoo.es> Message-ID: <200410062137.26006.rabs@dimension-virtual.com> El Miércoles 06 Octubre 2004 21:18, Alberto Curro escribió: > Ya, pero lo que estás es trabajando con la versión X11/Free GPL, NO > nativo win32. El hecho de que uses Cygwin no implica que uses Win32, > amigo mío. Recuerda que cygwin es un paquete interfaz de llamadas Posix > de los UNIX/Linux, pero no significa que uses sobre Win32. Además, no > recuerdo que fuese precisamente un juego de niños poner a funcionar > KDE-cygwin. Jo que nó, te bajas el installer, seleccionas los paquetes y esperas. Algo mas jodido es hacer que un programa sea "embeded", osea que solo necesite la cygwin.dll y no todo el sistema completo con shells y toda la pesca. Yo por ejemplo tengo un servidor de postgresql de cuando no había versión "nativa" para Win32 que solo requiere de la cygwin.dll, nada mas. > Con Win32 nos referimos a NATIVO, es decir, que no necesites ninguna > librería/interfaz/módulo/etc. Ahí sea con C++, Python, Perl, Ruby y > todos los que disponen de un binding a Qt (aunque no sea en Windows), > estás sujeto a la licencia de Qt. > > Por lo tanto, tu solución no me vale, sorry. :) Si que vale, ¿sabes cual es la única diferencia entre plataformas de las QT?, tengo revisarlo, pero creo que eran 4 includes y 6 o 7 .cpp, que lo UNICO que hacen es utilizar algunas llamadas al API de windows y de wrapping a algunas funciones como sockets y poco mas. A base de ensayo/error o por inferencia, se pueden sustituir esos archivos por otros que cumplan la misma misión y que sean GPL, con lo cual la versión completa de Win de QT podría ser perfectamente GPL por mucho que chillen los de Trolltech. A parte y por si no lo sabes, cygwin es SOLO una wrapping lib de las funciones POSIX para win, por lo que las aplicaciones compiladas bajo cygwin se pueden considerar "nativas", puesto que son binarios NE que hacen llamadas a una dll que le hace el wrapping de las llamadas posix (la cygwin.dll), ¿que diferencia hay con respecto a hacer directamente las llamadas a la API de windows?, de hecho, nada te impide hacer llamadas a la API de windows desde aplicaciones compiladas con cygwin. Saludos. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From jtempo en omnilect.com Wed Oct 6 22:41:28 2004 From: jtempo en omnilect.com (jtempo) Date: Wed, 06 Oct 2004 15:41:28 -0500 Subject: Nuevo y salu2 Message-ID: Hoy descubri este lenguaje y estoy interesado en descargar algun curso en español. Pienso usarlo bajo Windows. Gracias de antemano _______________________________ http://www.omnilect.com Omnilect - 2,000 Megabytes Of Storage... Just For You. Email, Web Space, Photos, Whatever. Great Usernames Still Available! From nuevodebian28 en yahoo.es Wed Oct 6 22:58:43 2004 From: nuevodebian28 en yahoo.es (Joseba) Date: Wed, 06 Oct 2004 22:58:43 +0200 Subject: Nuevo y salu2 In-Reply-To: References: Message-ID: <41645C83.70601@yahoo.es> jtempo wrote: >Hoy descubri este lenguaje y estoy interesado en descargar algun curso en >español. Pienso usarlo bajo Windows. Gracias de antemano > > > > > >_______________________________ >http://www.omnilect.com >Omnilect - 2,000 Megabytes Of Storage... Just For You. >Email, Web Space, Photos, Whatever. >Great Usernames Still Available! > > >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es > > > http://marmota.act.uji.es/MTP/pdf/python.pdf es el que de momento me estoi leyendo yo From acurro en wanadoo.es Wed Oct 6 23:47:50 2004 From: acurro en wanadoo.es (Alberto Curro) Date: Wed, 06 Oct 2004 23:47:50 +0200 Subject: PyQt windows GPL (Re: Gracias por los consejos) In-Reply-To: <200410062137.26006.rabs@dimension-virtual.com> References: <5.1.0.14.0.20041005090712.01d66e38@pop.esrf.fr> <200410061932.50559.rabs@dimension-virtual.com> <4164531C.8000008@wanadoo.es> <200410062137.26006.rabs@dimension-virtual.com> Message-ID: <41646806.3040700@wanadoo.es> > A base de ensayo/error o por inferencia, se pueden sustituir esos archivos >por otros que cumplan la misma misión y que sean GPL, con lo cual la versión >completa de Win de QT podría ser perfectamente GPL por mucho que chillen los >de Trolltech. > > Bien, admito la información anterior como válida (un par de cosas las entendía de forma diferente). Sin embargo, si desarrollo un producto de cara a un usuario final (como consultor que da soluciones, siempre pienso de esta manera, perdón) no tienes tiempo de que si embebes la DLL, si no, si aquello le da problemas. Quieres algo que lo pones, que no haya que tocar mucho el windows y por tanto se muestre lo más estable posible. Y lo sé, lo sé, ¡¡ si va muy bien !!. No te lo niego (yo tengo cygwin y en mi CMD de WinXP ejecuto ls's y el resto de "shell-colegas") Sin embargo, a falta de un abogado especializado en licencias, debo decirte que como hagas lo que dices y te atrevas a distribuir esas librerías y/o algún programa en Win32 que haga uso de ellas, te puedes meter en un lio gordo pero gordo. La licencia la decide el fabricante : aunque la diferencia fuese un #include en toda la librería, el fabricante de dicha librería NO te ofrece una versión GPL y NO deja modificarla para que sea GPL, por lo cual estamos todos jodidos. En linux no se estaría mucho mejor si no fuese por el KDE, que al final tanta presión popular pudo con Trolltech y no les quedaron más coj... digoooo, narices que liberar una versión que permitiese usar Qt con KDE en X11. ¿Opciones? A día de hoy, como dije antes, no muchas. O nos vamos a wx (pero no tenemos un RAD _estable_, _sencillo_ y que no haya que retocar el código que te genera de las clases base de tu aplicación, que por mucho que me digan, tanto con Boa como con wxDesigner como con varios que probé, al final el código que generaban siempre daba algún tipo de error o directamente no se ejecutaba. A mí, como otro que también lo comentó más atrás en el hilo, Gtk no me gusta. Tuve que vérmelas con código de una aplicación Gtk en C hace tiempo y, Dios!, comparado con wx (ya no digamos Qt) o cualquier framework GUI que conozco (OWL, VCL, MFC, Qt, wxWidgets y alguno más), Gtk es un infierno (EMHO). Tk no me vale porque en Windows a un cliente o un usuario le enseño la aplicación final y me dice "qué fea!" (ya me pasó). Con lo cual... o Qt, o wx. Re lo que dice otro compañero por aquí.... ¿de qué te vale comprar la Qt sólo para Windows?. Menuda gracia. Si la compras es porque buscas portabilidad, inicialmente, ¿no?. Ergo te vas a la multiplataforma... lo cual significa un par de miles de euros. Y eso significa que tengo que desarrollar muchas aplicaciones como para que me valga la pena. Para Windows, por el mismo precio de la licencia de Windows, me compro la versión Professional de Delphi : va bien, conozco a fondo la VCL y su sistema de componentes, la puedo extender, reutilizo, puedo desarrollar ayudantes para mi trabajo con el IDE, utilidades propias, se integra perfectamente con todas las tecnologías presentes en windows ... ¡¡ anda y que le den morcillas a la Qt !!. Lo siento, no me dan los números. Trolltech sigue pecando del mismo comportamiento que tuvo en Linux : se creen que manejan el cotarro y no quieren darse cuenta de que, a veces, dar es recibir. Si Trolltech me diese acceso a una licencia mucho más asequible, podría usarla para desarrollar y después las otras acumularlas en los proyectos finales de los clientes. Si ofreciesen una versión GPL, muchos más programas GPL en Windows usarían Qt. Más gente la usaría. Más gente aprendería con ella, por simple simpatía (no es de MS). Conocer es usar. Que se lo digan a Microsoft. Cualquier día empezarán a regalar el entorno de desarrollo con tal de mantener la cuota de programadores (y aplicaciones) para su entorno. En fin, yo seguiré mientras tanto retocando código tras Boa y antes de ponerme a trabajar en serio en los proyectos, o desarrollaré como hasta ahora con Delphi. Toca los cojones pero, ¡qué remedio!. :) Saludos >A parte y por si no lo sabes, cygwin es SOLO una wrapping lib de las funciones >POSIX para win, por lo que las aplicaciones compiladas bajo cygwin se pueden >considerar "nativas", puesto que son binarios NE que hacen llamadas a una dll >que le hace el wrapping de las llamadas posix (la cygwin.dll), ¿que >diferencia hay con respecto a hacer directamente las llamadas a la API de >windows?, de hecho, nada te impide hacer llamadas a la API de windows desde >aplicaciones compiladas con cygwin. > >Saludos. > > >------------------------------------------------------------------------ > >_______________________________________________ >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 tjavier en usuarios.retecal.es Thu Oct 7 02:11:02 2004 From: tjavier en usuarios.retecal.es (T. Javier Robles Prado) Date: Thu, 7 Oct 2004 02:11:02 +0200 Subject: Saturacion de informacion yt ultima pregunta de momento In-Reply-To: <41645692.5040303@yahoo.es> References: <41645692.5040303@yahoo.es> Message-ID: <200410070211.03444.tjavier@usuarios.retecal.es> El Miércoles 06 Octubre 2004 22:33, Joseba escribió: >mi sigiente pregunta es un poco retorcida, python es un lenguage >interpretado, una especie de gion que lee el interprete antes de >pasarselo a la maquina. Sabemos que eso supone ciertas ventajas, pero el >tiempo de ejecucion en programas de cierto tamaño se resiente. ¿existen >compiladores de python? he visto en sourceforge el programa pytoexe, que >transforma pyton en binarios windows, ¿existe algo similar para linux? >¿es eficiente el codigo maquina asi generado, en comparacion con, por >ejemplo, el c? ¿el mismo programa en lenguages diferentes genera codigo >maquina diferente? No te engañes, py2exe construye un ejecutable que contiene el intérprete, tu programa y las librerías que utiliza tu programa, no compila a código nativo. Para eso mírate psyco: http://psyco.sourceforge.net/ -- Un saludo, Tomás Javier Robles Prado http://milugar.doesntexist.org From maramsis en gmail.com Thu Oct 7 02:26:49 2004 From: maramsis en gmail.com (maram) Date: Wed, 6 Oct 2004 21:26:49 -0300 Subject: Nuevo y salu2 In-Reply-To: References: Message-ID: On Wed, 06 Oct 2004 15:41:28 -0500, jtempo wrote: > Hoy descubri este lenguaje y estoy interesado en descargar algun curso en > español. Pienso usarlo bajo Windows. Gracias de antemano > > _______________________________ > http://www.omnilect.com > Omnilect - 2,000 Megabytes Of Storage... Just For You. > Email, Web Space, Photos, Whatever. > Great Usernames Still Available! > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > En http://www.red-sur.com/~python-cd/python-cd.html tenes info sobre python para windows. -- Marcelo --------------------------------- Maram Sistemas Debian Sarge - Linux User: 354777 www.maramsis.com.ar From py en ch3m4.org Thu Oct 7 09:14:18 2004 From: py en ch3m4.org (Chema =?iso-8859-15?q?Cort=E9s?=) Date: Thu, 07 Oct 2004 09:14:18 +0200 Subject: PyQt windows GPL (Re: Gracias por los consejos) In-Reply-To: <4164531C.8000008@wanadoo.es> References: <5.1.0.14.0.20041005090712.01d66e38@pop.esrf.fr> <200410061932.50559.rabs@dimension-virtual.com> <4164531C.8000008@wanadoo.es> Message-ID: <200410070914.21170.py@ch3m4.org> On Wednesday 06 October 2004 22:18, Alberto Curro wrote: > >Falso como una moneda de 3?, puedes usar la versión de kde-cygwin la cual > > ES GPL y ES para Win32. > > Ya, pero lo que estás es trabajando con la versión X11/Free GPL, NO > nativo win32. El hecho de que uses Cygwin no implica que uses Win32, > amigo mío. Recuerda que cygwin es un paquete interfaz de llamadas Posix > de los UNIX/Linux, pero no significa que uses sobre Win32. Además, no > recuerdo que fuese precisamente un juego de niños poner a funcionar > KDE-cygwin. Nope. Como decía en otro mensaje, la librería qt del proyecto kde-cygwin es un "spinoff", no depende de cygwin y es totalmente nativa win32. Utilizan exclusivamente la versión x11/gpl, sin ningún añadido de la versión win32 original. Yo, ahora mismo, tengo qt/gpl en windows compilado con MingW (un clon win32 de las GNU gcc), y totalmente legal. Una de las libertades del software libre es las libertad de uso para "cualquier propósito", incluído el de portarlo a otras plataformas. Es TrollTech quien estaría incurriendo en delito si intentara impedir su uso. Me falta compilar las PyQt/GPL, pero para ésto necesito una versión de python compatible con MingW, algo que resolveré en unas horas. ------------ 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 acurro en wanadoo.es Thu Oct 7 09:34:24 2004 From: acurro en wanadoo.es (Alberto Curro) Date: Thu, 07 Oct 2004 09:34:24 +0200 Subject: PyQt windows GPL (Re: Gracias por los consejos) In-Reply-To: <200410070914.21170.py@ch3m4.org> References: <5.1.0.14.0.20041005090712.01d66e38@pop.esrf.fr> <200410061932.50559.rabs@dimension-virtual.com> <4164531C.8000008@wanadoo.es> <200410070914.21170.py@ch3m4.org> Message-ID: <4164F180.3080000@wanadoo.es> Chema Cortés wrote: >On Wednesday 06 October 2004 22:18, Alberto Curro wrote: > > > >>>Falso como una moneda de 3?, puedes usar la versión de kde-cygwin la cual >>>ES GPL y ES para Win32. >>> >>> >> Ya, pero lo que estás es trabajando con la versión X11/Free GPL, NO >>nativo win32. El hecho de que uses Cygwin no implica que uses Win32, >>amigo mío. Recuerda que cygwin es un paquete interfaz de llamadas Posix >>de los UNIX/Linux, pero no significa que uses sobre Win32. Además, no >>recuerdo que fuese precisamente un juego de niños poner a funcionar >>KDE-cygwin. >> >> > >Nope. Como decía en otro mensaje, la librería qt del proyecto kde-cygwin es un >"spinoff", no depende de cygwin y es totalmente nativa win32. Utilizan >exclusivamente la versión x11/gpl, sin ningún añadido de la versión win32 >original. > >Yo, ahora mismo, tengo qt/gpl en windows compilado con MingW (un clon win32 de >las GNU gcc), y totalmente legal. Una de las libertades del software libre es >las libertad de uso para "cualquier propósito", incluído el de portarlo a >otras plataformas. Es TrollTech quien estaría incurriendo en delito si >intentara impedir su uso. > >Me falta compilar las PyQt/GPL, pero para ésto necesito una versión de python >compatible con MingW, algo que resolveré en unas horas. > > Hombre de mi vida ! ¿ qué haces que no estás ya dando una URL para que nos lo bajemos ????? :) Ahora que lo pienso, es cierto lo que dices siempre que hayas partido de la versión GPL (exclusivamente) dado que varias cláusulas hacen referencia a esto y Qt al liberarlo así ha perdido el derecho a decidir (digamos). Lo que yo me refería es al caso en el que hubieses hecho una mezcolanza GPL-propietario; si mal no recuerdo sólo la parte derivada del GPL mantendría el GPL, pudiendo Trolltech comerte los riñones por la otra (aunque sólo fuese una línea). Lo de IBM - SCO es algo parecido, aunque con más rollo legal y mediático incorporado. De todos modos, siempre es de agradecer el trabajo de gente por hacer que la cosa funcione. Incluso con el poco tiempo que tengo, si necesitas una mano pequeña (muchas manos pequeñas hacen mucho, recordadlo todos) no dudes en comentarlo. Salu2 ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From py en topmusic.ch Thu Oct 7 09:36:23 2004 From: py en topmusic.ch (=?iso-8859-1?Q?Fran=E7ois?=) Date: Thu, 7 Oct 2004 09:36:23 +0200 Subject: PyQt windows GPL (Re: Gracias por los consejos) In-Reply-To: <200410070914.21170.py@ch3m4.org> References: <200410070914.21170.py@ch3m4.org> Message-ID: Chema Cortés : > Yo, ahora mismo, tengo qt/gpl en windows compilado con MingW (un > clon win32 de las GNU gcc), y totalmente legal (...) > Me falta compilar las PyQt/GPL, pero para ésto necesito una > versión de python compatible con MingW, algo que resolveré > en unas horas. Seria interesante para nosotros que pudieras poner esto en algun sitio web, y asi todos los que usamos Python con Win, podriamos por fin probar Qt! François From pepe en diselpro.com Thu Oct 7 09:47:48 2004 From: pepe en diselpro.com (Pepe Aracil) Date: Thu, 7 Oct 2004 09:47:48 +0200 Subject: Nuevo y salu2 In-Reply-To: References: Message-ID: <200410070947.48323.pepe@diselpro.com> http://es.tldp.org/Tutoriales/Python/tut.pdf Saludos. El Miércoles, 6 de Octubre de 2004 22:41, jtempo escribió: > Hoy descubri este lenguaje y estoy interesado en descargar algun curso en > español. Pienso usarlo bajo Windows. Gracias de antemano > > > > > > _______________________________ > http://www.omnilect.com > Omnilect - 2,000 Megabytes Of Storage... Just For You. > Email, Web Space, Photos, Whatever. > Great Usernames Still Available! > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From pepe en diselpro.com Thu Oct 7 10:36:19 2004 From: pepe en diselpro.com (Pepe Aracil) Date: Thu, 7 Oct 2004 10:36:19 +0200 Subject: PyQt windows GPL (Re: Gracias por los consejos) In-Reply-To: <41646806.3040700@wanadoo.es> References: <5.1.0.14.0.20041005090712.01d66e38@pop.esrf.fr> <200410062137.26006.rabs@dimension-virtual.com> <41646806.3040700@wanadoo.es> Message-ID: <200410071036.19036.pepe@diselpro.com> El Miércoles, 6 de Octubre de 2004 23:47, Alberto Curro escribió: > A mí, como otro que también lo comentó más atrás en el hilo, Gtk no > me gusta. Tuve que vérmelas con código de una aplicación Gtk en C hace > tiempo y, Dios!, comparado con wx (ya no digamos Qt) o cualquier > framework GUI que conozco (OWL, VCL, MFC, Qt, wxWidgets y alguno más), > Gtk es un infierno (EMHO). Programar con PyGTK no tiene nada que ver con programar en C y GTK. Pygtk te encapsula en clases toda ( o casi toda) la funcionalidad de GTK. Pasa lo mismo con Delphi.. programar directamente con el api de win32 es una autentica pesadilla pero las VCL encapsulan en clases ese "cajón desastre". Yo hasta la fecha no he tenido problemas en win32 con Python + PyGTK + Glade Saludos. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From lgs en sicem.biz Thu Oct 7 11:00:58 2004 From: lgs en sicem.biz (Lorenzo Gil Sanchez) Date: Thu, 07 Oct 2004 11:00:58 +0200 Subject: PyQt windows GPL (Re: Gracias por los consejos) In-Reply-To: <200410061922.51237.rabs@dimension-virtual.com> References: <5.1.0.14.0.20041005090712.01d66e38@pop.esrf.fr> <416400CF.6040103@wanadoo.es> <1097074251.2476.10.camel@localhost.localdomain> <200410061922.51237.rabs@dimension-virtual.com> Message-ID: <1097139658.2408.8.camel@localhost.localdomain> El mié, 06-10-2004 a las 19:22 +0100, Raúl Alexis Betancort Santana escribió: > El Miércoles 06 Octubre 2004 15:50, Lorenzo Gil Sanchez escribió: > > > Siento decirte que en Python con Qt tienes el mismo problema que tengo > > > yo : o pagas la licencia comercial (y te puedo asegurar que es una > > > barbaridad de dinero lo que cuesta), o te pasas a wxPython. No hay otra > > > opción, salvo Tk. > > > > O pygtk :-) > > No es por nada .. pero "bade reto satanis..." con las gtk, su modelo de API > es un culto al desastre y el desorden. Me gusta (opinión personal > evidentemente) mucho mas el modelo de API de Qt > Alguna razon objetiva o solo conjeturas demoniacas? Yo he programado en Qt (C++), WxPython (Python), GTK+ (C) y PyGTK (Python) y mis conclusiones son las siguientes: - La API de Qt esta bastante bien para mi gusto. Supongo que PyQt sera aun mas facil de usar. - WxPython no me gusto nada. Inestable, APIs no ortogonales, pesima documentacion para Python... - GTK+ en C, al principio intimida un monton. Es decir, curva de aprendizaje realmente jodida. Al final, muy muy uniforme y facil de leer codigo. - PyGTK: la solucion perfecta. Le aniade el azucar sintactico suficiente a GTK+ para eliminar la elevada curva de aprendizaje y tiene muchas cosas Pythonescas que no tiene WxPython que es un mero wrapping de WxWindows, o WxWidgets que creo que se llama ahora. Es decir, que como ha dicho Pepe, programar con PyGTK no tiene nada que ver con programar con GTK. Otras ventajas: - documentacion completisima (incluyendo un tutorial en castellano). - a dia de hoy creo (que alguien me corrija si no es asi) que es el unico ToolKit para Python que permite desarrollar widgets totalmente en Python. Una pregunta, el WxGlade o como se llame eso, genera codigo o guarda la interfaz en xml y luego hay una especie de libwxglade para cargarlo? Si solo genera codigo esto ya seria la razon definitiva para usar PyGTK en detrimento de WxPython. Un saludo Lorenzo > Saludos > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es -- Lorenzo Gil Sanchez From rabs en dimension-virtual.com Thu Oct 7 00:16:13 2004 From: rabs en dimension-virtual.com (=?iso-8859-15?q?Ra=FAl_Alexis_Betancort_Santana?=) Date: Wed, 6 Oct 2004 23:16:13 +0100 Subject: PyQt windows GPL (Re: Gracias por los consejos) In-Reply-To: <41646806.3040700@wanadoo.es> References: <5.1.0.14.0.20041005090712.01d66e38@pop.esrf.fr> <200410062137.26006.rabs@dimension-virtual.com> <41646806.3040700@wanadoo.es> Message-ID: <200410062316.14063.rabs@dimension-virtual.com> El Miércoles 06 Octubre 2004 22:47, Alberto Curro escribió: > > A base de ensayo/error o por inferencia, se pueden sustituir esos > > archivos por otros que cumplan la misma misión y que sean GPL, con lo > > cual la versión completa de Win de QT podría ser perfectamente GPL por > > mucho que chillen los de Trolltech. > > Bien, admito la información anterior como válida (un par de cosas las > entendía de forma diferente). Sin embargo, si desarrollo un producto de > cara a un usuario final (como consultor que da soluciones, siempre > pienso de esta manera, perdón) no tienes tiempo de que si embebes la > DLL, si no, si aquello le da problemas. Quieres algo que lo pones, que > no haya que tocar mucho el windows y por tanto se muestre lo más estable > posible. Y lo sé, lo sé, ¡¡ si va muy bien !!. No te lo niego (yo tengo > cygwin y en mi CMD de WinXP ejecuto ls's y el resto de "shell-colegas") Jejej, por eso yo ya tengo mis .dll de qt bajo cygwin listas para usar y el binding de pyqt también, por lo que solo tengo que desarrolar el código python, este carga el binding de qt que usa la qt-mt331.dll y cygwin.dll, sin necesidad de X server en win y cosas raras, se ejecutan como aplicaciones nativas, un toquezito de cx_Freeze y ya tienes el .exe con todo lo necesario, pesa un webo (solo la dll de las qt son como 8Mb) y perfectamente legal, ¿porque legal?, porque yo no me he saltado la licencia del fabricante, las qt son las de X11, y esas con GPL punto y pelota. > Sin embargo, a falta de un abogado especializado en licencias, debo > decirte que como hagas lo que dices y te atrevas a distribuir esas > librerías y/o algún programa en Win32 que haga uso de ellas, te puedes > meter en un lio gordo pero gordo. Problema 0 y te voy a contar las dos opciones para no tener problemas: Opción a) "La rápida" (relativamente hablando), "pierdes" un par de tardes compilando las qt-x11-free para que no canten con el cygwin (basicamente es toquetear el generador del qmake para cygwin que está superdesfasado), del resto .. ./configure --enable-sql --enable-xml --enable-bla,bla,bla .. make make install, ale, ya tienes la qt-mt331.dll (hay que rebuscar por google para saber como hacer que el cygwin no le añada un .so y la cage con los -rpath), ahora .. solo pilar el pyqt para X11 y tres cuartos de lo mismo, despues de un buen par de horas tendrás todo lo que necesitas a punto. Opción b) "La lenta o muy lenta", "echas a la basura" un par de semanas y por inferencia sacas los .h y los .cpp que te hacen falta para compilar las qt de forma nativa en win con el borlandC, el intel, el gcc o el compilador que tengas en win. Yo lo hice con la 3.2.3 y perdí 4 dias para hacer que compilase, no conseguí implementar todas la funciones, pero las que faltaban me la sudaban un poco bastante (eran relacionadas con los tipos de letras y par de cosas mas). ES LEGAL (por mucho que Trolltech diga que nó) ¿porqúe?, pues porque tu partes de una versión GPL, la x11-free y la "extiendes" para que sea multiplataforma, se puede considerar como que los archivos que le faltan a esa versión de QT para que compile en windows de forma nativa NO SON GPL, pero claro tu no has usado los archivos de Trolltech, sino que has desarrollado los tuyos propios, por lo que no pueden decir ni pio. Este tema lo traté con la gente de Trolltech, y se empeñaban en decir que no era legal, que la versión GPL era solo para X11 y Mac y no para Win, yo les decía que yo no les discutía eso, SU versión para Win no es GPL, MI versión para Win SI es GPL, puesto que he partido de una versión GPL y la he "expandido" y la GPL precisamente nombra esa posibilidad dentro de los epígrafes de la licencia. NO PUEDEN, por mucho que quieran o denuncien, OBLIGARME a no distribuir esos archivos, de hecho la GPL ME OBLIGA ha hacerlo. > La licencia la decide el fabricante : aunque la diferencia fuese un > #include en toda la librería, el fabricante de dicha librería NO te > ofrece una versión GPL y NO deja modificarla para que sea GPL, por lo > cual estamos todos jodidos. En linux no se estaría mucho mejor si no > fuese por el KDE, que al final tanta presión popular pudo con Trolltech > y no les quedaron más coj... digoooo, narices que liberar una versión > que permitiese usar Qt con KDE en X11. Pero es que el punto está en que yo no he modificado nada para que sea GPL, he partido de la versión GPL y la he extendido, lo cual hace que siga siendo GPL. Lo de la "presión popular", mas que presión, es que los de Trolltech lo usan como publicidad, "Mirad que pedazo de desktop se puede hacer con mi toolkit ..." > ¿Opciones? A día de hoy, como dije antes, no muchas. O nos vamos a > wx (pero no tenemos un RAD _estable_, _sencillo_ y que no haya que > retocar el código que te genera de las clases base de tu aplicación, que > por mucho que me digan, tanto con Boa como con wxDesigner como con > varios que probé, al final el código que generaban siempre daba algún > tipo de error o directamente no se ejecutaba. wx Me recuerda demasiado a gtk, lo siento, no veo que tenga un modelo claro y limpio, admito que es mucho mas limpio que el de gtk, pero no le llega a Qt ;-), en cuanto a Tk, por ¡¡dios santo!! será multiplataforma y todo lo que quieras pero es antedilubiano, feo de cojones y jodido de extender. > A mí, como otro que también lo comentó más atrás en el hilo, Gtk no > me gusta. Fui yó ;) > Re lo que dice otro compañero por aquí.... ¿de qué te vale comprar > la Qt sólo para Windows?. Menuda gracia. Si la compras es porque buscas > portabilidad, inicialmente, ¿no?. He ahi el error, si la necesitas para Win, porque tienes clientes en win, 2 opciones, aplias la GPL para win ó compras la licencia. Si no te compensa económicamente, quizás no te compense desarrollar la aplicación para esa plataforma. Evidentemente esto no se aplica cuando lo que quieres es portar una aplicación que ya es GPL. > Ergo te vas a la multiplataforma... lo > cual significa un par de miles de euros. Y eso significa que tengo que > desarrollar muchas aplicaciones como para que me valga la pena. Para > Windows, por el mismo precio de la licencia de Windows, me compro la > versión Professional de Delphi : va bien, conozco a fondo la VCL y su > sistema de componentes, la puedo extender, reutilizo, puedo desarrollar > ayudantes para mi trabajo con el IDE, utilidades propias, se integra > perfectamente con todas las tecnologías presentes en windows ... ¡¡ anda > y que le den morcillas a la Qt !!. Pues también tienes razón, pero Delphi no es multiplataforma ... ;-), si hasta cuando Borland sacó el Delphi ese para Linux (ni me acuerdo del nombre) lo basó en Qt para poder simplificar el soporte multiplataforma ... ;-) > Lo siento, no me dan los números. Trolltech sigue pecando del mismo > comportamiento que tuvo en Linux : se creen que manejan el cotarro y no > quieren darse cuenta de que, a veces, dar es recibir. Si Trolltech me > diese acceso a una licencia mucho más asequible, podría usarla para > desarrollar y después las otras acumularlas en los proyectos finales de > los clientes. Si ofreciesen una versión GPL, muchos más programas GPL en > Windows usarían Qt. Más gente la usaría. Más gente aprendería con ella, > por simple simpatía (no es de MS). Ya, pero ellos van con otro enfoque, de todas formas jamás he entendido que alguien pague todos los años por una versión nueva de algo, sin nisiquiera parase a pensar si realmente lo necesita ... > Conocer es usar. Que se lo digan a Microsoft. Cualquier día > empezarán a regalar el entorno de desarrollo con tal de mantener la > cuota de programadores (y aplicaciones) para su entorno. Jeje, hay un Visual C++ gratuito. > En fin, yo seguiré mientras tanto retocando código tras Boa y antes > de ponerme a trabajar en serio en los proyectos, o desarrollaré como > hasta ahora con Delphi. Toca los cojones pero, ¡qué remedio!. :) Yo es que soy un amante del vi ... X-D ... incluso usando el kdevelop ó eric para trabajar con proyectos pyQT termino tirando de vi ... viejas costumbre ... :) Saludos ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From py en ch3m4.org Thu Oct 7 11:21:26 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Thu, 07 Oct 2004 11:21:26 +0200 Subject: PyQt windows GPL (Re: Gracias por los consejos) In-Reply-To: <1097139658.2408.8.camel@localhost.localdomain> References: <5.1.0.14.0.20041005090712.01d66e38@pop.esrf.fr> <200410061922.51237.rabs@dimension-virtual.com> <1097139658.2408.8.camel@localhost.localdomain> Message-ID: <200410071121.29179.py@ch3m4.org> On Thursday 07 October 2004 11:00, Lorenzo Gil Sanchez wrote: > Una pregunta, el WxGlade o como se llame eso, genera codigo o guarda la > interfaz en xml y luego hay una especie de libwxglade para cargarlo? Si > solo genera codigo esto ya seria la razon definitiva para usar PyGTK en > detrimento de WxPython. wxGlade genera códido en XRC (XML para wx) además de en C++, Perl y Python. Vamos, que da algunas opciones más que Glade. Además wxGlade es sólo el editor; el XRC es un formato de las wxWidgets, que incluye propio editor XRCed. ------------ 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 py en ch3m4.org Thu Oct 7 10:43:42 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Thu, 07 Oct 2004 10:43:42 +0200 Subject: PyQt windows GPL (Re: Gracias por los consejos) In-Reply-To: References: Message-ID: <200410071043.45656.py@ch3m4.org> On Thursday 07 October 2004 09:36, François wrote: > Seria interesante para nosotros que pudieras poner esto en algun sitio web, > y asi todos los que usamos Python con Win, podriamos por fin probar Qt! Por supuesto que lo haré con todo detalle. Al problema de las licencias que estamos comentando se une mi cabezonería de usar exclusivamente sofware libre, con lo que tengo que recompilar python y otras librerías que estaban compiladas con msvc. En cuanto lo logre haré algún artico e incluiré los binarios compilados. Supongo que el lugar apropiado para los binarios será el Python-CD. PD: si alguien quiere seguirme, en estos momentos estaba "procesando" la web http://sebsauvage.net/python/mingw.html donde explica cómo hacer extensiones de python con MingW. ------------ 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 falted en pytables.org Thu Oct 7 11:11:39 2004 From: falted en pytables.org (Francesc Alted) Date: Thu, 7 Oct 2004 11:11:39 +0200 Subject: Saturacion de informacion yt ultima pregunta de momento In-Reply-To: <41645692.5040303@yahoo.es> References: <41645692.5040303@yahoo.es> Message-ID: <200410071111.40162.falted@pytables.org> A Dimecres 06 Octubre 2004 22:33, Joseba va escriure: > mi sigiente pregunta es un poco retorcida, python es un lenguage > interpretado, una especie de gion que lee el interprete antes de > pasarselo a la maquina. Sabemos que eso supone ciertas ventajas, pero el > tiempo de ejecucion en programas de cierto tamaño se resiente. ¿existen > compiladores de python? he visto en sourceforge el programa pytoexe, que > transforma pyton en binarios windows, ¿existe algo similar para linux? > ¿es eficiente el codigo maquina asi generado, en comparacion con, por > ejemplo, el c? ¿el mismo programa en lenguages diferentes genera codigo > maquina diferente? Normalmente, cuando se quiere velocidad en Python hay que recurrir a enlazar con código en C (o Fortran, o cualquier otro lenguaje compilado). SWIG [3], Boost [2] y Pyrex [3] son todos excelentes opciones para enlazar con C. SIN EMBARGO, antes de recurrir a esto, empápate todavia más de información sobre Python, y en particular sobre su libreria estándard (batteries included, remember :). Ahi hay mucho ya hecho que está en C y si es así, se suele indicar en la documentación. Si esto no es suficiente, entonces mira librerias para entornos de cálculo numérico: SciPy [4], Numeric [5], numarray [6]. Hay muchísimas otras librerias para Python y optimizadas en C ya disponibles en la red (para XML, imágenes, criptografía, ...). En este caso, Google es tu mejor aliado. Si dispones de plataforma Intel, prueba también con psyco [7]. Y si esto no es suficiente, entonces pasa a los enlaces con código C que he mencionado al principio. [1] http://www.swig.org/ [2] http://www.boost.org/ [3] http://www.cosc.canterbury.ac.nz/~greg/python/Pyrex/ (parece que no funciona?) [4] http://www.scipy.org [5] http://numpy.sf.net [6] http://www.stsci.edu/resources/software_hardware/numarray [7] http://psyco.sourceforge.net/ Saludos, -- Francesc Alted From rvr en infoastro.com Thu Oct 7 00:39:08 2004 From: rvr en infoastro.com (=?iso-8859-15?q?V=EDctor_R=2E?= Ruiz) Date: Wed, 6 Oct 2004 23:39:08 +0100 Subject: PyQt windows GPL (Re: Gracias por los consejos) In-Reply-To: <41646806.3040700@wanadoo.es> References: <5.1.0.14.0.20041005090712.01d66e38@pop.esrf.fr> <200410062137.26006.rabs@dimension-virtual.com> <41646806.3040700@wanadoo.es> Message-ID: <200410062339.08870.rvr@infoastro.com> Hola: El Miércoles 06 Octubre 2004 22:47, Alberto Curro tecleó: > Lo siento, no me dan los números. Trolltech sigue pecando del mismo > comportamiento que tuvo en Linux : se creen que manejan el cotarro y no > quieren darse cuenta de que, a veces, dar es recibir. El pecado de TrollTech es que tiene un modelo de negocio que mezcla lo libre, lo abierto, lo cerrado y lo comercial y ¡les va muy bien! Para una empresa, dos mil euros no son nada (para un usuario sí). De todas formas, ya lanzaron la licencia dual para Mac... quizás hagan lo mismo en Windows en futuro. A mi no me parece tan mal que no permitan desarrollos libres sobre Windows, al fin y al cabo es la plataforma propietaria por excelencia (aunque opino que es el principal terreno de batalla para ganar adeptos al software libre). Saludetes, -- Víctor R. Ruiz | - Todos estos momentos se perderán http://infoastro.com/rvr | como lágrimas en la lluvia ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From apuntesus en yahoo.com Thu Oct 7 17:37:28 2004 From: apuntesus en yahoo.com (qqq qqqq) Date: Thu, 7 Oct 2004 08:37:28 -0700 (PDT) Subject: PyQt windows GPL Message-ID: <20041007153728.12274.qmail@web50301.mail.yahoo.com> Hola , Menudos genios hay por esta lista sueltos , PyQt y Qt GPL para windows , lo he leido pero aun no me lo he acabado de creer... Necesito esos enlaces , pero ya. A ser posible los binarios , por que si hay que compilar con cygwin y cosas de esas ni idea. Un Saludo a todos. __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From py en ch3m4.org Thu Oct 7 11:01:38 2004 From: py en ch3m4.org (Chema =?iso-8859-15?q?Cort=E9s?=) Date: Thu, 07 Oct 2004 11:01:38 +0200 Subject: PyQt windows GPL (Re: Gracias por los consejos) In-Reply-To: <4164F180.3080000@wanadoo.es> References: <5.1.0.14.0.20041005090712.01d66e38@pop.esrf.fr> <200410070914.21170.py@ch3m4.org> <4164F180.3080000@wanadoo.es> Message-ID: <200410071101.42876.py@ch3m4.org> On Thursday 07 October 2004 09:34, Alberto Curro wrote: > De todos modos, siempre es de agradecer el trabajo de gente por > hacer que la cosa funcione. Incluso con el poco tiempo que tengo, si > necesitas una mano pequeña (muchas manos pequeñas hacen mucho, > recordadlo todos) no dudes en comentarlo. Ya sabes lo que se dice de la "cabezonería" de los maños, tú di que no va a funcionar para que se empeñen en hacerlo funcionar, como en el chiste. Gracias por la ayuda, pero de momento sólo me falta tiempo, y por lo que veo tampoco tienes mucho para dar :-)) PD: "maño" es un apelativo dado a los aragoneses "¿Cómo meterías 50 maños en un 600? Diciéndoles que no caben" ------------ 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 erny en sicem.biz Thu Oct 7 19:11:53 2004 From: erny en sicem.biz (Ernesto Revilla) Date: Thu, 07 Oct 2004 19:11:53 +0200 Subject: Totalmente Off-Topic: PyQt windows GPL (Re: Gracias por los consejos) In-Reply-To: <200410071101.42876.py@ch3m4.org> References: <5.1.0.14.0.20041005090712.01d66e38@pop.esrf.fr> <200410070914.21170.py@ch3m4.org> <4164F180.3080000@wanadoo.es> <200410071101.42876.py@ch3m4.org> Message-ID: <416578D9.7060108@sicem.biz> Pregunto por curiosidad: pintar sobre X no es lo mismo que pintar sobre Win32. ¿Estaba ya incluido en las códigos fuentes GPL o lo estáis poniendo vosotros? Entonces supongo, que deberían hacerse cambios mayores, ¿no? (Me acuerdo cuando estaba trabajando con los device contexts y todo eso. De todos modos, todos esos API tienen cosas en común, como pintar líneas, círculos, imágenes y escribir con fuentes, ¿no?) Erny Chema Cortés escribió: >On Thursday 07 October 2004 09:34, Alberto Curro wrote: > > > >> De todos modos, siempre es de agradecer el trabajo de gente por >>hacer que la cosa funcione. Incluso con el poco tiempo que tengo, si >>necesitas una mano pequeña (muchas manos pequeñas hacen mucho, >>recordadlo todos) no dudes en comentarlo. >> >> > >Ya sabes lo que se dice de la "cabezonería" de los maños, tú di que no va a >funcionar para que se empeñen en hacerlo funcionar, como en el chiste. > >Gracias por la ayuda, pero de momento sólo me falta tiempo, y por lo que veo >tampoco tienes mucho para dar :-)) > > >PD: "maño" es un apelativo dado a los aragoneses >"¿Cómo meterías 50 maños en un 600? Diciéndoles que no caben" > > >------------------------------------------------------------------------ > >_______________________________________________ >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): 0441-1, 06/10/2004 Comprobado en: 07/10/2004 19:11:54 avast! tiene los derechos reservados (c) 2000-2004 ALWIL Software. http://www.avast.com From fvillarroel en yahoo.com Thu Oct 7 01:17:53 2004 From: fvillarroel en yahoo.com (FERNANDO VILLARROEL) Date: Wed, 6 Oct 2004 16:17:53 -0700 (PDT) Subject: Python y conecciones seguras a Postgres Message-ID: <20041006231754.27132.qmail@web41215.mail.yahoo.com> Hola les quiero solicitar sus consejos en lo relativo a lo siguiente. Tengo un Servidor PostgreSQL, al que se conectan aplicaciones wxPython de manera remota usando para ello ADSL, los clientes son Windows y el servidor Postgres corre en un Debian woody. Como creo conecciones seguras entre los clientes y el servidor Postgres, quise probar usando ssh, es decir en los clientes instale Putty, si tengo coneccion, pero en Python cuando le doy el host, ejm server, no lo encuentra, pero si funciona cuando pongo como host www.dominio.cl. Lo que significa que las consultas SQL viajan libremente por internet. Como hago para que esa coneccion sea segura, me entienden. Fernando Villarroel N. _______________________________ Do you Yahoo!? Declare Yourself - Register online to vote today! http://vote.yahoo.com ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From gari en eibar.org Thu Oct 7 08:39:58 2004 From: gari en eibar.org (Gari Araolaza) Date: Thu, 07 Oct 2004 08:39:58 +0200 Subject: Saturacion de informacion yt ultima pregunta de momento In-Reply-To: <41645692.5040303@yahoo.es> References: <41645692.5040303@yahoo.es> Message-ID: <4164E4BE.5000401@eibar.org> Joseba(e)k dio: > mi sigiente pregunta es un poco retorcida, python es un lenguage > interpretado, una especie de gion que lee el interprete antes de > pasarselo a la maquina. Sabemos que eso supone ciertas ventajas, pero > el tiempo de ejecucion en programas de cierto tamaño se resiente. > ¿existen compiladores de python? he visto en sourceforge el programa > pytoexe, que transforma pyton en binarios windows, ¿existe algo > similar para linux? ¿es eficiente el codigo maquina asi generado, en > comparacion con, por ejemplo, el c? ¿el mismo programa en lenguages > diferentes genera codigo maquina diferente? Esta es la duda típica con Python. Todo depende, claro, pero varias pistas en ese sentido: - Partimos de que hoy en día es más barato comprar más procesador (memoria, disco etc.) que el coste de programación para optimizar código, excepto en casos concretos, claro. - El planteamiento con Python es: en lugar de 10 horas de programación más 30 segundos de ejecución, lo puedes programar en 2 horas aunque después se ejecute en un minuto. - Si vas a necesitarlo para funciones muy exigentes en cuanto a velocidad, basta con que programes los módulos clave que consuman más recursos en C o en algo compilado y después utilices Python para llamar a esas funciones críticas. http://docs.python.org/ext/ext.html Es mejor que sigas el razonamiento al revés: haz un programa en Python, ponlo en marcha y después, si tienes problemas con la velocidad de ejecución, empieza a buscar soluciones. Las hay, desde el Psyco, a las extensiones en C y otras que ni me he preocupado en buscar. Por ejemplo, hay mucha información aquí: http://manatee.mojam.com/~skip/python/fastpython.html Saludos Gari From sergio en s3r.com.ar Thu Oct 7 21:48:10 2004 From: sergio en s3r.com.ar (=?ISO-8859-1?Q?Sergio_G=F3mez?=) Date: Thu, 07 Oct 2004 16:48:10 -0300 Subject: Python y conecciones seguras a Postgres In-Reply-To: <20041006231754.27132.qmail@web41215.mail.yahoo.com> References: <20041006231754.27132.qmail@web41215.mail.yahoo.com> Message-ID: <41659D7A.6050700@s3r.com.ar> Toda conexión (sobre IP) que de por sí sola no esté encriptada (digamos SSL/TSL) puede ser encriptada con `stunnel'. -- Sergio Gómez - S3R Buenos Aires, Argentina -- FERNANDO VILLARROEL wrote: > Hola les quiero solicitar sus consejos en lo relativo > a lo siguiente. > > Tengo un Servidor PostgreSQL, al que se conectan > aplicaciones wxPython de manera remota usando para > ello ADSL, los clientes son Windows y el servidor > Postgres corre en un Debian woody. Como creo > conecciones seguras entre los clientes y el servidor > Postgres, quise probar usando ssh, es decir en los > clientes instale Putty, si tengo coneccion, pero en > Python cuando le doy el host, ejm server, no lo > encuentra, pero si funciona cuando pongo como host > www.dominio.cl. Lo que significa que las consultas SQL > viajan libremente por internet. Como hago para que esa > coneccion sea segura, me entienden. > > Fernando Villarroel N. > > > > _______________________________ > Do you Yahoo!? > Declare Yourself - Register online to vote today! > http://vote.yahoo.com > > > ------------------------------------------------------------------------ > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From fvillarroel en yahoo.com Thu Oct 7 16:46:15 2004 From: fvillarroel en yahoo.com (FERNANDO VILLARROEL) Date: Thu, 7 Oct 2004 07:46:15 -0700 (PDT) Subject: Python pyPgSQL de modo seguro Message-ID: <20041007144615.8832.qmail@web41201.mail.yahoo.com> Hola les quiero solicitar sus consejos en lo relativo a lo siguiente. Tengo un Servidor PostgreSQL, al que se conectan aplicaciones wxPython de manera remota usando para ello ADSL, los clientes son Windows y el servidor Postgres corre en un Debian woody. Como creo conexiones seguras entre los clientes y el servidor Postgres, quise probar usando ssh, es decir en los clientes instale Putty, si tengo conexion, pero en Python cuando le doy el host, ejm server, no lo encuentra, pero si funciona cuando pongo como host www.dominio.cl. Lo que significa que las consultas SQL viajan libremente por internet. Como hago para que esa coneccion sea segura, me entienden. Fernando Villarroel N. _______________________________ Do you Yahoo!? Declare Yourself - Register online to vote today! http://vote.yahoo.com ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From frjanibo en teleline.es Thu Oct 7 19:05:54 2004 From: frjanibo en teleline.es (Francisco Javier Nieto) Date: Thu, 07 Oct 2004 19:05:54 +0200 Subject: PyQt windows GPL (Re: Gracias por los consejos) In-Reply-To: <200410070914.21170.py@ch3m4.org> References: <5.1.0.14.0.20041005090712.01d66e38@pop.esrf.fr> <200410061932.50559.rabs@dimension-virtual.com> <4164531C.8000008@wanadoo.es> <200410070914.21170.py@ch3m4.org> Message-ID: <41657772.8080401@teleline.es> >Yo, ahora mismo, tengo qt/gpl en windows compilado con MingW (un clon win32 de >las GNU gcc), y totalmente legal. Una de las libertades del software libre es >las libertad de uso para "cualquier propósito", incluído el de portarlo a >otras plataformas. Es TrollTech quien estaría incurriendo en delito si >intentara impedir su uso. > >Me falta compilar las PyQt/GPL, pero para ésto necesito una versión de python >compatible con MingW, algo que resolveré en unas horas. > > ARGGGGG!!! No puedo esperar más!! Por favor, libera ese precioso código para que pueda convencer a mi jefe de que abandone las wx! Una vez termines, ¿Sería tan fácil como un import desde python? ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From jtempo en omnilect.com Fri Oct 8 00:53:17 2004 From: jtempo en omnilect.com (jtempo) Date: Thu, 07 Oct 2004 17:53:17 -0500 Subject: Nuevo y salu2 In-Reply-To: References: Message-ID: Muchisimas gracias!!!!!! -----Original Message----- From: maram To: La lista de python en castellano Date: Wed, 6 Oct 2004 21:26:49 -0300 Subject: Re: [Python-es] Nuevo y salu2 > On Wed, 06 Oct 2004 15:41:28 -0500, jtempo wrote: > > Hoy descubri este lenguaje y estoy interesado en descargar algun > curso en > > español. Pienso usarlo bajo Windows. Gracias de antemano > > > > _______________________________ > > http://www.omnilect.com > > Omnilect - 2,000 Megabytes Of Storage... Just For You. > > Email, Web Space, Photos, Whatever. > > Great Usernames Still Available! > > > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es > > > En http://www.red-sur.com/~python-cd/python-cd.html tenes info sobre > python para windows. > > -- > Marcelo > --------------------------------- > Maram Sistemas > Debian Sarge - Linux User: 354777 > www.maramsis.com.ar > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es _______________________________ http://www.omnilect.com Omnilect - 2,000 Megabytes Of Storage... Just For You. Email, Web Space, Photos, Whatever. Great Usernames Still Available! From pylorca en yahoo.com.ar Fri Oct 8 01:36:56 2004 From: pylorca en yahoo.com.ar (lorca) Date: Thu, 7 Oct 2004 20:36:56 -0300 Subject: Problemas con HTMLParser Message-ID: <20041007203656.177ce2dc@localhost> Bueno en algunas paginas cuando trato de parsearlas me tira un error, aparentemente es debido a una malaformacion de la pagina html por ejemplo trato de parserar los links de una pagina y me tira un error: >>> import parser >>> a = parser.LinksParser("http://yahoo.com.ar") Traceback (most recent call last): File "", line 1, in ? File "parser.py", line 18, in __init__ self.feed(x) File "/usr/lib/python2.3/HTMLParser.py", line 108, in feed self.goahead(0) File "/usr/lib/python2.3/HTMLParser.py", line 148, in goahead k = self.parse_starttag(i) File "/usr/lib/python2.3/HTMLParser.py", line 239, in parse_starttag endpos = self.check_for_whole_start_tag(i) File "/usr/lib/python2.3/HTMLParser.py", line 314, in check_for_whole_start_tag self.error("malformed start tag") File "/usr/lib/python2.3/HTMLParser.py", line 115, in error raise HTMLParseError(message, self.getpos()) HTMLParser.HTMLParseError: malformed start tag, at line 8, column 451 Aca les dejo el codigo, que al al parecer está bien, porque con algunas paginas funciona perfecto y con otras no import urllib, HTMLParser #import HTMLParser class LinksParser(HTMLParser.HTMLParser): def __init__(self, url): HTMLParser.HTMLParser.__init__(self) self.inside_opt=0 self.href = [] self.link_name = [] x = urllib.urlopen(url).read() self.feed(x) self.close() def handle_starttag(self, tag, attributes): #if tag == "select": self.flag += 1 if tag == "a": for name, value in attributes: if name == "href": self.href.append(value) self.inside_opt = 1 def handle_endtag(self, tag): if tag == "a": self.inside_opt=0 def handle_data(self, data): if self.inside_opt == 1: self.link_name.append(data) def get_options(self): return self.href, self.link_name -- l o r c a Homepage: http://www.pylorca.com.ar From maramsis en gmail.com Fri Oct 8 01:41:38 2004 From: maramsis en gmail.com (maram) Date: Thu, 7 Oct 2004 20:41:38 -0300 Subject: Ejemplo de Impresion de listados simples Message-ID: No pude encontrar un ejemplo (google) de como imprimir en python, un listado simple del tipo contable. (planilla de caja, por ejemplo) que tenga encabezado y pie automatico y alguna agrupacion de subtotales. La idea es que sea en python "puro", sin utilizar facilidades de wxpython u otros similares. Y si es posible con pre-visualizacion. Que opinan de XSL-FO ? Alguna recomendacion? maram ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From py en ch3m4.org Fri Oct 8 08:46:23 2004 From: py en ch3m4.org (Chema =?iso-8859-15?q?Cort=E9s?=) Date: Fri, 08 Oct 2004 08:46:23 +0200 Subject: PyQt windows GPL (Re: Gracias por los consejos) In-Reply-To: <200410062339.08870.rvr@infoastro.com> References: <5.1.0.14.0.20041005090712.01d66e38@pop.esrf.fr> <41646806.3040700@wanadoo.es> <200410062339.08870.rvr@infoastro.com> Message-ID: <200410080846.26407.py@ch3m4.org> On Thursday 07 October 2004 00:39, Víctor R. Ruiz wrote: > A mi no me parece tan mal que no permitan desarrollos libres > sobre Windows, al fin y al cabo es la plataforma propietaria por excelencia > (aunque opino que es el principal terreno de batalla para ganar adeptos al > software libre). Antiguamente, mysql alegaba que las herramientas en windows no eran "gratis" y que por eso tenía que cobrar algo a la gente que usara mysql en windows. Con el tiempo cambiaron a una licencia dual. Hoy ya hay buenas herramientas gratis para windows, e incluso alguna "libre". ------------ 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 py en ch3m4.org Fri Oct 8 08:53:54 2004 From: py en ch3m4.org (Chema =?iso-8859-15?q?Cort=E9s?=) Date: Fri, 08 Oct 2004 08:53:54 +0200 Subject: PyQt windows GPL (Re: Gracias por los consejos) In-Reply-To: <200410062316.14063.rabs@dimension-virtual.com> References: <5.1.0.14.0.20041005090712.01d66e38@pop.esrf.fr> <41646806.3040700@wanadoo.es> <200410062316.14063.rabs@dimension-virtual.com> Message-ID: <200410080853.54609.py@ch3m4.org> On Thursday 07 October 2004 00:16, Raúl Alexis Betancort Santana wrote: > ES LEGAL (por mucho que Trolltech diga que nó) ¿porqúe?, > pues porque tu partes de una versión GPL, la x11-free y la "extiendes" para > que sea multiplataforma, se puede considerar como que los archivos que le > faltan a esa versión de QT para que compile en windows de forma nativa NO > SON GPL, pero claro tu no has usado los archivos de Trolltech, sino que has > desarrollado los tuyos propios, por lo que no pueden decir ni pio. >.... > NO PUEDEN, por mucho que quieran o denuncien, > OBLIGARME a no distribuir esos archivos, de hecho la GPL ME OBLIGA ha > hacerlo. Ojo, aquí te veo un problema. No puedes mezclar código GPL de Trolltech con código no-GPL. Esa es, justamente, la razón de que existan las licencias duales. Si no compras la licencia comercial estarías violando la GPL, y no sólo Trolltech podría ir tras de tí. ------------ 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 dtrillo en gmail.com Fri Oct 8 08:53:44 2004 From: dtrillo en gmail.com (david _) Date: Fri, 8 Oct 2004 08:53:44 +0200 Subject: Mi primer programita: modenas.py Message-ID: <86b8f6b90410072353294a844@mail.gmail.com> Buenas! Ya estoy haciendo mis primeros pinitos con Python. Estoy siguiendo 2 manuales, Dive into Python, y el de ja Uji. Uno de los ejercicios propuestos es que al usuario le pida un numero y le devuelva los billetes que necesita hasta conseguir esa cantidad. Abajo pongo el codigo. Me gustaria saber si la utilizacion de diccionarios es correcta, asi como si alguien me podria proporcionar otra forma alternativa de hacerlo. Un saludo: david El codigo que he escrito es el siguiente: # Programa Monedas.py # Solicito una cantidad # con la funcion 'int' la paso a enteros valor = int( raw_input("Euros: ")) # Me creo un Diccionario con todas las monedas monedas = {"quinientos":0, "doscientos":0, "cien":0, "cincuenta":0, "veinte":0, "diez":0, "cinco":0} # Imprimo la Cantidad a pagar print 'Pagar: %s' % valor # Billetes de 500 miv = 500 if valor >= miv: quinientos = valor / miv valor = valor - quinientos * miv monedas["quinientos"] = quinientos #Billetes de 200 miv = 200 if valor >= miv: doscientos = valor / miv valor = valor - doscientos * miv monedas["doscientos"] = doscientos #Billetes de 100 miv = 100 if valor >= miv: cien = valor / miv valor = valor - cien * miv monedas["cien"] = cien # Billetes de 50 miv = 50 if valor >= miv: cincuenta = valor / miv valor = valor - cincuenta * miv monedas["cincuenta"] = cincuenta # Billetes de 20 miv = 20 if valor >= miv: cincuenta = valor / miv valor = valor - cincuenta * miv monedas["veinte"] = cincuenta # Billetes de 10 miv = 10 if valor >= miv: cincuenta = valor / miv valor = valor - cincuenta * miv monedas["diez"] = cincuenta # Billetes de 5 miv = 5 if valor >= miv: cincuenta = valor / miv valor = valor - cincuenta * miv monedas["cinco"] = cincuenta # Ahora imprimo el resultado print '%s de 500 ?' % monedas["quinientos"] print '%s de 200 ?"' % monedas["doscientos"] print '%s de 100 ?' % monedas["cien"] print '%s de 50 ?' % monedas["cincuenta"] print '%s de 20 ?"' % monedas["veinte"] print '%s de 10 ?' % monedas["diez"] print '%s de 5 ?"' % monedas["cinco"] # Imprimo el resto de monedas print '%s de calderilla' % str(valor) ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From py en ch3m4.org Fri Oct 8 10:06:48 2004 From: py en ch3m4.org (Chema =?iso-8859-15?q?Cort=E9s?=) Date: Fri, 08 Oct 2004 10:06:48 +0200 Subject: Mi primer programita: modenas.py In-Reply-To: <86b8f6b90410072353294a844@mail.gmail.com> References: <86b8f6b90410072353294a844@mail.gmail.com> Message-ID: <200410081006.52201.py@ch3m4.org> On Friday 08 October 2004 08:53, david _ wrote: > Abajo pongo el codigo. Me gustaria saber si la utilizacion de > diccionarios es correcta, asi como si alguien me podria proporcionar > otra forma alternativa de hacerlo. Los diccionarios están bien, pero ya que la clave ("quinientos","doscientos",...) luego no aparecen en el resultado, casi sería mejor que usaras como clave el valor monetario (500,200,...), así, como números enteros, y el código se simplificará bastante. > El codigo que he escrito es el siguiente: > > # Programa Monedas.py > > # Solicito una cantidad > # con la funcion 'int' la paso a enteros > > valor = int( raw_input("Euros: ")) > > # Me creo un Diccionario con todas las monedas > monedas = {"quinientos":0, "doscientos":0, "cien":0, "cincuenta":0, > "veinte":0, "diez":0, "cinco":0} > > # Imprimo la Cantidad a pagar > print 'Pagar: %s' % valor > > # Billetes de 500 > miv = 500 > if valor >= miv: > quinientos = valor / miv > valor = valor - quinientos * miv > monedas["quinientos"] = quinientos Esta estructura la estás repitiendo para cada valor, por lo que es una buena candidata para pasar a ser una función. Al calcular el resto, emplea mejor el operador módulo '%'. Incluso mejor, emplea la función divmod y se quedaría todo en: monedas[miv],valor=divmod(valor,miv) > > #Billetes de 200 > miv = 200 > if valor >= miv: > doscientos = valor / miv > valor = valor - doscientos * miv > monedas["doscientos"] = doscientos > > #Billetes de 100 > miv = 100 > if valor >= miv: > cien = valor / miv > valor = valor - cien * miv > monedas["cien"] = cien > > # Billetes de 50 > miv = 50 > if valor >= miv: > cincuenta = valor / miv > valor = valor - cincuenta * miv > monedas["cincuenta"] = cincuenta > > # Billetes de 20 > miv = 20 > if valor >= miv: > cincuenta = valor / miv > valor = valor - cincuenta * miv > monedas["veinte"] = cincuenta > > # Billetes de 10 > miv = 10 > if valor >= miv: > cincuenta = valor / miv > valor = valor - cincuenta * miv > monedas["diez"] = cincuenta > > # Billetes de 5 > miv = 5 > if valor >= miv: > cincuenta = valor / miv > valor = valor - cincuenta * miv > monedas["cinco"] = cincuenta > > # Ahora imprimo el resultado > print '%s de 500 ?' % monedas["quinientos"] No está mal, aunque en lugar de %s deberías haber usado %d. También se podría haber usado la cadena de formatos para diccionarios: print '%(quinientos)s de 500 ?' % monedas > print '%s de 200 ?"' % monedas["doscientos"] > print '%s de 100 ?' % monedas["cien"] > print '%s de 50 ?' % monedas["cincuenta"] > print '%s de 20 ?"' % monedas["veinte"] > print '%s de 10 ?' % monedas["diez"] > print '%s de 5 ?"' % monedas["cinco"] > # Imprimo el resto de monedas > print '%s de calderilla' % str(valor) Ya que pides una forma alternativa, te la pongo a continuación. No te asustes si no la entiendes (resulta poco didáctica): billetes=(500, 200, 100, 50, 20, 10, 5) monedas={} valor = int( raw_input("Euros: ")) for b in billetes: monedas[b],valor=divmod(valor,b) else: monedas["calderilla"]=valor for b in billetes: if monedas[b]>0: print '%d de %d' % (monedas[b],b) else: print '%d de calderilla' % monedas["calderilla"] ------------ 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 mvillarino en dubmail.net Fri Oct 8 10:06:09 2004 From: mvillarino en dubmail.net (mvillarino) Date: Fri, 8 Oct 2004 10:06:09 +0200 Subject: Mi primer programita: modenas.py In-Reply-To: <86b8f6b90410072353294a844@mail.gmail.com> References: <86b8f6b90410072353294a844@mail.gmail.com> Message-ID: <200410081006.10843.mvillarino@dubmail.net> O Venres 08 Outubro 2004 08:53, david _ escribiu: > Abajo pongo el codigo. Me gustaria saber si la utilizacion de > diccionarios es correcta, asi como si alguien me podria proporcionar #!/usr/bin/env python cantidad = float(raw_input("euros?")) for currency in (500, 200, 100, 50, 20, 10, 5, 2, 1, 0.50, 0.20, 0.10, 0.05, 0.02, 0.01): cantidad, resto = int(cantidad / currency), cantidad % currency if cantidad >0: if currency >=5: print "%s billetes de %d euros" % (cantidad, currency) elif currency > 1: print "%s monedas de 2? " % cantidad elif currency==1: print "%s monedas de 1?" % cantidad else: print "%s monedas de %s céntimos" % (cantidad, currency*100) cantidad = resto Nota: Falla para las monedas de 1¢ de ?, por problemas de redondeo Evita esas de "IF", son horrorosas de leer. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From py en ch3m4.org Fri Oct 8 10:17:12 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Fri, 08 Oct 2004 10:17:12 +0200 Subject: Totalmente Off-Topic: PyQt windows GPL (Re: Gracias por los consejos) In-Reply-To: <416578D9.7060108@sicem.biz> References: <5.1.0.14.0.20041005090712.01d66e38@pop.esrf.fr> <200410071101.42876.py@ch3m4.org> <416578D9.7060108@sicem.biz> Message-ID: <200410081017.15203.py@ch3m4.org> On Thursday 07 October 2004 19:11, Ernesto Revilla wrote: > Pregunto por curiosidad: > > pintar sobre X no es lo mismo que pintar sobre Win32. > > ¿Estaba ya incluido en las códigos fuentes GPL o lo estáis poniendo > vosotros? > Entonces supongo, que deberían hacerse cambios mayores, ¿no? > > (Me acuerdo cuando estaba trabajando con los device contexts y todo eso. > De todos modos, todos esos API tienen cosas en común, como pintar > líneas, círculos, imágenes y escribir con fuentes, ¿no?) El aspecto del Qt/GPL es visualmente diferente al Qt/No-comercial para windows. Creo que los del proyecto kde-cygwin han debido utilizar algún tipo de "wrapper" entre la XLib y la win32api. Los fuentes que hay en kde-cygwin lo incluyen todo. No hay que hacer nada más que compilarlos según las instrucciones. También se distribuyen en binarios compilados con Visual C++.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 rapto en arrakis.es Fri Oct 8 10:37:02 2004 From: rapto en arrakis.es (=?ISO-8859-1?Q?Marcos_S=E1nchez_Provencio?=) Date: Fri, 08 Oct 2004 10:37:02 +0200 Subject: Python pyPgSQL de modo seguro In-Reply-To: <20041007144615.8832.qmail@web41201.mail.yahoo.com> References: <20041007144615.8832.qmail@web41201.mail.yahoo.com> Message-ID: <416651AE.3070405@arrakis.es> Tienes que abrir a internet sólo el puerto ssh. Luego, con putty, abres un túnel hasta el servidor/puerto de PostgreSQL. Un ejemplo para http (no el de vnc, que se lía con otras historias), pero no debiera de ser muy diferente para pg, mutatis mutandi. Por cierto, que una de las cosas que puede hacer el ssh es comprimir la conexión, lo que puede ser muy adecuado para conjuntos de datos relacionales. http://www.nautopia.net/archives/es/win_cifrado/cifrado_comunicaciones/tuneles_sobre_ssh_openssh.php FERNANDO VILLARROEL escribió: >Hola les quiero solicitar sus consejos en lo relativo >a lo siguiente. > >Tengo un Servidor PostgreSQL, al que se conectan >aplicaciones wxPython de manera remota usando para >ello ADSL, los clientes son Windows y el servidor >Postgres corre en un Debian woody. Como creo >conexiones seguras entre los clientes y el servidor >Postgres, quise probar usando ssh, es decir en los >clientes instale Putty, si tengo conexion, pero en >Python cuando le doy el host, ejm server, no lo >encuentra, pero si funciona cuando pongo como host >www.dominio.cl. Lo que significa que las consultas SQL >viajan libremente por internet. Como hago para que esa >coneccion sea segura, me entienden. > >Fernando Villarroel N. > > > > > > From hernan en orgmf.com.ar Fri Oct 8 10:40:36 2004 From: hernan en orgmf.com.ar (=?iso-8859-1?Q?Hern=E1n_Mart=EDnez_Foffani?=) Date: Fri, 8 Oct 2004 10:40:36 +0200 Subject: Problemas con HTMLParser In-Reply-To: <20041007203656.177ce2dc@localhost> References: <20041007203656.177ce2dc@localhost> Message-ID: > Bueno en algunas paginas cuando trato de parsearlas me tira un error, > aparentemente es debido a una malaformacion de la pagina html > > por ejemplo trato de parserar los links de una pagina y me tira un > error: > >>>> import parser >>>> a = parser.LinksParser("http://yahoo.com.ar") > > Traceback (most recent call last): > File "", line 1, in ? > ...... > HTMLParser.HTMLParseError: malformed start tag, at line 8, column 451 No mencionas lo mas importante: qué es lo que hay en la linea 8, columna 451 y sus alrededores. > Aca les dejo el codigo, que al al parecer está bien, porque con > algunas paginas funciona perfecto y con otras no El parser de hmtl del python es muy estricto. Los navegadores en general no lo son y suelen aceptar como entrada valida htmls con errores. Creo que eso es una herencia de cuando los htmls se editaban a mano y no se entendía muy bien que era. jeje. Mi recomendación es que corrijas los html de entrada con HTMLTidy. Hay unas bibliotecas para invocarlo directamente desde python. Otra posibilidad es que el error se deba a que el html incluya codigo script. El parser de python no lo tolera. Deberías eliminar eso de la entrada antes de pasarlo al parser. Si estas alternativas no son viables para tu aplicación quizás pueda ser necesario olvidarte del parser y usar algun navegador completo que permita ser controlado desde fuera. Saludos, -H. From python en ammsoft.com Fri Oct 8 10:49:56 2004 From: python en ammsoft.com (Amm-Python) Date: Fri, 8 Oct 2004 10:49:56 +0200 Subject: PyQt windows GPL (Re: Gracias por los consejos) In-Reply-To: <200410080853.54609.py@ch3m4.org> References: <200410080853.54609.py@ch3m4.org> Message-ID: <003901c4ad13$ca0f7110$640010ac@nombref31twj9b> Con esta afirmacion podemos llegar a la conclusion que si desarrollas una aplicación con QT + otras licencias GPL o LGPL en linux y la quieres correr en Windows utilizando la licencia comercial de QT, no podrías hacerlo ya que las otras licencias GPL que utilizas en Linux deberían no ser GPL en windows ? Pues vaya marrón. Alguien puede confirmar que si se está realizando una aplicación GPL no se pueden incluir librerías no GPL? En mi caso, la aplicación que desarrollo será GPL, pero hay algunas librerías que tienen otro tipo de licencia, incluso comerciales. Mi código es GPL y cumple las normas de las GPL usando llamadas a librerías comerciales que se licencian por separado. El usuario sabe que para utilizar la aplicación deberá licenciar algunas librerías y que el resto es GPL. En el caso que nos afecta si se decide por Windows, el cliente sabe que deberá comprar la licencia de QT. Si opta por Linux no deberá comprar nada. Analicemos otro producto. Las mxODBC de Egenix, están en el paquete comercial, pero en Linux utilizan como ODBC manager las iODBC que el GPL Significa que no puedo usar este paquete en mis aplicaciones GPL? Me lo están poniendo difícil. Esto de las licencias es un tema cíclico, cada dos por tres volvemos sobre el tema. Hay alguna forma de aclararnos de una vez. Tengo la sensación de estar perdiendo el tiempo. Como esto siga así me vuelvo al Java, pago, callo y todos felices. -----Mensaje original----- De: python-es-bounces en aditel.org [mailto:python-es-bounces en aditel.org] En nombre de Chema Cortés Enviado el: divendres, 8 / octubre / 2004 08:54 Para: La lista de python en castellano Asunto: Re: PyQt windows GPL (Re: [Python-es] Gracias por los consejos) On Thursday 07 October 2004 00:16, Raúl Alexis Betancort Santana wrote: > ES LEGAL (por mucho que Trolltech diga que nó) ¿porqúe?, > pues porque tu partes de una versión GPL, la x11-free y la "extiendes" >para que sea multiplataforma, se puede considerar como que los >archivos que le faltan a esa versión de QT para que compile en windows >de forma nativa NO SON GPL, pero claro tu no has usado los archivos de >Trolltech, sino que has desarrollado los tuyos propios, por lo que no >pueden decir ni pio. .... NO PUEDEN, por mucho que quieran o >denuncien, OBLIGARME a no distribuir esos archivos, de hecho la GPL ME >OBLIGA ha hacerlo. Ojo, aquí te veo un problema. No puedes mezclar código GPL de Trolltech con código no-GPL. Esa es, justamente, la razón de que existan las licencias duales. Si no compras la licencia comercial estarías violando la GPL, y no sólo Trolltech podría ir tras de tí. From dtrillo en gmail.com Fri Oct 8 11:41:30 2004 From: dtrillo en gmail.com (david _) Date: Fri, 8 Oct 2004 11:41:30 +0200 Subject: Mi primer programita: modedas.py Message-ID: <86b8f6b904100802411d212eab@mail.gmail.com> Chema: Precisamente como ha sido mi primer programa, y al no controlar lo de las listas, diccionarios y tuplas, sabia que seguro alquien podia mejorar con menor codigo. Gracias por tu tiempo. El segundo programa de ejemplo ya lo hare la semana que viene! david ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From py en ch3m4.org Fri Oct 8 11:45:48 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Fri, 08 Oct 2004 11:45:48 +0200 Subject: Progreso PyQt/GPG en windows Message-ID: <200410081145.52019.py@ch3m4.org> Voy a estar ausente por una semana (son fiestas en Zaragoza :-D), así que os pongo hasta dónde he llegado con el tema de las PyQt para windwos, a ver si álguien lo acaba: 1) Instalación del MingW He apostado por éste compilador libre. Es una versión "minimalista" del GNU gcc que va bastante bien. Se descarga MinGW-3.1.0-1.exe http://prdownloads.sf.net/mingw/MinGW-3.1.0-1.exe?download 2) Descarga del "QT-3 Win32" desde el repositorio CVS del proyecto kde-cygwin. Esta descarga la he hecho desde linux, pero se podría hacer también con el cygwin ó con algún cliente CVS de windows (eg: wincvs) $ cvs -d :pserver:anonymous en cvs.sourceforge.net:/cvsroot/kde-cygwin login $ cvs -z3 -d :pserver:anonymous en cvs.sourceforge.net:/cvsroot/kde-cygwin \ co -r QT_WIN32_3_BRANCH qt-3 3) Configurar variables de entorno y directorios Se pasa el directorio qt-3 que nos ha traido el cvs a una carpeta de windows (c:\qt-3) y se configuran las variables de entorno siguientes: set QTDIR=c:\qt-3 set MINGW=c:\MingW set set PATH=%QTDIR%\bin;%MINGW%\bin;%PATH% set QMAKESPEC=win32-g++ 4) Antes de compilar las Qts habría que configurar bien los módulos que necesitamos: formatos de imágenes, plugins de sql, estilos, etc. Con 'configure.bat -help' se ven las opciones, pero algunas están mal. Habría que afinar un poco más. Así mismo, es recomendable instalar antes el QScintilla. Yo, de momento, no lo he intentado. Tiene una licencia similar al PyQt, con lo que habrá que intentar compilarlo a partir del código GPL para x11. De momento me salto este paso 4) y seguimos !!! 5) Configuración y construcción c:\qt-3> configure.bat Después de un largo rato, y si no ha habido ningún problema, ya tenemos las qt en marcha. Podemos ejecutar las utilidades (designer, assistant, linguist) o ir a los tutoriales y ejemplos para probar que funcionan. 6) Versión compatible de python para MingW El python para windows está compilado con "MS Visual C++" (msvc), que usa un formato propietario de librerías inapropiado para MingW. Se podría recompilar todo el python con MingW, pero no va a ser necesario. El propio MingW tiene la utilidad 'pexports' que exporta las referencias en las librerías de msvc a otras utilizables por mingw. Suponiendo que el instalador ha instalado la librería 'python23.dll' en "c: \windows\system32" : c:\python23> pexports c:\windows\system32\python23.dll > python23.def c:\python23> dlltool --dllname python23.dll --def python23.def \ --output-lib libpython23.a Copiaremos el fichero libpython23.a en c:\python23\libs para poder seguir. 7) Compilación de SIP Se descarga desde http://www.riverbankcomputing.co.uk/sip/ y se siguen las instrucciones para MingW según se detalla en la documentación: c:\sip> python configure.py c:\sip> mingw32-make c:\sip> mingw32-make install Al final habrá instalado un directorio sip en c:\python23 y un módulo sipconfig.py 8) Compilación de PyQt Se descarga la versión GPL para x11 y la instalación es similar al SIP: c:\pyqt> python configure.py c:\pyqt> mingw32-make c:\pyqt> mingw32-make install En el primer paso salta un error, indicando que para win32 no se puede usar una versión GPL de PyQt. Supongo que es un error de código, y como tengo "derecho" a modificar el código (tal como se reconoce en la licencia que está puesta al inicio), comento la línea que hace la comprobación y vuelvo a configurar. Aquí se para con un error: "sip: WId not found" Investigando un poco, veo que el único sitio donde se define esta variable es en qwindowsdef_x11.sip, y que no se ejecuta porque la compilación condicional chequea que sea la plataforma "WS_X11", cuando estamos compilando para "WS_WIN". Y hasta aquí he llegado. Para seguir a partir de aquí habría dos posibilidades: i) cambiar el código donde aparezca WS_X11 por WS_WIN ii) cambiar el configure.py para que use siempre WS_WIN A ver si alquien lo consigue. Un saludo, Chema ------------ 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 py en ch3m4.org Fri Oct 8 12:23:03 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Fri, 08 Oct 2004 12:23:03 +0200 Subject: PyQt windows GPL (Re: Gracias por los consejos) In-Reply-To: <003901c4ad13$ca0f7110$640010ac@nombref31twj9b> References: <003901c4ad13$ca0f7110$640010ac@nombref31twj9b> Message-ID: <200410081223.07603.py@ch3m4.org> On Friday 08 October 2004 10:49, Amm-Python wrote: > Con esta afirmacion podemos llegar a la conclusion que si desarrollas > una aplicación con QT + otras licencias GPL o LGPL en linux y la quieres > correr en Windows utilizando la licencia comercial de QT, no podrías > hacerlo ya que las otras licencias GPL que utilizas en Linux deberían no > ser GPL en windows ? Has entendido cuál es el problema. Es el motivo por el que muchos desarrollos de software libre acaban adoptando una licencia BSD ó similar (X11,MIT,etc). > Pues vaya marrón. > Alguien puede confirmar que si se está realizando una aplicación GPL no > se pueden incluir librerías no GPL? Si vas a las FAQs de la GPL, puede leerse lo siguiente: Q: If a library is released under the GPL (not the LGPL), does that mean that any program which uses it has to be under the GPL? R: Yes, because the program as it is actually run includes the library. Con LGPL no tiene éste problema, siempre que estén claramente separadas las librerías con diferentes licencias. Habría dudas cuando se trata de un lenguaje interpretado, como ocurre con python. La norma es considerar que el intérprete procesa el código como "datos", con lo que no afectaría la licencia del intérprete en la aplicación que está interpretando. Pero en cambio los módulos y "bindings" (extensiones en C) que utilice el programa sí que se consideran "dinámicamente enlazados", y por lo tanto hay que tener en cuenta sus licencias. ------------ 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 hernan en orgmf.com.ar Fri Oct 8 12:37:47 2004 From: hernan en orgmf.com.ar (=?iso-8859-1?Q?Hern=E1n_Mart=EDnez_Foffani?=) Date: Fri, 8 Oct 2004 12:37:47 +0200 Subject: PyQt windows GPL (Re: Gracias por los consejos) In-Reply-To: <003901c4ad13$ca0f7110$640010ac@nombref31twj9b> References: <003901c4ad13$ca0f7110$640010ac@nombref31twj9b> Message-ID: Aclaracion previa: NO SOY ABOGADO. Lo que comento es solo lo que leo. Si quieres certeza busca asesoramiento legal. Y yo creo que ni aun así... ;) > Con esta afirmacion podemos llegar a la conclusion que si desarrollas > una aplicación con QT + otras licencias GPL o LGPL en linux y la > quieres correr en Windows utilizando la licencia comercial de QT, no > podrías hacerlo ya que las otras licencias GPL que utilizas en Linux > deberían no ser GPL en windows ? LGPL y GPL *NO* son lo mismo. Las diferencias tienen implicancias enormes en cuanto a distribucion y combinación (el termino legal que usa para el linking). > > Pues vaya marrón. > Alguien puede confirmar que si se está realizando una aplicación GPL > no se pueden incluir librerías no GPL? Entiendo que no. Si un programa P es liberado bajo GPL significa que "todas y cada una de sus partes" pueden ser usadas bajo la GPL. Bajo esa norma una parte de P, llamemosla Q, tambien podría ser usada en forma independiente bajo GPL. Pero si Q tiene otro tipo de licencia que no es compatible con la GPL entonces hay un conflicto. Ver http://www.gnu.org/licenses/gpl-faq.html#TOCGPLIncompatibleAlone y http://www.gnu.org/licenses/gpl-faq.html#TOCMoneyGuzzlerInc > En mi caso, la aplicación que desarrollo será GPL, pero hay algunas > librerías que tienen otro tipo de licencia, incluso comerciales. Mi > código es GPL y cumple las normas de las GPL usando llamadas a > librerías comerciales que se licencian por separado. El usuario sabe > que para utilizar la aplicación deberá licenciar algunas librerías y > que el resto es GPL. Tendrías que leer con mas detenimiento las distintas licencias de codigo abierto (www.opensource.org) Coger la GPL para una aplicacion porque es la mas conocida no me parece del todo correcto. Usa la GPL si estas de acuerdo con sus terminos y con la etica que predica. Entiendo que tienes un conflicto (no solo legal) si usas las Qt de TT en windows con tu aplicacion GPL. > En el caso que nos afecta si se decide por Windows, el cliente sabe > que deberá comprar la licencia de QT. > Si opta por Linux no deberá comprar nada. El principio de la GPL es que cualquiera (incluido vuestro cliente) pueda modificar cualquier parte de la aplicacion, recompilarla, usarla y redistribuirla con total libertad. > Me lo están poniendo difícil. > > Esto de las licencias es un tema cíclico, cada dos por tres volvemos > sobre el tema. > Hay alguna forma de aclararnos de una vez. Lo dudo. Sin embargo eso no significa que no puedas distribuir programas en codigo abierto. > Tengo la sensación de estar perdiendo el tiempo. Como esto siga así me > vuelvo al Java, pago, callo y todos felices. ¿Seguro? :) -H. From pachi en mmn-arquitectos.com Fri Oct 8 12:57:18 2004 From: pachi en mmn-arquitectos.com (Rafael Villar Burke) Date: Fri, 08 Oct 2004 12:57:18 +0200 Subject: PyQt windows GPL (Re: Gracias por los consejos) In-Reply-To: <200410070914.21170.py@ch3m4.org> References: <5.1.0.14.0.20041005090712.01d66e38@pop.esrf.fr> <200410061932.50559.rabs@dimension-virtual.com> <4164531C.8000008@wanadoo.es> <200410070914.21170.py@ch3m4.org> Message-ID: <4166728E.2010507@mmn-arquitectos.com> Chema Cortés wrote: >Yo, ahora mismo, tengo qt/gpl en windows compilado con MingW (un clon win32 de >las GNU gcc), y totalmente legal. Una de las libertades del software libre es >las libertad de uso para "cualquier propósito", incluído el de portarlo a >otras plataformas. Es TrollTech quien estaría incurriendo en delito si >intentara impedir su uso. > > Antes de nada, gracias por compartir los pasos de cómo has ido haciendo el "port" de la biblioteca. Es muy interesante para otros casos también. Ahora paso a comentar lo que se me viene a la cabeza respecto a todo esto de portar Qt a win32 nativo. En la práctica creo que estás haciendo un fork del proyecto, y además un fork no consensuado. Si bien el software libre permite hacer eso, también opino que las licencias constituyen un acuerdo entre quien aporta el código y sus usuarias y en este caso actúas (de forma totalmente legal) en contra de la voluntad del primero. Por ello, no sé si veo del todo bien una redistribución que cree injusta la parte que ha aportado el código (en este caso Trolltech), y que puede replantearse por eso mismo la conveniencia de usar licencias como la GPL en otros casos. Los matices que no expresa la GPL te los transmiten como desideratum de forma extra-legal simplemente por voluntad de cooperar utilizando una licencia sobre la que hay gran consenso. Creo que el software libre tiene también una justificación "ética" que puede entrar en conflicto con la solución del fork. Este mismo problema se plantea periódicamente con los módulos del kernel Linux. Es posible hacer un módulo con una licencia p.e. BSD, que carge módulos propietarios. Las personas que desarrollan el núcleo están en contra de esta práctica, puesto que lleva a dinámicas negativas para todo el mundo a medio y largo plazo, fundamentalmente la desincentivación para cooperar. Sin embargo, tampoco pueden "prohibirlo". Simplemente no lo soportan y no están a favor de tener una ABI estable que lo facilite. El corto plazo juega para que los usuarios y usuarias pidan drivers, aunque sean propietarios. De la misma manera Trolltech puede encontrarse con proyectos comerciales (que no propietarios, ¡ojo!), que no le aportan el beneficio de una amplia difusión que potencialmente les convierta en "estándar" de facto, y sin embargo le quitan mercado "comercial". Me parece claro que en Win32 Qt no tiene posibilidades de ser plataforma de desarrollo "estándar". En plataformas libres, sí. Por eso les conviene una licencia "vírica" en estos últimos y, por el contrario, ceñirse a un modelo más tradicional en una plataforma con desarrollos mayoritariamente propietarios y en los que se paga por casi todo. Para desarrollos de uso personal o sin distribución pública hay que señalar que no son de aplicación las condiciones de la GPL, que es una licencia de "distribución". En resumen: lo que me estaba preguntando es si con planteamientos supuestamente en la línea del software libre no se puede estar en la práctica perjudicando a éste. En todo caso, si se echa en falta una plataforma LGPL o compatible con GPL en win32, por las razones que sea, personalmente creo que sería más adecuado cooperar con la gente de GTK+ (que sí soporta activamente su plataforma en win32 en esas condiciones), o con quienes desarrollan los enlaces a lenguajes distintos de C, para pulir los aspectos que no gustan (por ejemplo, diciendo cuáles son). Tengo la sensación de que una buena parte de éstas vienen del hecho de usar GTK+ "a pelo" o de utilizar versiones antiguas. Los actuales enlaces desde python (http://www.pygtk.org) son excelentes y tremendamente pythónicos, y plataformas como kiwi (http://www.async.com.br/projects/kiwi/) o herramientas como Gazpacho (http://gruppy.sicem.biz/componentes) tienen un potencial enorme y, además, están desarrolladas en python. Un saludo, Pachi ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From igonza en isoco.com Fri Oct 8 12:58:19 2004 From: igonza en isoco.com (=?iso-8859-1?Q?Ignacio_Gonz=E1lez?=) Date: Fri, 8 Oct 2004 12:58:19 +0200 Subject: PyQt windows GPL (Re: Gracias por los consejos) In-Reply-To: References: <003901c4ad13$ca0f7110$640010ac@nombref31twj9b> Message-ID: <20041008105819.GL17360@isoco.com> On Fri, Oct 08, 2004 at 12:37:47PM +0200, Hernán Martínez Foffani wrote: > > En el caso que nos afecta si se decide por Windows, el cliente sabe > > que deberá comprar la licencia de QT. > > Si opta por Linux no deberá comprar nada. > > El principio de la GPL es que cualquiera (incluido vuestro cliente) > pueda modificar cualquier parte de la aplicacion, recompilarla, > usarla y redistribuirla con total libertad. Efectivamente no tiene nada que ver con el precio final adoptar una licencia u otra. > > Me lo están poniendo difícil. > > > > Esto de las licencias es un tema cíclico, cada dos por tres volvemos > > sobre el tema. > > Hay alguna forma de aclararnos de una vez. > > Lo dudo. Sin embargo eso no significa que no puedas distribuir > programas en codigo abierto. Creo que lo que hay que hacer para distribuir Software Libre es tener claro, en primer lugar, cual es el objetivo de que sea libre, tener un poco de cuidado a la hora de adoptar librerisa con determinadas licencias y si surgen dudas, consultar. En licensing en gnu.org te pueden ayudar con problemas de incompatibilidades, pero es importante que te leas tanto el texto de la licencia como los FAQ antes de preguntar. > > Tengo la sensación de estar perdiendo el tiempo. Como esto siga así me > > vuelvo al Java, pago, callo y todos felices. Desrrollar Software libre no es solo poner una etiqueta a nuestro software. Por desgracia las licencias existen por problemas LEGALES, ya que para proteger nuestro código y evitar que alguien lo use para fines que nosotros no permitimos (por ejemplo, cortar la libertad a terceros en el caso de que sea libre) debemos tener claras las licencias. Esto nos pasa con JAVA, con C++ o con el lenguaje de programación que sea. Las empresas normalmente tiene un asesor legal o un departamento legal que da cobertura a los contratos y las licencias que utilizan. Si eres programador autónomo puedes utilizar las licenicas ya redactadas que existen, pero evidetnemente tienes TU que ser tambien tu asesor legal. Esto obliga a leer, conocer y comprender las licencias tanto del softaware que compras/utlizas parar desarrollar tu software como las que aplicas para la distribución de tu software. Ten en cuenta que es IGUAL que leerse un contrato de trabajo o el contrato de la luz de tu casa. No te queda mas remedio (hagas software libre o privativo) que comprender los parámetros de distribución y limitaciones que la licencia o contrato que adoptes tiene. -- Yo diría que nos pusiéramos todos contentos sin preguntar porque. -- Miguelito -Personaje de Mafalda-. Yo iré a la carcel por culpa de las patentes de software. :) + LSSI = :X ________________________________________________________________________ Ignacio González López I.T. Dept @ iSOCO http://www.isoco.com #T(+34) 91 3349797 Intelligent Software Components, S.A. #F(+34) 91 3349799 iSOCO Madrid - Pedro de Valdivia 10, Madrid. CP 28006 ------------ 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 acastro en ciberdroide.com Fri Oct 8 13:03:16 2004 From: acastro en ciberdroide.com (Antonio Castro) Date: Fri, 8 Oct 2004 13:03:16 +0200 (CEST) Subject: Mi primer programita: modenas.py In-Reply-To: <200410081006.10843.mvillarino@dubmail.net> References: <86b8f6b90410072353294a844@mail.gmail.com> <200410081006.10843.mvillarino@dubmail.net> Message-ID: On Fri, 8 Oct 2004, mvillarino wrote: > O Venres 08 Outubro 2004 08:53, david _ escribiu: > > Abajo pongo el codigo. Me gustaria saber si la utilizacion de > > diccionarios es correcta, asi como si alguien me podria proporcionar > > #!/usr/bin/env python > > cantidad = float(raw_input("euros?")) > > for currency in (500, 200, 100, 50, 20, 10, 5, 2, 1, 0.50, 0.20, 0.10, 0.05, > 0.02, 0.01): > cantidad, resto = int(cantidad / currency), cantidad % currency > if cantidad >0: > if currency >=5: > print "%s billetes de %d euros" % (cantidad, currency) > elif currency > 1: > print "%s monedas de 2? " % cantidad > elif currency==1: > print "%s monedas de 1?" % cantidad > else: > print "%s monedas de %s céntimos" % (cantidad, currency*100) > cantidad = resto > > > Nota: Falla para las monedas de 1¢ de ?, por problemas de redondeo #!/usr/bin/python cantidad = float(raw_input("Euros: ")) for currency in (500, 200, 100, 50, 20, 10, 5, 2, 1, 0.50, 0.20, 0.10, 0.05, 0.02, 0.01): monedas= int(cantidad / currency) cantidad = cantidad % currency if monedas>0: print "%d de %.2f\n" % (monedas, currency) Nota: También falla para las monedas de 1¢ de ?, por problemas de redondeo pero es mas cortito. -- Un saludo Antonio Castro /\ /\ \\W// _|0 0|_ +-oOOO-(___o___)-OOOo---------------------+ | . . . . U U . Antonio Castro Snurmacher | | . . . . . . . acastro en ciberdroide.com | +()()()---------()()()--------------------+ From py en ch3m4.org Fri Oct 8 13:39:13 2004 From: py en ch3m4.org (Chema =?iso-8859-15?q?Cort=E9s?=) Date: Fri, 08 Oct 2004 13:39:13 +0200 Subject: PyQt windows GPL (Re: Gracias por los consejos) In-Reply-To: <4166728E.2010507@mmn-arquitectos.com> References: <5.1.0.14.0.20041005090712.01d66e38@pop.esrf.fr> <200410070914.21170.py@ch3m4.org> <4166728E.2010507@mmn-arquitectos.com> Message-ID: <200410081339.16664.py@ch3m4.org> On Friday 08 October 2004 12:57, Rafael Villar Burke wrote: > En la práctica creo que estás haciendo un fork del proyecto, y además un > fork no consensuado. Si bien el software libre permite hacer eso, > también opino que las licencias constituyen un acuerdo entre quien > aporta el código y sus usuarias y en este caso actúas (de forma > totalmente legal) en contra de la voluntad del primero. > > Por ello, no sé si veo del todo bien una redistribución que cree injusta > la parte que ha aportado el código (en este caso Trolltech), y que puede > replantearse por eso mismo la conveniencia de usar licencias como la GPL > en otros casos. Los matices que no expresa la GPL te los transmiten como > desideratum de forma extra-legal simplemente por voluntad de cooperar > utilizando una licencia sobre la que hay gran consenso. También puedes verlo desde el otro punto de vista, como que Trolltech se beneficia de aportaciones GPL a las que luego quiere restringir su uso, yendo en contra de los deseos de los programadores que han colaborado. No tengo intención ni de crear ningún fork, ni pretendo poner en compromiso los deseos de Trolltech. Para mí es un ejercicio de hacking para ver hasta dónde se puede llegar con las herramientas libres para windows. Cuando acabe, posiblemente no vuelva a utilizar windows en mi máquina personal. Y en cuanto a lo de colaborar con otros proyectos, es algo que voy haciendo regularmente, aunque no tengo todavía intención de trabajar con PyGTK. > En resumen: lo que me estaba preguntando es si con planteamientos > supuestamente en la línea del software libre no se puede estar en la > práctica perjudicando a éste. Interesante reflexión. Es el yin-yang del software libre (FSF vs OSI). ------------ 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 hernan en orgmf.com.ar Fri Oct 8 13:39:10 2004 From: hernan en orgmf.com.ar (=?iso-8859-1?Q?Hern=E1n_Mart=EDnez_Foffani?=) Date: Fri, 8 Oct 2004 13:39:10 +0200 Subject: PyQt windows GPL (Re: Gracias por los consejos) In-Reply-To: <003901c4ad13$ca0f7110$640010ac@nombref31twj9b> References: <003901c4ad13$ca0f7110$640010ac@nombref31twj9b> Message-ID: > En el caso que nos afecta si se decide por Windows, el cliente sabe > que deberá comprar la licencia de QT. > Si opta por Linux no deberá comprar nada. Por lo que pude leer por ahi lo que puedes hacer es distribuir tu aplicacion con GPL para la version X11 (*nix y similares) y para la version Win32 de tu aplicacion agregar una excepcion a la licencia: http://www.gnu.org/licenses/license-list.html#GPLIncompatibleLicenses (ver la parte que se refiere a Qt.) Te recomiendo que le dediques algun tiempo al tema. -H. From python en ammsoft.com Fri Oct 8 14:28:13 2004 From: python en ammsoft.com (Amm-Python) Date: Fri, 8 Oct 2004 14:28:13 +0200 Subject: PyQt windows GPL In-Reply-To: <20041008105819.GL17360@isoco.com> References: <20041008105819.GL17360@isoco.com> Message-ID: <000001c4ad32$48cc38d0$640010ac@nombref31twj9b> Bueno, he conseguido relajarme un poco. Creo que pasaré de Qt por el momento, eso de tener licencias diferentes según SO me cabrea. He vuelto a leer lo del "Caldero Mágico" http://gnuwin.epfl.ch/articles/es/magiccauldron/es-magic-cauldron/es-mag ic-cauldron.html Y me reafirmo en que el camino a seguir es GPL. Dado que si se utiliza WxPython en entornos Linux la apariencia es GTK y en Windows la propia de M$ creo que es la solución más sencilla. No se si la más acertada, pero si la más sencilla. Seguiré dándole palos a Boa. Para seguir liando el tema leer esto http://kylixes.ravenwizards.com/modules.php?name=News&file=article&sid=6 7 Un saludo. From python en ammsoft.com Fri Oct 8 14:41:11 2004 From: python en ammsoft.com (Amm-Python) Date: Fri, 8 Oct 2004 14:41:11 +0200 Subject: PyQt windows GPL In-Reply-To: <000001c4ad32$48cc38d0$640010ac@nombref31twj9b> References: <000001c4ad32$48cc38d0$640010ac@nombref31twj9b> Message-ID: <000b01c4ad34$1836dd90$640010ac@nombref31twj9b> Repito las direcciones ya que han quedado cortadas. http://gnuwin.epfl.ch/articles/es/magiccauldron/es-magic-cauldron/es-mag ic-cauldron.html http://kylixes.ravenwizards.com/modules.php?name=News&file=article&sid=6 7 -----Mensaje original----- De: python-es-bounces en aditel.org [mailto:python-es-bounces en aditel.org] En nombre de Amm-Python Enviado el: divendres, 8 / octubre / 2004 14:28 Para: 'La lista de python en castellano' Asunto: [Python-es] RE: PyQt windows GPL Bueno, he conseguido relajarme un poco. Creo que pasaré de Qt por el momento, eso de tener licencias diferentes según SO me cabrea. He vuelto a leer lo del "Caldero Mágico" http://gnuwin.epfl.ch/articles/es/magiccauldron/es-magic-cauldron/es-mag ic-cauldron.html Y me reafirmo en que el camino a seguir es GPL. Dado que si se utiliza WxPython en entornos Linux la apariencia es GTK y en Windows la propia de M$ creo que es la solución más sencilla. No se si la más acertada, pero si la más sencilla. Seguiré dándole palos a Boa. Para seguir liando el tema leer esto http://kylixes.ravenwizards.com/modules.php?name=News&file=article&sid=6 7 Un saludo. _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From py en ch3m4.org Fri Oct 8 15:05:28 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Fri, 08 Oct 2004 15:05:28 +0200 Subject: PyQt windows GPL In-Reply-To: <000001c4ad32$48cc38d0$640010ac@nombref31twj9b> References: <000001c4ad32$48cc38d0$640010ac@nombref31twj9b> Message-ID: <200410081505.32611.py@ch3m4.org> On Friday 08 October 2004 14:28, Amm-Python wrote: > Bueno, he conseguido relajarme un poco. > Creo que pasaré de Qt por el momento, eso de tener licencias diferentes > según SO me cabrea. > > He vuelto a leer lo del "Caldero Mágico" > http://gnuwin.epfl.ch/articles/es/magiccauldron/es-magic-cauldron/es-mag > ic-cauldron.html > > Y me reafirmo en que el camino a seguir es GPL. > > Dado que si se utiliza WxPython en entornos Linux la apariencia es GTK y > en Windows la propia de M$ creo que es la solución más sencilla. No se > si la más acertada, pero si la más sencilla. > Seguiré dándole palos a Boa. > > Para seguir liando el tema leer esto > http://kylixes.ravenwizards.com/modules.php?name=News&file=article&sid=6 > 7 (Cuidadín, la url acaba en '&sid=67') Esta noticia ya tiene un año. Conveniente leerse la carta publicada en wxWidgets, junto con un pequeño FAQ explicando la postura oficial del proyecto: http://wxwidgets.org/borland01.htm Y si quieres aún más "tema", mírate el http://wxnet.sf.net Está casi acabado. Lo siguiente será hacerlo funcionar con ironPython ;-) ------------ 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 py en topmusic.ch Fri Oct 8 15:20:03 2004 From: py en topmusic.ch (=?iso-8859-1?Q?Fran=E7ois?=) Date: Fri, 8 Oct 2004 15:20:03 +0200 Subject: PyQt windows GPL In-Reply-To: <000b01c4ad34$1836dd90$640010ac@nombref31twj9b> References: <000b01c4ad34$1836dd90$640010ac@nombref31twj9b> Message-ID: > Repito las direcciones ya que han quedado cortadas. [1] > http://gnuwin.epfl.ch/articles/es/magiccauldron/es-magic-cauldron/es-mag > [2] > http://kylixes.ravenwizards.com/modules.php?name=News&file=article&sid=6 > 7 Mas facil con minilien.com :-) [1] http://minilien.com/?OnWp6QHhPb [2] http://minilien.com/?J55kowEoQq fRANçOIS From pylorca en yahoo.com.ar Fri Oct 8 18:47:33 2004 From: pylorca en yahoo.com.ar (lorca) Date: Fri, 8 Oct 2004 13:47:33 -0300 Subject: Problemas con HTMLParser In-Reply-To: References: <20041007203656.177ce2dc@localhost> Message-ID: <20041008134733.46485ef9@localhost> lo del tidy lo habia pensado, pero es un paso mas, asi que si no me queda otra... gracias igual por la rta ;) On Fri, 8 Oct 2004 10:40:36 +0200 Hernán Martínez Foffani wrote: > > Bueno en algunas paginas cuando trato de parsearlas me tira un error, > > aparentemente es debido a una malaformacion de la pagina html > > > > por ejemplo trato de parserar los links de una pagina y me tira un > > error: > > > >>>> import parser > >>>> a = parser.LinksParser("http://yahoo.com.ar") > > > > Traceback (most recent call last): > > File "", line 1, in ? > > ...... > > HTMLParser.HTMLParseError: malformed start tag, at line 8, column 451 > > No mencionas lo mas importante: qué es lo que hay en la linea 8, > columna 451 y sus alrededores. > > > Aca les dejo el codigo, que al al parecer está bien, porque con > > algunas paginas funciona perfecto y con otras no > > El parser de hmtl del python es muy estricto. Los navegadores en > general no lo son y suelen aceptar como entrada valida htmls con > errores. Creo que eso es una herencia de cuando los htmls se > editaban a mano y no se entendía muy bien que era. jeje. > > Mi recomendación es que corrijas los html de entrada con HTMLTidy. > Hay unas bibliotecas para invocarlo directamente desde python. > > Otra posibilidad es que el error se deba a que el html incluya > codigo script. El parser de python no lo tolera. Deberías eliminar > eso de la entrada antes de pasarlo al parser. > > Si estas alternativas no son viables para tu aplicación quizás > pueda ser necesario olvidarte del parser y usar algun navegador > completo que permita ser controlado desde fuera. > > Saludos, > -H. > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es -- l o r c a Homepage: http://www.pylorca.com.ar plasma: http://lorca.homelinux.com/plasma From pan_python en yahoo.com.ar Fri Oct 8 18:50:01 2004 From: pan_python en yahoo.com.ar (Ariel Nardelli) Date: Fri, 08 Oct 2004 13:50:01 -0300 Subject: Es una pavada pero no lo encuentro :( Message-ID: <4166C539.9040008@yahoo.com.ar> Hola! Es una pavada pero no encuentro el comando :( Necesito el replicate o sea poner que repita X cantidad de veces una cadena... seria asi... Replicar 5 veces a AB y el campo resutlado es ABABABABAB :) En clipper es asi es replicate(5,"AB") y te da una cadena con 5 veces lo que este dentro de las comillas... Pero no lo encuentro en python, alguien sabe como se llama este bendito comando? Gracias From evelasco en notes.banesto.es Fri Oct 8 18:54:29 2004 From: evelasco en notes.banesto.es (evelasco en notes.banesto.es) Date: Fri, 8 Oct 2004 18:54:29 +0200 Subject: Es una pavada pero no lo encuentro :( Message-ID: Si no me equivoco, si multiplicas directamente el número por el string, así como 5 * 'AB' te debería funcionar. Salu2. Ariel Nardelli cc: Enviado por: Asunto: [Python-es] Es una pavada pero no lo encuentro :( python-es-bounces @aditel.org 08/10/2004 13:50 Por favor, responda a La lista de python en castellano Hola! Es una pavada pero no encuentro el comando :( Necesito el replicate o sea poner que repita X cantidad de veces una cadena... seria asi... Replicar 5 veces a AB y el campo resutlado es ABABABABAB :) En clipper es asi es replicate(5,"AB") y te da una cadena con 5 veces lo que este dentro de las comillas... Pero no lo encuentro en python, alguien sabe como se llama este bendito comando? Gracias _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From rabs en dimension-virtual.com Fri Oct 8 18:57:25 2004 From: rabs en dimension-virtual.com (=?iso-8859-1?q?Ra=FAl_Alexis_Betancort_Santana?=) Date: Fri, 8 Oct 2004 17:57:25 +0100 Subject: Es una pavada pero no lo encuentro :( In-Reply-To: <4166C539.9040008@yahoo.com.ar> References: <4166C539.9040008@yahoo.com.ar> Message-ID: <200410081757.25730.rabs@dimension-virtual.com> El Viernes 08 Octubre 2004 17:50, Ariel Nardelli escribió: > Hola! > > Es una pavada pero no encuentro el comando :( > > Necesito el replicate o sea poner que repita X cantidad de veces una > cadena... seria asi... > > Replicar 5 veces a AB > > y el campo resutlado es ABABABABAB :) > > En clipper es asi es replicate(5,"AB") y te da una cadena con 5 veces lo > que este dentro de las comillas... > > Pero no lo encuentro en python, alguien sabe como se llama este bendito > comando? rabs en salma:~$ python Python 2.3.4 (#2, Sep 24 2004, 08:39:09) [GCC 3.3.4 (Debian 1:3.3.4-12)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> a="a" >>> a*=5 >>> a 'aaaaa' From hernan en orgmf.com.ar Fri Oct 8 18:58:33 2004 From: hernan en orgmf.com.ar (=?iso-8859-1?Q?Hern=E1n_Mart=EDnez_Foffani?=) Date: Fri, 8 Oct 2004 18:58:33 +0200 Subject: Es una pavada pero no lo encuentro :( In-Reply-To: <4166C539.9040008@yahoo.com.ar> References: <4166C539.9040008@yahoo.com.ar> Message-ID: > Es una pavada pero no encuentro el comando :( > > Necesito el replicate o sea poner que repita X cantidad de veces una > cadena... seria asi... > > Replicar 5 veces a AB > > y el campo resutlado es ABABABABAB :) > > En clipper es asi es replicate(5,"AB") y te da una cadena con 5 veces > lo que este dentro de las comillas... > > Pero no lo encuentro en python, alguien sabe como se llama este > bendito comando? je... Python no usa el verbo replicar para esos casos. Usamos "repetir". Repetir 5 veces "AB" se codificaría: "AB" * 5 ;-) Saludos, -H. From josu en ubera.net Fri Oct 8 18:55:50 2004 From: josu en ubera.net (Josu Oyanguren) Date: Fri, 08 Oct 2004 18:55:50 +0200 Subject: Es una pavada pero no lo encuentro :( In-Reply-To: <4166C539.9040008@yahoo.com.ar> References: <4166C539.9040008@yahoo.com.ar> Message-ID: <4166C696.4060901@ubera.net> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 'AB'*5 Ariel Nardelli escribió: | Hola! | | Es una pavada pero no encuentro el comando :( | | Necesito el replicate o sea poner que repita X cantidad de veces una | cadena... seria asi... | | Replicar 5 veces a AB | | y el campo resutlado es ABABABABAB :) | | En clipper es asi es replicate(5,"AB") y te da una cadena con 5 veces lo | que este dentro de las comillas... | | Pero no lo encuentro en python, alguien sabe como se llama este bendito | comando? | | Gracias | _______________________________________________ | Python-es mailing list | Python-es en aditel.org | http://listas.aditel.org/listinfo/python-es | | - -- -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org iD8DBQFBZsaW5ju4HVxhuqQRAj0vAKDVNrcAitPPI20aGFzqOzQcIpvBVQCfaV0f Lk8YP8vLXCue9xdvTMYqY2M= =lz9h -----END PGP SIGNATURE----- ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From rapto en arrakis.es Fri Oct 8 20:27:43 2004 From: rapto en arrakis.es (Marcos =?ISO-8859-1?Q?S=E1nchez?= Provencio) Date: Fri, 08 Oct 2004 20:27:43 +0200 Subject: No se hacer funcionar el wxpython In-Reply-To: <415C438A0007662E@mta02.ono.com> (added by postmaster@mta02.onolab.com) References: <415C438A0007662E@mta02.ono.com> (added by postmaster@mta02.onolab.com) Message-ID: <1097260062.4134.1.camel@renata.macondo.pri> idle está escrito en tkinter, que se lía con wx. Lo más sencillo será usar python desde la ventana de texto o algún ide de wx (como boa, pero ojo con las versiones) El vie, 08-10-2004 a las 17:30, elchamat escribió: > Hola amigos, soy un novato que acaba de instalar el wxpython y el wxglade, > he abierto las demos para ir viendo el código e ir haciéndome una idea de > como funciona, pero cuando abro el IDLE de python y escribo el código (para > ir familiarizándome con el) al intentar ejecutarlo, no ocurre nada, no me da > ningú aviso de error, tan solo se queda parpadeando la ventana de python > shell como si estuviese corriendo el programa, pero no me sale nada. > ¡¡¡Socorro!!! . Si alguien me puede ayudar se lo agradecería en el alma. > _______________________________________________ > 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 pan_python en yahoo.com.ar Fri Oct 8 20:42:01 2004 From: pan_python en yahoo.com.ar (Ariel Nardelli) Date: Fri, 08 Oct 2004 15:42:01 -0300 Subject: Es una pavada pero no lo encuentro :( In-Reply-To: References: Message-ID: <4166DF79.4080400@yahoo.com.ar> Contesto este mensaje por la lista, los demas les agradezco por privados para con cargar la lista con agradecimientos... A todos los que me respondieron.. GRACIAS!!!! Ariel evelasco en notes.banesto.es wrote: > > >Si no me equivoco, si multiplicas directamente el número por el string, así >como 5 * 'AB' te debería funcionar. > >Salu2. > > > > > Ariel Nardelli > .com.ar> cc: > Enviado por: Asunto: [Python-es] Es una pavada pero no lo encuentro :( > python-es-bounces > @aditel.org > > > 08/10/2004 13:50 > Por favor, > responda a La > lista de python > en castellano > > > > > > >Hola! > >Es una pavada pero no encuentro el comando :( > >Necesito el replicate o sea poner que repita X cantidad de veces una >cadena... seria asi... > >Replicar 5 veces a AB > >y el campo resutlado es ABABABABAB :) > >En clipper es asi es replicate(5,"AB") y te da una cadena con 5 veces lo >que este dentro de las comillas... > >Pero no lo encuentro en python, alguien sabe como se llama este bendito >comando? > >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 > > From morillas en posta.unizar.es Fri Oct 8 21:32:11 2004 From: morillas en posta.unizar.es (Luis Miguel Morillas) Date: Fri, 8 Oct 2004 21:32:11 +0200 Subject: No se hacer funcionar el wxpython In-Reply-To: <415C438A0007662E@mta02.ono.com> (added by postmaster@mta02.onolab.com) References: <415C438A0007662E@mta02.ono.com> (added by postmaster@mta02.onolab.com) Message-ID: <1097263931.4166eb3bd9929@webmail.unizar.es> Mensaje citado por elchamat : > Hola amigos, soy un novato que acaba de instalar el wxpython y el wxglade, > he abierto las demos para ir viendo el código e ir haciéndome una idea de > como funciona, pero cuando abro el IDLE de python y escribo el código (para > ir familiarizándome con el) al intentar ejecutarlo, no ocurre nada, no me da > ningú aviso de error, tan solo se queda parpadeando la ventana de python > shell como si estuviese corriendo el programa, pero no me sale nada. > ¡¡¡Socorro!!! . Si alguien me puede ayudar se lo agradecería en el alma. > _______ Tengo aquí unos ejemplitos de clase. A lo mejor te sirven http://155.210.85.193:8080/ccia/nodes/2004-05-02/wxpython?xslt=/akara/akara.xslt ________________________________________ -- Luis Miguel From josepgimbernat en cdgir.com Fri Oct 8 23:45:01 2004 From: josepgimbernat en cdgir.com (Josep) Date: Fri, 8 Oct 2004 23:45:01 +0200 Subject: Versiones de Boa y wxWidgets Message-ID: <200410082345.01697.josepgimbernat@cdgir.com> Hola a todos, estoy trabajando con Boa desde hace poco y, viniendo de Delphi, hecho en falta muchas cosas, claro, y especialmente que me da errores desconocidos para mi. He visto comentarios sobre que hay problemas con las versiones de Boa.. ¿a qué os referis, concretamente? ¿a problemas con Python, o con wxWidgtes (antes wxWindows) o con alguna libreria? y, lo más importante ¿qué versión funciona bién con qué? Grácias por adelantado. ___________________________________________________________________________ Mensaje analizado y protegido por la tecnologia antivirus www.trendmicro.es From fvillarroel en yahoo.com Sat Oct 9 01:00:19 2004 From: fvillarroel en yahoo.com (FERNANDO VILLARROEL) Date: Fri, 8 Oct 2004 16:00:19 -0700 (PDT) Subject: Dialogos wxpython Message-ID: <20041008230019.77286.qmail@web41211.mail.yahoo.com> Hola quisiera saber como crear un dialogo de consulta, es decir que presente dos botones SI o NO, por ejemplo para interactuar con el usuario, ejemplo Desea Imprimir, me imagino que debe ser similar al wxMessageBox Otra cosa es como se pasan variables entre formularios, en visual basic se hacia referenciando el formulario que contenia el valor: variable=formulario1.TextControl.value Como se hace aca en wxPython? Finalmente como le paso el focus a un control determinado, ejemplo TextControl.setfocus (esto lo hacia en VB) como es aca? Saludos a todos. Fernando Villarroel N. Chile __________________________________ Do you Yahoo!? Take Yahoo! Mail with you! Get it on your mobile phone. http://mobile.yahoo.com/maildemo ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From bitpolis en gmail.com Sat Oct 9 03:48:12 2004 From: bitpolis en gmail.com (Mauricio Osorio Ayub) Date: Fri, 8 Oct 2004 20:48:12 -0500 Subject: ocultar ventana por x tiempo Message-ID: <2ddc9cbb041008184871028425@mail.gmail.com> Desde hace algunos meses he estado leyendo los mensajes, y no se si exista ya la respuesta a la pregunta (no encuentro)....... estoy usando pygtk, lo que busco es hacer que la ventana se oculte con el evento o señal 'clicked' del ratón (al pulsar botón), y luego de transcurrir x segundos, la ventana se muestre. he ensayado con varias formas y no lo he conseguido, aparentemente esta debería funcionar: pero no. def ocultarymostrar(self): self.laventana.hide() time.sleep(4) print 'van 4' self.laventana.show() una forma sería usar thread, pero no consigo nada. les agradezco sus ideas. From rapto en arrakis.es Sat Oct 9 10:26:27 2004 From: rapto en arrakis.es (Marcos =?ISO-8859-1?Q?S=E1nchez?= Provencio) Date: Sat, 09 Oct 2004 10:26:27 +0200 Subject: Curro en Microsoft Message-ID: <1097310386.4112.2.camel@renata.macondo.pri> Jim Hugunin, el autor de Jython, ahora contratado por Microsoft, busca un ayudante para acabar IronPython http://www.ironpython.com/ (el equivalente de Jython en .NET) http://article.gmane.org/gmane.comp.python.ironpython.user/200 Son tiempos interesantes :-$ ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From rvr en infoastro.com Sat Oct 9 19:09:34 2004 From: rvr en infoastro.com (=?iso-8859-15?q?V=EDctor_R=2E?= Ruiz) Date: Sat, 9 Oct 2004 18:09:34 +0100 Subject: Curro en Microsoft In-Reply-To: <1097310386.4112.2.camel@renata.macondo.pri> References: <1097310386.4112.2.camel@renata.macondo.pri> Message-ID: <200410091809.34768.rvr@infoastro.com> Hola: El Sábado 09 Octubre 2004 09:26, Marcos Sánchez Provencio tecleó: > Jim Hugunin, el autor de Jython, ahora contratado por Microsoft, busca > un ayudante para acabar IronPython http://www.ironpython.com/ (el > equivalente de Jython en .NET) > http://article.gmane.org/gmane.comp.python.ironpython.user/200 Interesante... aunque es para trabajar con él en Microsoft (música de Darth Vader ;) Saludetes, -- Víctor R. Ruiz | - Todos estos momentos se perderán http://infoastro.com/rvr | como lágrimas en la lluvia ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From gumerco en yahoo.es Sat Oct 9 23:30:50 2004 From: gumerco en yahoo.es (Gumer Coronel =?ISO-8859-1?Q?P=E9rez?=) Date: Sat, 09 Oct 2004 23:30:50 +0200 Subject: Dialogos wxpython In-Reply-To: <20041008230019.77286.qmail@web41211.mail.yahoo.com> References: <20041008230019.77286.qmail@web41211.mail.yahoo.com> Message-ID: <1097357450.2919.5.camel@Zeus> > Otra cosa es como se pasan variables entre > formularios, en visual basic se hacia referenciando el > formulario que contenia el valor: > variable=formulario1.TextControl.value > Como se hace aca en wxPython? variable=formulario1.TextControl.GetValue() > Finalmente como le paso el focus a un control > determinado, ejemplo TextControl.setfocus (esto lo > hacia en VB) como es aca? TexControl.SetFocus() > Saludos a todos. > > Fernando Villarroel N. > Chile > > > > __________________________________ > Do you Yahoo!? > Take Yahoo! Mail with you! Get it on your mobile phone. > http://mobile.yahoo.com/maildemo > _______________________________________________ > 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 py en ch3m4.org Sun Oct 10 11:03:51 2004 From: py en ch3m4.org (Chema =?iso-8859-1?b?Q29ydOlz?=) Date: Sun, 10 Oct 2004 05:03:51 -0400 Subject: [OT] =?iso-8859-1?q?Aclaraci=F3n?= sobre QT/GPL para windows Message-ID: <1097399031.4168faf7f1b54@ch3m4.org> Después de todo el revuelo sobre el tema de las Qt/GPL para windows, creo que habría que aclarar algo: 1) Trolltech no puede impedir que su versión GPL sea utilizada en windows. Es una de las "libertades" del software libre, el poder ser empleado para cualquier propósito. 2) Trolltech, en cambio, sí que tiene derecho a la compensación por su trabajo. Es un derecho que no ha sido alienado por la GPL ("copyleft") y por lo tanto sigue siendo preciso adquirir las licencias de uso a Trolltech si queremos usar Qt/GPL en windows. La única ventaja que conseguimos es tener una librería GPL apta para enlazar con otras librerías GPL que necesitemos. Hay que recordar que la GPL es un licencia de "distribución" y no una licencia de uso. Normalmente, al software GPL no va acompañado de una licencia de uso y se sobreentiende que su uso es gratuito; pero en el caso de las Qt no es así, ya que "explícitamente" Trolltech exige adquirir una licencia para windows. Un caso algo diferente sería con RiverBank, los creadores de PyQt. Según dicen, su PyQt sigue la misma licencia que Qt. Si se usa la licencia comercial de Qt, hay que adquirir la licencia comercial de PyQt; pero si se usa la licencia GPL de Qt para windows no está claro qué licencia habría que usar de PyQt. Supongo que ésto tendrán que aclararlo los de RiverBank próximamente. No sé si he aclarado el tema, o lo he liado aún más. Está claro que Trolltech debería revisar mejor el tema de las licencias si no quiere que los desarrolladores huyan de las Qts por evitarse problemas legales. From frjanibo en teleline.es Sun Oct 10 16:06:16 2004 From: frjanibo en teleline.es (Francisco Javier Nieto) Date: Sun, 10 Oct 2004 16:06:16 +0200 Subject: [OT] =?ISO-8859-15?Q?Aclaraci=F3n_sobre_QT/G?= =?ISO-8859-15?Q?PL_para_windows?= In-Reply-To: <1097399031.4168faf7f1b54@ch3m4.org> References: <1097399031.4168faf7f1b54@ch3m4.org> Message-ID: <416941D8.3030605@teleline.es> >2) Trolltech, en cambio, sí que tiene derecho a la compensación por su trabajo. >Es un derecho que no ha sido alienado por la GPL ("copyleft") y por lo tanto >sigue siendo preciso adquirir las licencias de uso a Trolltech si queremos usar >Qt/GPL en windows. La única ventaja que conseguimos es tener una librería GPL >apta para enlazar con otras librerías GPL que necesitemos. > >Hay que recordar que la GPL es un licencia de "distribución" y no una licencia >de uso. Normalmente, al software GPL no va acompañado de una licencia de uso y >se sobreentiende que su uso es gratuito; pero en el caso de las Qt no es así, >ya que "explícitamente" Trolltech exige adquirir una licencia para windows. > > Creo que estás en un error. Una de las libertades proporcionadas por la GPL es la 'libertad de uso'. Stallman para explicar eso pone el ejemplo del martillo: Imagina que alguien te vende un martillo pero te dice 'ey, con este martillo puedes clavar clavos en la madera, pero no puedes clavarlos en la pared porque para eso tengo... ¡este otro maravilloso martillo idéntico al anterior pero un 30% más caro!'. Es decir, la GPL no limita la 'libertad de uso', es más, la exige. Y esto aplicado al tema de las Qt pues (entiendo) significa que si hay una versión GLP, esta es libremente 'modificable, redistribuible y usable'. Os pego un enlace de gnu que habla de ello: http://www.gnu.org/licenses/gpl-faq.html#GPLFairUse ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From acurro en wanadoo.es Sun Oct 10 16:20:04 2004 From: acurro en wanadoo.es (Alberto Curro) Date: Sun, 10 Oct 2004 16:20:04 +0200 Subject: [OT] =?ISO-8859-1?Q?Aclaraci=F3n_sobre_QT/GP?= =?ISO-8859-1?Q?L_para_windows?= In-Reply-To: <1097399031.4168faf7f1b54@ch3m4.org> References: <1097399031.4168faf7f1b54@ch3m4.org> Message-ID: <41694514.7070200@wanadoo.es> >2) Trolltech, en cambio, sí que tiene derecho a la compensación por su trabajo. >Es un derecho que no ha sido alienado por la GPL ("copyleft") y por lo tanto >sigue siendo preciso adquirir las licencias de uso a Trolltech si queremos usar >Qt/GPL en windows. La única ventaja que conseguimos es tener una librería GPL >apta para enlazar con otras librerías GPL que necesitemos. > >Hay que recordar que la GPL es un licencia de "distribución" y no una licencia >de uso. Normalmente, al software GPL no va acompañado de una licencia de uso y >se sobreentiende que su uso es gratuito; pero en el caso de las Qt no es así, >ya que "explícitamente" Trolltech exige adquirir una licencia para windows. > > Uhmmm, creo que ese planteamiento está equivocado. Yo como usuario de la versión GPL de Qt en Linux (y recordemos que existe versión comercial para Linux) no estoy obligado a comprar la versión comercial para hacer uso de ella. SÍ tengo que hacerlo si el software que voy a distribuir va a ser de uso exclusivamente comercial, punto en el cual me meto en un ámbito comercial y en el que la GPL deja de ser válida y en el que Trolltech entra a saco por mis riñones. Claro está, según creo.... porque esto de las licencias GPL/comerciales y las duales es extremedamente lioso y por lo que veo ni unos ni otros tenemos muy claro a qué clavo agarrarnos. Más nos hubiese valido haber estudiado derecho y no informática, porque el licenciamiento, las patentes y los derechos de propiedad tecnológicos y de autor promete ser un campo muy muy jugoso a partir de ya, y así también podríamos aclarar mejor las cosas. >Un caso algo diferente sería con RiverBank, los creadores de PyQt. Según dicen, >su PyQt sigue la misma licencia que Qt. Si se usa la licencia comercial de Qt, >hay que adquirir la licencia comercial de PyQt; pero si se usa la licencia GPL >de Qt para windows no está claro qué licencia habría que usar de PyQt. Supongo >que ésto tendrán que aclararlo los de RiverBank próximamente. > > >No sé si he aclarado el tema, o lo he liado aún más. Está claro que Trolltech >debería revisar mejor el tema de las licencias si no quiere que los >desarrolladores huyan de las Qts por evitarse problemas legales. > > Yo pienso lo mismo. Hasta ahora no tenían demasiado problema porque la mayoría de los desarrolladores desarrollaban con GPL en Linux (y casi exclusivamente), y para Windows adquirían la licencia comercial. Le gente de Affinix (desarrolladores principales del PSI, un cliente Jabber) de hecho distribuye el binario de Windows con una versión comercial licenciada por Trolltech. Y más empresas hicieron lo mismo. Lo que estaba claro es que la situación no tenía visos de continuar así de forma indefinida; en Trolltech lo supieron siempre sólo que, como es habitual, ahora que empieza a existir movimiento por parte de la comunidad para deshacerse de ellos (es un decir), agacharán la cabeza, arreglarán esto y encima se presentarán como "los buenos" en todo momento. El caso de Riverbank sí que es curioso. Yo tampoco tengo claro qué licencia habría que seguir en caso de usar las Qt/X11 GPL del kde-cygwin. Saludos >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es > > > From gperez en bsinformatics.com Sun Oct 10 17:09:53 2004 From: gperez en bsinformatics.com (=?iso-8859-1?Q?Dep._T=E8cnic_-_Batll=F2ria_Sistemes_Inform=E0tics=2C_SL?=) Date: Sun, 10 Oct 2004 17:09:53 +0200 Subject: =?iso-8859-1?Q?RE:_=5BPython-es=5D_=5BOT=5D_Aclaraci=F3n_sobre_QT/GPL?= =?iso-8859-1?Q?_para_windows?= In-Reply-To: <41694514.7070200@wanadoo.es> References: <41694514.7070200@wanadoo.es> Message-ID: Solo un apunte, creo que la GPL es perfectamente valida para hacer software comercial. Osea la GPL no deja de ser valida en ningún momento. >2) Trolltech, en cambio, sí que tiene derecho a la compensación por su trabajo. >Es un derecho que no ha sido alienado por la GPL ("copyleft") y por lo tanto >sigue siendo preciso adquirir las licencias de uso a Trolltech si queremos usar >Qt/GPL en windows. La única ventaja que conseguimos es tener una librería GPL >apta para enlazar con otras librerías GPL que necesitemos. > >Hay que recordar que la GPL es un licencia de "distribución" y no una licencia >de uso. Normalmente, al software GPL no va acompañado de una licencia de uso y >se sobreentiende que su uso es gratuito; pero en el caso de las Qt no es así, >ya que "explícitamente" Trolltech exige adquirir una licencia para windows. > > Uhmmm, creo que ese planteamiento está equivocado. Yo como usuario de la versión GPL de Qt en Linux (y recordemos que existe versión comercial para Linux) no estoy obligado a comprar la versión comercial para hacer uso de ella. SÍ tengo que hacerlo si el software que voy a distribuir va a ser de uso exclusivamente comercial, punto en el cual me meto en un ámbito comercial y en el que la GPL deja de ser válida y en el que Trolltech entra a saco por mis riñones. Claro está, según creo.... porque esto de las licencias GPL/comerciales y las duales es extremedamente lioso y por lo que veo ni unos ni otros tenemos muy claro a qué clavo agarrarnos. Más nos hubiese valido haber estudiado derecho y no informática, porque el licenciamiento, las patentes y los derechos de propiedad tecnológicos y de autor promete ser un campo muy muy jugoso a partir de ya, y así también podríamos aclarar mejor las cosas. >Un caso algo diferente sería con RiverBank, los creadores de PyQt. Según dicen, >su PyQt sigue la misma licencia que Qt. Si se usa la licencia comercial de Qt, >hay que adquirir la licencia comercial de PyQt; pero si se usa la licencia GPL >de Qt para windows no está claro qué licencia habría que usar de PyQt. Supongo >que ésto tendrán que aclararlo los de RiverBank próximamente. > > >No sé si he aclarado el tema, o lo he liado aún más. Está claro que Trolltech >debería revisar mejor el tema de las licencias si no quiere que los >desarrolladores huyan de las Qts por evitarse problemas legales. > > Yo pienso lo mismo. Hasta ahora no tenían demasiado problema porque la mayoría de los desarrolladores desarrollaban con GPL en Linux (y casi exclusivamente), y para Windows adquirían la licencia comercial. Le gente de Affinix (desarrolladores principales del PSI, un cliente Jabber) de hecho distribuye el binario de Windows con una versión comercial licenciada por Trolltech. Y más empresas hicieron lo mismo. Lo que estaba claro es que la situación no tenía visos de continuar así de forma indefinida; en Trolltech lo supieron siempre sólo que, como es habitual, ahora que empieza a existir movimiento por parte de la comunidad para deshacerse de ellos (es un decir), agacharán la cabeza, arreglarán esto y encima se presentarán como "los buenos" en todo momento. El caso de Riverbank sí que es curioso. Yo tampoco tengo claro qué licencia habría que seguir en caso de usar las Qt/X11 GPL del kde-cygwin. 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 gperez en bsinformatics.com Sun Oct 10 17:13:22 2004 From: gperez en bsinformatics.com (=?iso-8859-1?Q?Dep._T=E8cnic_-_Batll=F2ria_Sistemes_Inform=E0tics=2C_SL?=) Date: Sun, 10 Oct 2004 17:13:22 +0200 Subject: =?iso-8859-1?Q?RE:_=5BPython-es=5D_=5BOT=5D_Aclaraci=F3n_sobre_QT/GPL?= =?iso-8859-1?Q?_para_windows?= In-Reply-To: <41694514.7070200@wanadoo.es> References: <41694514.7070200@wanadoo.es> Message-ID: Miraros esto: Facturalux nativo para Windows y totalmente GPL utilizando las librerías QT/Win32 GPL que se están portando a partir de la QT/X11 en el proyecto KDE/CYGWIN. http://facturalux.org/modules.php?op=modload&name=News&file=article&sid=41&m ode=thread&order=0&thold=0 -----Mensaje original----- De: python-es-bounces en aditel.org [mailto:python-es-bounces en aditel.org]En nombre de Alberto Curro Enviado el: domingo, 10 de octubre de 2004 16:20 Para: La lista de python en castellano Asunto: Re: [Python-es] [OT] Aclaración sobre QT/GPL para windows >2) Trolltech, en cambio, sí que tiene derecho a la compensación por su trabajo. >Es un derecho que no ha sido alienado por la GPL ("copyleft") y por lo tanto >sigue siendo preciso adquirir las licencias de uso a Trolltech si queremos usar >Qt/GPL en windows. La única ventaja que conseguimos es tener una librería GPL >apta para enlazar con otras librerías GPL que necesitemos. > >Hay que recordar que la GPL es un licencia de "distribución" y no una licencia >de uso. Normalmente, al software GPL no va acompañado de una licencia de uso y >se sobreentiende que su uso es gratuito; pero en el caso de las Qt no es así, >ya que "explícitamente" Trolltech exige adquirir una licencia para windows. > > Uhmmm, creo que ese planteamiento está equivocado. Yo como usuario de la versión GPL de Qt en Linux (y recordemos que existe versión comercial para Linux) no estoy obligado a comprar la versión comercial para hacer uso de ella. SÍ tengo que hacerlo si el software que voy a distribuir va a ser de uso exclusivamente comercial, punto en el cual me meto en un ámbito comercial y en el que la GPL deja de ser válida y en el que Trolltech entra a saco por mis riñones. Claro está, según creo.... porque esto de las licencias GPL/comerciales y las duales es extremedamente lioso y por lo que veo ni unos ni otros tenemos muy claro a qué clavo agarrarnos. Más nos hubiese valido haber estudiado derecho y no informática, porque el licenciamiento, las patentes y los derechos de propiedad tecnológicos y de autor promete ser un campo muy muy jugoso a partir de ya, y así también podríamos aclarar mejor las cosas. >Un caso algo diferente sería con RiverBank, los creadores de PyQt. Según dicen, >su PyQt sigue la misma licencia que Qt. Si se usa la licencia comercial de Qt, >hay que adquirir la licencia comercial de PyQt; pero si se usa la licencia GPL >de Qt para windows no está claro qué licencia habría que usar de PyQt. Supongo >que ésto tendrán que aclararlo los de RiverBank próximamente. > > >No sé si he aclarado el tema, o lo he liado aún más. Está claro que Trolltech >debería revisar mejor el tema de las licencias si no quiere que los >desarrolladores huyan de las Qts por evitarse problemas legales. > > Yo pienso lo mismo. Hasta ahora no tenían demasiado problema porque la mayoría de los desarrolladores desarrollaban con GPL en Linux (y casi exclusivamente), y para Windows adquirían la licencia comercial. Le gente de Affinix (desarrolladores principales del PSI, un cliente Jabber) de hecho distribuye el binario de Windows con una versión comercial licenciada por Trolltech. Y más empresas hicieron lo mismo. Lo que estaba claro es que la situación no tenía visos de continuar así de forma indefinida; en Trolltech lo supieron siempre sólo que, como es habitual, ahora que empieza a existir movimiento por parte de la comunidad para deshacerse de ellos (es un decir), agacharán la cabeza, arreglarán esto y encima se presentarán como "los buenos" en todo momento. El caso de Riverbank sí que es curioso. Yo tampoco tengo claro qué licencia habría que seguir en caso de usar las Qt/X11 GPL del kde-cygwin. 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 listas en nnss.d7.be Sun Oct 10 17:27:55 2004 From: listas en nnss.d7.be (Matias) Date: Sun, 10 Oct 2004 12:27:55 -0300 Subject: [OT] =?ISO-8859-1?Q?Aclaraci=F3n?= sobre QT/GPL para windows In-Reply-To: References: <41694514.7070200@wanadoo.es> Message-ID: <20041010122755.110c6d0b@nnss.d7.be> El Sun, 10 Oct 2004 17:09:53 +0200 "Dep. Tècnic - Batllòria Sistemes Informàtics, SL" escribió: > Solo un apunte, creo que la GPL es perfectamente valida para hacer > software comercial. Osea la GPL no deja de ser valida en ningún > momento. Hola: Tienes toda la razón, un programa comercial puede ser GPL. Pero ese programa comercial no debe prohibir de ninguna forma el acceso al código fuente, así mismo las modificaciones que se le quieran hacer a éste. Por desgracia, existe una analogía implícita que hace parecer que todo software comercial DEBE ser código cerrado. -- Atentamente, yo Y sigo sin fumar desde el '1089515700' http://www.nnss.d7.be just GNU it -- http://www.gnu.org From nuevodebian28 en yahoo.es Sun Oct 10 18:43:17 2004 From: nuevodebian28 en yahoo.es (Joseba) Date: Sun, 10 Oct 2004 18:43:17 +0200 Subject: [OT] =?ISO-8859-1?Q?Aclaraci=F3n_sobre_QT/GP?= =?ISO-8859-1?Q?L_para_windows?= In-Reply-To: References: Message-ID: <416966A5.9040004@yahoo.es> Dep. Tècnic - Batllòria Sistemes Informàtics, SL wrote: >Solo un apunte, creo que la GPL es perfectamente valida para hacer software >comercial. Osea la GPL no deja de ser valida en ningún momento. > > Sofware comercial si, debian linux puede ser perfectamente vendido. Software privativo, bajo una licencia diferente a la gpl no. Cualquier modificacion, uso etc que se haga de un programa licenciado en gpl da como resultado otro programa en gpl. Asi de claro. Otras licencias como bsd si permiten un uso comercial de los productos, es decir por ejemplo windows tiene codigo de bsd reconocido en su sistema, y vende su producto como software privativo. No podria hacer lo mismo si hubiese usado partes de programas gpl. En eso se basa el negocio de trolltech, que quien quiera usar sus librerias para hacer codigo cerrado (y probablemente comercial) necesita usar las licencias comerciales de trollctech La licencia "menor" de la gpl es la lgpl, para librerias, que si permite el uso en software privativo, similar a las licencias bsd, python etc. > > > >>2) Trolltech, en cambio, sí que tiene derecho a la compensación por su >> >> >trabajo. > > >>Es un derecho que no ha sido alienado por la GPL ("copyleft") y por lo >> >> >tanto > > >>sigue siendo preciso adquirir las licencias de uso a Trolltech si queremos >> >> >usar > > >>Qt/GPL en windows. La única ventaja que conseguimos es tener una librería >> >> >GPL > > >>apta para enlazar con otras librerías GPL que necesitemos. >> >>Hay que recordar que la GPL es un licencia de "distribución" y no una >> >> >licencia > > >>de uso. Normalmente, al software GPL no va acompañado de una licencia de >> >> >uso y > > >>se sobreentiende que su uso es gratuito; pero en el caso de las Qt no es >> >> >así, > > >>ya que "explícitamente" Trolltech exige adquirir una licencia para windows. >> >> >> >> > > Uhmmm, creo que ese planteamiento está equivocado. Yo como usuario >de la versión GPL de Qt en Linux (y recordemos que existe versión >comercial para Linux) no estoy obligado a comprar la versión comercial >para hacer uso de ella. SÍ tengo que hacerlo si el software que voy a >distribuir va a ser de uso exclusivamente comercial, punto en el cual me >meto en un ámbito comercial y en el que la GPL deja de ser válida y en >el que Trolltech entra a saco por mis riñones. > > Claro está, según creo.... porque esto de las licencias >GPL/comerciales y las duales es extremedamente lioso y por lo que veo ni >unos ni otros tenemos muy claro a qué clavo agarrarnos. Más nos hubiese >valido haber estudiado derecho y no informática, porque el >licenciamiento, las patentes y los derechos de propiedad tecnológicos y >de autor promete ser un campo muy muy jugoso a partir de ya, y así >también podríamos aclarar mejor las cosas. > > > >>Un caso algo diferente sería con RiverBank, los creadores de PyQt. Según >> >> >dicen, > > >>su PyQt sigue la misma licencia que Qt. Si se usa la licencia comercial de >> >> >Qt, > > >>hay que adquirir la licencia comercial de PyQt; pero si se usa la licencia >> >> >GPL > > >>de Qt para windows no está claro qué licencia habría que usar de PyQt. >> >> >Supongo > > >>que ésto tendrán que aclararlo los de RiverBank próximamente. >> >> >>No sé si he aclarado el tema, o lo he liado aún más. Está claro que >> >> >Trolltech > > >>debería revisar mejor el tema de las licencias si no quiere que los >>desarrolladores huyan de las Qts por evitarse problemas legales. >> >> >> >> > > Yo pienso lo mismo. Hasta ahora no tenían demasiado problema porque >la mayoría de los desarrolladores desarrollaban con GPL en Linux (y casi >exclusivamente), y para Windows adquirían la licencia comercial. Le >gente de Affinix (desarrolladores principales del PSI, un cliente >Jabber) de hecho distribuye el binario de Windows con una versión >comercial licenciada por Trolltech. Y más empresas hicieron lo mismo. > > Lo que estaba claro es que la situación no tenía visos de continuar >así de forma indefinida; en Trolltech lo supieron siempre sólo que, como >es habitual, ahora que empieza a existir movimiento por parte de la >comunidad para deshacerse de ellos (es un decir), agacharán la cabeza, >arreglarán esto y encima se presentarán como "los buenos" en todo momento. > > El caso de Riverbank sí que es curioso. Yo tampoco tengo claro qué >licencia habría que seguir en caso de usar las Qt/X11 GPL del kde-cygwin. > > 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 > >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es > > > From acurro en wanadoo.es Sun Oct 10 22:43:09 2004 From: acurro en wanadoo.es (Alberto Curro) Date: Sun, 10 Oct 2004 22:43:09 +0200 Subject: [OT] =?ISO-8859-1?Q?Aclaraci=F3n_sobre_QT/GP?= =?ISO-8859-1?Q?L_para_windows?= In-Reply-To: References: Message-ID: <41699EDD.2050505@wanadoo.es> Dep. Tècnic - Batllòria Sistemes Informàtics, SL wrote: Bien, pero eso es un caso "típico". Tienen un proyecto comercial (suscriptores) y además distribuyen bajo GPL. Para el caso comercial el binario que te distribuyen incluye una versión comercial binaria y no modificable de la Qt comercial (comprobado). En el caso GPL, si hubiesen tenido que modificar algo en la librería Qt/X11 o Qt/KDE-Cygwin, entonces yo podría ir y pedirles una copia de la librería usada para compilar los fuentes, cosa a lo que no se pueden negar porque les obliga la GPL. El hecho es que la GPL no es la librería más adecuada para realizar proyectos comerciales. Incluso muchos desarrolladores abrazaron otras licencias dados los problemas que tenían en cuanto a la licencia final de cara de usuario. Si yo voy a desarrollar algo a partir de otro algo en GPL, la característica "vírica" de la GPL impregnará todo mi código. Los propios fabricantes de dispositivos que hacen uso del kernel Linux se ven metidos en un buen fregado en el cual nadie les puede decir hasta qué punto del código están obligados a distribuir. Kiss, por ejemplo, ofrece en su página web el código fuente de Linux modificado para hacer funcionar sus reproductores. La parte específica que usan comercial está separada y no tienes acceso, pero aún así con el kernel modificado la gente ha podido desarrollar firmware's abiertos, servidores multimedia para servir ficheros al reproductor, etc., cosa que como es lógico les repatea el culo pero de la que no pueden hacer nada. Saludos >Miraros esto: > >Facturalux nativo para Windows y totalmente GPL utilizando las librerías >QT/Win32 GPL que se están portando a partir de la QT/X11 en el proyecto >KDE/CYGWIN. > >http://facturalux.org/modules.php?op=modload&name=News&file=article&sid=41&m >ode=thread&order=0&thold=0 > > From dandia en montevideo.com.uy Sun Oct 10 23:12:49 2004 From: dandia en montevideo.com.uy (Daniel =?ISO-8859-15?Q?D=EDaz?=) Date: Sun, 10 Oct 2004 18:12:49 -0300 Subject: interfaz =?iso-8859-15?q?gr=E1fica?= - Tkinter Message-ID: <20041010181249.119c4eff@nutria.micasa.com.uy> Hola, hace muy tiempo que estoy con Python, y me ha costado mucho la parte de interfaz gráfica. Y al final me decidi por tkinter. Según su experiencia, es un buen camino o hay mejores opciones (sobre todo por el aprendizaje) Saludos desde Uruguay.- -- ******************************* José Daniel Díaz Pose. dandia en montevideo.com.uy MSN: dandia28 en hotmail.com San José - Uruguay ******************************* ------------ 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 Oct 11 00:56:04 2004 From: pepe en diselpro.com (Pepe Aracil) Date: Mon, 11 Oct 2004 00:56:04 +0200 Subject: ocultar ventana por x tiempo In-Reply-To: <2ddc9cbb041008184871028425@mail.gmail.com> References: <2ddc9cbb041008184871028425@mail.gmail.com> Message-ID: <200410110056.04831.pepe@diselpro.com> Tienes que llamar el bucle principal de GTK para que procese los eventos pendientes y finalice el "self.laventana.hide()". Prueba esto: def ocultarymostrar(self): self.laventana.hide() while gtk.events_pending(): gtk.main_iteration(False) time.sleep(4) print 'van 4' self.laventana.show() Saludos. El Sábado, 9 de Octubre de 2004 03:48, Mauricio Osorio Ayub escribió: > Desde hace algunos meses he estado leyendo los mensajes, > y no se si exista ya la respuesta a la pregunta (no encuentro)....... > > estoy usando pygtk, lo que busco es hacer que la ventana se oculte > con el evento o señal 'clicked' del ratón (al pulsar botón), y luego de > transcurrir x segundos, la ventana se muestre. > > he ensayado con varias formas y no lo he conseguido, aparentemente > esta debería funcionar: > pero no. > > def ocultarymostrar(self): > self.laventana.hide() > time.sleep(4) > print 'van 4' > self.laventana.show() > > > una forma sería usar thread, pero no consigo nada. > les agradezco sus ideas. > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From ch3m4 en ch3m4.org Mon Oct 11 02:27:48 2004 From: ch3m4 en ch3m4.org (ch3m4 en ch3m4.org) Date: Sun, 10 Oct 2004 20:27:48 -0400 Subject: [OT] =?iso-8859-1?b?QWNsYXJhY2nzbg==?= sobre QT/GPL para windows In-Reply-To: <416941D8.3030605@teleline.es> References: <1097399031.4168faf7f1b54@ch3m4.org> <416941D8.3030605@teleline.es> Message-ID: <1097454468.4169d38404e5b@ch3m4.org> Mensaje citado por Francisco Javier Nieto : > Creo que estás en un error. Una de las libertades proporcionadas por la > GPL es la 'libertad de uso'. Stallman para explicar eso pone el ejemplo > del martillo: Imagina que alguien te vende un martillo pero te dice 'ey, > con este martillo puedes clavar clavos en la madera, pero no puedes > clavarlos en la pared porque para eso tengo... ¡este otro maravilloso > martillo idéntico al anterior pero un 30% más caro!'. Olvidas que la GPL es una licencia de distribución y que explícitamente se inhibe ante cualquier otra interpretación. Te dice que el que distribuye la copia puede o no cobrar por hacerlo. Te dice que puedes ejecutar el código si de ello depende alguna de las libertades de estudiar y modificar el código. Pero en ningún sitio habla que el autor tenga que renunciar a la propiedad de su obra, ni de que no tenga derecho a exigir una compensación a quien la use. > Es decir, la GPL no limita la 'libertad de uso', es más, la exige. Y > esto aplicado al tema de las Qt pues (entiendo) significa que si hay una > versión GLP, esta es libremente 'modificable, redistribuible y usable'. La libertad de uso (para cualquier propósito) es necesaria para evitar abusos que pudieran perjudicar las libertades del software libre. Pero insisto, no te da ningún derecho a hacerlo gratis. Y si quieres analogías, te pongo una: piensa que soy músico y que compongo una alegre melodía apta para bodas y bautizos, y que la distribuyo como GPL. Tu coges la partitura y la usas para un arreglo, cambias la clave a una menor y la destinas a funerales. Para colmo, tus partituras se empiezan a vender mucho mejor que las mías originales. Al haber empleado GPL tengo que aceptar que hayas hecho tales modificaciones y que las vendas, e incluso que hayas cambiado la finalidad de la obra (libertad de uso), pero siempre podré exigir mis derechos de autor cuando esa música sea interpretada (bueno, en realidad de ésto se encargará la SGAE :-P). From ch3m4 en ch3m4.org Mon Oct 11 02:41:13 2004 From: ch3m4 en ch3m4.org (ch3m4 en ch3m4.org) Date: Sun, 10 Oct 2004 20:41:13 -0400 Subject: [OT] =?iso-8859-1?b?QWNsYXJhY2nzbg==?= sobre QT/GPL para windows In-Reply-To: <41694514.7070200@wanadoo.es> References: <1097399031.4168faf7f1b54@ch3m4.org> <41694514.7070200@wanadoo.es> Message-ID: <1097455273.4169d6a981675@ch3m4.org> Mensaje citado por Alberto Curro : > Uhmmm, creo que ese planteamiento está equivocado. Yo como usuario > de la versión GPL de Qt en Linux (y recordemos que existe versión > comercial para Linux) no estoy obligado a comprar la versión comercial > para hacer uso de ella. SÍ tengo que hacerlo si el software que voy a > distribuir va a ser de uso exclusivamente comercial, punto en el cual me > meto en un ámbito comercial y en el que la GPL deja de ser válida y en > el que Trolltech entra a saco por mis riñones. Tienes razón, la licencia comercial de Qt es una licencia de "desarrollo", no de "uso". Quien tiene que comprar la licencia es el desarrollador. Los runtimes que se generen no llevan ningún gravamen por usarlos. From pabloreysobral en gmail.com Mon Oct 11 02:53:34 2004 From: pabloreysobral en gmail.com (Pablo Rey Sobral) Date: Mon, 11 Oct 2004 02:53:34 +0200 Subject: =?ISO-8859-1?Q?Re:__[OT]_Aclarac?= =?ISO-8859-1?Q?i=F3n_sobre_QT/GPL_para_windows?= In-Reply-To: <1097454468.4169d38404e5b@ch3m4.org> References: <1097399031.4168faf7f1b54@ch3m4.org> <416941D8.3030605@teleline.es> <1097454468.4169d38404e5b@ch3m4.org> Message-ID: <4c01c85a0410101753118ed8ad@mail.gmail.com> > Olvidas que la GPL es una licencia de distribución y que explícitamente se > inhibe ante cualquier otra interpretación Dice la GPL: "Otras actividades que no sean copia, distribución o modificación no están cubiertas en esta licencia y están fuera de su alcance. El acto de ejecutar el programa no está restringido, y la salida de información del programa está cubierta sólo si su contenido constituye un trabajo basado en el Programa (es independiente de si fue resultado de ejecutar el programa). Si esto es cierto o no depende de la función del programa." Yo hay lo veo como una exclusión de que los resultados obtenidos con el programa sean tambien GPL. Si tu haces un programa usando librerías GPL el programa es inmediatamente GPL. Si tu usas una hoja de datos de un programa GPL, la hoja de datos no tiene porque ser GPL, simplemente por el hecho de salir de un programa GPL. Hombre, las licencias son de uso. De que te vale que te den un programa, su fuente, etc... si no puedes usarlo, por eso existe la diferencia entre la propiedad del programa y la licencia con la cual compartes(o vendes) ese programa. Tu puedes desarrollar un programa para una empresa, pero en cuanto lo distribuyes bajo GPL, al precio que sea (o gratis) cualquiera puede usarlo sin pagarte a ti un duro. Dice el artículo 1 "Usted puede copiar y distribuir copias fieles del código fuente del programa tal como lo recibió" > Y si quieres analogías, te pongo una: piensa que soy músico y que compongo una > alegre melodía apta para bodas y bautizos, y que la distribuyo como GPL. Tu > coges la partitura y la usas para un arreglo, cambias la clave a una menor y la > destinas a funerales. Para colmo, tus partituras se empiezan a vender mucho > mejor que las mías originales. Al haber empleado GPL tengo que aceptar que > hayas hecho tales modificaciones y que las vendas, e incluso que hayas cambiado > la finalidad de la obra (libertad de uso), pero siempre podré exigir mis > derechos de autor cuando esa música sea interpretada (bueno, en realidad de > ésto se encargará la SGAE :-P). No se, eso no tiene sentido en una licencia de este tipo. En la traducción de al español dice en el preambulo: Por ejemplo, si usted distribuye copias de un programa, ya sea gratuitamente o por algun importe, usted debe dar al que recibe el software todos los derechos que usted tiene sobre el mismo No olvidemos que la licencia es un otorgamiento del derecho de uso, copia y distribución. Y en la GPL se establece que una vez se te ha dado ese derecho tu puedes hacer con el lo que te plazca, siempre dentro de los limites de la licencia GPL. From frjanibo en teleline.es Mon Oct 11 03:02:34 2004 From: frjanibo en teleline.es (Francisco Javier Nieto) Date: Mon, 11 Oct 2004 03:02:34 +0200 Subject: [OT] =?ISO-8859-15?Q?Aclaraci=F3n_sobre_QT/G?= =?ISO-8859-15?Q?PL_para_windows?= In-Reply-To: <1097454468.4169d38404e5b@ch3m4.org> References: <1097399031.4168faf7f1b54@ch3m4.org> <416941D8.3030605@teleline.es> <1097454468.4169d38404e5b@ch3m4.org> Message-ID: <4169DBAA.70503@teleline.es> >Olvidas que la GPL es una licencia de distribución y que explícitamente se >inhibe ante cualquier otra interpretación. Te dice que el que distribuye la >copia puede o no cobrar por hacerlo. Te dice que puedes ejecutar el código si >de ello depende alguna de las libertades de estudiar y modificar el código. >Pero en ningún sitio habla que el autor tenga que renunciar a la propiedad de >su obra, ni de que no tenga derecho a exigir una compensación a quien la use. > > No hablamos de renunciar a la autoría. Pero el autor no puede (bajo los terminos de la GPL) evitar las modificaciones y distribuciones posteriores. ¿O es que acaso el consorcio XFree86 va a impedir el desarrollo de X.org solo porque sean un fork de su código bajo GPL? ¿Entonces qué sentido tiene la GPL? ¿Repetir continuamente lo que hizo el autor original sin añadir nada? Pero es que el caso es que las Qt free edition están bajo GPL. Nadie está robandole la autoría a Trolltech ni le están robando sus derechos. Solo se le está añadiendo una característica nueva a estás librerias (funcionamiento bajo win). Y eso es perfectamente acorde con la licencia. >Y si quieres analogías, te pongo una: piensa que soy músico y que compongo una >alegre melodía apta para bodas y bautizos, y que la distribuyo como GPL. Tu >coges la partitura y la usas para un arreglo, cambias la clave a una menor y la >destinas a funerales. Para colmo, tus partituras se empiezan a vender mucho >mejor que las mías originales. Al haber empleado GPL tengo que aceptar que >hayas hecho tales modificaciones y que las vendas, e incluso que hayas cambiado >la finalidad de la obra (libertad de uso), pero siempre podré exigir mis >derechos de autor cuando esa música sea interpretada (bueno, en realidad de >ésto se encargará la SGAE :-P). > > Dios, con la SGAE hemos topado! Pero tu analogía no me vale. Los derechos de autor se parecen demasiado al cobro de licencia por puesto estilo Microsoft. El mundo de la música no es un buen lugar para la libertad. Sin embargo, entiendo lo que quieres decir y estoy de acuerdo. El autor siempre será el autor por mucho que licencie bajo GPL o lo que sea. Pero en nuestro caso, tenemos las Qt de Trolltech; sobre él tenemos a Chema y su maravilloso port a windows; ¿Quién es el autor? ¿Trolltech? ¿Y Chema que pasa, no ha hecho nada? ¿Lo son los dos?. Yo creo que la obra de Chema es posterior y él la distribuira como le de la gana (a ser posible GPL). Vuelvo a insistir, el problema es básico. Trolltech no puede liberar un código bajo GPL y limitar el uso de ese software a un SO. Va contra la GPL. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From acurro en wanadoo.es Mon Oct 11 09:32:19 2004 From: acurro en wanadoo.es (Alberto Curro) Date: Mon, 11 Oct 2004 09:32:19 +0200 Subject: [OT] =?ISO-8859-15?Q?Aclaraci=F3n_sobre_QT/G?= =?ISO-8859-15?Q?PL_para_windows?= In-Reply-To: <4169DBAA.70503@teleline.es> References: <1097399031.4168faf7f1b54@ch3m4.org> <416941D8.3030605@teleline.es> <1097454468.4169d38404e5b@ch3m4.org> <4169DBAA.70503@teleline.es> Message-ID: <416A3703.1070709@wanadoo.es> Francisco Javier Nieto wrote: > >> Olvidas que la GPL es una licencia de distribución y que >> explícitamente se >> inhibe ante cualquier otra interpretación. Te dice que el que >> distribuye la >> copia puede o no cobrar por hacerlo. Te dice que puedes ejecutar el >> código si >> de ello depende alguna de las libertades de estudiar y modificar el >> código. >> Pero en ningún sitio habla que el autor tenga que renunciar a la >> propiedad de >> su obra, ni de que no tenga derecho a exigir una compensación a quien >> la use. >> >> > No hablamos de renunciar a la autoría. Pero el autor no puede (bajo > los terminos de la GPL) evitar las modificaciones y distribuciones > posteriores. ¿O es que acaso el consorcio XFree86 va a impedir el > desarrollo de X.org solo porque sean un fork de su código bajo GPL? > ¿Entonces qué sentido tiene la GPL? ¿Repetir continuamente lo que hizo > el autor original sin añadir nada? > Pero es que el caso es que las Qt free edition están bajo GPL. Nadie > está robandole la autoría a Trolltech ni le están robando sus > derechos. Solo se le está añadiendo una característica nueva a estás > librerias (funcionamiento bajo win). Y eso es perfectamente acorde con > la licencia. > >> Y si quieres analogías, te pongo una: piensa que soy músico y que >> compongo una >> alegre melodía apta para bodas y bautizos, y que la distribuyo como >> GPL. Tu >> coges la partitura y la usas para un arreglo, cambias la clave a una >> menor y la >> destinas a funerales. Para colmo, tus partituras se empiezan a vender >> mucho >> mejor que las mías originales. Al haber empleado GPL tengo que >> aceptar que >> hayas hecho tales modificaciones y que las vendas, e incluso que >> hayas cambiado >> la finalidad de la obra (libertad de uso), pero siempre podré exigir mis >> derechos de autor cuando esa música sea interpretada (bueno, en >> realidad de >> ésto se encargará la SGAE :-P). >> >> > Dios, con la SGAE hemos topado! Pero tu analogía no me vale. Los > derechos de autor se parecen demasiado al cobro de licencia por puesto > estilo Microsoft. El mundo de la música no es un buen lugar para la > libertad. > Sin embargo, entiendo lo que quieres decir y estoy de acuerdo. El > autor siempre será el autor por mucho que licencie bajo GPL o lo que > sea. Pero en nuestro caso, tenemos las Qt de Trolltech; sobre él > tenemos a Chema y su maravilloso port a windows; ¿Quién es el autor? > ¿Trolltech? ¿Y Chema que pasa, no ha hecho nada? ¿Lo son los dos?. Yo > creo que la obra de Chema es posterior y él la distribuira como le de > la gana (a ser posible GPL). Ahí disiento. Chema cogió la versión GPL y la modificó. Tiene sus derechos como autor de la modificación (toda la razón del mundo) y Trolltech no puede decir nada porque haya hecho la modificación o la distribuya .... SIEMPRE QUE LO HAGA COMO GPL. Ese punto de "él la distribuirá como le dé la gana" no tiene base si seguimos la licencia. Tiene que distribuirla como GPL, no puede hacerlo de otra manera porque estaría violándo los propios términos de la licencia (la original de Trolltech). Otra cosa es que con ese port desarrolle aplicaciones que después vende como propietarias y totalmente comerciales. Entonces tendrá que acudir a Trolltech y comprar una licencia comercial para Windows para poder lucrarse distribuyendo la librería (siempre binaria) con su aplicación comercial. La GPL ahí respeta las condiciones del autor original, a esto hace referencia Chema. Trolltech en este caso distribuye la versión GPL siempre siguiendo la GPL. ¿Que la portas a otro SO siempre bajo GPL? Pues fale, pues me alegro. Y Trolltech se calla la boca, o debe hacerlo. Pero en los términos originales de distribución se establece una segunda opción de licencia que dice que si vas a distribuir la librería con tus aplicaciones y lucrarte por ello (ojo, por el producto, no por los servicios prestados) entonces deberás acudir a su licencia comercial y distribuir la versión comercial de la librería que no se puede enlazar posteriormente con otra aplicación. La GPL aquí respeta las condiciones y se mantienen hasta el port de Chema. Por lo cual todos aquellos que aquí la piensan usar para desarrollar software totalmente comercial (entre los que me incluyo) sabed que estamos con el mismo punto de inicio : a comprar tocan. Pero para mí ahora puedo desarrollar sin problemas con ella (cosa que ahora no puedo hacer), y en cuanto empiece a vender aplicaciones (aunque sea a medida) entonces tengo que hacerme con una comercial para no violar los términos de Trolltech. Ventajas ? Puedo probarla !, puedo aprender, puedo practicar y ver si funciona igual de bien en windows que en linux. Si me convence, entonces tendré que hacerme con una licencia. Pos fale, de nuevo. No me importa, como decía (creo que Chema al principio) el costo de la licencia dividido entre las aplicaciones y proyectos que hago en un año es asumible y me quedo con la licencia comercial y siguiendo la legalidad. Todos contentos. Mi problema es que hasta ahora tenía que comprar una licencia comercial sólo para poder probar y desarrollar los productos. Dado el escaso tiempo de que dispongo para pruebas, ésto es un inconveniente y me puedo ver con un lastre económico por algo que compré pero que a lo mejor no soy capaz de implantar y poner en marcha. ¿Os suena?. Saludos > > Vuelvo a insistir, el problema es básico. Trolltech no puede liberar > un código bajo GPL y limitar el uso de ese software a un SO. Va contra > la GPL. > >------------------------------------------------------------------------ > >_______________________________________________ >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 rabs en dimension-virtual.com Mon Oct 11 09:59:25 2004 From: rabs en dimension-virtual.com (=?iso-8859-15?q?Ra=FAl_Alexis_Betancort_Santana?=) Date: Mon, 11 Oct 2004 08:59:25 +0100 Subject: [OT] =?iso-8859-15?q?Aclaraci=F3n_sobre_QT/GPL_para?= windows In-Reply-To: <416A3703.1070709@wanadoo.es> References: <1097399031.4168faf7f1b54@ch3m4.org> <4169DBAA.70503@teleline.es> <416A3703.1070709@wanadoo.es> Message-ID: <200410110859.25723.rabs@dimension-virtual.com> El Lunes 11 Octubre 2004 08:32, Alberto Curro escribió: > Ahí disiento. Chema cogió la versión GPL y la modificó. Tiene sus > derechos como autor de la modificación (toda la razón del mundo) y > Trolltech no puede decir nada porque haya hecho la modificación o la > distribuya .... SIEMPRE QUE LO HAGA COMO GPL. Pero el problema es que resulta que Trolltech ha dicho en varias ocasiones (no hace falta mas que rebuscar por sus listas de correo, incluso yo participé en uno de los hilos de discursión) que para Windows la única licencia válida es la comercial, cosa totalmente falsa. > Ese punto de "él la distribuirá como le dé la gana" no tiene base si > seguimos la licencia. Tiene que distribuirla como GPL, no puede hacerlo > de otra manera porque estaría violándo los propios términos de la > licencia (la original de Trolltech). Otra cosa es que con ese port > desarrolle aplicaciones que después vende como propietarias y totalmente > comerciales. Entonces tendrá que acudir a Trolltech y comprar una > licencia comercial para Windows para poder lucrarse distribuyendo la > librería (siempre binaria) con su aplicación comercial. La GPL ahí > respeta las condiciones del autor original, a esto hace referencia Chema. Totalmente de acuerdo, pero mi objetivo no es desarrollar aplicaciones propietarias con QT sobre Win, mi objetivo es poder prestar servicios de consultoría y desarrollo sobre Win usando herramientas libres y hasta ahora eso no era posible usando las QT. > Trolltech en este caso distribuye la versión GPL siempre siguiendo > la GPL. ¿Que la portas a otro SO siempre bajo GPL? Pues fale, pues me > alegro. Y Trolltech se calla la boca, o debe hacerlo. El problema es que no lo hacen, se ha discutido varias veces en la lista de qt-devel y siempre el hilo acaba con un mensaje de Dimitri u otro de Trolltech diciendo lo mismo ... "... Nosotros no hemos liberado Qt para windows bajo GPL, por lo que tu planteamiento no es válido, si se desea desarrollar aplicaciones bajo Windows, se ha de utilizar la versión comercial, no importa si el software resultado es GPL o nó, contacta con nuestro departamento de ventas para que te lo aclaren..." (traducción libre) Saludos ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From py en ch3m4.org Mon Oct 11 10:07:22 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Mon, 11 Oct 2004 10:07:22 +0200 Subject: [OT] =?iso-8859-1?q?Aclaraci=F3n_sobre_QT/GPL_para?= windows In-Reply-To: <4c01c85a0410101753118ed8ad@mail.gmail.com> References: <1097399031.4168faf7f1b54@ch3m4.org> <1097454468.4169d38404e5b@ch3m4.org> <4c01c85a0410101753118ed8ad@mail.gmail.com> Message-ID: <200410111007.26280.py@ch3m4.org> On Monday 11 October 2004 02:53, Pablo Rey Sobral wrote: > > Olvidas que la GPL es una licencia de distribución y que explícitamente > > se inhibe ante cualquier otra interpretación > > Dice la GPL: "Otras actividades que no sean copia, distribución o > modificación no están cubiertas en esta licencia y están fuera de su > alcance. El acto de ejecutar el programa no está restringido, y la > salida de información del programa está cubierta sólo si su contenido > constituye un trabajo basado en el Programa (es independiente de si > fue resultado de ejecutar el programa). Si esto es cierto o no depende > de la función del programa." > > Yo ahí lo veo como una exclusión de que los resultados obtenidos con > el programa sean tambien GPL. ¿Seguro que sólo ves éso en este párrafo? > Si tu haces un programa usando librerías GPL el programa es > inmediatamente GPL. Si tu usas una hoja de datos de un programa GPL, > la hoja de datos no tiene porque ser GPL, simplemente por el hecho de > salir de un programa GPL. Si realmetne fuera así de fácil, bastaría con hacer un programa GPL que sacara "literalmente" el código GPL con el que enlaza para que se pudiera eludir la GPL. Léete cómo se aplica la GPL al Bison. > Hombre, las licencias son de uso. De que te vale que te den un > programa, su fuente, etc... si no puedes usarlo, por eso existe la > diferencia entre la propiedad del programa y la licencia con la cual > compartes(o vendes) ese programa. En software libre se sobreentiende que si distribuyes software es para que se use, y es por lo que el software libre no suele llevar licencia de uso. Pero la GPL por sí misma no te faculta el derecho de uso, ni en el concepto de "copyleft" se contempla que el desarrollador tenga que renunciar a su "derecho de compensación". Cuando te dan una copia de software libre tienes derecho a estudiar su código, a modificarlo y a distribuir las modificaciones. Todo lo demás que quieras suponer queda fuera de la definición de software libre. > Tu puedes desarrollar un programa para una empresa, pero en cuanto lo > distribuyes bajo GPL, al precio que sea (o gratis) cualquiera puede > usarlo sin pagarte a ti un duro. Dice el artículo 1 "Usted puede > copiar y distribuir copias fieles del código fuente del programa tal > como lo recibió" Sigo sin ver dónde dice la GPL que puedes usar "gratis" esa copia, por muy gratis que te haya resultado conseguirla. ------------ 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 gperez en bsinformatics.com Mon Oct 11 12:26:08 2004 From: gperez en bsinformatics.com (=?iso-8859-1?Q?Dep._T=E8cnic_-_Batll=F2ria_Sistemes_Inform=E0tics=2C_SL?=) Date: Mon, 11 Oct 2004 12:26:08 +0200 Subject: =?iso-8859-1?Q?RE:_=5BPython-es=5D_=5BOT=5D_Aclaraci=F3n_sobre_QT/GPL?= =?iso-8859-1?Q?_parawindows?= In-Reply-To: <200410111007.26280.py@ch3m4.org> References: <200410111007.26280.py@ch3m4.org> Message-ID: Es que de lo que yo dudo es sobre ese supuesto derecho de compensación. El autor nunca pierde el copyright, la gpl no entra ahí, pero eso si, el autor puede vender o regalar su software GPL pero una vez lo ha distribuido, cualquiera puede cogerlo, modificarlo o no y a su vez venderlo o regalarlo, sin que el autor original pueda imponer más restricciones que las especificadas en la propia licencia. Si no, nos encontrariamos en el caso, por ejemplo, que de los miles de autores que pueden formar parte de una distribución de linux, cada uno por su parte te exigiese su "derecho de compensación" por usar su código. Vamos, es subrealista. En definitiva, el autor puede vender o regalar su software, el autor conserva el copyright sobre su obra, pero el autor no puede exigir compensaciones por los usos que se le den a su obra una vez este la distribuya. Por poner otro ejemplo, la gente de Suse, no distribuye ISOS de sus cd, bien, dicen que no lo hacen porque su modelo de negocio es ese y que si los distribuyesen gratis no les saldrian las cuentas, pero no pueden impedir que otros monten las isos y a su vez las distribuyan, aunque los de suse, piden por favor que no se haga, aun admitiendo que legalmente no pueden impedirlo. Saludos -----Mensaje original----- De: python-es-bounces en aditel.org [mailto:python-es-bounces en aditel.org]En nombre de Chema Cortés Enviado el: lunes, 11 de octubre de 2004 10:07 Para: La lista de python en castellano Asunto: Re: [Python-es] [OT] Aclaración sobre QT/GPL parawindows On Monday 11 October 2004 02:53, Pablo Rey Sobral wrote: > > Olvidas que la GPL es una licencia de distribución y que explícitamente > > se inhibe ante cualquier otra interpretación > > Dice la GPL: "Otras actividades que no sean copia, distribución o > modificación no están cubiertas en esta licencia y están fuera de su > alcance. El acto de ejecutar el programa no está restringido, y la > salida de información del programa está cubierta sólo si su contenido > constituye un trabajo basado en el Programa (es independiente de si > fue resultado de ejecutar el programa). Si esto es cierto o no depende > de la función del programa." > > Yo ahí lo veo como una exclusión de que los resultados obtenidos con > el programa sean tambien GPL. ¿Seguro que sólo ves éso en este párrafo? > Si tu haces un programa usando librerías GPL el programa es > inmediatamente GPL. Si tu usas una hoja de datos de un programa GPL, > la hoja de datos no tiene porque ser GPL, simplemente por el hecho de > salir de un programa GPL. Si realmetne fuera así de fácil, bastaría con hacer un programa GPL que sacara "literalmente" el código GPL con el que enlaza para que se pudiera eludir la GPL. Léete cómo se aplica la GPL al Bison. > Hombre, las licencias son de uso. De que te vale que te den un > programa, su fuente, etc... si no puedes usarlo, por eso existe la > diferencia entre la propiedad del programa y la licencia con la cual > compartes(o vendes) ese programa. En software libre se sobreentiende que si distribuyes software es para que se use, y es por lo que el software libre no suele llevar licencia de uso. Pero la GPL por sí misma no te faculta el derecho de uso, ni en el concepto de "copyleft" se contempla que el desarrollador tenga que renunciar a su "derecho de compensación". Cuando te dan una copia de software libre tienes derecho a estudiar su código, a modificarlo y a distribuir las modificaciones. Todo lo demás que quieras suponer queda fuera de la definición de software libre. > Tu puedes desarrollar un programa para una empresa, pero en cuanto lo > distribuyes bajo GPL, al precio que sea (o gratis) cualquiera puede > usarlo sin pagarte a ti un duro. Dice el artículo 1 "Usted puede > copiar y distribuir copias fieles del código fuente del programa tal > como lo recibió" Sigo sin ver dónde dice la GPL que puedes usar "gratis" esa copia, por muy gratis que te haya resultado conseguirla. From igonza en isoco.com Mon Oct 11 13:04:56 2004 From: igonza en isoco.com (=?iso-8859-1?Q?Ignacio_Gonz=E1lez?=) Date: Mon, 11 Oct 2004 13:04:56 +0200 Subject: [OT] =?iso-8859-15?Q?Aclar?= =?iso-8859-15?Q?aci=F3n?= sobre QT/GPL para windows In-Reply-To: <200410111007.26280.py@ch3m4.org> References: <1097399031.4168faf7f1b54@ch3m4.org> <1097454468.4169d38404e5b@ch3m4.org> <4c01c85a0410101753118ed8ad@mail.gmail.com> <200410111007.26280.py@ch3m4.org> Message-ID: <20041011110456.GI30012@isoco.com> On Mon, Oct 11, 2004 at 10:07:22AM +0200, Chema Cortés wrote: > > Tu puedes desarrollar un programa para una empresa, pero en cuanto lo > > distribuyes bajo GPL, al precio que sea (o gratis) cualquiera puede > > usarlo sin pagarte a ti un duro. Dice el artículo 1 "Usted puede > > copiar y distribuir copias fieles del código fuente del programa tal > > como lo recibió" > > Sigo sin ver dónde dice la GPL que puedes usar "gratis" esa copia, por muy > gratis que te haya resultado conseguirla. Cuando compras un software GPL tienes derecho a: USO, copia modificación y redistribución (tanto de las mofidicaciones como del programa original). Pongamos esete ejemplo. Yo COMPRO (no hay nada malo en ello) un software (PacoPepeX) GPL a un distribuidor (PacopepeSoft & CO) y ellos me facilitan un binario GPL para mi sistema operativo en un bonito CD con documentación. Yo puedo exigir (gracias a la GPL) tener acceso al código (no tiene pq ser gratis, pero si debería ser una tasa que solo cubra los gastos de envio y maquetación, tal y como dice la GPL) y me envian otro bonito CD previo pago de una pequeña tasa. Ahora yo tengo derecho, gracias a la GPL, de DISTRIBUIR la copia de mi programa (al coste que quiera) y de realizar las modificacioes que quiera, tanto para uso propio como para beneficio de terceros y PacopepeSoft & CO no pueden denunciarme. Yo doy una copia a mi colega de facultad de los dos CD's que he comprado legalmente y el tiene derecho legal a usar esa cópia, sin tener que pagar por ello a PacopepeSoft & CO. Ahora si, PacopepeSoft & CO es el propietario de ese código, por lo que YO no puedo ocultar su procednecia. Evidentemente con la copia que me ha vendido pacopepesoft de su PacopepeX es muy posible que me haya dado acceso a soporte y telefono HotLine aparte de otras ventajas (como manual impreso y demás) que NO son trasferibles, por lo que si el software PacopepeX se extiende a varios usuarios es posible que esos usuarios compren a PacopepeX la licencia de su software. Tampoco el tener PapopepeX da derecho a tener actualizaciones gratuitas a PacopepeX+1, por lo que si sale una nueva version, yo, que he comprado el software paocopepeX o bien a pacopepesoft o bien a un amigo mío, tengo que comprar la nueva version. Aunque PacopepeSoft crea que está perdiendo dinero porque hay gente que comparte su software, realmente puede estar ganando clientes para las nuevas versiones, ya que es posible que el amigo al que yo le regalé la version que yo compré de PacopepeX quiera adquirir la version PacopepeX+1 con su manual impreso y su soporte técnico no trasferibles. Espero haber aclarado mas que fastidiado.... -- No te metas en el mundo de las drogas. Ya somos muchos y hay muy poca. -- Les Luthiers. Yo iré a la carcel por culpa de las patentes de software. :) + LSSI = :X ________________________________________________________________________ Ignacio González López I.T. Dept @ iSOCO http://www.isoco.com #T(+34) 91 3349797 Intelligent Software Components, S.A. #F(+34) 91 3349799 iSOCO Madrid - Pedro de Valdivia 10, Madrid. CP 28006 ------------ 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 igonza en isoco.com Mon Oct 11 13:08:23 2004 From: igonza en isoco.com (=?iso-8859-1?Q?Ignacio_Gonz=E1lez?=) Date: Mon, 11 Oct 2004 13:08:23 +0200 Subject: [OT] =?iso-8859-15?Q?Aclar?= =?iso-8859-15?Q?aci=F3n?= sobre QT/GPL para windows In-Reply-To: References: <41694514.7070200@wanadoo.es> Message-ID: <20041011110823.GJ30012@isoco.com> On Sun, Oct 10, 2004 at 05:09:53PM +0200, Dep. Tècnic - Batllòria Sistemes Informàtics, SL wrote: > Uhmmm, creo que ese planteamiento está equivocado. Yo como usuario > de la versión GPL de Qt en Linux (y recordemos que existe versión > comercial para Linux) no estoy obligado a comprar la versión comercial > para hacer uso de ella. SÍ tengo que hacerlo si el software que voy a > distribuir va a ser de uso exclusivamente comercial, punto en el cual me > meto en un ámbito comercial y en el que la GPL deja de ser válida y en > el que Trolltech entra a saco por mis riñones. ¿Comercial significa privativo? Por favor, diferenciemos ya que es posibe realizra software comercial con GPL (yo ya he vendido varios proyectos GPL), así que si yo quiero vender software GPL y uso la version GPL de toltresh no estoy incumpliendo nada de la licencia. Ahora, si quiero hacer software privativo con la liberría de Toltrech evidentemente necesito una librería privativa. La GPL NO permite limitar el uso del software entre comercial y no comercial, ya que habla de USO a secas. -- ¿Que por qué estaba con esa mujer? Porque me recuerda a ti. De hecho, me recuerda a ti más que tú. -- Groucho Marx. Yo iré a la carcel por culpa de las patentes de software. :) + LSSI = :X ________________________________________________________________________ Ignacio González López I.T. Dept @ iSOCO http://www.isoco.com #T(+34) 91 3349797 Intelligent Software Components, S.A. #F(+34) 91 3349799 iSOCO Madrid - Pedro de Valdivia 10, Madrid. CP 28006 ------------ 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 igonza en isoco.com Mon Oct 11 13:16:07 2004 From: igonza en isoco.com (=?iso-8859-1?Q?Ignacio_Gonz=E1lez?=) Date: Mon, 11 Oct 2004 13:16:07 +0200 Subject: [OT] =?iso-8859-15?Q?Aclar?= =?iso-8859-15?Q?aci=F3n?= sobre QT/GPL parawindows In-Reply-To: References: <200410111007.26280.py@ch3m4.org> Message-ID: <20041011111606.GK30012@isoco.com> On Mon, Oct 11, 2004 at 12:26:08PM +0200, Dep. Tècnic - Batllòria Sistemes Informàtics, SL wrote: > Es que de lo que yo dudo es sobre ese supuesto derecho de compensación. El > autor nunca pierde el copyright, la gpl no entra ahí, pero eso si, el autor > puede vender o regalar su software GPL pero una vez lo ha distribuido, > cualquiera puede cogerlo, modificarlo o no y a su vez venderlo o regalarlo, > sin que el autor original pueda imponer más restricciones que las > especificadas en la propia licencia. > > Si no, nos encontrariamos en el caso, por ejemplo, que de los miles de > autores que pueden formar parte de una distribución de linux, cada uno por > su parte te exigiese su "derecho de compensación" por usar su código. > > Vamos, es subrealista. Si. El esquema de negocio de Software libre se basa en los cuatro puntos que he contado en el mail anterior (espero no estar liando la perdiz) y no en "Derechos de autor". El derecho de autor en el uso de software se llama "Software privativo o propietario" y no tiene nada que ver con la GPL. > En definitiva, el autor puede vender o regalar su software, el autor > conserva el copyright sobre su obra, pero el autor no puede exigir > compensaciones por los usos que se le den a su obra una vez este la > distribuya. No, pero evidentemente puede hacer con su código lo que quiera (solamente que las copias que yo tengo legalemente adquiridas por GPL son mías y puedo hacer con ellas lo que quiera excepto quitarles el copyright o modificar la licencia, derechos que solo el propietario del copyright tiene). > Por poner otro ejemplo, la gente de Suse, no distribuye ISOS de sus cd, > bien, dicen que no lo hacen porque su modelo de negocio es ese y que si los > distribuyesen gratis no les saldrian las cuentas, pero no pueden impedir que > otros monten las isos y a su vez las distribuyan, aunque los de suse, piden > por favor que no se haga, aun admitiendo que legalmente no pueden impedirlo. El caso de SuSE lo desconozco un poco, pero hasta donde yo se, YAST2 no es libre, porl o que no se puede copiar ni modificar ni redistribuir. SuSE tambien distribuye software propietario en sus CD's, por lo que creo que ninugno de sus CD's contiene solo software libre que pueda ser libremente distribuido. Por lo tanto, SuSE SOLO te garantíza el uso a tí, no te permiete por ejemplo que copies un CD a un amigo (eso sí, te permite instalarlo tu mismo) y dejarselo instalado en su casa. Lo que no pueden impedir es que yo haga mirror de los paquetes libres que SuSE tiene (ya lo hacen en su web) o que use esos mirrors para instalar una distribución desde disquetes usando Yast1 (que ya está liberado). SuSE de toda maneras es una distribución de GNU/Linux con software privativo, por tanto no es una distribución libre 100% (como lo son los CD's de debian, linex, knopix o similares), por lo que no se pueden aplicar los mismos conceptos de software libre a la distribución entera. -- Tener la conciencia limpia es síntoma de mala memoria. -- Les Luthiers. Yo iré a la carcel por culpa de las patentes de software. :) + LSSI = :X ________________________________________________________________________ Ignacio González López I.T. Dept @ iSOCO http://www.isoco.com #T(+34) 91 3349797 Intelligent Software Components, S.A. #F(+34) 91 3349799 iSOCO Madrid - Pedro de Valdivia 10, Madrid. CP 28006 ------------ 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 clp en opencanarias.com Mon Oct 11 13:18:07 2004 From: clp en opencanarias.com (Carlos Lopez Perez) Date: Mon, 11 Oct 2004 12:18:07 +0100 Subject: Samba In-Reply-To: <20041010181249.119c4eff@nutria.micasa.com.uy> References: <20041010181249.119c4eff@nutria.micasa.com.uy> Message-ID: <1097493487.3352.12.camel@IMAGINE> Hola lista ¿Existe algún módulo python para el manejo de samba, principalmente en linux? Las funcionalidades a conseguir son las siguientes: - Listado de recursos compartidos de una máquina concreta. - Listado recursivo de directorios y archivos de un recurso compartido. Lo he logrado utilizando pysmb, es muy bueno y potente (ver las aplicaciones de ejemplo que contiene). Funciona perfecto en redes de Window, pero en redes sambas puras de linux no he logrado que tire (Suse Linux), me da un error de autentificación (en cambio el smbclient funciona de forma correcta y smbmount, etc...) En la página dice que en samba está de forma experimental... Otra opción es samba-python (que viene en la Suse) pero ni idea como funciona y/o como obtener las funcionalidades anteriormente listadas (no encuentro documentación y los ejemplos que vienen no los he logrado hacer funcionar). Si no encuentro otra cosa sólo me queda hacer un wrapper de la salida de smbclient mediante pipes (trabajo que no me apetece nada, ya que lo tengo todo funcionado cojonudo con pysmb, pero la aplicación es para redes samba con suselinux y no funciona). Si lo hago dejaré la librería por ahí por si alguien le interesa. Enlaces de interés: (pysmb) http://miketeo.net/projects/pysmb/ (samba-python) http://rpm.pbone.net/index.php3/stat/4/idpl/1191844/com/samba-python-3.0.4-1.2.i686.rpm.html ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From clp en opencanarias.com Mon Oct 11 13:19:29 2004 From: clp en opencanarias.com (Carlos Lopez Perez) Date: Mon, 11 Oct 2004 12:19:29 +0100 Subject: Samba Message-ID: <1097493569.3352.37.camel@IMAGINE> Hola lista ¿Existe algún módulo python para el manejo de samba, principalmente en linux? Las funcionalidades a conseguir son las siguientes: - Listado de recursos compartidos de una máquina concreta. - Listado recursivo de directorios y archivos de un recurso compartido. Lo he logrado utilizando pysmb, es muy bueno y potente (ver las aplicaciones de ejemplo que contiene). Funciona perfecto en redes de Window, pero en redes sambas puras de linux no he logrado que tire (Suse Linux), me da un error de autentificación (en cambio el smbclient funciona de forma correcta y smbmount, etc...) En la página dice que en samba está de forma experimental... Otra opción es samba-python (que viene en la Suse) pero ni idea como funciona y/o como obtener las funcionalidades anteriormente listadas (no encuentro documentación y los ejemplos que vienen no los he logrado hacer funcionar). Si no encuentro otra cosa sólo me queda hacer un wrapper de la salida de smbclient mediante pipes (trabajo que no me apetece nada, ya que lo tengo todo funcionado cojonudo con pysmb, pero la aplicación es para redes samba con suselinux y no funciona). Si lo hago dejaré la librería por ahí por si alguien le interesa. Enlaces de interés: (pysmb) http://miketeo.net/projects/pysmb/ (samba-python) http://rpm.pbone.net/index.php3/stat/4/idpl/1191844/com/samba-python-3.0.4-1.2.i686.rpm.html Salu2 de clp ;) ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From igonza en isoco.com Mon Oct 11 13:23:30 2004 From: igonza en isoco.com (=?iso-8859-1?Q?Ignacio_Gonz=E1lez?=) Date: Mon, 11 Oct 2004 13:23:30 +0200 Subject: [OT] =?iso-8859-15?Q?Aclar?= =?iso-8859-15?Q?aci=F3n?= sobre QT/GPL para windows In-Reply-To: <200410110859.25723.rabs@dimension-virtual.com> References: <1097399031.4168faf7f1b54@ch3m4.org> <4169DBAA.70503@teleline.es> <416A3703.1070709@wanadoo.es> <200410110859.25723.rabs@dimension-virtual.com> Message-ID: <20041011112330.GL30012@isoco.com> On Mon, Oct 11, 2004 at 08:59:25AM +0100, Raúl Alexis Betancort Santana wrote: > El problema es que no lo hacen, se ha discutido varias veces en la lista de > qt-devel y siempre el hilo acaba con un mensaje de Dimitri u otro de > Trolltech diciendo lo mismo ... > > "... Nosotros no hemos liberado Qt para windows bajo GPL, por lo que tu > planteamiento no es válido, si se desea desarrollar aplicaciones bajo > Windows, se ha de utilizar la versión comercial, no importa si el software > resultado es GPL o nó, contacta con nuestro departamento de ventas para que > te lo aclaren..." (traducción libre) Eso no es legal, entiendo yo. Si tienes problemas con esa aplicacion de tu software legalmente adquirido bajo GPL, por favor, consulta a licenses en gnu.org para que aclaren el problema. -- La pereza es la madre de todos los vicios y como madre hay que respetarla. -- Les Luthiers. Yo iré a la carcel por culpa de las patentes de software. :) + LSSI = :X ________________________________________________________________________ Ignacio González López I.T. Dept @ iSOCO http://www.isoco.com #T(+34) 91 3349797 Intelligent Software Components, S.A. #F(+34) 91 3349799 iSOCO Madrid - Pedro de Valdivia 10, Madrid. CP 28006 ------------ 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 pabloreysobral en gmail.com Mon Oct 11 13:33:07 2004 From: pabloreysobral en gmail.com (Pablo Rey Sobral) Date: Mon, 11 Oct 2004 13:33:07 +0200 Subject: =?ISO-8859-1?Q?Re:__[OT]_Aclarac?= =?ISO-8859-1?Q?i=F3n_sobre_QT/GPL_para_windows?= In-Reply-To: <200410111007.26280.py@ch3m4.org> References: <1097399031.4168faf7f1b54@ch3m4.org> <1097454468.4169d38404e5b@ch3m4.org> <4c01c85a0410101753118ed8ad@mail.gmail.com> <200410111007.26280.py@ch3m4.org> Message-ID: <4c01c85a04101104332f4b4c37@mail.gmail.com> Hola, Te respondo sobre la licencia de uso(no hago más quotes porque sino es una locura): Dicen las FAQ de GNU sobre GPL(http://www.gnu.org/licenses/gpl-faq.html#DoesTheGPLAllowRequireFee): "Does the GPL allow me to require that anyone who receives the software must pay me a fee and/or notify me? No. In fact, a requirement like that would make the program non-free. If people have to pay when they get a copy of a program, or if they have to notify anyone in particular, then the program is not free. See the definition of free software. The GPL is a free software license, and therefore it permits people to use and even redistribute the software without being required to pay anyone a fee for doing so. " Traducción libre: ¿Me permite la GPL pedirle a cualquiera que reciba el software que me pague una (cuota, honorario, derecho) y/o me lo notifique? No. De hecho, un requisito como ese haría el programa "no-libre". Si la gente tiene que pagar cuando obtiene una copia del programa, o si tienen que notificarselo a alguien en particular, entonces el programa es no-libre. Mira la definición de software libre[el original se refiere a un link]. El GPL es una licencia de software libre, y por lo tanto permite a la gente su uso y redistribución del software sin el requerimiento de pagarle a nadie una cuota por hacerlo" Espero que la traducción esté ajustada a la realidad. Un saludo. From rapto en arrakis.es Mon Oct 11 13:38:42 2004 From: rapto en arrakis.es (=?ISO-8859-15?Q?Marcos_S=E1nchez_Provencio?=) Date: Mon, 11 Oct 2004 13:38:42 +0200 Subject: Samba In-Reply-To: <1097493487.3352.12.camel@IMAGINE> References: <20041010181249.119c4eff@nutria.micasa.com.uy> <1097493487.3352.12.camel@IMAGINE> Message-ID: <416A70C2.5060806@arrakis.es> ¿Qué error da? Igual es sencillo corregirlo... Carlos Lopez Perez escribió: >Hola lista > >¿Existe algún módulo python para el manejo de samba, principalmente en >linux? > >Las funcionalidades a conseguir son las siguientes: > - Listado de recursos compartidos de una máquina concreta. > - Listado recursivo de directorios y archivos de un recurso compartido. > >Lo he logrado utilizando pysmb, es muy bueno y potente (ver las >aplicaciones de ejemplo que contiene). Funciona perfecto en redes de >Window, pero en redes sambas puras de linux no he logrado que tire (Suse >Linux), me da un error de autentificación (en cambio el smbclient >funciona de forma correcta y smbmount, etc...) >En la página dice que en samba está de forma experimental... > >Otra opción es samba-python (que viene en la Suse) pero ni idea como >funciona y/o como obtener las funcionalidades anteriormente listadas (no >encuentro documentación y los ejemplos que vienen no los he logrado >hacer funcionar). > >Si no encuentro otra cosa sólo me queda hacer un wrapper de la salida de >smbclient mediante pipes (trabajo que no me apetece nada, ya que lo >tengo todo funcionado cojonudo con pysmb, pero la aplicación es para >redes samba con suselinux y no funciona). Si lo hago dejaré la librería >por ahí por si alguien le interesa. > > >Enlaces de interés: > (pysmb) > http://miketeo.net/projects/pysmb/ > (samba-python) > http://rpm.pbone.net/index.php3/stat/4/idpl/1191844/com/samba-python-3.0.4-1.2.i686.rpm.html > > > ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From py en ch3m4.org Mon Oct 11 13:44:41 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Mon, 11 Oct 2004 13:44:41 +0200 Subject: [OT] =?iso-8859-1?q?Aclaraci=F3n_sobre_QT/GPL?= parawindows In-Reply-To: References: Message-ID: <200410111344.45291.py@ch3m4.org> On Monday 11 October 2004 12:26, Dep. Tècnic - Batllòria Sistemes Informàtics, SL wrote: > Es que de lo que yo dudo es sobre ese supuesto derecho de compensación. El > autor nunca pierde el copyright, la gpl no entra ahí, pero eso si, el autor > puede vender o regalar su software GPL pero una vez lo ha distribuido, > cualquiera puede cogerlo, modificarlo o no y a su vez venderlo o regalarlo, > sin que el autor original pueda imponer más restricciones que las > especificadas en la propia licencia. > > Si no, nos encontrariamos en el caso, por ejemplo, que de los miles de > autores que pueden formar parte de una distribución de linux, cada uno por > su parte te exigiese su "derecho de compensación" por usar su código. > > Vamos, es subrealista. Es subrealista, pero no por eso resulta imposible. Más aún, el autor podría hacer valer su "derecho moral" sobre su obra para solicitar que fuera retirada de una distribución linux. Con GPL no tendría éxito ("libertad de uso para cualquier propósito"), pero hay muchas más cosas en una distribución linux que no son GPL. La licencia de microsoft es mucho más explícita en este asunto. Microsoft no te traspasa la propiedad del software, que seguirá siempre siendo de microsoft. Tan sólo te da permiso para que lo uses, pero en cualquier momento puede exigirte que dejes de usarlo, que lo devuelvas y que borres toda copia que tuvieras (Lo pone en la licencia). Sería subrealista que Microsoft exigiera mañana que se dejara de usar winXP, pero tendría derecho a hacerlo. En cuanto al resto, creo que ya he dado suficientes razones en anteriores mensajes. En mi opinión, la GPL trata sobre la distribución de copias y de cómo compensar a los distribuidores de éstas copias. Cualquier otro tipo de lectura diferente queda fuera del ámbito de la licencia y, por tanto, sin valor legal. ------------ 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 py en ch3m4.org Mon Oct 11 13:59:29 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Mon, 11 Oct 2004 13:59:29 +0200 Subject: [OT] =?iso-8859-1?q?Aclaraci=F3n_sobre_QT/GPL_para?= windows In-Reply-To: <4c01c85a04101104332f4b4c37@mail.gmail.com> References: <1097399031.4168faf7f1b54@ch3m4.org> <200410111007.26280.py@ch3m4.org> <4c01c85a04101104332f4b4c37@mail.gmail.com> Message-ID: <200410111359.31967.py@ch3m4.org> On Monday 11 October 2004 13:33, Pablo Rey Sobral wrote: > Espero que la traducción esté ajustada a la realidad. Es perfecta; pero explícitamente la GPL te dice que "Cualquier otra actividad que no sea la copia, distribución o modificación no está cubierta por esta Licencia, está fuera de su ámbito." Vuelve a leer estos párrafos desde este punto de partida, y verás que no te está autorizando el "uso" gratuito, tan sólo te dice que la GPL no es quién para imponer este tipo de recargas. ------------ 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 pabloreysobral en gmail.com Mon Oct 11 14:26:17 2004 From: pabloreysobral en gmail.com (Pablo Rey Sobral) Date: Mon, 11 Oct 2004 14:26:17 +0200 Subject: =?ISO-8859-1?Q?Re:__[OT]_Aclarac?= =?ISO-8859-1?Q?i=F3n_sobre_QT/GPL_para_windows?= In-Reply-To: <200410111359.31967.py@ch3m4.org> References: <1097399031.4168faf7f1b54@ch3m4.org> <200410111007.26280.py@ch3m4.org> <4c01c85a04101104332f4b4c37@mail.gmail.com> <200410111359.31967.py@ch3m4.org> Message-ID: <4c01c85a04101105262541184b@mail.gmail.com> > Vuelve a leer estos párrafos desde este punto de partida, y verás que no te > está autorizando el "uso" gratuito, tan sólo te dice que la GPL no es quién > para imponer este tipo de recargas. Hola, dice en el preambulo de la traducción "Cuando hablamos de software libre, nos referimos a libertad, no precio. Nuestras licencias "General Public Licenses" están diseñadas para asegurar que: 1. usted tiene la libertad de distribuir copias del software libre (y cobrar por ese sencillo servicio si así lo desea) 2. recibir el código fuente (o tener la posibilidad de obtenerlo si así lo desea) 3. que usted puede modificar el software o UTILIZAR partes de el en nuevos programas de software libre 4. que usted esté enterado de que tiene la posibilidad de hacer todas estas cosas. " Tambien dice: "Por ejemplo, si usted distribuye copias de un programa, ya sea gratuitamente o por algun importe, usted debe dar al que recibe el software todos los derechos que usted tiene sobre el mismo" Me parece que tu planteamiento puede ser aceptable semánticamente pero no en una interpretación común de la licencia. Un software tiene un fin concreto, que es su uso. Si tu tienes un código, que simplemente está ahí para verlo, no es un software, sino que es un libro (un conjunto de palabras escritas sobre un soporte sin más utilidad que la lectura, el análisis y el aprendizaje). Las licencias comerciales se establecieron para autorizar el uso sin perder la propiedad del código, y sobre todo sin su difusión. Cuando tu licencias un software lo haces implicitamente para su uso. Claro que la GPL define sólo las normas para la distribución, copia y modificación, ya que ahí donde el software propietario limita sus licencias. Un saludo. From rabs en dimension-virtual.com Mon Oct 11 14:31:10 2004 From: rabs en dimension-virtual.com (=?iso-8859-15?q?Ra=FAl_Alexis_Betancort_Santana?=) Date: Mon, 11 Oct 2004 13:31:10 +0100 Subject: [OT] =?iso-8859-15?q?Aclaraci=F3n_sobre_QT/GPL_para?= windows In-Reply-To: <20041011112330.GL30012@isoco.com> References: <1097399031.4168faf7f1b54@ch3m4.org> <200410110859.25723.rabs@dimension-virtual.com> <20041011112330.GL30012@isoco.com> Message-ID: <200410111331.10104.rabs@dimension-virtual.com> El Lunes 11 Octubre 2004 12:23, Ignacio González escribió: > On Mon, Oct 11, 2004 at 08:59:25AM +0100, Raúl Alexis Betancort Santana wrote: > > El problema es que no lo hacen, se ha discutido varias veces en la lista > > de qt-devel y siempre el hilo acaba con un mensaje de Dimitri u otro de > > Trolltech diciendo lo mismo ... > > > > "... Nosotros no hemos liberado Qt para windows bajo GPL, por lo que tu > > planteamiento no es válido, si se desea desarrollar aplicaciones bajo > > Windows, se ha de utilizar la versión comercial, no importa si el > > software resultado es GPL o nó, contacta con nuestro departamento de > > ventas para que te lo aclaren..." (traducción libre) > > Eso no es legal, entiendo yo. > > Si tienes problemas con esa aplicacion de tu software legalmente > adquirido bajo GPL, por favor, consulta a licenses en gnu.org para que > aclaren el problema. Jejej, yo no tengo problemas ninguno con mi software, lo tengo la mar de clarito, los que no lo tiene claro son los de Trolltech, que se empeñan en decir que si "se me ocurre ganar un céntimo" con el soft que hago y distribuyo, estoy incumpliendo la licencia y he de pargarles, yo ya les he comentado varias veces que el soft es GPL y que por lo tanto no les tengo que pagar NADA. Saludos ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From aragorn en pythonhispano.org Mon Oct 11 17:20:53 2004 From: aragorn en pythonhispano.org (Jose) Date: Mon, 11 Oct 2004 17:20:53 +0200 Subject: Aplicar un import desde un =?iso-8859-1?q?m=F3dulo?= externo Message-ID: <1097508053.7526.21.camel@demeter.speriaitc.com> Tengo 3 módulos, a.py, b.py y c.py: - a.py contiene: ... from b import x ... class y: ... self.n1 = x() ... ... - b.py contiene: ... class x: ... ... - c.py contiene: ... from a import y ... (por aqui ha de estar la magia) ... v1 = y() v1.n1.el_metodo_que_sea() ... Necesito quitar el 'from b import x' de a.py (eliminando la dependencia directa que tiene a.py de b.py) pero que la clase 'x' sea accesible a la clase 'y' cuando c.py la instancie. Es como si, por código, desde el módulo c.py, se inyectase el 'from b import x' a a.py. Espero que la explicación no resulte demasiado liada. ¿Sabéis de alguna forma de hacer algo así? Gracias, Jose ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From pabloreysobral en gmail.com Mon Oct 11 17:30:41 2004 From: pabloreysobral en gmail.com (Pablo Rey Sobral) Date: Mon, 11 Oct 2004 17:30:41 +0200 Subject: =?ISO-8859-1?Q?Re:__Aplicar_un_i?= =?ISO-8859-1?Q?mport_desde_un_m=F3dulo_externo?= In-Reply-To: <1097508053.7526.21.camel@demeter.speriaitc.com> References: <1097508053.7526.21.camel@demeter.speriaitc.com> Message-ID: <4c01c85a041011083073b664e5@mail.gmail.com> Porque tiene que ser en archivos separados. Y por que no, a.py contiene class x: ... class y: ... etc... O incluso mejor a.py contiene class y: class x: ... .... Un saludo. On Mon, 11 Oct 2004 17:20:53 +0200, Jose wrote: > Tengo 3 módulos, a.py, b.py y c.py: > > - a.py contiene: > ... > from b import x > ... > class y: > ... > self.n1 = x() > ... > ... > > - b.py contiene: > ... > class x: > ... > ... > > - c.py contiene: > ... > from a import y > ... > (por aqui ha de estar la magia) > ... > v1 = y() > v1.n1.el_metodo_que_sea() > ... > > Necesito quitar el 'from b import x' de a.py (eliminando la dependencia > directa que tiene a.py de b.py) pero que la clase 'x' sea accesible a la > clase 'y' cuando c.py la instancie. > > Es como si, por código, desde el módulo c.py, se inyectase el 'from b > import x' a a.py. > > Espero que la explicación no resulte demasiado liada. > > ¿Sabéis de alguna forma de hacer algo así? > > Gracias, > Jose > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > > > From aragorn en pythonhispano.org Mon Oct 11 18:25:18 2004 From: aragorn en pythonhispano.org (Jose) Date: Mon, 11 Oct 2004 18:25:18 +0200 Subject: Aplicar un import desde un =?ISO-8859-1?Q?m=F3dulo?= externo In-Reply-To: <4c01c85a041011083073b664e5@mail.gmail.com> References: <1097508053.7526.21.camel@demeter.speriaitc.com> <4c01c85a041011083073b664e5@mail.gmail.com> Message-ID: <1097511918.7523.26.camel@demeter.speriaitc.com> Tiene que ver con el desarrollo de aplicaciones wxPython con wxGlade. Quiero desarrollar aplicaciones wx sin tocar para nada el código que genera wxGlade (que es el que me crea los módulo a.py y b.py). Es decir, no puedo hacer lo que propones. Necesito desarrollar los cambios tal y como he comentado en el primer post. Saludos, Jose El lun, 11-10-2004 a las 17:30, Pablo Rey Sobral escribió: > Porque tiene que ser en archivos separados. Y por que no, > > a.py contiene > > class x: > ... > > class y: > ... > > etc... > > O incluso mejor > > a.py contiene > > class y: > class x: > ... > .... > > Un saludo. > > > On Mon, 11 Oct 2004 17:20:53 +0200, Jose wrote: > > Tengo 3 módulos, a.py, b.py y c.py: > > > > - a.py contiene: > > ... > > from b import x > > ... > > class y: > > ... > > self.n1 = x() > > ... > > ... > > > > - b.py contiene: > > ... > > class x: > > ... > > ... > > > > - c.py contiene: > > ... > > from a import y > > ... > > (por aqui ha de estar la magia) > > ... > > v1 = y() > > v1.n1.el_metodo_que_sea() > > ... > > > > Necesito quitar el 'from b import x' de a.py (eliminando la dependencia > > directa que tiene a.py de b.py) pero que la clase 'x' sea accesible a la > > clase 'y' cuando c.py la instancie. > > > > Es como si, por código, desde el módulo c.py, se inyectase el 'from b > > import x' a a.py. > > > > Espero que la explicación no resulte demasiado liada. > > > > ¿Sabéis de alguna forma de hacer algo así? > > > > Gracias, > > Jose > > > > > > _______________________________________________ > > 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 jmvivoa_c en yahoo.es Mon Oct 11 18:46:53 2004 From: jmvivoa_c en yahoo.es (Jose Manuel Vivo) Date: Mon, 11 Oct 2004 18:46:53 +0200 Subject: Aplicar un import desde un =?iso-8859-1?q?m=F3dulo?= externo In-Reply-To: <1097508053.7526.21.camel@demeter.speriaitc.com> References: <1097508053.7526.21.camel@demeter.speriaitc.com> Message-ID: <200410111846.53512.jmvivoa_c@yahoo.es> puedes hacer el import justo antes de crear el objeto, no es necesario que este en el inicio del modulo: > class y: > ... from b import x > self.n1 = x() > ... > ... El Lunes, 11 de Octubre de 2004 17:20, Jose escribió: > Tengo 3 módulos, a.py, b.py y c.py: > > - a.py contiene: > ... > from b import x > ... > class y: > ... > self.n1 = x() > ... > ... > > - b.py contiene: > ... > class x: > ... > ... > > - c.py contiene: > ... > from a import y > ... > (por aqui ha de estar la magia) > ... > v1 = y() > v1.n1.el_metodo_que_sea() > ... > > Necesito quitar el 'from b import x' de a.py (eliminando la dependencia > directa que tiene a.py de b.py) pero que la clase 'x' sea accesible a la > clase 'y' cuando c.py la instancie. > > Es como si, por código, desde el módulo c.py, se inyectase el 'from b > import x' a a.py. > > Espero que la explicación no resulte demasiado liada. > > ¿Sabéis de alguna forma de hacer algo así? > > Gracias, > Jose From aragorn en pythonhispano.org Mon Oct 11 19:03:57 2004 From: aragorn en pythonhispano.org (Jose) Date: Mon, 11 Oct 2004 19:03:57 +0200 Subject: Aplicar un import desde un =?ISO-8859-1?Q?m=F3dulo?= externo In-Reply-To: <200410111846.53512.jmvivoa_c@yahoo.es> References: <1097508053.7526.21.camel@demeter.speriaitc.com> <200410111846.53512.jmvivoa_c@yahoo.es> Message-ID: <1097514236.7526.43.camel@demeter.speriaitc.com> Verás, la idea es no incluir el 'from ...' en a.py. Imagina: 1) con wxGlade diseño una ToolBar 2) con wxGlade diseño un formulario que incluye la ToolBar del punto 1) como un 'Custom Widget' 3) hago que wxGlade me genere el código Python correspondiente a la ToolBar (b.py) y al formulario (a.py) 4) creo un script (c.py) que intenta mostrar el formulario del punto 2) 5) obtengo un error ya que el formulario hace referencia a un componente (la Toolbar del punto 1) cuyo código no encuentra 5) para que me muestre el formulario, he de añadir 'a mano' la cláusula 'from ...' en el código generado por wxGlade (en a.py) 6) lo ideal (al menos para mí) sería que, de alguna forma, desde 'mi código' (c.py) pudiese cargar la infraestructura adicional que necesitan los recursos generados por wxGlade, sin tener que retocar 'su código' Chao, Jose El lun, 11-10-2004 a las 18:46, Jose Manuel Vivo escribió: > puedes hacer el import justo antes de crear el objeto, no es necesario que > este en el inicio del modulo: > > > class y: > > ... > from b import x > > self.n1 = x() > > ... > > ... ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From ezako en yahoo.es Mon Oct 11 19:06:05 2004 From: ezako en yahoo.es (zako) Date: Mon, 11 Oct 2004 19:06:05 +0200 Subject: duda sobre paquetes y path en python Message-ID: <20041011170605.GA3382@birgadista.rebelbase.dyns.cx> aupa, con el programa que he andado haciendo me he visto en la necesidad de modificar ligeramente algunso archivos de paquetes de SOAPpy, M2Crypto y algun modulo de Python 2.3.4. Algunos cambios son para soporte de IPv6, certificados (para los que ya he enviado los cambios a los desarroladores de las librerias por si resultan de interes) y otros mas "personales". A la hora de mantener el proyecto para evitar que mis cambios afecten a otros programas que requieren de esos paquetes y para evitar tener que actualizar los cambios cada que actualizo un paquete, dentro de las librerias de mi programa he incluido las librerias de SOAPpy y M2Crypto enteras con mis pequeñas modificaciones. No se si es la solucion idónea pero no se me ocurre otra y asi me aseguro que el programa funcione siempre. Además no tendre que estar revisando el codigo de estos paquetes en cada version para aplicar de nuevo mis modificaciones. Sin embargo con la libreria SOAPpy dentro de mis librerias del programa obtengo el siguiente error, que anteriormente no tenia (con la version de SOAPpy modificada pero ubicada en el directorio /usr/lib/python2.3/site-packages/SOAPpy: zako en birgadista:~/tmp/implementacion/bin/controlServ$ ./servidor_usuarios.py Traceback (most recent call last): File "./servidor_usuarios.py", line 88, in ? controlServ_config.cert, controlServ_config.key) File "../../lib/ServidorSOAP.py", line 133, in __init__ name_space, cert, key, cacert) File "../../lib/ServidorSOAP.py", line 80, in __init__ self._SslContext = SSL.Context() TypeError: 'module' object is not callable Otra duda que tengo, es cuando desarrollais un programa donde vais ubicando sus librerias. Ya que si las ubicas fuera del path por defecto de python, en el programa principal hay que redefinir el path y ademas si chequeaas las librerias con pychecker o pylint te dan problemas los imports. Espero que mas o menos me haya explicado con claridad. Un saludo, zako From jmvivoa_c en yahoo.es Mon Oct 11 19:56:35 2004 From: jmvivoa_c en yahoo.es (Jose Manuel Vivo) Date: Mon, 11 Oct 2004 19:56:35 +0200 Subject: Aplicar un import desde un =?iso-8859-1?q?m=F3dulo?= externo In-Reply-To: <1097514236.7526.43.camel@demeter.speriaitc.com> References: <1097508053.7526.21.camel@demeter.speriaitc.com> <200410111846.53512.jmvivoa_c@yahoo.es> <1097514236.7526.43.camel@demeter.speriaitc.com> Message-ID: <200410111956.35917.jmvivoa_c@yahoo.es> que te parece algo asi:    - c.py:       ...       import a from b import x a.x =x       v1 = y()       v1.n1.el_metodo_que_sea() añade al modulo 'a' la referencia a la clase 'x' "al vuelo". esto te puede funcionar si siempre importas el modulo 'a' de la misma forma (nombre de modulo): siempre que importes el modulo 'a' usas 'import a' o 'from a import' en todos los modulos y no cambies la ruta de acceso al modulo (ej: 'import kkk.a'), en ese caso no tendras 'x'. Espero que te valga. Un saludo. El Lunes, 11 de Octubre de 2004 19:03, Jose escribió: > Verás, la idea es no incluir el 'from ...' en a.py. > > Imagina: > > 1) con wxGlade diseño una ToolBar > 2) con wxGlade diseño un formulario que incluye la ToolBar del punto 1) > como un 'Custom Widget' > 3) hago que wxGlade me genere el código Python correspondiente a la > ToolBar (b.py) y al formulario (a.py) > 4) creo un script (c.py) que intenta mostrar el formulario del punto 2) > 5) obtengo un error ya que el formulario hace referencia a un > componente (la Toolbar del punto 1) cuyo código no encuentra > 5) para que me muestre el formulario, he de añadir 'a mano' la cláusula > 'from ...' en el código generado por wxGlade (en a.py) > 6) lo ideal (al menos para mí) sería que, de alguna forma, desde 'mi > código' (c.py) pudiese cargar la infraestructura adicional que necesitan > los recursos generados por wxGlade, sin tener que retocar 'su código' > > Chao, > Jose > > El lun, 11-10-2004 a las 18:46, Jose Manuel Vivo escribió: > > puedes hacer el import justo antes de crear el objeto, no es necesario > > que > > > > este en el inicio del modulo: > > > class y: > > > ... > > > > from b import x > > > > > self.n1 = x() > > > ... > > > ... From pepe en diselpro.com Mon Oct 11 19:50:05 2004 From: pepe en diselpro.com (Pepe Aracil) Date: Mon, 11 Oct 2004 19:50:05 +0200 Subject: Aplicar un import desde un =?iso-8859-15?q?m=F3dulo?= externo In-Reply-To: <1097508053.7526.21.camel@demeter.speriaitc.com> References: <1097508053.7526.21.camel@demeter.speriaitc.com> Message-ID: <200410111950.05153.pepe@diselpro.com> A ver si te vale esto: - c.py ... from a import y from b impor x ... (por aqui ha de estar la magia) #Hacemos Magia ;D ... v1 = y() # Forzamos a que la instancia de "y" contenga unainstancia de "x" v1.n1 = x() v1.n1.el_metodo_que_sea() ... El Lunes, 11 de Octubre de 2004 17:20, Jose escribió: > Tengo 3 módulos, a.py, b.py y c.py: > > - a.py contiene: > ... > from b import x > ... > class y: > ... > self.n1 = x() > ... > ... > > - b.py contiene: > ... > class x: > ... > ... > > - c.py contiene: > ... > from a import y > ... > (por aqui ha de estar la magia) > ... > v1 = y() > v1.n1.el_metodo_que_sea() > ... > > Necesito quitar el 'from b import x' de a.py (eliminando la dependencia > directa que tiene a.py de b.py) pero que la clase 'x' sea accesible a la > clase 'y' cuando c.py la instancie. > > Es como si, por código, desde el módulo c.py, se inyectase el 'from b > import x' a a.py. > > Espero que la explicación no resulte demasiado liada. > > ¿Sabéis de alguna forma de hacer algo así? > > Gracias, > Jose ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From rabs en dimension-virtual.com Mon Oct 11 20:32:50 2004 From: rabs en dimension-virtual.com (=?utf-8?q?Ra=C3=BAl_Alexis_Betancort_Santana?=) Date: Mon, 11 Oct 2004 19:32:50 +0100 Subject: Problema con XMLObject Message-ID: <200410111932.50838.rabs@dimension-virtual.com> Buenas .. quisiera saber si alguien ha usado este módulo para python para procesar archivos XML. Estoy intentado hacer un pequeño script que intercambia frases dentro de un .ts de QT y pensaba usar XMLObject 0.1.3 para hacer el asunto mas pythoniano y simple .. pero solo obtengo continuos errores de parsing y ni siquiera hay una documentación clara del XMLObject que explique como usar sus exceciones. Saludos ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From jose.figueras en speriaitc.com Mon Oct 11 20:40:41 2004 From: jose.figueras en speriaitc.com (Jose Figueras Matute) Date: Mon, 11 Oct 2004 20:40:41 +0200 Subject: Aplicar un import desde un =?ISO-8859-1?Q?m=F3dulo?= externo In-Reply-To: <200410111956.35917.jmvivoa_c@yahoo.es> References: <1097508053.7526.21.camel@demeter.speriaitc.com> <200410111846.53512.jmvivoa_c@yahoo.es> <1097514236.7526.43.camel@demeter.speriaitc.com> <200410111956.35917.jmvivoa_c@yahoo.es> Message-ID: <1097520041.7526.59.camel@demeter.speriaitc.com> Pues, aunque no acabo de entender muy bien por qué al asignar una clase a un atributo de un módulo la hace accesible al código interno de éste, lo cierto es que tu propuesta funciona a las mil maravillas. Por desgracia no he conseguido que actúe bien en un escenario más complejo (basado en el código generado por wxGlade): utilizo un formulario que hace de 'plantilla' (a.py) que importa un panel (b.py) que importa una cabecera (c.py) y una barra de herramientas (d.py) y todo esto intento 'coordinarlo' desde el formulario 'real' (e.py, el que en el post inicial llamaba c.py). Te agradecería cualquier sugerencia a este escenario de imports anidados. Gracias, Jose El lun, 11-10-2004 a las 19:56, Jose Manuel Vivo escribió: > que te parece algo asi: > > - c.py: > ... > import a > from b import x > a.x =x > v1 = y() > v1.n1.el_metodo_que_sea() > > añade al modulo 'a' la referencia a la clase 'x' "al vuelo". esto te puede > funcionar si siempre importas el modulo 'a' de la misma forma (nombre de > modulo): > siempre que importes el modulo 'a' usas 'import a' o 'from a import' en todos > los modulos y no cambies la ruta de acceso al modulo (ej: 'import kkk.a'), en > ese caso no tendras 'x'. > > Espero que te valga. > Un saludo. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From jose.figueras en speriaitc.com Mon Oct 11 20:49:07 2004 From: jose.figueras en speriaitc.com (Jose Figueras Matute) Date: Mon, 11 Oct 2004 20:49:07 +0200 Subject: Aplicar un import desde un =?ISO-8859-1?Q?m=F3dulo?= externo In-Reply-To: <200410111950.05153.pepe@diselpro.com> References: <1097508053.7526.21.camel@demeter.speriaitc.com> <200410111950.05153.pepe@diselpro.com> Message-ID: <1097520546.7527.68.camel@demeter.speriaitc.com> Me temo que es más complicado. Lo intentaré explicar desde otro punto de vista. He creado una clase que actúa como especialización de otra. Esta 'especialización' tiene una característica única: su clase padre tiene que carecer de algunos de los 'imports' que, en situaciones normales, debería poseer. Y es la propia clase 'especializada' la que debe, de alguna forma, proveerle de dichos imports para que no genere errores al ser cargada. No sé si me habré explicado (hasta a mí me resulta complicado de entender 8-) Saludos, Jose El lun, 11-10-2004 a las 19:50, Pepe Aracil escribió: > A ver si te vale esto: > > - c.py > ... > from a import y > from b impor x > ... > (por aqui ha de estar la magia) > #Hacemos Magia ;D > > ... > v1 = y() > # Forzamos a que la instancia de "y" contenga unainstancia de "x" > v1.n1 = x() > v1.n1.el_metodo_que_sea() > ... > > > El Lunes, 11 de Octubre de 2004 17:20, Jose escribió: > > Tengo 3 módulos, a.py, b.py y c.py: > > > > - a.py contiene: > > ... > > from b import x > > ... > > class y: > > ... > > self.n1 = x() > > ... > > ... > > > > - b.py contiene: > > ... > > class x: > > ... > > ... > > > > - c.py contiene: > > ... > > from a import y > > ... > > (por aqui ha de estar la magia) > > ... > > v1 = y() > > v1.n1.el_metodo_que_sea() > > ... > > > > Necesito quitar el 'from b import x' de a.py (eliminando la dependencia > > directa que tiene a.py de b.py) pero que la clase 'x' sea accesible a la > > clase 'y' cuando c.py la instancie. > > > > Es como si, por código, desde el módulo c.py, se inyectase el 'from b > > import x' a a.py. > > > > Espero que la explicación no resulte demasiado liada. > > > > ¿Sabéis de alguna forma de hacer algo así? > > > > Gracias, > > Jose > > ______________________________________________________________________ > _______________________________________________ > 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 cabrerachaparro en yahoo.com Mon Oct 11 20:59:56 2004 From: cabrerachaparro en yahoo.com (Daniel Cabrera) Date: Mon, 11 Oct 2004 13:59:56 -0500 (CDT) Subject: problemas con extensiones Message-ID: <20041011185956.24710.qmail@web60310.mail.yahoo.com> Hola, acabo de instalar las extension para windows para poder conectarme a una bd de Access, lo llego a instalar sin problemas pero cuando le doy ejecutar me sale el siguiente error : exceptions.ImportError: No module named win32api y cuando ejecuto alguna el comando python en DOS me sale la siguiente nota "import site failed" Por favor alguien podria decirme a q se debe eso? ya q antes de instalar estas extensiones funcionaba bien todo. Gracias, Daniel Cabrera _________________________________________________________ Do You Yahoo!? Información de Estados Unidos y América Latina, en Yahoo! Noticias. Visítanos en http://noticias.espanol.yahoo.com From morillas en posta.unizar.es Mon Oct 11 22:59:21 2004 From: morillas en posta.unizar.es (luis miguel morillas) Date: Mon, 11 Oct 2004 22:59:21 +0200 Subject: Problema con XMLObject In-Reply-To: <200410111932.50838.rabs@dimension-virtual.com> References: <200410111932.50838.rabs@dimension-virtual.com> Message-ID: <20041011205921.GA3641@marmota> Asunto: [Python-es] Problema con XMLObject Fecha: lun, oct 11, 2004 at 07:32:50 +0100 Citando a Raúl Alexis Betancort Santana (rabs en dimension-virtual.com): > > Buenas .. quisiera saber si alguien ha usado este módulo para python para > procesar archivos XML. > > Estoy intentado hacer un pequeño script que intercambia frases dentro de > un .ts de QT y pensaba usar XMLObject 0.1.3 para hacer el asunto mas > pythoniano y simple .. pero solo obtengo continuos errores de parsing y ni > siquiera hay una documentación clara del XMLObject que explique como usar sus > exceciones. > Qué errores te da? > Saludos > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es -- Luis Miguel No a las patentes de software en Europa EuropeSwPatentFree http://EuropeSwPatentFree.hispalinux.es From rabs en dimension-virtual.com Tue Oct 12 00:29:15 2004 From: rabs en dimension-virtual.com (=?iso-8859-1?q?Ra=FAl_Alexis_Betancort_Santana?=) Date: Mon, 11 Oct 2004 23:29:15 +0100 Subject: Problema con XMLObject In-Reply-To: <20041011205921.GA3641@marmota> References: <200410111932.50838.rabs@dimension-virtual.com> <20041011205921.GA3641@marmota> Message-ID: <200410112329.15345.rabs@dimension-virtual.com> El Lunes 11 Octubre 2004 21:59, luis miguel morillas escribió: > Qué errores te da? Al final lo he resuelto, el problema es que el .ts que usa el linguistic de QT lleva una estructura de este tipo .... Y yo la estaba tratando de esta manera... ... class context(XMLObject): name = TextNode() ... ... cuando tenía que hacerlo de esta otra .... class nameContext(XMLObject): _name = 'name' mainNode = TextNode() ... class context(XMLObject): name = ItemNode('nameContext') ... Al final he conseguido lo que quería, un pequeño script que me coje las translated strings de un .ts y me genera otro .ts usando esas translated strings como sources strings, al utilizar el método toXml() se genera un XML que el linguistic reconoce como válido, y eso me vale para enviarle el archivo .ts al cliente y que lo traduzca al idioma que quiera. Muy bueno el módulo XMLObject, una forma muy,muy simple de trabajar con XML en python y evitarse el engorro de los parsers tipo DOM o SAX, faltará ver como se comporta con archivos realmente grandes, pero con un .ts de unas 2000 frases se lo ha comido en menos de 2s Saludos y gracias. From bitpolis en gmail.com Tue Oct 12 01:55:04 2004 From: bitpolis en gmail.com (Mauricio Osorio Ayub) Date: Mon, 11 Oct 2004 18:55:04 -0500 Subject: ocultar ventana por x tiempo Message-ID: <2ddc9cbb04101116555bab2ae6@mail.gmail.com> Gracias Pepe Aracil me ha funcionado con las instruciones que mando. saludos. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From i_munoz en euskalnet.net Tue Oct 12 01:57:18 2004 From: i_munoz en euskalnet.net (=?ISO-8859-1?Q?I=F1igo?=) Date: Tue, 12 Oct 2004 01:57:18 +0200 Subject: fallo al capturar el evento del =?iso-8859-1?q?rat=F3n?= Message-ID: <416B1DDE.2040302@euskalnet.net> Hola a todos/as: Es la primera vez que escribo, así que apiadaros un poco de mí ;-) Bueno, os cuento, estoy dando mis primeros pasos con python, y he hecho una aplicación muy sencillita con wxpython. Son dos botones que, cuando uno de ellos es pulsado empieza a reproducir un archivo de audio (usando las librerías pymedia), y cuando se pulsa el otro se para la reproducción. El caso es que al pulsar el botón de reproducir empieza a reproducirse el archivo de audio, pero el botón se "queda bloqueado" y no se puede pulsar el otro botón. Supongo que es porque estoy capturando mal el evento, pero no sé cómo hacerlo sino. Para capturar el evento he usado la función on_boton1_mouseClick(self, event) From aragorn en pythonhispano.org Tue Oct 12 10:43:08 2004 From: aragorn en pythonhispano.org (Jose) Date: Tue, 12 Oct 2004 10:43:08 +0200 Subject: fallo al capturar el evento del =?ISO-8859-1?Q?rat=F3n?= In-Reply-To: <416B1DDE.2040302@euskalnet.net> References: <416B1DDE.2040302@euskalnet.net> Message-ID: <1097570587.3922.2.camel@demeter.speriaitc.com> ¿Cómo enlazas el evento con el método 'on_boton1_mouseClick()'? Cuando dices que un botón se queda 'bloqueado' y el otro no se puede pulsar, ¿quieres decir que puedes mover el ratón pero que los botones no responden ni siquiera visualmente cuando haces click sobre ellos? El mar, 12-10-2004 a las 01:57, Iñigo escribió: > Hola a todos/as: > Es la primera vez que escribo, así que apiadaros un poco de mí ;-) > Bueno, os cuento, estoy dando mis primeros pasos con python, y he hecho > una aplicación muy sencillita con wxpython. Son dos botones que, cuando > uno de ellos es pulsado empieza a reproducir un archivo de audio (usando > las librerías pymedia), y cuando se pulsa el otro se para la > reproducción. El caso es que al pulsar el botón de reproducir empieza a > reproducirse el archivo de audio, pero el botón se "queda bloqueado" y > no se puede pulsar el otro botón. Supongo que es porque estoy capturando > mal el evento, pero no sé cómo hacerlo sino. Para capturar el evento he > usado la función on_boton1_mouseClick(self, event) > > _______________________________________________ > 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 i_munoz en euskalnet.net Tue Oct 12 11:46:05 2004 From: i_munoz en euskalnet.net (=?ISO-8859-15?Q?I=F1igo?=) Date: Tue, 12 Oct 2004 11:46:05 +0200 Subject: =?ISO-8859-15?Q?Re=3A_=5BPython-es=5D_fallo_al_capturar_?= =?ISO-8859-15?Q?el_evento_del_rat=F3n?= In-Reply-To: <1097570587.3922.2.camel@demeter.speriaitc.com> References: <416B1DDE.2040302@euskalnet.net> <1097570587.3922.2.camel@demeter.speriaitc.com> Message-ID: <416BA7DD.1010501@euskalnet.net> Jose escribió: >¿Cómo enlazas el evento con el método 'on_boton1_mouseClick()'? > > La ventana la he creado con python card. El archivo donde guarda la configuración de la ventana lo he llamado principal.rsrc.py y luego he creado otro que he llamado principal.py dentro de ese he creado una clase Principal el código es éste: class Principal(model.Background): objeto= aplayer() def on_boton1_mouseClick(self, event): self.objeto.reproducir("cancion.mp3") def on_boton2_mouseClick(self, event): self.objeto.parar() >Cuando dices que un botón se queda 'bloqueado' y el otro no se puede >pulsar, ¿quieres decir que puedes mover el ratón pero que los botones no >responden ni siquiera visualmente cuando haces click sobre ellos? > > Sí, el otro botón se ve y el ratón se puede mover, pero no se puede pulsar, de hecho si pulsas en la x para cerrar la ventana sale el típico mensajito de "Este programa no responde. Finalizar ahora o cancelar" > > >------------------------------------------------------------------------ >_______________________________________________ >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 rapto en arrakis.es Tue Oct 12 12:04:53 2004 From: rapto en arrakis.es (Marcos =?ISO-8859-1?Q?S=E1nchez?= Provencio) Date: Tue, 12 Oct 2004 12:04:53 +0200 Subject: problemas con extensiones In-Reply-To: <20041011185956.24710.qmail@web60310.mail.yahoo.com> References: <20041011185956.24710.qmail@web60310.mail.yahoo.com> Message-ID: <1097575492.3857.1.camel@renata.macondo.pri> Intenta ejecutar python con '-v'. Comprueba si tienes alguna sorpresa de dónde se sacan las cosas. Igual es que uno de tus módulos se llama igual que uno del sistema y se está 'colando'. El lun, 11-10-2004 a las 20:59, Daniel Cabrera escribió: > Hola, > acabo de instalar las extension para windows para > poder conectarme a una bd de Access, lo llego a > instalar sin problemas pero cuando le doy ejecutar me > sale el siguiente error : > failed>exceptions.ImportError: No module named > win32api > > y cuando ejecuto alguna el comando python en DOS me > sale la siguiente nota "import site failed" > > Por favor alguien podria decirme a q se debe eso? > ya q antes de instalar estas extensiones funcionaba > bien todo. > > Gracias, > > Daniel Cabrera > > _________________________________________________________ > Do You Yahoo!? > Información de Estados Unidos y América Latina, en Yahoo! Noticias. > Visítanos en http://noticias.espanol.yahoo.com > _______________________________________________ > 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 cabrerachaparro en yahoo.com Tue Oct 12 15:57:47 2004 From: cabrerachaparro en yahoo.com (Daniel Cabrera) Date: Tue, 12 Oct 2004 08:57:47 -0500 (CDT) Subject: problemas con extensiones In-Reply-To: <1097575492.3857.1.camel@renata.macondo.pri> References: <1097575492.3857.1.camel@renata.macondo.pri> Message-ID: <20041012135747.37801.qmail@web60301.mail.yahoo.com> Efectivamente el problema era q habia creado un script con l nombre os y parece que Python usa ese nombre para una libreria. Gracias Daniel Cabrera --- Marcos Sánchez Provencio escribió: > Intenta ejecutar python con '-v'. Comprueba si > tienes alguna sorpresa de > dónde se sacan las cosas. Igual es que uno de tus > módulos se llama igual > que uno del sistema y se está 'colando'. > > > El lun, 11-10-2004 a las 20:59, Daniel Cabrera > escribió: > > Hola, > > acabo de instalar las extension para windows para > > poder conectarme a una bd de Access, lo llego a > > instalar sin problemas pero cuando le doy ejecutar > me > > sale el siguiente error : > > > failed>exceptions.ImportError: No module named > > win32api > > > > y cuando ejecuto alguna el comando python en DOS > me > > sale la siguiente nota "import site failed" > > > > Por favor alguien podria decirme a q se debe eso? > > ya q antes de instalar estas extensiones > funcionaba > > bien todo. > > > > Gracias, > > > > Daniel Cabrera > > > > > _________________________________________________________ > > Do You Yahoo!? > > Información de Estados Unidos y América Latina, en > Yahoo! Noticias. > > Visítanos en http://noticias.espanol.yahoo.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 > _________________________________________________________ Do You Yahoo!? Información de Estados Unidos y América Latina, en Yahoo! Noticias. Visítanos en http://noticias.espanol.yahoo.com From maramsis en gmail.com Tue Oct 12 23:12:03 2004 From: maramsis en gmail.com (maram) Date: Tue, 12 Oct 2004 18:12:03 -0300 Subject: =?ISO-8859-1?Q?Re:__interfaz_gr=E1fica_-_Tkinter?= In-Reply-To: <20041010181249.119c4eff@nutria.micasa.com.uy> References: <20041010181249.119c4eff@nutria.micasa.com.uy> Message-ID: On Sun, 10 Oct 2004 18:12:49 -0300, Daniel Díaz wrote: > Hola, hace muy tiempo que estoy con Python, y me ha costado mucho la parte de interfaz gráfica. > Y al final me decidi por tkinter. Según su experiencia, es un buen camino o hay mejores opciones > (sobre todo por el aprendizaje) > > Saludos desde Uruguay.- > > -- > ******************************* > José Daniel Díaz Pose. Hola: Mira, yo empeze con tkinter... Actualmente uso GTK2 , podes ver un ejemplo en el proyecto http://pygestor.gnome.cl . Especificamente uso una implementacion de gtk2 en desarrollo llamada CIMARRON. Proyecto de www.vialibre.org.ar aun en etapa beta. Es multiplataforma, simple y no te complica con entornos de desarrollo. (Yo utilizo emacs.) maram From py en ch3m4.org Wed Oct 13 08:55:09 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Wed, 13 Oct 2004 08:55:09 +0200 Subject: [OT] =?iso-8859-1?q?Aclaraci=F3n_sobre_QT/GPL_para?= windows In-Reply-To: <4c01c85a04101105262541184b@mail.gmail.com> References: <1097399031.4168faf7f1b54@ch3m4.org> <200410111359.31967.py@ch3m4.org> <4c01c85a04101105262541184b@mail.gmail.com> Message-ID: <200410130855.13213.py@ch3m4.org> On Monday 11 October 2004 14:26, Pablo Rey Sobral wrote: > Un software tiene un fin concreto, que es su uso. Si tu tienes un > código, que simplemente está ahí para verlo, no es un software, sino > que es un libro (un conjunto de palabras escritas sobre un soporte sin > más utilidad que la lectura, el análisis y el aprendizaje). Te olvidas que el software libre sólo obliga a entregar el código a quien lo utiliza, no a cualquiera. Derecho de uso y código van unidos, no son dos cosas que vayan por separado. El problema es quien interpreta que con tener el código ya se ha obtenido el derecho de uso. ------------ 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 igonza en isoco.com Wed Oct 13 09:27:55 2004 From: igonza en isoco.com (=?iso-8859-1?Q?Ignacio_Gonz=E1lez?=) Date: Wed, 13 Oct 2004 09:27:55 +0200 Subject: [OT] =?iso-8859-15?Q?Aclar?= =?iso-8859-15?Q?aci=F3n?= sobre QT/GPL para windows In-Reply-To: <200410130855.13213.py@ch3m4.org> References: <1097399031.4168faf7f1b54@ch3m4.org> <200410111359.31967.py@ch3m4.org> <4c01c85a04101105262541184b@mail.gmail.com> <200410130855.13213.py@ch3m4.org> Message-ID: <20041013072755.GV30012@isoco.com> On Wed, Oct 13, 2004 at 08:55:09AM +0200, Chema Cortés wrote: > Te olvidas que el software libre sólo obliga a entregar el código a quien lo > utiliza, no a cualquiera. Derecho de uso y código van unidos, no son dos > cosas que vayan por separado. El problema es quien interpreta que con tener > el código ya se ha obtenido el derecho de uso. Entiendo que si (uff, siento alargar este hilo algo mas de lo debido. Si molesto a alguien lo siento). Si tu tienes una copia licenciada con GPL adquirida por cualquier método (regalada por un amigo/compañero/PongaAquíSuOpcion, comprada al proveedor original o alguno de sus distribuidores) puedes usarla, estudiarla, modificarla y demás, ya que la licencia te da derecho. No creo que sea posible hablar de robo de software o de piratería en el caso del software libre. Esa duda te surge porque en el software propietario estamos acostumbrados a que un usuario no puede ser distribuidor, pero usando GPL, CADA copia del software es UNA COPIA LEGÍTIMA. Si necesitas una autización del dueño del Copyright personalizada para poder ejecutar el programa estamos hablando de, o bien otras licencias (no libres, aunque sí de código abierto) o bien otros típos de software (no libre, por ejemplo). -- La política es el arte de buscar problemas, encontrarlos, hacer un diagnóstico falso y aplicar después los remedios equivocados. -- Groucho Marx. Yo iré a la carcel por culpa de las patentes de software. :) + LSSI = :X ________________________________________________________________________ Ignacio González López I.T. Dept @ iSOCO http://www.isoco.com #T(+34) 91 3349797 Intelligent Software Components, S.A. #F(+34) 91 3349799 iSOCO Madrid - Pedro de Valdivia 10, Madrid. CP 28006 ------------ 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 py en ch3m4.org Wed Oct 13 10:20:38 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Wed, 13 Oct 2004 10:20:38 +0200 Subject: Versiones de Boa y wxWidgets In-Reply-To: <200410082345.01697.josepgimbernat@cdgir.com> References: <200410082345.01697.josepgimbernat@cdgir.com> Message-ID: <200410131020.43865.py@ch3m4.org> On Friday 08 October 2004 23:45, Josep wrote: > Hola a todos, estoy trabajando con Boa desde hace poco y, viniendo de > Delphi, hecho en falta muchas cosas, claro, y especialmente que me da > errores desconocidos para mi. > > He visto comentarios sobre que hay problemas con las versiones de Boa.. > ¿a qué os referis, concretamente? > ¿a problemas con Python, o con wxWidgtes (antes wxWindows) o con alguna > libreria? > y, lo más importante ¿qué versión funciona bién con qué? Hay cambios mayores entre wx 2.4 y 2.5 Algunas aplicaciones exigen la nueva versión, pero concretamente Boa-constructor no podría funcionar con ella. Se espera que antes de fin de año, la versión 0.4.0-alpha del Boa-constructor funcione con wx2.5 Hay trucos para mantener las dos versiones de wxPython, pero si no quieres complicarte para trabajar con Boa déjate sólo la versión wx2.4 Un problema añadido es la compatibilidad con unicode. Algunas aplicaciones requieren que no esté activado el soporte unicode, pero es aconsejable que siempre que puedas utilices las librerías con compatibilidad con unicode (en linux todas los binarios se compilan con soporte unicode; en windows, los binarios con unicode son los que llevan una 'u' en la versión). En cuanto al Boa, su desarrollo durante el último año iba orientados a incorporar los "sizers" de wx. Durante este periodo se hacía necesario descargar los fuentes de desarrollo (del cvs) para tener un boa con sizers, pero de eso ya no hay que preocuparse. Instálate la última versión disponible en descargas (0.3.1-alpha) sin dejar de instalar también el resto de documentación (python, wxpython, cvsmanual y zope). No te instales el BoaDebuggerProduct a no ser que quieras crear productos para zope. ------------ 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 aragorn en pythonhispano.org Wed Oct 13 10:22:54 2004 From: aragorn en pythonhispano.org (Jose) Date: Wed, 13 Oct 2004 10:22:54 +0200 Subject: fallo al capturar el evento del =?ISO-8859-1?Q?rat=F3n?= In-Reply-To: <416BA7DD.1010501@euskalnet.net> References: <416B1DDE.2040302@euskalnet.net> <1097570587.3922.2.camel@demeter.speriaitc.com> <416BA7DD.1010501@euskalnet.net> Message-ID: <1097655773.3951.32.camel@demeter.speriaitc.com> No conozco pymedia ni he trabajado con PythonCard pero, por lo que dices, parece que tu reproductor no se integra con el gestor de eventos de PythonCard (que se basa en wxPython y éste en wxWidgets). Puede ser que no hayas inicializado bien el gestor (bucle) de eventos de PythonCard: si tu ventana funciona bien mientras no reproduces nada (prueba a comentar el código de los botones y probar si se pulsan sin problemas), es que está bien inicializado. O puede que tengas que 'integrar' tu reproductor en el gestor de eventos de PythonCard. Para ello deberías enviar eventos de 'refresco' a la ventana que contiene el reproductor (utilizando algo como wx.PostEvent([objeto_ventana].GetEventHandler(), wx.IdleEvent()) o wx.PostEvent([objeto_ventana].GetEventHandler(), wx.UpdateUIEvent())). Pero, como te he comentado, no conozco este par de librerias y tal vez te esté sugiriendo algo equivocado. El mar, 12-10-2004 a las 11:46, Iñigo escribió: > Jose escribió: > > >¿Cómo enlazas el evento con el método 'on_boton1_mouseClick()'? > > > > > La ventana la he creado con python card. El archivo donde guarda la > configuración de la ventana lo he llamado principal.rsrc.py y luego he > creado otro que he llamado principal.py dentro de ese he creado una > clase Principal el código es éste: > > class Principal(model.Background): > objeto= aplayer() > > > def on_boton1_mouseClick(self, event): > self.objeto.reproducir("cancion.mp3") > > > def on_boton2_mouseClick(self, event): > self.objeto.parar() > > >Cuando dices que un botón se queda 'bloqueado' y el otro no se puede > >pulsar, ¿quieres decir que puedes mover el ratón pero que los botones no > >responden ni siquiera visualmente cuando haces click sobre ellos? > > > > > Sí, el otro botón se ve y el ratón se puede mover, pero no se puede > pulsar, de hecho si pulsas en la x para cerrar la ventana sale el típico > mensajito de "Este programa no responde. Finalizar ahora o cancelar" > > > > > > >------------------------------------------------------------------------ > >_______________________________________________ > >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 py en ch3m4.org Wed Oct 13 10:48:08 2004 From: py en ch3m4.org (Chema =?iso-8859-15?q?Cort=E9s?=) Date: Wed, 13 Oct 2004 10:48:08 +0200 Subject: Aplicar un import desde un =?iso-8859-15?q?m=F3dulo?= externo In-Reply-To: <1097508053.7526.21.camel@demeter.speriaitc.com> References: <1097508053.7526.21.camel@demeter.speriaitc.com> Message-ID: <200410131048.13219.py@ch3m4.org> On Monday 11 October 2004 17:20, Jose wrote: > ¿Sabéis de alguna forma de hacer algo así? Usa 'exec' en lugar de 'import' ------------ 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 jileon en parcan.es Wed Oct 13 11:50:35 2004 From: jileon en parcan.es (Juan Ignacio =?ISO-8859-1?Q?Rodr=EDguez?= de =?ISO-8859-1?Q?Le=F3n?=) Date: Wed, 13 Oct 2004 10:50:35 +0100 Subject: fallo al capturar el evento del =?ISO-8859-1?Q?rat=F3n?= In-Reply-To: <1097655773.3951.32.camel@demeter.speriaitc.com> References: <416B1DDE.2040302@euskalnet.net> <1097570587.3922.2.camel@demeter.speriaitc.com> <416BA7DD.1010501@euskalnet.net> <1097655773.3951.32.camel@demeter.speriaitc.com> Message-ID: <1097661035.2304.7.camel@jileon.parcan.es> On Wed, 2004-10-13 at 10:22 +0200, Jose wrote: > O puede que tengas que 'integrar' tu reproductor en el gestor de eventos > de PythonCard. Para ello deberías enviar eventos de 'refresco' a la > ventana que contiene el reproductor (utilizando algo como > wx.PostEvent([objeto_ventana].GetEventHandler(), wx.IdleEvent()) o > wx.PostEvent([objeto_ventana].GetEventHandler(), wx.UpdateUIEvent())). > Pero, como te he comentado, no conozco este par de librerias y tal vez > te esté sugiriendo algo equivocado. Se me ocurre que, cuando si inicia la reproducción del audio, (al menos sobre Windows), hay que indicarle si deseamos que la reproducción del mismo sea asíncrona o no, es decir, si cuando llamamos al play, queremos que la llamada a la función no retorne hasta que el sonido termine de reproducirse o, por el contrario, queremos que retorne de forma inmediata. ¿Podría ser este el problema? Un saludo. -- Juan Ignacio Rodríguez de León Parlamento de Canarias From dtrillo en gmail.com Wed Oct 13 10:58:59 2004 From: dtrillo en gmail.com (david _) Date: Wed, 13 Oct 2004 10:58:59 +0200 Subject: =?iso-8859-1?q?fallo_al_capturar_el_evento_del_rat?= =?iso-8859-1?q?=F3n?= Message-ID: <86b8f6b9041013015813caf9d9@mail.gmail.com> Podrias mandarme el codigo del programa cuando termines. Creo que es una aplicacion bastante sencilla como para aprender cosas.... ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From py en ch3m4.org Wed Oct 13 13:35:24 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Wed, 13 Oct 2004 13:35:24 +0200 Subject: duda sobre paquetes y path en python In-Reply-To: <20041011170605.GA3382@birgadista.rebelbase.dyns.cx> References: <20041011170605.GA3382@birgadista.rebelbase.dyns.cx> Message-ID: <200410131335.27864.py@ch3m4.org> On Monday 11 October 2004 19:06, zako wrote: > Sin embargo con la libreria SOAPpy dentro de mis librerias del programa > obtengo el siguiente error, que anteriormente no tenia (con la version de > SOAPpy modificada pero ubicada en el directorio > /usr/lib/python2.3/site-packages/SOAPpy: > > zako en birgadista:~/tmp/implementacion/bin/controlServ$ > ./servidor_usuarios.py Traceback (most recent call last): > File "./servidor_usuarios.py", line 88, in ? > controlServ_config.cert, controlServ_config.key) > File "../../lib/ServidorSOAP.py", line 133, in __init__ > name_space, cert, key, cacert) > File "../../lib/ServidorSOAP.py", line 80, in __init__ > self._SslContext = SSL.Context() > TypeError: 'module' object is not callable Con sólo ésto no me es posible saber qué te pasa. ¿Cómo has configurado el path a las librerías? > Otra duda que tengo, es cuando desarrollais un programa donde vais ubicando > sus librerias. Ya que si las ubicas fuera del path por defecto de python, > en el programa principal hay que redefinir el path y ademas si chequeaas > las librerias con pychecker o pylint te dan problemas los imports. Utilizar la variable de entorno PYTHONPATH para añadir rutas de búsqueda. Con pychecker funciona sin problemas. ------------ 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 ezako en yahoo.es Wed Oct 13 13:15:41 2004 From: ezako en yahoo.es (zako) Date: Wed, 13 Oct 2004 13:15:41 +0200 Subject: duda sobre paquetes y path en python In-Reply-To: <200410131335.27864.py@ch3m4.org> References: <20041011170605.GA3382@birgadista.rebelbase.dyns.cx> <200410131335.27864.py@ch3m4.org> Message-ID: <20041013111541.GA1361@birgadista.rebelbase.dyns.cx> On Wed, Oct 13, 2004 at 01:35:24PM +0200, Chema Cortés wrote: > On Monday 11 October 2004 19:06, zako wrote: > > > Sin embargo con la libreria SOAPpy dentro de mis librerias del programa > > obtengo el siguiente error, que anteriormente no tenia (con la version de > > SOAPpy modificada pero ubicada en el directorio > > /usr/lib/python2.3/site-packages/SOAPpy: > > > > zako en birgadista:~/tmp/implementacion/bin/controlServ$ > > ./servidor_usuarios.py Traceback (most recent call last): > > File "./servidor_usuarios.py", line 88, in ? > > controlServ_config.cert, controlServ_config.key) > > File "../../lib/ServidorSOAP.py", line 133, in __init__ > > name_space, cert, key, cacert) > > File "../../lib/ServidorSOAP.py", line 80, in __init__ > > self._SslContext = SSL.Context() > > TypeError: 'module' object is not callable > > Con sólo ésto no me es posible saber qué te pasa. ¿Cómo has configurado el > path a las librerías? /programa /lib /modifications /SOAPpy /M2Crypto ... /controlServ ... /bin ... ... Lo que he hecho es en los ejecutables (programa/bin/...) de python introducir: import sys sys.path.insert(0, '/home/programa') Luego cuando ejecuto el programa un modulo de la libreria puede importar otros modulos de la libreria, si bien en ellos no vuelvo a modificar el path. Creo que el path se deberia mantener al que modifique en un principio en el programa (o no es asi?). En cuanto a lib.modifications me limite a copiar las librerias de SOAPpy que estaban en /usr/lib/python2.3/site-packages/SOAPpy y tuve que cambiar los imports en los ficheros a lib.modifications.SOAPpy. Creo que en principio deberia estar bien, ya que parece que el error no es de importacion, aunque tendre que seguir mirandolo. Saludos, zako From jjr en wpsnetwork.com Wed Oct 13 18:06:05 2004 From: jjr en wpsnetwork.com (jjr) Date: Wed, 13 Oct 2004 18:06:05 +0200 Subject: Latex In-Reply-To: <20041013084600.447DF14043C5@devnull.aditel.org> References: <20041013084600.447DF14043C5@devnull.aditel.org> Message-ID: Saludos. Voy a desarrollar una interfaz en python y necesito que genere codigo latex.Sabe alguién que herramienta hay que utilizar? y sobre la utilización de dicha herramienta hay documentación interesante?. Gracias ante todo. From py en ch3m4.org Wed Oct 13 18:42:47 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Wed, 13 Oct 2004 18:42:47 +0200 Subject: duda sobre paquetes y path en python In-Reply-To: <20041013111541.GA1361@birgadista.rebelbase.dyns.cx> References: <20041011170605.GA3382@birgadista.rebelbase.dyns.cx> <200410131335.27864.py@ch3m4.org> <20041013111541.GA1361@birgadista.rebelbase.dyns.cx> Message-ID: <200410131842.50141.py@ch3m4.org> On Wednesday 13 October 2004 13:15, zako wrote: > > Con sólo ésto no me es posible saber qué te pasa. ¿Cómo has configurado > > el path a las librerías? > > /programa > /lib > /modifications > /SOAPpy > /M2Crypto > ... > /controlServ > ... > /bin > ... > ... > > Lo que he hecho es en los ejecutables (programa/bin/...) de python > introducir: import sys > sys.path.insert(0, '/home/programa') Tienes que ser más especifico. Prueba con: sys.path.insert(0, '/home/programa/lib/controlServ') sys.path.insert(0, '/home/programa/lib/modifications') > Luego cuando ejecuto el programa un modulo de la libreria puede importar > otros modulos de la libreria, si bien en ellos no vuelvo a modificar el > path. Creo que el path se deberia mantener al que modifique en un principio > en el programa (o no es asi?). Digamos que los módulos que están dentro de un paquete siempre van primero a buscar dentro del paquete donde están, y luego siguen en la ruta que le indica el sistema. En el caso de que un subpaquete quiera importar otro subpaquete en el mismo nivel ("siblings") no le quedará más remedio que importar desde el "padre". ------------ 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 i_munoz en euskalnet.net Wed Oct 13 19:36:08 2004 From: i_munoz en euskalnet.net (=?ISO-8859-1?Q?I=F1igo?=) Date: Wed, 13 Oct 2004 19:36:08 +0200 Subject: =?ISO-8859-1?Q?Re=3A_=5BPython-es=5D_fallo_al_capturar_?= =?ISO-8859-1?Q?el_evento_del_rat=F3n?= In-Reply-To: <1097661035.2304.7.camel@jileon.parcan.es> References: <416B1DDE.2040302@euskalnet.net> <1097570587.3922.2.camel@demeter.speriaitc.com> <416BA7DD.1010501@euskalnet.net> <1097655773.3951.32.camel@demeter.speriaitc.com> <1097661035.2304.7.camel@jileon.parcan.es> Message-ID: <416D6788.2050308@euskalnet.net> Pues podría ser ése el problema. ¿Me podrías decir cómo se indica que la función retorne de forma inmediata? Es que en la documentación que viene en la web de pymedia no viene nada sobre eso. Muchas gracias a todos por las respuestas. Juan Ignacio Rodríguez de León escribió: >Se me ocurre que, cuando si inicia la reproducción del audio, (al menos >sobre Windows), hay que indicarle si deseamos que la reproducción del >mismo sea asíncrona o no, es decir, si cuando llamamos al play, queremos >que la llamada a la función no retorne hasta que el sonido termine de >reproducirse o, por el contrario, queremos que retorne de forma >inmediata. ¿Podría ser este el problema? > >Un saludo. > > From rapto en arrakis.es Wed Oct 13 20:07:32 2004 From: rapto en arrakis.es (Marcos =?ISO-8859-1?Q?S=E1nchez?= Provencio) Date: Wed, 13 Oct 2004 20:07:32 +0200 Subject: Latex In-Reply-To: References: Message-ID: <1097690850.3957.1.camel@renata.macondo.pri> A ver si esto te vale http://pyx.sourceforge.net El mié, 13-10-2004 a las 18:06, jjr escribió: > Saludos. Voy a desarrollar una interfaz en python y necesito que genere > codigo latex.Sabe alguién que herramienta hay que > utilizar? y sobre la utilización de dicha herramienta hay documentación > interesante?. > Gracias ante todo. > > _______________________________________________ > 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 jileon en parcan.es Thu Oct 14 11:10:12 2004 From: jileon en parcan.es (=?ISO-8859-1?Q?Juan_Ignacio_Rodr=EDguez_de_Le=F3n?=) Date: Thu, 14 Oct 2004 10:10:12 +0100 Subject: =?ISO-8859-1?Q?Re=3A_=5BPython-es=5D_fallo_al_capturar_?= =?ISO-8859-1?Q?el_evento_del_rat=F3n?= In-Reply-To: <416D6788.2050308@euskalnet.net> References: <416B1DDE.2040302@euskalnet.net> <1097570587.3922.2.camel@demeter.speriaitc.com> <416BA7DD.1010501@euskalnet.net> <1097655773.3951.32.camel@demeter.speriaitc.com> <1097661035.2304.7.camel@jileon.parcan.es> <416D6788.2050308@euskalnet.net> Message-ID: <416E4274.6090000@parcan.es> Iñigo wrote: > Pues podría ser ése el problema. ¿Me podrías decir cómo se indica que > la función retorne de forma inmediata? Es que en la documentación que > viene en la web de pymedia no viene nada sobre eso. > *No he usado pymedia, pero si tu plataforma de trabajo es windows puedes usar el módulo winsound, disponible desde la versión 1.5.2 de Python; por ejemplo: import winsound winsound.PlaySound( 'bells.wav' , winsound.SND_FILENAME | winsound.SND_ASYNC ) El segundo parámetro es una combinación OR de los flags: SND_FILENAME, que indica que el primer parámetro se refiere a un nombre de un fichero (Hay otras formas de especificarle el origen del sonido, pero esta es la más habitual) y **SND_ASYNC, que es el que obliga a la función a retornar inmediatamente, reproduciendose el sonido de forma asíncrona. Si estas trabajando sobre Linux, en wxPython hay una clase llamada wxSound, que tambien podrías usar... Saludos cordiales.** * From py en ch3m4.org Thu Oct 14 11:27:34 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Thu, 14 Oct 2004 11:27:34 +0200 Subject: Latex In-Reply-To: References: Message-ID: <200410141127.38539.py@ch3m4.org> On Wednesday 13 October 2004 18:06, jjr wrote: > Saludos. Voy a desarrollar una interfaz en python y necesito que genere > codigo latex.Sabe alguién que herramienta hay que > utilizar? y sobre la utilización de dicha herramienta hay documentación > interesante?. En principio no necesitas nada más que python y un sistema latex algo completo. El fichero de tex es un fichero de texto que puedes manejar directamente desde python. Para tratamiento de textos en python, lo más típico es utilizar el operador de formato '%' con el que puedes incrustar texto en el código LaTeX. También podrías definirte algunos macros TeX: #!/usr/bin/python import sys,os from datetime import date PLANTILLA=""" \nopagenumbers Este es un documento de \TeX\. \par Hola, \NAME, hoy es \DATE. \vfil\eject """ macro1='\\def\\NAME{Pepito}' macro2='\\def\\DATE{%s}' % date.today().strftime("%c") #Generación del fichero TeX texfile=file('temp.tex', 'w') print >>texfile, macro1 print >>texfile, macro2 print >>texfile, PLANTILLA print >>texfile, '\\bye' texfile.close() #Procesado del fichero os.system('tex temp.tex') os.system('dvips temp') Hay algún sistema de mezclar mejor variables en código TeX, como el TeXmerger ó el PyTeX, pero ahora no encuentro sus referencias en internet. También tenía una referencia de un plugin para ejecutar código python dentro de TeX, pero creo que nunca lo hize funcionar. Algunas utilidades que podrían servirte: PyX Generador de gráficos, bastante bueno PyBliographer Manejo de referencias bibliográficas LaTeXDB Integración de LaTeX y bases de datos py2tex Convierte código python en TeX. Para documentar código. Si quieres una buena referencia sobre procesamiento de textos, hay un buen libro dedicado a ello: http://gnosis.cx/TPiP/ Otra alternativa sería generar código LaTeX como producto secundario a partir de XML (docbook, etc). Mírate en concreto el tbook ------------ 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 i_munoz en euskalnet.net Thu Oct 14 13:17:07 2004 From: i_munoz en euskalnet.net (=?ISO-8859-1?Q?I=F1igo?=) Date: Thu, 14 Oct 2004 13:17:07 +0200 Subject: =?ISO-8859-1?Q?Re=3A_=5BPython-es=5D_fallo_al_capturar_?= =?ISO-8859-1?Q?el_evento_del_rat=F3n?= In-Reply-To: <416E4274.6090000@parcan.es> References: <416B1DDE.2040302@euskalnet.net> <1097570587.3922.2.camel@demeter.speriaitc.com> <416BA7DD.1010501@euskalnet.net> <1097655773.3951.32.camel@demeter.speriaitc.com> <1097661035.2304.7.camel@jileon.parcan.es> <416D6788.2050308@euskalnet.net> <416E4274.6090000@parcan.es> Message-ID: <416E6033.9000906@euskalnet.net> Juan Ignacio Rodríguez de León escribió: > *No he usado pymedia, pero si tu plataforma de trabajo es windows > puedes usar el módulo winsound, disponible desde la versión 1.5.2 de > Python; por ejemplo: > > import winsound > winsound.PlaySound( > 'bells.wav' > , winsound.SND_FILENAME | winsound.SND_ASYNC > ) > > El segundo parámetro es una combinación OR de los flags: SND_FILENAME, > que indica que el primer parámetro se refiere a un nombre de un > fichero (Hay otras formas de especificarle el origen del sonido, pero > esta es la más habitual) y **SND_ASYNC, que es el que obliga a la > función a retornar inmediatamente, reproduciendose el sonido de forma > asíncrona. He probado esa librería, y el problema es que sólo reproduce ficheros wav, he intentado que reprodujese un fichero en mp3 pero no puede e imagino que en ogg pasará lo mismo. De hecho en la documentación que he encontrado en Internet sobre esa librería dice lo siguiente:* SND_FILENAME* The sound parameter is the name of a WAV file. Seguiré intentándolo. De nuevo gracias por las ideas. > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From lars en telefonica.net Thu Oct 14 14:17:16 2004 From: lars en telefonica.net (lars) Date: Thu, 14 Oct 2004 14:17:16 +0200 Subject: GTK y gettext Message-ID: <416E6E4C.7010700@telefonica.net> Hola, tengo una interfaz en GTK2 terminada y ahora me gustaría incluir soporte para gettext, meto los elementos en un diccionario y luego les paso la cadena correspondiente de gettext: [...] def cadenas(self): lang=gettext.translation("messages","i18n",languages=['en']) # barra de menú menú = {'mServidores':'Servidores','mimportar':'Importar','mexportar':'Exportar', \ 'mnuevo':'Añadir','mquitar':'Quitar','mpropiedades':'Propiedades', \ 'msalir':'Salir','mAyuda':'Ayuda','mbuscarActualizaciones':'Buscar Actualizaciones', \ 'mindice':'Indice','macercade':'Acerca de'} for i,n in menu.iteritems(): elemento = self.fuente.get_widget(i) elemento.label(_(n)) # esto no va Donde el indice es el nombre del widget y el valor es el texto. El problema es cuando quiero cambiar la etiqueta a un elemento del menú, he buscado en la documentación de pygtk y en google sin éxito, he probado con set_property('text','aquí el texto') pero no funciona con los menús. La otra forma es crear el gtk.Menu y todo lo demás a mano y ponerle las etiquetas, supongo que eso si funcionaría pero ya que lo tengo todo echo y funcionando, ¿hay alguna forma de cambiar las etiquetas de un menú ya creado?. Gracias. From lars en telefonica.net Thu Oct 14 14:55:43 2004 From: lars en telefonica.net (lars) Date: Thu, 14 Oct 2004 14:55:43 +0200 Subject: GTK y gettext In-Reply-To: <416E6E4C.7010700@telefonica.net> References: <416E6E4C.7010700@telefonica.net> Message-ID: <416E774F.2030502@telefonica.net> lars wrote: > Hola, tengo una interfaz en GTK2 terminada y ahora me gustaría incluir > soporte para gettext, meto los elementos en un diccionario y luego > les paso la cadena correspondiente de gettext: > > [...] > def cadenas(self): > lang=gettext.translation("messages","i18n",languages=['en']) > # barra de menú > menú = > {'mServidores':'Servidores','mimportar':'Importar','mexportar':'Exportar', > \ > > 'mnuevo':'Añadir','mquitar':'Quitar','mpropiedades':'Propiedades', \ > > 'msalir':'Salir','mAyuda':'Ayuda','mbuscarActualizaciones':'Buscar > Actualizaciones', \ > 'mindice':'Indice','macercade':'Acerca de'} > for i,n in menu.iteritems(): > elemento = self.fuente.get_widget(i) > elemento.label(_(n)) # esto no va > > Donde el indice es el nombre del widget y el valor es el texto. > El problema es cuando quiero cambiar la etiqueta a un elemento del > menú, he buscado en la documentación de pygtk y en google sin éxito, > he probado con set_property('text','aquí el texto') pero no funciona > con los menús. La otra forma es crear el gtk.Menu y todo lo demás a > mano y ponerle las etiquetas, supongo > que eso si funcionaría pero ya que lo tengo todo echo y funcionando, > ¿hay alguna forma de cambiar las etiquetas de un menú ya creado?. > Gracias. > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > por cierto, la interfaz esta echa en glade From pablo en elenya.net Thu Oct 14 22:09:22 2004 From: pablo en elenya.net (=?ISO-8859-15?Q?Pablo_Ruiz_M=FAzquiz?=) Date: Thu, 14 Oct 2004 16:09:22 -0400 Subject: OT: oferta de trabajo en jazztel Message-ID: <416EDCF2.1070904@elenya.net> Hola! Perdonad que envíe este correo de oferta de trabajo pero entiendo que si me llegan noticias de interés (laboral) para gente que conozco no veo mucho problema en intentar ayudar a alguno. Se busca a gente titulada media o superior (o a punto de serlo) _sin experiencia_ laboral seria para formar parte de un equipo de dos trabajadores en prácticas (se llaman "trainees") para la empresa Jazztel en Madrid. Los conocimientos que se requieren son bastante escasos porque la idea es que ahí te formarán en ciertas tecnologías que se emplean en las empresas de telecomunicaciones. El trabajo durará año y medio con opción a quedarse (uno de los dos) y el salario es: 6000 ? el primer semestre 7200 ? el segundo semestre 8640 ? el tercer semestre (aquí son cifras casi de programador Junior). Si resultases elegido por JazzTel para quedarte pasarías a ser Programador Junior, subirías de categoría y tendrías un sueldo bastante decente para los estándares que se manejan. Por supuesto, se te da seguro laboral, alta en la seguridad social, etc. Es un trabajo de perfil técnico, se programará, se trabajará con equipos hardware de telecos y software específico. Lo bueno es que aunque luego Jazztel no se quede contigo te ha dado año y medio de formación en tecnología de teleco (que si alguien sigue el panorama español sabrá que es muy fácilmente reutilizable en otras empresas del sector). Si a alguien le interesa sólo tiene que mandarme a mí el CV porque yo tengo el contacto directo (el que me ha pedido que encuentre gente entre conocidos). A ver si conseguimos introducir pythonistas en este sector, jejeje. Un saludo y espero que nadie se haya molestado por esto. Pablo Ruiz Múzquiz ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From frjanibo en teleline.es Thu Oct 14 18:23:10 2004 From: frjanibo en teleline.es (Francisco Javier Nieto) Date: Thu, 14 Oct 2004 18:23:10 +0200 Subject: wxWindows y los hilos Message-ID: <416EA7EE.8090906@teleline.es> Hola, Me estoy rompiendo la cabeza intentando hacer lo siguiente: tengo un programilla en wxWindows y básicamente se conecta a un servidor y recibe datos. Bien, en el lapso de tiempo que transcurre en la transferencia me gustaría que apareciera una ventanita estilo 'Transfiriendo datos' (con barra de progreso ya sería lo más). El problema es que la ventanita en cuestión o se abre justo cuando acaba la transferencia (cuando acaba el evento) o bien aparece pero no se dibuja el contenido. No os pego el código porque está muy farragoso, espero haberme explicado bien. Gracias ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From lcatalin en siadv.com Thu Oct 14 18:38:42 2004 From: lcatalin en siadv.com (Catalin Lungu) Date: Thu, 14 Oct 2004 18:38:42 +0200 Subject: Atributos ficheros Message-ID: <001d01c4b20c$5dcec480$d900a8c0@catalin> Hola, Como puedo cambiar la fecha de modificación de un archivo, sin cambiar la fecha de Windows. Por ejemplo creo un archivo con fecha de creación 14-10-2004 y quiero que la fecha de modificación sea 01-01-2003. Muchas gracias, Catalin Lungu From rapto en arrakis.es Thu Oct 14 20:50:47 2004 From: rapto en arrakis.es (Marcos =?ISO-8859-1?Q?S=E1nchez?= Provencio) Date: Thu, 14 Oct 2004 20:50:47 +0200 Subject: Atributos ficheros In-Reply-To: <001d01c4b20c$5dcec480$d900a8c0@catalin> References: <001d01c4b20c$5dcec480$d900a8c0@catalin> Message-ID: <1097779847.4206.0.camel@renata.macondo.pri> prueba os.utime, pero no estoy seguro de que vaya bien en Windows. El jue, 14-10-2004 a las 18:38, Catalin Lungu escribió: > Hola, > Como puedo cambiar la fecha de modificación de un archivo, sin cambiar la fecha de Windows. > Por ejemplo creo un archivo con fecha de creación 14-10-2004 y quiero que la fecha de modificación sea 01-01-2003. > > Muchas gracias, > Catalin Lungu ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From frjanibo en teleline.es Thu Oct 14 22:31:31 2004 From: frjanibo en teleline.es (Francisco Javier Nieto) Date: Thu, 14 Oct 2004 22:31:31 +0200 Subject: wxWindows y los hilos In-Reply-To: <416EA7EE.8090906@teleline.es> References: <416EA7EE.8090906@teleline.es> Message-ID: <416EE223.6070808@teleline.es> Me autorespondo: wxProgressDialog ;) Francisco Javier Nieto wrote: > Hola, > Me estoy rompiendo la cabeza intentando hacer lo siguiente: tengo un > programilla en wxWindows y básicamente se conecta a un servidor y > recibe datos. Bien, en el lapso de tiempo que transcurre en la > transferencia me gustaría que apareciera una ventanita estilo > 'Transfiriendo datos' (con barra de progreso ya sería lo más). El > problema es que la ventanita en cuestión o se abre justo cuando acaba > la transferencia (cuando acaba el evento) o bien aparece pero no se > dibuja el contenido. > No os pego el código porque está muy farragoso, espero haberme > explicado bien. > > 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 techno en intelnet.net.gt Fri Oct 15 01:20:02 2004 From: techno en intelnet.net.gt (-=[Techno]=-) Date: Thu, 14 Oct 2004 23:20:02 +0000 Subject: python y bash In-Reply-To: <416EE223.6070808@teleline.es> References: <416EA7EE.8090906@teleline.es> <416EE223.6070808@teleline.es> Message-ID: <1097796002.25330.1.camel@paulo.developer.Mayix_LiveCD> Hola soy un newbie total en python pero estoy aprendiendo, mi duda en concreto es como hago para ejecutar commandos como en bash desde un script, lo que necesito haces es automatizar unos procesos pero con un programilla en python no se si alguien sabe como o tiene algun script que me sirva de guia agredecido de antemano Paulo Alvarado ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From lcatalin en siadv.com Fri Oct 15 09:48:34 2004 From: lcatalin en siadv.com (Catalin Lungu) Date: Fri, 15 Oct 2004 09:48:34 +0200 Subject: Carpetas se solo lectura Message-ID: <001201c4b28b$81ab4520$d900a8c0@catalin> Hola, Intento crear una carpeta en Win XP con os.mkdir("C:\\prueba") y me la crea con el atributo de solo lectura. Le cambio el atributo con os.chmod("c:\\prueba", stat.S_IWRITE) pero no me hace caso. Gracias, Catalin Lungu From rapto en arrakis.es Fri Oct 15 10:09:50 2004 From: rapto en arrakis.es (=?ISO-8859-1?Q?Marcos_S=E1nchez_Provencio?=) Date: Fri, 15 Oct 2004 10:09:50 +0200 Subject: python y bash In-Reply-To: <1097796002.25330.1.camel@paulo.developer.Mayix_LiveCD> References: <416EA7EE.8090906@teleline.es> <416EE223.6070808@teleline.es> <1097796002.25330.1.camel@paulo.developer.Mayix_LiveCD> Message-ID: <416F85CE.3010200@arrakis.es> -=[Techno]=- escribió: >Hola soy un newbie total en python pero estoy aprendiendo, mi duda en >concreto es como hago para ejecutar commandos como en bash desde un >script, lo que necesito haces es automatizar unos procesos pero con un >programilla en python no se si alguien sabe como o tiene algun script >que me sirva de guia > >agredecido de antemano > >Paulo Alvarado > > > Mira http://www.python.org/doc/current/lib/module-commands.html si sólo quieres lanzar órdenes o los os.popen* de http://www.python.org/doc/current/lib/os-process.html si quieres interactuar con ellos From apuntesus en yahoo.com Fri Oct 15 11:24:31 2004 From: apuntesus en yahoo.com (qqq qqqq) Date: Fri, 15 Oct 2004 02:24:31 -0700 (PDT) Subject: libxml2 , como editar un fichero xml ? Message-ID: <20041015092431.25272.qmail@web50304.mail.yahoo.com> Hola a todos , Me gustaria poder editar el texto content de una etiqueta de un archivo xml , usando la libreria libxml2 , para leer el archivo xml utilizo el siguiente codigo : import libxml2 , sys documento = libxml2.parseFile("combinacion.xml") labl = documento.children etiqueta = labl.content # copio el texto de content documento.freeDoc() He probado con poner labl.setContent(texto) y tampoco funciona , he encontrado documentacion de como crear un archivo xml , pero yo solo quiero editar ese texto. ? Hay algun enlace con informacion de la libxml2 para Python en castellano ? Gracias. _______________________________ Do you Yahoo!? Declare Yourself - Register online to vote today! http://vote.yahoo.com ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From josepgimbernat en cdgir.com Fri Oct 15 11:29:09 2004 From: josepgimbernat en cdgir.com (Josep) Date: Fri, 15 Oct 2004 11:29:09 +0200 Subject: Re. a como ejecutar comandos Bash en Python Message-ID: <200410151129.09681.josepgimbernat@cdgir.com> >Hola soy un newbie total en python pero estoy aprendiendo, mi duda en >concreto es como hago para ejecutar commandos como en bash desde un >script, lo que necesito haces es automatizar unos procesos pero con un >programilla en python no se si alguien sabe como o tiene algun script >que me sirva de guia Prueba con import os os.system('aqui va la linea de comando') y ya está ___________________________________________________________________________ Mensaje analizado y protegido por la tecnologia antivirus www.trendmicro.es From lcatalin en siadv.com Fri Oct 15 12:02:06 2004 From: lcatalin en siadv.com (Catalin Lungu) Date: Fri, 15 Oct 2004 12:02:06 +0200 Subject: Atributos ficheros Message-ID: <001101c4b29e$084a23f0$d900a8c0@catalin> Hola, Otra pregunta mas. Como puedo saber los atributos de un fichero, es decir si es de solo lectura, si es oculto, si es fichero de sistema. La función os.stat me dice solamente si es de solo lectura, o esto es lo que creo por que la documentación de esta función es muy escasa. Gracias, Catalin Lungu From elchamat en ono.com Fri Oct 15 12:13:31 2004 From: elchamat en ono.com (elchamat) Date: Fri, 15 Oct 2004 12:13:31 +0200 Subject: No consigo hacer funcionar el wxPython Message-ID: <416FA2CB.5010405@ono.com> Hola amigos, llevo varios días luchando con el wxPython, y la verdad es que no lo puedo hacer funcionar, cuando voy a la carpeta demos, selecciono una y le digo que me la abra con el IDLE de python, y efectivamente me la abre saliendo la ventana del IDLE y la del shell, pero cuando le doy a ejecutar el programa, me sale este error: > Traceback (most recent call last): > File "C:\Python23\Lib\site-packages\wx\demo\Calendar.py", line 29, in ? > import wx > File "C:/Python23\wx.py", line 6, in ? > class MyFrame(wx.Frame): > AttributeError: 'module' object has no attribute 'Frame' > >>> > KeyboardInterrupt > >>> > Traceback (most recent call last): > File "C:\Python23\Lib\site-packages\wx\demo\Calendar.py", line 30, in ? > import wx.lib.calendar > ImportError: No module named lib.calendar También me da error si copio el código directamente en el IDLE o en el editor que viene con wxPython y lo ejecuto, la verdad es que soy novato en esto y no se por donde cogerlo, no se si es que me he equivocado con la compatibilidad de mis versiones, si me falta alguna librería o que estaré haciendo mal, mis versiones son : python 2.3.4 wxPython 2.5 for python 2.3 Si alguien me echa una mano se lo agradecería. From aragorn en pythonhispano.org Fri Oct 15 12:48:07 2004 From: aragorn en pythonhispano.org (Jose) Date: Fri, 15 Oct 2004 12:48:07 +0200 Subject: No consigo hacer funcionar el wxPython In-Reply-To: <416FA2CB.5010405@ono.com> References: <416FA2CB.5010405@ono.com> Message-ID: <1097837286.3601.14.camel@demeter.speriaitc.com> Por lo que envias, tienes conflictos con el PYTHONPATH y/o la instalación de las wx (mira más abajo). 1) Revisa que Python está bien instalado en (sólo) C:\Python23 2) Revisa que wx está bien instalado en (sólo) C:\Python23\Lib\site-packages\wx 3) Revisa el valor de la variable de entorno PYTHONPATH que, para probar las wx, no hace falta ni que esté definida El vie, 15-10-2004 a las 12:13, elchamat escribió: > Hola amigos, llevo varios días luchando con el wxPython, y la verdad es > que no lo puedo hacer funcionar, cuando voy a la carpeta demos, > selecciono una y le digo que me la abra con el IDLE de python, y > efectivamente me la abre saliendo la ventana del IDLE y la del shell, > pero cuando le doy a ejecutar el programa, me sale este error: > > > Traceback (most recent call last): > > File "C:\Python23\Lib\site-packages\wx\demo\Calendar.py", line 29, in ? > > import wx > > File "C:/Python23\wx.py", line 6, in ? Aquí te está buscando las wx en un sitio incorrecto y parece que tienes un módulo wx ahí. Probablemente es aquí donde tienes el problema: has instalado las wx en 2 sitios distintos. > > class MyFrame(wx.Frame): > > AttributeError: 'module' object has no attribute 'Frame' > > >>> > > KeyboardInterrupt > > >>> > > Traceback (most recent call last): > > File "C:\Python23\Lib\site-packages\wx\demo\Calendar.py", line 30, in ? > > import wx.lib.calendar > > ImportError: No module named lib.calendar > > También me da error si copio el código directamente en el IDLE o en el > editor que viene con wxPython y lo ejecuto, la verdad es que soy novato > en esto y no se por donde cogerlo, no se si es que me he equivocado con > la compatibilidad de mis versiones, si me falta alguna librería o que > estaré haciendo mal, mis versiones son : > python 2.3.4 > wxPython 2.5 for python 2.3 > > Si alguien me echa una mano se lo agradecería. > > > > _______________________________________________ > 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 py en ch3m4.org Fri Oct 15 13:40:20 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Fri, 15 Oct 2004 13:40:20 +0200 Subject: Atributos ficheros In-Reply-To: <001101c4b29e$084a23f0$d900a8c0@catalin> References: <001101c4b29e$084a23f0$d900a8c0@catalin> Message-ID: <200410151340.24278.py@ch3m4.org> On Friday 15 October 2004 12:02, Catalin Lungu wrote: > Hola, > Otra pregunta mas. Como puedo saber los atributos de un fichero, es decir > si es de solo lectura, si es oculto, si es fichero de sistema. La función > os.stat me dice solamente si es de solo lectura, o esto es lo que creo por > que la documentación de esta función es muy escasa. Por lo que pides, estás chequeando atributos que sólo tienen sentido en windows, así que tendrás que usar funciones propias de windows, concretamente 'win32file.GetAttributes' import win32api,win32con flags=win32api.GetFileAtributes(r"C:\mifichero") check=win32con.FILE_ATTRIBUTE_HIDDEN | win32con.FILE_ATTRIBUTE_SYSTEM if bool( flags & check ): print "Fichero de sistema oculto" ------------ 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 morillas en posta.unizar.es Fri Oct 15 14:07:09 2004 From: morillas en posta.unizar.es (Luis Miguel Morillas) Date: Fri, 15 Oct 2004 14:07:09 +0200 Subject: libxml2 , como editar un fichero xml ? In-Reply-To: <20041015092431.25272.qmail@web50304.mail.yahoo.com> References: <20041015092431.25272.qmail@web50304.mail.yahoo.com> Message-ID: <1097842029.416fbd6dbeb56@webmail.unizar.es> Mensaje citado por qqq qqqq : > Hola a todos , > > Me gustaria poder editar el texto content de una > etiqueta de un archivo xml , usando la libreria > libxml2 , para leer el archivo xml utilizo el > siguiente codigo : > Pero qué quieres hacer? Modificar las etiquetas o el contenido? > import libxml2 , sys > documento = libxml2.parseFile("combinacion.xml") > labl = documento.children > etiqueta = labl.content # copio el texto de content > documento.freeDoc() > > He probado con poner labl.setContent(texto) y tampoco > funciona , he encontrado documentacion de como crear > un archivo xml , pero yo solo quiero editar ese texto. > > ¿ Hay algun enlace con informacion de la libxml2 para > Python en castellano ? > > Gracias. > > > > > _______________________________ > Do you Yahoo!? > Declare Yourself - Register online to vote today! > http://vote.yahoo.com > -- Luis Miguel From manelelena en manelelena.com Fri Oct 15 17:09:01 2004 From: manelelena en manelelena.com (Manel i Elena) Date: Fri, 15 Oct 2004 17:09:01 +0200 Subject: Si devuelvo un cursor desde una =?iso-8859-1?q?funci=F3n_autom=E1?= =?iso-8859-1?q?ticamente_se_me_cierra_el?= cursor Message-ID: <200410151709.01653.manelelena@manelelena.com> Si ejecuto el siguiente código """ import psycopg db = psycopg.connect(host="bichejo", user="mcebolla", database="uoc") cursor=db.cursor() cursor.executes("select 1") """ Tod funciona perfectamente pero si hago esto: """ def func():  import psycopg  db = psycopg.connect(host="bichejo", user="mcebolla", database="uoc")  return db.cursor() cursor=func() cursor.executes("select 1") """ Entonces me sale el siguiente mensaje de error """   File "", line 1, in ? psycopg.InterfaceError: already closed """ ¿ No se puede devolver un cursor mediante una función ?, si hago esto mismo con MySQLdb todo va bien. Por cierto, he probado exactamente lo mismo con pypgsql y me pasa lo mismo. ¿ Alguna idea ?. Manel. From aragorn en pythonhispano.org Fri Oct 15 17:07:23 2004 From: aragorn en pythonhispano.org (Jose) Date: Fri, 15 Oct 2004 17:07:23 +0200 Subject: No consigo hacer funcionar el wxPython In-Reply-To: <415C438A000FB3EF@mta02.ono.com> (added by postmaster@mta02.onolab.com) References: <415C438A000FB3EF@mta02.ono.com> (added by postmaster@mta02.onolab.com) Message-ID: <1097852842.3602.32.camel@demeter.speriaitc.com> Dos puntualizaciones: - en la carpeta 'c:\python23' no deberías tener wx.py ni nada de wx. Debería estar sólo bajo el directorio 'site-packages' - las variables de entorno se definen de distinta manera en cada versión de Windows. De todas formas, para probar, basta con que abras una consola MS-DOS y ejecutes (creo, hace siglos que no utilizo Windows): C:\WINDOWS\> echo %PYTHONPATH% Si no te funciona, prueba a buscar este valor en la lista de variables de entorno que te devuelve el comando set: C:\WINDOWS\> set ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From aragorn en pythonhispano.org Fri Oct 15 17:24:57 2004 From: aragorn en pythonhispano.org (Jose) Date: Fri, 15 Oct 2004 17:24:57 +0200 Subject: No consigo hacer funcionar el wxPython In-Reply-To: <415C438A000FBB1A@mta02.ono.com> (added by postmaster@mta02.onolab.com) References: <415C438A000FBB1A@mta02.ono.com> (added by postmaster@mta02.onolab.com) Message-ID: <1097853897.3608.41.camel@demeter.speriaitc.com> El vie, 15-10-2004 a las 17:21, elchamat escribió: > He solucionado lo de el tener wx.py en la carpeta python23, y es que "melón > de mi" le había dado este nombre a mi primer ejercicio en wxPython, fallo de > novato, también he abierto la ventana de MS-DOS y he ejecutado C:\WINDOWS\> > set y de toda la lista que ha salido no aparece el PYTHONPATH por ningún > sitio. Bueno, es normal que PYTHONPATH no te aparezca. ¿Ya puedes ejecutar las demos? ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From aragorn en pythonhispano.org Fri Oct 15 17:34:22 2004 From: aragorn en pythonhispano.org (Jose) Date: Fri, 15 Oct 2004 17:34:22 +0200 Subject: No consigo hacer funcionar el wxPython In-Reply-To: <415C438A000FBD14@mta02.ono.com> (added by postmaster@mta02.onolab.com) References: <415C438A000FBD14@mta02.ono.com> (added by postmaster@mta02.onolab.com) Message-ID: <1097854462.3599.47.camel@demeter.speriaitc.com> Para intentar aislar el problema (y quitar IDLE de la ecuación) prueba a abrir una consola MS-DOS y ejecutar: C:\WINDOWS\> cd c:\python23\lib\site-packages\wx\demo C:\WINDOWS\> c:\python23\python.exe Button.py El vie, 15-10-2004 a las 17:27, elchamat escribió: > No puedo, cuando ejecuto el programa me sale una ventana diciendo "Do yo > want to exit alltogether?", le digo que no y me sale este error en el shell: > > Traceback (most recent call last): > File "C:\Python23\Lib\site-packages\wx\demo\Button.py", line 52, in ? > run.main(['', os.path.basename(sys.argv[0])] + sys.argv[1:]) > File "C:\Python23\lib\idlelib\run.py", line 62, in main > exit() > File "C:\Python23\lib\idlelib\run.py", line 174, in exit > sys.exit(0) > SystemExit: 0 ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From apuntesus en yahoo.com Fri Oct 15 17:34:40 2004 From: apuntesus en yahoo.com (qqq qqqq) Date: Fri, 15 Oct 2004 08:34:40 -0700 (PDT) Subject: libxml2 , como editar un fichero xml ? In-Reply-To: <1097842029.416fbd6dbeb56@webmail.unizar.es> References: <1097842029.416fbd6dbeb56@webmail.unizar.es> Message-ID: <20041015153440.71247.qmail@web50303.mail.yahoo.com> Quiero modificar el contenido , NO las etiquetas. Hacer algo como por ejemplo : texto modificarlo a : textomodificado > > > Hola a todos , > > > > Me gustaria poder editar el texto content de una > > etiqueta de un archivo xml , usando la libreria > > libxml2 , para leer el archivo xml utilizo el > > siguiente codigo : > > > Pero qu? quieres hacer? Modificar las etiquetas o el > contenido? > > > import libxml2 , sys > > documento = libxml2.parseFile("combinacion.xml") > > labl = documento.children > > etiqueta = labl.content # copio el texto de > content > > documento.freeDoc() > > > > He probado con poner labl.setContent(texto) y > tampoco > > funciona , he encontrado documentacion de como > crear > > un archivo xml , pero yo solo quiero editar ese > texto. > > > > ? Hay algun enlace con informacion de la libxml2 > para > > Python en castellano ? > > > > Gracias. > > > > > > > > > > _______________________________ > > Do you Yahoo!? > > Declare Yourself - Register online to vote today! > > http://vote.yahoo.com > > > > > -- > Luis Miguel > _______________________________ Do you Yahoo!? Declare Yourself - Register online to vote today! http://vote.yahoo.com ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From kayrosama en turbonett.com Fri Oct 15 18:36:37 2004 From: kayrosama en turbonett.com (kayrosama) Date: Fri, 15 Oct 2004 10:36:37 -0600 Subject: python y bash In-Reply-To: <1097796002.25330.1.camel@paulo.developer.Mayix_LiveCD> References: <416EA7EE.8090906@teleline.es> <416EE223.6070808@teleline.es> <1097796002.25330.1.camel@paulo.developer.Mayix_LiveCD> Message-ID: <20041015103637.M10048@turbonett.com> YO !!!! ... no puedo responder eso aun ... :) Oracles puesx !! > Hola soy un newbie total en python pero estoy aprendiendo, mi duda en > concreto es como hago para ejecutar commandos como en bash desde un > script, lo que necesito haces es automatizar unos procesos pero con > un programilla en python no se si alguien sabe como o tiene algun script > que me sirva de guia > > agredecido de antemano > > Paulo Alvarado Richard Flores Technical Support Kayro Sama, Inc. Guatemala, C. A. turbonett WebMail From josu en ubera.net Fri Oct 15 17:34:45 2004 From: josu en ubera.net (Josu Oyanguren) Date: Fri, 15 Oct 2004 17:34:45 +0200 Subject: =?ISO-8859-15?Q?Re=3A_=5BPython-es=5D_Si_devuelvo_un_c?= =?ISO-8859-15?Q?ursor_desde_una_funci=F3n_autom=E1ticamente_se?= =?ISO-8859-15?Q?_me_cierra_el_cursor?= In-Reply-To: <200410151709.01653.manelelena@manelelena.com> References: <200410151709.01653.manelelena@manelelena.com> Message-ID: <416FEE15.3060307@ubera.net> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Es sólo una suposición, pero ¿no puede ser que al salir la variable "db" del ámbito de la función cierra los cursores? ¿Te funciona esto? def func(db): ~ import psycopg ~ return db.cursor() db = psycopg.connect(host="bichejo", user="mcebolla", database="uoc") cursor=func(db) cursor.executes("select 1") Manel i Elena escribió: | Si ejecuto el siguiente código | | """ | import psycopg | db = psycopg.connect(host="bichejo", user="mcebolla", database="uoc") | cursor=db.cursor() | cursor.executes("select 1") | """ | | Tod funciona perfectamente pero si hago esto: | | """ | def func(): | import psycopg | db = psycopg.connect(host="bichejo", user="mcebolla", database="uoc") | return db.cursor() | | cursor=func() | cursor.executes("select 1") | """ | | Entonces me sale el siguiente mensaje de error | | """ | File "", line 1, in ? | psycopg.InterfaceError: already closed | """ | | ¿ No se puede devolver un cursor mediante una función ?, si hago esto mismo | con MySQLdb todo va bien. | | Por cierto, he probado exactamente lo mismo con pypgsql y me pasa lo mismo. | | ¿ Alguna idea ?. | | Manel. | _______________________________________________ | Python-es mailing list | Python-es en aditel.org | http://listas.aditel.org/listinfo/python-es | | - -- -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org iD8DBQFBb+4V5ju4HVxhuqQRApvGAJ91233N9Cc7CXYl3d2FEX9ET8K/FQCfRrPU EOa/XTg7ZMAFB2m/Fgv4Ch0= =73Qt -----END PGP SIGNATURE----- ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From elchamat en ono.com Fri Oct 15 17:42:07 2004 From: elchamat en ono.com (elchamat en ono.com) Date: Fri, 15 Oct 2004 17:42:07 +0200 Subject: Asunto: RE: No consigo hacer funcionar el wxPython In-Reply-To: <1097854462.3599.47.camel@demeter.speriaitc.com> References: <1097854462.3599.47.camel@demeter.speriaitc.com> Message-ID: <415C438C000080B7@mta02.ono.com> Ahora si que se ha ejecutado el programa, (no te puedes imaginar que alegría por lo menos ver como funciona). Por lo tanto debe ser problema del IDLE. Me tengo que ir pero voy a ir probando con algún editor diferente y ya te diré algo, si te ocurre alguna otra causa por favor coméntamelo, y gracias por tu paciencia. >-- Mensaje original -- >Subject: RE: [Python-es] No consigo hacer funcionar el wxPython >From: Jose >To: La lista de python en castellano >Date: Fri, 15 Oct 2004 17:34:22 +0200 >Reply-To: La lista de python en castellano > > >Para intentar aislar el problema (y quitar IDLE de la ecuación) prueba a >abrir una consola MS-DOS y ejecutar: > >C:\WINDOWS\> cd c:\python23\lib\site-packages\wx\demo >C:\WINDOWS\> c:\python23\python.exe Button.py > >El vie, 15-10-2004 a las 17:27, elchamat escribió: >> No puedo, cuando ejecuto el programa me sale una ventana diciendo "Do yo >> want to exit alltogether?", le digo que no y me sale este error en el shell: >> >> Traceback (most recent call last): >> File "C:\Python23\Lib\site-packages\wx\demo\Button.py", line 52, in ? >> run.main(['', os.path.basename(sys.argv[0])] + sys.argv[1:]) >> File "C:\Python23\lib\idlelib\run.py", line 62, in main >> exit() >> File "C:\Python23\lib\idlelib\run.py", line 174, in exit >> sys.exit(0) >> SystemExit: 0 > > >_______________________________________________ >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 techno en intelnet.net.gt Fri Oct 15 11:57:22 2004 From: techno en intelnet.net.gt (-=[Techno]=-) Date: Fri, 15 Oct 2004 09:57:22 +0000 Subject: python y bash In-Reply-To: <416F85CE.3010200@arrakis.es> References: <416EA7EE.8090906@teleline.es> <416EE223.6070808@teleline.es> <1097796002.25330.1.camel@paulo.developer.Mayix_LiveCD> <416F85CE.3010200@arrakis.es> Message-ID: <1097834242.8070.0.camel@paulo.developer.Mayix_LiveCD> Gracias a todos por los links y la ayuda voy a inicir mi experimentacion ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From rosendo.martinez en valdisme.com Fri Oct 15 18:18:00 2004 From: rosendo.martinez en valdisme.com (rosendo) Date: Fri, 15 Oct 2004 18:18:00 +0200 Subject: =?iso-8859-1?Q?RE:_=5BPython-es=5D_Si_devuelvo_un_cursor_desde_unafunci?= =?iso-8859-1?Q?=F3n_autom=E1ticamente_se_me_cierra_el_cursor?= In-Reply-To: <200410151709.01653.manelelena@manelelena.com> References: <200410151709.01653.manelelena@manelelena.com> Message-ID: <20041015161707.B5E85314196@marti.uji.es> No conozco psycopg, pero imagino que será esto: def func(): import psycopg db = psycopg.connect(host="bichejo", user="mcebolla", database="uoc") cursor = db.cursor() return cursor Pruebalo y me cuentas Un saludo. Rosendo. -----Mensaje original----- De: python-es-bounces en aditel.org [mailto:python-es-bounces en aditel.org] En nombre de Manel i Elena Enviado el: viernes, 15 de octubre de 2004 17:09 Para: python-es en aditel.org Asunto: [Python-es] Si devuelvo un cursor desde unafunción automáticamente se me cierra el cursor Si ejecuto el siguiente código """ import psycopg db = psycopg.connect(host="bichejo", user="mcebolla", database="uoc") cursor=db.cursor() cursor.executes("select 1") """ Tod funciona perfectamente pero si hago esto: """ def func():  import psycopg  db = psycopg.connect(host="bichejo", user="mcebolla", database="uoc")  return db.cursor() cursor=func() cursor.executes("select 1") """ Entonces me sale el siguiente mensaje de error """   File "", line 1, in ? psycopg.InterfaceError: already closed """ ¿ No se puede devolver un cursor mediante una función ?, si hago esto mismo con MySQLdb todo va bien. Por cierto, he probado exactamente lo mismo con pypgsql y me pasa lo mismo. ¿ Alguna idea ?. Manel. _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From jtempo en omnilect.com Fri Oct 15 19:00:14 2004 From: jtempo en omnilect.com (jtempo) Date: Fri, 15 Oct 2004 12:00:14 -0500 Subject: muy basico, algo de herencia Message-ID: si tengo un clase class Persona(object): def __init__ (self, nombre, apellido): self.Nombre= Nombre self.Apellido=Apellido def NombreCompleto(self): return "%s, %s" % (self.Apellido, self.Nombre) si hago var= Persona('Juan','Perez') var.NombreCompleto() # me devuelve 'Perez, Juan' Ahora deseo hacer una clase 'hija' de esta y agregarle un par de propiedades HorasTrabajadas y PrecioPorHora class Empleado(Persona)... def Sueldo sueldo=HorasTrabajadas*PrecioPorHora return sueldo Cómo sigue, no consigo hacerlo funcionar, quiero agregar esos atributos (HorasTrabajadas y PrecioPorHora), perdonen que sea muy basico, per o estoy muy atascado con esto y no consigo resolverlo gracias de Antemano. _______________________________ http://www.omnilect.com Omnilect - 2,000 Megabytes Of Storage... Just For You. Email, Web Space, Photos, Whatever. Great Usernames Still Available! From FBatista en uniFON.com.ar Fri Oct 15 19:13:09 2004 From: FBatista en uniFON.com.ar (Batista, Facundo) Date: Fri, 15 Oct 2004 14:13:09 -0300 Subject: muy basico, algo de herencia Message-ID: [jtempo] #- si tengo un clase #- #- class Persona(object): #- def __init__ (self, nombre, apellido): #- self.Nombre= Nombre #- self.Apellido=Apellido #- #- def NombreCompleto(self): #- return "%s, %s" % (self.Apellido, self.Nombre) #- #- si hago #- var= Persona('Juan','Perez') #- var.NombreCompleto() # me devuelve 'Perez, Juan' #- #- Ahora deseo hacer una clase 'hija' de esta y agregarle un par de #- propiedades HorasTrabajadas y PrecioPorHora #- #- class Empleado(Persona)... #- def Sueldo #- sueldo=HorasTrabajadas*PrecioPorHora #- return sueldo #- #- Cómo sigue, no consigo hacerlo funcionar, quiero agregar #- esos atributos #- (HorasTrabajadas y PrecioPorHora), perdonen que sea muy #- basico, per o #- estoy muy atascado con esto y no consigo resolverlo gracias #- de Antemano. Te refieres a algo así? >>> class Persona(object): def __init__ (self, nombre, apellido): self.nombre = nombre self.apellido = apellido def nombreCompleto(self): return "%s, %s" % (self.apellido, self.nombre) >>> p = Persona("juan", "perez") >>> p.nombreCompleto() 'perez, juan' >>> class Empleado(Persona): def __init__(self, nombre, apellido, horas, precio): self.horas = horas self.precio = precio Persona.__init__(self, nombre, apellido) def sueldo(self): return self.horas * self.precio >>> e = Empleado("jose", "rodriguez", 50, 2.5) >>> e.sueldo() 125.0 >>> e.nombreCompleto() 'rodriguez, jose' Ten en cuenta que te convendría trabajar con Decimal (http://www.python.org/dev/doc/devel/lib/module-decimal.html) si te vas a meter con precios y sueldos. Slds. . Facundo From ezako en yahoo.es Fri Oct 15 19:21:57 2004 From: ezako en yahoo.es (zako) Date: Fri, 15 Oct 2004 19:21:57 +0200 Subject: muy basico, algo de herencia In-Reply-To: References: Message-ID: <20041015172157.GA1493@birgadista.rebelbase.dyns.cx> On Fri, Oct 15, 2004 at 12:00:14PM -0500, jtempo wrote: > si tengo un clase > > class Persona(object): > def __init__ (self, nombre, apellido): > self.Nombre= Nombre > self.Apellido=Apellido > > def NombreCompleto(self): > return "%s, %s" % (self.Apellido, self.Nombre) > > si hago > var= Persona('Juan','Perez') > var.NombreCompleto() # me devuelve 'Perez, Juan' > > Ahora deseo hacer una clase 'hija' de esta y agregarle un par de > propiedades HorasTrabajadas y PrecioPorHora > > class Empleado(Persona)... > def Sueldo > sueldo=HorasTrabajadas*PrecioPorHora > return sueldo > > Cómo sigue, no consigo hacerlo funcionar, quiero agregar esos atributos > (HorasTrabajadas y PrecioPorHora), perdonen que sea muy basico, per o > estoy muy atascado con esto y no consigo resolverlo gracias de Antemano. Si Sueldo es un metodo de la clase Empleado deberia ser: def Sueldo(self): .... Si las propiedades que quieres agregar a Empleado son datos miembros deberías modificar el constructor de la clase Empleados a: def __init__(self, nombre,apellido, HorasTrabajadas, PrecioPorHora): self.HorasTrabajadas = HorasTrabajadas self.PrecioPorHora = PrecioPorHora Persona.__init__(self, nombre, apellido) Los datos miembro tambien los puedes generar en cualquier funcion no son necesidad exclusiva del constructor. Sin añadir un nuevo constructor a Empleado podrias modificar Sueldo asi: def Sueldo(self, HorasTrabajadas, PrecioPorHora): self.HorasTrabajadas = HorasTrabajadas self.PrecioPorHora = PrecioPorHora sueldo=self.HorasTrabajadas*self.PrecioPorHora return sueldo Bueno espero q te sirva (y no haya metido la pata xD). Saludos, zako From pachi en mmn-arquitectos.com Fri Oct 15 19:35:30 2004 From: pachi en mmn-arquitectos.com (Rafael Villar Burke) Date: Fri, 15 Oct 2004 19:35:30 +0200 Subject: muy basico, algo de herencia In-Reply-To: <20041015172157.GA1493@birgadista.rebelbase.dyns.cx> References: <20041015172157.GA1493@birgadista.rebelbase.dyns.cx> Message-ID: <41700A62.3050204@mmn-arquitectos.com> zako wrote: >On Fri, Oct 15, 2004 at 12:00:14PM -0500, jtempo wrote: > > >>si tengo un clase >> >>class Persona(object): >> def __init__ (self, nombre, apellido): >> self.Nombre= Nombre >> self.Apellido=Apellido >> >> def NombreCompleto(self): >> return "%s, %s" % (self.Apellido, self.Nombre) >> >>si hago >>var= Persona('Juan','Perez') >>var.NombreCompleto() # me devuelve 'Perez, Juan' >> >>Ahora deseo hacer una clase 'hija' de esta y agregarle un par de >>propiedades HorasTrabajadas y PrecioPorHora >> >>class Empleado(Persona)... >> def Sueldo >> sueldo=HorasTrabajadas*PrecioPorHora >> return sueldo >> >>Cómo sigue, no consigo hacerlo funcionar, quiero agregar esos atributos >>(HorasTrabajadas y PrecioPorHora), perdonen que sea muy basico, per o >>estoy muy atascado con esto y no consigo resolverlo gracias de Antemano. >> >> > >Si Sueldo es un metodo de la clase Empleado deberia ser: > def Sueldo(self): > .... > >Si las propiedades que quieres agregar a Empleado son datos miembros deberías >modificar el constructor de la clase Empleados a: > def __init__(self, nombre,apellido, HorasTrabajadas, PrecioPorHora): > self.HorasTrabajadas = HorasTrabajadas > self.PrecioPorHora = PrecioPorHora > Persona.__init__(self, nombre, apellido) > Si quisieses tener variables estáticas (que comparten todas las instancias de una clase) entonces defines esas variables fuera de __init__ y no hace falta que hagas referencia a self, puesto que no son exclusivas del objeto que tratas en cada momento, sino valores de clase. En este caso concreto esto no tendría mucho sentido. Como ayuda, piensa siempre en self como una referencia al objeto concreto, a través de la que accedes a sus datos y métodos. Así, en la definición de los métodos de una clase aparece siempre como argumento inicial el self, para poder acceder al objeto del que se ha invocado el método. Pachi From jtempo en omnilect.com Fri Oct 15 19:28:54 2004 From: jtempo en omnilect.com (jtempo) Date: Fri, 15 Oct 2004 12:28:54 -0500 Subject: muy basico, algo de herencia In-Reply-To: <20041015172157.GA1493@birgadista.rebelbase.dyns.cx> References: <20041015172157.GA1493@birgadista.rebelbase.dyns.cx> Message-ID: Zako y Batista gracias por responder tan rapido. la respuesta de los 2 me sirvio mucho, gracias de nuevo. _______________________________ http://www.omnilect.com Omnilect - 2,000 Megabytes Of Storage... Just For You. Email, Web Space, Photos, Whatever. Great Usernames Still Available! ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From jtempo en omnilect.com Fri Oct 15 19:31:50 2004 From: jtempo en omnilect.com (jtempo) Date: Fri, 15 Oct 2004 12:31:50 -0500 Subject: python y bash In-Reply-To: <20041015103637.M10048@turbonett.com> References: <416EA7EE.8090906@teleline.es> <416EE223.6070808@teleline.es> <1097796002.25330.1.camel@paulo.developer.Mayix_LiveCD> <20041015103637.M10048@turbonett.com> Message-ID: Creo que es asi, si tienes permisos de ejecucion sobre el script (700 como minimo, tipicamente 755; cualquier cosa ver chmod) y el archivo comienza con esta linea ! /usr/bin/python dnda > > > Hola soy un newbie total en python pero estoy aprendiendo, mi duda en > > concreto es como hago para ejecutar commandos como en bash desde un > > script, lo que necesito haces es automatizar unos procesos pero con > > un programilla en python no se si alguien sabe como o tiene algun > script > > que me sirva de guia > > > > agredecido de antemano > > > > Paulo Alvarado > > > Richard Flores > Technical Support > Kayro Sama, Inc. > Guatemala, C. A. > turbonett WebMail > _______________________________ http://www.omnilect.com Omnilect - 2,000 Megabytes Of Storage... Just For You. Email, Web Space, Photos, Whatever. Great Usernames Still Available! ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From nan_lo2001 en yahoo.com Fri Oct 15 23:12:07 2004 From: nan_lo2001 en yahoo.com (Nan loz) Date: Fri, 15 Oct 2004 14:12:07 -0700 (PDT) Subject: seleccionando valores de diccionario Message-ID: <20041015211207.92247.qmail@web21206.mail.yahoo.com> Hola a todos, sigo aprendiendo las cosas basicas de python. Tengo ahora una pregunta sobre el trabajo con diccionarios. Tengo una lista de diccionarios donde todos mis diccionarios tienen las mismas keys pero diferentes valores. Por ejemplo: >>> prost [{'numero': '4', 'seer reg': '12', 'rec no': 'Nancy ', 'case no': 3456}, {'numero': '4', 'seer reg': '12', 'rec no': 'Nancy ', 'case no': 3456}, {'numero': '5', 'seer reg': '12', 'rec no': 'Nancy ', 'case no': 3456}, {'numero': '5', 'seer reg': '22', 'rec no': 'Nancy ', 'case no': 3456}, {'numero': '5', 'seer reg': '22', 'rec no': 'Nancy ', 'case no': 3456}, {'numero': '5', 'seer reg': '22', 'rec no': 'Nancy ', 'case no': 3456}, {'numero': '5', 'seer reg': '22', 'rec no': 'Nancy ', 'case no': 3456}, {'numero': '5', 'seer reg': '32', 'rec no': 'Nancy ', 'case no': 3456}, {'numero': '5', 'seer reg': '32', 'rec no': 'Nancy ', 'case no': 3456}, {'numero': '5', 'seer reg': '32', 'rec no': 'Nancy ', 'case no': 3456}, {'numero': '4', 'seer reg': '32', 'rec no': 'Nancy ', 'case no': 3456}, {'numero': '4', 'seer reg': '32', 'rec no': 'Nancy ', 'case no': 3456}, {'numero': '4', 'seer r eg': '32', 'rec no': 'Nancy ', 'case no': 3456}] Quiero crear una lista con los valores de 'numero'. Hasta ahora he hecho: d=[prost[i]['numero'] for i in range(0,len(prost))] >>> d ['4', '4', '5', '5', '5', '5', '5', '5', '5', '5', '4', '4', '4'] sin embargo yo quiero que mi lista sea solo de la siguiente forma: ['4','5'] Es decir, quiero eliminar los valores repetidos. Muchas gracias de antemano por cualquier sugerencia. Nancy --------------------------------- Do you Yahoo!? vote.yahoo.com - Register online to vote today! ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From manelelena en manelelena.com Fri Oct 15 23:38:11 2004 From: manelelena en manelelena.com (Manel i Elena) Date: Fri, 15 Oct 2004 23:38:11 +0200 Subject: Si devuelvo un cursor desde =?iso-8859-1?q?unafunci=F3n_autom=E1ticamente_se_me_cierra_el?= cursor In-Reply-To: <20041015161707.B5E85314196@marti.uji.es> References: <20041015161707.B5E85314196@marti.uji.es> Message-ID: <200410152338.12026.manelelena@manelelena.com> Gracias por la idea Rosendo, lo he probado pero sigue pasando lo mismo: Python 2.3.4 (#2, Sep 24 2004, 08:39:09) [GCC 3.3.4 (Debian 1:3.3.4-12)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> def func(): ... import psycopg ... db = psycopg.connect(host="bichejo", user="mcebolla", database="uoc") ... cursor = db.cursor() ... return cursor ... >>> c=func() >>> c.execute("select 1") Traceback (most recent call last): File "", line 1, in ? psycopg.InterfaceError: already closed >>> y con pypgsql también... estoy intrigado, no sé si esto es normal o una limitación de estas librerías. Saludos, Manel. El Viernes, 15 de Octubre de 2004 18:18, rosendo escribió: > No conozco psycopg, pero imagino que será esto: > def func(): > import psycopg > db = psycopg.connect(host="bichejo", user="mcebolla", database="uoc") > cursor = db.cursor() > return cursor > > Pruebalo y me cuentas > Un saludo. > Rosendo. > > > -----Mensaje original----- > De: python-es-bounces en aditel.org [mailto:python-es-bounces en aditel.org] En > nombre de Manel i Elena > Enviado el: viernes, 15 de octubre de 2004 17:09 > Para: python-es en aditel.org > Asunto: [Python-es] Si devuelvo un cursor desde unafunción automáticamente > se me cierra el cursor > > Si ejecuto el siguiente código > > """ > import psycopg > db = psycopg.connect(host="bichejo", user="mcebolla", database="uoc") > cursor=db.cursor() > cursor.executes("select 1") > """ > > Tod funciona perfectamente pero si hago esto: > > """ > def func(): >  import psycopg >  db = psycopg.connect(host="bichejo", user="mcebolla", database="uoc") >  return db.cursor() > > cursor=func() > cursor.executes("select 1") > """ > > Entonces me sale el siguiente mensaje de error > > """ >   File "", line 1, in ? > psycopg.InterfaceError: already closed > """ > > ¿ No se puede devolver un cursor mediante una función ?, si hago esto mismo > con MySQLdb todo va bien. > > Por cierto, he probado exactamente lo mismo con pypgsql y me pasa lo > mismo. > > ¿ Alguna idea ?. > > Manel. > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es -- Saludos de Elena i Manel. URL: www.manelelena.com From fvillarroel en yahoo.com Fri Oct 15 23:49:13 2004 From: fvillarroel en yahoo.com (FERNANDO VILLARROEL) Date: Fri, 15 Oct 2004 14:49:13 -0700 (PDT) Subject: Dialogo de Consulta wxPython Message-ID: <20041015214913.40113.qmail@web41211.mail.yahoo.com> Hola quisiera saber como crear un dialogo de consulta, es decir que presente dos botones SI o NO, por ejemplo para interactuar con el usuario, ejemplo Desea Imprimir, me imagino que debe ser similar al wxMessageBox, dependiendo del boton seleccionado SI o NO imprimir o continuar con otro proceso. Como puedo pasar variables de un formulario a otro, por ejemplo en el dialogo de consulta si la respuesta es NO que devuelva un valor 0 y 1 para el caso de que la respuesta fue SI, estos valores como los recibo en el formulario que llamo al dialogo de consulta. O mejor dicho como envio variables de un formulario a otro en wxpython. Fernando Villarroel _______________________________ Do you Yahoo!? Declare Yourself - Register online to vote today! http://vote.yahoo.com ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From pabloreysobral en gmail.com Sat Oct 16 00:55:16 2004 From: pabloreysobral en gmail.com (Pablo Rey Sobral) Date: Sat, 16 Oct 2004 00:55:16 +0200 Subject: seleccionando valores de diccionario In-Reply-To: <20041015211207.92247.qmail@web21206.mail.yahoo.com> References: <20041015211207.92247.qmail@web21206.mail.yahoo.com> Message-ID: <4c01c85a041015155537e1f3d9@mail.gmail.com> > Quiero crear una lista con los valores de 'numero'. Hasta ahora he hecho: > > d=[prost[i]['numero'] for i in range(0,len(prost))] Puedes hacer lo más facil d = [x['numero'] for x in prost] No he sido capaz de hacerlo en una sola linea pero aqui lo tienes en 3 d = [] for r in prost: if r['numero'] not in s: s.append(r['numero']) Una opción que me pareció viable es s = [] s = filter(lambda x: x not in s,[x['numero'] for x in prost]) pero cuando se ejecuta la parte derecha evalúa s y como no tiene nada la condición es siempre cierta Un saludo. From elchamat en ono.com Sat Oct 16 01:26:52 2004 From: elchamat en ono.com (elchamat en ono.com) Date: Sat, 16 Oct 2004 01:26:52 +0200 Subject: Asunto: RE: No consigo hacer funcionar el wxPython In-Reply-To: <1097854462.3599.47.camel@demeter.speriaitc.com> References: <1097854462.3599.47.camel@demeter.speriaitc.com> Message-ID: <415C438C000083D6@mta02.ono.com> Aparte de que las demos están funcionando en la consola de MS-DOS, he probado a cambiar la versión que tenía de wxPython por la 2.4 que pone en la página oficial que es la última estable que hay, y ahora me funcionan algunas demos, aunque otras me dan error. También estoy traduciendo el manual que hay en la la página de wxPython a Castellano, estoy por la mitad, cuando lo tenga ya lo compartiré, y por cierto la primera aplicación que pone como ejemplo, también me funciona, esto promete, a ver si averiguo porque me fallan la mitad de las demos. Gracias y un saludo. >-- Mensaje original -- >Subject: RE: [Python-es] No consigo hacer funcionar el wxPython >From: Jose >To: La lista de python en castellano >Date: Fri, 15 Oct 2004 17:34:22 +0200 >Reply-To: La lista de python en castellano > > >Para intentar aislar el problema (y quitar IDLE de la ecuación) prueba a >abrir una consola MS-DOS y ejecutar: > >C:\WINDOWS\> cd c:\python23\lib\site-packages\wx\demo >C:\WINDOWS\> c:\python23\python.exe Button.py > >El vie, 15-10-2004 a las 17:27, elchamat escribió: >> No puedo, cuando ejecuto el programa me sale una ventana diciendo "Do yo >> want to exit alltogether?", le digo que no y me sale este error en el shell: >> >> Traceback (most recent call last): >> File "C:\Python23\Lib\site-packages\wx\demo\Button.py", line 52, in ? >> run.main(['', os.path.basename(sys.argv[0])] + sys.argv[1:]) >> File "C:\Python23\lib\idlelib\run.py", line 62, in main >> exit() >> File "C:\Python23\lib\idlelib\run.py", line 174, in exit >> sys.exit(0) >> SystemExit: 0 > > >_______________________________________________ >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 john.guerra en gmail.com Sat Oct 16 04:51:16 2004 From: john.guerra en gmail.com (=?ISO-8859-1?Q?John_Alexis_Guerra_G=F3mez?=) Date: Fri, 15 Oct 2004 21:51:16 -0500 Subject: problema con pydoc Message-ID: Saludos lista, tengo un problema con el pydoc, deseo extraer la documentación de un programa que escribí, y guardarla en formato html, ya lo había hecho con pydoc, pero en este proyecto no me funciona cuando corro pydoc punto.py me dice que punto.py no tiene documentación aquí les incluyo el código #!/usr/bin/python # -*- coding: ISO8859-1 -*- """Esta clase representa un punto o pixel de la malla""" class Punto: def __init__(self, definicion=8): """El constructor, recibe la definicion del tren de pulsos""" #Que valor tiene este punto self.valor=0 #De que tamanno es el tren de pulsos self.definicion=definicion #El tren de pulsos correspondiente al valor self.tren="0"*self.definicion def set_valor(self,avalor): """Establece el valor del punto, genera el tren de pulsos correspondiente""" if avalor >= 0 and avalor <= self.definicion: self.valor=avalor self.establecer_tren() def get_valor(self): """Retorna el valor del punto""" return self.valor def get_tren(self): """Retorna el tren de pulsos correspondiente al valor del punto""" return self.tren def establecer_tren(self): """Calcula el tren correspondiente al valor del punto, se deben distribuir tantos unos como indique valor, en un tren de longitud definicion de tal suerte que queden suavizado""" if self.valor==0: self.tren="0"*self.definicion elif self.valor==self.definicion: self.tren="1"*self.definicion else: i=0 #cuantos unos llevo unos=0 self.tren="" # Este ciclo coloca un 1 cada di # Este ciclo coloca un 1 cada div posiciones hasta que # tenga el número de unos deseado siempre y cuando el # valor sea menor que la mitad de la definicion, sino los # que se distribuyen son los 0 if(self.valor <= (self.definicion/2)): div=round(float(self.definicion)/self.valor) while(i<(self.definicion)): if(unos References: <20041015211207.92247.qmail@web21206.mail.yahoo.com> <4c01c85a041015155537e1f3d9@mail.gmail.com> Message-ID: <1097919077.7016.3.camel@renata.macondo.pri> Sonaba a desafío :-) print dict.fromkeys([p['numero'] for p in prost]).keys() El sáb, 16-10-2004 a las 00:55, Pablo Rey Sobral escribió: > > Quiero crear una lista con los valores de 'numero'. Hasta ahora he hecho: > > > > d=[prost[i]['numero'] for i in range(0,len(prost))] > > Puedes hacer lo más facil > > d = [x['numero'] for x in prost] > > > No he sido capaz de hacerlo en una sola linea pero aqui lo tienes en 3 > > d = [] > for r in prost: > if r['numero'] not in s: s.append(r['numero']) > > > > Una opción que me pareció viable es > > s = [] > s = filter(lambda x: x not in s,[x['numero'] for x in prost]) > > pero cuando se ejecuta la parte derecha evalúa s y como no tiene nada > la condición es siempre cierta > > Un saludo. > _______________________________________________ > 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 john.guerra en gmail.com Sat Oct 16 16:54:09 2004 From: john.guerra en gmail.com (=?ISO-8859-1?Q?John_Alexis_Guerra_G=F3mez?=) Date: Sat, 16 Oct 2004 09:54:09 -0500 Subject: Problemas con pydoc Message-ID: Saludos lista, tengo un problema con el pydoc, deseo extraer la documentación de un programa que escribí, y guardarla en formato html, ya lo había hecho con pydoc, pero en este proyecto no me funciona cuando corro pydoc punto.py me dice que punto.py no tiene documentación aquí les incluyo el código #!/usr/bin/python # -*- coding: ISO8859-1 -*- """Esta clase representa un punto o pixel de la malla""" class Punto: def __init__(self, definicion=8): """El constructor, recibe la definicion del tren de pulsos""" #Que valor tiene este punto self.valor=0 #De que tamanno es el tren de pulsos self.definicion=definicion #El tren de pulsos correspondiente al valor self.tren="0"*self.definicion def set_valor(self,avalor): """Establece el valor del punto, genera el tren de pulsos correspondiente""" if avalor >= 0 and avalor <= self.definicion: self.valor=avalor self.establecer_tren() def get_valor(self): """Retorna el valor del punto""" return self.valor def get_tren(self): """Retorna el tren de pulsos correspondiente al valor del punto""" return self.tren def establecer_tren(self): """Calcula el tren correspondiente al valor del punto, se deben distribuir tantos unos como indique valor, en un tren de longitud definicion de tal suerte que queden suavizado""" if self.valor==0: self.tren="0"*self.definicion elif self.valor==self.definicion: self.tren="1"*self.definicion else: i=0 #cuantos unos llevo unos=0 self.tren="" # Este ciclo coloca un 1 cada di # Este ciclo coloca un 1 cada div posiciones hasta que # tenga el número de unos deseado siempre y cuando el # valor sea menor que la mitad de la definicion, sino los # que se distribuyen son los 0 if(self.valor <= (self.definicion/2)): div=round(float(self.definicion)/self.valor) while(i<(self.definicion)): if(unos References: Message-ID: <20041016143041.GA1765@birgadista.rebelbase.dyns.cx> On Sat, Oct 16, 2004 at 09:54:09AM -0500, John Alexis Guerra Gómez wrote: > Saludos lista, tengo un problema con el pydoc, deseo extraer la > documentación de un programa que escribí, y guardarla en formato html, > ya lo había hecho con pydoc, pero en este proyecto no me funciona > cuando corro > > pydoc punto.py > > me dice que punto.py no tiene documentación > Prueba con: pydoc punto Saludos, zako From manelelena en manelelena.com Sat Oct 16 20:55:29 2004 From: manelelena en manelelena.com (Manel i Elena) Date: Sat, 16 Oct 2004 20:55:29 +0200 Subject: problema con pydoc In-Reply-To: References: Message-ID: <200410162055.29291.manelelena@manelelena.com> El Sábado, 16 de Octubre de 2004 04:51, John Alexis Guerra Gómez escribió: > Saludos lista, tengo un problema con el pydoc, deseo extraer la > documentación de un programa que escribí, y guardarla en formato html, > ya lo había hecho con pydoc, pero en este proyecto no me funciona > cuando corro > > pydoc punto.py > > me dice que punto.py no tiene documentación > > aquí les incluyo el código > > #!/usr/bin/python > # -*- coding: ISO8859-1 -*- > """Esta clase representa un punto o pixel de la malla""" > > class Punto: > def __init__(self, definicion=8): > """El constructor, recibe la definicion del tren de pulsos""" > #Que valor tiene este punto > self.valor=0 > #De que tamanno es el tren de pulsos > self.definicion=definicion > #El tren de pulsos correspondiente al valor > self.tren="0"*self.definicion > > > def set_valor(self,avalor): > """Establece el valor del punto, genera el tren de pulsos > correspondiente""" > if avalor >= 0 and avalor <= self.definicion: > self.valor=avalor > self.establecer_tren() > > def get_valor(self): > """Retorna el valor del punto""" > return self.valor > > def get_tren(self): > """Retorna el tren de pulsos correspondiente al valor del punto""" > return self.tren > > def establecer_tren(self): > """Calcula el tren correspondiente al valor del punto, se > deben distribuir tantos unos como indique valor, en un tren de > longitud definicion de tal suerte que queden suavizado""" > if self.valor==0: > self.tren="0"*self.definicion > elif self.valor==self.definicion: > self.tren="1"*self.definicion > else: > i=0 > #cuantos unos llevo > unos=0 > self.tren="" > # Este ciclo coloca un 1 cada di > # Este ciclo coloca un 1 cada div posiciones hasta que > # tenga el número de unos deseado siempre y cuando el > # valor sea menor que la mitad de la definicion, sino los > # que se distribuyen son los 0 > if(self.valor <= (self.definicion/2)): > div=round(float(self.definicion)/self.valor) > while(i<(self.definicion)): > if(unos self.tren=self.tren+"1" > unos=unos+1 > else: > self.tren=self.tren+"0" > i=i+1 > else: > ceros=0 > > div=round(float(self.definicion)/(self.definicion-self.valor)) > while(i<(self.definicion)): > if(ceros<(self.definicion-self.valor) and i%div==0): > self.tren=self.tren+"0" > ceros=ceros+1 > else: > self.tren=self.tren+"1" > i=i+1 > > > def set_definicion(self,definicion): > """Cambia la definicion""" > self.definicion=definicion > self.establecer_tren() > > > gracias -- Saludos de Elena i Manel. URL: www.manelelena.com From manelelena en manelelena.com Sat Oct 16 20:58:30 2004 From: manelelena en manelelena.com (Manel i Elena) Date: Sat, 16 Oct 2004 20:58:30 +0200 Subject: problema con pydoc In-Reply-To: References: Message-ID: <200410162058.30528.manelelena@manelelena.com> pydoc sino se le pone ninguna ruta busca en las librerías de Python únicamente, por lo que intuyo el programa que comentas no debe estar allí ubicado, en este caso hay que indicar la ruta local, relativa o absoluta, si estás en el directorio donde tienes el programa tendrías que hacer algo así: pydoc ./punto.py SI lo que quieres es generar un html tendrías que poner: pydoc -w ./punto.py Saludos, Manel. El Sábado, 16 de Octubre de 2004 04:51, John Alexis Guerra Gómez escribió: > Saludos lista, tengo un problema con el pydoc, deseo extraer la > documentación de un programa que escribí, y guardarla en formato html, > ya lo había hecho con pydoc, pero en este proyecto no me funciona > cuando corro > > pydoc punto.py > > me dice que punto.py no tiene documentación > > aquí les incluyo el código > > #!/usr/bin/python > # -*- coding: ISO8859-1 -*- > """Esta clase representa un punto o pixel de la malla""" > > class Punto: > def __init__(self, definicion=8): > """El constructor, recibe la definicion del tren de pulsos""" > #Que valor tiene este punto > self.valor=0 > #De que tamanno es el tren de pulsos > self.definicion=definicion > #El tren de pulsos correspondiente al valor > self.tren="0"*self.definicion > > > def set_valor(self,avalor): > """Establece el valor del punto, genera el tren de pulsos > correspondiente""" > if avalor >= 0 and avalor <= self.definicion: > self.valor=avalor > self.establecer_tren() > > def get_valor(self): > """Retorna el valor del punto""" > return self.valor > > def get_tren(self): > """Retorna el tren de pulsos correspondiente al valor del punto""" > return self.tren > > def establecer_tren(self): > """Calcula el tren correspondiente al valor del punto, se > deben distribuir tantos unos como indique valor, en un tren de > longitud definicion de tal suerte que queden suavizado""" > if self.valor==0: > self.tren="0"*self.definicion > elif self.valor==self.definicion: > self.tren="1"*self.definicion > else: > i=0 > #cuantos unos llevo > unos=0 > self.tren="" > # Este ciclo coloca un 1 cada di > # Este ciclo coloca un 1 cada div posiciones hasta que > # tenga el número de unos deseado siempre y cuando el > # valor sea menor que la mitad de la definicion, sino los > # que se distribuyen son los 0 > if(self.valor <= (self.definicion/2)): > div=round(float(self.definicion)/self.valor) > while(i<(self.definicion)): > if(unos self.tren=self.tren+"1" > unos=unos+1 > else: > self.tren=self.tren+"0" > i=i+1 > else: > ceros=0 > > div=round(float(self.definicion)/(self.definicion-self.valor)) > while(i<(self.definicion)): > if(ceros<(self.definicion-self.valor) and i%div==0): > self.tren=self.tren+"0" > ceros=ceros+1 > else: > self.tren=self.tren+"1" > i=i+1 > > > def set_definicion(self,definicion): > """Cambia la definicion""" > self.definicion=definicion > self.establecer_tren() > > > gracias -- Saludos de Elena i Manel. URL: www.manelelena.com From morillas en posta.unizar.es Sun Oct 17 02:12:55 2004 From: morillas en posta.unizar.es (luis miguel morillas) Date: Sun, 17 Oct 2004 02:12:55 +0200 Subject: libxml2 , como editar un fichero xml ? In-Reply-To: <20041015153440.71247.qmail@web50303.mail.yahoo.com> References: <1097842029.416fbd6dbeb56@webmail.unizar.es> <20041015153440.71247.qmail@web50303.mail.yahoo.com> Message-ID: <20041017001254.GA8826@marmota> Asunto: Re: [Python-es] libxml2 , como editar un fichero xml ? Fecha: vie, oct 15, 2004 at 08:34:40 -0700 Citando a qqq qqqq (apuntesus en yahoo.com): > Quiero modificar el contenido , NO las etiquetas. > > Hacer algo como por ejemplo : > > texto > > modificarlo a : > > textomodificado > Vale. Tienes dos opciones (o son las que yo uso al menos): 1. Usar DOM + XPath : creas el nuevo nodo y reemplazas el antiguo 2. Usar XUpdate. Mucho más sencillo. Yo no utilizo libxml2, uso la api estándar de python y normalmente los módulos de 4Suite. He puesto un ejemplo aquí http://155.210.85.193:8080/ccia/nodes/2004-10-17/modificarDoc?xslt=/akara/akara.xslt > > > > > > > > Hola a todos , > > > > > > Me gustaria poder editar el texto content de una > > > etiqueta de un archivo xml , usando la libreria > > > libxml2 , para leer el archivo xml utilizo el > > > siguiente codigo : > > > > > Pero qu? quieres hacer? Modificar las etiquetas o el > > contenido? > > > > > import libxml2 , sys > > > documento = libxml2.parseFile("combinacion.xml") > > > labl = documento.children > > > etiqueta = labl.content # copio el texto de > > content > > > documento.freeDoc() > > > > > > He probado con poner labl.setContent(texto) y > > tampoco > > > funciona , he encontrado documentacion de como > > crear > > > un archivo xml , pero yo solo quiero editar ese > > texto. > > > > > > ? Hay algun enlace con informacion de la libxml2 > > para > > > Python en castellano ? > > > > > > Gracias. > > > > > > > > > > > > > > > _______________________________ > > > Do you Yahoo!? > > > Declare Yourself - Register online to vote today! > > > http://vote.yahoo.com > > > > > > > > > -- > > Luis Miguel > > > > > > > _______________________________ > Do you Yahoo!? > Declare Yourself - Register online to vote today! > http://vote.yahoo.com -- Luis Miguel No a las patentes de software en Europa EuropeSwPatentFree http://EuropeSwPatentFree.hispalinux.es From rosendo.martinez en valdisme.com Mon Oct 18 09:55:30 2004 From: rosendo.martinez en valdisme.com (rosendo) Date: Mon, 18 Oct 2004 09:55:30 +0200 Subject: =?iso-8859-1?Q?RE:_=5BPython-es=5D_Si_devuelvo_un_cursor_desdeunafunci=F3?= =?iso-8859-1?Q?n_autom=E1ticamente_se_me_cierra_el_cursor?= In-Reply-To: <200410152338.12026.manelelena@manelelena.com> References: <200410152338.12026.manelelena@manelelena.com> Message-ID: <20041018075434.202EA41C0F9@dns2.uji.es> La verdad es que tendría más sentido que compartieses la conexión en vex de los cursores. En cualquier caso, debe ser una limitación o bein de la librería o bien de la base de datos, no sé. Otro acercamiento al problema aunque no se si te servirá seria haciendo: Def GetConnection(): import psycopg db = psycopg.connect(host="bichejo", user="mcebolla", database="uoc") return db def func(): db = GetConnection() cr = db.cursor() etc..... cr.close() Creo que queda más claro que así compartes conexión y no compartes cursores, que es un poco lioso. Un saludo. Rosendo. PD:Este código está sinprobar para psycopg, con cx_oracle si funciona. Espero que te ayude. -----Mensaje original----- De: python-es-bounces en aditel.org [mailto:python-es-bounces en aditel.org] En nombre de Manel i Elena Enviado el: viernes, 15 de octubre de 2004 23:38 Para: La lista de python en castellano Asunto: Re: [Python-es] Si devuelvo un cursor desdeunafunción automáticamente se me cierra el cursor Gracias por la idea Rosendo, lo he probado pero sigue pasando lo mismo: Python 2.3.4 (#2, Sep 24 2004, 08:39:09) [GCC 3.3.4 (Debian 1:3.3.4-12)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> def func(): ... import psycopg ... db = psycopg.connect(host="bichejo", user="mcebolla", database="uoc") ... cursor = db.cursor() ... return cursor ... >>> c=func() >>> c.execute("select 1") Traceback (most recent call last): File "", line 1, in ? psycopg.InterfaceError: already closed >>> y con pypgsql también... estoy intrigado, no sé si esto es normal o una limitación de estas librerías. Saludos, Manel. El Viernes, 15 de Octubre de 2004 18:18, rosendo escribió: > No conozco psycopg, pero imagino que será esto: > def func(): > import psycopg > db = psycopg.connect(host="bichejo", user="mcebolla", database="uoc") > cursor = db.cursor() > return cursor > > Pruebalo y me cuentas > Un saludo. > Rosendo. > > > -----Mensaje original----- > De: python-es-bounces en aditel.org [mailto:python-es-bounces en aditel.org] En > nombre de Manel i Elena > Enviado el: viernes, 15 de octubre de 2004 17:09 > Para: python-es en aditel.org > Asunto: [Python-es] Si devuelvo un cursor desde unafunción automáticamente > se me cierra el cursor > > Si ejecuto el siguiente código > > """ > import psycopg > db = psycopg.connect(host="bichejo", user="mcebolla", database="uoc") > cursor=db.cursor() > cursor.executes("select 1") > """ > > Tod funciona perfectamente pero si hago esto: > > """ > def func(): >  import psycopg >  db = psycopg.connect(host="bichejo", user="mcebolla", database="uoc") >  return db.cursor() > > cursor=func() > cursor.executes("select 1") > """ > > Entonces me sale el siguiente mensaje de error > > """ >   File "", line 1, in ? > psycopg.InterfaceError: already closed > """ > > ¿ No se puede devolver un cursor mediante una función ?, si hago esto mismo > con MySQLdb todo va bien. > > Por cierto, he probado exactamente lo mismo con pypgsql y me pasa lo > mismo. > > ¿ Alguna idea ?. > > Manel. > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es -- Saludos de Elena i Manel. URL: www.manelelena.com _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From py en ch3m4.org Mon Oct 18 12:16:35 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Mon, 18 Oct 2004 12:16:35 +0200 Subject: Si devuelvo un cursor desde una =?iso-8859-1?q?funci=F3n_autom=E1ticamente_se_me_cierra_el?= cursor In-Reply-To: <200410151709.01653.manelelena@manelelena.com> References: <200410151709.01653.manelelena@manelelena.com> Message-ID: <200410181216.38782.py@ch3m4.org> On Friday 15 October 2004 17:09, Manel i Elena wrote: > """ > def func(): >  import psycopg >  db = psycopg.connect(host="bichejo", user="mcebolla", database="uoc") >  return db.cursor() > > cursor=func() > cursor.executes("select 1") > """ El objeto 'db' se destruye al finalizar la función, y con ello se cierra la conexión y se invalidan todos los cursores. Debes conseguir alguna referencia al objeto conexión fuera del ámbito local de la función para que el objeto siga "vivo" (eg: variables globales ó como retorno de la función) > ¿ No se puede devolver un cursor mediante una función ?, si hago esto mismo > con MySQLdb todo va bien. MySQLdb "emula" cursores, manteniendo cada cursor una referencia interna al objeto conexión. Esta referencia hace que los objetos conexión sigan "vivos" fuera de la función (En python los objetos siguen "vivos" mientras sean referenciados en alguna parte). ------------ 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 py en ch3m4.org Mon Oct 18 12:34:31 2004 From: py en ch3m4.org (Chema =?iso-8859-15?q?Cort=E9s?=) Date: Mon, 18 Oct 2004 12:34:31 +0200 Subject: seleccionando valores de diccionario In-Reply-To: <1097919077.7016.3.camel@renata.macondo.pri> References: <20041015211207.92247.qmail@web21206.mail.yahoo.com> <4c01c85a041015155537e1f3d9@mail.gmail.com> <1097919077.7016.3.camel@renata.macondo.pri> Message-ID: <200410181234.34154.py@ch3m4.org> On Saturday 16 October 2004 11:31, Marcos Sánchez Provencio wrote: > Sonaba a desafío :-) > > print dict.fromkeys([p['numero'] for p in prost]).keys() Una alternativa algo más purista con sets (esta es su especialidad :-) from sets import Set print Set([p['numero'] for p in prost]) De momento necesita dos líneas, pero no será por mucho tiempo (en python 2.4 los sets serán tipos de datos "builtins"). ------------ 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 py en ch3m4.org Mon Oct 18 12:54:45 2004 From: py en ch3m4.org (Chema =?iso-8859-15?q?Cort=E9s?=) Date: Mon, 18 Oct 2004 12:54:45 +0200 Subject: seleccionando valores de diccionario In-Reply-To: <200410181234.34154.py@ch3m4.org> References: <20041015211207.92247.qmail@web21206.mail.yahoo.com> <1097919077.7016.3.camel@renata.macondo.pri> <200410181234.34154.py@ch3m4.org> Message-ID: <200410181254.49686.py@ch3m4.org> On Monday 18 October 2004 12:34, Chema Cortés wrote: > On Saturday 16 October 2004 11:31, Marcos Sánchez Provencio wrote: > > Sonaba a desafío :-) > > > > print dict.fromkeys([p['numero'] for p in prost]).keys() > > Una alternativa algo más purista con sets (esta es su especialidad :-) > > from sets import Set > print Set([p['numero'] for p in prost]) > > > De momento necesita dos líneas, pero no será por mucho tiempo (en python > 2.4 los sets serán tipos de datos "builtins"). Acabo de recordar una alternativa más extraña e incomprensible, pero capazde hacerlo en un sólo paso: print [p["numero"] for p in prost if p['numero'] not in locals()["_[1]"].__self__] Se basa en los nombres internos que se utiliza en la comprensión de listas. En esta receta os cuentan más sobre el tema: http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/204297 ------------ 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 manelelena en manelelena.com Mon Oct 18 15:02:43 2004 From: manelelena en manelelena.com (Manel) Date: Mon, 18 Oct 2004 15:02:43 +0200 Subject: Si devuelvo un cursor =?iso-8859-1?q?desdeunafunci=F3n_autom=E1ticamente_se_me_cierra_el?= cursor In-Reply-To: <20041018075434.202EA41C0F9@dns2.uji.es> References: <20041018075434.202EA41C0F9@dns2.uji.es> Message-ID: <200410181502.43814.manelelena@manelelena.com> Gracias por la aportación, pero para mi es imprescondible poder tener un grupo de cursores abiertos contra diferentes tipos de bases de datos e ir lanzado sentencias sin tener que ir abriendo cursores cada vez. Al final he consegido con "pg" el objetivo que buscaba: def st_connect(): import pg st_db = pg.connect(dbname=st_db, user=st_user, host=st_host) return st_db cursor=st_connect() cursor.query("select 1") Saludos, Manel. El Lunes, 18 de Octubre de 2004 09:55, rosendo escribió: > La verdad es que tendría más sentido que compartieses la conexión en vex de > los cursores. > En cualquier caso, debe ser una limitación o bein de la librería o bien de > la base de datos, no sé. > Otro acercamiento al problema aunque no se si te servirá seria haciendo: > > Def GetConnection(): > import psycopg > db = psycopg.connect(host="bichejo", user="mcebolla", database="uoc") > return db > > def func(): > db = GetConnection() > cr = db.cursor() > etc..... > cr.close() > > Creo que queda más claro que así compartes conexión y no compartes > cursores, que es un poco lioso. > > Un saludo. > Rosendo. > PD:Este código está sinprobar para psycopg, con cx_oracle si funciona. > Espero que te ayude. > > > -----Mensaje original----- > De: python-es-bounces en aditel.org [mailto:python-es-bounces en aditel.org] En > nombre de Manel i Elena > Enviado el: viernes, 15 de octubre de 2004 23:38 > Para: La lista de python en castellano > Asunto: Re: [Python-es] Si devuelvo un cursor desdeunafunción > automáticamente se me cierra el cursor > > Gracias por la idea Rosendo, lo he probado pero sigue pasando lo mismo: > > Python 2.3.4 (#2, Sep 24 2004, 08:39:09) > [GCC 3.3.4 (Debian 1:3.3.4-12)] on linux2 > Type "help", "copyright", "credits" or "license" for more information. > > >>> def func(): > > ... import psycopg > ... db = psycopg.connect(host="bichejo", user="mcebolla", > database="uoc") > ... cursor = db.cursor() > ... return cursor > ... > > >>> c=func() > >>> c.execute("select 1") > > Traceback (most recent call last): > File "", line 1, in ? > psycopg.InterfaceError: already closed > > > y con pypgsql también... estoy intrigado, no sé si esto es normal o una > limitación de estas librerías. > > Saludos, Manel. > > El Viernes, 15 de Octubre de 2004 18:18, rosendo escribió: > > No conozco psycopg, pero imagino que será esto: > > def func(): > > import psycopg > > db = psycopg.connect(host="bichejo", user="mcebolla", database="uoc") > > cursor = db.cursor() > > return cursor > > > > Pruebalo y me cuentas > > Un saludo. > > Rosendo. > > > > > > -----Mensaje original----- > > De: python-es-bounces en aditel.org [mailto:python-es-bounces en aditel.org] En > > nombre de Manel i Elena > > Enviado el: viernes, 15 de octubre de 2004 17:09 > > Para: python-es en aditel.org > > Asunto: [Python-es] Si devuelvo un cursor desde unafunción > > automáticamente se me cierra el cursor > > > > Si ejecuto el siguiente código > > > > """ > > import psycopg > > db = psycopg.connect(host="bichejo", user="mcebolla", database="uoc") > > cursor=db.cursor() > > cursor.executes("select 1") > > """ > > > > Tod funciona perfectamente pero si hago esto: > > > > """ > > def func(): > >  import psycopg > >  db = psycopg.connect(host="bichejo", user="mcebolla", database="uoc") > >  return db.cursor() > > > > cursor=func() > > cursor.executes("select 1") > > """ > > > > Entonces me sale el siguiente mensaje de error > > > > """ > >   File "", line 1, in ? > > psycopg.InterfaceError: already closed > > """ > > > > ¿ No se puede devolver un cursor mediante una función ?, si hago esto > > mismo > > > con MySQLdb todo va bien. > > > > Por cierto, he probado exactamente lo mismo con pypgsql y me pasa lo > > mismo. > > > > ¿ Alguna idea ?. > > > > Manel. > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es -- Visita nuestra pagina: http://www.manelelena.com From jhonny_b5 en yahoo.es Mon Oct 18 18:15:08 2004 From: jhonny_b5 en yahoo.es (jhonny baldiviezo guerrero) Date: Mon, 18 Oct 2004 18:15:08 +0200 (CEST) Subject: No consigo hacer funcionar el wxPython In-Reply-To: <1097854462.3599.47.camel@demeter.speriaitc.com> References: <1097854462.3599.47.camel@demeter.speriaitc.com> Message-ID: <20041018161508.8597.qmail@web53103.mail.yahoo.com> Jose wrote: Para intentar aislar el problema (y quitar IDLE de la ecuación) prueba a abrir una consola MS-DOS y ejecutar: C:\WINDOWS\> cd c:\python23\lib\site-packages\wx\demo C:\WINDOWS\> c:\python23\python.exe Button.py El vie, 15-10-2004 a las 17:27, elchamat escribió: > No puedo, cuando ejecuto el programa me sale una ventana diciendo "Do yo > want to exit alltogether?", le digo que no y me sale este error en el shell: > > Traceback (most recent call last): > File "C:\Python23\Lib\site-packages\wx\demo\Button.py", line 52, in ? > run.main(['', os.path.basename(sys.argv[0])] + sys.argv[1:]) > File "C:\Python23\lib\idlelib\run.py", line 62, in main > exit() > File "C:\Python23\lib\idlelib\run.py", line 174, in exit > sys.exit(0) > SystemExit: 0 Hola amigo del modo que quieres ejecutar el demos de wxpython no se ejecuta de esa manera, tienes que ir por inicio, programas y ubicarlo donde esta instalado el wxpython y ejecutar el demo: por el otro lado solo es consola y si quieres ejecutra por ahi todos los demos tienene que estar en la carpeta python23 debido que es un compilador y busca ese archivo y se ejecuta de la siguientes manera: c:\python23\ python ejemplo.py espero que tengas suerte una saludo de jhonny _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es --------------------------------- From dpico en dsic.upv.es Tue Oct 19 00:36:46 2004 From: dpico en dsic.upv.es (=?ISO-8859-1?Q?David_Pic=F3?=) Date: Tue, 19 Oct 2004 00:36:46 +0200 Subject: Preguntita de clases Message-ID: <4174457E.50003@dsic.upv.es> Hola. Disculpad la sencillez de la pregunta, pero no encuentro la solución: ¿cómo se puede saber en ejecución los métodos que tiene una clase? Dada una instancia a, la expresión a.__dict__ devuelve el diccionario de atributos, pero yo necesito saber la lista de nombres de métodos. ¿Eso se puede hacer? Saludos cordiales David Picó From dpico en dsic.upv.es Tue Oct 19 00:44:09 2004 From: dpico en dsic.upv.es (=?ISO-8859-1?Q?David_Pic=F3?=) Date: Tue, 19 Oct 2004 00:44:09 +0200 Subject: =?iso-8859-1?q?=A1Perd=F3n!?= Message-ID: <41744739.6070707@dsic.upv.es> Me contesto yo mismo: dada una *clase* (no una instancia de clase) a, la expresión a.__dict__ lo devuelve todo, atributos y métodos. Y dada una instancia A, la expresión A.__class__.__dict__ hace lo propio. Solucionao. Perdón por llenaros los buzones con mis idas y vueltas... Saludos David From jtempo en omnilect.com Tue Oct 19 01:24:36 2004 From: jtempo en omnilect.com (jtempo) Date: Mon, 18 Oct 2004 18:24:36 -0500 Subject: =?iso-8859-1?Q?=A1Perd=F3n?=! In-Reply-To: <41744739.6070707@dsic.upv.es> References: <41744739.6070707@dsic.upv.es> Message-ID: Muy interesante. Otra pregunta de uno más novato, como distingo atributos de metodos en tiempo de ejecucion (y si es posible) los parámetros que lleve) -----Original Message----- From: David Picó To: La lista de python en castellano Date: Tue, 19 Oct 2004 00:44:09 +0200 Subject: [Python-es] ¡Perdón! > Me contesto yo mismo: dada una *clase* (no una instancia de clase) a, > la > expresión a.__dict__ lo devuelve todo, atributos y métodos. Y dada una > instancia A, la expresión A.__class__.__dict__ hace lo propio. > > Solucionao. Perdón por llenaros los buzones con mis idas y vueltas... > Saludos > David _______________________________ http://www.omnilect.com Omnilect - 2,000 Megabytes Of Storage... Just For You. Email, Web Space, Photos, Whatever. Great Usernames Still Available! From morillas en posta.unizar.es Tue Oct 19 01:45:52 2004 From: morillas en posta.unizar.es (luis miguel morillas) Date: Tue, 19 Oct 2004 01:45:52 +0200 Subject: =?iso-8859-1?Q?=A1Perd=F3n?= =?iso-8859-1?Q?!?= In-Reply-To: References: <41744739.6070707@dsic.upv.es> Message-ID: <20041018234552.GA4526@marmota> Asunto: Re: [Python-es] ¡Perdón! Fecha: lun, oct 18, 2004 at 06:24:36 -0500 Citando a jtempo (jtempo en omnilect.com): > Muy interesante. Otra pregunta de uno más novato, como distingo atributos > de metodos en tiempo de ejecucion (y si es posible) los parámetros que > lleve) Un objeto método, tiene su método __call__ correspondiente. Lo puedes comprobar con la función callable(objeto) >>> class prueba: atributo = 5 def metodo(): pass >>> callable(prueba.atributo) False >>> callable(prueba.metodo) True > > > -----Original Message----- > From: David Picó > To: La lista de python en castellano > Date: Tue, 19 Oct 2004 00:44:09 +0200 > Subject: [Python-es] ¡Perdón! > > > Me contesto yo mismo: dada una *clase* (no una instancia de clase) a, > > la > > expresión a.__dict__ lo devuelve todo, atributos y métodos. Y dada una > > instancia A, la expresión A.__class__.__dict__ hace lo propio. > > > > Solucionao. Perdón por llenaros los buzones con mis idas y vueltas... > > Saludos > > David > > > > > > _______________________________ > http://www.omnilect.com > Omnilect - 2,000 Megabytes Of Storage... Just For You. > Email, Web Space, Photos, Whatever. > Great Usernames Still Available! > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es -- Luis Miguel No a las patentes de software en Europa EuropeSwPatentFree http://EuropeSwPatentFree.hispalinux.es From santi en zetadb.com Tue Oct 19 09:36:04 2004 From: santi en zetadb.com (Santi Camps) Date: Tue, 19 Oct 2004 09:36:04 +0200 Subject: Preguntita de clases In-Reply-To: <4174457E.50003@dsic.upv.es> References: <4174457E.50003@dsic.upv.es> Message-ID: <4174C3E4.9070106@zetadb.com> En/na David Picó ha escrit: > Hola. > > Disculpad la sencillez de la pregunta, pero no encuentro la solución: > ¿cómo se puede saber en ejecución los métodos que tiene una clase? > Dada una instancia a, la expresión a.__dict__ devuelve el diccionario > de atributos, pero yo necesito saber la lista de nombres de métodos. > ¿Eso se puede hacer? > Como no? dir(a) para obtener la lista de métodos Saludos Santi Camps http:///www.earcon.com From josu en ubera.net Tue Oct 19 09:43:00 2004 From: josu en ubera.net (Josu Oyanguren) Date: Tue, 19 Oct 2004 09:43:00 +0200 Subject: Preguntita de clases In-Reply-To: <4174457E.50003@dsic.upv.es> References: <4174457E.50003@dsic.upv.es> Message-ID: <4174C584.6040006@ubera.net> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 [i for i in dir(a) if callable(getattr(a,i))] te devuelve la lista de todos los métodos. (También te apareces los métodos "raritos" como __repr__ o __reduce__) David Picó escribió: | Hola. | | Disculpad la sencillez de la pregunta, pero no encuentro la solución: | ¿cómo se puede saber en ejecución los métodos que tiene una clase? Dada | una instancia a, la expresión a.__dict__ devuelve el diccionario de | atributos, pero yo necesito saber la lista de nombres de métodos. ¿Eso | se puede hacer? | | Saludos cordiales | David Picó | _______________________________________________ | Python-es mailing list | Python-es en aditel.org | http://listas.aditel.org/listinfo/python-es | | - -- -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org iD8DBQFBdMWE5ju4HVxhuqQRAszoAJ98QIdtw4aRW32RzSGOO2CLlg8p6QCfXT2y LJ0aTu9V5iAdL5y+ql1nSLU= =p2fo -----END PGP SIGNATURE----- ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From py en ch3m4.org Tue Oct 19 11:06:20 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Tue, 19 Oct 2004 11:06:20 +0200 Subject: =?iso-8859-1?q?=A1Perd=F3n!?= In-Reply-To: <41744739.6070707@dsic.upv.es> References: <41744739.6070707@dsic.upv.es> Message-ID: <200410191106.24669.py@ch3m4.org> On Tuesday 19 October 2004 00:44, David Picó wrote: > Me contesto yo mismo: dada una *clase* (no una instancia de clase) a, la > expresión a.__dict__ lo devuelve todo, atributos y métodos. Y dada una > instancia A, la expresión A.__class__.__dict__ hace lo propio. No es una solución del todo correcta. El diccionario (a.__class__) te devuelve los atributos y métodos definidos directamente por la clase, pero no los heredados ni los implícitos, y con A.__class__.__dict__ sólo estás considerando los atributos/métodos heredados desde la clase base, pero no los que heredas desde otros padres. La vía correcta es utilizar la función dir(), con la que accedes al "espacio de nombres" del objeto. Después sólo tienes que aplicar los accesores (getattr/setattr/delattr) para acceder a los atributos/métodos. En cuanto a lo de saber si es un método o un atributo, no está mal la solución que da Luis Miguel Morillas, pero hay que tener en cuenta que las clases son "callables" ya que emplean el método __call__ para inicializar instancias. Otro medio también sería utilizando el módulo 'inspect', con el que se podría obtener los argumentos de los métodos y demás información: #!/usr/bin/python #-*- coding: iso8859-15 -*- import inspect class A(object): def __init__(self,x): self.x=x def myproc(self,*args,**kw): pass class B(A): def __init__(self,x,y=1): self.y=y super(B,self).__init__(x) class C(B,A): def __init__(self,x=0,y=1): super(C,self).__init__(x,y) c=C() for name,value in inspect.getmembers(c,inspect.ismethod): print "Método:",name,inspect.formatargspec(*inspect.getargspec(value)) ------------ 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 py en ch3m4.org Tue Oct 19 11:58:05 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Tue, 19 Oct 2004 11:58:05 +0200 Subject: subprocess en python 2.4 Message-ID: <200410191158.08157.py@ch3m4.org> ¿Hay álguien que haya seguido la génesis del módulo 'subprocess' del python 2.4? ¿Álguien lo ha probado y pueda contarnos sus ventajas? El módulo 'subprocess' es una de las novedades del python 2.4 (versión beta recién difundida) de la que no tenía ni idea. La propuesta está en el PEP-324: http://www.python.org/peps/pep-0324.html ------------ 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 hernan en orgmf.com.ar Tue Oct 19 12:26:25 2004 From: hernan en orgmf.com.ar (=?iso-8859-1?Q?Hern=E1n_Mart=EDnez_Foffani?=) Date: Tue, 19 Oct 2004 12:26:25 +0200 Subject: subprocess en python 2.4 In-Reply-To: <200410191158.08157.py@ch3m4.org> References: <200410191158.08157.py@ch3m4.org> Message-ID: > ¿Hay álguien que haya seguido la génesis del módulo 'subprocess' del > python > 2.4? ¿Álguien lo ha probado y pueda contarnos sus ventajas? > > El módulo 'subprocess' es una de las novedades del python 2.4 > (versión beta recién difundida) de la que no tenía ni idea. La > propuesta está en el PEP-324: http://www.python.org/peps/pep-0324.html Lo único que se es que se incorporó a la 2.4 hace una semana aproximadamente, apenas unos días antes de liberar la beta. No es algo que GvR apruebe muy seguido pero había garantías dado quien estaba tras el desarrollo del módulo. -H. From diazjoseantonio en hotmail.com Tue Oct 19 15:15:38 2004 From: diazjoseantonio en hotmail.com (=?iso-8859-1?Q?Jos=E9__Antonio_D=EDaz?=) Date: Tue, 19 Oct 2004 10:15:38 -0300 Subject: Tesis References: <86b8f6b9040908055436b4e1cd@mail.gmail.com> <413F136A.3060803@sicem.biz><413F4ACA.70508@yahoo.com.mx> <413F80BF.4040502@sicem.biz> Message-ID: Hola a todos, Siendo que me encuentro finalizando la carrera de grado, tengo la necesidad de presentar una tesis (no un trabajo práctico sino una exposición-solución respecto de una problematica en particular) donde enfrente una problemática determinada y defienda la misma aplicando obviamente alguna tecnología y/o paradigma, justamente el aspecto tecnologico queria encararlo desde la visión de Python pero realmente no se por donde empezar no tengo idea de un tema en particular y como hace ya un tiempo estoy familiarizandome con Python, Zope, etc quisiera encaminar la investigación con esta base. Desde ya agradezco cualquier sugerencia respecto de posibles temas que me permitan orientar la investigación. From py en ch3m4.org Tue Oct 19 16:57:44 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Tue, 19 Oct 2004 16:57:44 +0200 Subject: Tesis In-Reply-To: References: <86b8f6b9040908055436b4e1cd@mail.gmail.com> <413F80BF.4040502@sicem.biz> Message-ID: <200410191657.47089.py@ch3m4.org> On Tuesday 19 October 2004 15:15, José Antonio Díaz wrote: > Hola a todos, > Siendo que me encuentro finalizando la carrera de grado, tengo la necesidad > de presentar una tesis (no un trabajo práctico sino una exposición-solución > respecto de una problematica en particular) donde enfrente una problemática > determinada y defienda la misma aplicando obviamente alguna tecnología y/o > paradigma, justamente el aspecto tecnologico queria encararlo desde la > visión de Python pero realmente no se por donde empezar no tengo idea de un > tema en particular y como hace ya un tiempo estoy familiarizandome con > Python, Zope, etc quisiera encaminar la investigación con esta base. > Desde ya agradezco cualquier sugerencia respecto de posibles temas que me > permitan orientar la investigación. Es dificil recomendarte algo sin saber qué carrera has hecho ni qué temas te pueden interesar. Un tema apasionante y muy actual es la implementación de lenguajes dinámicos (eg: python) para máquinas virtuales (JVM, CLI, IVM, CPython, Parrot, Stackless,...). El estudio podría consistir en añadir una nueva capa de abstracción a las máquina virtuales para poder ejecutar lenguajes dinámicos, estudiar los cambios de diseño necesarios y, finalmente, profundizar en el trabajo de Jim Hugunin sobre Jython/JVM e IronPython/CLI como caso práctico. En cuanto a Zope, un tema interesante sería el "rediseño" del Zope3 orientado a la "programación por contrato", pero no sé cuánto daría de sí para una Tesis. ------------ 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 hernan en orgmf.com.ar Tue Oct 19 17:32:49 2004 From: hernan en orgmf.com.ar (=?iso-8859-1?Q?Hern=E1n_Mart=EDnez_Foffani?=) Date: Tue, 19 Oct 2004 17:32:49 +0200 Subject: Tesis In-Reply-To: References: Message-ID: > Siendo que me encuentro finalizando la carrera de grado, tengo la > necesidad de presentar una tesis (no un trabajo práctico sino una > exposición-solución respecto de una problematica en particular) donde > enfrente una problemática determinada y defienda la misma aplicando > obviamente alguna tecnología y/o paradigma, justamente el aspecto > tecnologico queria encararlo desde la visión de Python pero realmente > no se por donde empezar no tengo idea de un tema en particular y como > hace ya un tiempo estoy familiarizandome con Python, Zope, etc > quisiera encaminar la investigación con esta base. Casualmente hace poco surgió la misma inquietud en la lista de desarrollo del python. Alguien se ocupó de juntar las ideas propuestas: http://mail.python.org/pipermail/python-dev/2003-November/040387.html Aclaro que la lista apunta mas *AL* desarrollo de python y no tanto *CON* python. Saludos, -H. From apuntesus en yahoo.com Tue Oct 19 18:03:25 2004 From: apuntesus en yahoo.com (qqq qqqq) Date: Tue, 19 Oct 2004 09:03:25 -0700 (PDT) Subject: Como imprimir algo en al impresora ? Message-ID: <20041019160325.43348.qmail@web50304.mail.yahoo.com> Hola a todos , He estado mirando modulos que sirvan para imprimir algo en la impresora pero tan solo he encontrado para win32. Me gustaria saber si existe alguno que se pudiera utilizar tanto en linux como en windows y como se utiliza. Gracias. _______________________________ Do you Yahoo!? Declare Yourself - Register online to vote today! http://vote.yahoo.com ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From maramsis en gmail.com Tue Oct 19 23:41:26 2004 From: maramsis en gmail.com (maram) Date: Tue, 19 Oct 2004 18:41:26 -0300 Subject: Como imprimir algo en al impresora ? In-Reply-To: <20041019160325.43348.qmail@web50304.mail.yahoo.com> References: <20041019160325.43348.qmail@web50304.mail.yahoo.com> Message-ID: On Tue, 19 Oct 2004 09:03:25 -0700 (PDT), qqq qqqq wrote: > Hola a todos , > > He estado mirando modulos que sirvan para imprimir > algo en la impresora pero tan solo he encontrado para > win32. > > Me gustaria saber si existe alguno que se pudiera > utilizar tanto en linux como en windows y como se > utiliza. > > Gracias. > Hace poco etuve viendo el mismo tema: Fue de gran ayuda la siguiente busqueda en google: Utiliza Google acotándo las búsquedas en los archivos de la lista Python-es: http://listas.aditel.org/archivos/python-es/ Por ejemplo, busca en Google lo siguiente: imprimir site:aditel.org Actualmente me decidi por reportlab. Baje los manuales y demas, pero lo que mas me ayudo fue mirar los ejemplos del desarrollo de pyGestor en http://pygestor.gnome.cl , especialmente impresion del libro diario. maram From dani en micorreo.cai.es Wed Oct 20 01:38:45 2004 From: dani en micorreo.cai.es (daniFerSer) Date: Wed, 20 Oct 2004 01:38:45 +0200 Subject: Tkinter. command de un boton Message-ID: <4175A585.8050304@micorreo.cai.es> Saludos a todos. Hoy despues de haber estado mirando estos dias C + GTK y Visual C++ me he decidido por probar Python + Tkinter. Ya habia estado tocando cosas de Python un poco, pero lo habia dejado un tiempo. Estoy mirando ejemplos de codigo y los intento hacer a mi manera. Pongo el codigo debajo. Mis dudas son... 1º. Por qué al ejecutar la aplicacion aparece en la linea de comandos "pollo"?? Supongo q lo saca de la accion del boton1, pero no se porque lo hace solo, sin esperar a q se accione el boton. 2º. En un command de un boton no se puede llamar a un procedimiento pasandole un argumento? He suprimido partes de codigo que no se usaban para nada en esta duda para que sea mas facil leerlo. Lo digo para que no me digais que no tiene sentido lo que intento. El codigo: ---------------------------------------------------- from Tkinter import * class App: def __init__(self,master): root.title("Ejemplo 4") self.FoodItems=[] self.CreateWidgets(master) def CreateWidgets(self,master): FrameDeBotones=Frame(master) FrameDeBotones.pack(side=TOP,fill=X) self.boton1 = Button(FrameDeBotones,text="pollo",command=self.AccionBoton("pollo")) self.boton1.pack(side=LEFT) def AccionBoton(self,label): print label root=Tk() app = App(root) root.mainloop() ---------------------------- Este mensaje ha sido escaneado frente spam y virus por BitDefender Para mas informacion por favor visite http://www.cai.es/cai/seguridad/bitdefender.asp Es una atencion de micorreo.cai.es From rapto en arrakis.es Wed Oct 20 10:00:20 2004 From: rapto en arrakis.es (=?ISO-8859-1?Q?Marcos_S=E1nchez_Provencio?=) Date: Wed, 20 Oct 2004 10:00:20 +0200 Subject: Tkinter. command de un boton In-Reply-To: <4175A585.8050304@micorreo.cai.es> References: <4175A585.8050304@micorreo.cai.es> Message-ID: <41761B14.7060401@arrakis.es> Estás pasando como función el resultado de la llamada de la función: Por ejemplo, dir es una función, pero dir() es la lista resultado. ...command=self.AccionBoton) sería lo correcto Ojo, que no piloto Tkinter daniFerSer escribió: > Saludos a todos. > Hoy despues de haber estado mirando estos dias C + GTK y Visual C++ me > he decidido por probar Python + Tkinter. Ya habia estado tocando cosas > de Python un poco, pero lo habia dejado un tiempo. > > Estoy mirando ejemplos de codigo y los intento hacer a mi manera. > Pongo el codigo debajo. Mis dudas son... > > 1º. Por qué al ejecutar la aplicacion aparece en la linea de comandos > "pollo"?? Supongo q lo saca de la accion del boton1, pero no se porque > lo hace solo, sin esperar a q se accione el boton. > > 2º. En un command de un boton no se puede llamar a un procedimiento > pasandole un argumento? > > He suprimido partes de codigo que no se usaban para nada en esta duda > para que sea mas facil leerlo. Lo digo para que no me digais que no > tiene sentido lo que intento. > > El codigo: > ---------------------------------------------------- > from Tkinter import * > > class App: > def __init__(self,master): > root.title("Ejemplo 4") > self.FoodItems=[] self.CreateWidgets(master) > > def CreateWidgets(self,master): > FrameDeBotones=Frame(master) > FrameDeBotones.pack(side=TOP,fill=X) > > self.boton1 = > Button(FrameDeBotones,text="pollo",command=self.AccionBoton("pollo")) > self.boton1.pack(side=LEFT) > def AccionBoton(self,label): > print label > > > root=Tk() > app = App(root) > root.mainloop() > > From py en ch3m4.org Wed Oct 20 10:30:04 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Wed, 20 Oct 2004 10:30:04 +0200 Subject: Tkinter. command de un boton In-Reply-To: <4175A585.8050304@micorreo.cai.es> References: <4175A585.8050304@micorreo.cai.es> Message-ID: <200410201030.08776.py@ch3m4.org> On Wednesday 20 October 2004 01:38, daniFerSer wrote: > 1º. Por qué al ejecutar la aplicacion aparece en la linea de comandos > "pollo"?? Supongo q lo saca de la accion del boton1, pero no se porque > lo hace solo, sin esperar a q se accione el boton. Ya te ha contestado Marcos a ésto. > 2º. En un command de un boton no se puede llamar a un procedimiento > pasandole un argumento? Siempre tienes que poner como argumento una función ó un método. Si necesitas fijar algún argumento debes emplear una técnica llamada "currificación" (de Curry, un lenguaje de tipo funcional). Con esta técnica se "fijan" algunos de los argumentos de una función, pero el resultado sigue siendo una función: http://listas.aditel.org/archivos/python-es/2003-October/008260.html ------------ 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 aragorn en pythonhispano.org Wed Oct 20 11:40:52 2004 From: aragorn en pythonhispano.org (Jose) Date: Wed, 20 Oct 2004 11:40:52 +0200 Subject: Como imprimir algo en al impresora ? In-Reply-To: References: <20041019160325.43348.qmail@web50304.mail.yahoo.com> Message-ID: <1098265252.3905.4.camel@demeter.speriaitc.com> ¿Qué tal fué tu experiencia con reportlab y la generación e impresión de ficheros PDF? ¿Es rápido? ¿Es complejo? ¿Es flexible (se adapta a todo tipo de impresoras)? El mar, 19-10-2004 a las 23:41, maram escribió: > On Tue, 19 Oct 2004 09:03:25 -0700 (PDT), qqq qqqq wrote: > > Hola a todos , > > > > He estado mirando modulos que sirvan para imprimir > > algo en la impresora pero tan solo he encontrado para > > win32. > > > > Me gustaria saber si existe alguno que se pudiera > > utilizar tanto en linux como en windows y como se > > utiliza. > > > > Gracias. > > > Hace poco etuve viendo el mismo tema: > Fue de gran ayuda la siguiente busqueda en google: > > Utiliza Google acotándo las búsquedas en los archivos de la lista > Python-es: http://listas.aditel.org/archivos/python-es/ > > Por ejemplo, busca en Google lo siguiente: > > imprimir site:aditel.org > > Actualmente me decidi por reportlab. > Baje los manuales y demas, pero lo que mas me ayudo fue mirar los > ejemplos del desarrollo de pyGestor en http://pygestor.gnome.cl , > especialmente impresion del libro diario. > > maram > _______________________________________________ > 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 danilistas en micorreo.cai.es Wed Oct 20 11:56:09 2004 From: danilistas en micorreo.cai.es (daniFerSer) Date: Wed, 20 Oct 2004 11:56:09 +0200 Subject: Tkinter. command de un boton Message-ID: <41763639.5060200@micorreo.cai.es> Saludos a todos. Hoy despues de haber estado mirando estos dias C + GTK y Visual C++ me he decidido por probar Python + Tkinter. Ya habia estado tocando cosas de Python un poco, pero lo habia dejado un tiempo. Estoy mirando ejemplos de codigo y los intento hacer a mi manera. Pongo el codigo debajo. Mis dudas son... 1º. Por qué al ejecutar la aplicacion aparece en la linea de comandos "pollo"?? Supongo q lo saca de la accion del boton1, pero no se porque lo hace solo, sin esperar a q se accione el boton. 2º. En un command de un boton no se puede llamar a un procedimiento pasandole un argumento? He suprimido partes de codigo que no se usaban para nada en esta duda para que sea mas facil leerlo. Lo digo para que no me digais que no tiene sentido lo que intento. El codigo: ---------------------------------------------------- from Tkinter import * class App: def __init__(self,master): root.title("Ejemplo 4") self.FoodItems=[] self.CreateWidgets(master) def CreateWidgets(self,master): FrameDeBotones=Frame(master) FrameDeBotones.pack(side=TOP,fill=X) self.boton1 = Button(FrameDeBotones,text="pollo",command=self.AccionBoton("pollo")) self.boton1.pack(side=LEFT) def AccionBoton(self,label): print label root=Tk() app = App(root) root.mainloop() ---------------------------- Este mensaje ha sido escaneado frente spam y virus por BitDefender Para mas informacion por favor visite http://www.cai.es/cai/seguridad/bitdefender.asp Es una atencion de micorreo.cai.es From danilistas en micorreo.cai.es Wed Oct 20 11:59:24 2004 From: danilistas en micorreo.cai.es (daniFerSer) Date: Wed, 20 Oct 2004 11:59:24 +0200 Subject: Tkinter. command de un boton In-Reply-To: <41763639.5060200@micorreo.cai.es> References: <41763639.5060200@micorreo.cai.es> Message-ID: <417636FC.9010602@micorreo.cai.es> Perdon por haber mandado 2 veces el mensaje... es que me hice un lio con las direcciones de correo. No estoy suscrito desde las 2. daniFerSer wrote: > Saludos a todos. > Hoy despues de haber estado mirando estos dias C + GTK y Visual C++ me > he decidido por probar Python + Tkinter. Ya habia estado tocando cosas > de Python un poco, pero lo habia dejado un tiempo. > > Estoy mirando ejemplos de codigo y los intento hacer a mi manera. > Pongo el codigo debajo. Mis dudas son... > > 1º. Por qué al ejecutar la aplicacion aparece en la linea de comandos > "pollo"?? Supongo q lo saca de la accion del boton1, pero no se porque > lo hace solo, sin esperar a q se accione el boton. > > 2º. En un command de un boton no se puede llamar a un procedimiento > pasandole un argumento? > > He suprimido partes de codigo que no se usaban para nada en esta duda > para que sea mas facil leerlo. Lo digo para que no me digais que no > tiene sentido lo que intento. > > El codigo: > ---------------------------------------------------- > from Tkinter import * > > class App: > def __init__(self,master): > root.title("Ejemplo 4") > self.FoodItems=[] self.CreateWidgets(master) > > def CreateWidgets(self,master): > FrameDeBotones=Frame(master) > FrameDeBotones.pack(side=TOP,fill=X) > > self.boton1 = > Button(FrameDeBotones,text="pollo",command=self.AccionBoton("pollo")) > self.boton1.pack(side=LEFT) > def AccionBoton(self,label): > print label > > > root=Tk() > app = App(root) > root.mainloop() > > > ---------------------------- > Este mensaje ha sido escaneado frente spam y virus por BitDefender > Para mas informacion por favor visite > http://www.cai.es/cai/seguridad/bitdefender.asp Es una atencion de > micorreo.cai.es > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > > > > ---------------------------- > > Este mensaje ha sido escaneado frente spam y virus por BitDefender > > Para mas informacion por favor visite > http://www.cai.es/cai/seguridad/bitdefender.asp > Es una atencion de micorreo.cai.es > > > > ---------------------------- Este mensaje ha sido escaneado frente spam y virus por BitDefender Para mas informacion por favor visite http://www.cai.es/cai/seguridad/bitdefender.asp Es una atencion de micorreo.cai.es From apuntesus en yahoo.com Wed Oct 20 13:03:40 2004 From: apuntesus en yahoo.com (qqq qqqq) Date: Wed, 20 Oct 2004 04:03:40 -0700 (PDT) Subject: Como imprimir algo en al impresora ? Message-ID: <20041020110340.97659.qmail@web50309.mail.yahoo.com> Pero si utilizo el reportlab tengo que usar otra programa o otro comando para imprimir el pdf o lo que me haya creado ?? He estado miranod y hay un comando : f=open("prn:","wb") o f=open("lpt1:","wb") # siendo lpt1: el puerto de la impresora f.write("\nEsto es una prueba\n") f.close El problema esta en que mi impresora es usb y no consigo de ninguna manera que coga ese puero (USB001) , si pongo el prn: que se supone que es generico de la impresora , tampoco funciona. Esto aun no lo he probado en Linux pero supongo que funcione o tan solo habria que cambiar a f=open("/dev/lp0", "wb") o algo similar. ? Alguien sabe como solucionar esto ? ? Hay algun modulo multiplataforma para que te coja automaticamente el puerto de la impresora y te deje imprimir facilmente ? _______________________________ Do you Yahoo!? Declare Yourself - Register online to vote today! http://vote.yahoo.com ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From py en ch3m4.org Wed Oct 20 13:58:46 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Wed, 20 Oct 2004 13:58:46 +0200 Subject: Remote Scripting con DHTML Message-ID: <200410201358.46765.py@ch3m4.org> Aunque no lo parezca, este mensaje tiene que ver con python :-P Intento conseguir que la página web que ve el cliente se valide en el servidor sin tener que recargar la página. Cuando se trabaja con formularios con un gran número de campos resulta impracticable corregir en bloque todos los errores. La idea es que el formulario esté ya (casi) validado antes de ser enviado al servidor. Empleo DHTML (javascript) en el cliente y python en el lado del servidor. Entre las técnicas posibles he estado mirándo tres vías: 1) ActiveX, Flash, applets de java, pyXPCOM, SpiderMonkey, ... Son tecnologías son muy específicas, bastante dependientes del navegador y de que estén todo correctamente configurado para que funcione. (De spidermonkey hablaré más tarde) 2) XMLRPC desde javascript Requiere que el javascript del navegador pueda establecer conexiones "XMLHttpRequest". En estos momentos sólo pueden hacerlo, más o menos, explorer, mozilla y safari. Debido a problemas de seguridad (en explorer es vía de entrada de virus) las conexiones quedan limitadas al mismo servidor desde donde se visualiza la página. Para zope podría ser una buena técnica, pero necesito que la validación se pueda hacer desde un servidor distinto al que entrega la página. He decidido no seguir por esta vía. 3) Remote Scripting usando IFRAMEs ocultos creados dinámicamente Es una técnica que puede considerarse como "truco" (no está apoyada en ningún estándar), pero es mucho más compatible con todos los navegadores "modernos", y da mucho juego desde el punto de vista DHTML. El proceso sería el siguiente: a) Un script de python en el servidor genera código dhtml (obtenido de una plantilla, por ejemplo) y lo envía al cliente. b) el cliente ejecuta el código dhtml y crea "al vuelo" un iframe oculto c) como origen del iframe figura un script (en python) en el servidor cuya ejecución genera más código dhtml d) el código dhtml del iframe se "incrusta" en el documento, pudiendo manipular el árbol DOM sin tener que recargar la página e) se responde a los diversos eventos, enviando datos al servidor desde diversos elementos en un formulario Suena muy complicado, pero cuando se ve en funcionamiento todo parece más simple. Las pruebas las he hecho sin utilizar ninguna herramienta especial, pero quiero probar con pyWeb en el lado del servidor. Toda la dificultad radica en tener que generar el código javascript que accede al árbol DOM del documento. Creo que con pyweb se puede incrustar javascript, pero necesitaría algo tipo de wrapper similar a lo que hace Tkinter con Tcl/Tk, pero para javascript. Si nos centramos en mozilla/firefox (), con python se podría acceder al motor de javascript (llamado SpiderMonkey) con lo que, desde el cliente, se podría manipular el árbol DOM del documento. Quizás fuera más apropiado olvidarse de spidermonkey y utilizar directamente PyXPCOM, pero es algo que no tengo pensado mirar más a fondo. Quisiera algo que sirviera para cualquier navegador. En fin, qué os parece todo este rollo. ¿Creéis que me estoy complicando demasiado? From py en ch3m4.org Wed Oct 20 14:15:23 2004 From: py en ch3m4.org (Chema =?iso-8859-15?q?Cort=E9s?=) Date: Wed, 20 Oct 2004 14:15:23 +0200 Subject: Como imprimir algo en al impresora ? In-Reply-To: <20041020110340.97659.qmail@web50309.mail.yahoo.com> References: <20041020110340.97659.qmail@web50309.mail.yahoo.com> Message-ID: <200410201415.28106.py@ch3m4.org> On Wednesday 20 October 2004 13:03, qqq qqqq wrote: > Pero si utilizo el reportlab tengo que usar otra > programa o otro comando para imprimir el pdf o lo que > me haya creado ¿? > > He estado miranod y hay un comando : > > f=open("prn:","wb") o f=open("lpt1:","wb") # siendo > lpt1: el puerto de la impresora > f.write("\nEsto es una prueba\n") > f.close Así vas a tener problemas con el típico efecto escalera cuando envías un texto. Piensa que los saltos de líneas '\n' se interpretan como "avance de carro", y que sólo con un "retorno de carro" '\r' vuelve el carro a la primera columna. > El problema esta en que mi impresora es usb y no > consigo de ninguna manera que coga ese puero (USB001) > , si pongo el prn: que se supone que es generico de la > impresora , tampoco funciona. Esto aun no lo he > probado en Linux pero supongo que funcione o tan solo > habria que cambiar a f=open("/dev/lp0", "wb") o algo > similar. En linux es mejor encargar el trabajo al sistema de impresión, que "filtra" de modo inteligente los fichero para que salgan como esperas. Puedes enviarle cualquier fichero, ya sea pdf, gráfico, código para embellecer, etc. que él lo convierte al código que espera la impresora. Para llamar al sistema de impresión: import os os.system("lpr "+fichero) En windows no es tan bonito. Puedes mirarte el win32print a ver si hay alguna cosa que te sirva, o intentar emplear el mismo sistema que linux (http://www.cs.wisc.edu/~ghost/). ------------ 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 falted en pytables.org Wed Oct 20 14:16:00 2004 From: falted en pytables.org (Francesc Alted) Date: Wed, 20 Oct 2004 14:16:00 +0200 Subject: Remote Scripting con DHTML In-Reply-To: <200410201358.46765.py@ch3m4.org> References: <200410201358.46765.py@ch3m4.org> Message-ID: <200410201416.00667.falted@pytables.org> A Dimecres 20 Octubre 2004 13:58, Chema Cortés va escriure: > 2) XMLRPC desde javascript > > Requiere que el javascript del navegador pueda establecer conexiones > "XMLHttpRequest". En estos momentos sólo pueden hacerlo, más o menos, > explorer, mozilla y safari. Debido a problemas de seguridad (en explorer es > vía de entrada de virus) las conexiones quedan limitadas al mismo servidor > desde donde se visualiza la página. Para zope podría ser una buena técnica, > pero necesito que la validación se pueda hacer desde un servidor distinto al > que entrega la página. He decidido no seguir por esta vía. Yo soy nada especialista en esto, pero me da que la opción 2) puede ser la más sencilla. Con respecto a las validaciones contra otro servidor no podrias hacer una especie de pasarela o redireccionador de peticiones desde el que sirve las páginas hasta el que valida? Bueno, espero no haber dicho una idiotez :) -- Francesc Alted From morillas en posta.unizar.es Wed Oct 20 14:18:45 2004 From: morillas en posta.unizar.es (Luis Miguel Morillas) Date: Wed, 20 Oct 2004 14:18:45 +0200 Subject: Remote Scripting con DHTML In-Reply-To: <200410201358.46765.py@ch3m4.org> References: <200410201358.46765.py@ch3m4.org> Message-ID: <1098274725.417657a54231d@webmail.unizar.es> Mensaje citado por Chema Cortés : > Aunque no lo parezca, este mensaje tiene que ver con python :-P > > Intento conseguir que la página web que ve el cliente se valide en el > servidor > sin tener que recargar la página. Cuando se trabaja con formularios con un > gran número de campos resulta impracticable corregir en bloque todos los > errores. La idea es que el formulario esté ya (casi) validado antes de ser > enviado al servidor. Empleo DHTML (javascript) en el cliente y python en el > lado del servidor. > > Entre las técnicas posibles he estado mirándo tres vías: > > 1) ActiveX, Flash, applets de java, pyXPCOM, SpiderMonkey, ... > > Son tecnologías son muy específicas, bastante dependientes del navegador y de > > que estén todo correctamente configurado para que funcione. (De spidermonkey > > hablaré más tarde) > > > 2) XMLRPC desde javascript > > Requiere que el javascript del navegador pueda establecer conexiones > "XMLHttpRequest". En estos momentos sólo pueden hacerlo, más o menos, > explorer, mozilla y safari. Debido a problemas de seguridad (en explorer es > vía de entrada de virus) las conexiones quedan limitadas al mismo servidor > desde donde se visualiza la página. Para zope podría ser una buena técnica, > pero necesito que la validación se pueda hacer desde un servidor distinto al > > que entrega la página. He decidido no seguir por esta vía. > > > 3) Remote Scripting usando IFRAMEs ocultos creados dinámicamente > > Es una técnica que puede considerarse como "truco" (no está apoyada en ningún > > estándar), pero es mucho más compatible con todos los navegadores "modernos", > > y da mucho juego desde el punto de vista DHTML. > > El proceso sería el siguiente: > > a) Un script de python en el servidor genera código dhtml (obtenido de una > plantilla, por ejemplo) y lo envía al cliente. > > b) el cliente ejecuta el código dhtml y crea "al vuelo" un iframe oculto > > c) como origen del iframe figura un script (en python) en el servidor cuya > ejecución genera más código dhtml > > d) el código dhtml del iframe se "incrusta" en el documento, pudiendo > manipular el árbol DOM sin tener que recargar la página > > e) se responde a los diversos eventos, enviando datos al servidor desde > diversos elementos en un formulario > > Suena muy complicado, pero cuando se ve en funcionamiento todo parece más > simple. Las pruebas las he hecho sin utilizar ninguna herramienta especial, > pero quiero probar con pyWeb en el lado del servidor. Toda la dificultad > radica en tener que generar el código javascript que accede al árbol DOM del > > documento. Creo que con pyweb se puede incrustar javascript, pero necesitaría > > algo tipo de wrapper similar a lo que hace Tkinter con Tcl/Tk, pero para > javascript. > > Si nos centramos en mozilla/firefox (), con python > se > podría acceder al motor de javascript (llamado SpiderMonkey) con lo que, > desde el cliente, se podría manipular el árbol DOM del documento. Quizás > fuera más apropiado olvidarse de spidermonkey y utilizar directamente > PyXPCOM, pero es algo que no tengo pensado mirar más a fondo. Quisiera algo > que sirviera para cualquier navegador. > > > En fin, qué os parece todo este rollo. ¿Creéis que me estoy complicando > demasiado? jeje. Pues a mí me parece muy interesante, hasta me ha gustado la exposición :-). Es un problema al que continuamente tenemos que atacar. En ASP.NET creo que las herramientas generan de forma dinámica el javascript de las aplicaciones y a cada cliente se le da (en teoría) el suyo. A mi me resulta difícl conjugar prestaciones con universalidad de ejecución (no sé si se dice así, pero es el final de la mañana :-P ) Yo he optado por el javascript, teniendo en cuenta las limitaciones que tú comentas. -- Luis Miguel From py en ch3m4.org Wed Oct 20 14:50:20 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Wed, 20 Oct 2004 14:50:20 +0200 Subject: Remote Scripting con DHTML In-Reply-To: <200410201416.00667.falted@pytables.org> References: <200410201358.46765.py@ch3m4.org> <200410201416.00667.falted@pytables.org> Message-ID: <200410201450.24046.py@ch3m4.org> On Wednesday 20 October 2004 14:16, Francesc Alted wrote: > Yo soy nada especialista en esto, pero me da que la opción 2) puede ser la > más sencilla. Con respecto a las validaciones contra otro servidor no > podrias hacer una especie de pasarela o redireccionador de peticiones desde > el que sirve las páginas hasta el que valida? Sí que sería posible. Por ejemplo, empleando cgis, php ó a través del mod_proxy/mod_rewrite de apache. Es una tecnología que está bien si controlas el entorno de ejecución, pero las pruebas que hizo me daban bastante errores en las librerías javascript, así que opté por la técnica de iframes ocultos. Espero que en el futuro se mejore y que llegue a estandarizarse. ------------ 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 py en ch3m4.org Wed Oct 20 15:13:08 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Wed, 20 Oct 2004 15:13:08 +0200 Subject: Remote Scripting con DHTML In-Reply-To: <1098274725.417657a54231d@webmail.unizar.es> References: <200410201358.46765.py@ch3m4.org> <1098274725.417657a54231d@webmail.unizar.es> Message-ID: <200410201513.13104.py@ch3m4.org> On Wednesday 20 October 2004 14:18, Luis Miguel Morillas wrote: > :-). Es un problema al que continuamente tenemos que atacar. En ASP.NET > : creo que > > las herramientas generan de forma dinámica el javascript de las > aplicaciones y a cada cliente se le da (en teoría) el suyo. A mi me resulta > difícl conjugar prestaciones con universalidad de ejecución (no sé si se > dice así, pero es el final de la mañana :-P ) Yo he optado por el > javascript, teniendo en cuenta las limitaciones que tú comentas. No tengo mucha idea de ASP.Net, pero creo que el código javascript lo insertas tú mismo, no hay nada que lo "genere" mágicamente. Se podría compilar el javascript con .Net para combinarlo con código en C# ó VB.Net (incluso con IronPython :-P), pero no dejaría de ser algo muy parecido a los applets de java. ------------ 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 morillas en posta.unizar.es Wed Oct 20 15:51:31 2004 From: morillas en posta.unizar.es (luis miguel morillas) Date: Wed, 20 Oct 2004 15:51:31 +0200 Subject: Remote Scripting con DHTML In-Reply-To: <200410201513.13104.py@ch3m4.org> References: <200410201358.46765.py@ch3m4.org> <1098274725.417657a54231d@webmail.unizar.es> <200410201513.13104.py@ch3m4.org> Message-ID: <20041020135131.GA891@marmota> Asunto: Re: [Python-es] Remote Scripting con DHTML Fecha: Wed, Oct 20, 2004 at 03:13:08PM +0200 Citando a Chema Cortés (py en ch3m4.org): > On Wednesday 20 October 2004 14:18, Luis Miguel Morillas wrote: > > > :-). Es un problema al que continuamente tenemos que atacar. En ASP.NET > > : creo que > > > > las herramientas generan de forma dinámica el javascript de las > > aplicaciones y a cada cliente se le da (en teoría) el suyo. A mi me resulta > > difícl conjugar prestaciones con universalidad de ejecución (no sé si se > > dice así, pero es el final de la mañana :-P ) Yo he optado por el > > javascript, teniendo en cuenta las limitaciones que tú comentas. > > No tengo mucha idea de ASP.Net, pero creo que el código javascript lo insertas > tú mismo, no hay nada que lo "genere" mágicamente. Se podría compilar el > javascript con .Net para combinarlo con código en C# ó VB.Net (incluso con > IronPython :-P), pero no dejaría de ser algo muy parecido a los applets de > java. Yo tampoco tengo mucha idea de ASP.NET. Me suena que comentaron eso en una charla de progaganda que nos dieron. Creo que la plataforma de desarrollo generaba (seguramente sin magia) javascript para validar datos de formularios. Pero no me hagas mucho caso, que hablo de memoria :) -- Luis Miguel No a las patentes de software en Europa EuropeSwPatentFree http://EuropeSwPatentFree.hispalinux.es From cabrerachaparro en yahoo.com Wed Oct 20 17:12:51 2004 From: cabrerachaparro en yahoo.com (Daniel Cabrera) Date: Wed, 20 Oct 2004 10:12:51 -0500 (CDT) Subject: Inicio Message-ID: <20041020151251.24695.qmail@web60303.mail.yahoo.com> Hola, que me recomendarian como IDE para empezar a programar en Python?, la verdad es que prefereria algo asi en vez de estar escribiendo codigo para poder hacer por ejemplo GUI. Muchas gracias Daniel Cabrera _________________________________________________________ Do You Yahoo!? Información de Estados Unidos y América Latina, en Yahoo! Noticias. Visítanos en http://noticias.espanol.yahoo.com From pabloreysobral en gmail.com Wed Oct 20 17:21:32 2004 From: pabloreysobral en gmail.com (Pablo Rey Sobral) Date: Wed, 20 Oct 2004 17:21:32 +0200 Subject: Inicio In-Reply-To: <20041020151251.24695.qmail@web60303.mail.yahoo.com> References: <20041020151251.24695.qmail@web60303.mail.yahoo.com> Message-ID: <4c01c85a0410200821760a24f8@mail.gmail.com> Hola, Yo estoy usando boa-constructor (boa-constructor.sourceforge.net), con wxPython y me gusta, viendo de VB6, aunque no he probado en profundidad otros. Un saludo. OT: Por cierto tengo 4 invitaciones para gmail. Si alguien quiere, que me mande un mensaje. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From acastro en ciberdroide.com Wed Oct 20 17:14:01 2004 From: acastro en ciberdroide.com (Antonio Castro) Date: Wed, 20 Oct 2004 17:14:01 +0200 (CEST) Subject: Tkinter. command de un boton In-Reply-To: <41763639.5060200@micorreo.cai.es> References: <41763639.5060200@micorreo.cai.es> Message-ID: On Wed, 20 Oct 2004, daniFerSer wrote: > Saludos a todos. > Hoy despues de haber estado mirando estos dias C + GTK y Visual C++ me > he decidido por probar Python + Tkinter. Ya habia estado tocando cosas > de Python un poco, pero lo habia dejado un tiempo. > > Estoy mirando ejemplos de codigo y los intento hacer a mi manera. > Pongo el codigo debajo. Mis dudas son... > > 1º. Por qué al ejecutar la aplicacion aparece en la linea de comandos > "pollo"?? Supongo q lo saca de la accion del boton1, pero no se porque > lo hace solo, sin esperar a q se accione el boton. command=self.AccionBoton("pollo") asigna a command el resultado de la función. Deberías usar command=self.AccionBoton > > 2º. En un command de un boton no se puede llamar a un procedimiento > pasandole un argumento? Si se puede con la ayuda de lambda. Te pongo un ejemplo: def UnaFuncionCualquiera(self, ......): .... StrInput=..... VarCaseOpt=.... VarRegExpr=.... ButtonPrev = Button(fr9, text='Buscar Anterior', underline=0, command=lambda self=self, pattern=StrInput, direction='backwards', mode_case=VarCaseOpt, mode_expr=VarRegExpr: \ self.Search(pattern, direction, mode_case, mode_expr) ) .... def Search(self, pattern, direction, mode_case, mode_expr): ... -- Un saludo Antonio Castro /\ /\ \\W// _|0 0|_ +-oOOO-(___o___)-OOOo---------------------+ | . . . . U U . Antonio Castro Snurmacher | | . . . . . . . acastro en ciberdroide.com | +()()()---------()()()--------------------+ From ninrauzer en phreaker.net Wed Oct 20 17:37:54 2004 From: ninrauzer en phreaker.net (Ninrauzer) Date: Wed, 20 Oct 2004 10:37:54 -0500 Subject: Inicio In-Reply-To: <4c01c85a0410200821760a24f8@mail.gmail.com> References: <20041020151251.24695.qmail@web60303.mail.yahoo.com> <4c01c85a0410200821760a24f8@mail.gmail.com> Message-ID: <41768652.5000404@phreaker.net> yooooooo quiero una ..... Gracias ;D Pablo Rey Sobral escribió: >Hola, > >Yo estoy usando boa-constructor (boa-constructor.sourceforge.net), con >wxPython y me gusta, viendo de VB6, aunque no he probado en >profundidad otros. > >Un saludo. > >OT: Por cierto tengo 4 invitaciones para gmail. Si alguien quiere, que >me mande un mensaje. > > >------------------------------------------------------------------------ > >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es > > From aruxek en gmail.com Wed Oct 20 17:45:11 2004 From: aruxek en gmail.com (Arux Kicho Ek) Date: Wed, 20 Oct 2004 10:45:11 -0500 Subject: Inicio In-Reply-To: <41768652.5000404@phreaker.net> References: <20041020151251.24695.qmail@web60303.mail.yahoo.com> <4c01c85a0410200821760a24f8@mail.gmail.com> <41768652.5000404@phreaker.net> Message-ID: <81a637ab041020084566bd0d30@mail.gmail.com> Igual podrias checar el Glade(diseñar las interfaces) y pygtk (hay mucha informacion de gtk en la red) y un editor practico es el scyte., no he probado mucho de igual manera pero se me ahce practica esa convinacion. On Wed, 20 Oct 2004 10:37:54 -0500, Ninrauzer wrote: > yooooooo quiero una ..... > > Gracias ;D > > Pablo Rey Sobral escribió: > > > > >Hola, > > > >Yo estoy usando boa-constructor (boa-constructor.sourceforge.net), con > >wxPython y me gusta, viendo de VB6, aunque no he probado en > >profundidad otros. > > > >Un saludo. > > > >OT: Por cierto tengo 4 invitaciones para gmail. Si alguien quiere, que > >me mande un mensaje. > > > > > >------------------------------------------------------------------------ > > > > > >_______________________________________________ > >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 i_munoz en euskalnet.net Wed Oct 20 18:39:38 2004 From: i_munoz en euskalnet.net (=?ISO-8859-1?Q?I=F1igo?=) Date: Wed, 20 Oct 2004 18:39:38 +0200 Subject: Inicio In-Reply-To: <20041020151251.24695.qmail@web60303.mail.yahoo.com> References: <20041020151251.24695.qmail@web60303.mail.yahoo.com> Message-ID: <417694CA.7050306@euskalnet.net> Lo más sencillo de lo que yo he probado para construir GUIs es PythonCard. La web es www.pythoncard.org, échale un vistazo si te interesa. Daniel Cabrera escribió: >Hola, >que me recomendarian como IDE para empezar a programar >en Python?, la verdad es que prefereria algo asi en >vez de estar escribiendo codigo para poder hacer por >ejemplo GUI. > >Muchas gracias > >Daniel Cabrera > >_________________________________________________________ >Do You Yahoo!? >Información de Estados Unidos y América Latina, en Yahoo! Noticias. >Visítanos en http://noticias.espanol.yahoo.com >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es > > > From i_munoz en euskalnet.net Wed Oct 20 18:41:33 2004 From: i_munoz en euskalnet.net (=?ISO-8859-1?Q?I=F1igo?=) Date: Wed, 20 Oct 2004 18:41:33 +0200 Subject: Inicio In-Reply-To: <20041020151251.24695.qmail@web60303.mail.yahoo.com> References: <20041020151251.24695.qmail@web60303.mail.yahoo.com> Message-ID: <4176953D.9090508@euskalnet.net> Se me olvidaba. Como editor el Scite está bastante bien. Daniel Cabrera escribió: >Hola, >que me recomendarian como IDE para empezar a programar >en Python?, la verdad es que prefereria algo asi en >vez de estar escribiendo codigo para poder hacer por >ejemplo GUI. > >Muchas gracias > >Daniel Cabrera > >_________________________________________________________ >Do You Yahoo!? >Información de Estados Unidos y América Latina, en Yahoo! Noticias. >Visítanos en http://noticias.espanol.yahoo.com >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es > > > From i_munoz en euskalnet.net Wed Oct 20 20:24:27 2004 From: i_munoz en euskalnet.net (=?ISO-8859-1?Q?I=F1igo?=) Date: Wed, 20 Oct 2004 20:24:27 +0200 Subject: a vueltas con pymedia Message-ID: <4176AD5B.6040001@euskalnet.net> Hola: Os comenté hace unos días que había hecho una pequeña aplicación con Python que al pulsar en un botón reproducía un fichero mp3, y que tenía un problema porque al pulsar el botón de reproducir el control no vuelve a la ventana, sino que se queda medio bloqueada hasta que termina la reproducción del audio. Bueno, pues hoy he vuelto a ponerme a ver si era capaz de arreglarlo pero no soy capaz. Os pego el código del archivo .py (pythoncard genera dos ficheros uno con extensión.rsrc.py en el que está el diseño físico de la interfaz y otro .py donde están las clases, gestores de eventos y demás) por si a alguien se le ocurre la solución al problema. Un saludo y gracias por adelantado. #!/usr/bin/python """ __version__ = "$Revision: 1.10 $" __date__ = "$Date: 2004/04/24 22:13:31 $" """ from PythonCard import model import winsound import ventanaDialogo import pymedia.audio.acodec as acodec import pymedia.audio.sound as sound #from aplayer import aplayer, parar class aplayer: snd= None def reproducir(self, name): import time dec= acodec.Decoder( str.split( name, '.' )[ -1 ].lower() ) f= open( name, 'rb' ) s= f.read( 8192) r= dec.decode( s ) if self.snd== None: print 'Opening sound with %d channels' % r.channels self.snd= sound.Output( r.sample_rate, r.channels, sound.AFMT_S16_LE ) while len(s)>0: self.snd.play( r.data ) s= f.read(512) r= dec.decode(s) import time while snd.isPlaying(): time.sleep( .05 ) def parar(self): if self.snd.isPlaying(): self.snd.stop() class Principal(model.Background): objeto= aplayer() def on_boton1_mouseClick(self, event): self.objeto.reproducir("F:\Alasbarricadas.mp3") def on_boton2_mouseClick(self, event): self.objeto.parar() def on_Automatizar_mouseClick(self, event): self.VentanaDialogo = model.childWindow(self, ventanaDialogo.VentanaDialogo) self.VentanaDialogo.position= (200, 100) self.VentanaDialogo.visible= True if __name__ == '__main__': app = model.Application(Principal) app.MainLoop() From jotarpl en yahoo.es Thu Oct 21 00:30:51 2004 From: jotarpl en yahoo.es (=?iso-8859-1?Q?J=2ERam=F3n?= Palacios) Date: Thu, 21 Oct 2004 00:30:51 +0200 Subject: Remote Scripting con DHTML In-Reply-To: <200410201358.46765.py@ch3m4.org> References: <200410201358.46765.py@ch3m4.org> Message-ID: <20041020223051.GA12663@ubik> Hola Chema... decías, el 20 de oct de 2004: > Aunque no lo parezca, este mensaje tiene que ver con python :-P Pues lo siento, pero mi respuesta no ;( He hecho varias pruebas con IFRAMEs... y PHP en el lado del servidor. Funciona bien y, como dices, es más facil verlo que explicarlo. Hay varios ejemplos por internet (PHP), aunque no creo que te sirvan como ejemplo para hacerlo con pyweb... Un saludo. -- J.Ramón Palacios email: jotarpl arroba yahoo punto es From morillas en posta.unizar.es Thu Oct 21 00:29:47 2004 From: morillas en posta.unizar.es (luis miguel morillas) Date: Thu, 21 Oct 2004 00:29:47 +0200 Subject: Remote Scripting con DHTML In-Reply-To: <200410201358.46765.py@ch3m4.org> References: <200410201358.46765.py@ch3m4.org> Message-ID: <20041020222947.GA2668@marmota> Asunto: [Python-es] Remote Scripting con DHTML Fecha: mié, oct 20, 2004 at 01:58:46 +0200 Citando a Chema Cortés (py en ch3m4.org): > Aunque no lo parezca, este mensaje tiene que ver con python :-P > > Intento conseguir que la página web que ve el cliente se valide en el servidor > sin tener que recargar la página. Cuando se trabaja con formularios con un > gran número de campos resulta impracticable corregir en bloque todos los > errores. La idea es que el formulario esté ya (casi) validado antes de ser > enviado al servidor. Empleo DHTML (javascript) en el cliente y python en el > lado del servidor. > Una tecnología que no comentas (me parece que muy verde todavía en su desarrollo, pero muy prometedora) es XForms. Hace poco mozilla inició su proyecto XForms (http://www.mozilla.org/projects/xforms) > Entre las técnicas posibles he estado mirándo tres vías: > > 1) ActiveX, Flash, applets de java, pyXPCOM, SpiderMonkey, ... > > Son tecnologías son muy específicas, bastante dependientes del navegador y de > que estén todo correctamente configurado para que funcione. (De spidermonkey > hablaré más tarde) > > > 2) XMLRPC desde javascript > > Requiere que el javascript del navegador pueda establecer conexiones > "XMLHttpRequest". En estos momentos sólo pueden hacerlo, más o menos, > explorer, mozilla y safari. Debido a problemas de seguridad (en explorer es > vía de entrada de virus) las conexiones quedan limitadas al mismo servidor > desde donde se visualiza la página. Para zope podría ser una buena técnica, > pero necesito que la validación se pueda hacer desde un servidor distinto al > que entrega la página. He decidido no seguir por esta vía. > > > 3) Remote Scripting usando IFRAMEs ocultos creados dinámicamente > > Es una técnica que puede considerarse como "truco" (no está apoyada en ningún > estándar), pero es mucho más compatible con todos los navegadores "modernos", > y da mucho juego desde el punto de vista DHTML. > > El proceso sería el siguiente: > > a) Un script de python en el servidor genera código dhtml (obtenido de una > plantilla, por ejemplo) y lo envía al cliente. > > b) el cliente ejecuta el código dhtml y crea "al vuelo" un iframe oculto > > c) como origen del iframe figura un script (en python) en el servidor cuya > ejecución genera más código dhtml > > d) el código dhtml del iframe se "incrusta" en el documento, pudiendo > manipular el árbol DOM sin tener que recargar la página > > e) se responde a los diversos eventos, enviando datos al servidor desde > diversos elementos en un formulario > > Suena muy complicado, pero cuando se ve en funcionamiento todo parece más > simple. Las pruebas las he hecho sin utilizar ninguna herramienta especial, > pero quiero probar con pyWeb en el lado del servidor. Toda la dificultad > radica en tener que generar el código javascript que accede al árbol DOM del > documento. Creo que con pyweb se puede incrustar javascript, pero necesitaría > algo tipo de wrapper similar a lo que hace Tkinter con Tcl/Tk, pero para > javascript. > > Si nos centramos en mozilla/firefox (), con python se > podría acceder al motor de javascript (llamado SpiderMonkey) con lo que, > desde el cliente, se podría manipular el árbol DOM del documento. Quizás > fuera más apropiado olvidarse de spidermonkey y utilizar directamente > PyXPCOM, pero es algo que no tengo pensado mirar más a fondo. Quisiera algo > que sirviera para cualquier navegador. > > > En fin, qué os parece todo este rollo. ¿Creéis que me estoy complicando > demasiado? > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es -- Luis Miguel No a las patentes de software en Europa EuropeSwPatentFree http://EuropeSwPatentFree.hispalinux.es From maramsis en gmail.com Thu Oct 21 01:27:08 2004 From: maramsis en gmail.com (maram) Date: Wed, 20 Oct 2004 20:27:08 -0300 Subject: Como imprimir algo en al impresora ? In-Reply-To: <20041020110340.97659.qmail@web50309.mail.yahoo.com> References: <20041020110340.97659.qmail@web50309.mail.yahoo.com> Message-ID: On Wed, 20 Oct 2004 04:03:40 -0700 (PDT), qqq qqqq wrote: > Pero si utilizo el reportlab tengo que usar otra > programa o otro comando para imprimir el pdf o lo que > me haya creado ¿? > > He estado miranod y hay un comando : > > f=open("prn:","wb") o f=open("lpt1:","wb") # siendo > lpt1: el puerto de la impresora > f.write("\nEsto es una prueba\n") > f.close > > El problema esta en que mi impresora es usb y no > consigo de ninguna manera que coga ese puero (USB001) > , si pongo el prn: que se supone que es generico de la > impresora , tampoco funciona. Esto aun no lo he > probado en Linux pero supongo que funcione o tan solo > habria que cambiar a f=open("/dev/lp0", "wb") o algo > similar. > > ¿ Alguien sabe como solucionar esto ? > > ¿ Hay algun modulo multiplataforma para que te coja > automaticamente el puerto de la impresora y te deje > imprimir facilmente ? Reportlab es multiplataforma... En linux, los problemas de configuracion de impresora los manejo con el sistema cupsys. Reportlab me imprime en el dispositivo que este configurado en cups. Pero que es facil, es facil... Con un buen ejemplo... -- Marcelo --------------------------------- Maram Sistemas Debian Sarge - Linux User: 354777 www.maramsis.com.ar From maramsis en gmail.com Thu Oct 21 01:30:37 2004 From: maramsis en gmail.com (maram) Date: Wed, 20 Oct 2004 20:30:37 -0300 Subject: Como imprimir algo en al impresora ? In-Reply-To: <1098265252.3905.4.camel@demeter.speriaitc.com> References: <20041019160325.43348.qmail@web50304.mail.yahoo.com> <1098265252.3905.4.camel@demeter.speriaitc.com> Message-ID: On Wed, 20 Oct 2004 11:40:52 +0200, Jose wrote: > ¿Qué tal fué tu experiencia con reportlab y la generación e impresión de > ficheros PDF? ¿Es rápido? ¿Es complejo? ¿Es flexible (se adapta a todo > tipo de impresoras)? Es rapido, segun el tamaño del informe a generar... genera un pdf, luego lo visualizas con cualquier visor de pdf y lo imprimis desde el visor... Complejo... para listados tipo contables, con grupos y demas, copiando un buen ejemplo, fue simple. Para otras cosas no probe. Flexible... Supongo que si, ya que genera PDF y el visor de pdf que uses es el encargado de imprimir... con Cupsys con gpdf y cupsys parece que soporta muchisimas impresoras. > > El mar, 19-10-2004 a las 23:41, maram escribió: > > > > On Tue, 19 Oct 2004 09:03:25 -0700 (PDT), qqq qqqq wrote: > > > Hola a todos , > > > > > > He estado mirando modulos que sirvan para imprimir > > > algo en la impresora pero tan solo he encontrado para > > > win32. > > > > > > Me gustaria saber si existe alguno que se pudiera > > > utilizar tanto en linux como en windows y como se > > > utiliza. > > > > > > Gracias. > > > > > Hace poco etuve viendo el mismo tema: > > Fue de gran ayuda la siguiente busqueda en google: > > > > Utiliza Google acotándo las búsquedas en los archivos de la lista > > Python-es: http://listas.aditel.org/archivos/python-es/ > > > > Por ejemplo, busca en Google lo siguiente: > > > > imprimir site:aditel.org > > > > Actualmente me decidi por reportlab. > > Baje los manuales y demas, pero lo que mas me ayudo fue mirar los > > ejemplos del desarrollo de pyGestor en http://pygestor.gnome.cl , > > especialmente impresion del libro diario. > > > > maram maram From acastro en ciberdroide.com Thu Oct 21 09:13:52 2004 From: acastro en ciberdroide.com (Antonio Castro) Date: Thu, 21 Oct 2004 09:13:52 +0200 (CEST) Subject: a vueltas con pymedia In-Reply-To: <4176AD5B.6040001@euskalnet.net> References: <4176AD5B.6040001@euskalnet.net> Message-ID: On Wed, 20 Oct 2004, Iñigo wrote: > Hola: > Os comenté hace unos días que había hecho una pequeña aplicación con > Python que al pulsar en un botón reproducía un fichero mp3, y que tenía > un problema porque al pulsar el botón de reproducir el control no vuelve > a la ventana, sino que se queda medio bloqueada hasta que termina la > reproducción del audio. Bueno, pues hoy he vuelto a ponerme a ver si era > capaz de arreglarlo pero no soy capaz. Os pego el código del archivo .py > (pythoncard genera dos ficheros uno con extensión.rsrc.py en el que está > el diseño físico de la interfaz y otro .py donde están las clases, > gestores de eventos y demás) por si a alguien se le ocurre la solución > al problema. > > Un saludo y gracias por adelantado. > > #!/usr/bin/python > > """ > __version__ = "$Revision: 1.10 $" > __date__ = "$Date: 2004/04/24 22:13:31 $" > """ > > from PythonCard import model > [...] > if __name__ == '__main__': > > app = model.Application(Principal) > app.MainLoop() Antes que nada decirte que no conozco nada de PythonCard y por lo tanto todo lo que te diga no dejan de ser meras intuiciones basadas en similitudes con Tkinter. En Tkinter existe un bucle 'mainloop()' donde se realiza la recogida y tratamiento de eventos. Cualquier código que se demore en retornar está interrumpiendo el tratamiento de eventos que supongo es lo mismo que te está pasando a ti. Te comento de forma muy resumida la solución que yo usé para lanzar comandos del SO desde Tkinter pero creo que la idea te servirá. class mkmt_os: def def __init__(self, root): self.root=root self.runing_LinesPopenTask=0 def LinesPopenTask(self, comando): self.runing_LinesPopenTask=1 ... fdin, fdout, fderr=os.popen3(comando, 'r') ... self.runing_LinesPopenTask=0 def WaitEndTask(self): while self.runing_LinesPopenTask: self.root.after(250) # Esperar un cuarto de segundo. self.root.update() # !! Refrescar !! def LinesPopen(self, comando): if self.runing_LinesPopenTask==1: self.Warning("Ya hay una tarea en marcha.", 2) return self.runing_LinesPopenTask=1; # Lanzamos una tarea desde un thread. # OJO: Tkinter no es reentrante. Evitar llamadas a Tkinter t = threading.Thread(target=self.LinesPopenTask, args=(comando,)) t.start() self.WaitEndTask() # Espera activa para no interrumpir el bucle # de eventos de Tkinter La solución basada en threads es bastante flexible ya que el bucle de espera no tiene porque limitarse a refrescar de vez en cuando el bucle de eventos, pero no es la única posibilidad. Tratandose de Tkinter podría haber usado un bucle con un after(delay_ms, callback, args) que termine llamandose a si mismo. (Lo que haría sería programar una llamada a si misma pasado cierto tiempo a modo de interrupción y no necesitaría update() porque ya refresca el bucle de eventos internamente.) Ignoro las posibilidades en PythonCard pero debería existir alguna forma de refrescar el bucle de eventos. -- Un saludo Antonio Castro /\ /\ \\W// _|0 0|_ +-oOOO-(___o___)-OOOo---------------------+ | . . . . U U . Antonio Castro Snurmacher | | . . . . . . . acastro en ciberdroide.com | +()()()---------()()()--------------------+ From py en ch3m4.org Thu Oct 21 09:29:37 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Thu, 21 Oct 2004 09:29:37 +0200 Subject: a vueltas con pymedia In-Reply-To: <4176AD5B.6040001@euskalnet.net> References: <4176AD5B.6040001@euskalnet.net> Message-ID: <200410210929.40669.py@ch3m4.org> On Wednesday 20 October 2004 20:24, Iñigo wrote: > Hola: > Os comenté hace unos días que había hecho una pequeña aplicación con > Python que al pulsar en un botón reproducía un fichero mp3, y que tenía > un problema porque al pulsar el botón de reproducir el control no vuelve > a la ventana, sino que se queda medio bloqueada hasta que termina la > reproducción del audio. Bueno, pues hoy he vuelto a ponerme a ver si era > capaz de arreglarlo pero no soy capaz. No he utilizado pymedia, pero por lo que cuentas (y por experiencia personal) deberías usar varios hilos de ejecución. Míra la documentación de pythoncard que tiene una buena explicación del tema: http://pythoncard.sourceforge.net/timers-threads.html Deberías tener un hilo que maneje el interface de usuario, y otro que llame a pymedia para hacer sonar el mp3. ------------ 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 pcaro en yacoi.com Thu Oct 21 09:44:08 2004 From: pcaro en yacoi.com (Pablo Caro) Date: Thu, 21 Oct 2004 09:44:08 +0200 Subject: Inicio In-Reply-To: <20041020151251.24695.qmail@web60303.mail.yahoo.com> References: <20041020151251.24695.qmail@web60303.mail.yahoo.com> Message-ID: <1098344648.1467.42.camel@condor> A mí me gusta drpython. Multiplataforma al estar desarrollado con wxwidgets. También existen paquetes para las principales distribuciones linux. Yo uso el de debian y va bien. El mié, 20-10-2004 a las 17:12, Daniel Cabrera escribió: > Hola, > que me recomendarian como IDE para empezar a programar > en Python?, la verdad es que prefereria algo asi en > vez de estar escribiendo codigo para poder hacer por > ejemplo GUI. > > Muchas gracias > > Daniel Cabrera > > _________________________________________________________ > Do You Yahoo!? > Información de Estados Unidos y América Latina, en Yahoo! Noticias. > Visítanos en http://noticias.espanol.yahoo.com > _______________________________________________ > 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 dtrillo en gmail.com Thu Oct 21 10:43:20 2004 From: dtrillo en gmail.com (david _) Date: Thu, 21 Oct 2004 10:43:20 +0200 Subject: Pregunta Message-ID: <86b8f6b90410210143724840b4@mail.gmail.com> Hola! Queria preguntar si los objetos de python tienen eventos. En ese caso, queria saber como puedo trasladas este codigo (es una clase! ) en VB a python, ya que la uso mucho, y pense que tb podria hacerlo en Pyhton. david Option Explicit ' Clase encargada de Lanzar Eventos Public Event RaisedEvent(Sender As Object, EventName As String, EventArgs As Variant, EventArgs2 As Variant) Public Sub Trigger(Sender As Object, EventName As String, EventArgs As Variant, EventArgs2 As Variant) RaiseEvent RaisedEvent(Sender, EventName, EventArgs, EventArgs2) End Sub ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From apuntesus en yahoo.com Thu Oct 21 11:26:58 2004 From: apuntesus en yahoo.com (qqq qqqq) Date: Thu, 21 Oct 2004 02:26:58 -0700 (PDT) Subject: Como imprimir algo en al impresora ? Message-ID: <20041021092658.88328.qmail@web50307.mail.yahoo.com> Al final de probar todas las cosas , me he decantado por reportlab , esta bastante bien y para lo que yo le he utilizado no he tenido ningun problema en generar el pdf , ademas tiene una documentacion bastante buena en su pagina web http://www.reportlab.org/. El problema esta a la hora de abrir el programa que lee los pdf. En Linux no hay ningun problema : os.system("gpdf " + archivo) Pero en Windows , no se como hacer para que Python abra el programa prdeterminado que lee los pdf. La unica solucion es poner la ruta del acrobat , pero aun asi no me abre el archivo pdf que le mando , me pone : " ERROR AL ABRIR EL DOCUMENTO . LA RUTA NO EXISTE " Otra cosa ,? hay alguna manera en Linux , desde python , de saber si se tiene instalado el gpdf ? __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From rapto en arrakis.es Thu Oct 21 11:34:30 2004 From: rapto en arrakis.es (=?ISO-8859-1?Q?Marcos_S=E1nchez_Provencio?=) Date: Thu, 21 Oct 2004 11:34:30 +0200 Subject: Como imprimir algo en al impresora ? In-Reply-To: <20041021092658.88328.qmail@web50307.mail.yahoo.com> References: <20041021092658.88328.qmail@web50307.mail.yahoo.com> Message-ID: <417782A6.2040501@arrakis.es> Para windows (con extensiones) import win32api #archivo es el PDF o lo que sea, lo que se imita es hacer doble clic en el explorador + o - win32api.ShellExecute(0,"open",archivo,None, "",1) qqq qqqq escribió: >Al final de probar todas las cosas , me he decantado >por reportlab , esta bastante bien y para lo que yo le >he utilizado no he tenido ningun problema en generar >el pdf , ademas tiene una documentacion bastante buena >en su pagina web http://www.reportlab.org/. > >El problema esta a la hora de abrir el programa que >lee los pdf. En Linux no hay ningun problema : > >os.system("gpdf " + archivo) > >Pero en Windows , no se como hacer para que Python >abra el programa prdeterminado que lee los pdf. > >La unica solucion es poner la ruta del acrobat , pero >aun asi no me abre el archivo pdf que le mando , me >pone : >" ERROR AL ABRIR EL DOCUMENTO . LA RUTA NO EXISTE " > >Otra cosa ,¿ hay alguna manera en Linux , desde >python , de saber si se tiene instalado el gpdf ? > > From py en ch3m4.org Thu Oct 21 11:45:46 2004 From: py en ch3m4.org (Chema =?iso-8859-15?q?Cort=E9s?=) Date: Thu, 21 Oct 2004 11:45:46 +0200 Subject: Pregunta In-Reply-To: <86b8f6b90410210143724840b4@mail.gmail.com> References: <86b8f6b90410210143724840b4@mail.gmail.com> Message-ID: <200410211145.49951.py@ch3m4.org> On Thursday 21 October 2004 10:43, david _ wrote: > Hola! > Queria preguntar si los objetos de python tienen eventos. En ese caso, > queria saber como puedo trasladas este codigo (es una clase! ) en VB a > python, ya que la uso mucho, y pense que tb podria hacerlo en Pyhton. No existe tal cosa, pero seguro que te interesa un estudio de programación orientada a eventos que puse por aquí y que estaba inspirada en los eventos de VB (tal como yo los usaba, algo nada corriente :-P ): http://listas.aditel.org/archivos/python-es/2004-March/009130.html ------------ 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 magmax9 en yahoo.es Thu Oct 21 12:05:13 2004 From: magmax9 en yahoo.es (Miguel Angel Garcia) Date: Thu, 21 Oct 2004 12:05:13 +0200 Subject: Inicio In-Reply-To: <20041020151251.24695.qmail@web60303.mail.yahoo.com> References: <20041020151251.24695.qmail@web60303.mail.yahoo.com> Message-ID: <1098353113.20155.4.camel@localhost> Aun a riesgo de parecer retro, masoca, ... Me arriesgaré a proponer GNU/Emacs como el mejor GUI para escribir lo-que-sea. Recomiendo su uso junto con ipython, que es un intérprete en línea y es MUY útil... El mié, 20-10-2004 a las 10:12 -0500, Daniel Cabrera escribió: > Hola, > que me recomendarian como IDE para empezar a programar > en Python?, la verdad es que prefereria algo asi en > vez de estar escribiendo codigo para poder hacer por > ejemplo GUI. > > Muchas gracias > > Daniel Cabrera > > _________________________________________________________ > Do You Yahoo!? > Información de Estados Unidos y América Latina, en Yahoo! Noticias. > Visítanos en http://noticias.espanol.yahoo.com > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: Esta parte del mensaje está firmada digitalmente URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From josu en ubera.net Thu Oct 21 11:55:07 2004 From: josu en ubera.net (Josu Oyanguren) Date: Thu, 21 Oct 2004 11:55:07 +0200 Subject: Como imprimir algo en al impresora ? In-Reply-To: <20041021092658.88328.qmail@web50307.mail.yahoo.com> References: <20041021092658.88328.qmail@web50307.mail.yahoo.com> Message-ID: <4177877B.8000800@ubera.net> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 En Windows puedes usar os.startfile qqq qqqq escribió: | Al final de probar todas las cosas , me he decantado | por reportlab , esta bastante bien y para lo que yo le | he utilizado no he tenido ningun problema en generar | el pdf , ademas tiene una documentacion bastante buena | en su pagina web http://www.reportlab.org/. | | El problema esta a la hora de abrir el programa que | lee los pdf. En Linux no hay ningun problema : | | os.system("gpdf " + archivo) | | Pero en Windows , no se como hacer para que Python | abra el programa prdeterminado que lee los pdf. | | La unica solucion es poner la ruta del acrobat , pero | aun asi no me abre el archivo pdf que le mando , me | pone : | " ERROR AL ABRIR EL DOCUMENTO . LA RUTA NO EXISTE " | | Otra cosa ,¿ hay alguna manera en Linux , desde | python , de saber si se tiene instalado el gpdf ? | | __________________________________________________ | Do You Yahoo!? | Tired of spam? Yahoo! Mail has the best spam protection around | http://mail.yahoo.com | | | ------------------------------------------------------------------------ | | _______________________________________________ | Python-es mailing list | Python-es en aditel.org | http://listas.aditel.org/listinfo/python-es - -- -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org iD8DBQFBd4d75ju4HVxhuqQRAl9vAKCenc6Ay3bNONySOJiwebbNMpywNACg0WZv /tOf/oqPF6R9jX5LiRJvdPE= =RSht -----END PGP SIGNATURE----- ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From pcaro en yacoi.com Thu Oct 21 13:15:44 2004 From: pcaro en yacoi.com (Pablo Caro) Date: Thu, 21 Oct 2004 13:15:44 +0200 Subject: Pregunta In-Reply-To: <86b8f6b90410210143724840b4@mail.gmail.com> References: <86b8f6b90410210143724840b4@mail.gmail.com> Message-ID: <1098357344.20552.0.camel@condor> Quizá te interese este proyecto: http://vb2py.sourceforge.net/ El jue, 21-10-2004 a las 10:43, david _ escribió: > Hola! > Queria preguntar si los objetos de python tienen eventos. En ese caso, > queria saber como puedo trasladas este codigo (es una clase! ) en VB a > python, ya que la uso mucho, y pense que tb podria hacerlo en Pyhton. > > david > > > > Option Explicit > ' Clase encargada de Lanzar Eventos > > Public Event RaisedEvent(Sender As Object, EventName As String, > EventArgs As Variant, EventArgs2 As Variant) > > Public Sub Trigger(Sender As Object, EventName As String, EventArgs As > Variant, EventArgs2 As Variant) > RaiseEvent RaisedEvent(Sender, EventName, EventArgs, EventArgs2) > End Sub > > ______________________________________________________________________ > _______________________________________________ > 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 dtrillo en gmail.com Thu Oct 21 13:34:08 2004 From: dtrillo en gmail.com (david _) Date: Thu, 21 Oct 2004 13:34:08 +0200 Subject: =?iso-8859-1?q?Re=3A_Resumen_de_Python-es=2C_Vol_270?= =?iso-8859-1?q?=2C_Env=EDo_36?= In-Reply-To: <20041021111416.87398143EAB1@devnull.aditel.org> References: <20041021111416.87398143EAB1@devnull.aditel.org> Message-ID: <86b8f6b904102104343ff11d32@mail.gmail.com> Total, que parece que voy a tener que cambiar mi forma de programar para Python, no? david > > Message: 6 > Date: Thu, 21 Oct 2004 11:45:46 +0200 > From: Chema Cortés > Subject: Re: [Python-es] Pregunta > To: La lista de python en castellano > Message-ID: <200410211145.49951.py en ch3m4.org> > Content-Type: text/plain; charset="iso-8859-15" > > On Thursday 21 October 2004 10:43, david _ wrote: > > Hola! > > Queria preguntar si los objetos de python tienen eventos. En ese caso, > > queria saber como puedo trasladas este codigo (es una clase! ) en VB a > > python, ya que la uso mucho, y pense que tb podria hacerlo en Pyhton. > > No existe tal cosa, pero seguro que te interesa un estudio de programación > orientada a eventos que puse por aquí y que estaba inspirada en los eventos > de VB (tal como yo los usaba, algo nada corriente :-P ): > From py en ch3m4.org Thu Oct 21 14:16:59 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Thu, 21 Oct 2004 14:16:59 +0200 Subject: Resumen de Python-es, Vol 270, =?iso-8859-1?q?Env=EDo?= 36 In-Reply-To: <86b8f6b904102104343ff11d32@mail.gmail.com> References: <20041021111416.87398143EAB1@devnull.aditel.org> <86b8f6b904102104343ff11d32@mail.gmail.com> Message-ID: <200410211417.02570.py@ch3m4.org> On Thursday 21 October 2004 13:34, david _ wrote: > Total, que parece que voy a tener que cambiar mi forma de programar > para Python, no? Hay un viejo dicho que dice que "un buen programador sabe programar en FORTRAN con cualquier lenguaje" En tu caso puedes cambiar FORTRAN por BASIC :-D ------------ 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 Thu Oct 21 14:21:47 2004 From: lcatalin en siadv.com (Catalin Lungu) Date: Thu, 21 Oct 2004 14:21:47 +0200 Subject: Sobre listas Message-ID: <02a301c4b768$89415ae0$d900a8c0@catalin> Hola, Me pueden decir por que lst coge el valor None. lst = [1,2,3,4,5,6,7,8,9] lst = lst[3:].reverse() Gracias. From py en ch3m4.org Thu Oct 21 14:37:16 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Thu, 21 Oct 2004 14:37:16 +0200 Subject: Sobre listas In-Reply-To: <02a301c4b768$89415ae0$d900a8c0@catalin> References: <02a301c4b768$89415ae0$d900a8c0@catalin> Message-ID: <200410211437.19136.py@ch3m4.org> On Thursday 21 October 2004 14:21, Catalin Lungu wrote: > Me pueden decir por que lst coge el valor None. > > lst = [1,2,3,4,5,6,7,8,9] > lst = lst[3:].reverse() El método .reverse no propaga el resultado. Actúa "in situ", pero no devuelve nada. (¡Ojo!, hay alguno más como .sort) ------------ 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 falted en pytables.org Thu Oct 21 14:40:34 2004 From: falted en pytables.org (Francesc Alted) Date: Thu, 21 Oct 2004 14:40:34 +0200 Subject: Sobre listas In-Reply-To: <02a301c4b768$89415ae0$d900a8c0@catalin> References: <02a301c4b768$89415ae0$d900a8c0@catalin> Message-ID: <200410211440.34938.falted@pytables.org> Pues ya te lo ha dicho Chema. Tienes que usar una variable temporal: In [38]: lst = [1,2,3,4,5,6,7,8,9] In [39]: tmp=lst[3:] In [40]: tmp.reverse() In [41]: tmp Out[41]: [9, 8, 7, 6, 5, 4] Saludos, A Dijous 21 Octubre 2004 14:21, Catalin Lungu va escriure: > Hola, > > Me pueden decir por que lst coge el valor None. > > lst = [1,2,3,4,5,6,7,8,9] > lst = lst[3:].reverse() > > Gracias. > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > > -- Francesc Alted From FBatista en uniFON.com.ar Thu Oct 21 14:41:48 2004 From: FBatista en uniFON.com.ar (Batista, Facundo) Date: Thu, 21 Oct 2004 09:41:48 -0300 Subject: Sobre listas Message-ID: [Francesc Alted] #- Pues ya te lo ha dicho Chema. Tienes que usar una variable temporal: #- #- In [38]: lst = [1,2,3,4,5,6,7,8,9] #- #- In [39]: tmp=lst[3:] #- #- In [40]: tmp.reverse() #- #- In [41]: tmp #- Out[41]: [9, 8, 7, 6, 5, 4] #- #- Saludos, #- #- A Dijous 21 Octubre 2004 14:21, Catalin Lungu va escriure: #- > Hola, #- > #- > Me pueden decir por que lst coge el valor None. #- > #- > lst = [1,2,3,4,5,6,7,8,9] #- > lst = lst[3:].reverse() #- > Bueno, tampoco hace falta una variable temporal: >>> lst = [1,2,3,4,5,6,7,8,9] >>> lst [1, 2, 3, 4, 5, 6, 7, 8, 9] >>> lst = lst[3:] >>> lst [4, 5, 6, 7, 8, 9] >>> lst.reverse() >>> lst [9, 8, 7, 6, 5, 4] >>> . Facundo From py en ch3m4.org Thu Oct 21 15:01:47 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Thu, 21 Oct 2004 15:01:47 +0200 Subject: Sobre listas In-Reply-To: References: Message-ID: <200410211501.50527.py@ch3m4.org> On Thursday 21 October 2004 14:41, Batista, Facundo wrote: > Bueno, tampoco hace falta una variable temporal: Y si nos ponemos críticos, es que no hace falta ni el .reverse >>> lst = [1,2,3,4,5,6,7,8,9] >>> lst = lst[3:][::-1] >>> lst [9, 8, 7, 6, 5, 4] Más abreviado: >>> lst = lst[:2:-1] ------------ 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 FBatista en uniFON.com.ar Thu Oct 21 15:06:24 2004 From: FBatista en uniFON.com.ar (Batista, Facundo) Date: Thu, 21 Oct 2004 10:06:24 -0300 Subject: Sobre listas Message-ID: [Chema Cortés] #- On Thursday 21 October 2004 14:41, Batista, Facundo wrote: #- #- > Bueno, tampoco hace falta una variable temporal: #- #- Y si nos ponemos críticos, es que no hace falta ni el .reverse #- #- >>> lst = [1,2,3,4,5,6,7,8,9] #- >>> lst = lst[3:][::-1] #- >>> lst #- [9, 8, 7, 6, 5, 4] #- #- Más abreviado: #- >>> lst = lst[:2:-1] A menos que estés interesado en la velocidad: >>> tslice = timeit.Timer(stmt="lst[::-1]", setup="lst = [4,5,6,7,8,9]") >>> tslice.timeit() 0.8081895883415342 >>> trever = timeit.Timer(stmt="lst.reverse()", setup="lst = [4,5,6,7,8,9]") >>> trever.timeit() 0.28939963039995575 Slds. . Facundo From pabloreysobral en gmail.com Thu Oct 21 15:40:40 2004 From: pabloreysobral en gmail.com (Pablo Rey Sobral) Date: Thu, 21 Oct 2004 15:40:40 +0200 Subject: Pregunta In-Reply-To: <86b8f6b90410210143724840b4@mail.gmail.com> References: <86b8f6b90410210143724840b4@mail.gmail.com> Message-ID: <4c01c85a04102106402fd35c3d@mail.gmail.com> Bueno, quizás no es lo que buscas. En wxPython, en el demo hay un apartado sobre eventos y threads. No lo he llegado a ver por completo pero quizás te interese. Un saludo. On Thu, 21 Oct 2004 10:43:20 +0200, david _ wrote: > Hola! > Queria preguntar si los objetos de python tienen eventos. En ese caso, > queria saber como puedo trasladas este codigo (es una clase! ) en VB a > python, ya que la uso mucho, y pense que tb podria hacerlo en Pyhton. > > david > > Option Explicit > ' Clase encargada de Lanzar Eventos > > Public Event RaisedEvent(Sender As Object, EventName As String, > EventArgs As Variant, EventArgs2 As Variant) > > Public Sub Trigger(Sender As Object, EventName As String, EventArgs As > Variant, EventArgs2 As Variant) > RaiseEvent RaisedEvent(Sender, EventName, EventArgs, EventArgs2) > End Sub > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > > > From lcatalin en siadv.com Thu Oct 21 18:19:24 2004 From: lcatalin en siadv.com (Catalin Lungu) Date: Thu, 21 Oct 2004 18:19:24 +0200 Subject: Sobre listas References: <200410211501.50527.py@ch3m4.org> Message-ID: <003001c4b789$bb0b0280$d900a8c0@catalin> Lo que quería es lst = lst[::-1] pero si que me interesa la velocidad, entonces usare el reverse. Gracias a todos. ----- Original Message ----- From: "Chema Cortés" To: "La lista de python en castellano" Sent: Thursday, October 21, 2004 3:01 PM Subject: Re: [Python-es] Sobre listas _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From apuntesus en yahoo.com Thu Oct 21 18:41:15 2004 From: apuntesus en yahoo.com (qqq qqqq) Date: Thu, 21 Oct 2004 09:41:15 -0700 (PDT) Subject: Como imprimir algo en al impresora Message-ID: <20041021164115.13550.qmail@web50310.mail.yahoo.com> >Para windows (con extensiones) > import win32api > #archivo es el PDF o lo que sea, lo que se imita es >hacer doble >clic >en el explorador + o - > win32api.ShellExecute(0,"open",archivo,None, "",1) Gracias !! , es lo que queria , funciona perfectamente. __________________________________ Do you Yahoo!? Yahoo! Mail - Helps protect you from nasty viruses. http://promotions.yahoo.com/new_mail ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From vitojph en gmail.com Thu Oct 21 20:24:00 2004 From: vitojph en gmail.com (Victor Peinado) Date: Thu, 21 Oct 2004 11:24:00 -0700 Subject: =?iso-8859-1?q?Ordenar_diccionario_seg=FAn_valores?= =?iso-8859-1?q?=2E?= Message-ID: ¡Hola a todos! ¿Cómo puedo ordenar un diccionario atendiendo a los valores? Se me ha ocurrido copiar el diccionario en otro nuevo, substituyendo los valores del primero por tuplas (valor, clave) en el segundo, funciona pero es un poco artificial. Seguro que hay una forma más sencilla. ¿Alguna idea? Gracias de antemano. Tened en cuenta que los valores no tienen por qué se únicos, las claves sí. -- Víctor Peinado || || http://ieqo.org/blog From morillas en posta.unizar.es Thu Oct 21 20:31:08 2004 From: morillas en posta.unizar.es (luis miguel morillas) Date: Thu, 21 Oct 2004 20:31:08 +0200 Subject: Ordenar =?iso-8859-1?Q?dic?= =?iso-8859-1?Q?cionario_seg=FAn?= valores . In-Reply-To: References: Message-ID: <20041021183108.GA2828@marmota> Asunto: [Python-es] Ordenar diccionario según valores . Fecha: jue, oct 21, 2004 at 11:24:00 -0700 Citando a Victor Peinado (vitojph en gmail.com): > ¡Hola a todos! > > ¿Cómo puedo ordenar un diccionario atendiendo a los valores? > Ordena sus claves en una lista según el criterio que te interese. > Se me ha ocurrido copiar el diccionario en otro nuevo, substituyendo > los valores del primero por tuplas (valor, clave) en el segundo, > funciona pero es un poco artificial. Seguro que hay una forma más > sencilla. ¿Alguna idea? Gracias de antemano. > > Tened en cuenta que los valores no tienen por qué se únicos, las claves sí. > > -- > Víctor Peinado || || http://ieqo.org/blog > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es -- Luis Miguel No a las patentes de software en Europa EuropeSwPatentFree http://EuropeSwPatentFree.hispalinux.es From FBatista en uniFON.com.ar Thu Oct 21 20:43:17 2004 From: FBatista en uniFON.com.ar (Batista, Facundo) Date: Thu, 21 Oct 2004 15:43:17 -0300 Subject: =?iso-8859-1?Q?RE=3A_=5BPython-es=5D_Ordenar_diccionario_seg=FA?= =?iso-8859-1?Q?n_valores=2E?= Message-ID: [Victor Peinado] #- ¿Cómo puedo ordenar un diccionario atendiendo a los valores? #- #- Se me ha ocurrido copiar el diccionario en otro nuevo, substituyendo #- los valores del primero por tuplas (valor, clave) en el segundo, #- funciona pero es un poco artificial. Seguro que hay una forma más #- sencilla. ¿Alguna idea? Gracias de antemano. Un diccionario, por definición, no tiene órden (por lo tanto no lo puedes ordenar generando otro diccionario): >>> d = {'a':3, 'b':7, 'c':5} >>> d {'a': 3, 'c': 5, 'b': 7} Lo que tienes que hacer es generar una lista con los valores del diccionario: >>> l = d.items() >>> l [('a', 3), ('c', 5), ('b', 7)] y luego ordenar por lo que te interese: >>> l.sort() >>> l [('a', 3), ('b', 7), ('c', 5)] >>> l.sort(key=lambda x: x[1]) >>> l [('a', 3), ('c', 5), ('b', 7)] Notá que la última expresión es válida a partir de Py2.4. Si no puedes actualizar tu Python puedes usar lo siguiente (que es más lento): >>> l.sort(lambda x,y:cmp(x[1], y[1])) >>> l [('a', 3), ('c', 5), ('b', 7)] Saludos. . Facundo From arn_python en yahoo.com.ar Thu Oct 21 22:21:00 2004 From: arn_python en yahoo.com.ar (Ariel Nardelli) Date: Thu, 21 Oct 2004 17:21:00 -0300 Subject: La X para cerrar ventanas.. Message-ID: <41781A2C.5090807@yahoo.com.ar> Hola! Vieron que todas las ventanas tienen una X que es para cerrarlas no? bueno por un lado quiero poder "Detectar" que me pulstaron la X para antes de cerrar realizar algunos procedimientos y despues cerrar yo... Y por otro lado quiero en los forularios que son declardados como hijos MDI que se declaran asi wxMDIChildFrame quiero que cuando se me abren dentro del formulario hijo me exista la X por que ahora me pone el nombre del formulario pero no me pone la X para cerrarlo, entonces quiero que me apazca y por supu si se puede tener que cuando se pulsa la X poder tomar el control para cerrar algunas cosas antes de que se cierre el formulario... Se entiende lo que necesito o me explique muy mal? Ariel From vitojph en gmail.com Thu Oct 21 22:47:02 2004 From: vitojph en gmail.com (Victor Peinado) Date: Thu, 21 Oct 2004 13:47:02 -0700 Subject: =?ISO-8859-1?Q?Re:__Ordenar_diccionario_seg=FA_n_valores.?= In-Reply-To: References: Message-ID: On Thu, 21 Oct 2004 15:43:17 -0300, Batista, Facundo wrote: > [Victor Peinado] > Un diccionario, por definición, no tiene órden (por lo tanto no lo puedes > ordenar generando otro diccionario): Ya, ya lo sé. En realidad lo que hacía era ordenar las claves del nuevo diccionario y recorrerlo. Un poco raro, lo sé :-) > Lo que tienes que hacer es generar una lista con los valores del > diccionario: > > >>> l = d.items() > >>> l > [('a', 3), ('c', 5), ('b', 7)] > > y luego ordenar por lo que te interese: > > >>> l.sort() > >>> l > [('a', 3), ('b', 7), ('c', 5)] > >>> l.sort(key=lambda x: x[1]) > >>> l > [('a', 3), ('c', 5), ('b', 7)] Al final lo que estba ordenando era tuplas de este tipo, pero haciendo el tonto con un diccionario en lugar de hacerlo en una lista directamente. Muchas gracias por la explicación. Saludos. -- Víctor Peinado || || http://ieqo.org/blog From morillas en posta.unizar.es Thu Oct 21 22:54:17 2004 From: morillas en posta.unizar.es (luis miguel morillas) Date: Thu, 21 Oct 2004 22:54:17 +0200 Subject: Ordenar =?iso-8859-1?Q?dic?= =?iso-8859-1?Q?cionario_seg=FA?= n valores. In-Reply-To: References: Message-ID: <20041021205417.GA3396@marmota> Asunto: Re: [Python-es] Ordenar diccionario segú n valores. Fecha: jue, oct 21, 2004 at 01:47:02 -0700 Citando a Victor Peinado (vitojph en gmail.com): > On Thu, 21 Oct 2004 15:43:17 -0300, Batista, Facundo unifon.com.ar> wrote: > > [Victor Peinado] > > > Un diccionario, por definición, no tiene órden (por lo tanto no lo puedes > > ordenar generando otro diccionario): > > Ya, ya lo sé. En realidad lo que hacía era ordenar las claves del > nuevo diccionario y recorrerlo. Un poco raro, lo sé :-) > No,no es raro. También hay un módulo que implementa un diccionario ordenado [1], pero no lo he utilizado nunca. Sí que he usado a veces (orientados a la persistencia) los BTrees de zodb. [1] http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/107747 > > Lo que tienes que hacer es generar una lista con los valores del > > diccionario: > > > > >>> l = d.items() > > >>> l > > [('a', 3), ('c', 5), ('b', 7)] > > > > y luego ordenar por lo que te interese: > > > > >>> l.sort() > > >>> l > > [('a', 3), ('b', 7), ('c', 5)] > > >>> l.sort(key=lambda x: x[1]) > > >>> l > > [('a', 3), ('c', 5), ('b', 7)] > > Al final lo que estba ordenando era tuplas de este tipo, pero haciendo > el tonto con un diccionario en lugar de hacerlo en una lista > directamente. Muchas gracias por la explicación. > > Saludos. > > > > -- > Víctor Peinado || || http://ieqo.org/blog > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es -- Luis Miguel No a las patentes de software en Europa EuropeSwPatentFree http://EuropeSwPatentFree.hispalinux.es From arn_python en yahoo.com.ar Thu Oct 21 22:56:33 2004 From: arn_python en yahoo.com.ar (Ariel Nardelli) Date: Thu, 21 Oct 2004 17:56:33 -0300 Subject: Saber la cantidad de filas.. Message-ID: <41782281.6070606@yahoo.com.ar> Hola! Tengo una consulta sql que me devuelve los resultados en una tupla la cual yo despues hago distintos procesos. La pregunta es como yo puedo saber la cantidad de filas que tiene esa tupla que casualmente es a veces la cantidad de registros que me devuelve la consulta sql, pero no puedo hacer un count en el sql por que me vienen varios datos meazclados y es complejo sacarlo por un count... Entonces quiero contar ya las filas que tiene ya la tupla, alguien sabe como se hace eso? Gracias, Aruiel From pabloreysobral en gmail.com Thu Oct 21 23:13:07 2004 From: pabloreysobral en gmail.com (Pablo Rey Sobral) Date: Thu, 21 Oct 2004 23:13:07 +0200 Subject: Saber la cantidad de filas.. In-Reply-To: <41782281.6070606@yahoo.com.ar> References: <41782281.6070606@yahoo.com.ar> Message-ID: <4c01c85a041021141344a7fb2d@mail.gmail.com> Hola, El cursor.execute(sql) te devuelve el número de filas afectadas por la consulta. El tamaño de una tupla se mide con len(t), donde t es la tupla. Un saludo. From lcatalin en siadv.com Fri Oct 22 09:25:08 2004 From: lcatalin en siadv.com (Catalin Lungu) Date: Fri, 22 Oct 2004 09:25:08 +0200 Subject: La X para cerrar ventanas.. References: <41781A2C.5090807@yahoo.com.ar> Message-ID: <003201c4b808$53d23230$d900a8c0@catalin> Hola, 1. En el evento EVT_CLOSE puedes hacer las comprobaciones. 2. Pon el estilo wxSYSTEM_MENU o wxDEFAULT_FRAME_STYLE para que te salga la X. Original Message ----- From: "Ariel Nardelli" To: Sent: Thursday, October 21, 2004 10:21 PM Subject: [Python-es] La X para cerrar ventanas.. > Hola! > Vieron que todas las ventanas tienen una X que es para cerrarlas no? bueno > por un lado quiero poder "Detectar" que me pulstaron la X para antes de > cerrar realizar algunos procedimientos y despues cerrar yo... > > Y por otro lado quiero en los forularios que son declardados como hijos > MDI que se declaran asi wxMDIChildFrame quiero que cuando se me abren > dentro del formulario hijo me exista la X por que ahora me pone el nombre > del formulario pero no me pone la X para cerrarlo, entonces quiero que me > apazca y por supu si se puede tener que cuando se pulsa la X poder tomar > el control para cerrar algunas cosas antes de que se cierre el > formulario... > Se entiende lo que necesito o me explique muy mal? > > Ariel > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From py en ch3m4.org Fri Oct 22 10:20:34 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Fri, 22 Oct 2004 10:20:34 +0200 Subject: Sobre listas In-Reply-To: References: Message-ID: <200410221020.38811.py@ch3m4.org> On Thursday 21 October 2004 15:06, Batista, Facundo wrote: > A menos que estés interesado en la velocidad: > >>> tslice = timeit.Timer(stmt="lst[::-1]", setup="lst = [4,5,6,7,8,9]") > >>> tslice.timeit() > > 0.8081895883415342 > > >>> trever = timeit.Timer(stmt="lst.reverse()", setup="lst = > >>> [4,5,6,7,8,9]") trever.timeit() > > 0.28939963039995575 En cambio: >>> tslice=timeit.Timer(stmt="temp=lst[3:];temp.reverse()", setup="lst = [1,2,3,4,5,6,7,8,9]") >>> tslice.timeit() 1.0246992111206055 >>> tslice=timeit.Timer(stmt="temp=lst[:2:-1]", setup="lst = [1,2,3,4,5,6,7,8,9]") >>> tslice.timeit() 0.9257819652557373 El cuello de botella está en el "slice". ------------ 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 py en ch3m4.org Fri Oct 22 10:33:13 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Fri, 22 Oct 2004 10:33:13 +0200 Subject: Saber la cantidad de filas.. In-Reply-To: <4c01c85a041021141344a7fb2d@mail.gmail.com> References: <41782281.6070606@yahoo.com.ar> <4c01c85a041021141344a7fb2d@mail.gmail.com> Message-ID: <200410221033.16541.py@ch3m4.org> On Thursday 21 October 2004 23:13, Pablo Rey Sobral wrote: > El cursor.execute(sql) te devuelve el número de filas afectadas por la > consulta. La DB-API2 deja sin determinar el valor de retorno de .execute Por seguridad, se debería emplear siempre el atributo .rowcount del cursor ------------ 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 hsantos78 en yahoo.es Fri Oct 22 17:16:22 2004 From: hsantos78 en yahoo.es (Hector Santos) Date: Fri, 22 Oct 2004 17:16:22 +0200 (CEST) Subject: Preguntas frecuentes y pasadas Message-ID: <20041022151622.40658.qmail@web41129.mail.yahoo.com> Hay alguna lista recopilando preguntas frecuentes que se han hecho en esta lista? Me gustaria poder hacer busquedas sobre algun tema en el repositorio de mensajes de esta lista. Como le hago? Espero que me entiendan. A veces tengo preguntas sencillas que me imagino ya las han hecho y contestado con anterioridad. ______________________________________________ Renovamos el Correo Yahoo!: ¡100 MB GRATIS! Nuevos servicios, más seguridad http://correo.yahoo.es From sergio en s3r.com.ar Fri Oct 22 17:27:55 2004 From: sergio en s3r.com.ar (=?ISO-8859-1?Q?Sergio_G=F3mez?=) Date: Fri, 22 Oct 2004 12:27:55 -0300 Subject: Preguntas frecuentes y pasadas In-Reply-To: <20041022151622.40658.qmail@web41129.mail.yahoo.com> References: <20041022151622.40658.qmail@web41129.mail.yahoo.com> Message-ID: <417926FB.3060203@s3r.com.ar> Hector Santos wrote: > Hay alguna lista recopilando preguntas frecuentes que > se han hecho en esta lista? Me gustaria poder hacer > busquedas sobre algun tema en el repositorio de > mensajes de esta lista. Como le hago? Espero que me > entiendan. A veces tengo preguntas sencillas que me > imagino ya las han hecho y contestado con > anterioridad. Para buscar sobre un tema específico de la lista podes poner en google: "tu_tema" site:http://listas.aditel.org -- Sergio Gómez - S3R La Plata, Buenos Aires, Argentina -- From nan_lo2001 en yahoo.com Fri Oct 22 17:35:19 2004 From: nan_lo2001 en yahoo.com (Nan loz) Date: Fri, 22 Oct 2004 08:35:19 -0700 (PDT) Subject: seleccionando valores de diccionario Message-ID: <20041022153519.79803.qmail@web21201.mail.yahoo.com> Estuve unos dias fuera y no habia dado las gracias por la ayuda!!! Tengo que confesar que ensaye todas las opciones que me dieron todos (MIL GRACIAS) y la que mas me impresiono fue la opcion de Chema usando sets. La opcion MAS "purista" es impresionante pero un poco incomprensible todavia para mi que estoy empezando :) Alguien me puede indicar donde puedo leer un poco del funcionamiento de los sets? Gracias de nuevo. Nancy > Una alternativa algo m?s purista con sets (esta es su especialidad :-) > > from sets import Set > print Set([p['numero'] for p in prost]) > > > De momento necesita dos l?neas, pero no ser? por mucho tiempo (en python > 2.4 los sets ser?n tipos de datos "builtins"). >.Acabo de recordar una alternativa m?s extra?a e incomprensible, pero capazde hacerlo en un s?lo paso: print [p["numero"] for p in prost if p['numero'] not in locals()["_[1]"].__self__] _______________________________ Do you Yahoo!? Declare Yourself - Register online to vote today! http://vote.yahoo.com ------------ 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 Sat Oct 23 07:24:21 2004 From: cescd en yahoo.com.mx (Cesar Cardenas Desales) Date: Sat, 23 Oct 2004 00:24:21 -0500 (CDT) Subject: Inicio In-Reply-To: <41768652.5000404@phreaker.net> References: <41768652.5000404@phreaker.net> Message-ID: <20041023052421.41640.qmail@web50409.mail.yahoo.com> Yo exijo(o suplico, lo que tú quieras) también mi cuenta de GMail --- Ninrauzer escribió: > yooooooo quiero una ..... > > Gracias ;D > > Pablo Rey Sobral escribió: > > >Hola, > > > >Yo estoy usando boa-constructor > (boa-constructor.sourceforge.net), con > >wxPython y me gusta, viendo de VB6, aunque no he > probado en > >profundidad otros. > > > >Un saludo. > > > >OT: Por cierto tengo 4 invitaciones para gmail. Si > alguien quiere, que > >me mande un mensaje. > > > > > >------------------------------------------------------------------------ > > > >_______________________________________________ > >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 > _________________________________________________________ Do You Yahoo!? La mejor conexión a internet y 25MB extra a tu correo por $100 al mes. http://net.yahoo.com.mx From abuyo en earcon.com Fri Oct 22 23:39:48 2004 From: abuyo en earcon.com (=?ISO-8859-1?Q?Albert_Buy=F3?=) Date: Fri, 22 Oct 2004 17:39:48 -0400 Subject: verificar enteros Message-ID: <41797E24.3030208@earcon.com> Hola, buenas, quisiera saber si hay alguna función para hacer directamente una conversión de un string a long, pero sin que de el error si este string no es convertible , o sea : a="pepito" b=long(a) ---> error solucion (con excepciones) a="pepito" try: b=long(a) except: pass pero, hay algo tipo: a="pepito" if "is_number(a)": b=long(a) ? Gracias y saludos Albert From rosana en dccia.ua.es Fri Oct 22 20:47:17 2004 From: rosana en dccia.ua.es (rosana) Date: Fri, 22 Oct 2004 20:47:17 +0200 Subject: paso por valor y paso por referencia Message-ID: <200410221848.i9MIlf609361@dccia.ua.es> Tengo una duda sobre Python y quién mejor que vosotros para que me saquéis de ella... Os cuento: En todas partes nos dicen que en Python el paso de parámetros se hace por referencia, y así es, lo que pasa es que si dentro de la función se intenta hacer una modificación (mediante una asignación) a un parámetro formal, lo que hace Python es crear una copia de dicha variable y hace el cambio sobre ésta, por lo que el cambio no se realiza realmente en el parámetro real. En el caso de las listas, por ejemplo, el manual dice que si los cambios se realizan mediante "métodos" de la clase lista, no se realiza esa copia y por tanto el cambio sí que se realiza sobre el parámetro real. La pregunta es ¿y cómo paso un entero, por ejemplo, por referencia? Seguro que pregunto una tontería pero si alguno se ha pegado ya con esto le agradeceré la ayuda... Un saludo y gracias. Pablo. From hernan en orgmf.com.ar Sat Oct 23 11:39:31 2004 From: hernan en orgmf.com.ar (=?iso-8859-1?Q?Hernan_Mart=EDnez_Foffani?=) Date: Sat, 23 Oct 2004 11:39:31 +0200 Subject: verificar enteros In-Reply-To: <41797E24.3030208@earcon.com> References: <41797E24.3030208@earcon.com> Message-ID: [Albert Buyó] > pero, hay algo tipo: > > a="pepito" > if "is_number(a)": b=long(a) > > ? Sí. >>> a = "230420394023940249249329432" >>> if a.isdigit(): b=int(a) ... >>> b 230420394023940249249329432L >>> Saludos, -H. From hernan en orgmf.com.ar Sat Oct 23 12:14:54 2004 From: hernan en orgmf.com.ar (=?iso-8859-1?Q?Hernan_Mart=EDnez_Foffani?=) Date: Sat, 23 Oct 2004 12:14:54 +0200 Subject: paso por valor y paso por referencia In-Reply-To: <200410221848.i9MIlf609361@dccia.ua.es> References: <200410221848.i9MIlf609361@dccia.ua.es> Message-ID: > Os cuento: En todas partes nos dicen que en Python el paso de > parámetros se hace por referencia, y así es, lo que pasa es que si > dentro de la función se intenta hacer una modificación (mediante una > asignación) a un parámetro formal, lo que hace Python es crear una > copia de dicha variable y hace el cambio sobre ésta, por lo que el > cambio no se realiza realmente en el parámetro real. En el caso de > las listas, por ejemplo, el manual dice que si los cambios se > realizan mediante "métodos" de la clase lista, no se realiza esa > copia y por tanto el cambio sí que se realiza sobre el parámetro > real. La pregunta es ¿y cómo paso un entero, por ejemplo, por > referencia? Python *siempre* pasa objetos por referencia. Nunca utiliza parámetros por valor. Generalizar este concepto a todo el entorno es una ventaja para la programación orientada a objetos (por ej, al modificar el atributo "altura" a una instancia de Persona todos los que "apunten" a esa instancia podrán usar la modificacion en forma automatica.) Por otro lado para la programación "normal" sería un lío si alguna funcion modificara el valor de la instancia "5" y todo en el resto del programa cada instancia paso a ser un 42. Python mantiene el "todo por referencias" y agrega el concepto de objetos mutables e inmutables. Los tipos de datos (ej. los escalares) que en otros lenguajes se pasarían por valor en python son inmutables. La inmutabilidad de un tipo de datos en python implica que cualquier operación sobre una instancia de ese tipo que modifique alguno de sus atributos genera automagicamente una copia preservando el original. >>> c 3030232430294L >>> def f(n): ... return n ... >>> f(c) 3030232430294L >>> id(c) 8102952 >>> id(f(c)) 8102952 pero: >>> def f2(n): ... return n+0 ... >>> f2(c) 3030232430294L >>> id(f2(c)) 8102712 Espero te haya ayudado. -H. From ch3m4 en ch3m4.org Sat Oct 23 14:23:56 2004 From: ch3m4 en ch3m4.org (ch3m4 en ch3m4.org) Date: Sat, 23 Oct 2004 08:23:56 -0400 Subject: seleccionando valores de diccionario In-Reply-To: <20041022153519.79803.qmail@web21201.mail.yahoo.com> References: <20041022153519.79803.qmail@web21201.mail.yahoo.com> Message-ID: <1098534236.417a4d5c57e5b@ch3m4.org> Mensaje citado por Nan loz : > Alguien me puede indicar donde puedo leer un poco del > funcionamiento de los sets? Toda la documentación que necesitas está en la documentación de python. Busca el módulo 'sets' (versión de python >=2.3). A partir de la versión 2.4 será un tipo de dato más, con lo que vendrá junto con el resto de tipos. From acastro en ciberdroide.com Sat Oct 23 20:40:29 2004 From: acastro en ciberdroide.com (Antonio Castro) Date: Sat, 23 Oct 2004 20:40:29 +0200 (CEST) Subject: paso por valor y paso por referencia In-Reply-To: References: Message-ID: On Sat, 23 Oct 2004, Hernan Martínez Foffani wrote: > > Os cuento: En todas partes nos dicen que en Python el paso de > > parámetros se hace por referencia, y así es, lo que pasa es que si > > dentro de la función se intenta hacer una modificación (mediante una > > asignación) a un parámetro formal, lo que hace Python es crear una > > copia de dicha variable y hace el cambio sobre ésta, por lo que el > > cambio no se realiza realmente en el parámetro real. En el caso de > > las listas, por ejemplo, el manual dice que si los cambios se > > realizan mediante "métodos" de la clase lista, no se realiza esa > > copia y por tanto el cambio sí que se realiza sobre el parámetro > > real. La pregunta es ¿y cómo paso un entero, por ejemplo, por > > referencia? > > Python *siempre* pasa objetos por referencia. Nunca utiliza > parámetros por valor. > > Generalizar este concepto a todo el entorno es una ventaja para la > programación orientada a objetos (por ej, al modificar el atributo > "altura" a una instancia de Persona todos los que "apunten" a esa > instancia podrán usar la modificacion en forma automatica.) Es cierto. En realidad en C hay que hacer un continuo seguimiento de punteros cuando se programa para asegurarse de que uno esta haciendo lo que realmente quiere hacer. Python resulta mucho más intuitivo y legible. En definitiva más humano. > Por otro lado para la programación "normal" sería un lío si alguna > funcion modificara el valor de la instancia "5" y todo en el resto > del programa cada instancia paso a ser un 42. > > Python mantiene el "todo por referencias" y agrega el concepto de > objetos mutables e inmutables. > Los tipos de datos (ej. los escalares) que en otros lenguajes se > pasarían por valor en python son inmutables. > La inmutabilidad de un tipo de datos en python implica que cualquier > operación sobre una instancia de ese tipo que modifique alguno > de sus atributos genera automagicamente una copia preservando el > original. > > >>> c > 3030232430294L > >>> def f(n): > ... return n > ... > >>> f(c) > 3030232430294L > >>> id(c) > 8102952 > >>> id(f(c)) > 8102952 > > pero: > > >>> def f2(n): > ... return n+0 > ... > >>> f2(c) > 3030232430294L > >>> id(f2(c)) > 8102712 Tal como yo lo veo, desaparece es el clásico concepto de variable como contenedor de valores y el concepto de constante. Ambos se implementan con objetos. >>> id(888) 135589468 >>> c=888 >>> id(c) 135589468 >>> c=777 >>> id(c) 135589516 Engaña un poco porque el identificador de la mal llamada variable no cambia pero despues de la asignación ya no es la misma. No solo cambia su contenido, cambia el objeto en si. Realmente rompe un mónton de esquemas para aquellos que llevamos ya unos añitos trabajando con otros lenguajes como el C. Quizás sea una forma ineficiente de interpretar código, pero este coste ya resulta despreciable para un montón de aplicaciones dada la velocidad de proceso de los ordenadores actuales. -- Un saludo Antonio Castro /\ /\ \\W// _|0 0|_ +-oOOO-(___o___)-OOOo---------------------+ | . . . . U U . Antonio Castro Snurmacher | | . . . . . . . acastro en ciberdroide.com | +()()()---------()()()--------------------+ From ch3m4 en ch3m4.org Sat Oct 23 21:33:25 2004 From: ch3m4 en ch3m4.org (ch3m4 en ch3m4.org) Date: Sat, 23 Oct 2004 15:33:25 -0400 Subject: paso por valor y paso por referencia In-Reply-To: References: Message-ID: <1098560005.417ab2055303f@ch3m4.org> Mensaje citado por Antonio Castro : > Tal como yo lo veo, desaparece es el clásico concepto de variable como > contenedor de valores y el concepto de constante. Ambos se implementan > con objetos. > > Engaña un poco porque el identificador de la mal llamada variable no > cambia pero despues de la asignación ya no es la misma. No solo cambia > su contenido, cambia el objeto en si. Lo que en otros lenguajes se conocen como variables y constantes, en python son meras "etiquetas" con las que referencias a objetos que pululan por la memoria. Estos objetos se suelen crear como resultado de una operación, pero no siempre. Durante el arranque de python, se crean una serie de objetos de uso frecuente como los números enteros entre -1 y 99. Repite las pruebas con ellos y verás que tienen comportamiento diferente. >>> a=5 >>> b=5 >>> id(a),id(b),id(2+3) (134536648, 134536648, 134536648) >>> a=100 >>> b=100 >>> id(a),id(b),id(88+2) (134606744, 134606768, 134537604) Por si te interesa, hace unos días postulé unas reglas sobre la Ontología de Objetos en python (http://ch3m4.org/blog/index.php/py/2004/09/21/ontologia_de_objetos_en_python) From soulkiller en teleline.es Sat Oct 23 11:45:39 2004 From: soulkiller en teleline.es (soul) Date: Sat, 23 Oct 2004 11:45:39 +0200 Subject: =?iso-8859-1?q?=BFComo?= obtner un el icono de un .exe? Message-ID: <1098524739.2224.4.camel@Zeus> El problema que tengo es el siguiente. Estoy desarrollando una pequeña aplicación ( python + wxpython ) que muestra un conjunto de botones para lanzar aplicaciones. Estos botones se generarán dinámicamente dependiendo de los accesos directos que el usuario coloque en una determinada carpeta. Lo que me interesa es sacar en el botón el mismo icono que aparece en el ejecutable que hace referencia el acceso director. Si alguien sabe como hacerlo le agradeceré la ayuda. Gracias. Soul ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From rapto en arrakis.es Sun Oct 24 12:10:28 2004 From: rapto en arrakis.es (Marcos =?ISO-8859-1?Q?S=E1nchez?= Provencio) Date: Sun, 24 Oct 2004 12:10:28 +0200 Subject: =?ISO-8859-1?Q?=BFComo?= obtner un el icono de un .exe? In-Reply-To: <1098524739.2224.4.camel@Zeus> References: <1098524739.2224.4.camel@Zeus> Message-ID: <1098612627.3930.25.camel@renata.macondo.pri> Tenemos un programa que lo hace en vb, la llamada que se usa es SHGetFileInfo, accesible desde las extensiones de Windows para Python: http://aspn.activestate.com/ASPN/docs/ActivePython/2.3/pywin32/shell__SHGetFileInfo_meth.html Un ejemplo en Delphi: http://www.howtodothings.com/showarticle.asp?article=18 ya sólo queda jugar :-) El sáb, 23-10-2004 a las 11:45, soul escribió: > El problema que tengo es el siguiente. Estoy desarrollando una pequeña > aplicación ( python + wxpython ) que muestra un conjunto de botones para > lanzar aplicaciones. Estos botones se generarán dinámicamente > dependiendo de los accesos directos que el usuario coloque en una > determinada carpeta. Lo que me interesa es sacar en el botón el mismo > icono que aparece en el ejecutable que hace referencia el acceso > director. > > Si alguien sabe como hacerlo le agradeceré la ayuda. > > > Gracias. Soul > > ______________________________________________________________________ > _______________________________________________ > 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 soulkiller en teleline.es Sun Oct 24 17:07:41 2004 From: soulkiller en teleline.es (soul) Date: Sun, 24 Oct 2004 17:07:41 +0200 Subject: =?ISO-8859-1?Q?=BFComo?= obtner un el icono de un .exe? In-Reply-To: <1098612627.3930.25.camel@renata.macondo.pri> References: <1098524739.2224.4.camel@Zeus> <1098612627.3930.25.camel@renata.macondo.pri> Message-ID: <1098630461.2416.4.camel@Zeus> Con la siguiente función he conseguido obtener los datos del un acceso directo: #!/bin/env python from win32com.shell import shell import pythoncom def DumpIt(fileName): # Get the shell interface. sh=pythoncom.CoCreateInstance(shell.CLSID_ShellLink,None,pythoncom.CLSCTX_INPROC_SERVER,shell.IID_IShellLink) # Get an IPersist interface persist = sh.QueryInterface(pythoncom.IID_IPersistFile) persist.Load(fileName) # Get the data print "Path name:", sh.GetPath(shell.SLGP_SHORTPATH)[0] print "Args:", sh.GetArguments() print "Description:", sh.GetDescription() print "Working directory:", sh.GetWorkingDirectory() print "Icon location:", sh. GetIconLocation() if __name__=='__main__': import sys DumpIt(sys.argv[1]) El problema es que sh. GetIconLocation() me devuelve una tupla con la ruta del exe que contiene el icono y la posicion dentro de este. El problema es como extraer ese icono para mostrarlo en un imagebutton del wxPython Soul ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From acastro en ciberdroide.com Mon Oct 25 09:55:05 2004 From: acastro en ciberdroide.com (Antonio Castro) Date: Mon, 25 Oct 2004 09:55:05 +0200 (CEST) Subject: paso por valor y paso por referencia In-Reply-To: <1098560005.417ab2055303f@ch3m4.org> References: <1098560005.417ab2055303f@ch3m4.org> Message-ID: On Sat, 23 Oct 2004 ch3m4 en ch3m4.org wrote: > Mensaje citado por Antonio Castro : > > > Tal como yo lo veo, desaparece es el clásico concepto de variable como > > contenedor de valores y el concepto de constante. Ambos se implementan > > con objetos. > > > > Engaña un poco porque el identificador de la mal llamada variable no > > cambia pero despues de la asignación ya no es la misma. No solo cambia > > su contenido, cambia el objeto en si. > > Lo que en otros lenguajes se conocen como variables y constantes, en python son > meras "etiquetas" con las que referencias a objetos que pululan por la memoria. > Estos objetos se suelen crear como resultado de una operación, pero no siempre. > Durante el arranque de python, se crean una serie de objetos de uso frecuente > como los números enteros entre -1 y 99. Repite las pruebas con ellos y verás > que tienen comportamiento diferente. > > >>> a=5 > >>> b=5 > >>> id(a),id(b),id(2+3) > (134536648, 134536648, 134536648) > > >>> a=100 > >>> b=100 > >>> id(a),id(b),id(88+2) > (134606744, 134606768, 134537604) Muy interesante. No ténía ni idea. Seguramente hay muchos detalles de implementación curiosos. > Por si te interesa, hace unos días postulé unas reglas sobre la Ontología de > Objetos en python > (http://ch3m4.org/blog/index.php/py/2004/09/21/ontologia_de_objetos_en_python) Una de las cosa que tu afirmas me parece un tanto arriesgada. 2. No son los objetos los que "varían", sino las referencias que apuntan a ellos. Creo que los objetos si son capaces de variar y conservar su referencia. Un ejemplo: >>> a=[] >>> id(a) 1075963212 >>> a.append('Modifico el objeto') >>> id(a) 1075963212 -- Un saludo Antonio Castro /\ /\ \\W// _|0 0|_ +-oOOO-(___o___)-OOOo---------------------+ | . . . . U U . Antonio Castro Snurmacher | | . . . . . . . acastro en ciberdroide.com | +()()()---------()()()--------------------+ From py en ch3m4.org Mon Oct 25 11:29:41 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Mon, 25 Oct 2004 11:29:41 +0200 Subject: paso por valor y paso por referencia In-Reply-To: References: <1098560005.417ab2055303f@ch3m4.org> Message-ID: <200410251129.44523.py@ch3m4.org> On Monday 25 October 2004 09:55, Antonio Castro wrote: > Una de las cosa que tu afirmas me parece un tanto arriesgada. > >     2. No son los objetos los que "varían", sino las referencias que >        apuntan a ellos. > > Creo que los objetos si son capaces de variar y conservar su referencia. Sí, tienes razón. Después de poner estos postulados me di cuenta de que no estaban bien. Mi idea era que en cosas como éstas. for i in range(10): .... No era 'i' quien tomaba valores de 0 a 9 tal como se acostumbra a ver en lenguajes imperativos, si no que debía verse que 'i' iba referenciando objetos enteros desde el 0 al 9. Puede que dé igual esta distinción con las listas, pero comprende mejor cuando te metes con secuencias (iteradores/generadores). Voy a cambiar el postulado, a ver qué te parece: 2. Cuando un objeto "varía", sus referencias no se ven afectadas. Una referencia "varía" cuando apunta a otro objeto diferente. ------------ 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 susi.toci en nodo50.org Mon Oct 25 14:10:49 2004 From: susi.toci en nodo50.org (David Asorey Álvarez) Date: Mon, 25 Oct 2004 12:10:49 -0000 Subject: Inicio Message-ID: Yo utilizo eric3 principalmente (www.die-offenbachs.de/detlev/eric3.html). Es estupendo, pero la versión libre sólo la tienes para qt-xfree (para linux y similares, vamos), ya que las librerías qt, que es en las que se basa, no son libres en la plataforma Windows. Lo he intentado hacer funcionar en windoze (vía cygwin) y no hay manera :-( Si quieres multiplataforma o sólo trabajas en windows, boa-constructor (boa-constructor.sourceforge.net) es un "todo en uno" muy completo. Aunque yo prefiero el diseñador de interfaces wxglade (wxglade.sourceforge.net) y el editor scite (www.scintilla.org/SciTE.html) ó spe (spe.pycs.net). Éstos últimos están basados en wxpython (wxpython.org). Saludos. -- David Asorey Álvarez ------------ 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 Oct 25 16:02:02 2004 From: lcatalin en siadv.com (Catalin Lungu) Date: Mon, 25 Oct 2004 16:02:02 +0200 Subject: verificar enteros References: <41797E24.3030208@earcon.com> Message-ID: <004701c4ba9b$342edc40$d900a8c0@catalin> También esto: a="pepito" if type(a) == int: b=int(a) ----- Original Message ----- From: "Albert Buyó" To: Sent: Friday, October 22, 2004 11:39 PM Subject: [Python-es] verificar enteros > Hola, buenas, quisiera saber si hay alguna función para hacer directamente > una conversión de un string a long, pero sin que de el error si este > string no es convertible , o sea : > > a="pepito" > b=long(a) ---> error > > solucion (con excepciones) > > a="pepito" > try: b=long(a) > except: > pass > > > pero, hay algo tipo: > > a="pepito" > if "is_number(a)": b=long(a) > > ? > > Gracias y saludos > > Albert > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From FBatista en uniFON.com.ar Mon Oct 25 16:33:38 2004 From: FBatista en uniFON.com.ar (Batista, Facundo) Date: Mon, 25 Oct 2004 11:33:38 -0300 Subject: paso por valor y paso por referencia Message-ID: [Hernan Martínez Foffani] #- Python *siempre* pasa objetos por referencia. Nunca utiliza #- parámetros por valor. La realidad es un poco distinta. Python, a decir verdad, ¡no pasa los objetos!. Los objetos están en memoria, y lo que se hace es reasignarles un nombre. Por ejemplo: 1 def func(a): 2 print a 3 4 b = "blah" 5 print b 6 func(b) En la línea 4 se crea un objeto en memoria, tipo string, y con un contenido determinado. A este objeto se lo relaciona con el nombre "b". A partir de ese momento, cuando hablemos de "b" en este espacio de nombres, estaremos haciendo referencia a ese objeto en memoria (que es lo que hacemos justamente en la linea 5). En la linea 6, llamamos a una función, con el nombre "b" como primer parámetro. Según la definición de la función, llamaremos "a" al primer parámetro. Dentro del espacio de nombres de esa función, cada vez que usemos el nombre "a", nos referiremos al mismo string que indicamos antes, al mismo objeto en memoria. Resumiendo, el objeto no se copia, y no se pasa un puntero al mismo, simplemente se le asigna otro nombre en otro espacio de nombres. >> def f(a): print id(a) >>> b = 5 >>> id(5) 9065408 >>> f(b) 9065408 Pensarlo de esta forma (que es lo que realmente sucede) nos simplifica la vida cuando tenemos distintos comportamientos con los objetos mutables e inmutables. Por ejemplo: >>> def f(a,b): print id(a), id(b) a = 7778 b.append('?') print id(a), id(b) >>> c = 56 >>> d = ['pp', 11] >>> c, d (56, ['pp', 11]) >>> id(c), id(d) (9064796, 11094976) >>> f(c,d) 9064796 11094976 10047164 11094976 >>> c, d (56, ['pp', 11, '?']) >>> Como vemos, al comienzo de la función, "a" apunta al mismo objeto que "c" fuera de la función, y lo mismo sucede con "b" y "d". Y aquí es donde paga no pensar como "variables clásicas": en la primer linea NO estamos modificando una variable "a", sino que llamamos "a" a otro objeto en memoria, que no tiene nada que ver con el anterior. El nombre "b", en cambio, no es reasignado a otro objeto. Al final de la función vemos lo que acabo de explicar: "a" apunta a otro objeto en memoria y "b" todavía al mismo. Cuando volvemos al cuerpo principal de la función encontramos que el objeto al que apunta "c" sigue estando igual (nunca se modificó), y el objeto al que apuntamos con el nombre "b" sí sufrió una modificación. Hay un excelente artículo de Alex Martelli sobre este asunto, cuando lo vuelva a encontrar lo traduzco y se los envío. Saludos! . Facundo From cabrerachaparro en yahoo.com Mon Oct 25 16:41:23 2004 From: cabrerachaparro en yahoo.com (Daniel Cabrera) Date: Mon, 25 Oct 2004 09:41:23 -0500 (CDT) Subject: ayud con Boa Message-ID: <20041025144123.22552.qmail@web60310.mail.yahoo.com> Hola, estoy usando el Boa para hacer mis interfazes graficas, pero tengo un problema al dibujar por ejemplo una etiqueta, cada etiqueta que coloco aparece del mismo tamaño que el frame y le cambio el tamaño pero sigue igual, no se si abara laguna forma de arreglar eso quiza alguna propiedad autosize y otra pregunta, habra algun manual de Boa por ahi? Gracias, Daniel Cabrera _________________________________________________________ Do You Yahoo!? Información de Estados Unidos y América Latina, en Yahoo! Noticias. Visítanos en http://noticias.espanol.yahoo.com From pepe en diselpro.com Mon Oct 25 16:32:41 2004 From: pepe en diselpro.com (Pepe Aracil) Date: Mon, 25 Oct 2004 16:32:41 +0200 Subject: verificar enteros In-Reply-To: <004701c4ba9b$342edc40$d900a8c0@catalin> References: <41797E24.3030208@earcon.com> <004701c4ba9b$342edc40$d900a8c0@catalin> Message-ID: <200410251632.41400.pepe@diselpro.com> El Lunes, 25 de Octubre de 2004 16:02, Catalin Lungu escribió: > También esto: > > a="pepito" > if type(a) == int: b=int(a) Esta instrucción no tiene mucho sentido. Si "a" es ya un entero ¿para que vas a convertirla en entero? Además la función type() devolverá str tanto si le pasas "pepito" como si le pasas "1234" Salut. From lcatalin en siadv.com Mon Oct 25 16:44:44 2004 From: lcatalin en siadv.com (Catalin Lungu) Date: Mon, 25 Oct 2004 16:44:44 +0200 Subject: ayud con Boa References: <20041025144123.22552.qmail@web60310.mail.yahoo.com> Message-ID: <000501c4baa1$2b70cbd0$d900a8c0@catalin> Mientras no coloques 2 objetos en el formulario seguirás en lo mismo. Un saludo, Catalin ----- Original Message ----- From: "Daniel Cabrera" To: "Python" Sent: Monday, October 25, 2004 4:41 PM Subject: [Python-es] ayud con Boa > Hola, > estoy usando el Boa para hacer mis interfazes > graficas, pero tengo un problema al dibujar por > ejemplo una etiqueta, cada etiqueta que coloco aparece > del mismo tamaño que el frame y le cambio el tamaño > pero sigue igual, no se si abara laguna forma de > arreglar eso quiza alguna propiedad autosize y otra > pregunta, habra algun manual de Boa por ahi? > Gracias, > > Daniel Cabrera > > _________________________________________________________ > Do You Yahoo!? > Información de Estados Unidos y América Latina, en Yahoo! Noticias. > Visítanos en http://noticias.espanol.yahoo.com > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From acastro en ciberdroide.com Mon Oct 25 16:46:38 2004 From: acastro en ciberdroide.com (Antonio Castro) Date: Mon, 25 Oct 2004 16:46:38 +0200 (CEST) Subject: paso por valor y paso por referencia In-Reply-To: <200410251129.44523.py@ch3m4.org> References: <1098560005.417ab2055303f@ch3m4.org> <200410251129.44523.py@ch3m4.org> Message-ID: On Mon, 25 Oct 2004, Chema Cortés wrote: > On Monday 25 October 2004 09:55, Antonio Castro wrote: > > Una de las cosa que tu afirmas me parece un tanto arriesgada. > > > >     2. No son los objetos los que "varían", sino las referencias que > >        apuntan a ellos. > > > > Creo que los objetos si son capaces de variar y conservar su referencia. > > Sí, tienes razón. Después de poner estos postulados me di cuenta de que no > estaban bien. Mi idea era que en cosas como éstas. > > for i in range(10): > .... > > > No era 'i' quien tomaba valores de 0 a 9 tal como se acostumbra a ver en > lenguajes imperativos, si no que debía verse que 'i' iba referenciando > objetos enteros desde el 0 al 9. Puede que dé igual esta distinción con las > listas, pero comprende mejor cuando te metes con secuencias > (iteradores/generadores). > > Voy a cambiar el postulado, a ver qué te parece: > > 2. Cuando un objeto "varía", sus referencias no se ven afectadas. Una > referencia "varía" cuando apunta a otro objeto diferente. ^^^^^^^^^ Este calificativo y otros similares resultan confusos porque no queda claro si estamos hablando o no de copias. Decir que un objeto es igual o distinto a otro, admite dos interpretaciones distintas. Para ilustrarlo con un ejemplo: >>> a=999 >>> b=998+1 >>> id(a) 135589516 >>> id(b) 135589528 Si digo que a es igual a b es en cierto modo correcto, pero si digo que a y b son distintos también es en cierto modo correcto. Son trampas del lenguaje. 'a' y 'b' no son el mismo objeto pero son objetos "gemelos". Hablar de igualdad, o diferencia entre objetos puede llevar a interpretaciones erroneas. Resulta más facil usar Python que explicarlo y yo creo que eso está más relacionado con el concepto de identificador en Python que al de objeto o al de referencia. Seguramente para una persona que se inicia en la programación con el lenguaje Python todo resulte más natural. Creo que la experiencia con lenguajes en este caso condiciona para que asociemos los identificadores al concepto de variable en otros lenguajes. De hecho en algunos libros de iniciación a Python se habla de variables. Esto para cualquier que ya parta de cierto concepto previo de variables en otros lenguajes resulta realmente un desatino que induce a confusión. Habria que hablar de identificadores de objetos y se podría decir lo siguiente para explicar en que consiste ese concepto. Todo identificador de objetos en el lenguaje Python admite tres estados. 1) No está definido. (Antes de usarlo o despues de hacer, del a ) 2) Está definido pero carece de valor ( a=None ) 3) Está definido y referencia a un objeto. ( a=10 ) 4) Un identificador no está asociado a ningún tipo de dato en particular. a, a, a = 10, 10.0, 'diez' Sinceramente creo que habría que tachar la palabra variable de los textos de aprendizage de Python. -- Un saludo Antonio Castro /\ /\ \\W// _|0 0|_ +-oOOO-(___o___)-OOOo---------------------+ | . . . . U U . Antonio Castro Snurmacher | | . . . . . . . acastro en ciberdroide.com | +()()()---------()()()--------------------+ From hernan en orgmf.com.ar Mon Oct 25 17:12:20 2004 From: hernan en orgmf.com.ar (=?iso-8859-1?Q?Hern=E1n_Mart=EDnez_Foffani?=) Date: Mon, 25 Oct 2004 17:12:20 +0200 Subject: paso por valor y paso por referencia In-Reply-To: References: Message-ID: Batista, Facundo escribio: > [Hernan Martínez Foffani] > > #- Python *siempre* pasa objetos por referencia. Nunca utiliza > #- parámetros por valor. > > La realidad es un poco distinta. Python, a decir verdad, ¡no pasa los > objetos!. Los objetos están en memoria, y lo que se hace es > reasignarles un nombre. Por supuesto. Debi haber hecho alguna aclaracion. El/La que hizo la pregunta original daba a entender que sabía como se implementaban los objetos "complejos" en python, pero su duda era con los escalares. A los neofitos python les podrá sorprender cómo funcionan las listas o los diccionarios, donde al modificar el dato de un item no se "modifica" la lista que lo incluye. Pero curiosamente a los que llevan algun tiempo programando en otros lenguajes (sobre todo si son OO) lo que les sorprende es el comportamiento de los escalares en python. Esto, hasta que se comprende que en python todos los tipos son objetos y que solo(*) se diferencian en su mutabilidad. ... resto cortado... > Hay un excelente artículo de Alex Martelli sobre este asunto, cuando > lo vuelva a encontrar lo traduzco y se los envío. ¿No te referirás a "How to think like a pythonista."? Si es ese, lo traduje hace bastante tiempo. http://www.orgmf.com.ar/condor/objectthink.html ;-) -H. (*) Hay mas diferencias (ej. mortalidad, internalidad, etc.), pero no vienen al caso ahora. From pepe en diselpro.com Mon Oct 25 17:02:10 2004 From: pepe en diselpro.com (Pepe Aracil) Date: Mon, 25 Oct 2004 17:02:10 +0200 Subject: Funcion super() Message-ID: <200410251702.10622.pepe@diselpro.com> Hola. Tengo una duda. #esto : class C(B): def meth(self, arg): super(C, self).meth(arg) #¿es lo mismo que esto ? : class C(B): def meth(self, arg): B.meth(self,arg) Si es lo mismo ¿que ventajas aporta la función super() ? Gracias. From hernan en orgmf.com.ar Mon Oct 25 17:27:52 2004 From: hernan en orgmf.com.ar (=?iso-8859-1?Q?Hern=E1n_Mart=EDnez_Foffani?=) Date: Mon, 25 Oct 2004 17:27:52 +0200 Subject: paso por valor y paso por referencia In-Reply-To: References: Message-ID: > Este calificativo y otros similares resultan confusos porque no queda > claro si estamos hablando o no de copias. Decir que un objeto es igual > o distinto a otro, admite dos interpretaciones distintas. Nos confundimos con el castellano, no con python. ;-) > Para ilustrarlo con un ejemplo: > > >>> a=999 > >>> b=998+1 > >>> id(a) > 135589516 > >>> id(b) > 135589528 > > Si digo que a es igual a b es en cierto modo correcto, pero si digo > que a y b son distintos también es en cierto modo correcto. > Son trampas del lenguaje. > > 'a' y 'b' no son el mismo objeto pero son objetos "gemelos". Hablar de > igualdad, o diferencia entre objetos puede llevar a interpretaciones > erroneas. En python hablado diríamos "a es_igual_a b" y "a no es_identico_a b". El concepto de "mismo objeto" se llama identidad. -H. From hernan en orgmf.com.ar Mon Oct 25 17:49:04 2004 From: hernan en orgmf.com.ar (=?iso-8859-1?Q?Hern=E1n_Mart=EDnez_Foffani?=) Date: Mon, 25 Oct 2004 17:49:04 +0200 Subject: Funcion super() In-Reply-To: <200410251702.10622.pepe@diselpro.com> References: <200410251702.10622.pepe@diselpro.com> Message-ID: > #esto : > class C(B): > def meth(self, arg): > super(C, self).meth(arg) > > #¿es lo mismo que esto ? : > class C(B): > def meth(self, arg): > B.meth(self,arg) > > Si es lo mismo ¿que ventajas aporta la función super() ? Recuerda que python tiene herencia múltiple. Si C heredara de mas de una clase habria diferencias. class B(object): pass class A(object): def meth(self, arg): print "A" class C(B, A): def meth(self, arg): super(C, self).meth(arg) aqui super te resuelve el problema al recorrer el grafo de herencias. -H. From FBatista en uniFON.com.ar Mon Oct 25 17:48:50 2004 From: FBatista en uniFON.com.ar (Batista, Facundo) Date: Mon, 25 Oct 2004 12:48:50 -0300 Subject: paso por valor y paso por referencia Message-ID: [Hernán Martínez Foffani] #- ... resto cortado... #- > Hay un excelente artículo de Alex Martelli sobre este #- asunto, cuando #- > lo vuelva a encontrar lo traduzco y se los envío. #- #- ¿No te referirás a "How to think like a pythonista."? #- Si es ese, lo traduje hace bastante tiempo. #- http://www.orgmf.com.ar/condor/objectthink.html #- ;-) ¡Perfecto! ¿Cuán estable es esa página? ¿Puedo hacer un enlace a ella desde mi blog? Gracias, slds. . Facundo From hernan en orgmf.com.ar Mon Oct 25 17:57:57 2004 From: hernan en orgmf.com.ar (=?iso-8859-1?Q?Hern=E1n_Mart=EDnez_Foffani?=) Date: Mon, 25 Oct 2004 17:57:57 +0200 Subject: paso por valor y paso por referencia In-Reply-To: References: Message-ID: > #- ... resto cortado... > #- > Hay un excelente artículo de Alex Martelli sobre este > #- asunto, cuando > #- > lo vuelva a encontrar lo traduzco y se los envío. > #- > #- ¿No te referirás a "How to think like a pythonista."? > #- Si es ese, lo traduje hace bastante tiempo. > #- http://www.orgmf.com.ar/condor/objectthink.html > #- ;-) > > ¡Perfecto! ¿Cuán estable es esa página? ¿Puedo hacer un > enlace a ella desde mi blog? Por mí, encantado. Es muy estable, hace meses que no la modifico y de hacerlo siempre mantengo los url válidos. -H. From pepe en diselpro.com Mon Oct 25 17:52:18 2004 From: pepe en diselpro.com (Pepe Aracil) Date: Mon, 25 Oct 2004 17:52:18 +0200 Subject: Funcion super() In-Reply-To: References: Message-ID: <200410251752.18284.pepe@diselpro.com> Aclarado. Gracias. El Lunes, 25 de Octubre de 2004 17:49, Hernán Martínez Foffani escribió: > > #esto : > > class C(B): > > def meth(self, arg): > > super(C, self).meth(arg) > > > > #¿es lo mismo que esto ? : > > class C(B): > > def meth(self, arg): > > B.meth(self,arg) > > > > Si es lo mismo ¿que ventajas aporta la función super() ? > > Recuerda que python tiene herencia múltiple. > Si C heredara de mas de una clase habria diferencias. > > class B(object): > pass > > class A(object): > def meth(self, arg): > print "A" > > class C(B, A): > def meth(self, arg): > super(C, self).meth(arg) > > aqui super te resuelve el problema al recorrer el grafo > de herencias. > > -H. > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From josepgimbernat en cdgir.com Mon Oct 25 18:08:39 2004 From: josepgimbernat en cdgir.com (Josep Gimbernat) Date: Mon, 25 Oct 2004 18:08:39 +0200 Subject: Ayuda con Boa Message-ID: <200410251808.39696.josepgimbernat@cdgir.com> No termino de entender bién a qué te refieres ya que cuando yo pongo una etiqueta (supongo que te refieres a wxStaticText) se queda del tamaño que adopta, el mínimo para el texto que contiene, por defecto staticText1, y si quiero cambiarlo solo tengo que ir a la ventana Inspector, la primera pestaña, size, y ahi pongo el tamaño que deseo.. lo que no cambia es el tamaño del texto pero eso hay que cambiarlo en la segunda pestaña Props, font Debo decir que estoy hablando del Boa para Linux, desconozco si en Windows funciona igual. Josep ___________________________________________________________________________ Mensaje analizado y protegido por la tecnologia antivirus www.trendmicro.es From FBatista en uniFON.com.ar Mon Oct 25 18:42:09 2004 From: FBatista en uniFON.com.ar (Batista, Facundo) Date: Mon, 25 Oct 2004 13:42:09 -0300 Subject: paso por valor y paso por referencia Message-ID: #- > ¡Perfecto! ¿Cuán estable es esa página? ¿Puedo hacer un #- > enlace a ella desde mi blog? #- #- Por mí, encantado. #- Es muy estable, hace meses que no la modifico y de hacerlo #- siempre mantengo los url válidos. ¡Gracias! http://www.taniquetil.com.ar/plog/ . Facundo From amphora en escomposlinux.org Mon Oct 25 19:49:13 2004 From: amphora en escomposlinux.org (amphora) Date: Mon, 25 Oct 2004 19:49:13 +0200 Subject: =?iso-8859-1?q?Abstracci=F3n_de_la_base_de?= datos Message-ID: <200410251949.19054.amphora@escomposlinux.org> Buenas. Tengo casi convencido a mi jefe para desarrollar un proyecto casi enteramente en python. Él es forofo de php y me ha comentado que en este lenguaje hay una abstracción del uso de bases de datos, de manera que se puede programar independientemente de que debajo este mysql, postgre u oracle. Como no conozco ese lenguaje no he podido rebatirselo. Mi pregunta es ¿Hay algo similar en python? Conozco los diversos módulos para mysql, postgre que hay para python, pero no sé si existe algo similar (si es que existe para php). -- A computer scientist is someone who fixes things that aren't broken. ------------ 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 hernan en orgmf.com.ar Mon Oct 25 20:28:49 2004 From: hernan en orgmf.com.ar (=?iso-8859-1?Q?Hern=E1n_Mart=EDnez_Foffani?=) Date: Mon, 25 Oct 2004 20:28:49 +0200 Subject: paso por valor y paso por referencia In-Reply-To: References: Message-ID: Batista, Facundo escribio: > http://www.taniquetil.com.ar/plog/ Encontré un par de mensajes viejos que escribí a la lista donde uso (robada no se a quién) la analogía de etiquetas postit http://listas.aditel.org/archivos/python-es/2002-May/005608.html http://listas.aditel.org/archivos/python-es/2003-October/008278.html y la conferencia de un colistero: http://www.aditel.org/~ripolles/conferencia_python/ (citado sin permiso, espero que no se enfade.) -H. From erny en sicem.biz Mon Oct 25 21:00:40 2004 From: erny en sicem.biz (Ernesto Revilla) Date: Mon, 25 Oct 2004 21:00:40 +0200 Subject: =?ISO-8859-1?Q?Abstracci=F3n_de_la_base_?= =?ISO-8859-1?Q?de_datos?= In-Reply-To: <200410251949.19054.amphora@escomposlinux.org> References: <200410251949.19054.amphora@escomposlinux.org> Message-ID: <417D4D58.2030503@sicem.biz> Hola, para Python, la abstracción estándar más difundidad y acordada se llama actualmente DB-API 2.0. Abstrae el acceso a los datos, pero no así el acceso a las sentencias SQL (como podría pasar con ODBC, que reescribe determinadas partes del SQL). Pero creo que hay gran parte común entre Postgresql y mySQL. Diferencias hay con los tipos, porque el sistema de tipos de Postgresql es muy amplio, y además ampliable, pero ambos suelen entender gran parte de Ansi SQL92. Hay diversos otros entornos que son más orientado a objetos y que intentan suplir de alguna manera aquellas partes que no son iguales, generando o ejecutando código diferente para las bases de datos soportadas. Pongo 2 aquí, pero hay muchos más: http://sqlobject.org http://modeling.sourceforge.net Un saludo, Erny amphora escribió: >Buenas. >Tengo casi convencido a mi jefe para desarrollar un proyecto casi >enteramente en python. Él es forofo de php y me ha comentado que en este >lenguaje hay una abstracción del uso de bases de datos, de manera que se >puede programar independientemente de que debajo este mysql, postgre u >oracle. Como no conozco ese lenguaje no he podido rebatirselo. Mi >pregunta es ¿Hay algo similar en python? Conozco los diversos módulos >para mysql, postgre que hay para python, pero no sé si existe algo >similar (si es que existe para php). > > > >------------------------------------------------------------------------ > >_______________________________________________ >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): 0443-2, 21/10/2004 Comprobado en: 25/10/2004 21:00:41 avast! tiene los derechos reservados (c) 2000-2004 ALWIL Software. http://www.avast.com From maramsis en gmail.com Mon Oct 25 22:19:32 2004 From: maramsis en gmail.com (maram) Date: Mon, 25 Oct 2004 17:19:32 -0300 Subject: =?ISO-8859-1?Q?Re:__Abstracci=F3n_de_la_base_de_datos?= In-Reply-To: <200410251949.19054.amphora@escomposlinux.org> References: <200410251949.19054.amphora@escomposlinux.org> Message-ID: On Mon, 25 Oct 2004 19:49:13 +0200, amphora wrote: > Buenas. > Tengo casi convencido a mi jefe para desarrollar un proyecto casi > enteramente en python. Él es forofo de php y me ha comentado que en este > lenguaje hay una abstracción del uso de bases de datos, de manera que se > puede programar independientemente de que debajo este mysql, postgre u > oracle. Como no conozco ese lenguaje no he podido rebatirselo. Mi > pregunta es ¿Hay algo similar en python? Conozco los diversos módulos > para mysql, postgre que hay para python, pero no sé si existe algo > similar (si es que existe para php). > > -- > A computer scientist is someone who fixes things that aren't broken. > Estoy trabajando sobre Modeling, que hace transparente el motor de datos que este detras, asi tambien las consultas... y la persistencia de objetos. En brebe tendre publicado un proyecto administrativo en savannah. Utiliza python, cimarron, gtk2 y Modeling. http://papo.vialibre.org.ar http://modeling.sourceforge.net From maramsis en gmail.com Mon Oct 25 22:26:30 2004 From: maramsis en gmail.com (maram) Date: Mon, 25 Oct 2004 17:26:30 -0300 Subject: Funcion super() In-Reply-To: References: <200410251702.10622.pepe@diselpro.com> Message-ID: On Mon, 25 Oct 2004 17:49:04 +0200, Hernán Martínez Foffani wrote: > > #esto : > > class C(B): > > def meth(self, arg): > > super(C, self).meth(arg) > > > > #¿es lo mismo que esto ? : > > class C(B): > > def meth(self, arg): > > B.meth(self,arg) > > > > Si es lo mismo ¿que ventajas aporta la función super() ? > > Recuerda que python tiene herencia múltiple. > Si C heredara de mas de una clase habria diferencias. > > class B(object): > pass > > class A(object): > def meth(self, arg): > print "A" > > class C(B, A): > def meth(self, arg): > super(C, self).meth(arg) > > aqui super te resuelve el problema al recorrer el grafo > de herencias. > Ahora, si me permiten las siguientes dudas: 1) Si heredo solamente de B, seria lo mismo, B.meth(self,arg) que super ? 2) Si tanto la clase B , como la A, tienen el metodo meth, se ejecuta sobre las dos? maram From horaciod en gmail.com Mon Oct 25 21:02:12 2004 From: horaciod en gmail.com (Horacio Degiorgi) Date: Mon, 25 Oct 2004 16:02:12 -0300 Subject: =?ISO-8859-1?Q?Re:__Abstracci=F3n_de_la_base_de_datos?= In-Reply-To: <200410251949.19054.amphora@escomposlinux.org> References: <200410251949.19054.amphora@escomposlinux.org> Message-ID: si que la hay y si conoce php probablemente use adodb (que es el más extendido de los abstraction layers) y oh casualidad tiene version para python tambien. yo he probado los módulos para mysql y para postgresql y van muy bien para verlo http://adodb.sf.net saludos Horaciod On Mon, 25 Oct 2004 19:49:13 +0200, amphora wrote: > Buenas. > Tengo casi convencido a mi jefe para desarrollar un proyecto casi > enteramente en python. Él es forofo de php y me ha comentado que en este > lenguaje hay una abstracción del uso de bases de datos, de manera que se > puede programar independientemente de que debajo este mysql, postgre u > oracle. Como no conozco ese lenguaje no he podido rebatirselo. Mi > pregunta es ¿Hay algo similar en python? Conozco los diversos módulos > para mysql, postgre que hay para python, pero no sé si existe algo > similar (si es que existe para php). > > -- > A computer scientist is someone who fixes things that aren't broken. > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > > > > -- Horacio Degiorgi http://blog.codigophp.com From amphora en escomposlinux.org Mon Oct 25 23:12:25 2004 From: amphora en escomposlinux.org (amphora) Date: Mon, 25 Oct 2004 23:12:25 +0200 Subject: =?iso-8859-1?q?Abstracci=F3n_de_la_base_de?= datos In-Reply-To: References: <200410251949.19054.amphora@escomposlinux.org> Message-ID: <200410252312.31003.amphora@escomposlinux.org> El Lunes, 25 de Octubre de 2004 21:02, Horacio Degiorgi escribió: > si que la hay y si conoce php probablemente use adodb (que es el más > extendido de los abstraction layers) y oh casualidad tiene version > para python tambien. Muchas gracias a todos, me quedo de momento con la propuesta de Horacio. -- An elephant is a mouse with an operating system. ------------ 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 hernan en orgmf.com.ar Tue Oct 26 00:18:08 2004 From: hernan en orgmf.com.ar (=?iso-8859-1?Q?Hernan_Mart=EDnez_Foffani?=) Date: Tue, 26 Oct 2004 00:18:08 +0200 Subject: Funcion super() In-Reply-To: References: Message-ID: >> class B(object): >> pass >> >> class A(object): >> def meth(self, arg): >> print "A" >> >> class C(B, A): >> def meth(self, arg): >> super(C, self).meth(arg) > 1) Si heredo solamente de B, seria lo mismo, B.meth(self,arg) > que super ? Si. > 2) Si tanto la clase B , como la A, tienen el metodo meth, > se ejecuta sobre las dos? No. Solo la de B que es el primero que encuentra sin contar con el de D (que se saltea por el mismo super.) Puedes saber el orden de resolución de la jerarquía de clases con el atributo __mro__ (de method resolution order.) >>> print "mro: ", C.__mro__ mro: (, , , ) >>> -H. From c_visual2000 en hotmail.com Tue Oct 26 12:01:57 2004 From: c_visual2000 en hotmail.com (Fernando Carlini) Date: Tue, 26 Oct 2004 07:01:57 -0300 Subject: =?iso-8859-1?B?UmU6IFtQeXRob24tZXNdIEFic3RyYWNjafNuIGRlIGxhIGJhc2UgZGUg?= =?iso-8859-1?B?ZGF0b3M=?= Message-ID: Lo que se puede hacer es usar patrones de diseño para abstraerse de la base de datos, hay un patron llamado abstract factory que se utiliza para este caso. Es facil de implementar y no importa si abajo esta mysql, u otra base de datos, lo que si te permite es mantener la estructura de clases intacta y programar solamente las clases que tengan que ver directamente con la conexion a la base >From: maram >Reply-To: La lista de python en castellano >To: La lista de python en castellano >Subject: Re: [Python-es] Abstracción de la base de datos >Date: Mon, 25 Oct 2004 17:19:32 -0300 > >On Mon, 25 Oct 2004 19:49:13 +0200, amphora >wrote: > > Buenas. > > Tengo casi convencido a mi jefe para desarrollar un proyecto casi > > enteramente en python. Él es forofo de php y me ha comentado que en este > > lenguaje hay una abstracción del uso de bases de datos, de manera que se > > puede programar independientemente de que debajo este mysql, postgre u > > oracle. Como no conozco ese lenguaje no he podido rebatirselo. Mi > > pregunta es ¿Hay algo similar en python? Conozco los diversos módulos > > para mysql, postgre que hay para python, pero no sé si existe algo > > similar (si es que existe para php). > > > > -- > > A computer scientist is someone who fixes things that aren't broken. > > > >Estoy trabajando sobre Modeling, que hace transparente el motor de >datos que este detras, asi tambien las consultas... y la persistencia >de objetos. >En brebe tendre publicado un proyecto administrativo en savannah. >Utiliza python, cimarron, gtk2 y Modeling. > >http://papo.vialibre.org.ar >http://modeling.sourceforge.net >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es _________________________________________________________________ Charla con tus amigos en línea mediante MSN Messenger: http://messenger.latam.msn.com/ From lcatalin en siadv.com Tue Oct 26 12:48:24 2004 From: lcatalin en siadv.com (Catalin Lungu) Date: Tue, 26 Oct 2004 12:48:24 +0200 Subject: Python vs PHP Message-ID: <000b01c4bb49$51f3b7b0$d900a8c0@catalin> Hola, Tiene sentido esto. Si tiene entonces cual es el conjunto de herramientas a usar para realizar una aplicación WEB con uno y con otro. Ventajas, desventajas. Gracias. From py en ch3m4.org Tue Oct 26 13:51:32 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Tue, 26 Oct 2004 13:51:32 +0200 Subject: Proteccion de datos personales Message-ID: <200410261351.37268.py@ch3m4.org> Tengo que intercambiar datos de tipo personal muy sensibles a través de un canal público (o sea, por internet, con alojamiento temporal breve en algún servidor). En lo primero que he pensado es en cifrar la información mediante algún algoritmo de clave pública como GnuPG. Necesito una solución que funcione tanto en linux como en windows, y que sea tan simple que puede ser usada hasta por un médico (no creo que exista peor perfil para describir un usuario :-P). ¿Existe alguna librería para python que facilite el cifrado/firmado GnuPG o tengo que llamar directamente a la línea de comandos? ¿Existe alguna alternativa más adecuada? Quisiera que no se utilizaran ficheros temporales sin codificar. Aunque el volumen de datos no lo hace necesario, opcionalmente podría considerar el uso de algún gestor de base de datos (postgres, MSDE,...). ------------ 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 Tue Oct 26 14:07:29 2004 From: pepe en diselpro.com (Pepe Aracil) Date: Tue, 26 Oct 2004 14:07:29 +0200 Subject: Proteccion de datos personales In-Reply-To: <200410261351.37268.py@ch3m4.org> References: <200410261351.37268.py@ch3m4.org> Message-ID: <200410261407.29029.pepe@diselpro.com> A riesgo de decir alguna estupidez te contesto: Yo utilizaria el bcrypt (bcrypt - Cross platform file encryption utility) que utiliza el sistema blowfish de clave única (Ya sé, es clave única pero multiplataforma ;D) Enviaría el fichero cifrado por e-mail y en la parte del cliente lanzaría un pequeño script en python que se bajase el mail por pop-3, lo desencryptase e hiciese lo pertinente con los datos. Saludos. El Martes, 26 de Octubre de 2004 13:51, Chema Cortés escribió: > Tengo que intercambiar datos de tipo personal muy sensibles a través de un > canal público (o sea, por internet, con alojamiento temporal breve en algún > servidor). > > En lo primero que he pensado es en cifrar la información mediante algún > algoritmo de clave pública como GnuPG. Necesito una solución que funcione > tanto en linux como en windows, y que sea tan simple que puede ser usada > hasta por un médico (no creo que exista peor perfil para describir un > usuario :-P). > > ¿Existe alguna librería para python que facilite el cifrado/firmado GnuPG o > tengo que llamar directamente a la línea de comandos? ¿Existe alguna > alternativa más adecuada? > > Quisiera que no se utilizaran ficheros temporales sin codificar. Aunque el > volumen de datos no lo hace necesario, opcionalmente podría considerar el > uso de algún gestor de base de datos (postgres, MSDE,...). ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From py en ch3m4.org Tue Oct 26 14:28:13 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Tue, 26 Oct 2004 14:28:13 +0200 Subject: Python vs PHP In-Reply-To: <000b01c4bb49$51f3b7b0$d900a8c0@catalin> References: <000b01c4bb49$51f3b7b0$d900a8c0@catalin> Message-ID: <200410261428.16812.py@ch3m4.org> On Tuesday 26 October 2004 12:48, Catalin Lungu wrote: > Tiene sentido esto. Si tiene entonces cual es el conjunto de herramientas a > usar para realizar una aplicación WEB con uno y con otro. Ventajas, > desventajas. Es una cuestión de gustos en la que no es fácil ponerse de acuerdo. PHP es un lenguaje que, hasta ahora, siempre se preprocesaba por el servidor web para obtener código html. Su éxito se debe a su buena integración en plataformas LAMP (Linux+Apache+MySQL+[PHP,Perl,Python]). No tenía buena orientación a objetos, y, normalmente, no favorece una buena estructuración de código (acaba siendo código "spaguetti" entre html y php). Para evitar ésto, es recomendable seguir las normas PEAR (http://pear.php.net). En las nuevas versiones de PHP, ya es posible realizar scripts fuera del servidor web, utilizar orientación a objetos, e incluso crear interfaces gráficas GTK. De momento, este tipo de uso es casi minoritario. Python es un lenguaje de scripting multiplataforma, con orientación a objetos, y con una librería estándar suficiente para crear servidores y clientes para internet. La mayoría de las soluciones python para crear páginas web separan el código python y el código html, lo que favorece su mantenimiento posterior. La integración de python permite conectar servidores y aplicaciones, con lo que se pueden crear soluciones sencillas utilizando recursos ya existentes. También se puede integrar en servidores apache (LAMP), así como ser usado con otros frameworks como zope, webware, twisted,... En cuanto a herramientas, uffff....es algo muy largo de contar. En PHP busca en la dirección que te he puesto (http://pears.php.net); para python busca en el wiki de python (http://www.python.org/cgi-bin/moinmoin/WebProgramming) ------------ 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 jcanto en hispasec.com Tue Oct 26 14:39:32 2004 From: jcanto en hispasec.com (Julio Canto) Date: Tue, 26 Oct 2004 14:39:32 +0200 Subject: Proteccion de datos personales In-Reply-To: <200410261351.37268.py@ch3m4.org> References: <200410261351.37268.py@ch3m4.org> Message-ID: <417E4584.3000305@hispasec.com> Chema Cortés wrote: >Tengo que intercambiar datos de tipo personal muy sensibles a través de un >canal público (o sea, por internet, con alojamiento temporal breve en algún >servidor). > >En lo primero que he pensado es en cifrar la información mediante algún >algoritmo de clave pública como GnuPG. Necesito una solución que funcione >tanto en linux como en windows, y que sea tan simple que puede ser usada >hasta por un médico (no creo que exista peor perfil para describir un >usuario :-P). > >¿Existe alguna librería para python que facilite el cifrado/firmado GnuPG o >tengo que llamar directamente a la línea de comandos? ¿Existe alguna >alternativa más adecuada? > >Quisiera que no se utilizaran ficheros temporales sin codificar. Aunque el >volumen de datos no lo hace necesario, opcionalmente podría considerar el uso >de algún gestor de base de datos (postgres, MSDE,...). > Yo mire hace tiempo ese tema, y lo que vi estaba basado en llamar a GPG desde linea de comandos, asi que hice mi propia version para Windows (vease, lo mismo solo que con algunos parametros mas para la libreria del idea). Como ya han comentado, siempre puedes usar Bowfish que va bien (hay por ahi codigo para Blowfish en python) y dependiendo de como van a ser las comunicaciones, usar por ejemplo Diffie-Hellman para el intercambio de claves y tal (tambien hay codigo, aunque no es dificil implementarlo en un rato). Un saludo, JC From aragorn en pythonhispano.org Tue Oct 26 15:18:08 2004 From: aragorn en pythonhispano.org (Jose) Date: Tue, 26 Oct 2004 15:18:08 +0200 Subject: Proteccion de datos personales In-Reply-To: <200410261351.37268.py@ch3m4.org> References: <200410261351.37268.py@ch3m4.org> Message-ID: <1098796687.3963.3.camel@demeter.speriaitc.com> ¿Conoces la familia de paquetes PyCrypto? Son multi-plataforma aunque trabajan a bajo nivel. Te permitirán encriptar/desencriptar datos desde código Python. pycrypto: http://www.amk.ca/python/code/crypto ezPyCrypto: http://www.freenet.org.nz/ezPyCrypto/ yawpycrypto: http://yawpycrypto.sourceforge.net/ El mar, 26-10-2004 a las 13:51, Chema Cortés escribió: > Tengo que intercambiar datos de tipo personal muy sensibles a través de un > canal público (o sea, por internet, con alojamiento temporal breve en algún > servidor). ... ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From morillas en posta.unizar.es Tue Oct 26 15:48:01 2004 From: morillas en posta.unizar.es (luis miguel morillas) Date: Tue, 26 Oct 2004 15:48:01 +0200 Subject: Proteccion de datos personales In-Reply-To: <200410261351.37268.py@ch3m4.org> References: <200410261351.37268.py@ch3m4.org> Message-ID: <20041026134801.GA925@marmota> Asunto: [Python-es] Proteccion de datos personales Fecha: mar, oct 26, 2004 at 01:51:32 +0200 Citando a Chema Cortés (py en ch3m4.org): > Tengo que intercambiar datos de tipo personal muy sensibles a través de un > canal público (o sea, por internet, con alojamiento temporal breve en algún > servidor). > > En lo primero que he pensado es en cifrar la información mediante algún > algoritmo de clave pública como GnuPG. Necesito una solución que funcione > tanto en linux como en windows, y que sea tan simple que puede ser usada > hasta por un médico (no creo que exista peor perfil para describir un > usuario :-P). > > ¿Existe alguna librería para python que facilite el cifrado/firmado GnuPG o > tengo que llamar directamente a la línea de comandos? ¿Existe alguna > alternativa más adecuada? > > Quisiera que no se utilizaran ficheros temporales sin codificar. Aunque el > volumen de datos no lo hace necesario, opcionalmente podría considerar el uso > de algún gestor de base de datos (postgres, MSDE,...). Además del pycrypto que ya te han comentado, una vez vi el openPGP[1], pero nunca lo he probado [1] http://www.python.org/pypi?:action=display&name=OpenPGP&version=0.2.1 -- Luis Miguel No a las patentes de software en Europa EuropeSwPatentFree http://EuropeSwPatentFree.hispalinux.es From erny en sicem.biz Tue Oct 26 15:53:57 2004 From: erny en sicem.biz (Ernesto Revilla) Date: Tue, 26 Oct 2004 15:53:57 +0200 Subject: Funcion super() In-Reply-To: References: Message-ID: <417E56F5.3030707@sicem.biz> Interesante eso en un grafo de herencia tipo diamante (que algunas veces aparece en realidad): A / \ B C \ / D class A(object): def meth(self): print "A" class B(A): def meth(self): print "B" super(B,self).meth() class C(A): def meth(self): print "C" super(C,self).meth() class D(B,C): def meth(self): print "D" super(D,self).meth() >>> d=D() >>> d.meth() D B C A es dedir, con un super(...).meth() se llama el método de las dos (!) clases bases. (He leído alguna vez algo sobre clases cooperativas.) si por cualquier razón cambiamos la implantación, quitando de B el método meth, d.meth() sigue funcionando correctamente sin más cambios de códigos, devolviendo esta vez: D C A Erny Hernan Martínez Foffani escribió: >>>class B(object): >>> pass >>> >>>class A(object): >>> def meth(self, arg): >>> print "A" >>> >>>class C(B, A): >>> def meth(self, arg): >>> super(C, self).meth(arg) >>> >>> > > > >>1) Si heredo solamente de B, seria lo mismo, B.meth(self,arg) >>que super ? >> >> > >Si. > > > >>2) Si tanto la clase B , como la A, tienen el metodo meth, >>se ejecuta sobre las dos? >> >> > >No. Solo la de B que es el primero que encuentra sin contar con >el de D (que se saltea por el mismo super.) >Puedes saber el orden de resolución de la jerarquía de clases >con el atributo __mro__ (de method resolution order.) > > > >>>>print "mro: ", C.__mro__ >>>> >>>> >mro: (, , >, ) > > > >-H. > >_______________________________________________ >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): 0443-2, 21/10/2004 Comprobado en: 26/10/2004 15:53:58 avast! tiene los derechos reservados (c) 2000-2004 ALWIL Software. http://www.avast.com From py en ch3m4.org Tue Oct 26 15:58:08 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Tue, 26 Oct 2004 15:58:08 +0200 Subject: Proteccion de datos personales In-Reply-To: <417E4584.3000305@hispasec.com> References: <200410261351.37268.py@ch3m4.org> <417E4584.3000305@hispasec.com> Message-ID: <200410261558.11586.py@ch3m4.org> On Tuesday 26 October 2004 14:39, Julio Canto wrote: > Yo mire hace tiempo ese tema, y lo que vi estaba basado en llamar a GPG > desde linea de comandos, asi que hice mi propia version para Windows > (vease, lo mismo solo que con algunos parametros mas para la libreria > del idea). Según estoy viendo, se puede utilizar la librería GPGME (GnuPG Made Easy ). Existe un proyecto para python, PyME , que podría funcionar en windows si se compila con Mingw32. Agradezco las respuestas en las que me aconsejan usar clave simétrica, pero algo que no había comentado es que al repositorio donde se colocarán los ficheros será común a varios usuarios. No puedo arriesgarme a que, por algún error de programación, un médico pueda acceder a datos que no son suyos. Podría utilizar una clave diferente para cada médico, pero la administración de claves se complicaría demasiado, y no sería tan seguro como en el cifrado asimétrico. ------------ 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 python en ammsoft.com Tue Oct 26 16:32:13 2004 From: python en ammsoft.com (Amm-Python) Date: Tue, 26 Oct 2004 16:32:13 +0200 Subject: Proteccion de datos personales In-Reply-To: <200410261351.37268.py@ch3m4.org> References: <200410261351.37268.py@ch3m4.org> Message-ID: <000001c4bb68$979517e0$640010ac@nombref31twj9b> A lo mejor no te he entendido, pero creo que la solución es usar un protocolo tipo SSH2 Yo le estoy echando un vistazo a esta solución y pinta muy bien http://www.lag.net/~robey/paramiko/ En cualquier otro caso las pruebas que he hecho con pycrypto han sido del todo satisfactorias http://www.amk.ca/python/code/crypto.html Ejemplo de uso del algoritmo Blowfish from Crypto.Cipher import Blowfish from base64 import encodestring, decodestring from string import rstrip key = "secuencia de caracteres que sirve de llave" def Cifrar(ori): """Cifra un string""" cipher = Blowfish.new(key) k = len(ori) % 8 if k != 0: #ahorma con espacios si no es multiplo de 8 ori = ori + (" " * (8-(len(ori) % 8))) s = rstrip(encodestring(cipher.encrypt(ori))) return(s) def Descifrar(ori): """Desifra un string""" cipher = Blowfish.new(key) s = cipher.decrypt(decodestring(ori)) s = rstrip(s) #quitar los espacios por la derecha; return s Creo recordar que hasta hay opciones de encriptar ficheros. Y con referencia concreta a GnuPG puedes mirarte http://py-gnupg.sourceforge.net/ Todavía no lo he mirado. Espero que te sirva. -----Mensaje original----- De: python-es-bounces en aditel.org [mailto:python-es-bounces en aditel.org] En nombre de Chema Cortés Enviado el: dimarts, 26 / octubre / 2004 13:52 Para: python-es en aditel.org Asunto: [Python-es] Proteccion de datos personales Tengo que intercambiar datos de tipo personal muy sensibles a través de un canal público (o sea, por internet, con alojamiento temporal breve en algún servidor). En lo primero que he pensado es en cifrar la información mediante algún algoritmo de clave pública como GnuPG. Necesito una solución que funcione tanto en linux como en windows, y que sea tan simple que puede ser usada hasta por un médico (no creo que exista peor perfil para describir un usuario :-P). ¿Existe alguna librería para python que facilite el cifrado/firmado GnuPG o tengo que llamar directamente a la línea de comandos? ¿Existe alguna alternativa más adecuada? Quisiera que no se utilizaran ficheros temporales sin codificar. Aunque el volumen de datos no lo hace necesario, opcionalmente podría considerar el uso de algún gestor de base de datos (postgres, MSDE,...). From py en ch3m4.org Tue Oct 26 16:35:14 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Tue, 26 Oct 2004 16:35:14 +0200 Subject: Proteccion de datos personales In-Reply-To: <20041026134801.GA925@marmota> References: <200410261351.37268.py@ch3m4.org> <20041026134801.GA925@marmota> Message-ID: <200410261635.22513.py@ch3m4.org> On Tuesday 26 October 2004 15:48, luis miguel morillas wrote: > Además del pycrypto que ya te han comentado, una vez vi el openPGP[1], pero > nunca lo he probado No son dos cosas separadas, ya que openPGP requiere pycrypto. Se supone que con toda la artillería que te da pycrypto/libcrypto se puede implementar el protocolo openPGP, pero desde gnupg se recomienda que se use gpgme para "centralizar" mejor el mantenimiento de bugs. ------------ 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 py en ch3m4.org Tue Oct 26 16:45:06 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Tue, 26 Oct 2004 16:45:06 +0200 Subject: Proteccion de datos personales In-Reply-To: <000001c4bb68$979517e0$640010ac@nombref31twj9b> References: <000001c4bb68$979517e0$640010ac@nombref31twj9b> Message-ID: <200410261645.07036.py@ch3m4.org> On Tuesday 26 October 2004 16:32, Amm-Python wrote: > A lo mejor no te he entendido, pero creo que la solución es usar un > protocolo tipo SSH2 > Yo le estoy echando un vistazo a esta solución y pinta muy bien > http://www.lag.net/~robey/paramiko/ No es un problema de conexión. Los ficheros se almacenan temporalmente en un repositorio para ser descargados por los usuarios bajo demanda. > En cualquier otro caso las pruebas que he hecho con pycrypto han sido > del todo satisfactorias > http://www.amk.ca/python/code/crypto.html Ya lo había visto. Invoca al GnuPG desde la línea de comandos, lo que obliga a usar ficheros temporales con los datos en claro, algo que quisiera evitar. Si no consigo hacer funcionar el GPGME, intentaría esta vía. ------------ 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 rapto en arrakis.es Tue Oct 26 16:58:47 2004 From: rapto en arrakis.es (=?ISO-8859-1?Q?Marcos_S=E1nchez_Provencio?=) Date: Tue, 26 Oct 2004 16:58:47 +0200 Subject: Proteccion de datos personales In-Reply-To: <200410261645.07036.py@ch3m4.org> References: <000001c4bb68$979517e0$640010ac@nombref31twj9b> <200410261645.07036.py@ch3m4.org> Message-ID: <417E6627.6050209@arrakis.es> Chema Cortés escribió: >>En cualquier otro caso las pruebas que he hecho con pycrypto han sido >>del todo satisfactorias >>http://www.amk.ca/python/code/crypto.html >> >> > >Ya lo había visto. Invoca al GnuPG desde la línea de comandos, lo que obliga a >usar ficheros temporales con los datos en claro, algo que quisiera evitar. Si >no consigo hacer funcionar el GPGME, intentaría esta vía. > > Que llame a GnuPG no significa que use ficheros, ¿no? Puede usar esetedines y esetedoutes... Por otra parte, ¿se puede forzar a usar sistemas de ficheros en RAM? ¿Es tan crítico que no vas a poder usar memoria paginable? From joolivar en ing.uchile.cl Tue Oct 26 17:02:41 2004 From: joolivar en ing.uchile.cl (OLIVAREZ COTAL JOSE LUIS) Date: Tue, 26 Oct 2004 12:02:41 -0300 (CLST) Subject: Proteccion de datos personales In-Reply-To: <000001c4bb68$979517e0$640010ac@nombref31twj9b> References: <000001c4bb68$979517e0$640010ac@nombref31twj9b> Message-ID: Tal vez sea mejor usar el modulo ssl de python suerte On Tue, 26 Oct 2004, Amm-Python wrote: > A lo mejor no te he entendido, pero creo que la solución es usar un > protocolo tipo SSH2 > Yo le estoy echando un vistazo a esta solución y pinta muy bien > http://www.lag.net/~robey/paramiko/ > > En cualquier otro caso las pruebas que he hecho con pycrypto han sido > del todo satisfactorias > http://www.amk.ca/python/code/crypto.html > > Ejemplo de uso del algoritmo Blowfish > > > from Crypto.Cipher import Blowfish > from base64 import encodestring, decodestring > from string import rstrip > > key = "secuencia de caracteres que sirve de llave" > > def Cifrar(ori): > """Cifra un string""" > cipher = Blowfish.new(key) > > k = len(ori) % 8 > if k != 0: #ahorma con espacios si no es multiplo de 8 > ori = ori + (" " * (8-(len(ori) % 8))) > > s = rstrip(encodestring(cipher.encrypt(ori))) > > return(s) > > def Descifrar(ori): > """Desifra un string""" > cipher = Blowfish.new(key) > > s = cipher.decrypt(decodestring(ori)) > s = rstrip(s) #quitar los espacios por la derecha; > > return s > > Creo recordar que hasta hay opciones de encriptar ficheros. > > Y con referencia concreta a GnuPG puedes mirarte > http://py-gnupg.sourceforge.net/ > Todavía no lo he mirado. > > Espero que te sirva. > > -----Mensaje original----- > De: python-es-bounces en aditel.org [mailto:python-es-bounces en aditel.org] > En nombre de Chema Cortés > Enviado el: dimarts, 26 / octubre / 2004 13:52 > Para: python-es en aditel.org > Asunto: [Python-es] Proteccion de datos personales > > > Tengo que intercambiar datos de tipo personal muy sensibles a través de > un > canal público (o sea, por internet, con alojamiento temporal breve en > algún > servidor). > > En lo primero que he pensado es en cifrar la información mediante algún > algoritmo de clave pública como GnuPG. Necesito una solución que > funcione > tanto en linux como en windows, y que sea tan simple que puede ser usada > > hasta por un médico (no creo que exista peor perfil para describir un > usuario :-P). > > ¿Existe alguna librería para python que facilite el cifrado/firmado > GnuPG o > tengo que llamar directamente a la línea de comandos? ¿Existe alguna > alternativa más adecuada? > > Quisiera que no se utilizaran ficheros temporales sin codificar. Aunque > el > volumen de datos no lo hace necesario, opcionalmente podría considerar > el uso > de algún gestor de base de datos (postgres, MSDE,...). > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > O O ---------------------------oOOo--U--oOOo------------------------------------- José Olivares C. e-mail : joolivar en cec.uchile.cl Ingenieria Civil en Electrico. joolivar en gorrion.die.uchile.cl Universidad de Chile. joolivar en poch.cl ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From soulkiller en teleline.es Tue Oct 26 17:25:28 2004 From: soulkiller en teleline.es (soul) Date: Tue, 26 Oct 2004 17:25:28 +0200 Subject: =?iso-8859-1?q?Funci=F3n?= que envia correo con varios archivos adjuntos Message-ID: <1098804327.2949.4.camel@Zeus> He estado estos días recopilando información para crear un función para el envío de mail con varios adjuntos. Pues esto es lo que he sacado, espero que os sirva y ya sabéis, cualquier mejora que se introduzca posteadla en la lista. Saludos Soul import smtplib, sys, MimeWriter, StringIO, base64, mimetypes def sendMail(server='localhost',emisor='',receptor='',asunto='asunto',contenido=None,contenidoHTML=None,ficheros=None): server=smtplib.SMTP(server) #server.set_debuglevel(1) #Creamos el mensaje por partes message = StringIO.StringIO() writer = MimeWriter.MimeWriter (message) #Añadimos la cabecera del asunto writer.addheader ('Subject',asunto) writer.startmultipartbody ('mixed') #Añadimos el cuerpo del email if contenido != None: part = writer.nextpart() body = part.startbody('text/plain') body.write(contenido) #Añadimos el cuerpo del email en HTML if contenidoHTML != None: part = writer.nextpart() body = part.startbody('text/html') body.write(contenidoHTML) #Añadimos los adjuntos que se indican en la lista ficheros #Los ficheros debe tener rutas absolutas, creo :-P #la variable ficheros es un lista con las rutas absolutas de los #ficheros a adjuntar for f in ficheros: part = writer.nextpart() part.addheader ('Content-Transfer-Encoding' , 'base64') part.addheader ("Content-Disposition" , 'atachment;filename='+f) #Obtenemos el mime del fichero mimetype=mimetypes.guess_type(f)[0] or 'application/octet-stream' body = part.startbody (mimetype , [(f,f)]) body.write(base64.encode(open(f,'rb'), body)) #Terminamos el mensaje por partes writer.lastpart () server.sendmail (emisor, receptor, message.getvalue()) server.quit() ------------ 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 Oct 26 17:17:11 2004 From: hernan en orgmf.com.ar (=?iso-8859-1?Q?Hern=E1n_Mart=EDnez_Foffani?=) Date: Tue, 26 Oct 2004 17:17:11 +0200 Subject: Funcion super() In-Reply-To: <417E56F5.3030707@sicem.biz> References: <417E56F5.3030707@sicem.biz> Message-ID: > class A(object): > def meth(self): > print "A" > > class B(A): > def meth(self): > print "B" > super(B,self).meth() > > class C(A): > def meth(self): > print "C" > super(C,self).meth() > > class D(B,C): > def meth(self): > print "D" > super(D,self).meth() > > >>> d=D() > >>> d.meth() > D > B > C > A > > es dedir, con un super(...).meth() se llama el método de las dos (!) > clases bases. (He leído alguna vez algo sobre clases cooperativas.) Lo que pasa es que llamas a super en cada metodo de las superclases (eso es lo que las hace cooperativas.) Si cada superclase invoca a super obtienes lo que muestras en tu ejemplo y esa es la ventaja de super, que te permite recorrer el grafo solo una vez. El caso de uso es cuando queremos extender la funcionalidad de un metodo. Lo que normalmente hacemos es reemplazar ese metodo y en el metodo reemplazado programamos nuestra especializacion e invocamos al metodo base (o al reves, primero invocamos al metodo base y luego especializamos). En herencia simple daría lo mismo decir def meth(): print "B" super(B,self).meth() que def meth(): print "B" A.meth(self) pero en el caso de herencia multiple (con la jerarquía de tu ejemplo) si usáramos la forma tradicional deberíamos hacer (para D, B y C respectivamente) algo como: def meth(): def meth(): def meth(): print "D" print "B" print "C" B.meth(self) A.meth(self) A.meth(self) C.meth(self) El resultado es que A.meth(self) se llama ¡DOS VECES! B y C son clases cooperativas porque para invocar al metodo sobreescrito de la clase base (A) utilizan super. En una jerarquía de clases de tipo herencia simple tanto B como C funcionan igual si llamaran a A.meth(), es decir que no habría diferencias para instancias de B o C si usan la primera o la segunda forma. Puede parecer curioso y es dificil de ver a primera vista, pero si en tu ejemplo B no utilizara super y llamara a la superclase con A.meth(self) el resultado es que se saltea ¡C! super asegura el recorrido de la cadena de llamados. En definitiva, son cooperativas porque permiten que un tercero D pueda heredar de *ambas*. Si todas utilizan super, el grafo se recorre una vez para toda la jerarquía. -H. From py en ch3m4.org Tue Oct 26 17:35:06 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Tue, 26 Oct 2004 17:35:06 +0200 Subject: Proteccion de datos personales In-Reply-To: <417E6627.6050209@arrakis.es> References: <000001c4bb68$979517e0$640010ac@nombref31twj9b> <200410261645.07036.py@ch3m4.org> <417E6627.6050209@arrakis.es> Message-ID: <200410261735.10592.py@ch3m4.org> On Tuesday 26 October 2004 16:58, Marcos Sánchez Provencio wrote: > Chema Cortés escribió: > >>En cualquier otro caso las pruebas que he hecho con pycrypto han sido > >>del todo satisfactorias > >>http://www.amk.ca/python/code/crypto.html > > > >Ya lo había visto. Invoca al GnuPG desde la línea de comandos, lo que > > obliga a usar ficheros temporales con los datos en claro, algo que > > quisiera evitar. Si no consigo hacer funcionar el GPGME, intentaría esta > > vía. > > Que llame a GnuPG no significa que use ficheros, ¿no? Puede usar > esetedines y esetedoutes... En linux no habría problema, pero desconozco si será así con el GPG en windows. No he hecho ninguna prueba, ahora tan sólo estoy recogiendo ideas. Quisiera que se pudiera interactuar con una base de datos, de modo que los datos se almacenen cifrados. Preferiría no sobrecargar el sistema creando ficheros temporales con cada acceso a los registros. > Por otra parte, ¿se puede forzar a usar sistemas de ficheros en RAM? ¿Es > tan crítico que no vas a poder usar memoria paginable? Aunque se trataría información muy sensible, no resulta tan crítico como para necesitar controlar el paginado de memoria. Por desgracia, un ordenador personal con windows ya es suficientemente inseguro por sí mismo como para preocuparse con más. Tan sólo quiero evitar, en lo posible, que algún error pueda dejar información accesible libremente. ------------ 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 erny en sicem.biz Tue Oct 26 18:42:47 2004 From: erny en sicem.biz (Ernesto Revilla) Date: Tue, 26 Oct 2004 18:42:47 +0200 Subject: =?ISO-8859-15?Q?Funci=F3n_que_envia_correo?= =?ISO-8859-15?Q?_con_varios_archivos__adjuntos?= In-Reply-To: <1098804327.2949.4.camel@Zeus> References: <1098804327.2949.4.camel@Zeus> Message-ID: <417E7E87.4080909@sicem.biz> Hola, había escrito hace tiempo una función similiar que lo puse en mis recetas Python: http://www.sicem.biz/personal/erny/python/Recetas/recetaEnviarMailConAttachments Te agradecería que lo comparase y me comentes cualquier mejora que tiene tu función. Por cierto, hay una librería para resolver entradas DNS de tipo MX (originalmente del mismo Guido) que siempre viene bien para tener a mano, si no usas un smarthost (estoy tan quemado de los proveedores de Internet!!!!): http://pydns.sourceforge.net/ Saludos, Erny soul escribió: >He estado estos días recopilando información para crear un función para >el envío de mail con varios adjuntos. Pues esto es lo que he sacado, >espero que os sirva y ya sabéis, cualquier mejora que se introduzca >posteadla en la lista. > >Saludos >Soul > >import smtplib, sys, MimeWriter, StringIO, base64, mimetypes > >def >sendMail(server='localhost',emisor='',receptor='',asunto='asunto',contenido=None,contenidoHTML=None,ficheros=None): > > > server=smtplib.SMTP(server) > #server.set_debuglevel(1) > #Creamos el mensaje por partes > message = StringIO.StringIO() > writer = MimeWriter.MimeWriter (message) > #Añadimos la cabecera del asunto > writer.addheader ('Subject',asunto) > writer.startmultipartbody ('mixed') > > #Añadimos el cuerpo del email > if contenido != None: > part = writer.nextpart() > body = part.startbody('text/plain') > body.write(contenido) > #Añadimos el cuerpo del email en HTML > if contenidoHTML != None: > part = writer.nextpart() > body = part.startbody('text/html') > body.write(contenidoHTML) > > #Añadimos los adjuntos que se indican en la lista ficheros > #Los ficheros debe tener rutas absolutas, creo :-P > #la variable ficheros es un lista con las rutas absolutas de los > #ficheros a adjuntar > for f in ficheros: > part = writer.nextpart() > part.addheader ('Content-Transfer-Encoding' , 'base64') > part.addheader ("Content-Disposition" , 'atachment;filename='+f) > #Obtenemos el mime del fichero > mimetype=mimetypes.guess_type(f)[0] or 'application/octet-stream' > body = part.startbody (mimetype , [(f,f)]) > body.write(base64.encode(open(f,'rb'), body)) > > > #Terminamos el mensaje por partes > writer.lastpart () > > server.sendmail (emisor, receptor, message.getvalue()) > server.quit() > > >------------------------------------------------------------------------ > >_______________________________________________ >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): 0443-2, 21/10/2004 Comprobado en: 26/10/2004 18:42:49 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 soulkiller en teleline.es Tue Oct 26 21:26:43 2004 From: soulkiller en teleline.es (soul) Date: Tue, 26 Oct 2004 21:26:43 +0200 Subject: =?ISO-8859-1?Q?Funci=F3n?= que envia correo con varios archivos adjuntos In-Reply-To: <417E7E87.4080909@sicem.biz> References: <1098804327.2949.4.camel@Zeus> <417E7E87.4080909@sicem.biz> Message-ID: <1098818802.3698.16.camel@Zeus> Ernesto he estado viendo tu función y la verdad es que son muy parecidas. Yo he incorporado en el mía la posibilidad de mostrar el cuerpo de mensaje en HTML, pero poco más. La tuya parece que tiene en cuenta también el charset, eso no lo comprobé en la mía. Eso sí, la tuya me parece un pelín mas "liada" :-P respecto al código, por ejemplo: ctype, encoding = mimetypes.guess_type(archivo) if ctype is None or encoding is not None: ctype = 'application/octet-stream' lo podrias substituir por: ctype = mimetypes.guess_type(archivo) or 'application/octet-stream' A ver si entre todos sacamos un "hibrido" mejorado. Saludos Soul ------------ 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 Oct 27 12:48:48 2004 From: lcatalin en siadv.com (Catalin Lungu) Date: Wed, 27 Oct 2004 12:48:48 +0200 Subject: Python vs PHP References: <000b01c4bb49$51f3b7b0$d900a8c0@catalin> <200410261428.16812.py@ch3m4.org> Message-ID: <003d01c4bc12$8c7c8320$d900a8c0@catalin> Muchas gracias por toda la información. En la http://www.python.org/cgi-bin/moinmoin/WebProgramming vienen un montón de herramientas que la mayoría no conozco. Que les parece mas fácil de usar Apache + mod_python + Python o Zope + Python. He leído que la primera opción no da el rendimiento que da la segunda. ----- Original Message ----- From: "Chema Cortés" To: "La lista de python en castellano" Sent: Tuesday, October 26, 2004 2:28 PM Subject: Re: [Python-es] Python vs PHP _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From py en ch3m4.org Wed Oct 27 13:18:24 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Wed, 27 Oct 2004 13:18:24 +0200 Subject: Python vs PHP In-Reply-To: <003d01c4bc12$8c7c8320$d900a8c0@catalin> References: <000b01c4bb49$51f3b7b0$d900a8c0@catalin> <200410261428.16812.py@ch3m4.org> <003d01c4bc12$8c7c8320$d900a8c0@catalin> Message-ID: <200410271318.29247.py@ch3m4.org> On Wednesday 27 October 2004 12:48, Catalin Lungu wrote: > Muchas gracias por toda la información. En la > http://www.python.org/cgi-bin/moinmoin/WebProgramming vienen un montón de > herramientas que la mayoría no conozco. Que les parece mas fácil de usar > Apache + mod_python + Python o Zope + Python. He leído que la primera > opción no da el rendimiento que da la segunda. ¿? ¿qué se entiende por "rendimiento"? Por productividad, el zope es un sistema bastante productivo. Tiene procesamiento de plantillas, posee entornos de ejecución controlado, y posee una orientación a objetos a través de reglas de adquisición que ayuda mucho a estructurar y a delegar contenidos. Por otro lado, apache+mod_python no llega a ser todavía nada. Tendrás que añadirle alguna cosa más para procesar plantillas (cheetah, etc) o de algún framework para facilitar el uso de sesiones, cookies, etc. Pero nunca esperes llegar a algo parecido al zope por ese camino. Si estás algo perdido entre tanta maraña, te aconsejo que empieces por algunas cosa sencilla. Por ejemplo, mírate el tutorial y el howto de cherrypy con el que conocerás las técnicas de programación de páginas webs, o iníciate con el sencillo pyweb para hacerte una páginas web en unos minutos. Tampoco dejes de visitar el proyecto "Python Web" , cuyo objetivo es hacer de python el mejor lenguaje para hacer páginas webs. ------------ 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 lordzealon en ono.com Wed Oct 27 14:00:03 2004 From: lordzealon en ono.com (Lord ZealoN) Date: Wed, 27 Oct 2004 14:00:03 +0200 Subject: Python en Ubuntu Linux Message-ID: <417F8DC3.602@ono.com> Hola a todos de nuevo (buff cuanto tiempo sin escribir) Dentro de poco voy a instalarm Ubuntu Linux (una distribución basada en Debian que parece está pegando muy fuerte) y me gustaría saber si alguien que ya la haya probado, puede comentarme que tal es el soporte de python en esta distro. Al igual, si alguien ya la tiene instalada, me gustaría saber que tal va esa distribución Un saludo. -- Lord_ZealoN (Project Leader) Fire&Ice Studios (http://www.fireicestudios.com) Don't dream, PLAY! From c_visual2000 en hotmail.com Wed Oct 27 14:17:55 2004 From: c_visual2000 en hotmail.com (Fernando Carlini) Date: Wed, 27 Oct 2004 09:17:55 -0300 Subject: Python en Ubuntu Linux Message-ID: Hola: Yo estoy esperando que me llegue, todavia no la tengo,pero parece bastante buena, si alguien sabe que tal es, por favor comentesn >From: Lord ZealoN >Reply-To: La lista de python en castellano >To: La lista de python en castellano >Subject: [Python-es] Python en Ubuntu Linux >Date: Wed, 27 Oct 2004 14:00:03 +0200 > >Hola a todos de nuevo (buff cuanto tiempo sin escribir) > >Dentro de poco voy a instalarm Ubuntu Linux (una distribución basada en >Debian que parece está pegando muy fuerte) y me gustaría saber si alguien >que ya la haya probado, puede comentarme que tal es el soporte de python en >esta distro. > >Al igual, si alguien ya la tiene instalada, me gustaría saber que tal va >esa distribución > >Un saludo. >-- >Lord_ZealoN (Project Leader) >Fire&Ice Studios (http://www.fireicestudios.com) >Don't dream, PLAY! >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es _________________________________________________________________ MSN Amor: busca tu ½ naranja http://latam.msn.com/amor/ From sergifaber en gmail.com Wed Oct 27 14:20:47 2004 From: sergifaber en gmail.com (Sergi Faber) Date: Wed, 27 Oct 2004 14:20:47 +0200 Subject: Python vs PHP In-Reply-To: <000b01c4bb49$51f3b7b0$d900a8c0@catalin> References: <000b01c4bb49$51f3b7b0$d900a8c0@catalin> Message-ID: <74d1a16304102705202772ef6c@mail.gmail.com> On Tue, 26 Oct 2004 12:48:24 +0200, Catalin Lungu wrote: > Hola, > Tiene sentido esto. Si tiene entonces cual es el conjunto de herramientas a usar para realizar una aplicación WEB con uno y con otro. Ventajas, desventajas. Bueno, como ves alternativas para programar aplicaciones web con python tienes bastantes y ya te han indicado algunas. Como veo que nadie lo suele recomendar y puede que responda perfectamente a tus necesidades, voy a llevar un poco la contraria y decirte que le eches un ojo a Spyce . Yo solo he jugado un poco por encima con spyce y no tengo quejas. Funciona via cgi, fastcgi o mod_python y puedes usarlo tranquilamente con cheetah y otras plantillas. Puedes hacerte una idea inmediata de sus características y si te gusta espero verte por la lista de spyce, pequeña pero con «caliu» como decimos por mi pueblo. Salut! -- Sergi Faber From pachi en mmn-arquitectos.com Wed Oct 27 14:23:47 2004 From: pachi en mmn-arquitectos.com (Rafael Villar Burke) Date: Wed, 27 Oct 2004 14:23:47 +0200 Subject: Python en Ubuntu Linux In-Reply-To: <417F8DC3.602@ono.com> References: <417F8DC3.602@ono.com> Message-ID: <417F9353.4040007@mmn-arquitectos.com> Lord ZealoN wrote: > Hola a todos de nuevo (buff cuanto tiempo sin escribir) > > Dentro de poco voy a instalarm Ubuntu Linux (una distribución basada > en Debian que parece está pegando muy fuerte) y me gustaría saber si > alguien que ya la haya probado, puede comentarme que tal es el soporte > de python en esta distro. > > Al igual, si alguien ya la tiene instalada, me gustaría saber que tal > va esa distribución > > Un saludo. Una de los puntos básicos de Ubuntu es "Python por doquier"... Mark Shuttleworth, el que ha patrocinado la empresa es un defensor acérrimo de python, así que el soporte no es bueno... es mejor. Pachi From lordzealon en ono.com Wed Oct 27 14:43:41 2004 From: lordzealon en ono.com (Lord ZealoN) Date: Wed, 27 Oct 2004 14:43:41 +0200 Subject: Python en Ubuntu Linux In-Reply-To: <417F9353.4040007@mmn-arquitectos.com> References: <417F8DC3.602@ono.com> <417F9353.4040007@mmn-arquitectos.com> Message-ID: <417F97FC.5070305@ono.com> Rafael Villar Burke escribió: > Lord ZealoN wrote: > >> Hola a todos de nuevo (buff cuanto tiempo sin escribir) >> >> Dentro de poco voy a instalarm Ubuntu Linux (una distribución basada >> en Debian que parece está pegando muy fuerte) y me gustaría saber si >> alguien que ya la haya probado, puede comentarme que tal es el soporte >> de python en esta distro. >> >> Al igual, si alguien ya la tiene instalada, me gustaría saber que tal >> va esa distribución >> >> Un saludo. > > > Una de los puntos básicos de Ubuntu es "Python por doquier"... > Mark Shuttleworth, el que ha patrocinado la empresa es un defensor > acérrimo de python, así que el soporte no es bueno... es mejor. > > Pachi > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > Buas, mejor que mejor. Yo también lo he pedido, pero no he podido esperarme y me me he bajado a livecd....pero como soy tan impaciente...por la mañana descargué la livecd y por la tarde deje descargando la distro completa por si me gustaba. Hablando de todo un poco. Lo que sigo sin entender es....un tío que es megaultramillonario...porque "malgasta" su dinero en crear una empresa, pagar empleados etc...para ofrecer una distro gratuita...donde está el truco? De donde le vienen los ingresos a este pecualiar personaje? Un saludo. -- Lord_ZealoN (Project Leader) Fire&Ice Studios (http://www.fireicestudios.com) Don't dream, PLAY! From jcea en argo.es Wed Oct 27 14:48:04 2004 From: jcea en argo.es (Jesus Cea Avion) Date: Wed, 27 Oct 2004 14:48:04 +0200 Subject: Python en Ubuntu Linux References: <417F8DC3.602@ono.com> <417F9353.4040007@mmn-arquitectos.com> <417F97FC.5070305@ono.com> Message-ID: <417F9904.DBCE1642@argo.es> > Lo que sigo sin entender es....un tío que es > megaultramillonario...porque "malgasta" su dinero en crear una empresa, > pagar empleados etc...para ofrecer una distro gratuita...donde está el > truco? De donde le vienen los ingresos a este pecualiar personaje? Si eresmegaultra millonario, no necesitas que haya truco. Hay quien se lo gasta en coches caros o en un avión privado. Éste se lo gasta en "karma" :-) -- 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 correo en sevein.com Wed Oct 27 14:51:01 2004 From: correo en sevein.com (=?ISO-8859-1?Q?Jes=FAs_Garc=EDa?= Crespo (aka Sevein)) Date: Wed, 27 Oct 2004 14:51:01 +0200 Subject: Python en Ubuntu Linux In-Reply-To: <417F97FC.5070305@ono.com> References: <417F8DC3.602@ono.com> <417F9353.4040007@mmn-arquitectos.com> <417F97FC.5070305@ono.com> Message-ID: <20041027145101.4ce4ba64@jesus.sevein.red> Digo yo que con tanto dinero no pensará en ingresos, :). Hará lo que más le apetezca y le guste e igual intenta buscar autosatisfacción haciendo algo por los demás, :). E incluso después de todo eso, seguro que le sobra dinero, hehehe... -- Jesús García Crespo (aka Sevein) http://www.sevein.com correo en sevein.com GnuGP key ID: E2DB17E8 (pgp.escomposlinux.org) ------------ 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 lordzealon en ono.com Wed Oct 27 14:58:58 2004 From: lordzealon en ono.com (Lord ZealoN) Date: Wed, 27 Oct 2004 14:58:58 +0200 Subject: Python en Ubuntu Linux In-Reply-To: <417F9904.DBCE1642@argo.es> References: <417F8DC3.602@ono.com> <417F9353.4040007@mmn-arquitectos.com> <417F97FC.5070305@ono.com> <417F9904.DBCE1642@argo.es> Message-ID: <417F9B92.8000505@ono.com> Jesus Cea Avion escribió: >>Lo que sigo sin entender es....un tío que es >>megaultramillonario...porque "malgasta" su dinero en crear una empresa, >>pagar empleados etc...para ofrecer una distro gratuita...donde está el >>truco? De donde le vienen los ingresos a este pecualiar personaje? > > > Si eresmegaultra millonario, no necesitas que haya truco. Hay quien se > lo gasta en coches caros o en un avión privado. Éste se lo gasta en > "karma" :-) > Dios... quiero conocer a ese tío xDDDD Millonario, solidario y encima gastando su dinero en apoyar al software libre y linuxero. Juas, que utopía , no me lo negareis. -- Lord_ZealoN (Project Leader) Fire&Ice Studios (http://www.fireicestudios.com) Don't dream, PLAY! From jcea en argo.es Wed Oct 27 15:05:17 2004 From: jcea en argo.es (Jesus Cea Avion) Date: Wed, 27 Oct 2004 15:05:17 +0200 Subject: Python en Ubuntu Linux References: <417F8DC3.602@ono.com> <417F9353.4040007@mmn-arquitectos.com> <417F97FC.5070305@ono.com> <417F9904.DBCE1642@argo.es> <417F9B92.8000505@ono.com> Message-ID: <417F9D0C.4BFA86C8@argo.es> > Millonario, solidario y encima gastando su dinero en apoyar al software > libre y linuxero. Yo conozco mucha gente de voluntariado por ahí y no veo la contradicción. -- 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 lordzealon en ono.com Wed Oct 27 15:08:21 2004 From: lordzealon en ono.com (Lord ZealoN) Date: Wed, 27 Oct 2004 15:08:21 +0200 Subject: Python en Ubuntu Linux In-Reply-To: <417F9D0C.4BFA86C8@argo.es> References: <417F8DC3.602@ono.com> <417F9353.4040007@mmn-arquitectos.com> <417F97FC.5070305@ono.com> <417F9904.DBCE1642@argo.es> <417F9B92.8000505@ono.com> <417F9D0C.4BFA86C8@argo.es> Message-ID: <417F9DC5.1020108@ono.com> Jesus Cea Avion escribió: >>Millonario, solidario y encima gastando su dinero en apoyar al software >>libre y linuxero. > > > Yo conozco mucha gente de voluntariado por ahí y no veo la > contradicción. > La cuestión de mi frase, es el conjunto...es todo lo que he dicho más millonario. Yo no conozco mucha gente millonaria que le importe de verdad la informática y mucho menos vista desde el punto de vista del opensource y linux. Un saludo. -- Lord_ZealoN (Project Leader) Fire&Ice Studios (http://www.fireicestudios.com) Don't dream, PLAY! From jcea en argo.es Wed Oct 27 15:14:51 2004 From: jcea en argo.es (Jesus Cea Avion) Date: Wed, 27 Oct 2004 15:14:51 +0200 Subject: Python en Ubuntu Linux References: <417F8DC3.602@ono.com> <417F9353.4040007@mmn-arquitectos.com> <417F97FC.5070305@ono.com> <417F9904.DBCE1642@argo.es> <417F9B92.8000505@ono.com> <417F9D0C.4BFA86C8@argo.es> <417F9DC5.1020108@ono.com> Message-ID: <417F9F4B.89478FBF@argo.es> > Yo no conozco mucha gente millonaria que le importe de verdad la > informática y mucho menos vista desde el punto de vista del opensource > y linux. Yo no conozco mucha gente NORMAL que le interesen esos temas. -- 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 mghcorreo en hotmail.com Wed Oct 27 17:58:20 2004 From: mghcorreo en hotmail.com (moises Griott) Date: Wed, 27 Oct 2004 15:58:20 +0000 Subject: consulta basica Message-ID: una consulta creo que basica.. se que python es unnlenguje des scripting como el tcl no se si python sirve para trabajar en desarrollo web ??? en trabsacciones de baes de datos y si no puede entonces como un validador como javascript. en sintesis 1º deque manera puedo desarrollar y sacarle partido a python en el desarrollo web ? 2º que plataforma funciona mejor python, en windows o linux ? muchas gracias! _________________________________________________________________ MSN Amor: busca tu ½ naranja http://latam.msn.com/amor/ From matias.nnss en gmail.com Wed Oct 27 18:20:29 2004 From: matias.nnss en gmail.com (=?ISO-8859-1?Q?Mat=EDas_Palomec?=) Date: Wed, 27 Oct 2004 13:20:29 -0300 Subject: consulta basica In-Reply-To: References: Message-ID: <97275f64041027092021b54e03@mail.gmail.com> On Wed, 27 Oct 2004 15:58:20 +0000, moises Griott wrote: > una consulta creo que basica.. > se que python es unnlenguje des scripting como el tcl > no se si python sirve para trabajar en desarrollo web ??? > en trabsacciones de baes de datos > y si no puede entonces como un validador como javascript. > > en sintesis > > 1º deque manera puedo desarrollar y sacarle partido a python en el > desarrollo web ? Eps, ¿has programado en Perl o en Tcl páginas web? Yo por ahora en Python no he hecho nada con el módulo "cgi", pero he visto que en la página de python hay bastante documentación[0] [0] http://docs.python.org/lib/cgi-intro.html > > 2º que plataforma funciona mejor python, en windows o linux ? Yo nunca he utilizado python en Windows, pero lo he probado en FreeBSD, varias distribuciones de Linux y algún otro Unix*, y en realidad nunca he notado una REAL diferencia. Supongo que en Windows tampoco habrá tanta diferencia (posiblemente haya algunos detalles). -- Atentamente, yo Y sin fumar desde (casi) el '1089515700' http://www.nnss.d7.be Let one walk alone, commit no sin, with few wishes, like an elephant in the forest From soulkiller en teleline.es Wed Oct 27 19:47:30 2004 From: soulkiller en teleline.es (soul) Date: Wed, 27 Oct 2004 19:47:30 +0200 Subject: Python en Ubuntu Linux In-Reply-To: <417F9F4B.89478FBF@argo.es> References: <417F8DC3.602@ono.com> <417F9353.4040007@mmn-arquitectos.com> <417F97FC.5070305@ono.com> <417F9904.DBCE1642@argo.es> <417F9B92.8000505@ono.com> <417F9D0C.4BFA86C8@argo.es> <417F9DC5.1020108@ono.com> <417F9F4B.89478FBF@argo.es> Message-ID: <1098899249.2241.5.camel@Zeus> Personalmente pienso que independientemente de que sea millonario o no , ya está demostrado que se puede ganar dinero con el software libre . Pienso que ese debe ser uno de los puntos que mas claro deben tener las empresas ( y los usuarios ) para que el software libre pueda substituir al software privativo. Saludos, Soul P.S Je je creo que nos estamos desviando un poco del tema principal de este "hilo" no ? no tendriamos que poner un OFF TOPIC por algún lado ? ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From lars en telefonica.net Wed Oct 27 21:23:17 2004 From: lars en telefonica.net (lars) Date: Wed, 27 Oct 2004 21:23:17 +0200 Subject: Problema con .exe y urlopen Message-ID: <417FF5A5.6090603@telefonica.net> Hola, tengo un problema con un script que baja archivos, los archivos comprimidos a veces los baja bien y a veces los baja mal (que cosas), pero con los archivos .exe no hay manera, pego la funcion en cuestion: def descarga(dep): [...] input = urlopen(inst[dep][0]) # ruta completa del archivo en el servidor p.e. http://www.servidor.com/dir1/dir2/archivo.exe output = file(ruta+'\\test', 'w') output.write(input.read()) input.close() output.close() Bastante cutre, es esta la forma para bajar archivos? se os ocurre algo mejor? donde esta el fallo? Gracias. From erny en sicem.biz Wed Oct 27 21:47:07 2004 From: erny en sicem.biz (Ernesto Revilla) Date: Wed, 27 Oct 2004 21:47:07 +0200 Subject: Problema con .exe y urlopen In-Reply-To: <417FF5A5.6090603@telefonica.net> References: <417FF5A5.6090603@telefonica.net> Message-ID: <417FFB3B.8040504@sicem.biz> mal, los binarios los tienes que abrir con output = file(ruta+'\\test', 'wb') lo mejor es que lo escribas todo así con el 'w' creas archivos de texto que pueden terminar con una marca fin de archivo y que además pueden convertir saltos de líneas (NL) de Unix a CR/LF. Erny lars escribió: > Hola, tengo un problema con un script que baja archivos, los archivos > comprimidos a veces los baja bien y a veces los baja mal (que cosas), > pero con los archivos .exe no hay manera, pego la funcion en cuestion: > > def descarga(dep): > [...] > input = urlopen(inst[dep][0]) # ruta completa del archivo en el > servidor p.e. http://www.servidor.com/dir1/dir2/archivo.exe > output = file(ruta+'\\test', 'w') > output.write(input.read()) > input.close() > output.close() > > Bastante cutre, es esta la forma para bajar archivos? se os ocurre > algo mejor? donde esta el fallo? > > 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): 0443-2, 21/10/2004 Comprobado en: 27/10/2004 21:47:08 avast! tiene los derechos reservados (c) 2000-2004 ALWIL Software. http://www.avast.com From lars en telefonica.net Wed Oct 27 21:56:37 2004 From: lars en telefonica.net (lars) Date: Wed, 27 Oct 2004 21:56:37 +0200 Subject: Problema con .exe y urlopen In-Reply-To: <417FFB3B.8040504@sicem.biz> References: <417FF5A5.6090603@telefonica.net> <417FFB3B.8040504@sicem.biz> Message-ID: <417FFD75.9070104@telefonica.net> cierto, son esas pequeñas cosas que se pasan por alto :) Ernesto Revilla wrote: > mal, > los binarios los tienes que abrir con > output = file(ruta+'\\test', 'wb') > lo mejor es que lo escribas todo así > con el 'w' creas archivos de texto que pueden terminar con una marca > fin de archivo y que además pueden convertir saltos de líneas (NL) de > Unix a CR/LF. > > Erny > > lars escribió: > >> Hola, tengo un problema con un script que baja archivos, los archivos >> comprimidos a veces los baja bien y a veces los baja mal (que cosas), >> pero con los archivos .exe no hay manera, pego la funcion en cuestion: >> >> def descarga(dep): >> [...] >> input = urlopen(inst[dep][0]) # ruta completa del archivo en el >> servidor p.e. http://www.servidor.com/dir1/dir2/archivo.exe >> output = file(ruta+'\\test', 'w') >> output.write(input.read()) >> input.close() >> output.close() >> >> Bastante cutre, es esta la forma para bajar archivos? se os ocurre >> algo mejor? donde esta el fallo? >> >> 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): 0443-2, 21/10/2004 > Comprobado en: 27/10/2004 21:47:08 > 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 nan_lo2001 en yahoo.com Wed Oct 27 23:13:09 2004 From: nan_lo2001 en yahoo.com (Nan loz) Date: Wed, 27 Oct 2004 14:13:09 -0700 (PDT) Subject: funciones Message-ID: <20041027211309.11677.qmail@web21207.mail.yahoo.com> Hola de nuevo a todos. Tengo una pregunta en la que de pronto alguien me puede ayudar. Tengo el siguiente codigo en el que hago la misma cosa varias veces y siguiendo las sugerencias que he visto en los mensajes quiero convertirlo en funcion, pero no se si puedo hacerlo ya que mi condicion dentro del if esta cambiando tambien... cualquier sugerencia sobre como hacer esto de forma mas "elegante" es bien recibida. Mil gracias de antemano del cases del count for i in range(len(prost)): if (prost[i]['AgeRecode<1']=='00' or prost[i]['AgeRecode<1']=='01'): casesage04.append(prost[i]['State-county recode'] ) count=[0]*(len(codes)) for i in range(len(codes)): count[pos[i]]=casesage01.count(codes[i]) variables.append(count) del cases del count for i in range(len(prost)): if (prost[i]['AgeRecode<1']=='02'): casesage02.append(prost[i]['State-county recode'] ) count=[0]*(len(codes)) for i in range(len(codes)): count[pos[i]]=casesage02.count(codes[i]) variables.append(count) del cases del count for i in range(len(prost)): if (prost[i]['AgeRecode<1']=='03'): casesage03.append(prost[i]['State-county recode'] ) count=[0]*(len(codes)) for i in range(len(codes)): count[pos[i]]=casesage03.count(codes[i]) variables.append(count) __________________________________ Do you Yahoo!? Y! Messenger - Communicate in real time. Download now. http://messenger.yahoo.com ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From zephyr en arsystel.com Sat Oct 23 11:30:58 2004 From: zephyr en arsystel.com (zephyr en arsystel.com) Date: Sat, 23 Oct 2004 11:30:58 +0200 (CEST) Subject: OT: oferta de trabajo Message-ID: <10271.82.223.33.100.1098523858.squirrel@mail.arsystel.com> Estoy interesado en la oferta de trabajo, tengo conocimientos de Zope, el desarrollado el proyecto final de carrera en Zope con una nota de 8 puntos. Esta aún activa la oferta? Mi mail: zephyr en arsystel.com From alexmoreno en gluem.org Wed Oct 27 16:48:35 2004 From: alexmoreno en gluem.org (Alex Moreno) Date: Wed, 27 Oct 2004 16:48:35 +0200 Subject: Python vs PHP In-Reply-To: <74d1a16304102705202772ef6c@mail.gmail.com> References: <000b01c4bb49$51f3b7b0$d900a8c0@catalin> <74d1a16304102705202772ef6c@mail.gmail.com> Message-ID: <1098888515.10650.207378148@webmail.messagingengine.com> Hola, tengo que decir que este hilo me parece muy interesante. Algo que he estado buscando y que, aunque no he profundizado demasiado, no he logrado encontrar, es una libreria que permita separar el código html de python. Algo que deje el código como en geeklog, que puedes meter variables en html con las llaves {nombre_variable} y puedes usar bucles para secciones de código, etc. En el trabajo lo utilicé hace unos meses y, aunque se me quejaron porque el código en php no era demasiado intuitivo, el código html se quedaba "niquelao" :-). ¿Hay algo en python que siga esta filosofia? Un saludo. On Wed, 27 Oct 2004 14:20:47 +0200, "Sergi Faber" said: > On Tue, 26 Oct 2004 12:48:24 +0200, Catalin Lungu > wrote: > > Hola, > > Tiene sentido esto. Si tiene entonces cual es el conjunto de herramientas a usar para realizar una aplicación WEB con uno y con otro. Ventajas, desventajas. > > Bueno, como ves alternativas para programar aplicaciones web con > python tienes bastantes y ya te han indicado algunas. > > Como veo que nadie lo suele recomendar y puede que responda > perfectamente a tus necesidades, voy a llevar un poco la contraria y > decirte que le eches un ojo a Spyce . Yo > solo he jugado un poco por encima con spyce y no tengo quejas. > Funciona via cgi, fastcgi o mod_python y puedes usarlo tranquilamente > con cheetah y otras plantillas. Puedes hacerte una idea inmediata de > sus características > y si te gusta > espero verte por la lista de spyce, pequeña pero con «caliu» como > decimos por mi pueblo. > > Salut! > > -- > Sergi Faber > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es -- Alex Moreno From josu en ubera.net Thu Oct 28 09:48:58 2004 From: josu en ubera.net (Josu Oyanguren) Date: Thu, 28 Oct 2004 09:48:58 +0200 Subject: funciones In-Reply-To: <20041027211309.11677.qmail@web21207.mail.yahoo.com> References: <20041027211309.11677.qmail@web21207.mail.yahoo.com> Message-ID: <4180A46A.8000005@ubera.net> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hola, deberías evitar en lo posible los bucles tipo "for i in range(len(...". Es mucho más directo y pitónico hacer "for i in secuencia" que te devuelve los elementos de la secuencia por orden por ejemplo: | for i in range(len(prost)): | if (prost[i]['AgeRecode<1']=='00' or | prost[i]['AgeRecode<1']=='01'): | casesage04.append(prost[i]['State-county recode'] ) puede ser: for i in prost: ~ if i['AgeRecode<1']=='00' or i['AgeRecode<1']=='01': ~ casesage04.append(i['State-county recode']) y cuando quieres recorrer simultáneamente dos secuencias, yo encuentro más práctico y simple utilizar la función zip a = [1, 2, 3] b = ['a', 'b', 'c'] zip(a, b) # ==> [(1, 'a'), (2, 'b'), (3, 'c')] con lo que en vez de esto: | | count=[0]*(len(codes)) | for i in range(len(codes)): | count[pos[i]]=casesage01.count(codes[i]) | variables.append(count) | pudes poner esto: count=[0]*(len(codes)) for p, c in zip(pos, count): ~ count[p]=casesage01.count(c) variables.append(count) -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org iD8DBQFBgKRp5ju4HVxhuqQRAkNwAKC1sT1TwyLOLRg0Va4ooqN7b0I8ZwCffcRm lWrSXY3h+Fn4rk/GSZMA8EU= =OUIM -----END PGP SIGNATURE----- ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From lcatalin en siadv.com Thu Oct 28 10:20:36 2004 From: lcatalin en siadv.com (Catalin Lungu) Date: Thu, 28 Oct 2004 10:20:36 +0200 Subject: URLLIB Message-ID: <004a01c4bcc7$00e2bdb0$d900a8c0@catalin> Hola, A ver si me pueden decir si es posible rellenar una lista con todos los ficheros de un tal tipo de una web. Algo de forma: ["www.dominio.net/descargas/file1.exe", "www.dominio.net/download/file2.exe", "www.dominio.net/index.asp"]. Gracias, Catalin From py en ch3m4.org Thu Oct 28 10:38:20 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Thu, 28 Oct 2004 10:38:20 +0200 Subject: Python vs PHP In-Reply-To: <1098888515.10650.207378148@webmail.messagingengine.com> References: <000b01c4bb49$51f3b7b0$d900a8c0@catalin> <74d1a16304102705202772ef6c@mail.gmail.com> <1098888515.10650.207378148@webmail.messagingengine.com> Message-ID: <200410281038.24942.py@ch3m4.org> On Wednesday 27 October 2004 16:48, Alex Moreno wrote: > tengo que decir que este hilo me parece muy interesante. Algo que he > estado buscando y que, aunque no he profundizado demasiado, no he > logrado encontrar, es una libreria que permita separar el código html de > python. Algo que deje el código como en geeklog, que puedes meter > variables en html con las llaves {nombre_variable} y puedes usar bucles > para secciones de código, etc. En el trabajo lo utilicé hace unos meses > y, aunque se me quejaron porque el código en php no era demasiado > intuitivo, el código html se quedaba "niquelao" :-). ¿Hay algo en python > que siga esta filosofia? Creo que te estás refiriendo a las "plantillas" ("templates"). Existen muchos sistemas para preprocesar plantillas como el cheetah ó el spyce que hemos comentado, pero hay muchos más (cherrypy, pyhp , etc). Mírate la referencia que puse (http://www.python.org/cgi-bin/moinmoin/WebProgramming). Es ya bastante frecuente que los "frameworks" para crear aplicaciones web admitan cualquier sistema de plantillas, con lo que puedes reusar las plantillas de un sistema a otro. Por descontado, zope tiene uno de los sistemas de plantillas más completo, ZPT (Zope Page Template), del que se inspiran muchos otros sistemas. La ventaja de ZPT es que puedes crear plantillas "xml-conforme", con lo que pueden ser procesadas con las herramientas xml habituales. ------------ 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 Thu Oct 28 10:41:56 2004 From: pepe en diselpro.com (Pepe Aracil) Date: Thu, 28 Oct 2004 10:41:56 +0200 Subject: URLLIB In-Reply-To: <004a01c4bcc7$00e2bdb0$d900a8c0@catalin> References: <004a01c4bcc7$00e2bdb0$d900a8c0@catalin> Message-ID: <200410281041.56354.pepe@diselpro.com> Si el servidor al que te conectas tiene desactivado el listado de ficheros para esa url, lo veo un poco difícil. Otra forma es analizar los tags ,,... y ver los que apuntan al tipo de fichero que te interesa. Obviamente solo obtendrás los ficheros que tengan un enlace en la página. Salut. El Jueves, 28 de Octubre de 2004 10:20, Catalin Lungu escribió: > Hola, > A ver si me pueden decir si es posible rellenar una lista con todos los > ficheros de un tal tipo de una web. Algo de forma: > ["www.dominio.net/descargas/file1.exe", > "www.dominio.net/download/file2.exe", "www.dominio.net/index.asp"]. > > Gracias, > Catalin > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From ftricas en gmail.com Thu Oct 28 11:31:30 2004 From: ftricas en gmail.com (=?ISO-8859-1?Q?Fernando_Tricas_Garc=EDa?=) Date: Thu, 28 Oct 2004 11:31:30 +0200 Subject: URLLIB In-Reply-To: <200410281041.56354.pepe@diselpro.com> References: <004a01c4bcc7$00e2bdb0$d900a8c0@catalin> <200410281041.56354.pepe@diselpro.com> Message-ID: No entiendo lo del asp, pero tampoco hace falta nada raro: lynx -dump | grep http | grep exe Desde python puedes utilizar curl o alguna de esas que te proporcionarán cosas similares, pero creo que no entiendo bien la pregunta. On Thu, 28 Oct 2004 10:41:56 +0200, Pepe Aracil wrote: > Si el servidor al que te conectas tiene desactivado el listado de ficheros > para esa url, lo veo un poco difícil. > > Otra forma es analizar los tags ,,... y ver los que apuntan al tipo de > fichero que te interesa. Obviamente solo obtendrás los ficheros que tengan un > enlace en la página. > > Salut. > > El Jueves, 28 de Octubre de 2004 10:20, Catalin Lungu escribió: > > > > Hola, > > A ver si me pueden decir si es posible rellenar una lista con todos los > > ficheros de un tal tipo de una web. Algo de forma: > > ["www.dominio.net/descargas/file1.exe", > > "www.dominio.net/download/file2.exe", "www.dominio.net/index.asp"]. > > > > 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 > -- Fernando Tricas From lcatalin en siadv.com Thu Oct 28 10:11:55 2004 From: lcatalin en siadv.com (Catalin Lungu) Date: Thu, 28 Oct 2004 10:11:55 +0200 Subject: Python vs PHP References: <000b01c4bb49$51f3b7b0$d900a8c0@catalin><74d1a16304102705202772ef6c@mail.gmail.com> <1098888515.10650.207378148@webmail.messagingengine.com> Message-ID: <004301c4bcc5$ca7040f0$d900a8c0@catalin> No se si esto es exactamente lo que buscas por que ahora estoy empezando con esto y no me entero mucho, pero para que es el foro si no para dar opiniones. Adjunto una web que no me acuerdo de donde la baje (espero que no se enfade el propietario). Un saludo, Catalin ----- Original Message ----- From: "Alex Moreno" To: "La lista de python en castellano" Sent: Wednesday, October 27, 2004 4:48 PM Subject: Re: [Python-es] Python vs PHP Hola, tengo que decir que este hilo me parece muy interesante. Algo que he estado buscando y que, aunque no he profundizado demasiado, no he logrado encontrar, es una libreria que permita separar el código html de python. Algo que deje el código como en geeklog, que puedes meter variables en html con las llaves {nombre_variable} y puedes usar bucles para secciones de código, etc. En el trabajo lo utilicé hace unos meses y, aunque se me quejaron porque el código en php no era demasiado intuitivo, el código html se quedaba "niquelao" :-). ¿Hay algo en python que siga esta filosofia? Un saludo. On Wed, 27 Oct 2004 14:20:47 +0200, "Sergi Faber" said: > On Tue, 26 Oct 2004 12:48:24 +0200, Catalin Lungu > wrote: > > Hola, > > Tiene sentido esto. Si tiene entonces cual es el conjunto de > > herramientas a usar para realizar una aplicación WEB con uno y con otro. > > Ventajas, desventajas. > > Bueno, como ves alternativas para programar aplicaciones web con > python tienes bastantes y ya te han indicado algunas. > > Como veo que nadie lo suele recomendar y puede que responda > perfectamente a tus necesidades, voy a llevar un poco la contraria y > decirte que le eches un ojo a Spyce . Yo > solo he jugado un poco por encima con spyce y no tengo quejas. > Funciona via cgi, fastcgi o mod_python y puedes usarlo tranquilamente > con cheetah y otras plantillas. Puedes hacerte una idea inmediata de > sus características > y si te gusta > espero verte por la lista de spyce, pequeña pero con «caliu» como > decimos por mi pueblo. > > Salut! > > -- > Sergi Faber > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es -- Alex Moreno _______________________________________________ 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 py en ch3m4.org Thu Oct 28 11:48:10 2004 From: py en ch3m4.org (Chema =?iso-8859-15?q?Cort=E9s?=) Date: Thu, 28 Oct 2004 11:48:10 +0200 Subject: funciones In-Reply-To: <20041027211309.11677.qmail@web21207.mail.yahoo.com> References: <20041027211309.11677.qmail@web21207.mail.yahoo.com> Message-ID: <200410281148.10257.py@ch3m4.org> On Wednesday 27 October 2004 23:13, Nan loz wrote: > Hola de nuevo a todos. Tengo una pregunta en la que de > pronto alguien me puede ayudar. Tengo el siguiente > codigo en el que hago la misma cosa varias veces y > siguiendo las sugerencias que he visto en los mensajes > quiero convertirlo en funcion, pero no se si puedo > hacerlo ya que mi condicion dentro del if esta > cambiando tambien... cualquier sugerencia sobre como > hacer esto de forma mas "elegante" es bien recibida. > Mil gracias de antemano Voy a completar la respuesta que te ha dado Josu: Estás viendo que hay un patrón que se repite y quieres que acabara siendo una función. Supongamos que la función que queremos crear se llamará "myfunc". Aquí van algunos consejos: - Comprobación de condiciones: > if (prost[i]['AgeRecode<1']=='00' or > prost[i]['AgeRecode<1']=='01'): > if (prost[i]['AgeRecode<1']=='02'): > if (prost[i]['AgeRecode<1']=='03'): Al tener número variable, una posibilidad sería pasar a la función una secuencia para chequear. def myfunc( values,... ... for p in prost: if p['AgeRecode<1'] in values: ... Tiene el incoveniente de que para un sólo valor habría que pasar una monotupla: myfunc( ('02',) , .... Queda más elegante con una pequeña validación al inicio de la función que nos simplifique la llamada: def myfunc( values,... if not isinstance(values, (list,tuple) ): values=(values,) #convertir un valor simple en tupla ... for p in prost: if p['AgeRecode<1'] in values: Se podría así llamar de dos formas distintas: myfunc( ('00','01'), ... myfunc( '02', ... - Devolución de resultados: El principio a seguir es intentar desacoplar lo más posible el código de la función del código desde donde se llama. Por tanto no hay que utilizar variables globales ni permitir que la función modifique directamente objetos que estén fuera de su alcance. Siguiendo éste principio, las secuencias "caseage" y "count" no se deberían pasar a la función. La función, en lugar de añadir directamente los elementos a estas secuencias, debe retornar los elementos para que el codigo llamante los añada (si quiere) a las secuencias adecuadas. Si fuera necesario devolver varios resultados, se puede hacer como una tupla. Poniendo todo ésto en práctica, con parte del código de Josu, la cosa quedaría algo así: def myfunc( prost, values): if not isinstance(values, (list,tuple) ): values=(values,) #convertir un valor simple en tupla states=[] for p in prost: if p['AgeRecode<1'] in values: states.append(p['State-county recode'] ) return states def myfunc2( caseage, pos, codes): count=[0]*(len(codes)) for p,c in zip(pos,codes): count[p]=caseage.count(c) return count caseage04.extend( myfunc( prost, ('00','01') ) ) variables.append( myfunc2( caseage1, pos, codes ) ) caseage02.extend( myfunc( prost, '02' ) ) variables.append( myfunc2( caseage2, pos, codes ) ) caseage03.extend( myfunc( prost, '03' ) ) variables.append( myfunc2( caseage3, pos, codes ) ) He intentado ser fiel al código que había en el mensaje. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From lcatalin en siadv.com Thu Oct 28 11:57:02 2004 From: lcatalin en siadv.com (Catalin Lungu) Date: Thu, 28 Oct 2004 11:57:02 +0200 Subject: Python vs PHP References: <000b01c4bb49$51f3b7b0$d900a8c0@catalin><74d1a16304102705202772ef6c@mail.gmail.com><1098888515.10650.207378148@webmail.messagingengine.com> <004301c4bcc5$ca7040f0$d900a8c0@catalin> Message-ID: <001f01c4bcd4$7999d5b0$d900a8c0@catalin> Adjunté un rar pero me lo quito el admin de la lista. Te pongo el enlace http://www.modpython.org/examples/psp_site/ ----- Original Message ----- From: "Catalin Lungu" To: "La lista de python en castellano" Sent: Thursday, October 28, 2004 10:11 AM Subject: Re: [Python-es] Python vs PHP > No se si esto es exactamente lo que buscas por que ahora estoy empezando > con > esto y no me entero mucho, pero para que es el foro si no para dar > opiniones. Adjunto una web que no me acuerdo de donde la baje (espero que > no > se enfade el propietario). > > Un saludo, > Catalin > > ----- Original Message ----- > From: "Alex Moreno" > To: "La lista de python en castellano" > Sent: Wednesday, October 27, 2004 4:48 PM > Subject: Re: [Python-es] Python vs PHP > > > Hola, > > tengo que decir que este hilo me parece muy interesante. Algo que he > estado buscando y que, aunque no he profundizado demasiado, no he > logrado encontrar, es una libreria que permita separar el código html de > python. Algo que deje el código como en geeklog, que puedes meter > variables en html con las llaves {nombre_variable} y puedes usar bucles > para secciones de código, etc. En el trabajo lo utilicé hace unos meses > y, aunque se me quejaron porque el código en php no era demasiado > intuitivo, el código html se quedaba "niquelao" :-). ¿Hay algo en python > que siga esta filosofia? > > Un saludo. > > > On Wed, 27 Oct 2004 14:20:47 +0200, "Sergi Faber" > said: >> On Tue, 26 Oct 2004 12:48:24 +0200, Catalin Lungu >> wrote: >> > Hola, >> > Tiene sentido esto. Si tiene entonces cual es el conjunto de >> > herramientas a usar para realizar una aplicación WEB con uno y con >> > otro. >> > Ventajas, desventajas. >> >> Bueno, como ves alternativas para programar aplicaciones web con >> python tienes bastantes y ya te han indicado algunas. >> >> Como veo que nadie lo suele recomendar y puede que responda >> perfectamente a tus necesidades, voy a llevar un poco la contraria y >> decirte que le eches un ojo a Spyce . Yo >> solo he jugado un poco por encima con spyce y no tengo quejas. >> Funciona via cgi, fastcgi o mod_python y puedes usarlo tranquilamente >> con cheetah y otras plantillas. Puedes hacerte una idea inmediata de >> sus características >> y si te gusta >> espero verte por la lista de spyce, pequeña pero con «caliu» como >> decimos por mi pueblo. >> >> Salut! >> >> -- >> Sergi Faber >> _______________________________________________ >> Python-es mailing list >> Python-es en aditel.org >> http://listas.aditel.org/listinfo/python-es > -- > Alex Moreno > > > _______________________________________________ > 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 lcatalin en siadv.com Thu Oct 28 11:59:10 2004 From: lcatalin en siadv.com (Catalin Lungu) Date: Thu, 28 Oct 2004 11:59:10 +0200 Subject: URLLIB References: <004a01c4bcc7$00e2bdb0$d900a8c0@catalin><200410281041.56354.pepe@diselpro.com> Message-ID: <002701c4bcd4$c5bef010$d900a8c0@catalin> Se supone que una web es una estructura de carpetas y directorios. Quería hacer algo de forma os.walk("www.dominio.net") ----- Original Message ----- From: "Fernando Tricas García" To: "La lista de python en castellano" Sent: Thursday, October 28, 2004 11:31 AM Subject: Re: [Python-es] URLLIB No entiendo lo del asp, pero tampoco hace falta nada raro: lynx -dump | grep http | grep exe Desde python puedes utilizar curl o alguna de esas que te proporcionarán cosas similares, pero creo que no entiendo bien la pregunta. On Thu, 28 Oct 2004 10:41:56 +0200, Pepe Aracil wrote: > Si el servidor al que te conectas tiene desactivado el listado de ficheros > para esa url, lo veo un poco difícil. > > Otra forma es analizar los tags ,,... y ver los que apuntan al > tipo de > fichero que te interesa. Obviamente solo obtendrás los ficheros que tengan > un > enlace en la página. > > Salut. > > El Jueves, 28 de Octubre de 2004 10:20, Catalin Lungu escribió: > > > > Hola, > > A ver si me pueden decir si es posible rellenar una lista con todos los > > ficheros de un tal tipo de una web. Algo de forma: > > ["www.dominio.net/descargas/file1.exe", > > "www.dominio.net/download/file2.exe", "www.dominio.net/index.asp"]. > > > > 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 > -- Fernando Tricas _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From lcatalin en siadv.com Thu Oct 28 12:02:57 2004 From: lcatalin en siadv.com (Catalin Lungu) Date: Thu, 28 Oct 2004 12:02:57 +0200 Subject: URLLIB References: <004a01c4bcc7$00e2bdb0$d900a8c0@catalin><200410281041.56354.pepe@diselpro.com> <002701c4bcd4$c5bef010$d900a8c0@catalin> Message-ID: <004901c4bcd5$4f1b4660$d900a8c0@catalin> Perdon. Estructura de carpetas y ficheros. ----- Original Message ----- From: "Catalin Lungu" To: "La lista de python en castellano" Sent: Thursday, October 28, 2004 11:59 AM Subject: Re: [Python-es] URLLIB > Se supone que una web es una estructura de carpetas y directorios. Quería > hacer algo de forma os.walk("www.dominio.net") > > ----- Original Message ----- > From: "Fernando Tricas García" > To: "La lista de python en castellano" > Sent: Thursday, October 28, 2004 11:31 AM > Subject: Re: [Python-es] URLLIB > > > No entiendo lo del asp, pero tampoco hace falta nada raro: > lynx -dump | grep http | grep exe > > Desde python puedes utilizar curl o alguna de esas que te > proporcionarán cosas similares, pero creo que no entiendo bien la > pregunta. > > > On Thu, 28 Oct 2004 10:41:56 +0200, Pepe Aracil wrote: >> Si el servidor al que te conectas tiene desactivado el listado de >> ficheros >> para esa url, lo veo un poco difícil. >> >> Otra forma es analizar los tags ,,... y ver los que apuntan al >> tipo de >> fichero que te interesa. Obviamente solo obtendrás los ficheros que >> tengan un >> enlace en la página. >> >> Salut. >> >> El Jueves, 28 de Octubre de 2004 10:20, Catalin Lungu escribió: >> >> >> > Hola, >> > A ver si me pueden decir si es posible rellenar una lista con todos los >> > ficheros de un tal tipo de una web. Algo de forma: >> > ["www.dominio.net/descargas/file1.exe", >> > "www.dominio.net/download/file2.exe", "www.dominio.net/index.asp"]. >> > >> > 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 >> > > > -- > Fernando Tricas > _______________________________________________ > 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 ch3m4.org Thu Oct 28 12:11:46 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Thu, 28 Oct 2004 12:11:46 +0200 Subject: consulta basica In-Reply-To: References: Message-ID: <200410281211.49747.py@ch3m4.org> On Wednesday 27 October 2004 17:58, moises Griott wrote: > una consulta creo que basica.. > se que python es unnlenguje des scripting como el tcl > no se si python sirve para trabajar en desarrollo web ??? > en trabsacciones de baes de datos > y si no puede entonces como un validador como javascript. No entiendo bien este preámbulo. Hay muchas definiciones de "lenguaje de scripting", pero me quedo con aquella que lo define como un lenguaje que sirve para conectar una aplicación con otras aplicaciones y/o el sistema operativo. Conectar, por ejemplo, una base de datos a un servidor web es una de las funciones que puede hacer cualquier lenguaje de scripting hoy en día. > en sintesis > > 1º deque manera puedo desarrollar y sacarle partido a python en el > desarrollo web ? Ya hemos comentado estos días diversas herramientas para ello. Hay gente que sólo aprende python para poder utilizar zope. Pero no es la única forma de usar python. La librería estándar de python es suficiente para crear clientes y servidores para internet, sin más. No necesitas ni de apache ni de otras librerías. Por ejemplo, si te miras la documentación del módulo 'xmlrpclib' verás cómo hacerte un cliente xmlrpc, y en el módulo 'SimpleXMLRPCServer' cómo hacer un servidor xmlrpc (servicio web). > 2º que plataforma funciona mejor python, en windows o linux ? Python está desarrollado bajo linux, por lo tanto debería ser ésta plataforma la que mejor funcionase, pero no hay diferencias que destaque una sobre la otra. Sí que es cierto que hay parte de la librería estándar que no funciona en windows, pero por lo general se intenta programar en python para que no influya la plataforma sobre la que se ejecuta. Pero siendo bastante estrictos, la mejor plataforma para python es la máquina virtual java, al menos mientras no esté terminada la implementación del IronPython. ------------ 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 magmax9 en yahoo.es Thu Oct 28 12:12:17 2004 From: magmax9 en yahoo.es (Miguel Angel Garcia) Date: Thu, 28 Oct 2004 12:12:17 +0200 Subject: [TO] =?iso-8859-1?q?=BFwget=3F?= In-Reply-To: <004901c4bcd5$4f1b4660$d900a8c0@catalin> References: <004a01c4bcc7$00e2bdb0$d900a8c0@catalin> <200410281041.56354.pepe@diselpro.com> <002701c4bcd4$c5bef010$d900a8c0@catalin> <004901c4bcd5$4f1b4660$d900a8c0@catalin> Message-ID: <1098958337.17059.30.camel@localhost> No sé cuál es la finalidad de este programita, pero... ¿Conoces wget? wget -A .exe,.asp URL El jue, 28-10-2004 a las 12:02 +0200, Catalin Lungu escribió: > Perdon. Estructura de carpetas y ficheros. > > ----- Original Message ----- > From: "Catalin Lungu" > To: "La lista de python en castellano" > Sent: Thursday, October 28, 2004 11:59 AM > Subject: Re: [Python-es] URLLIB > > > > Se supone que una web es una estructura de carpetas y directorios. Quería > > hacer algo de forma os.walk("www.dominio.net") > > > > ----- Original Message ----- > > From: "Fernando Tricas García" > > To: "La lista de python en castellano" > > Sent: Thursday, October 28, 2004 11:31 AM > > Subject: Re: [Python-es] URLLIB > > > > > > No entiendo lo del asp, pero tampoco hace falta nada raro: > > lynx -dump | grep http | grep exe > > > > Desde python puedes utilizar curl o alguna de esas que te > > proporcionarán cosas similares, pero creo que no entiendo bien la > > pregunta. > > > > > > On Thu, 28 Oct 2004 10:41:56 +0200, Pepe Aracil wrote: > >> Si el servidor al que te conectas tiene desactivado el listado de > >> ficheros > >> para esa url, lo veo un poco difícil. > >> > >> Otra forma es analizar los tags ,,... y ver los que apuntan al > >> tipo de > >> fichero que te interesa. Obviamente solo obtendrás los ficheros que > >> tengan un > >> enlace en la página. > >> > >> Salut. > >> > >> El Jueves, 28 de Octubre de 2004 10:20, Catalin Lungu escribió: > >> > >> > >> > Hola, > >> > A ver si me pueden decir si es posible rellenar una lista con todos los > >> > ficheros de un tal tipo de una web. Algo de forma: > >> > ["www.dominio.net/descargas/file1.exe", > >> > "www.dominio.net/download/file2.exe", "www.dominio.net/index.asp"]. > >> > > >> > 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 > >> > > > > > > -- > > Fernando Tricas > > _______________________________________________ > > 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 ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: Esta parte del mensaje está firmada digitalmente URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From elucero en ffyb.uba.ar Thu Oct 28 12:18:08 2004 From: elucero en ffyb.uba.ar (Esteban) Date: Thu, 28 Oct 2004 07:18:08 -0300 Subject: python-tk Message-ID: <039f01c4bcd7$6ba67c80$4d905c9d@elw2k> hola a todos este es mi primer e-mail a la lista me llamo Esteban soy de Buenos Aires -Argentina y es mi primeras armas en este lenguaje. me he instalado python 2.3.4 y quiero usar pythonG para ello me indica que tengo que tener instalado python-tk me fije en la pagina python.org y vi unos rmp la cuestión que la versión de python que instale fue de la fuente. y si verifico el rpm me pide otros cosas alguien lo instalo y podrá guiarme un poco además me pide que instale tcl-tk por lo que vi estos están separados los compile y pareciera que esta bien aunque me dio en make test algún error en network supongo que se debe a que no estaba conectado bueno cualquier dato será bienvenido saludos From aragorn en pythonhispano.org Thu Oct 28 12:24:25 2004 From: aragorn en pythonhispano.org (Jose) Date: Thu, 28 Oct 2004 12:24:25 +0200 Subject: Remote Scripting con DHTML In-Reply-To: <200410201358.46765.py@ch3m4.org> References: <200410201358.46765.py@ch3m4.org> Message-ID: <1098959064.6488.3.camel@demeter.speriaitc.com> Ya sé que este envío llega un poco tarde, pero se trata de algo que acabo de descubrir. Tal vez te interese lo que están desarrollando la gente de mod_pubsub http://www.mod-pubsub.org/. Aunque su web parece no estar funcionando muy bien, si te interesa, te recomiendo que consultes la documentación que acompaña al paquete. Añadiré una entrada en pythonhispano.org sobre este paquete. El mié, 20-10-2004 a las 13:58, Chema Cortés escribió: > Aunque no lo parezca, este mensaje tiene que ver con python :-P > > Intento conseguir que la página web que ve el cliente se valide en el servidor > sin tener que recargar la página. Cuando se trabaja con formularios con un > gran número de campos resulta impracticable corregir en bloque todos los > errores. La idea es que el formulario esté ya (casi) validado antes de ser > enviado al servidor. Empleo DHTML (javascript) en el cliente y python en el > lado del servidor. > ... ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From py en ch3m4.org Thu Oct 28 12:27:30 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Thu, 28 Oct 2004 12:27:30 +0200 Subject: URLLIB In-Reply-To: <004a01c4bcc7$00e2bdb0$d900a8c0@catalin> References: <004a01c4bcc7$00e2bdb0$d900a8c0@catalin> Message-ID: <200410281227.33687.py@ch3m4.org> On Thursday 28 October 2004 10:20, Catalin Lungu wrote: > Hola, > A ver si me pueden decir si es posible rellenar una lista con todos los > ficheros de un tal tipo de una web. Algo de forma: > ["www.dominio.net/descargas/file1.exe", > "www.dominio.net/download/file2.exe", "www.dominio.net/index.asp"]. Técnicamente, a ésto se le denomina "web spider" o, simplemente, "spider": http://www.python.org/pypi?:action=display&name=spider.py&version=0.5 ------------ 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 py en ch3m4.org Thu Oct 28 16:22:50 2004 From: py en ch3m4.org (Chema =?iso-8859-15?q?Cort=E9s?=) Date: Thu, 28 Oct 2004 16:22:50 +0200 Subject: Remote Scripting con DHTML In-Reply-To: <1098959064.6488.3.camel@demeter.speriaitc.com> References: <200410201358.46765.py@ch3m4.org> <1098959064.6488.3.camel@demeter.speriaitc.com> Message-ID: <200410281623.01632.py@ch3m4.org> On Thursday 28 October 2004 12:24, Jose wrote: > Tal vez te interese lo que están desarrollando la gente de mod_pubsub > http://www.mod-pubsub.org/. Aunque su web parece no estar funcionando > muy bien, si te interesa, te recomiendo que consultes la documentación > que acompaña al paquete. Tiene una pinta estupenda, aunque con linux, me salen los mismos errores que cuando usaba XMLHTTPRequest (para windows parece que va bien). Muy interesante la implementación de conexiones SOAP. Gracias por la referencia. Creo que ya tengo demasiadas cosas para probar X-O ------------ 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 python en ammsoft.com Thu Oct 28 16:23:51 2004 From: python en ammsoft.com (Amm-Python) Date: Thu, 28 Oct 2004 16:23:51 +0200 Subject: wxpython imagenes Message-ID: <000001c4bcf9$c1a8a4b0$640010ac@nombref31twj9b> Problema: He creado un wxdialog en el que he colocado varios wxStaticText, wxTextCtrl , wxGenBitmapTextButton y WxButton Todo funcionaba correctamente hasta que se me ocurrió ponerle al wxdialog una imagen como fondo. Para ello he creado un wxStaticBitmap (No se si es lo adecuado) que tiene el mismo tamaño que el wxdialog. self.fondo.SetSize(self.GetSize()) El problema es que al mostrar la imagen, no se repinta el wxbutton, quedando tapado visualmente. Estar está ya que puedo seleccionarlo con el ratón, pero no se ve. Que hago? Utilizo Python 2.3.4 wxpyhton 2.4.2.4 Bajo Windows XP From lcatalin en siadv.com Thu Oct 28 17:49:46 2004 From: lcatalin en siadv.com (Catalin Lungu) Date: Thu, 28 Oct 2004 17:49:46 +0200 Subject: wxpython imagenes References: <000001c4bcf9$c1a8a4b0$640010ac@nombref31twj9b> Message-ID: <000801c4bd05$c0e18db0$d900a8c0@catalin> Prueba poner en _init_ctrls del formulario en el parámetro parent del botón la referencia del staticbitmap. self.genBitmapButton1 = wxGenBitmapButton(ID=wxID_WXFRAME1GENBITMAPBUTTON1, bitmap=wxBitmap(u'c:\foto.jpg', wxBITMAP_TYPE_JPEG), name='genBitmapButton1', parent=self.staticBitmap1, pos=wxPoint(20, 20), size=wxSize(104, 30), style=0) ----- Original Message ----- From: "Amm-Python" To: "Python Lista Aditel" Sent: Thursday, October 28, 2004 4:23 PM Subject: [Python-es] wxpython imagenes Problema: He creado un wxdialog en el que he colocado varios wxStaticText, wxTextCtrl , wxGenBitmapTextButton y WxButton Todo funcionaba correctamente hasta que se me ocurrió ponerle al wxdialog una imagen como fondo. Para ello he creado un wxStaticBitmap (No se si es lo adecuado) que tiene el mismo tamaño que el wxdialog. self.fondo.SetSize(self.GetSize()) El problema es que al mostrar la imagen, no se repinta el wxbutton, quedando tapado visualmente. Estar está ya que puedo seleccionarlo con el ratón, pero no se ve. Que hago? Utilizo Python 2.3.4 wxpyhton 2.4.2.4 Bajo Windows XP _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From python en ammsoft.com Thu Oct 28 19:04:51 2004 From: python en ammsoft.com (Amm-Python) Date: Thu, 28 Oct 2004 19:04:51 +0200 Subject: wxpython imagenes In-Reply-To: <000801c4bd05$c0e18db0$d900a8c0@catalin> References: <000801c4bd05$c0e18db0$d900a8c0@catalin> Message-ID: <001601c4bd10$3e7f19e0$640010ac@nombref31twj9b> Colocando el "parent" perfecto. Ahora ya muestra el botón pero no se deja seleccionar con el ratón. El problema no lo tengo con un wxGenBitmapButton sino con un wxbutton (... el más tonto). Lo he cambiado por un wxgenbutton y ya funciona correctamente, será cuestión de no utilizar el wxbutton. Gracias de todas formas Catalin. -----Mensaje original----- De: python-es-bounces en aditel.org [mailto:python-es-bounces en aditel.org] En nombre de Catalin Lungu Enviado el: dijous, 28 / octubre / 2004 17:50 Para: La lista de python en castellano Asunto: Re: [Python-es] wxpython imagenes Prueba poner en _init_ctrls del formulario en el parámetro parent del botón la referencia del staticbitmap. self.genBitmapButton1 = wxGenBitmapButton(ID=wxID_WXFRAME1GENBITMAPBUTTON1, bitmap=wxBitmap(u'c:\foto.jpg', wxBITMAP_TYPE_JPEG), name='genBitmapButton1', parent=self.staticBitmap1, pos=wxPoint(20, 20), size=wxSize(104, 30), style=0) ----- Original Message ----- From: "Amm-Python" To: "Python Lista Aditel" Sent: Thursday, October 28, 2004 4:23 PM Subject: [Python-es] wxpython imagenes Problema: He creado un wxdialog en el que he colocado varios wxStaticText, wxTextCtrl , wxGenBitmapTextButton y WxButton Todo funcionaba correctamente hasta que se me ocurrió ponerle al wxdialog una imagen como fondo. Para ello he creado un wxStaticBitmap (No se si es lo adecuado) que tiene el mismo tamaño que el wxdialog. self.fondo.SetSize(self.GetSize()) El problema es que al mostrar la imagen, no se repinta el wxbutton, quedando tapado visualmente. Estar está ya que puedo seleccionarlo con el ratón, pero no se ve. Que hago? Utilizo Python 2.3.4 wxpyhton 2.4.2.4 Bajo Windows XP _______________________________________________ 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 soulkiller en teleline.es Thu Oct 28 20:59:07 2004 From: soulkiller en teleline.es (soul) Date: Thu, 28 Oct 2004 20:59:07 +0200 Subject: wxPython y "arrastar y soltar" Message-ID: <1098989947.2367.3.camel@Zeus> Estoy intentando realizar una aplicación para el envio de ficheros por mail. Lo ideal seria que el usuario arrastrará el fichero encima de la aplicación ( o en su defecto en icono en el systray ) y que enviara el correo a los mails seleccionados. El problema es que no encuentro ningún ejemplo de "arrastrar y soltar " con wxPython. Si teneis alguna web o receta que me pueda ayudar será bien recibida. Gracias por adelantado. Saludos, Soul ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From rapto en arrakis.es Thu Oct 28 21:08:24 2004 From: rapto en arrakis.es (Marcos =?ISO-8859-1?Q?S=E1nchez?= Provencio) Date: Thu, 28 Oct 2004 21:08:24 +0200 Subject: funciones In-Reply-To: <200410281148.10257.py@ch3m4.org> References: <20041027211309.11677.qmail@web21207.mail.yahoo.com> <200410281148.10257.py@ch3m4.org> Message-ID: <1098990503.4521.17.camel@renata.macondo.pri> Hay otra manera de tratar que te pueda venir uno o varios valores, que es utilizar los argumentos variables. Además, podemos usar "list comprehension", listas autodefinidas: def myfunc( prost, *values): #values será una tupla siempre states=[] for p in prost: if p['AgeRecode<1'] in values: states.append(p['State-county recode'] ) return states #Versión alternativa con listas autodefinidas def myfunc( prost, *values): return [p['State-county recode' for p in prost if p['AgeRecode<1'] in values] def myfunc2( caseage, pos, codes): count=[0] * len(codes) for p,c in zip(pos,codes): count[p]=caseage.count(c) return count caseage04.extend( myfunc( prost, '00', '01') ) #Más simple variables.append( myfunc2( caseage1, pos, codes ) ) caseage02.extend( myfunc( prost, '02' ) ) variables.append( myfunc2( caseage2, pos, codes ) ) caseage03.extend( myfunc( prost, '03' ) ) variables.append( myfunc2( caseage3, pos, codes ) ) El jue, 28-10-2004 a las 11:48, Chema Cortés escribió: > On Wednesday 27 October 2004 23:13, Nan loz wrote: > > Hola de nuevo a todos. Tengo una pregunta en la que de > > pronto alguien me puede ayudar. Tengo el siguiente > > codigo en el que hago la misma cosa varias veces y > > siguiendo las sugerencias que he visto en los mensajes > > quiero convertirlo en funcion, pero no se si puedo > > hacerlo ya que mi condicion dentro del if esta > > cambiando tambien... cualquier sugerencia sobre como > > hacer esto de forma mas "elegante" es bien recibida. > > Mil gracias de antemano > > Voy a completar la respuesta que te ha dado Josu: > > Estás viendo que hay un patrón que se repite y quieres que acabara siendo una > función. Supongamos que la función que queremos crear se llamará "myfunc". > Aquí van algunos consejos: > > > - Comprobación de condiciones: > > > if (prost[i]['AgeRecode<1']=='00' or > > prost[i]['AgeRecode<1']=='01'): > > > if (prost[i]['AgeRecode<1']=='02'): > > > if (prost[i]['AgeRecode<1']=='03'): > > Al tener número variable, una posibilidad sería pasar a la función una > secuencia para chequear. > > def myfunc( values,... > ... > for p in prost: > if p['AgeRecode<1'] in values: > ... > > Tiene el incoveniente de que para un sólo valor habría que pasar una > monotupla: > > myfunc( ('02',) , .... > > Queda más elegante con una pequeña validación al inicio de la función que nos > simplifique la llamada: > > def myfunc( values,... > if not isinstance(values, (list,tuple) ): > values=(values,) #convertir un valor simple en tupla > ... > for p in prost: > if p['AgeRecode<1'] in values: > > > Se podría así llamar de dos formas distintas: > > myfunc( ('00','01'), ... > > myfunc( '02', ... > > > > - Devolución de resultados: > > El principio a seguir es intentar desacoplar lo más posible el código de la > función del código desde donde se llama. Por tanto no hay que utilizar > variables globales ni permitir que la función modifique directamente objetos > que estén fuera de su alcance. > > Siguiendo éste principio, las secuencias "caseage" y "count" no se deberían > pasar a la función. La función, en lugar de añadir directamente los elementos > a estas secuencias, debe retornar los elementos para que el codigo llamante > los añada (si quiere) a las secuencias adecuadas. > > Si fuera necesario devolver varios resultados, se puede hacer como una tupla. > > > > Poniendo todo ésto en práctica, con parte del código de Josu, la cosa quedaría > algo así: > > > def myfunc( prost, values): > > if not isinstance(values, (list,tuple) ): > values=(values,) #convertir un valor simple en tupla > > states=[] > for p in prost: > if p['AgeRecode<1'] in values: > states.append(p['State-county recode'] ) > > return states > > def myfunc2( caseage, pos, codes): > count=[0]*(len(codes)) > for p,c in zip(pos,codes): > count[p]=caseage.count(c) > return count > > caseage04.extend( myfunc( prost, ('00','01') ) ) > variables.append( myfunc2( caseage1, pos, codes ) ) > > caseage02.extend( myfunc( prost, '02' ) ) > variables.append( myfunc2( caseage2, pos, codes ) ) > > caseage03.extend( myfunc( prost, '03' ) ) > variables.append( myfunc2( caseage3, pos, codes ) ) > > > > He intentado ser fiel al código que había en el mensaje. > > ______________________________________________________________________ > _______________________________________________ > 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 python en ammsoft.com Thu Oct 28 21:48:19 2004 From: python en ammsoft.com (Amm-Python) Date: Thu, 28 Oct 2004 21:48:19 +0200 Subject: wxPython y "arrastar y soltar" In-Reply-To: <1098989947.2367.3.camel@Zeus> References: <1098989947.2367.3.camel@Zeus> Message-ID: <000c01c4bd27$145c8b40$640010ac@nombref31twj9b> Esta me la se: Mira en la demo de wxpython Miscellaneous Clipboard and DnD DragAndDrop.py... Con unos retoques creo que te servirá. Suerte. -----Mensaje original----- De: python-es-bounces en aditel.org [mailto:python-es-bounces en aditel.org] En nombre de soul Enviado el: dijous, 28 / octubre / 2004 20:59 Para: Lista Python-ES Asunto: [Python-es] wxPython y "arrastar y soltar" Estoy intentando realizar una aplicación para el envio de ficheros por mail. Lo ideal seria que el usuario arrastrará el fichero encima de la aplicación ( o en su defecto en icono en el systray ) y que enviara el correo a los mails seleccionados. El problema es que no encuentro ningún ejemplo de "arrastrar y soltar " con wxPython. Si teneis alguna web o receta que me pueda ayudar será bien recibida. Gracias por adelantado. Saludos, Soul From python en ammsoft.com Thu Oct 28 22:02:52 2004 From: python en ammsoft.com (Amm-Python) Date: Thu, 28 Oct 2004 22:02:52 +0200 Subject: wxpython transparencias Message-ID: <000001c4bd29$1cc1d3b0$640010ac@nombref31twj9b> Debe ser el stress, pero ya no puedo más.... no lo encuentro. Cómo le digo a un wxStaticText que es transparente, tengo un wxStaticBitmap debajo. Dónde está el .transparent= True. Proque no tiene que ser más complicado, creo... Y ya de paso como le digo a un wxStaticBitmap al que cargo un gif o un png trasparente que lo muestre trasparente, repetando otro wxStaticBitmap que hay debajo. Un Saludo. From pepe en diselpro.com Thu Oct 28 23:46:51 2004 From: pepe en diselpro.com (Pepe Aracil) Date: Thu, 28 Oct 2004 23:46:51 +0200 Subject: bloqueo de ficheros... Message-ID: <200410282346.51499.pepe@diselpro.com> Hola. Estoy acabando una aplicación para recepción de alarmas por teléfono en python. Lanzo un proceso por cada linea (puerto serie) que tengo que atender. Mi problema es que no sé como volcar los logs que genera cada proceso en un mismo fichero. No puedo utilizar el módulo syslog, porque tiene que poder funcionar en win32. ¿Existe algún módulo multiplataforma para bloquear ficheros? He echado una ojeada a los modulos y no he visto ninguno que contenga la palabra lock. Gracias. From pepe en diselpro.com Thu Oct 28 23:56:49 2004 From: pepe en diselpro.com (Pepe Aracil) Date: Thu, 28 Oct 2004 23:56:49 +0200 Subject: bloqueo de ficheros... In-Reply-To: <200410282346.51499.pepe@diselpro.com> References: <200410282346.51499.pepe@diselpro.com> Message-ID: <200410282356.49238.pepe@diselpro.com> He encontrado el módulo fcntl, pero solo rula en posix :( Saludos. El Jueves, 28 de Octubre de 2004 23:46, Pepe Aracil escribió: > Hola. > > Estoy acabando una aplicación para recepción de alarmas por teléfono en > python. Lanzo un proceso por cada linea (puerto serie) que tengo que > atender. > > Mi problema es que no sé como volcar los logs que genera cada proceso en un > mismo fichero. No puedo utilizar el módulo syslog, porque tiene que poder > funcionar en win32. > > ¿Existe algún módulo multiplataforma para bloquear ficheros? > > He echado una ojeada a los modulos y no he visto ninguno que contenga la > palabra lock. > > Gracias. > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From pedro.carrasco en iver.es Fri Oct 29 07:43:40 2004 From: pedro.carrasco en iver.es (Pedro A. Carrasco Ponce) Date: Fri, 29 Oct 2004 07:43:40 +0200 Subject: bloqueo de ficheros... In-Reply-To: <200410282346.51499.pepe@diselpro.com> References: <200410282346.51499.pepe@diselpro.com> Message-ID: <4181D88C.7010307@iver.es> Pepe Aracil wrote: > Hola. > > Estoy acabando una aplicación para recepción de alarmas por teléfono en > python. Lanzo un proceso por cada linea (puerto serie) que tengo que atender. > > Mi problema es que no sé como volcar los logs que genera cada proceso en un > mismo fichero. No puedo utilizar el módulo syslog, porque tiene que poder > funcionar en win32. Yo utilizo el módulo logger, te posteo la clase que utilizo log: ------------------------ Fichero CLog ---------------------------- # -*- coding: ISO-8859-1 -*- import logging class __Log: def __init__(self): """Crea el logger para poder guardar los mensajes de loggin""" self.__logger = logging.getLogger('NombreUnico') hdlr = logging.FileHandler('Ficherode Log.log') formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s') hdlr.setFormatter(formatter) self.__logger.addHandler(hdlr) self.__logger.setLevel(logging.DEBUG) def info(self,cadena): self.__logger.info(cadena) def error(self,cadena): self.__logger.error(cadena) def critical(self,cadena): self.__logger.critical(cadena) def warning(self,cadena): self.__logger.warning(cadena) def debug(self,cadena): self.__logger.debug(cadena) def exception(self,cadena): self.__logger.exception(cadena) __instance = None def getLogger(): global __instance if __instance is None: __instance = __Log() return __instance --------------------------------- FIN ---------------------------- Utilizo un patrón de diseño Singleton, lo que asegura que hay una instancia sólo para toda la aplicación. Sólo tienes que hacer: import CLog log = CLog.getLogger() log.info('Cadena') log.warning('Prueba') .... En la página de la ayuda del módulo logger tienes más información. Un saludo. -- Pedro From lcatalin en siadv.com Fri Oct 29 08:41:47 2004 From: lcatalin en siadv.com (Catalin Lungu) Date: Fri, 29 Oct 2004 08:41:47 +0200 Subject: wxpython imagenes References: <001601c4bd10$3e7f19e0$640010ac@nombref31twj9b> Message-ID: <002601c4bd82$5d25c110$d900a8c0@catalin> Prueba reiniciar el Boa. A veces se arreglan muchas cosas. Si no tienes la versión 0.3.1 instálatela por que a mejorado mucho. A mi con este trozo de código me va bien. self.SB = wxStaticBitmap(bitmap=wxBitmap(u'c:\foto.jpg', wxBITMAP_TYPE_JPEG), id=wxID_WXFRAME1SB, name=u'SB', parent=self, pos=wxPoint(544, 352), size=wxSize(640, 480), style=0) self.button1 = wxButton(id=wxID_WXFRAME1BUTTON1, label='button1', name='button1', parent=self.SB, pos=wxPoint(20, 20), size=wxSize(75, 23), style=0) Para cargar gif o png y si son transparentes con: png = wxBitmap('foto.png', wxBITMAP_TYPE_PNG) png = wxBitmap('foto.gif', wxBITMAP_TYPE_GIF) La transparencia de las etiquetas creo que no es posible. ----- Original Message ----- From: "Amm-Python" To: "'La lista de python en castellano'" Sent: Thursday, October 28, 2004 7:04 PM Subject: RE: [Python-es] wxpython imagenes Colocando el "parent" perfecto. Ahora ya muestra el botón pero no se deja seleccionar con el ratón. El problema no lo tengo con un wxGenBitmapButton sino con un wxbutton (... el más tonto). Lo he cambiado por un wxgenbutton y ya funciona correctamente, será cuestión de no utilizar el wxbutton. Gracias de todas formas Catalin. -----Mensaje original----- De: python-es-bounces en aditel.org [mailto:python-es-bounces en aditel.org] En nombre de Catalin Lungu Enviado el: dijous, 28 / octubre / 2004 17:50 Para: La lista de python en castellano Asunto: Re: [Python-es] wxpython imagenes Prueba poner en _init_ctrls del formulario en el parámetro parent del botón la referencia del staticbitmap. self.genBitmapButton1 = wxGenBitmapButton(ID=wxID_WXFRAME1GENBITMAPBUTTON1, bitmap=wxBitmap(u'c:\foto.jpg', wxBITMAP_TYPE_JPEG), name='genBitmapButton1', parent=self.staticBitmap1, pos=wxPoint(20, 20), size=wxSize(104, 30), style=0) ----- Original Message ----- From: "Amm-Python" To: "Python Lista Aditel" Sent: Thursday, October 28, 2004 4:23 PM Subject: [Python-es] wxpython imagenes Problema: He creado un wxdialog en el que he colocado varios wxStaticText, wxTextCtrl , wxGenBitmapTextButton y WxButton Todo funcionaba correctamente hasta que se me ocurrió ponerle al wxdialog una imagen como fondo. Para ello he creado un wxStaticBitmap (No se si es lo adecuado) que tiene el mismo tamaño que el wxdialog. self.fondo.SetSize(self.GetSize()) El problema es que al mostrar la imagen, no se repinta el wxbutton, quedando tapado visualmente. Estar está ya que puedo seleccionarlo con el ratón, pero no se ve. Que hago? Utilizo Python 2.3.4 wxpyhton 2.4.2.4 Bajo Windows XP _______________________________________________ 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 pan_python en yahoo.com.ar Fri Oct 29 09:22:42 2004 From: pan_python en yahoo.com.ar (Ariel Nardelli) Date: Fri, 29 Oct 2004 04:22:42 -0300 Subject: agregar filas a un grid.. Message-ID: <4181EFC2.2060602@yahoo.com.ar> Hola! Estoy con wxpython y necesito agregar a un grid mas filas, ya que al momento de definirlo no tengo la cantidad exactas de filas a usar (si de columnas) y necesito ir agregandole filas al momento de ir armandolo... Mire por varios lados y no encuentro como hacer para agregar una fila, alguien tiene el dato de como se hace? Desde ya, Gracias! Ariel From lcatalin en siadv.com Fri Oct 29 10:45:55 2004 From: lcatalin en siadv.com (Catalin Lungu) Date: Fri, 29 Oct 2004 10:45:55 +0200 Subject: agregar filas a un grid.. References: <4181EFC2.2060602@yahoo.com.ar> Message-ID: <000501c4bd93$b49f56c0$d900a8c0@catalin> ¿Con esto te vale? wxGrid::AppendRows bool AppendRows(int numRows = 1, bool updateLabels = TRUE) Appends one or more new rows to the bottom of the grid and returns TRUE if successful. The updateLabels argument is not used at present. If you are using a derived grid table class you will need to override wxGridTableBase::AppendRows. See wxGrid::InsertRows for further information. C. ----- Original Message ----- From: "Ariel Nardelli" To: "'La lista de python en castellano'" Sent: Friday, October 29, 2004 9:22 AM Subject: [Python-es] agregar filas a un grid.. > Hola! > Estoy con wxpython y necesito agregar a un grid mas filas, ya que al > momento de definirlo no tengo la cantidad exactas de filas a usar (si de > columnas) y necesito ir agregandole filas al momento de ir armandolo... > > Mire por varios lados y no encuentro como hacer para agregar una fila, > alguien tiene el dato de como se hace? > > Desde ya, Gracias! > Ariel > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From pepe en diselpro.com Fri Oct 29 10:45:45 2004 From: pepe en diselpro.com (Pepe Aracil) Date: Fri, 29 Oct 2004 10:45:45 +0200 Subject: bloqueo de ficheros... In-Reply-To: <4181D88C.7010307@iver.es> References: <200410282346.51499.pepe@diselpro.com> <4181D88C.7010307@iver.es> Message-ID: <200410291045.45704.pepe@diselpro.com> Gracias. Que canya.. !!! con rotación de ficheros y todo XD Esto es lo que buscaba... Prometo revisarme mejor los módulos estándar antes de preguntar ;) Saludos. El Viernes, 29 de Octubre de 2004 07:43, Pedro A. Carrasco Ponce escribió: > Pepe Aracil wrote: > > Hola. > > > > Estoy acabando una aplicación para recepción de alarmas por teléfono en > > python. Lanzo un proceso por cada linea (puerto serie) que tengo que > > atender. > > > > Mi problema es que no sé como volcar los logs que genera cada proceso en > > un mismo fichero. No puedo utilizar el módulo syslog, porque tiene que > > poder funcionar en win32. > > Yo utilizo el módulo logger, te posteo la clase que utilizo log: > ------------------------ Fichero CLog ---------------------------- > # -*- coding: ISO-8859-1 -*- > import logging > > class __Log: > def __init__(self): > """Crea el logger para poder guardar los mensajes de loggin""" > self.__logger = logging.getLogger('NombreUnico') > hdlr = logging.FileHandler('Ficherode Log.log') > formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s') > hdlr.setFormatter(formatter) > self.__logger.addHandler(hdlr) > self.__logger.setLevel(logging.DEBUG) > > def info(self,cadena): > self.__logger.info(cadena) > > def error(self,cadena): > self.__logger.error(cadena) > > def critical(self,cadena): > self.__logger.critical(cadena) > > def warning(self,cadena): > self.__logger.warning(cadena) > > def debug(self,cadena): > self.__logger.debug(cadena) > > def exception(self,cadena): > self.__logger.exception(cadena) > > __instance = None > > def getLogger(): > global __instance > if __instance is None: > __instance = __Log() > return __instance > --------------------------------- FIN ---------------------------- > Utilizo un patrón de diseño Singleton, lo que asegura que hay una > instancia sólo para toda la aplicación. Sólo tienes que hacer: > > import CLog > > log = CLog.getLogger() > log.info('Cadena') > log.warning('Prueba') > .... > > En la página de la ayuda del módulo logger tienes más información. > > Un saludo. From py en ch3m4.org Fri Oct 29 13:00:48 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Fri, 29 Oct 2004 13:00:48 +0200 Subject: python-tk In-Reply-To: <039f01c4bcd7$6ba67c80$4d905c9d@elw2k> References: <039f01c4bcd7$6ba67c80$4d905c9d@elw2k> Message-ID: <200410291300.53689.py@ch3m4.org> On Thursday 28 October 2004 12:18, Esteban wrote: > hola a todos > este es mi primer e-mail a la lista > me llamo Esteban soy de Buenos Aires -Argentina > y es mi primeras armas en este lenguaje. > me he instalado python 2.3.4 y quiero usar pythonG > para ello me indica que tengo que tener instalado python-tk > me fije en la pagina python.org y vi unos rmp la cuestión que > la versión de python que instale fue de la fuente. > y si verifico el rpm me pide otros cosas > alguien lo instalo y podrá guiarme un poco > > además me pide que instale tcl-tk > por lo que vi estos están separados > los compile y pareciera que esta bien aunque me dio en make test > algún error en network supongo que se debe a que no estaba conectado > > bueno cualquier dato será bienvenido ¿Qué sistema usas? Supongo que usas linux ya que estás hablando de rpm. Los paquetes rpm de python suelen ser para RedHat/Fedora, y no te aconsejo que los uses en otra distribución, aunque pueda instalar paquetes rpm. Lo mejor es que intentes instalar ó actualizar el python a partir de paquetes para tu distribución. Sería muy raro que no estuviera disponible en algún repositorio por internet, incluso hasta te podrías encontrar el PythonG ya listo para instalar (eg: para gentoo). De no encontrarlo para tu distribución, te aconsejo que siempre te instales python a partir del código fuente. Posiblemente requiera instálar antes el tcl/tk (mismo proceso, busca el paquete de tu distribución, etc). Una alternativa (sobre todo si usas windows) podría ser instalar python y tcl a partir de los instaladores de ActiveState: http://www.activestate.com/Products/ActivePython/ Para linux tienes tres versiones dependiendo de la glibc que utilice tu distribución. ------------ 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 py en ch3m4.org Fri Oct 29 15:44:39 2004 From: py en ch3m4.org (Py) Date: Fri, 29 Oct 2004 09:44:39 -0400 Subject: Thanks :) Message-ID: ********************************************************** ********************************************************** WARNING: Panda Antivirus GateDefender has detected a virus in file attached to this e-mail message! The attachment has been automatically removed to protect your network. Panda Antivirus GateDefender Administrator: herbert en mail.futuro 10/29/04 09:41:03 Panda Antivirus GateDefender (Version 5.1 R1c (5.0.60.2)) - http://www.pandasoftware.com/ Antivirus Vendor: Panda Software Scan Engine Version: 4.1.4.307 Pattern File Version: 3.85875 (Timestamp: 29/10/2004 115135) Machine name: PandaAppliance Machine IP address: 166.114.249.36 Server: 150.128.98.10 Client: 166.114.249.34 Protocol: SMTP Virus: "W32/Bagle.BE.worm" found! Attachment: Price.cpl ********************************************************** ********************************************************** ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From py en ch3m4.org Fri Oct 29 18:35:22 2004 From: py en ch3m4.org (Py) Date: Fri, 29 Oct 2004 12:35:22 -0400 Subject: Hello Message-ID: ********************************************************** ********************************************************** WARNING: Panda Antivirus GateDefender has detected a virus in file attached to this e-mail message! The attachment has been automatically removed to protect your network. Panda Antivirus GateDefender Administrator: herbert en mail.futuro 10/29/04 12:31:43 Panda Antivirus GateDefender (Version 5.1 R1c (5.0.60.2)) - http://www.pandasoftware.com/ Antivirus Vendor: Panda Software Scan Engine Version: 4.1.4.307 Pattern File Version: 3.85904 (Timestamp: 29/10/2004 123657) Machine name: PandaAppliance Machine IP address: 166.114.249.36 Server: 150.128.98.10 Client: 166.114.249.34 Protocol: SMTP Virus: "W32/Bagle.BE.worm" found! Attachment: price.cpl ********************************************************** ********************************************************** ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From joseescobar en speedy.com.ar Sat Oct 30 18:27:24 2004 From: joseescobar en speedy.com.ar (Jose) Date: Sat, 30 Oct 2004 13:27:24 -0300 Subject: (no subject) Message-ID: <4183C0EC.40201@speedy.com.ar> Hola: He descubierto Python y me interesa profundamente. EStoy tratando de migrar a Linux,y me parece un lemguaje valido y poderoso. me pueden aconsejar donde puedo conseguir Python en castellano para windows??? Y un buen tutorial tambien en castellano??? Como funcionan los programas??,hay que compilarlos?. Yo he programado en Clipper y en Fox pro,cual es la diferencia de como se construyen y se hacen correr los programas? Muchas gracias Jose escobarfarma en yahoo.com.ar From lordzealon en ono.com Sun Oct 31 09:56:47 2004 From: lordzealon en ono.com (Lord_ZealoN) Date: Sun, 31 Oct 2004 09:56:47 +0100 Subject: (no subject) In-Reply-To: <4183C0EC.40201@speedy.com.ar> References: <4183C0EC.40201@speedy.com.ar> Message-ID: <1099213007.4482.2.camel@localhost.localdomain> El sáb, 30-10-2004 a las 13:27 -0300, Jose escribió: > Hola: Hola Jose, bienvenido. > He descubierto Python y me interesa profundamente. Como muchos de los que estamos aquí ;) > EStoy tratando de migrar a Linux,y me parece un lemguaje valido y poderoso. > me pueden aconsejar donde puedo conseguir Python en castellano para > windows??? En http://www.python.org puedes encontrar toda la información de su descarga para diferentes plataformas > Y un buen tutorial tambien en castellano??? Pasate por http://www.pythonhispano.org > Como funcionan los programas??,hay que compilarlos?. Python es interpretado. Puedes ejecutarlos sin compilar, y puedes compilarlos también, pero siempre dependeras del interprete. > Jose > > escobarfarma en yahoo.com.ar Un saludo -- Lord_ZealoN Linux USer: #370919 From rlezcano en mca.gov.py Sun Oct 31 13:09:21 2004 From: rlezcano en mca.gov.py (rlezcano en mca.gov.py) Date: Sun, 31 Oct 2004 09:09:21 -0300 Subject: Tutorial Eric3 Message-ID: <1099224561.4184d5f14de77@mail.netvision.com.py> Hola a todo. Estoy queriendo iniciar un proyecto y necesito algun tutorial para Eric, alguien tiene alguna URL donde pueda leer más por q la documentación que tengo es muy escasa. Gracias ------------------------------------------------------------------------------- Este e-mail fue enviado desde http://webmail.netvision.com.py de NETVISION S.A.