From marcelobarbero en arnet.com.ar Sun Mar 2 01:35:24 2008 From: marcelobarbero en arnet.com.ar (Marcelo Barbero) Date: Sat, 1 Mar 2008 21:35:24 -0300 Subject: Saludos In-Reply-To: <910226.82889.qm@web26903.mail.ukl.yahoo.com> References: <910226.82889.qm@web26903.mail.ukl.yahoo.com> Message-ID: <20080301233314.3A4C41B044F@dns2.uji.es> Rafaela, Santa Fe no es suficientemente cerca? -----Mensaje original----- De: python-es-bounces en aditel.org [mailto:python-es-bounces en aditel.org] En nombre de Numael Garay Enviado el: Viernes 29 de Febrero de 2008 07:12 p.m. Para: python-es en aditel.org Asunto: [Python-es] Saludos Alguien de Resistencia Chaco? saludos ______________________________________________ ¿Con Mascota por primera vez? Sé un mejor Amigo. Entra en Yahoo! Respuestas http://es.answers.yahoo.com/info/welcome No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.516 / Virus Database: 269.21.1/1302 - Release Date: 27/02/2008 04:34 p.m. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From ocalinux en gmail.com Sun Mar 2 18:13:26 2008 From: ocalinux en gmail.com (olmer castrillon) Date: Sun, 2 Mar 2008 12:13:26 -0500 Subject: Imagen de fondo In-Reply-To: References: Message-ID: claro es posible y se hace bajo la libreria wx.image para la manipulacion debe utilizar la clase wx.Bitmap y manipulacion de una imagen como alpha comandos como SetAlphaData(data) dode data sera la imagen a manipular. Esta es la sintaxis de una imagen insertada en un frame: wx.Image('ruta del archivo donde esta la imagen', type=wx.BITMAP_TYPE_ANY, index=-1) si la imagen esta en la misma carpeta solo se escribe el nombre de el archivo. espero que le sirva exitos El 29/02/08, Manuel Enrique González Ramírez escribió: > Hola amig en s > > > Trabajo con las librerias wx y con el rad Visualwx y quisiera saber si > alguien conoce la forma de incluir una imagen de fondo en un formulario MDI > (parent). > > > > Gracias. > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- ***Olmer Castrillon Aguirre*** RCSoluciones Integrales Director de proyectos _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From ocalinux en gmail.com Sun Mar 2 18:25:16 2008 From: ocalinux en gmail.com (olmer castrillon) Date: Sun, 2 Mar 2008 12:25:16 -0500 Subject: Hilos que tardan mucho In-Reply-To: <526b12900802290109x28425261o12c2b0d820d4e6c6@mail.gmail.com> References: <526b12900802290109x28425261o12c2b0d820d4e6c6@mail.gmail.com> Message-ID: No creo porque aun si el proceso de cada maquina es en paralelo solo se usa un soccet para recepcionar o enviar los datos a no ser que se destinara soccet separados por cada envio pero la maquina lo que hace es dividir tiempos entre los soccets para tener acceso a los datos de cada maquina enlazada por lo tanto esto no es posible porque solo hay una maquina recepsionando datos. El 29/02/08, Luis Orellana Orihuela escribió: > Tengo una aplicación en la que envío el mismo mensaje a un conjunto de PC's. > Uso un hilo por cada socket a enviar: > > import thread > .... > ... > ... > > for ip in ips: #ips es una lista con las ips destino > thread.start_new(envia_socket,(ip,puerto,mensaje)) > > La función envia_socket sólo se dedica a enviar el mensaje al destino: > > def envia_socket(servidor,puerto,msg): > > s=socket(AF_INET,SOCK_STREAM) #creamos socket tipo TCP/IP > #s.settimeout(20) > try: > s.connect((servidor,puerto)) #nos conectamos al servidor > s.send(msg) > s.close() # cerramos conexion > envio_ok.append(servidor) > except timeout: > error1.append(servidor) > except error: # si error capturamos excep > error2.append(servidor) > > El problema es que si envío un mensaje a un sólo equipo y el pc está > apagado el socket intenta conectar durante unos 20 seg. En cambio si se lo > mando a unos 30 equipos y estos está apagados la ejecución se demora hasta > pasar el minuto. Si uso threading me ocurre lo mismo. Y si establezco un > settimeout he de poner un tiempo elevado para que recorra todos los equipos. > > No sé si estos tiempos son normales, pero si son procesos en pararelos ... > ¿no debería tardarme aproximadamente lo mismo en enviar a un equipo que a > varios? > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- ***Olmer Castrillon Aguirre*** RCSoluciones Integrales Director de proyectos _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From yhdelgado en estudiantes.uci.cu Sun Mar 2 19:01:06 2008 From: yhdelgado en estudiantes.uci.cu (Yusniel Hidalgo Delgado) Date: Sun, 2 Mar 2008 13:01:06 -0500 Subject: Ejecutar comandos del sistema Message-ID: Saludos amigos. Cómo pudiera mandar a ejecutar comandos del sistema desde puthon?. Tengo entendido que existe un paquete que se llama python-command que permite esto, pero no lo encuentro en el respositorio. Alguien me puede adr alguna orientación?. Saludos. PD: Estoy sobre GNU/Linux Ubuntu 7.10. ------------------------------------------------------------ Yusniel Hidalgo Delgado Brigada 4301 Universidad de las Ciencias Informáticas ------------------------------------------------------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From jordi.f en ati.es Sun Mar 2 19:18:06 2008 From: jordi.f en ati.es (Jordi Funollet) Date: Sun, 2 Mar 2008 19:18:06 +0100 Subject: Ejecutar comandos del sistema In-Reply-To: References: Message-ID: <200803021918.06783.jordi.f@ati.es> Hola Yusniel, No necesitas instalar nada. Usa el módulo "subprocess" que trae Python. Dale un vistazo a la documentación, pero la forma más simple de hacerlo creo que es: import subprocess retval = subprocess.call(['ls', '-l', '-a']) -- ############################## ### Jordi Funollet ### http://www.terraquis.net _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From edgar.cardoz en gmail.com Sun Mar 2 22:49:07 2008 From: edgar.cardoz en gmail.com (Edgar Israel Casanova Cardoz) Date: Sun, 02 Mar 2008 15:49:07 -0600 Subject: Ejecutar comandos del sistema In-Reply-To: References: Message-ID: <47CB20D3.5090601@gmail.com> #!/usr/bin/env python import os os.system("ls /home/$(whoami)") Yusniel Hidalgo Delgado wrote: > Saludos amigos. Cómo pudiera mandar a ejecutar comandos del sistema desde puthon?. Tengo entendido que existe un paquete que se llama python-command que permite esto, pero no lo encuentro en el respositorio. Alguien me puede adr alguna orientación?. Saludos. > PD: Estoy sobre GNU/Linux Ubuntu 7.10. > > ------------------------------------------------------------ > Yusniel Hidalgo Delgado > Brigada 4301 > Universidad de las Ciencias Informáticas > ------------------------------------------------------------ > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From luis.ore.ori en gmail.com Mon Mar 3 10:02:13 2008 From: luis.ore.ori en gmail.com (Luis Orellana Orihuela) Date: Mon, 3 Mar 2008 10:02:13 +0100 Subject: PostgreSQL+Python In-Reply-To: <2c9fb0dd0802290954g554db323lcc2cb88580cd4c3e@mail.gmail.com> References: <526b12900802290300webed894g58b0476d833d0a59@mail.gmail.com> <2c9fb0dd0802290954g554db323lcc2cb88580cd4c3e@mail.gmail.com> Message-ID: <526b12900803030102x54a3a9fx91e3b587dce6d2ef@mail.gmail.com> Gracias Chema, un gran aporte de conocimiento Comento como va quedando el tema: Postgres es, posiblemente, el mejor SGBD opensource; pero no sabría > recomendarte nada sin saber para qué. Por supuesto, te recomiendo su > aprendizaje, ya que sigue los estándares SQL con los que podrás > aprender técnicas de administrador de bases de datos para luego > aplicarlas en sistemas profesionales. Ya que vas a trabajar en > windows, te resultará más sencillo instalarte la distribución de > EnterpriseDB que viene con todo los necesario. Si quieres más, puedes > instalarte el EnterpriseDB Advanced Server, que emula un Oracle, > aunque tendría que instarlo sólo en equipos dedicados. Pues en principio no tengo conocimiento del proyecto. Simplemente terminé el anterior y me dijeron "vete estudiando las posibles conexiones entre Python - Postgre". Así que seguramente partiré de una BD Postgre y tendré que trabajar con ella desde Python. Esta BD está en un servidor dedicado y creo que es Debian. Pero, aún necesito Windows, así que por eso en esta primera fase de pruebas usaré Windows (supongo que no habrá problemas al pasar el código a linux). En principio me he instalado PostgreSQL 8.3 para hacer mis propias pruebas y tutoriales. > > Sea cual sea, desde python sigue siempre las normas de la DB-API, y > podrás pasar de uno a otro más fácilmente. > > > > > - Googleando he visto que hay mucha variedad en la conectividad > > python/postgreSQL: pg, PyGresQL, PoPy, psycopg, pyPgSQL ¿Qué conetor > es > > recomendable? > > > psycopg2 es más robusto y está pensado para conexiones múltiples. > Gracias a que se sigue la DB-API2, es fácil adaptar un programa para > que use un conector u otro, por lo que no te preocupes mucho de ello. También he instalado el módulo psycopg2, leyendo he visto que es uno de los más recomendados. Para postgresql tienes bastante documentación en castellano, aunque > algo desfasada, en la siguiente web chilena: > > http://www.postgresql.cl/ > > Sobre python y postgresql: > > http://www.postgresql.cl/colabora/conectpythonII.htm El primer tutorial que seguí fue este último, pero me encontré con el problema de no poder importar pg. lo bajé de http://python.projects.postgresql.org/download.html pero me seguía dando error. También leí que ese tutorial estaba algo obsoleto y que me decantase por psycopg2. La situación actual es PosgreSQL 8.3 + psycopg2. Lo malo es que la documentación de psycopg2 no es tan clara como la de pg, de todas formas seguré trabajando por esta línea. Se admiten sugerencias ahora que estoy en fase de pruebas. gracias _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From nmelgarejodiaz en gmail.com Mon Mar 3 13:06:16 2008 From: nmelgarejodiaz en gmail.com (Natali Melgarejo Diaz) Date: Mon, 3 Mar 2008 13:06:16 +0100 Subject: ejecucion de ventanas matplotlib en threads Message-ID: Buenas a todos, La otra vez hice una consulta sobre dos ventanas ejecutandose al mismo tiempo en PyQt4. Pues para esto he usado Threads pero como uso matplotlib y hago "show" en ambas funciones, parece q el programa se raya al hacer ejecutar al segundo programa, alguien ha tenido el mismo problema alguna vez. Gracias por adelantado ;)) Saludos -- ********Natali******** _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From francofuji en gmail.com Mon Mar 3 16:35:55 2008 From: francofuji en gmail.com (Francisco Perez) Date: Mon, 3 Mar 2008 10:35:55 -0500 Subject: Leyendo HTML mal formado Message-ID: <30fdaa240803030735t57d7901cr2455a2c0e83b4f38@mail.gmail.com> Existe alguna manera de leer (parsear) HTML mal formado? Digamos que los generados por MS Word? Hasta ahora use SAX y DOM y con ambos obtuve un.."not well-formed (invalid token): line 6, column 17" Saludos.. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From miuler en gmail.com Mon Mar 3 16:53:03 2008 From: miuler en gmail.com (Hector Miuler Malpica Gallegos) Date: Mon, 03 Mar 2008 10:53:03 -0500 Subject: Ejecutar comandos del sistema In-Reply-To: References: Message-ID: <1204559583.10743.4.camel@miuler.dyndns.org> Quieres otra? os.popen('ls').readlines() El dom, 02-03-2008 a las 13:01 -0500, Yusniel Hidalgo Delgado escribió: > Saludos amigos. Cómo pudiera mandar a ejecutar comandos del sistema desde puthon?. Tengo entendido que existe un paquete que se llama python-command que permite esto, pero no lo encuentro en el respositorio. Alguien me puede adr alguna orientación?. Saludos. > PD: Estoy sobre GNU/Linux Ubuntu 7.10. > > ------------------------------------------------------------ > Yusniel Hidalgo Delgado > Brigada 4301 > Universidad de las Ciencias Informáticas > ------------------------------------------------------------ > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes -- Hector Miuler Malpica Gallegos ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: Esta parte del mensaje está firmada digitalmente URL: ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From arcturus en us.es Mon Mar 3 17:28:54 2008 From: arcturus en us.es (=?ISO-8859-1?Q?Francisco_Jes=FAs_Jordano_Jim=E9nez?=) Date: Mon, 03 Mar 2008 17:28:54 +0100 Subject: Leyendo HTML mal formado In-Reply-To: <30fdaa240803030735t57d7901cr2455a2c0e83b4f38@mail.gmail.com> References: <30fdaa240803030735t57d7901cr2455a2c0e83b4f38@mail.gmail.com> Message-ID: <47CC2746.9070006@us.es> Hola, quizá podrías probar el wrapper para la librería libtidy, transforma código html en xhtml, puedes ver un ejemplo en la página del proyecto: http://utidylib.berlios.de/ Saludos Francisco Perez escribió: > Existe alguna manera de leer (parsear) HTML mal formado? Digamos que > los generados por MS Word? Hasta ahora use SAX y DOM y con ambos > obtuve un.."not well-formed (invalid token): line 6, column 17" > > Saludos.. > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From miuler en gmail.com Mon Mar 3 16:50:35 2008 From: miuler en gmail.com (Hector Miuler Malpica Gallegos) Date: Mon, 03 Mar 2008 10:50:35 -0500 Subject: PostgreSQL+Python In-Reply-To: <200802291632.17951.jordi.f@ati.es> References: <526b12900802290300webed894g58b0476d833d0a59@mail.gmail.com> <200802291632.17951.jordi.f@ati.es> Message-ID: <1204559436.10743.2.camel@miuler.dyndns.org> Si quieres probar ORM, también puedes ver a storm, lo saco ubuntu/canonica para su sistema launchpad. https://launchpad.net/storm https://storm.canonical.com Realmente muy sencillo. El vie, 29-02-2008 a las 16:32 +0100, Jordi Funollet escribió: > Puedes añadir una capa mas: un ORM (Object Relational Mapper), que se ocupe de > salvar tus objectos Python en tablas SQL. Te ahorará tener que usar SQL "a > pelo" y puedes decidir que BD usas más adelante. > > http://www.sqlalchemy.org/ > > Para las etapas de desarrollo yo siempre apuesto por SQLite: no hay daemons, > solo un fichero. Puedes llevarte todo el entorno de desarrollo en una llave > USB. > > http://www.sqlite.org/ > -- Hector Miuler Malpica Gallegos ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: Esta parte del mensaje está firmada digitalmente URL: ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pych3m4 en gmail.com Mon Mar 3 18:55:56 2008 From: pych3m4 en gmail.com (Chema Cortes) Date: Mon, 3 Mar 2008 18:55:56 +0100 Subject: PostgreSQL+Python In-Reply-To: <526b12900803030102x54a3a9fx91e3b587dce6d2ef@mail.gmail.com> References: <526b12900802290300webed894g58b0476d833d0a59@mail.gmail.com> <2c9fb0dd0802290954g554db323lcc2cb88580cd4c3e@mail.gmail.com> <526b12900803030102x54a3a9fx91e3b587dce6d2ef@mail.gmail.com> Message-ID: <2c9fb0dd0803030955k5fc894dwca0d49cf5c2238c2@mail.gmail.com> El 3/03/08, Luis Orellana Orihuela escribió: > También he instalado el módulo psycopg2, leyendo he visto que es uno de los > más recomendados. > > Para postgresql tienes bastante documentación en castellano, aunque > > algo desfasada, en la siguiente web chilena: > > > > http://www.postgresql.cl/ > > > > Sobre python y postgresql: > > > > http://www.postgresql.cl/colabora/conectpythonII.htm > > > > El primer tutorial que seguí fue este último, pero me encontré con el > problema de no poder importar pg. lo bajé de > http://python.projects.postgresql.org/download.html pero me seguía dando > error. Por éso mismo, antes de recomendarte el tutorial te advertía de lo siguiente: > > Gracias a que se sigue la DB-API2, es fácil adaptar un programa para > > que use un conector u otro, por lo que no te preocupes mucho de ello. Si siguen la DB-API2 de python, toda la documentación de los conectores termina desde el momento en que se detalla cómo se hace la conexión (método .connect()). A partir de ahí, funciona todo igual, ya sea pg, psycopg2, mySQLdb, sqlite3, etc. Fíjate, por ejemplo, que la db-api2 requiere de "cursores", algo que no tiene mysql. Pues hasta ese extremo emula el mysqldb para que no tengas problemas de compatibilidad. Para ser fiel a la realidad, cada conector tiene características propias que se salen de la dbapi; pero es mejor no utilizarlas si se tiene intención de cambiar de SGBD algún día. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pych3m4 en gmail.com Mon Mar 3 19:27:28 2008 From: pych3m4 en gmail.com (Chema Cortes) Date: Mon, 3 Mar 2008 19:27:28 +0100 Subject: Leyendo HTML mal formado In-Reply-To: <30fdaa240803030735t57d7901cr2455a2c0e83b4f38@mail.gmail.com> References: <30fdaa240803030735t57d7901cr2455a2c0e83b4f38@mail.gmail.com> Message-ID: <2c9fb0dd0803031027s33986281m7654b46e09ac27fb@mail.gmail.com> El 3/03/08, Francisco Perez escribió: > Existe alguna manera de leer (parsear) HTML mal formado? Digamos que > los generados por MS Word? Hasta ahora use SAX y DOM y con ambos > obtuve un.."not well-formed (invalid token): line 6, column 17" Sin estar bien formado, todos los parsers de xml fallarán. Inténtalo con uno para html, como "htmllib". _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From mgallegol en gmail.com Mon Mar 3 21:03:55 2008 From: mgallegol en gmail.com (=?ISO-8859-1?Q?Martha_Luc=EDa_Gallego_L=F3pez?=) Date: Mon, 3 Mar 2008 15:03:55 -0500 Subject: Pyhton/Pmw Message-ID: <3da61ab70803031203h482026b1j3e7f2dc7ffb0d7ba@mail.gmail.com> Hola a todos los listeros: el siguiente código me permite introducir n datos; cada vez que inserto un dato me pregunta desea ingresar otro dato(SI/NO); una vez cliqueado NO me gustaria presentar en ventana el resultado de todos los valores que se introdujeron, he considerado hacerlo a través de listas, podrían darme alguna luz por favor de como hacerlo. Agradezco su ayuda #El problema de este código es que me muestra el último valor #digitado las n veces que introduci datos; otra cosa es que si #destruyo la ventana donde estoy insertando datos no me #muestra nada de valores. Como almaceno los datos para #destruir la ventana donde esta el entry???? cordial saludo, Martha L. ---------------------------INICIO------------------------------------------------ from Tkinter import * import Pmw def calculo(name,index,mode): global x1 x1= valor1.get() if x1: x1= float(x1) else: valor1.set(x1) x1=0 def lectura(bcerrar): dialogo.deactivate(bcerrar) def continuar(res): if res=='SI': dialogoContinuar.deactivate(res) dato1() else: dialogoContinuar.deactivate(res) r.destroy() ri=Toplevel() c=0 for n in range(r.num): Label(ri, textvariable=valor1).grid(row=c, column=0) c=c+1 ri.mainloop() def ok(): dialogoContinuar.activate(geometry = 'centerscreenalways') def dato(): global r, dialogo, dialogoContinuar,valor1, mensajeContinuar, ldato, c2 r=Tk() r.num=1 ldato=[] valor1=DoubleVar() valor1.set(float(0.0)) valor1.trace_variable("w", calculo) for n in range(r.num): Label(r, text='%d'%r.num, width=4).grid(row=0, column=0) c2=Entry(r, textvariable=valor1, width=4).grid(row=1, column=0) ldato.append(c2) Button(r, text='Continua', command=ok).grid(row=2, column=0) dialogo = Pmw.MessageDialog(r, title = 'Aviso', message_text= 'No ha ingresado datos', iconpos = 'w', icon_bitmap = 'error', defaultbutton = 0, command=lectura) dialogo.iconname('Aviso') dialogo.withdraw() dialogoContinuar= Pmw.Dialog(r, buttons = ('SI', 'NO'), command=continuar) dialogoContinuar.withdraw() mensajeContinuar= Label(dialogoContinuar.interior(), text='¿desea ingresar otro dato?', background='black', foreground='white', pady=20) mensajeContinuar.pack(expand = 1, fill = 'both', padx = 4, pady = 4) r.mainloop() def dato1(): r.num=r.num+1 for n in range(r.num): Label(r, text='%d'%r.num, width=4).grid(row=0, column=0) c2=Entry(r, textvariable=valor1, width=4).grid(row=1, column=0) Button(r, text='Continua', command=ok).grid(row=2, column=0) dialogo = Pmw.MessageDialog(r, title = 'Aviso', message_text= 'No ha ingresado datos', iconpos = 'w', icon_bitmap = 'error', defaultbutton = 0, command=lectura) dialogo.iconname('Aviso') dialogo.withdraw() dialogoContinuar= Pmw.Dialog(r, buttons = ('SI', 'NO'), command=continuar) dialogoContinuar.withdraw() mensajeContinuar= Label(dialogoContinuar.interior(), text='¿desea ingresar otro dato?', background='black', foreground='white', pady=20) mensajeContinuar.pack(expand = 1, fill = 'both', padx = 4, pady = 4) d=dato() -----------------------------FIN--------------------------------------------------------- _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From jtorrents en milnou.net Mon Mar 3 21:17:34 2008 From: jtorrents en milnou.net (jordi torrents) Date: Mon, 3 Mar 2008 21:17:34 +0100 Subject: Leyendo HTML mal formado In-Reply-To: <30fdaa240803030735t57d7901cr2455a2c0e83b4f38@mail.gmail.com> References: <30fdaa240803030735t57d7901cr2455a2c0e83b4f38@mail.gmail.com> Message-ID: Hola, 2008/3/3, Francisco Perez: > Existe alguna manera de leer (parsear) HTML mal formado? A mi me dió buenos resultados beautifulsoup [1]. Tiene buena documentación y trabaja con xml y html. Está en los repositorios de Debian, la descripción reza: python-beautifulsoup - error-tolerant HTML parser for Python Salut [1] http://www.crummy.com/software/BeautifulSoup/ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From yhdelgado en estudiantes.uci.cu Mon Mar 3 21:37:19 2008 From: yhdelgado en estudiantes.uci.cu (Yusniel Hidalgo Delgado) Date: Mon, 3 Mar 2008 15:37:19 -0500 Subject: Ejecutar comandos del sistema References: <20080303201917.1088B14C2BF3@devnull.aditel.org> Message-ID: Muchas gracias a todos. Buscando en internet, me encontré con otras formas: import commands out = commands.getoutput('cal 2008') f = file('lsout.txt', 'w') f.write(out) f.close() y esta otra: import os data=os.popen('ls').read() file=open('fichero.txt','w') file.write(data) file.close() que se ajustan mas a lo que yo buscaba. Saludos a todos. ------------------------------------------------------------ Yusniel Hidalgo Delgado Brigada 4301 Universidad de las Ciencias Informáticas ------------------------------------------------------------ ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From punchikk en yahoo.com Tue Mar 4 06:44:39 2008 From: punchikk en yahoo.com (punchik punchik) Date: Mon, 3 Mar 2008 21:44:39 -0800 (PST) Subject: caos y velocidad de iteracion Message-ID: <471623.17447.qm@web32005.mail.mud.yahoo.com> hola que tal, soy nuevo en esta lista. estoy empezando con python basicamente para programar audio o mejor dicho para controlar algoritmicamente parametros de distintos generadores de audio. Primero me gustaria saber si hay librerias o modulos, para generar diferentes tipos de envolventes o curvas, como curva guassiana, o librerias para generar numeros aleatorios basados en fractales , como atractores caoticos, etc. mi ultima pregunta es: como podria saber la velocidad con que mi computadora hacer una itearcion? estoy haciendo una pequena interpolacion entre dos valores , usando iteracion pero no percibo el resultado, asi que pienso que mi compu lo hace muy rapido y el oido no lo capta el codigo es algo asi: for i in range(100) : freq(i) print i como podria hacer que vaya de 0 a 100 en un tiempo definido por mi? muchas gracias por sus respuestas. p. --------------------------------- Looking for last minute shopping deals? Find them fast with Yahoo! Search. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From faltet en carabos.com Tue Mar 4 09:43:20 2008 From: faltet en carabos.com (Francesc Altet) Date: Tue, 4 Mar 2008 09:43:20 +0100 Subject: caos y velocidad de iteracion In-Reply-To: <471623.17447.qm@web32005.mail.mud.yahoo.com> References: <471623.17447.qm@web32005.mail.mud.yahoo.com> Message-ID: <200803040943.20641.faltet@carabos.com> A Tuesday 04 March 2008, punchik punchik escrigué: > hola que tal, soy nuevo en esta lista. estoy empezando con python > basicamente para programar audio o mejor dicho para controlar > algoritmicamente parametros de distintos generadores de audio. > Primero me gustaria saber si hay librerias o modulos, para generar > diferentes tipos de envolventes o curvas, como curva guassiana, o > librerias para generar numeros aleatorios basados en fractales , como > atractores caoticos, etc. Pues no lo sé. Google siempre es tu amigo. Por otro lado, puede que preguntando a la lista de SciPy [1] tengas más éxito que en esta. [1] http://projects.scipy.org/mailman/listinfo/scipy-user > mi ultima pregunta es: como podria saber la velocidad con que mi > computadora hacer una itearcion? > > > estoy haciendo una pequena interpolacion entre dos valores caso de 0 a 100> , usando iteracion pero no percibo el resultado, asi > que pienso que mi compu lo hace muy rapido y el oido no lo capta > > el codigo es algo asi: > > for i in range(100) : > freq(i) > print i > > > > como podria hacer que vaya de 0 a 100 en un tiempo definido por > mi? Pues hombre, si tenemos en cuenta que freq(i) es una funcion definida de antemano, poco puedes hacer para que el bucle vaya de 0 a 100 en un tiempo definido por tí (a menos que tengas unos poderes de los que carecemos el resto ;). No nos has dicho el contexto en el que corres tu código, pero el print deberia de informarte en el mismo momento que acaba freq(i). Sin embargo, hay situaciones en que has de forzar el vaciado del stdout. Por ejemplo, si corres un programa de modo batch en una máquina UNIX: $ python programa.py > programa.out y después espías la salida con el comando: $ tail -f programa.out no verás la salida en tiempo real, sino sólo cuando se ha llenado el buffer de salida. Para forzar que se vacie el buffer de salida con cada print puedes hacer: import sys for i in range(100) : freq(i) print i sys.stdout.flush() Saludos, -- >0,0< Francesc Altet     http://www.carabos.com/ V V Cárabos Coop. V.   Enjoy Data "-" _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From luis.ore.ori en gmail.com Tue Mar 4 12:05:22 2008 From: luis.ore.ori en gmail.com (Luis Orellana Orihuela) Date: Tue, 4 Mar 2008 12:05:22 +0100 Subject: primeros pasos con postgre+python ... y primeros errores Message-ID: <526b12900803040305u6bf28369u9913b2133448886f@mail.gmail.com> He seguido el tutorial http://www.postgresql.cl/colabora/conectpythonII.htm pero usando el módulo psycopg2 en lugar de pg. Creo la BD (bd music con os tablas: banda, disco) sin problemas usando psql. El problema viene al hacer consultas con python: import psycopg2: try: conn = psycopg2.connect("dbname='music' user='postgres' host='localhost' password='*******'"); print "Conexion establecida" except: print "Error de conexion" cur = conn.cursor() resultado = cur.execute("""SELECT * FROM disco """) print resultado Al ejecutar, me lanza el siguiente error: >>> ================================ RESTART ================================ >>> Conexion establecida Traceback (most recent call last): File "C:/Documents and Settings/user1/Escritorio/pruebas_db.py", line 10, in resultado = cur.execute("""SELECT * FROM disco """) ProgrammingError: relation "disco" does not exist Decir que si ejecuto la sentencia SELECT * FROM disco en psql no hay problemas. He probado a poner "disco" y ha cambiar el nombre de la tabla pero nada. He estado buscando y no doy con la solución. A ver si conocen el fallo. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pych3m4 en gmail.com Tue Mar 4 13:08:01 2008 From: pych3m4 en gmail.com (Chema Cortes) Date: Tue, 4 Mar 2008 13:08:01 +0100 Subject: primeros pasos con postgre+python ... y primeros errores In-Reply-To: <526b12900803040305u6bf28369u9913b2133448886f@mail.gmail.com> References: <526b12900803040305u6bf28369u9913b2133448886f@mail.gmail.com> Message-ID: <2c9fb0dd0803040408o6d71317dya430ee2f0bbfb2c0@mail.gmail.com> El 2008/3/4, Luis Orellana Orihuela escribió: > Creo la BD (bd music con os > tablas: banda, disco) sin problemas usando psql. El problema viene al hacer > consultas con python: > > Decir que si ejecuto la sentencia SELECT * FROM disco en psql no hay > problemas. He probado a poner "disco" y ha cambiar el nombre de la tabla > pero nada. He estado buscando y no doy con la solución. A ver si conocen > el fallo. Falta información. La parte de python parece correcta, por lo que algo no está bien con el postgres. ¿Qué querías decir con lo de qu había cambiado el nombre de la tabla? Cuida con cualificar con comillas los identificadores y de crear las tablas en los esquemas previstos y no otros. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From inigo_aldazabal en ehu.es Tue Mar 4 14:18:16 2008 From: inigo_aldazabal en ehu.es (Inigo Aldazabal Mensa) Date: Tue, 4 Mar 2008 14:18:16 +0100 Subject: caos y velocidad de iteracion In-Reply-To: <471623.17447.qm@web32005.mail.mud.yahoo.com> References: <471623.17447.qm@web32005.mail.mud.yahoo.com> Message-ID: <200803041418.17613.inigo_aldazabal@ehu.es> El Martes, 4 de Marzo de 2008 06:44, punchik punchik escribió: > el codigo es algo asi: > > for i in range(100) : > freq(i) > print i > > > > como podria hacer que vaya de 0 a 100 en un tiempo definido por mi? > Yo buscaría en sitios relacionados con juegos para algún mecanismo mas o menos estandar. Dependiendo de la biblioteca que uses (eg. pygame, SDL, PyGTK, etc) habrá métodos mas específicos. ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From nrgaray en yahoo.es Tue Mar 4 22:04:29 2008 From: nrgaray en yahoo.es (Numael Garay) Date: Tue, 4 Mar 2008 21:04:29 +0000 (GMT) Subject: caos y velocidad de iteracion Message-ID: <576089.62194.qm@web26912.mail.ukl.yahoo.com> wxpython --> wxMediaCtrl es nativo, pero solo es para windows por ahora ----- Mensaje original ---- De: Inigo Aldazabal Mensa Para: Lista de discusión sobre python en castellano Enviado: martes, 4 de marzo, 2008 10:18:16 Asunto: Re: [Python-es] caos y velocidad de iteracion El Martes, 4 de Marzo de 2008 06:44, punchik punchik escribió: > el codigo es algo asi: > > for i in range(100) : > freq(i) > print i > > > > como podria hacer que vaya de 0 a 100 en un tiempo definido por mi? > Yo buscaría en sitios relacionados con juegos para algún mecanismo mas o menos estandar. Dependiendo de la biblioteca que uses (eg. pygame, SDL, PyGTK, etc) habrá métodos mas específicos. -----Sigue archivo adjunto en el mensaje----- _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes ______________________________________________ ¿Con Mascota por primera vez? Sé un mejor Amigo. Entra en Yahoo! Respuestas http://es.answers.yahoo.com/info/welcome _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From jrvilda en gmail.com Tue Mar 4 22:41:37 2008 From: jrvilda en gmail.com (Josu Rodriguez) Date: Tue, 4 Mar 2008 22:41:37 +0100 Subject: crear objetos wx dinamicos Message-ID: Hola a todos, estaba teniendo un problema con la generacion de objetos dinamicos. Me gustaria, por ejemplo, crear una serie de wx.StaticText los cuales se generen de forma automatica dependiendo de los ficheros que hay en un directorio y añadirles un evento para que ejecuten el fichero serlecionado, pero al llamarse de la misma manera el resultado es siempre el del ultimo objeto creado. ¿Se puede hacer de algun modo? ¿Estaria bien mi forma de trabajar, o abria que plantearlo de otra manera? el codigo es el siguiente: ... ... pnl = fpb.FoldPanelBar(self.pn767c, wx.ID_ANY, wx.DefaultPosition, wx.Size(350, 1000), fpb.FPB_DEFAULT_STYLE | fpb.FPB_VERTICAL) dir_tools=dir+'\\tools' listado=os.listdir(dir_tools) directorios=[f for f in listado if os.path.isdir(os.path.join(dir_tools, f))] if directorios: for f in directorios: item = pnl.AddFoldPanel(f, collapsed=True) for datas1 in os.listdir(dir_tools+'\\'+f): if os.path.isfile(os.path.join(dir_tools+'\\'+f,datas1)) : (shortname, extension) = os.path.splitext (str(datas1)) self.prueba1=wx.StaticText(item, wx.ID_ANY, "..."+str(datas1)) pnl.AddFoldPanelWindow(item, self.prueba1) self.prueba1.Bind(wx.EVT_LEFT_DOWN,self.prueba) pnl.AddFoldPanelSeparator(item) else: print 'default' item = pnl.AddFoldPanel("Utiles", collapsed=True) pnl.AddFoldPanelSeparator(item) pathname = os.getcwd()+"\\tools " .... .... def prueba(self,event): print "Ejecutando :",self.prueba1.GetLabel() event.Skip() Un saludo y gracias -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Josu Rodriguez Vilda ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From juan.castillo.maldonado en gmail.com Tue Mar 4 23:30:32 2008 From: juan.castillo.maldonado en gmail.com (Juan) Date: Tue, 4 Mar 2008 16:30:32 -0600 Subject: microsegundos pyTime Message-ID: Hola, Soy nuevo en python, y lo quiero aplicar en sistemas de control para comunicaciones OPC, pero al manejarlo en ambiente Windows con pythonwin y python 2.5, y realizar la conexión con un objeto COM pero no e podido extraer los microsegundos al transferirlo a un objeto datetime de python y manejar los microsegundos. Si por favor alguien pudiera orientarme sobre, si esto es posible, o de como se podria realizar se lo agradezco de antemano. Juan Castillo CFE, Mexico _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From listas en soft-com.es Wed Mar 5 12:34:31 2008 From: listas en soft-com.es (=?ISO-8859-1?Q?Oswaldo_Hern=E1ndez?=) Date: Wed, 05 Mar 2008 12:34:31 +0100 Subject: crear objetos wx dinamicos In-Reply-To: References: Message-ID: <47CE8547.2090906@soft-com.es> Josu Rodriguez escribió: > Hola a todos, > > estaba teniendo un problema con la generacion de objetos dinamicos. > Me gustaria, por ejemplo, crear una serie de wx.StaticText los cuales se > generen de forma automatica dependiendo de los ficheros que hay en un > directorio y añadirles un evento para que ejecuten el fichero serlecionado, > pero al llamarse de la misma manera el resultado es siempre el del ultimo > objeto creado. ¿Se puede hacer de algun modo? ¿Estaria bien mi forma de > trabajar, o abria que plantearlo de otra manera? > el codigo es el siguiente: > ... > ... > pnl = fpb.FoldPanelBar(self.pn767c, wx.ID_ANY, wx.DefaultPosition, > wx.Size(350, 1000), > fpb.FPB_DEFAULT_STYLE | fpb.FPB_VERTICAL) > dir_tools=dir+'\\tools' > listado=os.listdir(dir_tools) > directorios=[f for f in listado > if os.path.isdir(os.path.join(dir_tools, f))] > if directorios: > for f in directorios: > item = pnl.AddFoldPanel(f, collapsed=True) > for datas1 in os.listdir(dir_tools+'\\'+f): > if os.path.isfile(os.path.join(dir_tools+'\\'+f,datas1)) > : > (shortname, extension) = os.path.splitext > (str(datas1)) > self.prueba1=wx.StaticText(item, wx.ID_ANY, > "..."+str(datas1)) > pnl.AddFoldPanelWindow(item, self.prueba1) > self.prueba1.Bind(wx.EVT_LEFT_DOWN,self.prueba) > pnl.AddFoldPanelSeparator(item) > else: > print 'default' > > item = pnl.AddFoldPanel("Utiles", collapsed=True) > pnl.AddFoldPanelSeparator(item) > pathname = os.getcwd()+"\\tools " > .... > .... > > def prueba(self,event): > print "Ejecutando :",self.prueba1.GetLabel() > event.Skip() > > Un saludo y gracias > De la forma que lo haces en self.prueba1 siempre tendras el ultimo de los controles creados. Si realmente necesitas tener todas la referencias guardadas puedes cargarlas en una lista. Independientemente de que las hayas guardado o no, en el evento necesitas saber a cual de los controles corresponde, eso lo puedes obtener con GetEventObject(), revisa la documentación. Saludos, -- ***************************************** Oswaldo Hernández oswaldo (@) soft-com (.) es ***************************************** PD: Antes de imprimir este mensaje, asegúrese de que es necesario. El medio ambiente está en nuestra mano. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From damufo en gmail.com Wed Mar 5 12:32:02 2008 From: damufo en gmail.com (damufo) Date: Wed, 05 Mar 2008 12:32:02 +0100 Subject: error al crear fichero po Message-ID: <47CE84B2.6090204@gmail.com> Hola: Uso python 2.5 y wxpython 2.8 Estoy intentando que la aplicación funcione en varios idiomas, para ello estoy tratando de seguir el tutorial que está en http://wiki.wxpython.org/Internationalization para generar el po estoy usando el fichero mki18n.py que se descarga de la página del manual. El caso es que al intentar generar el fichero po me lanza el siguiente error. 11:00:23: Debug: ..\..\src\common\stdpbase.cpp(51): assert "traits" failed in wxStandardPathsBase::Get(): create wxApp before calling this Segun he leido se puede debe a que uso las wx 2.8 en lugar de las 2.6. Alguien sabe de alguna solución a esto o que es lo que estoy haciendo mal? haciendo pruebas el error pienso que está aquí haciendo un fichero loquesea.py import wx loc = wx.Locale() loc.Init(wx.LANGUAGE_SPANISH) lanza el siguiente error 12:29:10: Debug: ..\..\src\common\stdpbase.cpp(51): assert "traits" failed in wxStandardPathsBase::Get(): create wxApp before calling this Gracias ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From teritriano en gmail.com Wed Mar 5 16:50:26 2008 From: teritriano en gmail.com (Oscar (.teri) Triano) Date: Wed, 5 Mar 2008 16:50:26 +0100 Subject: error al crear fichero po In-Reply-To: <47CE84B2.6090204@gmail.com> References: <47CE84B2.6090204@gmail.com> Message-ID: <8c50b5f00803050750ub703b4s9a43a18d95bd9a1@mail.gmail.com> > lanza el siguiente error > 12:29:10: Debug: ..\..\src\common\stdpbase.cpp(51): assert "traits" > failed in wxStandardPathsBase::Get(): create wxApp before calling this > > Gracias La propia biblioteca te lo está diciendo: Crea antes un objeto de tipo wxApp antes de hacer lo que andas haciendo. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From damufo en gmail.com Wed Mar 5 17:27:00 2008 From: damufo en gmail.com (damufo) Date: Wed, 05 Mar 2008 17:27:00 +0100 Subject: error al crear fichero po In-Reply-To: <47CE84B2.6090204@gmail.com> References: <47CE84B2.6090204@gmail.com> Message-ID: <47CEC9D4.5020902@gmail.com> damufo escribiu: > Hola: > Uso python 2.5 y wxpython 2.8 > Estoy intentando que la aplicación funcione en varios idiomas, para > ello estoy tratando de seguir el tutorial que está en > > http://wiki.wxpython.org/Internationalization > > para generar el po estoy usando el fichero mki18n.py que se descarga > de la página del manual. > El caso es que al intentar generar el fichero po me lanza el siguiente > error. > 11:00:23: Debug: ..\..\src\common\stdpbase.cpp(51): assert "traits" > failed in wxStandardPathsBase::Get(): create wxApp before calling this > > Segun he leido se puede debe a que uso las wx 2.8 en lugar de las 2.6. > Alguien sabe de alguna solución a esto o que es lo que estoy haciendo > mal? > > haciendo pruebas el error pienso que está aquí > > haciendo un fichero loquesea.py > > import wx > > loc = wx.Locale() > loc.Init(wx.LANGUAGE_SPANISH) > > lanza el siguiente error > 12:29:10: Debug: ..\..\src\common\stdpbase.cpp(51): assert "traits" > failed in wxStandardPathsBase::Get(): create wxApp before calling this > > Gracias > > > A esto aun no he conseguido dar respuesta. Comento como he hecho para traducir mi aplicación por si a alguien le sirve: 1. En el fichero principal de la aplicación he puesto import gettext import os os.environ["LANG"] = "gl_ES" #mi caso gettext.install('miaplicacion', '.\locale') 2. En los ficheros de mi aplicación, he modificado las cadenas que deseo traducir metiéndolas entre paréntesis con un guion bajo antes: Antes self.staticText1 = wx.StaticText(id=wxID_FRAME1STATICTEXT1, label=u'Hello world!', name='staticText1', parent=self.panel1, pos=wx.Point(112, 56), size=wx.Size(160, 13), style=0) Despues: self.staticText1 = wx.StaticText(id=wxID_FRAME1STATICTEXT1, label=_(u'Hello world!'), name='staticText1', parent=self.panel1, pos=wx.Point(112, 56), size=wx.Size(160, 13), style=0) 3. He descargado y desomprimido en c:\gnu\ los ficheros gettext-runtime-0.13.1.bin.woe32.zip gettext-tools-0.13.1.bin.woe32.zip libiconv-1.9.1.bin.woe32.zip que están en http://wiki.wxpython.org/Internationalization 4. En el raíz de la aplicación a traducir he creado un fichero de texto llamado app.fil con el nombre de cada módulo a traducir (uno por linea) 5. He descargado de http://wiki.wxpython.org/Internationalization el fichero mki18n.py y lo he puesto en el raíz del proyecto a traducir (junto con el app.fil) 6. Desde un terminal (consola...) me he situado en el raiz del proyecto y he ejecutado "c:\python25\python.exe mki18n.py -p" esto me ha creado un fichero llamado messages.pot 7. He renombrado messages.pot a miaplicacion.po y he modificado el fichero completando las traducciones. En mi caso con el notepad++. Para que me funcionase he puesto el formato del fichero en ANSI y en mostrar como UTF-8, para no tener problemas con los acentos. La cabecera del pot la he sustituido por esta (por lo del utf-8): "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2007-11-13 13:54-0300\n" "PO-Revision-Date: 2007-11-13 14:03-0300\n" "Last-Translator: NOMBRE DEL TRADUCTOR \n" "Language-Team: Spanish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" 8. Desde la consola y situándome en el directorio de la aplicación he ejecutado c:\gnu\bin\msgfmt.exe --output-file=miaplicacion.mo miaplicacion.po esto genera un fichero llamado miaplicacion.mo 9. El punto 6 me ha generado un fichero miaplicacion.mo, dentro del directorio de miaplicación creo un fichero llamado locale, dentro de este gl_es y dentro de este LC_MESSAGES dentro de este último guardo el fichero miaplicacion.mo 10. Ahora elejecuto la aplicación y listo! Me aparece traducida. damufo ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From solisgb en gmail.com Wed Mar 5 22:45:00 2008 From: solisgb en gmail.com (Luis Solis) Date: Wed, 5 Mar 2008 22:45:00 +0100 Subject: problema de encoding con sqlite Message-ID: <8d2f04c60803051345v1e334716u60aedc7333980a62@mail.gmail.com> Muy buenas con python 2.4 y pysqlite2 inserto varios nombres en el campo nombre de una tabla, algunos de los cuales tienen caracteres no utf-8 las filas se insertan bien y de hecho las puedo ver haciendo un select dentro de, por ejemplo, sqlite administrator pero al hacer el select me encuentro siempre con el mensaje OperationalError: Could not decode to UTF-8 column 'nombre' with text 'PÉREZ', por ejemplo el problema lo he tratado de solucionar de varias maneras, sin conseguirlo: rows=con.cur.fetchall().encode('latin1'), se mantiene el mensaje o creando una función del tipo def lstr(s): return s.encode('latin1') que si la llamo dentro del select como cur.execute("select lstr(nombre)") me encuentro que cuando nombre es PÉREZ (o MARÍA..) a lstr llega None bueno, que no se como meterle mano, más que quitar los no UTF-8 a la BDD a ver si alguien se anima! -- Luis Solís _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From morillas en gmail.com Wed Mar 5 23:40:58 2008 From: morillas en gmail.com (Luis Miguel Morillas) Date: Wed, 5 Mar 2008 23:40:58 +0100 Subject: Leyendo HTML mal formado In-Reply-To: References: <30fdaa240803030735t57d7901cr2455a2c0e83b4f38@mail.gmail.com> Message-ID: <68d25cbc0803051440s443095ahe66153e7fd50ba9e@mail.gmail.com> 2008/3/3, jordi torrents : > Hola, > > 2008/3/3, Francisco Perez: > > > Existe alguna manera de leer (parsear) HTML mal formado? > > > A mi me dió buenos resultados beautifulsoup [1]. Tiene buena > documentación y trabaja con xml y html. Está en los repositorios de > Debian, la descripción reza: > > python-beautifulsoup - error-tolerant HTML parser for Python > > Salut > > [1] http://www.crummy.com/software/BeautifulSoup/ > En este hilo recuerdo que se presentaron varias soluciones [1] Suerte -- lm [1] http://lists.fourthought.com/pipermail/4suite/2008-January/008373.html > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Saludos, -- Luis Miguel _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From punchikk en yahoo.com Thu Mar 6 00:55:08 2008 From: punchikk en yahoo.com (punchik punchik) Date: Wed, 5 Mar 2008 15:55:08 -0800 (PST) Subject: pregunta sobre tiempo Message-ID: <286634.1084.qm@web32004.mail.mud.yahoo.com> hola amigos, soy novato en python. Estoy tratando de hacer una funcion la cual mande un mensaje cada determinado tiempo , por ejemplo que cada segundo escriba "hola" . lo primero que intente fue esto: if (value == 1): time.sleep(2) print "hi" time.sleep(2) print "bye" el primer problema es que todo mi programa se para si uso time.sleep, ademas de esto parece que lo anterios no funciona muy bien en mi computadora, ya que sucede algo muy extrano , no se si sera un comportamiento normal, la cosa es que luego de que se ejecuta, pasan cuatro segundos y luego de eso se imprimen hi y bye simultaneamente, cuando deberia ser primero se imprime hi y luego de dos segundos se imprime bye, alguien tiene idea de porque sucede esto? alguien me recomendo usar sys.stdout.flush() despues de cada print , el problema es que no funciona esto , en mi consola me sale esto: AttributeError: 'module' object has no attribute 'flush' tambien he tratado hacer esto: if (value == 4): for i in xrange(1, 100): time.time() time.sleep(0.4) print "hola" pero tampoco funciona, osea no imprime hola cada 0.4 segundos 100 veces, en vez de esto el resultado que obtengo es: imprime 100 holas despues de 40 segundos. Alguien tiene idea de porque es esto? bueno y mi pregunta principal es como podria hacer para mandar un determinado mensaje cada 2 segundos? sin que se pare mi programa? muchas gracias. p. --------------------------------- Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From punchikk en yahoo.com Thu Mar 6 00:55:26 2008 From: punchikk en yahoo.com (punchik punchik) Date: Wed, 5 Mar 2008 15:55:26 -0800 (PST) Subject: punchikk@yahoo.com Message-ID: <613699.88237.qm@web32003.mail.mud.yahoo.com> hola amigos, soy novato en python. Estoy tratando de hacer una funcion la cual mande un mensaje cada determinado tiempo , por ejemplo que cada segundo escriba "hola" . lo primero que intente fue esto: if (value == 1): time.sleep(2) print "hi" time.sleep(2) print "bye" el primer problema es que todo mi programa se para si uso time.sleep, ademas de esto parece que lo anterios no funciona muy bien en mi computadora, ya que sucede algo muy extrano , no se si sera un comportamiento normal, la cosa es que luego de que se ejecuta, pasan cuatro segundos y luego de eso se imprimen hi y bye simultaneamente, cuando deberia ser primero se imprime hi y luego de dos segundos se imprime bye, alguien tiene idea de porque sucede esto? alguien me recomendo usar sys.stdout.flush() despues de cada print , el problema es que no funciona esto , en mi consola me sale esto: AttributeError: 'module' object has no attribute 'flush' tambien he tratado hacer esto: if (value == 4): for i in xrange(1, 100): time.time() time.sleep(0.4) print "hola" pero tampoco funciona, osea no imprime hola cada 0.4 segundos 100 veces, en vez de esto el resultado que obtengo es: imprime 100 holas despues de 40 segundos. Alguien tiene idea de porque es esto? bueno y mi pregunta principal es como podria hacer para mandar un determinado mensaje cada 2 segundos? sin que se pare mi programa? muchas gracias. p. --------------------------------- Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From edgar.cardoz en gmail.com Thu Mar 6 01:11:46 2008 From: edgar.cardoz en gmail.com (Edgar Israel Casanova Cardoz) Date: Wed, 05 Mar 2008 18:11:46 -0600 Subject: pregunta sobre tiempo In-Reply-To: <286634.1084.qm@web32004.mail.mud.yahoo.com> References: <286634.1084.qm@web32004.mail.mud.yahoo.com> Message-ID: <47CF36C2.2090706@gmail.com> punchik punchik wrote: > hola amigos, soy novato en python. Estoy tratando de hacer una funcion la cual mande un mensaje cada determinado tiempo , por ejemplo que cada segundo escriba "hola" . > > lo primero que intente fue esto: > if (value == 1): > time.sleep(2) > print "hi" > time.sleep(2) > print "bye" > Pero ¿"value" con que valor está inicializado? y ¿En que momento lo haces cambiar? > > el primer problema es que todo mi programa se para si uso time.sleep, ademas de esto parece que lo anterios no funciona muy bien en mi computadora, ya que sucede algo muy extrano , no se si sera un comportamiento normal, la cosa es que luego de que se ejecuta, pasan cuatro segundos y luego de eso se imprimen hi y bye simultaneamente, cuando deberia ser primero se imprime hi y luego de dos segundos se imprime bye, alguien tiene idea de porque sucede esto? > alguien me recomendo usar sys.stdout.flush() despues de cada print , el problema es que no funciona esto , en mi consola me sale esto: AttributeError: 'module' object has no attribute 'flush' > > tambien he tratado hacer esto: > > if (value == 4): > for i in xrange(1, 100): > time.time() > time.sleep(0.4) > print "hola" > > > pero tampoco funciona, osea no imprime hola cada 0.4 segundos 100 veces, en vez de esto el resultado que obtengo es: imprime 100 holas despues de 40 segundos. Alguien tiene idea de porque es esto? > Tal ves esto te sirva: import time while True: time.sleep(0.4) print "hi" > > bueno y mi pregunta principal es como podria hacer para mandar un determinado mensaje cada 2 segundos? sin que se pare mi programa? > > > muchas gracias. > > p. > > > --------------------------------- > Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now. > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From lopmart en gmail.com Thu Mar 6 01:13:37 2008 From: lopmart en gmail.com (jose luis Lopez Martinez) Date: Wed, 5 Mar 2008 16:13:37 -0800 Subject: duda sobre despliegue de imagenes Message-ID: <4eeef9d40803051613g11a75402v2f617bf8c65a94af@mail.gmail.com> Saludos Como despliego una imagen con niveles de gris de 0 a 1?,porqe si le doy la siguiente informacion me despliega el 0.5 como si fuera el uno y no como la mitad de la escala de grises. from pylab import * from scipy import * H=array([[0.0,0.0,0.5,0.0,0.0],[0.0,0.0,0.0,0.0,0.0],[0.0,0.0,0.0,0.0,0.0],[ 0.0,0.0,0.0,0.0,0.0],[0.0,0.0,0.0,0.0,0.0]]) print H; figure() imshow(H,cmap=cm.gray) Asumo que el imshow realiza lo siguiente C=H.copy() C=C-C.min() C=C/C.max() figure() imshow(C,cmap=cm.gray) lo cual me da la misma imagen que la primera, es decir que el 0.5 lo toma como si fuera el maximo valor de la escala de grises.Pero en realidad deberia desplegar visualmente un valor de gris intermedio y no el blanco(ya qu eel blanco solo lo debe mostrar si su valor es 1) gracias _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From reynaldomic en gmail.com Thu Mar 6 05:48:25 2008 From: reynaldomic en gmail.com (Reynaldo) Date: Wed, 05 Mar 2008 23:48:25 -0500 Subject: duda sobre despliegue de imagenes In-Reply-To: <4eeef9d40803051613g11a75402v2f617bf8c65a94af@mail.gmail.com> References: <4eeef9d40803051613g11a75402v2f617bf8c65a94af@mail.gmail.com> Message-ID: <47CF7799.6050201@gmail.com> jose luis Lopez Martinez escribió: > Saludos > > Como despliego una imagen con niveles de gris de 0 a 1?,porqe si le doy la > siguiente informacion > me despliega el 0.5 como si fuera el uno y no como la mitad de la escala de > grises. > > > from pylab import * > from scipy import * > > H=array([[0.0,0.0,0.5,0.0,0.0],[0.0,0.0,0.0,0.0,0.0],[0.0,0.0,0.0,0.0,0.0],[ > 0.0,0.0,0.0,0.0,0.0],[0.0,0.0,0.0,0.0,0.0]]) > > print H; > figure() > imshow(H,cmap=cm.gray) > " vmin and vmax are used to scale a luminance image to 0-1. If either is None, the min and max of the luminance values will be used. Note if you pass a norm instance, the settings for vmin and vmax will be ignored." con eso en mente puedes ver que haciendo imshow(H, cmap=cm.gray, vmax=1) funciona como esperas. el vmin ya no es necesario porque tomara el 0.0 que es el valor mínimo de tu arreglo, H. lee el __doc__ de imshow para mayores detalles. saludos, Reynaldo _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From jim2k7 en gmail.com Thu Mar 6 09:57:40 2008 From: jim2k7 en gmail.com (Jaime Ibar) Date: Thu, 6 Mar 2008 09:57:40 +0100 Subject: problema de encoding con sqlite In-Reply-To: <8d2f04c60803051345v1e334716u60aedc7333980a62@mail.gmail.com> References: <8d2f04c60803051345v1e334716u60aedc7333980a62@mail.gmail.com> Message-ID: Hola, podrías probar de esta forma, a mi me pasaba lo mismo en una bbdd MySQL, y con esto las 'ñ', acentos... se muestran bien. def lstr(s): return unicode(s, 'utf-8') El día 5/03/08, Luis Solis escribió: > > Muy buenas > > con python 2.4 y pysqlite2 > > inserto varios nombres en el campo nombre de una tabla, algunos de los > cuales tienen caracteres no utf-8 > > las filas se insertan bien y de hecho las puedo ver haciendo un select > dentro de, por ejemplo, sqlite administrator > > pero al hacer el select me encuentro siempre con el mensaje > > OperationalError: Could not decode to UTF-8 column 'nombre' with text > 'PÉREZ', por ejemplo > > el problema lo he tratado de solucionar de varias maneras, sin > conseguirlo: > > rows=con.cur.fetchall().encode('latin1'), se mantiene el mensaje > > o creando una función del tipo > def lstr(s): > return s.encode('latin1') > > que si la llamo dentro del select como cur.execute("select lstr(nombre)") > me encuentro que cuando nombre es PÉREZ (o MARÍA..) a lstr llega None > > bueno, que no se como meterle mano, más que quitar los no UTF-8 a la BDD > > a ver si alguien se anima! > > > -- > Luis Solís > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- salu2 Jaime ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From a.porrua en gmail.com Thu Mar 6 10:18:29 2008 From: a.porrua en gmail.com (tny) Date: Thu, 06 Mar 2008 10:18:29 +0100 Subject: pregunta sobre tiempo In-Reply-To: <286634.1084.qm@web32004.mail.mud.yahoo.com> References: <286634.1084.qm@web32004.mail.mud.yahoo.com> Message-ID: <1204795109.5964.18.camel@skynet> El mié, 05-03-2008 a las 15:55 -0800, punchik punchik escribió: > hola amigos, soy novato en python. Estoy tratando de hacer una funcion la cual mande un mensaje cada determinado tiempo , por ejemplo que cada segundo escriba "hola" . > > lo primero que intente fue esto: > if (value == 1): > time.sleep(2) > print "hi" > time.sleep(2) > print "bye" > > el primer problema es que todo mi programa se para si uso time.sleep, ademas de esto parece que lo anterios no funciona muy bien en mi computadora, ya que sucede algo muy extrano , no se si sera un comportamiento normal, la cosa es que luego de que se ejecuta, pasan cuatro segundos y luego de eso se imprimen hi y bye simultaneamente, cuando deberia ser primero se imprime hi y luego de dos segundos se imprime bye, alguien tiene idea de porque sucede esto? > alguien me recomendo usar sys.stdout.flush() despues de cada print , el problema es que no funciona esto , en mi consola me sale esto: AttributeError: 'module' object has no attribute 'flush' > > tambien he tratado hacer esto: > > if (value == 4): > for i in xrange(1, 100): > time.time() > time.sleep(0.4) > print "hola" > > > pero tampoco funciona, osea no imprime hola cada 0.4 segundos 100 veces, en vez de esto el resultado que obtengo es: imprime 100 holas despues de 40 segundos. Alguien tiene idea de porque es esto? > > bueno y mi pregunta principal es como podria hacer para mandar un determinado mensaje cada 2 segundos? sin que se pare mi programa? > > > muchas gracias. > > p. Cada vez que haces un print se envía el texto al archivo stdout a través de un buffer, que python vacía cuando cree conveniente o cuando se llena. Si necesitas expresamente que el print se vea de inmediato y no lo hace por que es una de esas situaciones en que se pone tonto, lo que tienes que hacer es trabajar directamente con el archivo stdout from sys import stdout //importar stdout for i in xrange(1, 100): time.sleep(1) stdout.write(str(i)) //escribir en stdout stdout.flush() //volcar el buffer Para que el resto del programa no se te quede parado tienes que usar hilos, o en vez de parar el programa con sleep, comprobar el tiempo en cada vuelta del bucle principal de tu programa y lanzar para lanzar la función cada x tiempo. Yo de ti me miraba lo de los threads que no es tan difícil como parece y te será útil en un futuro. __________________________ estoy en http://infotny.es ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From ccfranceschini en gmail.com Thu Mar 6 16:07:33 2008 From: ccfranceschini en gmail.com (Cristian Franceschini) Date: Thu, 6 Mar 2008 12:07:33 -0300 Subject: problema de encoding con sqlite In-Reply-To: References: <8d2f04c60803051345v1e334716u60aedc7333980a62@mail.gmail.com> Message-ID: <19b6da380803060707x7723a910i89b2c1cc76cfd87c@mail.gmail.com> Hola, en otro foro hicieron una pregunta similar sobre postgresql, pero se podrìa aplicar a tu caso: http://www.python.com.ar/moin/PreguntasFrecuentes#head-91331b5fe2d57859c51355600e174ae88a842d1a Espero te sirva. Saludos El 6/03/08, Jaime Ibar escribió: > Hola, podrías probar de esta forma, a mi me pasaba lo mismo en una > bbdd MySQL, y con esto las 'ñ', acentos... se muestran bien. > > def lstr(s): > return unicode(s, 'utf-8') > > > > El día 5/03/08, Luis Solis escribió: > > > > > Muy buenas > > > > con python 2.4 y pysqlite2 > > > > inserto varios nombres en el campo nombre de una tabla, algunos de los > > cuales tienen caracteres no utf-8 > > > > las filas se insertan bien y de hecho las puedo ver haciendo un select > > dentro de, por ejemplo, sqlite administrator > > > > pero al hacer el select me encuentro siempre con el mensaje > > > > OperationalError: Could not decode to UTF-8 column 'nombre' with text > > 'PÉREZ', por ejemplo > > > > el problema lo he tratado de solucionar de varias maneras, sin > > conseguirlo: > > > > rows=con.cur.fetchall().encode('latin1'), se mantiene el mensaje > > > > o creando una función del tipo > > def lstr(s): > > return s.encode('latin1') > > > > que si la llamo dentro del select como cur.execute("select lstr(nombre)") > > me encuentro que cuando nombre es PÉREZ (o MARÍA..) a lstr llega None > > > > bueno, que no se como meterle mano, más que quitar los no UTF-8 a la BDD > > > > a ver si alguien se anima! > > > > > > -- > > Luis Solís > > _______________________________________________ > > Lista de correo Python-es > > http://listas.aditel.org/listinfo/python-es > > FAQ: http://listas.aditel.org/faqpyes > > > > > > > -- > salu2 > > > Jaime > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From solisgb en gmail.com Thu Mar 6 16:10:25 2008 From: solisgb en gmail.com (Luis Solis) Date: Thu, 6 Mar 2008 16:10:25 +0100 Subject: problema de encoding con sqlite In-Reply-To: References: <8d2f04c60803051345v1e334716u60aedc7333980a62@mail.gmail.com> Message-ID: <8d2f04c60803060710sb09d771sbc82e7f56869d9fa@mail.gmail.com> he conseguido resolver mi problema del siguiente modo (adaptado del manual de pysqlite): # -*- latin-1 -*- fechas=('01-01-1990','01-01-1991','01-01-1995','01-01-2000','01-01-2001') if __name__=='__main__': from pysqlite2 import dbapi2 as sqlite import datetime as dt con = sqlite.connect(":memory:") con.text_factory = lambda x: unicode(x, "latin1", "replace") cur = con.cursor() cur.execute("create table test(id integer, d date, name text, primary key (id,d))") for id,strdate in enumerate(fechas): d=int(strdate[0:2]) ; m=int(strdate[3:5]) ; y=int(strdate[6:10]) cur.execute("insert into test (id, d, name) values (?, ?,?)", (id, dt.date(y,m,d),'PÉREZ')) con.commit() cur.execute("select * from test where d>? and d wrote: > > Hola, podrías probar de esta forma, a mi me pasaba lo mismo en una > bbdd MySQL, y con esto las 'ñ', acentos... se muestran bien. > > def lstr(s): > return unicode(s, 'utf-8') > > > > El día 5/03/08, Luis Solis escribió: > > > > Muy buenas > > > > con python 2.4 y pysqlite2 > > > > inserto varios nombres en el campo nombre de una tabla, algunos de los > > cuales tienen caracteres no utf-8 > > > > las filas se insertan bien y de hecho las puedo ver haciendo un select > > dentro de, por ejemplo, sqlite administrator > > > > pero al hacer el select me encuentro siempre con el mensaje > > > > OperationalError: Could not decode to UTF-8 column 'nombre' with text > > 'PÉREZ', por ejemplo > > > > el problema lo he tratado de solucionar de varias maneras, sin > > conseguirlo: > > > > rows=con.cur.fetchall().encode('latin1'), se mantiene el mensaje > > > > o creando una función del tipo > > def lstr(s): > > return s.encode('latin1') > > > > que si la llamo dentro del select como cur.execute("select > lstr(nombre)") > > me encuentro que cuando nombre es PÉREZ (o MARÍA..) a lstr llega None > > > > bueno, que no se como meterle mano, más que quitar los no UTF-8 a la BDD > > > > a ver si alguien se anima! > > > > > > -- > > Luis Solís > > _______________________________________________ > > Lista de correo Python-es > > http://listas.aditel.org/listinfo/python-es > > FAQ: http://listas.aditel.org/faqpyes > > > > > > -- > salu2 > > Jaime > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Luis Solís _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From jjcarles en terra.es Thu Mar 6 21:24:01 2008 From: jjcarles en terra.es (Joan Carles Jimenez) Date: Thu, 6 Mar 2008 21:24:01 +0100 Subject: SOAPpy, WSDL y servicios web Message-ID: <200803062124.01734.jjcarles@terra.es> Hola a todos. Estoy probando como ejecutar servicios web con python y tengo un problema. En un directorio llamado "ws" tengo creado un server llamado server.py, dos clientes llamados client1.py y client2.py y el fichero WSDL llamado Operations.wsdl. El código del server.py es: import SOAPpy def suma(a, b): return a+b if __name__ == "__main__": server = SOAPpy.SOAPServer(("localhost", 8080)) server.registerFunction(suma) server.serve_forever() Y el del client1.py es import SOAPpy server = SOAPpy.SOAPProxy("http://localhost:8080/") print server.suma(2, 3) Hasta aquí no tengo ningun problema. El client1.py funciona correctamente. Ahora, me gustaria hacer la llamada partiendo del WSDL correspondiente y es donde me estoy encontrando los problemas. El código del client2.py es: import SOAPpy server = SOAPpy.WSDL.Proxy("Operations.wsdl") print server.suma(2, 3) Y el Operations.wsdl (que está en el mismo directorio "ws") es (perdonad el tamaño): El error que me da al ejecutar el client2.py es: Traceback (most recent call last): File "client2.py", line 4, in print server.suma(2, 3) File "/usr/lib64/python2.5/site-packages/SOAPpy/Client.py", line 469, in __call__ return self.__r_call(*args, **kw) File "/usr/lib64/python2.5/site-packages/SOAPpy/Client.py", line 491, in __r_call self.__hd, self.__ma) File "/usr/lib64/python2.5/site-packages/SOAPpy/Client.py", line 362, in __call config = self.config) File "/usr/lib64/python2.5/site-packages/SOAPpy/Client.py", line 186, in call r.endheaders() File "/usr/lib64/python2.5/httplib.py", line 856, in endheaders self._send_output() File "/usr/lib64/python2.5/httplib.py", line 728, in _send_output self.send(msg) File "/usr/lib64/python2.5/httplib.py", line 695, in send self.connect() File "/usr/lib64/python2.5/httplib.py", line 679, in connect raise socket.error, msg Mis dudas son: ¿Es correcto el wsdl?. ¿Dónde tendria que poner los ficheros para poder llamar al servicio web con el WSDL? ¿Tiene que estar visible la carpeta "ws" para Apache? Gracias por adelantado. -- Joan Carles Jimenez jjcarles en terra.es _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From cgalisteo en k-rolus.net Fri Mar 7 00:45:00 2008 From: cgalisteo en k-rolus.net (Carlos) Date: Fri, 7 Mar 2008 00:45:00 +0100 Subject: SOAPpy, WSDL y servicios web In-Reply-To: <200803062124.01734.jjcarles@terra.es> References: <200803062124.01734.jjcarles@terra.es> Message-ID: On 3/6/08, Joan Carles Jimenez wrote: > Hola a todos. Hola Joan > Hasta aquí no tengo ningun problema. El client1.py funciona correctamente. > Ahora, me gustaria hacer la llamada partiendo del WSDL correspondiente y es > donde me estoy encontrando los problemas. Prueba esto: server = SOAPpy.SOAPProxy("http://localhost:8080") print server.suma(2,3) Así debería funcionarte, pero tiene los inconvenientes de que debes conocer la url donde está publicado el servicio y el nombre de los métodos (que tampoco es un gran problema). La otra forma que yo he usado es usando wsdl2py (paquete python-zsi en Debian). Con esto "compilas" el wsdl, y se convierte en código Python listo para importar y llamar a los métodos de tu servicio web. Ahora es un poco tarde como para ponerte un ejemplo de éste método, pero si lo necesitas dímelo y mañana te lo pongo en un momento. Un saludo. --- Carlos Galisteo http://blog.k-rolus.net PGP_key::http://k-rolus.net/~cgalisteo/cgalisteo.gpg Key_Fingerprint::F888 6FBA 9145 B5A2 C187 66D6 5B8C 027A 69AD BE65 --- ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From jjcarles en terra.es Fri Mar 7 01:17:11 2008 From: jjcarles en terra.es (Joan Carles Jimenez) Date: Fri, 7 Mar 2008 01:17:11 +0100 Subject: SOAPpy, WSDL y servicios web In-Reply-To: References: <200803062124.01734.jjcarles@terra.es> Message-ID: <200803070117.11631.jjcarles@terra.es> On Friday 07 March 2008 00:45:00 Carlos wrote: > > Prueba esto: > > server = SOAPpy.SOAPProxy("http://localhost:8080") > print server.suma(2,3) Hola Carlos. De la manera que me dices es tal como lo hago en el client1.py y es la versión que funciona. Lo que me gustaria saber es como lo tengo que hacer para llamar a los servicios web partiendo de un fichero WSDL (seria el caso del client2.py que pongo en mi primer correo) Gracias. -- Joan Carles Jimenez jjcarles en terra.es ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From mgallegol en gmail.com Fri Mar 7 02:10:30 2008 From: mgallegol en gmail.com (=?ISO-8859-1?Q?Martha_Luc=EDa_Gallego_L=F3pez?=) Date: Thu, 6 Mar 2008 20:10:30 -0500 Subject: Pyhton/Pmw In-Reply-To: <3da61ab70803031203h482026b1j3e7f2dc7ffb0d7ba@mail.gmail.com> References: <3da61ab70803031203h482026b1j3e7f2dc7ffb0d7ba@mail.gmail.com> Message-ID: <3da61ab70803061710m4504eb45qb5f648df229fc260@mail.gmail.com> 2008/3/3 Martha Lucía Gallego López : > Hola a todos los listeros: > > el siguiente código me permite introducir n datos; cada vez que > inserto un dato me pregunta desea ingresar otro dato(SI/NO); una vez > cliqueado NO me gustaria presentar en ventana el resultado de todos > los valores que se introdujeron, he considerado hacerlo a través de > listas, podrían darme alguna luz por favor de como hacerlo. > > Agradezco su ayuda. Trabajo sobre la plataforma windows la version de python 2.4 > > #El problema de este código es que me muestra el último valor > #digitado las n veces que introduci datos; otra cosa es que si > #destruyo la ventana donde estoy insertando datos no me #muestra nada > de valores. Como almaceno los datos para #destruir la ventana donde > esta el entry???? > > cordial saludo, > > Martha L. > > ---------------------------INICIO------------------------------------------------ > from Tkinter import * > import Pmw > def calculo(name,index,mode): > global x1 > x1= valor1.get() > if x1: > x1= float(x1) > else: > valor1.set(x1) > x1=0 > > def lectura(bcerrar): > dialogo.deactivate(bcerrar) > > def continuar(res): > if res=='SI': > dialogoContinuar.deactivate(res) > dato1() > else: > dialogoContinuar.deactivate(res) > r.destroy() > ri=Toplevel() > c=0 > for n in range(r.num): > Label(ri, textvariable=valor1).grid(row=c, column=0) > > c=c+1 > ri.mainloop() > def ok(): > dialogoContinuar.activate(geometry = 'centerscreenalways') > > def dato(): > global r, dialogo, dialogoContinuar,valor1, mensajeContinuar, ldato, c2 > r=Tk() > r.num=1 > ldato=[] > valor1=DoubleVar() > valor1.set(float(0.0)) > valor1.trace_variable("w", calculo) > for n in range(r.num): > Label(r, text='%d'%r.num, width=4).grid(row=0, column=0) > c2=Entry(r, textvariable=valor1, width=4).grid(row=1, column=0) > ldato.append(c2) > > Button(r, text='Continua', command=ok).grid(row=2, column=0) > dialogo = Pmw.MessageDialog(r, > title = 'Aviso', > message_text= 'No ha ingresado datos', > iconpos = 'w', > icon_bitmap = 'error', > defaultbutton = 0, > command=lectura) > dialogo.iconname('Aviso') > dialogo.withdraw() > dialogoContinuar= Pmw.Dialog(r, > buttons = ('SI', 'NO'), > command=continuar) > dialogoContinuar.withdraw() > mensajeContinuar= Label(dialogoContinuar.interior(), > text='¿desea ingresar otro dato?', > background='black', > foreground='white', > pady=20) > mensajeContinuar.pack(expand = 1, fill = 'both', padx = 4, pady = 4) > > r.mainloop() > > def dato1(): > > r.num=r.num+1 > for n in range(r.num): > Label(r, text='%d'%r.num, width=4).grid(row=0, column=0) > c2=Entry(r, textvariable=valor1, width=4).grid(row=1, column=0) > > Button(r, text='Continua', command=ok).grid(row=2, column=0) > dialogo = Pmw.MessageDialog(r, > title = 'Aviso', > message_text= 'No ha ingresado datos', > iconpos = 'w', > icon_bitmap = 'error', > defaultbutton = 0, > command=lectura) > dialogo.iconname('Aviso') > dialogo.withdraw() > dialogoContinuar= Pmw.Dialog(r, > buttons = ('SI', 'NO'), > command=continuar) > dialogoContinuar.withdraw() > mensajeContinuar= Label(dialogoContinuar.interior(), > text='¿desea ingresar otro dato?', > background='black', > foreground='white', > pady=20) > mensajeContinuar.pack(expand = 1, fill = 'both', padx = 4, pady = 4) > > d=dato() > -----------------------------FIN--------------------------------------------------------- > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From cgalisteo en k-rolus.net Fri Mar 7 09:40:00 2008 From: cgalisteo en k-rolus.net (Carlos) Date: Fri, 7 Mar 2008 09:40:00 +0100 Subject: SOAPpy, WSDL y servicios web In-Reply-To: <200803070117.11631.jjcarles@terra.es> References: <200803062124.01734.jjcarles@terra.es> <200803070117.11631.jjcarles@terra.es> Message-ID: On 3/7/08, Joan Carles Jimenez wrote: > De la manera que me dices es tal como lo hago en el client1.py y es la > versión que funciona. Jejee. Es verdad. Eso me pasa por contestar medio dormido. Lo que me gustaria saber es como lo tengo que hacer > para llamar a los servicios web partiendo de un fichero WSDL (seria el caso > del client2.py que pongo en mi primer correo) Prueba el método del wsdl2py a ver si te funciona y te sirve. -- --- Carlos Galisteo http://blog.k-rolus.net PGP_key::http://k-rolus.net/~cgalisteo/cgalisteo.gpg Key_Fingerprint::F888 6FBA 9145 B5A2 C187 66D6 5B8C 027A 69AD BE65 --- ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From mgallegol en gmail.com Fri Mar 7 16:59:06 2008 From: mgallegol en gmail.com (=?ISO-8859-1?Q?Martha_Luc=EDa_Gallego_L=F3pez?=) Date: Fri, 7 Mar 2008 10:59:06 -0500 Subject: Python/Pmw Message-ID: <3da61ab70803070759s5546c1a4nfe41523c10c07ccf@mail.gmail.com> Hola a todos los listeros: Trabajo sobre la versión python 2.4 en plataforma windows xp el siguiente código me permite introducir n datos; cada vez que inserto un dato me pregunta desea ingresar otro dato(SI/NO); una vez cliqueado NO me gustaria presentar en ventana el resultado de todos los valores que se introdujeron, he considerado hacerlo a través de listas, podrían darme alguna luz por favor de como hacerlo. Agradezco su ayuda. #El problema de este código es que me muestra el último valor #digitado las n veces que introduci datos; otra cosa es que si #destruyo la ventana donde estoy insertando datos no me #muestra nada de valores. Como almaceno los datos para #destruir la ventana donde esta el entry???? cordial saludo, Martha L. ---------------------------INICIO------------------------------------------------ from Tkinter import * import Pmw def calculo(name,index,mode): global x1 x1= valor1.get() if x1: x1= float(x1) else: valor1.set(x1) x1=0 def lectura(bcerrar): dialogo.deactivate(bcerrar) def continuar(res): if res=='SI': dialogoContinuar.deactivate(res) dato1() else: dialogoContinuar.deactivate(res) r.destroy() ri=Toplevel() c=0 for n in range(r.num): Label(ri, textvariable=valor1).grid(row=c, column=0) c=c+1 ri.mainloop() def ok(): dialogoContinuar.activate(geometry = 'centerscreenalways') def dato(): global r, dialogo, dialogoContinuar,valor1, mensajeContinuar, ldato, c2 r=Tk() r.num=1 ldato=[] valor1=DoubleVar() valor1.set(float(0.0)) valor1.trace_variable("w", calculo) for n in range(r.num): Label(r, text='%d'%r.num, width=4).grid(row=0, column=0) c2=Entry(r, textvariable=valor1, width=4).grid(row=1, column=0) ldato.append(c2) Button(r, text='Continua', command=ok).grid(row=2, column=0) dialogo = Pmw.MessageDialog(r, title = 'Aviso', message_text= 'No ha ingresado datos', iconpos = 'w', icon_bitmap = 'error', defaultbutton = 0, command=lectura) dialogo.iconname('Aviso') dialogo.withdraw() dialogoContinuar= Pmw.Dialog(r, buttons = ('SI', 'NO'), command=continuar) dialogoContinuar.withdraw() mensajeContinuar= Label(dialogoContinuar.interior(), text='¿desea ingresar otro dato?', background='black', foreground='white', pady=20) mensajeContinuar.pack(expand = 1, fill = 'both', padx = 4, pady = 4) r.mainloop() def dato1(): r.num=r.num+1 for n in range(r.num): Label(r, text='%d'%r.num, width=4).grid(row=0, column=0) c2=Entry(r, textvariable=valor1, width=4).grid(row=1, column=0) Button(r, text='Continua', command=ok).grid(row=2, column=0) dialogo = Pmw.MessageDialog(r, title = 'Aviso', message_text= 'No ha ingresado datos', iconpos = 'w', icon_bitmap = 'error', defaultbutton = 0, command=lectura) dialogo.iconname('Aviso') dialogo.withdraw() dialogoContinuar= Pmw.Dialog(r, buttons = ('SI', 'NO'), command=continuar) dialogoContinuar.withdraw() mensajeContinuar= Label(dialogoContinuar.interior(), text='¿desea ingresar otro dato?', background='black', foreground='white', pady=20) mensajeContinuar.pack(expand = 1, fill = 'both', padx = 4, pady = 4) d=dato() -----------------------------FIN--------------------------------------------------------- _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From baza_76 en yahoo.com.mx Fri Mar 7 18:48:44 2008 From: baza_76 en yahoo.com.mx (juan ramon baena saenz) Date: Fri, 7 Mar 2008 09:48:44 -0800 (PST) Subject: (sin asunto) Message-ID: <17254.52516.qm@web56108.mail.re3.yahoo.com> ____________________________________________________________________________________ ¡Capacidad ilimitada de almacenamiento en tu correo! No te preocupes más por el espacio de tu cuenta con Correo Yahoo!: http://correo.yahoo.com.mx/ ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From yvviltres en estudiantes.uci.cu Fri Mar 7 23:07:18 2008 From: yvviltres en estudiantes.uci.cu (Yunierki Verdecia Viltres) Date: Fri, 7 Mar 2008 17:07:18 -0500 Subject: instalar en windows la biblioteca SOAPpy Message-ID: <0470B17A392EDA499A0F26DE9971ECD40756B828@ucixs12.uci.cu> Hola. Descargue las librerias de SOAPpy para Windows pero no se como instalarlas. Alguien me podría decir como instalarlas?? Gracias por adelantado. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From cabrerachaparro en gmail.com Mon Mar 10 17:36:06 2008 From: cabrerachaparro en gmail.com (Daniel Cabrera) Date: Mon, 10 Mar 2008 11:36:06 -0500 Subject: Python en Pocket PC Message-ID: <8565ad90803100936o5d56ca02g1e9f6e52575c109c@mail.gmail.com> Hola, Estuve buscando una version de Python para Pocket PC y en la pagina web de Python hay un link para descargar Pythononce2.5, el cual lo instale en la Pocket PC pero al momento de ejecutar python.exe me dice que no encuentra el archivo python.exe. Alguno de ustedes ha podido instalar Python en un Pocket PC con exito? Podria darme una ayuda con ello? Gracias. -- Daniel Cabrera Chaparro Noticias Interesantes de Linux en http://comulinux.blogspot.com/ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From alejandrohs en gmail.com Tue Mar 11 11:26:04 2008 From: alejandrohs en gmail.com (Alejandro HS) Date: Tue, 11 Mar 2008 11:26:04 +0100 Subject: Curvas Bezier In-Reply-To: <594d61800803101246k52aca7c8sfe285b96107e2a7c@mail.gmail.com> References: <594d61800803101246k52aca7c8sfe285b96107e2a7c@mail.gmail.com> Message-ID: <594d61800803110326s236ab4e8m65b4676365d673bc@mail.gmail.com> buenas tardes, Soy Alejandro, estoy trabajando con curvas bezier y no se como modelarlas en Python. Mi pregunta es si conocéis alguna libreria que permita manejarlas a alto nivel. Algunas funciones que quiero son: - Pasar los puntos de control para crear la curva y poder pintarla - Calcular puntos de cruce entre curvas - Conocer la distancia entre dos puntos de la curva - saber si un punto pertenece o no a la curva - ... Muchas gracias por la ayuda. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From franciscojseva en gmail.com Tue Mar 11 12:31:46 2008 From: franciscojseva en gmail.com (=?ISO-8859-1?Q?Francisco_Jos=E9_Seva_Mora?=) Date: Tue, 11 Mar 2008 12:31:46 +0100 Subject: Curvas Bezier In-Reply-To: <594d61800803110326s236ab4e8m65b4676365d673bc@mail.gmail.com> References: <594d61800803101246k52aca7c8sfe285b96107e2a7c@mail.gmail.com> <594d61800803110326s236ab4e8m65b4676365d673bc@mail.gmail.com> Message-ID: <85f8c5780803110431x48ada47oe3c1f9df14819876@mail.gmail.com> Hola Alejandro. He encontrado un hilo que puede que te interese. En el hablan sobre las curvas de bezier y de algún script en python. Yo he tocado la librería PIL y no recuerdo haber visto nada para pintar curvas de bezier. De todas formas hechale un vistazo a ver si encuentras algo. Saludos Fran 2008/3/11, Alejandro HS : > > buenas tardes, > > Soy Alejandro, estoy trabajando con curvas bezier y no se como modelarlas > en > Python. Mi pregunta es si conocéis alguna libreria que permita manejarlas > a > alto nivel. Algunas funciones que quiero son: > > - Pasar los puntos de control para crear la curva y poder pintarla > - Calcular puntos de cruce entre curvas > - Conocer la distancia entre dos puntos de la curva > - saber si un punto pertenece o no a la curva > - ... > > Muchas gracias por la ayuda. > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- www.franciscojseva.com _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From gimenezblasco en gmail.com Tue Mar 11 12:53:57 2008 From: gimenezblasco en gmail.com (oscar Gimenez Blasco) Date: Tue, 11 Mar 2008 12:53:57 +0100 Subject: Curvas Bezier In-Reply-To: <594d61800803110326s236ab4e8m65b4676365d673bc@mail.gmail.com> References: <594d61800803101246k52aca7c8sfe285b96107e2a7c@mail.gmail.com> <594d61800803110326s236ab4e8m65b4676365d673bc@mail.gmail.com> Message-ID: <62e08ac20803110453y668d2599r7c50f651feee3528@mail.gmail.com> Hola Alejandro. Te paso un par de enlaces que igual te ayudan. http://mail.python.org/pipermail/python-list/2005-November/352797.html http://www.pygame.org/wiki/BezierCurve?parent=CookBook Aprovecho el post para presentarme oficialmente :) Un saludoT 2008/3/11, Alejandro HS : > buenas tardes, > > Soy Alejandro, estoy trabajando con curvas bezier y no se como modelarlas en > Python. Mi pregunta es si conocéis alguna libreria que permita manejarlas a > alto nivel. Algunas funciones que quiero son: > > - Pasar los puntos de control para crear la curva y poder pintarla > - Calcular puntos de cruce entre curvas > - Conocer la distancia entre dos puntos de la curva > - saber si un punto pertenece o no a la curva > - ... > > Muchas gracias por la ayuda. > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From graciosillo21 en yahoo.es Tue Mar 11 14:33:59 2008 From: graciosillo21 en yahoo.es (isaac jarquin medina) Date: Tue, 11 Mar 2008 13:33:59 +0000 (GMT) Subject: ayuda con menubuttons Message-ID: <833291.7604.qm@web25808.mail.ukl.yahoo.com> bueno estoy intentando ejecutar dos acciones a la vez desde un menubutton y no encuentro la manera y es que no me deja solo ejecutar una por vez lo que intento es por ejemplo poder ejecutar dos opciones a la ves como puden ser salvar archivo y estar abriendo otro diferente al mismo tiempo por ejemplo. ______________________________________________ ¿Con Mascota por primera vez? Sé un mejor Amigo. Entra en Yahoo! Respuestas http://es.answers.yahoo.com/info/welcome _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From javi en bertayjavi.com Tue Mar 11 23:31:04 2008 From: javi en bertayjavi.com (Javi) Date: Tue, 11 Mar 2008 23:31:04 +0100 Subject: al guardar un registro en MySQL recibo un UnicodeEncodeError Message-ID: <47D70828.6070203@bertayjavi.com> Hola a todos, os pongo en antecedentes, uso python 2.5, mysql wx, y boa, la cuestion es que al intentar guardar un registro donde este el caracter del euro (?) me da error de encode, concretamente "UnicodeEncodeError: latin-1 codec can't encode........." sin embargo si no lleva ese caracter, guarda los datos correctamente, incluidos vocales acentuadas y eñes. En los ficheros tengo puesto en la segunda linea " #coding: utf-8" para que me deje usar esa codificacion, incluso las tablas en mysql estan creadas en utf-8 pero no consigo que no me de el error, inicialmente tenia las tablas de mysql en latin-1 y tampoco funcionaba. No se que hacer, no se por donde seguir, si alguien me puede aconsejar , le estaria muy agradecido.. Un saludo, Javi. ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From erevilla en yaco.es Tue Mar 11 23:56:20 2008 From: erevilla en yaco.es (Ernersto Revilla) Date: Tue, 11 Mar 2008 23:56:20 +0100 Subject: al guardar un registro en MySQL recibo un UnicodeEncodeError In-Reply-To: <47D70828.6070203@bertayjavi.com> References: <47D70828.6070203@bertayjavi.com> Message-ID: <1205276180.6824.181.camel@ganso> Hola ¿Estás seguro que estás usando utf-8 ? Creo que tienes mal la línea del coding: es: # -*- coding: utf8 -*- y tiene que ser la primera o la segunda línea. Por otra parte, efectivamente, en latin-1 no existe este carácter. No dices dónde aparece el error Unicode. Podría ser en el cliente python de mysql o cualquier otro lado. Erny El mar, 11-03-2008 a las 23:31 +0100, Javi escribió: > Hola a todos, os pongo en antecedentes, uso python 2.5, mysql wx, y boa, > la cuestion es que al intentar guardar un registro donde este el > caracter del euro (?) me da error de encode, concretamente > "UnicodeEncodeError: latin-1 codec can't encode........." sin embargo si > no lleva ese caracter, guarda los datos correctamente, incluidos vocales > acentuadas y eñes. En los ficheros tengo puesto en la segunda linea " > #coding: utf-8" para que me deje usar esa codificacion, incluso las > tablas en mysql estan creadas en utf-8 pero no consigo que no me de el > error, inicialmente tenia las tablas de mysql en latin-1 y tampoco > funcionaba. No se que hacer, no se por donde seguir, si alguien me puede > aconsejar , le estaria muy agradecido.. > > Un saludo, Javi. > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From lionel en lisistemas.com.ar Wed Mar 12 01:37:57 2008 From: lionel en lisistemas.com.ar (Lionel Iturri) Date: Tue, 11 Mar 2008 22:37:57 -0200 Subject: Resize de terminal con curses.. Message-ID: <47D725E5.6010704@lisistemas.com.ar> Buenas, acá tengo una duda y ya agote todos los recursos para ver que puede ser. El tema es así, tengo una venta con un recuadro y tiene que acomodarse al tamaño de la terminal, no suena a nada complicado, pero hace cosas muy raras cuando se achica desaparece el contenido y cuando se agranda genera mal el recuadro. Adjunto fuente y agradezco cualquier ayuda... Saludos y gracias.... Lionel Iturri ------------------------------------------------------------------------------- #!/usr/bin/python import curses import sys, time, signal scr = None win = None def Render(w): w.clear() w.box(curses.ACS_VLINE, curses.ACS_HLINE) w.addstr(10,10, ' Size: %d, %d ' % ( w.getmaxyx())) w.refresh() def Resize(sig, frame): global scr, win while 1: try: curses.endwin(); break except: time.sleep(1) scr.refresh() Render(win) def main(): global scr, win scr = curses.initscr() scr.refresh() win = curses.newwin(0, 0, 0, 0) Render(win) scr.refresh() signal.signal(signal.SIGWINCH, Resize) while True: Key=scr.getch() if Key == ord('q'): sys.exit() if __name__ == "__main__": try: main() except SystemExit: curses.endwin() except Exception: curses.endwin() import traceback traceback.print_exc() _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From fquintana en codesyntax.com Wed Mar 12 08:49:00 2008 From: fquintana en codesyntax.com (Nando Quintana) Date: Wed, 12 Mar 2008 08:49:00 +0100 Subject: al guardar un registro en MySQL recibo un UnicodeEncodeError In-Reply-To: <1205276180.6824.181.camel@ganso> References: <47D70828.6070203@bertayjavi.com> <1205276180.6824.181.camel@ganso> Message-ID: <1205308140.3511.3.camel@localhost> Buenas, Una prueba más: incluye esto en la sentencia SQL, antes de la INSERT, SELECT, etc SET CHARACTER SET 'utf8'; Agur, Nando. El mar, 11-03-2008 a las 23:56 +0100, Ernersto Revilla escribió: > Hola > > ¿Estás seguro que estás usando utf-8 ? > Creo que tienes mal la línea del coding: > es: > # -*- coding: utf8 -*- > > y tiene que ser la primera o la segunda línea. > > Por otra parte, efectivamente, en latin-1 no existe este carácter. > > No dices dónde aparece el error Unicode. Podría ser en el cliente python > de mysql o cualquier otro lado. > > Erny > > > El mar, 11-03-2008 a las 23:31 +0100, Javi escribió: > > Hola a todos, os pongo en antecedentes, uso python 2.5, mysql wx, y boa, > > la cuestion es que al intentar guardar un registro donde este el > > caracter del euro (?) me da error de encode, concretamente > > "UnicodeEncodeError: latin-1 codec can't encode........." sin embargo si > > no lleva ese caracter, guarda los datos correctamente, incluidos vocales > > acentuadas y eñes. En los ficheros tengo puesto en la segunda linea " > > #coding: utf-8" para que me deje usar esa codificacion, incluso las > > tablas en mysql estan creadas en utf-8 pero no consigo que no me de el > > error, inicialmente tenia las tablas de mysql en latin-1 y tampoco > > funcionaba. No se que hacer, no se por donde seguir, si alguien me puede > > aconsejar , le estaria muy agradecido.. > > > > Un saludo, Javi. > > > > _______________________________________________ > > Lista de correo Python-es > > http://listas.aditel.org/listinfo/python-es > > FAQ: http://listas.aditel.org/faqpyes > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes -- http://www.nandoquintana.com/contact ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: Esta parte del mensaje está firmada digitalmente URL: ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From inf200468 en ucf.edu.cu Wed Mar 12 15:11:20 2008 From: inf200468 en ucf.edu.cu (inf200468 en ucf.edu.cu) Date: Wed, 12 Mar 2008 10:11:20 -0400 (EDT) Subject: algo mal con la consulta insert Message-ID: <2818.10.14.17.145.1205331080.squirrel@correo.ucf.edu.cu> Hola , alguien puede corregirme esto???, es una consulta para insertar datos en una bd, pero no da error y tampoco los inserta import psycopg2 try:     conn = psycopg2.connect("dbname='dbred' user='postgres' host='localhost' password='a'");     print "Conexion establecida" except:     print "Error de conexion"     ip='10.14.17.145' fecha='12/5/2003' hora='2:35:04' metodo='get' recurso='dsf' proto='sad' codigo='dsf' tama='sd' url='sdsd' cur = conn.cursor() #resultado = cur.execute("""SELECT metodo FROM apache """) params=[ip,fecha,hora,metodo,recurso,proto,codigo,tama,url] sql="""insert into apache (ip_cliente,fecha,hora,metodo,recurso,protocolo,codigo_estado,tamano,url) values (%s,%s,%s,%s,%s,%s,%s,%s,%s)""" resultado = cur.execute(sql,params) ---------------------------- Servico del Grupo de Redes Universidad de Cienfuegos E-mail: adminred en ucf.edu.cu ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From inazio0608 en hotmail.com Wed Mar 12 16:20:05 2008 From: inazio0608 en hotmail.com (=?Windows-1252?Q?I=F1aki_san_miguel?=) Date: Wed, 12 Mar 2008 15:20:05 +0000 Subject: utilizar la tarjeta de sonido In-Reply-To: <2818.10.14.17.145.1205331080.squirrel@correo.ucf.edu.cu> References: <2818.10.14.17.145.1205331080.squirrel@correo.ucf.edu.cu> Message-ID: Hola ¿alguien sabe como utilizar la tarjeta de sonido?. Basicamente queremos realizar un modem software en python; pero no tenemos muy claro como utilizar la tarjeta de sonido.... gracias _________________________________________________________________ Tecnología, moda, motor, viajes,?suscríbete a nuestros boletines para estar siempre a la última Guapos y guapas, clips musicales y estrenos de cine. ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From joolivar en ing.uchile.cl Wed Mar 12 16:19:19 2008 From: joolivar en ing.uchile.cl (joolivar en ing.uchile.cl) Date: Wed, 12 Mar 2008 12:19:19 -0300 Subject: scipy.cluster kmeans analisis de voz Message-ID: <20080312121919.u6u7us9mtc4k8scc@correo.cec.uchile.cl> Saludos a todos Tengo que realizar una análisis de voz para un pequeño diccionario, las palabras son (anterior, siguiente). La idea es poder adelantar y retroceder por voz las paginas de impress (openppt). Para ello he realizado las siguientes rutinas. El problema es que el error de distorsión para todas las palabras es casi igual por lo que no puedo diferenciar entre ellas. Me gustaría saber si alguien ha usado kmeans y fft de scilab para corroborar que realmente funciona ya que si por ejemplo genero el codebook para la palabra 'anterior' y luego uso vq para encontrar el error de distorsión este entrega un valor de 480 que parece exagerado. Junto a esto otras palabras entregan casi igual valor. Cualquier ayuda se agradece. Pd:Para la parte de impress pienso usar UNO con python -----------------------para el codebook-------------------- from wav_array import wavread from scipy.fftpack import fft,rfft from math import log from scipy.cluster.vq import whiten,kmeans from scipy import hamming import pickle def leer_book(nombre): f=open(nombre,'r') book=pickle.load(f) f.close() return book def guardar_book(archivo,datos): f=open(archivo,'w') pickle.dump(datos,f) def ventanas_wav(archivo_wav): [data,Fs,Bits]=wavread(wv) N=len(data) V=256 M=N/V IN=0 OUT=V-1 F=[] C=[] for i in range(M-V): ft=abs(fft(data[IN:OUT]*hamming(V-1))) F.append(ft) C.append(rfft(map(lambda x: log(x), ft))) IN=IN+V OUT=OUT+V return whiten(F),whiten(C) print '\n----Inicio----' wv='/home/joolivar/Desktop/Nueva/voz/muestras/anterior1.wav' [F,C]=ventanas_wav(wv) CC='CFT_book.pdb' FF='FFT_book.pdb' CFTB=leer_book(CC) print CFTB[0] FFTB=leer_book(FF) CDBKF=kmeans(F, FFTB[0], iter=80, thresh=1e-5) CDBKC=kmeans(C, CFTB[0], iter=80, thresh=1e-5) print 'guardando datos' guardar_book('FFT_book.pdb',CDBKF) guardar_book('CFT_book.pdb',CDBKC) print '----FIN----' ------------------para el análisis-------------- import pickle,commands,string from scipy.cluster.vq import whiten,vq from wav_array import wavread from scipy.fftpack import fft,fftshift,rfft from math import log,sqrt from pylab import hamming,fromstring, Int16, UInt8, clip,plot,xlabel,ylabel,title,grid,savefig,show,subplot,figure def ceptrums(datos): N=len(data) V=256 M=N/V IN=0 OUT=V-1 F=[] C=[] for i in range(M-V): ft=abs(fft(datos[IN:OUT]*hamming(V-1))) F.append(ft) C.append((rfft(map(lambda x: log(x), ft)))) IN=IN+V OUT=OUT+V return whiten(F),whiten(C) def leer_book(nombre): f=open(nombre,'r') book=pickle.load(f) f.close() return book def leer_palabra(nombre): [data,Fs,Bits]=wavread(nombre) return data print '\n+++Inicio+++\n' C='CFT_book.pdb' F='FFT_book.pdb' CFTB=leer_book(C) FFTB=leer_book(F) lista=string.split(commands.getoutput('ls /home/joolivar/Desktop/Nueva/voz/muestras/*.wav'),'\n') i=0 CL=[] figure(1) for list in lista: i=i+1 ##nombre=string.split(list,'muestras/')[1][:-3]+'png' data=leer_palabra(list) [FF,CC]=ceptrums(data) [INF,VQF]=vq(FF,CFTB[0]) [INC,VQC]=vq(CC,FFTB[0]) subplot(810+i) plot(INF,'x') subplot(820+i) plot(INC,'x') print sum(VQF)/len(VQF),sum(VQC)/len(VQC) show() print '++++fin++++' ------------wav_array--------- #!/usr/bin/python # -*- coding: UTF-8 -*- # # Copyright (C) 2006 by Hernán Ordiales # # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # try: import wave from sys import exit import math import array from pylab import fromstring, Int16, UInt8, clip,plot,xlabel,ylabel,title,grid,savefig,show from FFT import fft, inverse_fft from numpy.fft import fftshift except: print 'libraries import error!' sys.exit() # Note: at the moment only mono wav files # Example: [ y, Fs, bits ] = wavread( 'filename' ) # Note: Only supports 8 and 16 bits wav files def wavread( name ): file = wave.open( name, 'r' ) [Channels,Bytes,Fs,Frames,Compress,CompressName] = file.getparams() # (nchannels, sampwidth in bytes, sampling frequency, nframes, comptype, compname) Data = file.readframes( Frames ) Bits = Bytes*8 if Bits==16: # 16 bits per sample Data = fromstring( Data, Int16 ) / 32767.0 # -1..1 values, Int16 because Bits=2x8=16 elif Bits==8: # 8 bits per sample Data = (fromstring( Data, UInt8 ) / 128.0 ) - 1.0 # -1..1 values else: print "Error. Sorry, this wavread function only supports 8 or 16 bits wav files." return -1, -1, -1 file.close() ## print "Fs: ",Fs,"\nBits: ",Bits,"\nChannels: ",Channels return Data, Fs, Bits # Example: wavwrite( y, Fs, filename ) def wavwrite( data_array, Fs, name ): file = wave.open( name, 'w' ) file.setframerate( Fs ) # sets sampling frequency file.setnchannels( 1 ) # sets number of channels file.setsampwidth( 2 ) # number of bytes: 16bits/8=2, 16 bits per sample clipped = False block_size = 1024*10 # write block size: 10k a_max = 32767 # max amp a_min = -32767 # min amp n = 0 len_data_array = len( data_array ) # 2 bytes (int16) data while n < len_data_array : frame = '' # string frame of 'block_size' for i in range( block_size ) : if n < len_data_array : twodatabytes = int( data_array[n] * a_max ) if twodatabytes > a_max or twodatabytes < a_min : clipped = True twodatabytes = min( max(twodatabytes,a_min), a_max ) # normalization, -32767..32767 #twodatabytes.clip( min=a_min, max=a_max ) # normalization, -32767..32767 frame += chr( twodatabytes & 0xFF ) # takes first byte, converts it to char and adds it to the frame frame += chr( (twodatabytes >> 8) & 0xFF ) # takes the second byte n += 1 file.writeframes( frame ) if clipped == True : print "Warning: Some values were clipped" print "Final length:", len_data_array/512,"kb" # n*2/1024 (bytes size/1024) = n/512 file.close() # Example: wavwrite8bits( y, Fs, filename ) def wavwrite8bits( data_array, Fs, name ): file = wave.open( name, 'w' ) file.setframerate( Fs ) # sets sampling frequency file.setnchannels( 1 ) # sets number of channels file.setsampwidth( 1 ) # number of bytes, 8 bits per sample clipped = False block_size = 1024*10 # write block size: 10k a_max = 255 # max amp a_min = 0 # min amp n = 0 len_data_array = len( data_array ) # 1 byte (UInt8) data while n < len_data_array : frame = '' # string frame of 'block_size' for i in range( block_size ) : if n < len_data_array : newbyte = int( (data_array[n]+1.0) * 128 ) # ~ 255/2 if newbyte > a_max or newbyte < a_min : clipped = True newbyte = min( max(newbyte,a_min), a_max ) # normalization, 0..255 #newbyte.clip( min=a_min, max=a_max ) # normalization, 0..255 frame += chr( newbyte & 0xFF ) # takes the byte, converts it to char and adds it to the frame n += 1 file.writeframes( frame ) if clipped == True : print "Warning: Some values were clipped" print "Final length:", len_data_array/512,"kb" # n*2/1024 (bytes size/1024) = n/512 file.close() ---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From minoztro en gmail.com Wed Mar 12 17:29:43 2008 From: minoztro en gmail.com (Milton Galo Patricio Inostroza Aguilera) Date: Wed, 12 Mar 2008 12:29:43 -0400 Subject: algo mal con la consulta insert In-Reply-To: <2818.10.14.17.145.1205331080.squirrel@correo.ucf.edu.cu> References: <2818.10.14.17.145.1205331080.squirrel@correo.ucf.edu.cu> Message-ID: <172699c50803120929t2a17b8cfv5274889103445fd7@mail.gmail.com> 2008/3/12, inf200468 en ucf.edu.cu : > > > Hola , alguien puede corregirme esto???, es una consulta para insertar datos en una bd, > pero no da error y tampoco los inserta > > > import psycopg2 > try: > ?? conn = psycopg2.connect("dbname='dbred' user='postgres' > host='localhost' password='a'"); > ?? print "Conexion > establecida" > except: > ?? print "Error de > conexion" > ?? > ip='10.14.17.145' > fecha='12/5/2003' > hora='2:35:04' > metodo='get' > recurso='dsf' > proto='sad' > codigo='dsf' > tama='sd' > url='sdsd' > cur = conn.cursor() > #resultado = > cur.execute("""SELECT metodo FROM apache """) > params=[ip,fecha,hora,metodo,recurso,proto,codigo,tama,url] > sql="""insert into apache > (ip_cliente,fecha,hora,metodo,recurso,protocolo,codigo_estado,tamano,url) values > (%s,%s,%s,%s,%s,%s,%s,%s,%s)""" > resultado = cur.execute(sql,params) quizas intentando hacer un commit.. conn.commit() > > > ---------------------------- > Servico del Grupo de Redes > Universidad de Cienfuegos > E-mail: adminred en ucf.edu.cu > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Milton Inostroza Aguilera ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From minibota en gmail.com Wed Mar 12 17:33:05 2008 From: minibota en gmail.com (=?ISO-8859-1?Q?Pavel_Mu=F1oz?=) Date: Wed, 12 Mar 2008 10:33:05 -0600 Subject: algo mal con la consulta insert In-Reply-To: <172699c50803120929t2a17b8cfv5274889103445fd7@mail.gmail.com> References: <2818.10.14.17.145.1205331080.squirrel@correo.ucf.edu.cu> <172699c50803120929t2a17b8cfv5274889103445fd7@mail.gmail.com> Message-ID: <118999020803120933y38d75be6l41c7b99529bdf970@mail.gmail.com> exacto... falta el commit On Wed, Mar 12, 2008 at 10:29 AM, Milton Galo Patricio Inostroza Aguilera < minoztro en gmail.com> wrote: > 2008/3/12, inf200468 en ucf.edu.cu : > > > > > > Hola , alguien puede corregirme esto???, es una consulta para insertar > datos en una bd, > > pero no da error y tampoco los inserta > > > > > > import psycopg2 > > try: > > ?? conn = psycopg2.connect("dbname='dbred' user='postgres' > > host='localhost' password='a'"); > > ?? print "Conexion > > establecida" > > except: > > ?? print "Error de > > conexion" > > ?? > > ip='10.14.17.145' > > fecha='12/5/2003' > > hora='2:35:04' > > metodo='get' > > recurso='dsf' > > proto='sad' > > codigo='dsf' > > tama='sd' > > url='sdsd' > > cur = conn.cursor() > > #resultado = > > cur.execute("""SELECT metodo FROM apache """) > > params=[ip,fecha,hora,metodo,recurso,proto,codigo,tama,url] > > sql="""insert into apache > > > (ip_cliente,fecha,hora,metodo,recurso,protocolo,codigo_estado,tamano,url) > values > > (%s,%s,%s,%s,%s,%s,%s,%s,%s)""" > > resultado = cur.execute(sql,params) > > quizas intentando hacer un commit.. > > conn.commit() > > > > > > > ---------------------------- > > Servico del Grupo de Redes > > Universidad de Cienfuegos > > E-mail: adminred en ucf.edu.cu > > > > _______________________________________________ > > Lista de correo Python-es > > http://listas.aditel.org/listinfo/python-es > > FAQ: http://listas.aditel.org/faqpyes > > > > > -- > Milton Inostroza Aguilera > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From inf200468 en ucf.edu.cu Wed Mar 12 19:00:26 2008 From: inf200468 en ucf.edu.cu (inf200468 en ucf.edu.cu) Date: Wed, 12 Mar 2008 14:00:26 -0400 (EDT) Subject: algo mal con la consulta insert In-Reply-To: <118999020803120933y38d75be6l41c7b99529bdf970@mail.gmail.com> References: <2818.10.14.17.145.1205331080.squirrel@correo.ucf.edu.cu> <172699c50803120929t2a17b8cfv5274889103445fd7@mail.gmail.com> <118999020803120933y38d75be6l41c7b99529bdf970@mail.gmail.com> Message-ID: <3138.10.14.17.145.1205344826.squirrel@correo> que hace el commit????????????? > exacto... falta el commit > > On Wed, Mar 12, 2008 at 10:29 AM, Milton Galo Patricio Inostroza Aguilera < > minoztro en gmail.com> wrote: > >> 2008/3/12, inf200468 en ucf.edu.cu : >> > >> > >> > Hola , alguien puede corregirme esto???, es una consulta para insertar >> datos en una bd, >> > pero no da error y tampoco los inserta >> > >> > >> > import psycopg2 >> > try: >> > ?? conn = psycopg2.connect("dbname='dbred' user='postgres' >> > host='localhost' password='a'"); >> > ?? print "Conexion >> > establecida" >> > except: >> > ?? print "Error de >> > conexion" >> > ?? >> > ip='10.14.17.145' >> > fecha='12/5/2003' >> > hora='2:35:04' >> > metodo='get' >> > recurso='dsf' >> > proto='sad' >> > codigo='dsf' >> > tama='sd' >> > url='sdsd' >> > cur = conn.cursor() >> > #resultado = >> > cur.execute("""SELECT metodo FROM apache """) >> > params=[ip,fecha,hora,metodo,recurso,proto,codigo,tama,url] >> > sql="""insert into apache >> > >> (ip_cliente,fecha,hora,metodo,recurso,protocolo,codigo_estado,tamano,url) >> values >> > (%s,%s,%s,%s,%s,%s,%s,%s,%s)""" >> > resultado = cur.execute(sql,params) >> >> quizas intentando hacer un commit.. >> >> conn.commit() >> >> > >> > >> > ---------------------------- >> > Servico del Grupo de Redes >> > Universidad de Cienfuegos >> > E-mail: adminred en ucf.edu.cu >> > >> > _______________________________________________ >> > Lista de correo Python-es >> > http://listas.aditel.org/listinfo/python-es >> > FAQ: http://listas.aditel.org/faqpyes >> > >> >> >> -- >> Milton Inostroza Aguilera >> >> _______________________________________________ >> Lista de correo Python-es >> http://listas.aditel.org/listinfo/python-es >> FAQ: http://listas.aditel.org/faqpyes >> > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes ---------------------------- Servico del Grupo de Redes Universidad de Cienfuegos E-mail: adminred en ucf.edu.cu ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From minibota en gmail.com Wed Mar 12 20:27:46 2008 From: minibota en gmail.com (=?ISO-8859-1?Q?Pavel_Mu=F1oz?=) Date: Wed, 12 Mar 2008 13:27:46 -0600 Subject: algo mal con la consulta insert In-Reply-To: <3138.10.14.17.145.1205344826.squirrel@correo> References: <2818.10.14.17.145.1205331080.squirrel@correo.ucf.edu.cu> <172699c50803120929t2a17b8cfv5274889103445fd7@mail.gmail.com> <118999020803120933y38d75be6l41c7b99529bdf970@mail.gmail.com> <3138.10.14.17.145.1205344826.squirrel@correo> Message-ID: <118999020803121227k3f7c3e01td2f3b856c0a7c937@mail.gmail.com> te remito a esta pagina http://elblogdeover.wordpress.com/2008/01/15/transacciones-en-postgresql/ On 3/12/08, inf200468 en ucf.edu.cu wrote: > > > > que hace el commit????????????? > > > > > > > exacto... falta el > commit > > > > On Wed, Mar 12, 2008 at 10:29 AM, Milton Galo Patricio > Inostroza Aguilera < > > minoztro en gmail.com> wrote: > > > >> > 2008/3/12, inf200468 en ucf.edu.cu : > >> > > >> > > >> > Hola , alguien puede corregirme esto???, es una > consulta para insertar > >> datos en una bd, > >> > pero no da > error y tampoco los inserta > >> > > >> > > >> > > import psycopg2 > >> > try: > >> > ?? conn = > psycopg2.connect("dbname='dbred' user='postgres' > >> > > host='localhost' password='a'"); > >> > ?? print "Conexion > >> > establecida" > >> > except: > >> > ?? > print "Error de > >> > conexion" > >> > ?? > >> > ip='10.14.17.145' > >> > fecha='12/5/2003' > >> > > hora='2:35:04' > >> > metodo='get' > >> > > recurso='dsf' > >> > proto='sad' > >> > codigo='dsf' > >> > tama='sd' > >> > url='sdsd' > >> > cur = > conn.cursor() > >> > #resultado = > >> > > cur.execute("""SELECT metodo FROM apache """) > >> > params=[ip,fecha,hora,metodo,recurso,proto,codigo,tama,url] > >> > sql="""insert into apache > >> > > > >> (ip_cliente,fecha,hora,metodo,recurso,protocolo,codigo_estado,tamano,url) > >> values > >> > (%s,%s,%s,%s,%s,%s,%s,%s,%s)""" > >> > resultado = cur.execute(sql,params) > >> > >> quizas > intentando hacer un commit.. > >> > >> conn.commit() > >> > >> > > >> > > >> > ---------------------------- > >> > Servico del Grupo de Redes > >> > Universidad de > Cienfuegos > >> > E-mail: adminred en ucf.edu.cu > >> > > >> > _______________________________________________ > >> > > Lista de correo Python-es > >> > > http://listas.aditel.org/listinfo/python-es > >> > FAQ: > http://listas.aditel.org/faqpyes > >> > > >> > >> > >> -- > >> Milton Inostroza Aguilera > >> > >> > _______________________________________________ > >> Lista de correo > Python-es > >> http://listas.aditel.org/listinfo/python-es > >> FAQ: > http://listas.aditel.org/faqpyes > >> > > > _______________________________________________ > > Lista de correo Python-es > > http://listas.aditel.org/listinfo/python-es > > FAQ: > http://listas.aditel.org/faqpyes > > > ---------------------------- > Servico del Grupo de Redes > Universidad de Cienfuegos > E-mail: adminred en ucf.edu.cu > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From hidura en gmail.com Thu Mar 13 03:47:40 2008 From: hidura en gmail.com (hidura) Date: Wed, 12 Mar 2008 22:47:40 -0400 Subject: Problema con import Message-ID: <4bbf7fb20803121947o51ef278frebc8de56985d0bcc@mail.gmail.com> Hey lista buenas noches, aqui tengo un pequeñisimo problema con una ventana que deseo importar desde otro modulo el problema esta en que no se como importar la clase para despues importar el objeto: from selector import select <------Importa la clase ww = selector.select() <------ se le asigna una variable a la clase wqe = __init__(id_mant[0]) <------ Aqui se le introduce el valor a __init__() -- Hidura _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From listas en soft-com.es Thu Mar 13 11:58:07 2008 From: listas en soft-com.es (=?ISO-8859-1?Q?Oswaldo_Hern=E1ndez?=) Date: Thu, 13 Mar 2008 11:58:07 +0100 Subject: Problema con import In-Reply-To: <4bbf7fb20803121947o51ef278frebc8de56985d0bcc@mail.gmail.com> References: <4bbf7fb20803121947o51ef278frebc8de56985d0bcc@mail.gmail.com> Message-ID: <47D908BF.2070307@soft-com.es> hidura escribió: > Hey lista buenas noches, aqui tengo un pequeñisimo problema con una ventana > que deseo importar desde otro modulo el problema esta en que no se como > importar la clase para despues importar el objeto: > > > from selector import select <------Importa la clase > ww = selector.select() <------ se le asigna una variable a la clase > wqe = __init__(id_mant[0]) <------ Aqui se le introduce el valor a > __init__() > > ww = selector.select(parametro, parametro, ....) Cuando se crea la instalacia se ejecuta directamente el __init__ con los parametros. -- ***************************************** Oswaldo Hernández oswaldo (@) soft-com (.) es ***************************************** PD: Antes de imprimir este mensaje, asegúrese de que es necesario. El medio ambiente está en nuestra mano. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From rapto en arrakis.es Thu Mar 13 13:42:32 2008 From: rapto en arrakis.es (Marcos =?ISO-8859-1?Q?S=E1nchez?= Provencio) Date: Thu, 13 Mar 2008 13:42:32 +0100 Subject: Problema con import In-Reply-To: <4bbf7fb20803121947o51ef278frebc8de56985d0bcc@mail.gmail.com> References: <4bbf7fb20803121947o51ef278frebc8de56985d0bcc@mail.gmail.com> Message-ID: <1205412152.6968.36.camel@savin> Más bien: import selector ww = selector.select(id_mant[0]) #Como te decían en otro msj El mié, 12-03-2008 a las 22:47 -0400, hidura escribió: > Hey lista buenas noches, aqui tengo un pequeñisimo problema con una ventana > que deseo importar desde otro modulo el problema esta en que no se como > importar la clase para despues importar el objeto: > > > from selector import select <------Importa la clase > ww = selector.select() <------ se le asigna una variable a la clase > wqe = __init__(id_mant[0]) <------ Aqui se le introduce el valor a > __init__() > > > ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From damufo en gmail.com Thu Mar 13 17:47:52 2008 From: damufo en gmail.com (damufo) Date: Thu, 13 Mar 2008 17:47:52 +0100 Subject: insert anidado Message-ID: <47D95AB8.2000304@gmail.com> Hola: win xp python 2.5 wx 2.8 adodbapi bd access Quería saber si se pueden hacer inserts anidados, sería a través de adodbapi contra una base de datos access. He probado así pero no va. insert tabla (campo1, campo2) values (valor1, valor2), (valor1, valor2); Y ya que estamos, el motivo es el de no hacer tantos accesos a la base de datos para ganar veolcidad. La verdad es que no se si realmente ganaré algo. De cada vez que inserto registros lo hago por cientos, de esta forma intentaré que en lugar de 10 accesos sea uno pero con todo de una vez (si se puede claro). Saludos y gracias. ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pych3m4 en gmail.com Thu Mar 13 19:34:45 2008 From: pych3m4 en gmail.com (Chema Cortes) Date: Thu, 13 Mar 2008 19:34:45 +0100 Subject: insert anidado In-Reply-To: <47D95AB8.2000304@gmail.com> References: <47D95AB8.2000304@gmail.com> Message-ID: <2c9fb0dd0803131134i6b687b8ge3965c8ba9cbd413@mail.gmail.com> El 2008/3/13, damufo escribió: > Hola: > > win xp > python 2.5 > wx 2.8 > adodbapi > bd access > > Quería saber si se pueden hacer inserts anidados, sería a través de > adodbapi contra una base de datos access. > He probado así pero no va. > > insert tabla (campo1, campo2) values (valor1, valor2), (valor1, valor2); Esta sintaxis no es estándar. Hay gestores como mysql que la aceptan, pero es mejor no usarla. El truco consiste en usar el .executemany() de la dbapi, parametrizando la consulta: cur.executemany("insert tabla (campo1, campo2) values (?,?)", lista_valores) > Y ya que estamos, el motivo es el de no hacer tantos accesos a la base > de datos para ganar veolcidad. La verdad es que no se si realmente > ganaré algo. La dbapi supone que un buen gestor de bases de datos, antes de ejecutar el .executemany(), puedee "preparar" la consulta parametrizada y así acelerar su ejecución. La realidad es los conectores no llegan a "preparan" la consulta, acabando por ejecutar la consulta tantas veces como parámetros haya. Otra cosa es que access no es ninguna maravilla, así que no esperes maravillas. > De cada vez que inserto registros lo hago por cientos, de esta forma > intentaré que en lugar de 10 accesos sea uno pero con todo de una vez > (si se puede claro). El ADO gestiona su propia caché, por lo que no te debería preocupar cuántos accesos se hagan. En general, los gestores de bases de datos (buenos) tienen estrategias para evitar que haya ralentización, por muy frecuentes que se hagan los commits o se hagan transacciones masivas. Claro está, me estoy refiriendo a los gestores buenos. Si quieres algún consejo, decirte que access tiene el problema de que bloquea parte de la tabla que estás modificando (bloque de tamaño indeterminado, que sobrepasa del tamaño del registro), lo que provoca errores extraños. Es mejor que no pienses en optimizar y haz que el programa acabe cuanto antes, por ejemplo, activando el autocommit para que haga la transacción en cada insert. Así mismo, te puedes plantear el abrir la base de datos en exclusiva (parámetro Exclusive=1 en la cadena de conexión). _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From morillas en gmail.com Thu Mar 13 19:53:00 2008 From: morillas en gmail.com (Luis Miguel Morillas) Date: Thu, 13 Mar 2008 19:53:00 +0100 Subject: Leyendo HTML mal formado In-Reply-To: <68d25cbc0803051440s443095ahe66153e7fd50ba9e@mail.gmail.com> References: <30fdaa240803030735t57d7901cr2455a2c0e83b4f38@mail.gmail.com> <68d25cbc0803051440s443095ahe66153e7fd50ba9e@mail.gmail.com> Message-ID: <68d25cbc0803131153y479eb3bbq5e23770110da4877@mail.gmail.com> 2008/3/5, Luis Miguel Morillas : > 2008/3/3, jordi torrents : > > > Hola, > > > > 2008/3/3, Francisco Perez: > > > > > Existe alguna manera de leer (parsear) HTML mal formado? > > > > > > A mi me dió buenos resultados beautifulsoup [1]. Tiene buena > > documentación y trabaja con xml y html. Está en los repositorios de > > Debian, la descripción reza: > > > > python-beautifulsoup - error-tolerant HTML parser for Python > > > > Salut > > > > [1] http://www.crummy.com/software/BeautifulSoup/ > > > > > En este hilo recuerdo que se presentaron varias soluciones [1] > > Suerte > > -- lm > > > [1] http://lists.fourthought.com/pipermail/4suite/2008-January/008373.html > Acabamos de actualizar una receta que usa tagsoup-1.2.jar dentro de un programa python: http://wiki.xml3k.org/Amara/Recipes/With_Java_tagsoup Saludos, -- Luis Miguel _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From damufo en gmail.com Fri Mar 14 09:22:46 2008 From: damufo en gmail.com (damufo) Date: Fri, 14 Mar 2008 09:22:46 +0100 Subject: insert anidado In-Reply-To: <2c9fb0dd0803131134i6b687b8ge3965c8ba9cbd413@mail.gmail.com> References: <47D95AB8.2000304@gmail.com> <2c9fb0dd0803131134i6b687b8ge3965c8ba9cbd413@mail.gmail.com> Message-ID: <47DA35D6.3060902@gmail.com> Chema Cortes escribiu: > El 2008/3/13, damufo escribió: >> Hola: >> >> win xp >> python 2.5 >> wx 2.8 >> adodbapi >> bd access >> >> Quería saber si se pueden hacer inserts anidados, sería a través de >> adodbapi contra una base de datos access. >> He probado así pero no va. >> >> insert tabla (campo1, campo2) values (valor1, valor2), (valor1, valor2); > > Esta sintaxis no es estándar. Hay gestores como mysql que la aceptan, > pero es mejor no usarla. > > El truco consiste en usar el .executemany() de la dbapi, > parametrizando la consulta: > > > cur.executemany("insert tabla (campo1, campo2) values (?,?)", lista_valores) > > no conocía esta posibilidad la probaré. >> Y ya que estamos, el motivo es el de no hacer tantos accesos a la base >> de datos para ganar veolcidad. La verdad es que no se si realmente >> ganaré algo. > > La dbapi supone que un buen gestor de bases de datos, antes de > ejecutar el .executemany(), puedee "preparar" la consulta > parametrizada y así acelerar su ejecución. La realidad es los > conectores no llegan a "preparan" la consulta, acabando por ejecutar > la consulta tantas veces como parámetros haya. > > Otra cosa es que access no es ninguna maravilla, así que no esperes maravillas. > Lo de access (en concreto access97) no es elección mía. y no me queda mas remedio que trabajar contra esta base de datos. > >> De cada vez que inserto registros lo hago por cientos, de esta forma >> intentaré que en lugar de 10 accesos sea uno pero con todo de una vez >> (si se puede claro). > > El ADO gestiona su propia caché, por lo que no te debería preocupar > cuántos accesos se hagan. En general, los gestores de bases de datos > (buenos) tienen estrategias para evitar que haya ralentización, por > muy frecuentes que se hagan los commits o se hagan transacciones > masivas. Claro está, me estoy refiriendo a los gestores buenos. > > Si quieres algún consejo, decirte que access tiene el problema de que > bloquea parte de la tabla que estás modificando (bloque de tamaño > indeterminado, que sobrepasa del tamaño del registro), lo que provoca > errores extraños. Es mejor que no pienses en optimizar y haz que el > programa acabe cuanto antes, por ejemplo, activando el autocommit para > que haga la transacción en cada insert. Así mismo, te puedes plantear > el abrir la base de datos en exclusiva (parámetro Exclusive=1 en la > cadena de conexión). El acceso a la base de datos será por un usuario de cada vez por lo que no hai problema. Lo del autocommit ya debe venir por defecto pues no es necesario lanzarlo para que actualice la BD. Finalmente, muchas gracias. > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From hidura en gmail.com Fri Mar 14 15:38:17 2008 From: hidura en gmail.com (hidura) Date: Fri, 14 Mar 2008 10:38:17 -0400 Subject: Como llamar a un objeto ?? Message-ID: <4bbf7fb20803140738s6be34700s1703f7f68de32818@mail.gmail.com> Hey lista, tengo una pregunta como puedo hacer para llamar a un objeto dentro de una clase??? -- Hidura _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From listas en soft-com.es Fri Mar 14 18:43:40 2008 From: listas en soft-com.es (=?ISO-8859-1?Q?Oswaldo_Hern=E1ndez?=) Date: Fri, 14 Mar 2008 18:43:40 +0100 Subject: Derivacion de tipos, interceptar operaciones Message-ID: <47DAB94C.6080806@soft-com.es> Hola, Estoy intentando manipular las operaciones sobre tipos base utilizando __getattribute__ class Entero(int): def __getattribute__(self, attr): print "Interceptado:", attr return super(Entero, self).__getattribute__(attr) Si utilizo la llamada explicita al metodo si se intercepta: >>> e = Entero(300) >>> e.__add__(5) Interceptado: __add__ 305 >>> Pero si utilizo los operadores, el método no es interceptado: >>> e + 5 305 >>> Segun he entendido de la documentación, cuando se utilizan los operadores +, -, etc .. se ejecutan las funciones correspondientes __add__, __sub__, .. ¿Habria alguna forma de interceptar estas operaciones cuando se utilizan operadores? -- ***************************************** Oswaldo Hernández oswaldo (@) soft-com (.) es ***************************************** PD: Antes de imprimir este mensaje, asegúrese de que es necesario. El medio ambiente está en nuestra mano. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From listas en soft-com.es Fri Mar 14 18:45:56 2008 From: listas en soft-com.es (=?ISO-8859-1?Q?Oswaldo_Hern=E1ndez?=) Date: Fri, 14 Mar 2008 18:45:56 +0100 Subject: Como llamar a un objeto ?? In-Reply-To: <4bbf7fb20803140738s6be34700s1703f7f68de32818@mail.gmail.com> References: <4bbf7fb20803140738s6be34700s1703f7f68de32818@mail.gmail.com> Message-ID: <47DAB9D4.5000804@soft-com.es> hidura escribió: > Hey lista, tengo una pregunta como puedo hacer para llamar a un objeto > dentro de una clase??? > Si no explicas un poco mejor lo que quieres hacer, dudo que te podamos ayudar. -- ***************************************** Oswaldo Hernández oswaldo (@) soft-com (.) es ***************************************** PD: Antes de imprimir este mensaje, asegúrese de que es necesario. El medio ambiente está en nuestra mano. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From hidura en gmail.com Fri Mar 14 18:50:01 2008 From: hidura en gmail.com (hidura) Date: Fri, 14 Mar 2008 13:50:01 -0400 Subject: Como llamar a un objeto ?? In-Reply-To: <47DAB9D4.5000804@soft-com.es> References: <4bbf7fb20803140738s6be34700s1703f7f68de32818@mail.gmail.com> <47DAB9D4.5000804@soft-com.es> Message-ID: <4bbf7fb20803141050q3470f231v5227e5ab7de5acae@mail.gmail.com> OK, Yo tengo un objeto dentro de una clase y desde fuera desde un modulo aparte quiero llamar a dicho On Fri, Mar 14, 2008 at 1:45 PM, Oswaldo Hernández wrote: > hidura escribió: > > Hey lista, tengo una pregunta como puedo hacer para llamar a un objeto > > dentro de una clase??? > > > > Si no explicas un poco mejor lo que quieres hacer, dudo que te podamos > ayudar. > > -- > ***************************************** > Oswaldo Hernández > oswaldo (@) soft-com (.) es > ***************************************** > PD: > Antes de imprimir este mensaje, asegúrese de que es necesario. > El medio ambiente está en nuestra mano. > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Hidura _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From listas en soft-com.es Fri Mar 14 19:11:33 2008 From: listas en soft-com.es (=?ISO-8859-1?Q?Oswaldo_Hern=E1ndez?=) Date: Fri, 14 Mar 2008 19:11:33 +0100 Subject: Como llamar a un objeto ?? In-Reply-To: <4bbf7fb20803141050q3470f231v5227e5ab7de5acae@mail.gmail.com> References: <4bbf7fb20803140738s6be34700s1703f7f68de32818@mail.gmail.com> <47DAB9D4.5000804@soft-com.es> <4bbf7fb20803141050q3470f231v5227e5ab7de5acae@mail.gmail.com> Message-ID: <47DABFD5.7010808@soft-com.es> hidura escribió: > OK, Yo tengo un objeto dentro de una clase y desde fuera desde un modulo > aparte quiero llamar a dicho > Si tienes un objeto dentro de una clase se supone es para uso exclusivo de esa clase, si queres que sea de uso publico lo recomendable es ponerlo en el modulo. De todas formas la unica forma que se me ocurre es instanciar la clase y acceder al objeto a traves de la instancia. Saludos, -- ***************************************** Oswaldo Hernández oswaldo (@) soft-com (.) es ***************************************** PD: Antes de imprimir este mensaje, asegúrese de que es necesario. El medio ambiente está en nuestra mano. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From donsadit en gmail.com Fri Mar 14 19:18:01 2008 From: donsadit en gmail.com (=?ISO-8859-1?Q?Eric_Sadit_T=E9llez_Avila?=) Date: Fri, 14 Mar 2008 12:18:01 -0600 Subject: Derivacion de tipos, interceptar operaciones In-Reply-To: <47DAB94C.6080806@soft-com.es> References: <47DAB94C.6080806@soft-com.es> Message-ID: <25ce188f0803141118y57887963kaaca4bcc0ba0fe36@mail.gmail.com> Puedes revisar la función sys.settrace tal vez te pueda ayudar On Fri, Mar 14, 2008 at 11:43 AM, Oswaldo Hernández wrote: > Hola, > > Estoy intentando manipular las operaciones sobre tipos base utilizando > __getattribute__ > > class Entero(int): > def __getattribute__(self, attr): > print "Interceptado:", attr > return super(Entero, self).__getattribute__(attr) > > > Si utilizo la llamada explicita al metodo si se intercepta: > > >>> e = Entero(300) > >>> e.__add__(5) > Interceptado: __add__ > 305 > >>> > > Pero si utilizo los operadores, el método no es interceptado: > > >>> e + 5 > 305 > >>> > > Segun he entendido de la documentación, cuando se utilizan los operadores > +, -, etc .. se ejecutan > las funciones correspondientes __add__, __sub__, .. > > ¿Habria alguna forma de interceptar estas operaciones cuando se utilizan > operadores? > > -- > ***************************************** > Oswaldo Hernández > oswaldo (@) soft-com (.) es > ***************************************** > PD: > Antes de imprimir este mensaje, asegúrese de que es necesario. > El medio ambiente está en nuestra mano. > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From faltet en carabos.com Fri Mar 14 19:20:21 2008 From: faltet en carabos.com (Francesc Altet) Date: Fri, 14 Mar 2008 19:20:21 +0100 Subject: Como llamar a un objeto ?? In-Reply-To: <47DABFD5.7010808@soft-com.es> References: <4bbf7fb20803140738s6be34700s1703f7f68de32818@mail.gmail.com> <4bbf7fb20803141050q3470f231v5227e5ab7de5acae@mail.gmail.com> <47DABFD5.7010808@soft-com.es> Message-ID: <200803141920.21512.faltet@carabos.com> A Friday 14 March 2008, Oswaldo Hernández escrigué: > hidura escribió: > > OK, Yo tengo un objeto dentro de una clase y desde fuera desde un > > modulo aparte quiero llamar a dicho > > Si tienes un objeto dentro de una clase se supone es para uso > exclusivo de esa clase, si queres que sea de uso publico lo > recomendable es ponerlo en el modulo. > > De todas formas la unica forma que se me ocurre es instanciar la > clase y acceder al objeto a traves de la instancia. También puedes declarar una variable de clase: In [32]: class Prueba(object): ....: a = [2,3] ....: In [33]: Prueba.a Out[33]: [2, 3] Saludos, -- >0,0< Francesc Altet     http://www.carabos.com/ V V Cárabos Coop. V.   Enjoy Data "-" _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From yhdelgado en estudiantes.uci.cu Sat Mar 15 04:59:19 2008 From: yhdelgado en estudiantes.uci.cu (Yusniel Hidalgo Delgado) Date: Fri, 14 Mar 2008 22:59:19 -0500 Subject: Cambiar de Directorio References: <20080314182050.E8BB215EF815@devnull.aditel.org> Message-ID: Saludos amigos. Estoy haciendo un pequeño proyecto y se me ha presentado un problema. Resulta que cuando trato de ejecutar el comando cd del sistema(Ubuntu Gutsy), no me quiere cambiar de directorio, o sea, es algo como esto: commands.getoutput("mkdir /var/www/prueba") commands.getoutput("cd /var/www/prueba/") primero creo la carpeta ¨prueba¨ y luego necesito moverme hasta dentro de ella para trabajar, el caso es que se crea la carpeta, pero cuando genero un grupo de ficheros con otro camando, éstos se me generan en el directorio donde se encuentra el programa, o sea, el fichero.py. Alguna idea de que es lo que sucede?. Saludos. ------------------------------------------------------------ Yusniel Hidalgo Delgado Brigada 4301 Universidad de las Ciencias Informáticas ------------------------------------------------------------ ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From morillas en gmail.com Sat Mar 15 08:21:07 2008 From: morillas en gmail.com (Luis Miguel Morillas) Date: Sat, 15 Mar 2008 08:21:07 +0100 Subject: Cambiar de Directorio In-Reply-To: References: <20080314182050.E8BB215EF815@devnull.aditel.org> Message-ID: <68d25cbc0803150021t2635dc2dxc36dade08b95e556@mail.gmail.com> 2008/3/15, Yusniel Hidalgo Delgado : > Saludos amigos. Estoy haciendo un pequeño proyecto y se me ha presentado un problema. Resulta que cuando trato de ejecutar el comando cd del sistema(Ubuntu Gutsy), no me quiere cambiar de directorio, o sea, es algo como esto: El usuario tiene permiso para crear el directorio? import os os.mkdir("/var/www/prueba") os.chdir("/var/www/prueba") -- lm > commands.getoutput("mkdir /var/www/prueba") > commands.getoutput("cd /var/www/prueba/") > primero creo la carpeta ¨prueba¨ y luego necesito moverme hasta dentro de ella para trabajar, el caso es que se crea la carpeta, pero cuando genero un grupo de ficheros con otro camando, éstos se me generan en el directorio donde se encuentra el programa, o sea, el fichero.py. Alguna idea de que es lo que sucede?. Saludos. > > ------------------------------------------------------------ > > Yusniel Hidalgo Delgado > Brigada 4301 > Universidad de las Ciencias Informáticas > ------------------------------------------------------------ > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Saludos, -- Luis Miguel _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From david.abreu en iac.es Sat Mar 15 13:47:17 2008 From: david.abreu en iac.es (David Abreu Rodriguez) Date: Sat, 15 Mar 2008 12:47:17 +0000 Subject: Cambiar de Directorio In-Reply-To: References: <20080314182050.E8BB215EF815@devnull.aditel.org> Message-ID: <47DBC555.1010005@iac.es> Creo que tienes que utilizar el os.chdir, porque con el commands la ejecución se hace en una subshell y cuando termina vuelve al directorio donde empezaste. import os import commands commands.getoutput("mkdir /var/www/prueba") os.chdir("/var/www/prueba") David Yusniel Hidalgo Delgado wrote: >Saludos amigos. Estoy haciendo un pequeño proyecto y se me ha presentado un problema. Resulta que cuando trato de ejecutar el comando cd del sistema(Ubuntu Gutsy), no me quiere cambiar de directorio, o sea, es algo como esto: >commands.getoutput("mkdir /var/www/prueba") >commands.getoutput("cd /var/www/prueba/") >primero creo la carpeta ¨prueba¨ y luego necesito moverme hasta dentro de ella para trabajar, el caso es que se crea la carpeta, pero cuando genero un grupo de ficheros con otro camando, éstos se me generan en el directorio donde se encuentra el programa, o sea, el fichero.py. Alguna idea de que es lo que sucede?. Saludos. > >------------------------------------------------------------ >Yusniel Hidalgo Delgado >Brigada 4301 >Universidad de las Ciencias Informáticas >------------------------------------------------------------ > > >------------------------------------------------------------------------ > >_______________________________________________ >Lista de correo Python-es >http://listas.aditel.org/listinfo/python-es >FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From listas en soft-com.es Sat Mar 15 20:43:38 2008 From: listas en soft-com.es (=?ISO-8859-1?Q?Oswaldo_Hern=E1ndez?=) Date: Sat, 15 Mar 2008 20:43:38 +0100 Subject: Derivacion de tipos, interceptar operaciones In-Reply-To: <25ce188f0803141118y57887963kaaca4bcc0ba0fe36@mail.gmail.com> References: <47DAB94C.6080806@soft-com.es> <25ce188f0803141118y57887963kaaca4bcc0ba0fe36@mail.gmail.com> Message-ID: <47DC26EA.9030604@soft-com.es> Eric Sadit Téllez Avila escribió: > Puedes revisar la función sys.settrace tal vez te pueda ayudar > He probado con el debugger pero no me ayuda. De todas formas ya he solucionado eso mas o menos. Gracias -- ***************************************** Oswaldo Hernández oswaldo (@) soft-com (.) es ***************************************** PD: Antes de imprimir este mensaje, asegúrese de que es necesario. El medio ambiente está en nuestra mano. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From yhdelgado en estudiantes.uci.cu Mon Mar 17 02:05:38 2008 From: yhdelgado en estudiantes.uci.cu (Yusniel Hidalgo Delgado) Date: Sun, 16 Mar 2008 21:05:38 -0400 Subject: Arbol de directorios con PyQt4 en un TreeWidget Message-ID: Saludos amigos. Estoy iniciándome en python y me he encontrado con el siguiente problema. Resulta que deseo mostrar un treeWidget con la estructura de directorios de una carpeta dada de mi sistema. Ya logro obtener un arbol con todos los directorios mediante la funcion os.walk(), pero no se como debo meterlo dentro de mi treeWidget. Estoy sobre Ubuntu Gutsy. Saludos. PD: Una duda, que diferencia existe entre un TreeView y un TreeWidget?. En que casos se usan ambos?. Saludos. ------------------------------------------------------------ Yusniel Hidalgo Delgado Brigada 4301 Universidad de las Ciencias Informáticas ------------------------------------------------------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pych3m4 en gmail.com Mon Mar 17 12:43:02 2008 From: pych3m4 en gmail.com (Chema Cortes) Date: Mon, 17 Mar 2008 12:43:02 +0100 Subject: Derivacion de tipos, interceptar operaciones In-Reply-To: <47DAB94C.6080806@soft-com.es> References: <47DAB94C.6080806@soft-com.es> Message-ID: <2c9fb0dd0803170443u498ce7d9g67d2f4d000333ba8@mail.gmail.com> El 2008/3/14, Oswaldo Hernández escribió: > Segun he entendido de la documentación, cuando se utilizan los operadores +, -, etc .. se ejecutan > las funciones correspondientes __add__, __sub__, .. > > ¿Habria alguna forma de interceptar estas operaciones cuando se utilizan operadores? El método __getattribute__ sólo se invoca en la búsqueda "explícita" de atributos, lo cuál ocurre al usa el operador '.' (punto) o con la función getattr(). Para la búsqueda "implícita" de atributos, el intérprete python, por optimizar, se las apaña para evitar usar los métodos de la instancia, por lo que no resulta posible interceptar esta búsqueda. Sólo usará los __getattr__ y __getattribute__ si no queda más remedio. No hay que irse a las operaciones aritméticas para comprobarlo: tampoco se puede interceptar el acceso a '__init__' ni '__new__'. Como mucho se puede suplantar estos métodos por otros, pero resulta imposible crear un "accesor" genérico que funcione completamente. Digamos que aún queda un pequeño trecho para unificar tipos y clases. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pych3m4 en gmail.com Mon Mar 17 13:08:10 2008 From: pych3m4 en gmail.com (Chema Cortes) Date: Mon, 17 Mar 2008 13:08:10 +0100 Subject: al guardar un registro en MySQL recibo un UnicodeEncodeError In-Reply-To: <47D70828.6070203@bertayjavi.com> References: <47D70828.6070203@bertayjavi.com> Message-ID: <2c9fb0dd0803170508n4246186fte17bac66d30bee97@mail.gmail.com> El 2008/3/11, Javi escribió: > Hola a todos, os pongo en antecedentes, uso python 2.5, mysql wx, y boa, > la cuestion es que al intentar guardar un registro donde este el > caracter del euro (?) me da error de encode, concretamente > "UnicodeEncodeError: latin-1 codec can't encode........." sin embargo si > no lleva ese caracter, guarda los datos correctamente, incluidos vocales > acentuadas y eñes. En los ficheros tengo puesto en la segunda linea " > #coding: utf-8" para que me deje usar esa codificacion, incluso las > tablas en mysql estan creadas en utf-8 pero no consigo que no me de el > error, inicialmente tenia las tablas de mysql en latin-1 y tampoco > funcionaba. No se que hacer, no se por donde seguir, si alguien me puede > aconsejar , le estaria muy agradecido.. MySQLdb intenta siempre conectar en latin-1. Puedes cambiar la codificación con el método set_character_set(). Para que todo vaya bien, lo mejor es ejecutar las siguientes instrucciones: con.set_character_set('utf8') cur.execute('SET NAMES utf8;') cur.execute('SET CHARACTER SET utf8;') cur.execute('SET character_set_connection=utf8;') Donde 'con' es la conexión y 'cur' el cursor. ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From listas en soft-com.es Mon Mar 17 16:04:59 2008 From: listas en soft-com.es (=?ISO-8859-1?Q?Oswaldo_Hern=E1ndez?=) Date: Mon, 17 Mar 2008 16:04:59 +0100 Subject: Derivacion de tipos, interceptar operaciones In-Reply-To: <2c9fb0dd0803170443u498ce7d9g67d2f4d000333ba8@mail.gmail.com> References: <47DAB94C.6080806@soft-com.es> <2c9fb0dd0803170443u498ce7d9g67d2f4d000333ba8@mail.gmail.com> Message-ID: <47DE889B.7050303@soft-com.es> Chema Cortes escribió: > El 2008/3/14, Oswaldo Hernández escribió: > >> Segun he entendido de la documentación, cuando se utilizan los operadores +, -, etc .. se ejecutan >> las funciones correspondientes __add__, __sub__, .. >> >> ¿Habria alguna forma de interceptar estas operaciones cuando se utilizan operadores? > > El método __getattribute__ sólo se invoca en la búsqueda "explícita" > de atributos, lo cuál ocurre al usa el operador '.' (punto) o con la > función getattr(). Para la búsqueda "implícita" de atributos, el > intérprete python, por optimizar, se las apaña para evitar usar los > métodos de la instancia, por lo que no resulta posible interceptar > esta búsqueda. Sólo usará los __getattr__ y __getattribute__ si no > queda más remedio. > Despues de un fin de semana de pruebas me supuse que ocurria lo que dices, el acceso a algunos metodos se realiza de forma directa, sin pasar por __getattribute__. Busqué documentacion que confirmara esto, pero no la encontré. > No hay que irse a las operaciones aritméticas para comprobarlo: > tampoco se puede interceptar el acceso a '__init__' ni '__new__'. Como > mucho se puede suplantar estos métodos por otros, pero resulta > imposible crear un "accesor" genérico que funcione completamente. > Digamos que aún queda un pequeño trecho para unificar tipos y clases. Buscando solucion a esto he encontrado otra discrepancia entre tipos y clases "normales". El __dict__ de una clase normal es un diccionario, mientras que en una clase derivada de un tipo es un objeto 'dictproxy', el cual no se puede utilizar directamente, o por lo menos yo no he encontrado como. Saludos, -- ***************************************** Oswaldo Hernández oswaldo (@) soft-com (.) es ***************************************** PD: Antes de imprimir este mensaje, asegúrese de que es necesario. El medio ambiente está en nuestra mano. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pych3m4 en gmail.com Mon Mar 17 19:40:20 2008 From: pych3m4 en gmail.com (Chema Cortes) Date: Mon, 17 Mar 2008 19:40:20 +0100 Subject: Derivacion de tipos, interceptar operaciones In-Reply-To: <47DE889B.7050303@soft-com.es> References: <47DAB94C.6080806@soft-com.es> <2c9fb0dd0803170443u498ce7d9g67d2f4d000333ba8@mail.gmail.com> <47DE889B.7050303@soft-com.es> Message-ID: <2c9fb0dd0803171140t1c5a0251kd93efd47720fae34@mail.gmail.com> El 17/03/08, Oswaldo Hernández escribió: > Buscando solucion a esto he encontrado otra discrepancia entre tipos y clases "normales". El > __dict__ de una clase normal es un diccionario, mientras que en una clase derivada de un tipo es un > objeto 'dictproxy', el cual no se puede utilizar directamente, o por lo menos yo no he encontrado como. En realidad, más que discrepar, es una parte del mecanismo para poder unificar ambos conceptos (PEPs 252 y 253) con el que se implementa el protocolo del "descriptor" (por cierto, procotolo implementado gracias al método __getatribute__ del tipo 'object', progenitor de todas las clases nuevas). El "dictproxy" funciona igual que un diccionario (protocolo "mapping"). Lo que pasa es que sus items están protegidos contra escritura, por lo que de poco te servirá. http://www.python.org/dev/peps/pep-0252/ http://www.python.org/dev/peps/pep-0253/ Es muy complejo de explicar, por lo que te remito a estos PEPs y a los tutoriales que hay por http://cafepy.com (y, si te animas, a revisar el código C). Así, por encima, puedo contarte que los atributos "estáticos" (aquellos que obtiene la clase por ser un "tipo de dato") se implementan mediante "slots". Estos slots apuntan inicialmente a métodos facilitados por el tipo de dato, y son sustituídos por los que suplanta la herencia (atributos dinámicos). Los métodos estáticos son mucho más rápidos de ejecutar por el intérprete, evitando la sobrecarga que impone una herencia pura con las operaciones básicas estándar. Supongo que, por éso mismo, python resulta bastante más rápido que smalltalk y lenguajes similares. La única solución para tu problema sería crear "wrappers" para todos y cada uno de los métodos estáticos que tenga el tipo de dato, algo como se cuenta en esta receta: http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/496741 _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From javi en bertayjavi.com Mon Mar 17 20:26:35 2008 From: javi en bertayjavi.com (Javi) Date: Mon, 17 Mar 2008 20:26:35 +0100 Subject: al guardar un registro en MySQL recibo un UnicodeEncodeError In-Reply-To: <2c9fb0dd0803170508n4246186fte17bac66d30bee97@mail.gmail.com> References: <47D70828.6070203@bertayjavi.com> <2c9fb0dd0803170508n4246186fte17bac66d30bee97@mail.gmail.com> Message-ID: <47DEC5EB.4090509@bertayjavi.com> Chema Cortes escribió: > El 2008/3/11, Javi escribió: > > >> Hola a todos, os pongo en antecedentes, uso python 2.5, mysql wx, y boa, >> la cuestion es que al intentar guardar un registro donde este el >> caracter del euro (?) me da error de encode, concretamente >> "UnicodeEncodeError: latin-1 codec can't encode........." sin embargo si >> no lleva ese caracter, guarda los datos correctamente, incluidos vocales >> acentuadas y eñes. En los ficheros tengo puesto en la segunda linea " >> #coding: utf-8" para que me deje usar esa codificacion, incluso las >> tablas en mysql estan creadas en utf-8 pero no consigo que no me de el >> error, inicialmente tenia las tablas de mysql en latin-1 y tampoco >> funcionaba. No se que hacer, no se por donde seguir, si alguien me puede >> aconsejar , le estaria muy agradecido.. >> > > MySQLdb intenta siempre conectar en latin-1. Puedes cambiar la > codificación con el método set_character_set(). Para que todo vaya > bien, lo mejor es ejecutar las siguientes instrucciones: > > con.set_character_set('utf8') > cur.execute('SET NAMES utf8;') > cur.execute('SET CHARACTER SET utf8;') > cur.execute('SET character_set_connection=utf8;') > > Donde 'con' es la conexión y 'cur' el cursor. > > ------------------------------------------------------------------------ > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqp Gracias a todos por vuestra ayuda, lo he solucionado de la siguiente manera: self.conn=MySQLdb.connect(host=servidor, user=usuario, passwd=contrasena, db=base, charset="utf8", init_command="set names utf8") self.conn.names="utf8" ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From listas en soft-com.es Mon Mar 17 22:03:18 2008 From: listas en soft-com.es (=?ISO-8859-1?Q?Oswaldo_Hern=E1ndez?=) Date: Mon, 17 Mar 2008 22:03:18 +0100 Subject: Derivacion de tipos, interceptar operaciones In-Reply-To: <2c9fb0dd0803171140t1c5a0251kd93efd47720fae34@mail.gmail.com> References: <47DAB94C.6080806@soft-com.es> <2c9fb0dd0803170443u498ce7d9g67d2f4d000333ba8@mail.gmail.com> <47DE889B.7050303@soft-com.es> <2c9fb0dd0803171140t1c5a0251kd93efd47720fae34@mail.gmail.com> Message-ID: <47DEDC96.6090103@soft-com.es> Chema Cortes escribió: > El 17/03/08, Oswaldo Hernández escribió: > >> Buscando solucion a esto he encontrado otra discrepancia entre tipos y clases "normales". El >> __dict__ de una clase normal es un diccionario, mientras que en una clase derivada de un tipo es un >> objeto 'dictproxy', el cual no se puede utilizar directamente, o por lo menos yo no he encontrado como. > > En realidad, más que discrepar, es una parte del mecanismo para poder > unificar ambos conceptos (PEPs 252 y 253) con el que se implementa el > protocolo del "descriptor" (por cierto, procotolo implementado gracias > al método __getatribute__ del tipo 'object', progenitor de todas las > clases nuevas). > > El "dictproxy" funciona igual que un diccionario (protocolo > "mapping"). Lo que pasa es que sus items están protegidos contra > escritura, por lo que de poco te servirá. > > http://www.python.org/dev/peps/pep-0252/ > http://www.python.org/dev/peps/pep-0253/ Los estuve viendo, igual que cafepy.com, pero he de confesar que llega un momento en que me pierdo, :( > > Es muy complejo de explicar, por lo que te remito a estos PEPs y a los > tutoriales que hay por http://cafepy.com (y, si te animas, a revisar > el código C). Así, por encima, puedo contarte que los atributos > "estáticos" (aquellos que obtiene la clase por ser un "tipo de dato") > se implementan mediante "slots". Estos slots apuntan inicialmente a > métodos facilitados por el tipo de dato, y son sustituídos por los que > suplanta la herencia (atributos dinámicos). Los métodos estáticos son > mucho más rápidos de ejecutar por el intérprete, evitando la > sobrecarga que impone una herencia pura con las operaciones básicas > estándar. Supongo que, por éso mismo, python resulta bastante más > rápido que smalltalk y lenguajes similares. > > La única solución para tu problema sería crear "wrappers" para todos y > cada uno de los métodos estáticos que tenga el tipo de dato, algo como > se cuenta en esta receta: > > http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/496741 Muy, muy, muy interesante, aunque no es lo mismo, se parece bastante a mi proyecto. Lo revisare con detenimiento. Sobre los slots habia visto algo, pero lo volveré a revisar. Mi necesidad es filtrar las instancias antes de que se realice cualquier tipo de operacion con ellas, y en ciertos casos impedir la operacion lanzando un ValueError. Un resumen de lo que he hecho he hecho es lo siguiente: 1.- Definicion de las clases con un metodo __new__ comun # esta funcion es llamada en el new de las bases para verificar valores y creacion de instancia def _Super_New_(cls, *args): # verificacion de rango if cls.Rango and args[0] < cls.Rango[0] or args[0] > cls.Rango[1]: raise ValueError ...otros chequeos y adaptaciones ... return = cls.__base__.__new__(cls, *args) # Clases principales class c_int(int): Valido = True # en ciertos casos me interesa no dar error # y marcar la instancia como 'No Valida' Rango = None def __new__(cls, *args): return _Super_new_(cls, *args) class c_date(datetime.date): Valido = True Rango = None def __new__(cls, *args): return _Super_new_(cls, *args) 2.- Añadir metodos sobrescritos Para añadir los metodos sobreescritos, sin el engorro y la dificultad de mantenimiento posterior de poner uno por uno en cada clase, he hecho lo siguiente: Primero, un SuperMetodo que filtrará todas las operaciones: def __SuperMetodo(self, op, *args): if not self.Valido: raise ValueError # verificar si other es mio y si es valido tambien if hasattr(args[0], "Valido") and not args[0].Valido: raise ValueError # ejecutar la operacion en base r = getattr(self.__base__, op)(self, *args, **kwds) ... Otras verificaciones .... return r A nivel de modulo, para que se ejecute cuando se realice el import: Operadores = ("__add__", "__sub__", ....) Clases = (m_int, m_date, ...) Ahora tengo que sobreescribir el metodo de operadores en cada clase para que llamen al __SuperMetodo pasandole como argumento la instancia, la operacion a realizar y sus argumentos, y este, si lo cree conveniente, ejecute el metodo en la base. Aqui es donde entra mi problema con el __dict__, no puedo utilizar exec() ni new.Function() para insertar directamente los metodos con su codigo en las clases porque a ambas hay que pasarles el diccionario y rechazan el 'dictproxy'. Para solucionar esto he hecho lo siguiente: Creo Metodos genericos para todas las clases en globals() for op in in Operadores: exec "def %sz(self, *args, **kwds): return __SuperMetodo(self, '%s', *args, **kwds)" % (op, op) in globals() Creo los metodos en las clases son setattr() asignandolos a los creados en globals() for c in Clase : for m in Metodos: if hasattr(c , op): setattr(c, op, globals()["%sz" % op]) Bueno, discupad el rollo, pero llevo un monton de horas peleandome con esto. Parace que ya funciona :), pero si alguin tiene una idea mejor de como hacerlo, bienvenida es. Saludos, -- ***************************************** Oswaldo Hernández oswaldo (@) soft-com (.) es ***************************************** PD: Antes de imprimir este mensaje, asegúrese de que es necesario. El medio ambiente está en nuestra mano. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From kikecalpe en gmail.com Mon Mar 17 23:37:28 2008 From: kikecalpe en gmail.com (Kike Cabrera) Date: Mon, 17 Mar 2008 23:37:28 +0100 Subject: =?utf-8?q?Re=3A_Resumen_de_Python-es=2C_Vol_6=2C_Env?= =?utf-8?b?w61vIDEy?= In-Reply-To: <20080317155243.4D3BE14C2BE5@devnull.aditel.org> References: <20080317155243.4D3BE14C2BE5@devnull.aditel.org> Message-ID: <14ecb63c0803171537g58716a69v4858f8757e621ca3@mail.gmail.com> > > Date: Fri, 14 Mar 2008 22:59:19 -0500 > From: "Yusniel Hidalgo Delgado" > Subject: [Python-es] Cambiar de Directorio > To: > Message-ID: > Content-Type: text/plain; charset="iso-8859-1" > > Saludos amigos. Estoy haciendo un pequeño proyecto y se me ha presentado > un problema. Resulta que cuando trato de ejecutar el comando cd del > sistema(Ubuntu Gutsy), no me quiere cambiar de directorio, o sea, es algo > como esto: > commands.getoutput("mkdir /var/www/prueba") > commands.getoutput("cd /var/www/prueba/") > primero creo la carpeta ¨prueba¨ y luego necesito moverme hasta dentro de > ella para trabajar, el caso es que se crea la carpeta, pero cuando genero un > grupo de ficheros con otro camando, éstos se me generan en el directorio > donde se encuentra el programa, o sea, el fichero.py. Alguna idea de que > es lo que sucede?. Saludos. Si no lo has hecho ya, te recomiendo que le eches un vistazo al capítulo 6 de "Inmersión en Python". Tal vez te sirva de ayuda buscar en google la referencia. ------------------------------------------------------------ > Yusniel Hidalgo Delgado > Brigada 4301 > Universidad de las Ciencias Informáticas > ------------------------------------------------------------ > > ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From py en ch3m4.org Tue Mar 18 01:20:12 2008 From: py en ch3m4.org (Chema Cortes) Date: Tue, 18 Mar 2008 01:20:12 +0100 Subject: Derivacion de tipos, interceptar operaciones In-Reply-To: <47DEDC96.6090103@soft-com.es> References: <47DAB94C.6080806@soft-com.es> <2c9fb0dd0803171140t1c5a0251kd93efd47720fae34@mail.gmail.com> <47DEDC96.6090103@soft-com.es> Message-ID: <200803180120.21374.py@ch3m4.org> El Monday 17 March 2008 22:03:18 Oswaldo Hernández escribió: > Muy, muy, muy interesante, aunque no es lo mismo, se parece bastante a mi > proyecto. Lo revisare con detenimiento. > Sobre los slots habia visto algo, pero lo volveré a revisar. Lo de los slots no tiene demasiada importancia. Tan sólo saber que está ahí por si quieres un control más fino. Algunos consejos del código que has puesto: > Mi necesidad es filtrar las instancias antes de que se realice cualquier > tipo de operacion con ellas, y en ciertos casos impedir la operacion > lanzando un ValueError. > > Un resumen de lo que he hecho he hecho es lo siguiente: > > 1.- Definicion de las clases con un metodo __new__ comun > > # esta funcion es llamada en el new de las bases para verificar valores y > creacion de instancia def _Super_New_(cls, *args): > # verificacion de rango > if cls.Rango and args[0] < cls.Rango[0] or args[0] > cls.Rango[1]: Los rangos, en python, quedan más elegantes así: ... and cls.Rango[1] raise ValueError > ...otros chequeos y adaptaciones ... > > return = cls.__base__.__new__(cls, *args) > > # Clases principales > class c_int(int): > Valido = True # en ciertos casos me interesa no dar error > # y marcar la instancia como 'No Valida' > Rango = None > def __new__(cls, *args): > return _Super_new_(cls, *args) Mejor así: __new__=_Super_new_ Da más a entender que "_Super_new_" es un descriptor. > class c_date(datetime.date): > Valido = True > Rango = None > def __new__(cls, *args): > return _Super_new_(cls, *args) Evidentemente, necesitas "metaclases": class M(type): def __new__(meta,name,base,dic): dic.update({ "Valido":True, "Rango":None, "__new__":_Super_new_, }) return type.__new__(meta,name,base,dic) class c_int(int): __metaclass__=M class c_date(datetime.date): __metaclass__=M De manera similar, se pueden definir todos los wrappers a los métodos estáticos dentro de la metaclase: Operadores = ("__add__", "__sub__", ....) def __wrapper(op): def __supermethod(self, *args,**kwds): if not self.Valido: raise ValueError if hasattr(args[0], "Valido") and not args[0].Valido: raise ValueError return getattr(self.__base__, op)(self, *args, **kwds) return __supermethod class M(type): def __new__(meta,name,base,dic): dic.update({ "Valido":True, "Rango":None, "__new__":_Super_new_, }) for op in Operadores: dic[op]=__wrapper(op) return type.__new__(meta,name,base,dic) Lo he hecho muy rápido, así que mejor será que revises y lo ajustes a lo que quieres hacer. Creo que por aquí tienes por donde trabajar. ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part. URL: ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From yhdelgado en estudiantes.uci.cu Tue Mar 18 05:27:46 2008 From: yhdelgado en estudiantes.uci.cu (Yusniel Hidalgo Delgado) Date: Tue, 18 Mar 2008 00:27:46 -0400 Subject: Error con PyQt4 References: <20080317155243.898F114C2BE7@devnull.aditel.org> Message-ID: Saludos amigos. Me he encontrado un pedazo de código que resuelve parte de mi problema. O sea, lo que quiero es mostrar una estructura de directorios utilizando un arbol, algo asi como un QTreeWidget. Por lo pronto, lo he estado probando con un QListViewItem que me encontré en un manual. Resulta que cuando trato de poner el arbol en mi ventana principal, este me lance un error diciendo: RuntimeError: the qt and PyQt4.QtCore modules both wrap the QObject class Adjunto el código del Tree y el código de la ventana Princiapl. import sys from qt import * class DirectoryTree(QListViewItem): def __init__(self, parent, name=None): QListViewItem.__init__,(self,parent) if isinstance(parent, QListViewItem): self.p = None self.f = '/var/www/prueba/' else: self.p = parent self.f = name self.c = [] self.readable = 1 def setOpen(self, o): if o and not self.childCount(): s = self.fullName() if (not os.path.isdir(s)): self.readable == 0 return if (not os.access(s, os.F_OK or os.R_OK)): self.readable == 0 return files=os.listdir(s) if files: for fileName in files: f=os.path.join(s, fileName) if fileName == "." or fileName == "..": continue elif os.path.islink(f): d = QListViewItem(self, fileName, 'Symbolic Link') elif os.path.isdir(f): d = Directory(self, fileName) else: if os.path.isfile(f): t = 'File' else: print f t = 'Special' d = QListViewItem(self, fileName, t) self.c.append(d) QListViewItem.setOpen(self, o) def setup(self): self.setExpandable(1) QListViewItem.setup(self) def fullName(self): if self.p: s = self.p.fullName() + self.f + '/' else: s = '/var/www/prueba/' return s def text(self, column): if column == 0: return self.f elif self.readable: return 'Directory' else: return 'Unreadable Directory' Este es el codigo del arbol, cuando lo mando a correr me pincha todo ok, pero cuando lo llamo desde mi ventana principal, me da el error mencionado arriba. Este es el codigo en la ventana generada por Qt4-Designer: self.listV=QListView(self.tab) self.treePrpj=DirectoryTree(self.listV) self.treePrpj.setOpen(1) self.listV.show() y este es el codigo de la clase que llama al visual: import sys from PyQt4 import QtCore,QtGui class PySfGui(QtGui.QMainWindow): def __init__(self,parent=None): QtGui.QWidget.__init__(self,parent) from main import Ui_MainWindow self.ui=Ui_MainWindow() self.ui.setupUi(self) self.imprimir() #QtCore.QObject.connect(self.ui.textEdit,QtCore.SIGNAL("clicked()"),self.imprimir()) def imprimir(self): self.ui.textEdit.setPlainText("Este es el texto") if __name__=="__main__": app=QtGui.QApplication(sys.argv) myapp=PySfGui() myapp.show() SystemExit(app.exec_()) Disculpen la magnitud del correo, pero es que ya no hayo que hacer, no entiendo que pueda ser, supongo que sea incompatibilidad entre las librerias QT y PyQT4. Saludos a todos. ------------------------------------------------------------ Yusniel Hidalgo Delgado Brigada 4301 Universidad de las Ciencias Informáticas ------------------------------------------------------------ ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From rapto en arrakis.es Tue Mar 18 09:46:47 2008 From: rapto en arrakis.es (Marcos =?ISO-8859-1?Q?S=E1nchez?= Provencio) Date: Tue, 18 Mar 2008 09:46:47 +0100 Subject: Web services en jython Message-ID: <1205830007.6926.3.camel@savin> Hola, lista. ¿Alguien ha conseguido hacer algo de web services en jython? Lo chulo sería hacer funcionar SOAPpy o ZSI. Agradezco cualquier pista para poder meter ws en una aplicación tomcat sin toneladas de xml. Besos ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From listas en soft-com.es Tue Mar 18 12:27:26 2008 From: listas en soft-com.es (=?ISO-8859-1?Q?Oswaldo_Hern=E1ndez?=) Date: Tue, 18 Mar 2008 12:27:26 +0100 Subject: Derivacion de tipos, interceptar operaciones In-Reply-To: <200803180120.21374.py@ch3m4.org> References: <47DAB94C.6080806@soft-com.es> <2c9fb0dd0803171140t1c5a0251kd93efd47720fae34@mail.gmail.com> <47DEDC96.6090103@soft-com.es> <200803180120.21374.py@ch3m4.org> Message-ID: <47DFA71E.3040901@soft-com.es> Chema Cortes escribió: > > Evidentemente, necesitas "metaclases": > > class M(type): > def __new__(meta,name,base,dic): > dic.update({ > "Valido":True, > "Rango":None, > "__new__":_Super_new_, > }) > return type.__new__(meta,name,base,dic) > > class c_int(int): > __metaclass__=M > > class c_date(datetime.date): > __metaclass__=M > > > De manera similar, se pueden definir todos los wrappers a los métodos > estáticos dentro de la metaclase: > > > Operadores = ("__add__", "__sub__", ....) > > def __wrapper(op): > def __supermethod(self, *args,**kwds): > if not self.Valido: > raise ValueError > if hasattr(args[0], "Valido") and not args[0].Valido: > raise ValueError > return getattr(self.__base__, op)(self, *args, **kwds) > return __supermethod > > class M(type): > def __new__(meta,name,base,dic): > dic.update({ > "Valido":True, > "Rango":None, > "__new__":_Super_new_, > }) > for op in Operadores: > dic[op]=__wrapper(op) > > return type.__new__(meta,name,base,dic) > > > Lo he hecho muy rápido, así que mejor será que revises y lo ajustes a lo que > quieres hacer. Creo que por aquí tienes por donde trabajar. > > Uff, esto hay que digerirlo. He hecho una prueba rápida y no me funciona, lo veré con detenimiento los proximos dias y ya te diré si he conseguido adaptarlo a las metaclases. Gracias. -- ***************************************** Oswaldo Hernández oswaldo (@) soft-com (.) es ***************************************** PD: Antes de imprimir este mensaje, asegúrese de que es necesario. El medio ambiente está en nuestra mano. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From luis.ore.ori en gmail.com Wed Mar 19 11:31:09 2008 From: luis.ore.ori en gmail.com (Luis Orellana Orihuela) Date: Wed, 19 Mar 2008 11:31:09 +0100 Subject: Hilos que tardan mucho In-Reply-To: References: <526b12900802290109x28425261o12c2b0d820d4e6c6@mail.gmail.com> Message-ID: <526b12900803190331r3b49b3abn6af1f48c7d7f5986@mail.gmail.com> Hola a todos de nuevo. Retomo el hilo de nuevo. Tenía el problema de hilos que tardaban demasiado. He probado a poner unos print en cada hilo para ver el comportamiento del script: import thread .... ... ... for ip in ips: #ips es una lista con las ips destino thread.start_new(envia_socket,(ip,puerto,mensaje)) def envia_socket(servidor,puerto,msg): print 'inicio', servidor s=socket(AF_INET,SOCK_STREAM) #creamos socket tipo TCP/IP #s.settimeout(20) try: s.connect((servidor,puerto)) #nos conectamos al servidor s.send(msg) s.close() # cerramos conexion envio_ok.append(servidor) except timeout: error1.append(servidor) except error: # si error capturamos excep error2.append(servidor) print 'fin', servidor Al ejecutarlo observo el siguiente comportamiento: primero se imprimen rápida y ordenadamente todos los *'inicio' servidor*, posteriormente y desordenadamente los *'fin' servidor*, y en esto es lo que se lleva más tiempo, además, los *'fin' servidor* se imprimen como en grupos de tres o cuatros seguidos se lleva un tiempo procesando y vuelve a imprimirse otro bloque, así hasta recorrer todos los servidores. Entonces deduzco que el problema no son los hilos, que se crean todos a la vez, sino el límite de conexiones, que parece ser de 3 o 4. O eso es lo que deduzco de la traza (seguramente mi razonamiento es erróneo). ¿Es esto normal? ¿Hay alguna forma de controlarlo? _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From rafaelrp en uci.cu Wed Mar 19 12:10:32 2008 From: rafaelrp en uci.cu (Rafael =?ISO-8859-1?Q?Rodr=EDguez?= Puente) Date: Wed, 19 Mar 2008 08:10:32 -0300 Subject: Simplex Message-ID: <1205925032.15158.1.camel@rafa.uci.cu> Saludos listeros: Alguien ha trabajado con alguna implementación del método simplex en python, saben si viene en algún modulo de scipy?? Muchas gracias - MSc. Rafael Rodríguez Puente ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From txema en nabla.net Wed Mar 19 13:35:09 2008 From: txema en nabla.net (Txema Vicente) Date: Wed, 19 Mar 2008 13:35:09 +0100 Subject: Curvas Bezier Message-ID: <001401c889bd$ac500a10$2100a8c0@tvs> Hola, me presento oficialmente por aqui. Ando trabajando con python y pyglet (una maravilla, oiga). Voy a necesitar suavizar unas funciones lineales definidas a trozos y me interesa mucho este tema. Encontre este codigo: http://urchin.earth.li/~twic/splines.py, aun no me he puesto a ello, pero es el que mas entendible me parecio en la busqueda de pistas, a ver si ayuda. Saludos. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From glopez en estudiantes.uci.cu Wed Mar 19 14:05:43 2008 From: glopez en estudiantes.uci.cu (German Lopez Cortina) Date: Wed, 19 Mar 2008 09:05:43 -0400 Subject: Python y OpenGL References: <001401c889bd$ac500a10$2100a8c0@tvs> Message-ID: <090BCFF87A1DAB4AA2B1DC2D58A0D657053790BC@ucixs90.uci.cu> Hola lista Ando en busca de la mayor cantidad de documentacion posible para el trabajo con 3D usando OpenGL si alguien sabe del tema ¡¡¡ Cuando la dulzura de unos ojos te envenena, existe un solo antídoto: Amar... y yo te amo !!! ¡¡¡ Vete donde nadie pueda alcanzarte, pero llévame contigo !!! ¡¡¡ Si pudiera con estrellas formar una palabra escribiria: Te amo...!!! ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From jgomezdans en gmail.com Wed Mar 19 14:28:16 2008 From: jgomezdans en gmail.com (Jose Gomez-Dans) Date: Wed, 19 Mar 2008 13:28:16 +0000 Subject: Curvas Bezier In-Reply-To: <001401c889bd$ac500a10$2100a8c0@tvs> References: <001401c889bd$ac500a10$2100a8c0@tvs> Message-ID: <91d218430803190628xdd81fdvff20a79a249c7d28@mail.gmail.com> 2008/3/19 Txema Vicente : > Ando trabajando con python y pyglet (una maravilla, oiga). > > Voy a necesitar suavizar unas funciones lineales definidas a trozos y me > interesa mucho este tema. > scipy puede hacer ese tipo de cosas. Puede usar splines, RBFs... Yo tengo una implementación de un filtro de Wiener, y además tiene todo tipo de funcionalidades para filtros FIR y demás. Saludos, jose -- Centre for Terrestrial Carbon Dynamics Department of Geography, University College London Gower Street, London WC1E 6BT, UK _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From jgomezdans en gmail.com Wed Mar 19 16:05:58 2008 From: jgomezdans en gmail.com (Jose Gomez-Dans) Date: Wed, 19 Mar 2008 15:05:58 +0000 Subject: Simplex In-Reply-To: <1205925032.15158.1.camel@rafa.uci.cu> References: <1205925032.15158.1.camel@rafa.uci.cu> Message-ID: <91d218430803190805q1577140bib4eb4b0fddd9c54c@mail.gmail.com> Hola, 2008/3/19 Rafael Rodríguez Puente : > Alguien ha trabajado con alguna implementación del método simplex en > python, saben si viene en algún modulo de scipy?? > scipy.optimize.fmin(func, x0, args=(), xtol=0.0001, ftol=0.0001, maxiter=None, maxfun=None, full_output=0, disp=1, retall=0, callback=None) Docstring: Minimize a function using the downhill simplex algorithm. De entre los 2.48^43 métodos de optimización, hay un simplex :) -- Centre for Terrestrial Carbon Dynamics Department of Geography, University College London Gower Street, London WC1E 6BT, UK _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From francisco.palm en gmail.com Wed Mar 19 16:30:06 2008 From: francisco.palm en gmail.com (Francisco Palm) Date: Wed, 19 Mar 2008 16:30:06 +0100 Subject: Simplex In-Reply-To: <1205925032.15158.1.camel@rafa.uci.cu> References: <1205925032.15158.1.camel@rafa.uci.cu> Message-ID: Mira acá, es una conexión a sistemas de optimización en programación lineal como lp_solve, cvxopt, y glpk free numerical optimization toolbox http://openopt.blogspot.com/ Acá están los métodos de programación lineal en particular: http://scipy.org/scipy/scikits/wiki/LP Sería interesante de todos modos, con fines pedagógicos, implantar el simplex sobre numpy. Saludos F. Palm 2008/3/19 Rafael Rodríguez Puente : > Saludos listeros: > > Alguien ha trabajado con alguna implementación del método simplex en > python, saben si viene en algún modulo de scipy?? > > Muchas gracias > > - > MSc. Rafael Rodríguez Puente > > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- -------------------------------------- fpalm en ula.ve francisco.palm en gmail.com cel: 0414 5109177 tel: 0274 6352001 ---- Yo creo que todavía no es demasiado tarde para construir una utopía que nos permita compartir la tierra. Gabriel García Márquez. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From rafaelrp en uci.cu Wed Mar 19 15:34:26 2008 From: rafaelrp en uci.cu (Rafael =?ISO-8859-1?Q?Rodr=EDguez?= Puente) Date: Wed, 19 Mar 2008 11:34:26 -0300 Subject: Simplex In-Reply-To: <91d218430803190805q1577140bib4eb4b0fddd9c54c@mail.gmail.com> References: <1205925032.15158.1.camel@rafa.uci.cu> <91d218430803190805q1577140bib4eb4b0fddd9c54c@mail.gmail.com> Message-ID: <1205937266.10575.0.camel@rafa.uci.cu> Estuve mirando esa funcion, pero no veo como pasarle las restricciones del modelo, si me puedes ayudar con eso... Muchas Gracias - MSc. Rafael Rodríguez Puente El mié, 19-03-2008 a las 15:05 +0000, Jose Gomez-Dans escribió: > Hola, > > 2008/3/19 Rafael Rodríguez Puente : > > > Alguien ha trabajado con alguna implementación del método simplex en > > python, saben si viene en algún modulo de scipy?? > > > > scipy.optimize.fmin(func, x0, args=(), xtol=0.0001, ftol=0.0001, > maxiter=None, maxfun=None, full_output=0, disp=1, retall=0, callback=None) > Docstring: > Minimize a function using the downhill simplex algorithm. > > > De entre los 2.48^43 métodos de optimización, hay un simplex :) > > > ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From txema en nabla.net Wed Mar 19 18:44:53 2008 From: txema en nabla.net (Txema Vicente) Date: Wed, 19 Mar 2008 18:44:53 +0100 Subject: Python y OpenGL References: <001401c889bd$ac500a10$2100a8c0@tvs> <090BCFF87A1DAB4AA2B1DC2D58A0D657053790BC@ucixs90.uci.cu> Message-ID: <007201c889e8$f120b650$2100a8c0@tvs> > Ando en busca de la mayor cantidad de documentacion posible para el > trabajo con 3D usando OpenGL si alguien sabe del tema Buenas. Te comento mis impresiones sobre el tema. Comprate el Red Book ya, no te resistas, al final es el mejor. Y preparate para multiplicar matrices cuanto antes, que es mejor entenderlas desde el principio. Que yo sepa, en python tienes dos opciones: 1.- pyopengl: http://pyopengl.sourceforge.net/ que es opengl a lo bestia, e incluye GL, GLU, GLUT y GLE. Creo que es lo que se usa con pygame. 2.- pyglet: http://www.pyglet.org: que tiene un subconjunto de GL y GLUT, a mi entender lo justo y necesario, ademas de una interfaz mucho mas agradable. En la lista pyglet-users te recomiendo ver http://groups.google.com/group/pyglet-users/web/pyglet-projection-matrix?hl=en, que creo que es un buen ejemplo para trastear (vale, si, lo hice yo :) En español yo no veo mucho material para empezar de cero, algo hay, pero la mayoria supone que ya sabes algo, Ahi google es tu amigo. Casi todos los ejemplos que encontraras seran en C, no en python, pero te vale igual. En pyglet-users tambien estan las primeras lecciones de nehe portadas. Links recomendables en ingles: http://nehe.gamedev.net/ http://www.lighthouse3d.com/opengl/tutorials.shtml _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From txema en nabla.net Wed Mar 19 19:52:30 2008 From: txema en nabla.net (Txema Vicente) Date: Wed, 19 Mar 2008 19:52:30 +0100 Subject: Curvas Bezier References: <001401c889bd$ac500a10$2100a8c0@tvs> <91d218430803190628xdd81fdvff20a79a249c7d28@mail.gmail.com> Message-ID: <00e301c889f2$63025f90$2100a8c0@tvs> scipy puede hacer ese tipo de cosas. Puede usar splines, RBFs... Yo tengo una implementación de un filtro de Wiener, y además tiene todo tipo de funcionalidades para filtros FIR y demás. Gracias, pero por oscuras razones no quiero usar scipy, no quiero importar una libreria entera mas para un detallito asi. De hecho lo que busco es entender como hacerlo yo mismo, una funcion lo mas sencillita posible, me da igual bezier, nurbs, o lo que sea, mientras pueda suavizar un pelin los movimientos de unos sprites, pero necesito algo rapido y que pueda tener controlado en tiempo real, aunque no sea perfecto. De hecho las curvas no son muy picudas, se hacen a mano con el raton, pero no se graban todos los puntos (que seria otra opcion, hacerlo a lo bestia y grabarlo todo). Basicamente para cada sprite tengo tres diccionarios que definen Posicion[t] en x,y,z, y ahora mismo solo acoto intervalos y situo el sprite. Sin embargo, en cualquier momento puede aparecer otro punto intermedio de repente. Y son muchos sprites y muy grandes...bueno, es que en realidad son fotos y videos. Tiene que ser algo mu rapido y simple. Que metodo matematico sera el mas "barato"? _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From mobile en ibinsa.com Wed Mar 19 20:49:48 2008 From: mobile en ibinsa.com (Gabriel Ibanez) Date: Wed, 19 Mar 2008 20:49:48 +0100 Subject: Python y OpenGL References: <001401c889bd$ac500a10$2100a8c0@tvs><090BCFF87A1DAB4AA2B1DC2D58A0D657053790BC@ucixs90.uci.cu> <007201c889e8$f120b650$2100a8c0@tvs> Message-ID: <008d01c889fa$644b60b0$0a01a8c0@mobile> Pyglet incluye la mayoria de funciones de OpenGL. Las del Glut no. Las del glu si. Es "otro SDL" que en Python lo llamamos pyGame mucho mas rapido, que al igual que este incluye gestion de ventanas, graficos, manejo de eventos y sonido, y es que OpenGL no es capaz de crear ventanas. pyOpenGL está medio muerto. ----- Original Message ----- From: "Txema Vicente" To: "Lista de discusión sobre python en castellano" Sent: Wednesday, March 19, 2008 6:44 PM Subject: Re: [Python-es] Python y OpenGL >> Ando en busca de la mayor cantidad de documentacion posible para el >> trabajo con 3D usando OpenGL si alguien sabe del tema > > Buenas. > > Te comento mis impresiones sobre el tema. > > Comprate el Red Book ya, no te resistas, al final es el mejor. Y preparate > para multiplicar matrices cuanto antes, que es mejor entenderlas desde el > principio. > > Que yo sepa, en python tienes dos opciones: > > 1.- pyopengl: http://pyopengl.sourceforge.net/ que es opengl a lo bestia, > e incluye GL, GLU, GLUT y GLE. Creo que es lo que se usa con pygame. > 2.- pyglet: http://www.pyglet.org: que tiene un subconjunto de GL y GLUT, > a mi entender lo justo y necesario, ademas de una interfaz mucho mas > agradable. En la lista pyglet-users te recomiendo ver > http://groups.google.com/group/pyglet-users/web/pyglet-projection-matrix?hl=en, > que creo que es un buen ejemplo para trastear (vale, si, lo hice yo :) > > En español yo no veo mucho material para empezar de cero, algo hay, pero > la mayoria supone que ya sabes algo, Ahi google es tu amigo. > Casi todos los ejemplos que encontraras seran en C, no en python, pero te > vale igual. En pyglet-users tambien estan las primeras lecciones de nehe > portadas. > > Links recomendables en ingles: > http://nehe.gamedev.net/ > http://www.lighthouse3d.com/opengl/tutorials.shtml > > > > > _______________________________________________ > Lista de correo Python-es http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From txema en nabla.net Wed Mar 19 21:42:05 2008 From: txema en nabla.net (Txema Vicente) Date: Wed, 19 Mar 2008 21:42:05 +0100 Subject: Python y OpenGL References: <001401c889bd$ac500a10$2100a8c0@tvs><090BCFF87A1DAB4AA2B1DC2D58A0D657053790BC@ucixs90.uci.cu><007201c889e8$f120b650$2100a8c0@tvs> <008d01c889fa$644b60b0$0a01a8c0@mobile> Message-ID: <012201c88a01$b260ae20$2100a8c0@tvs> > Pyglet incluye la mayoria de funciones de OpenGL. Las del Glut no. Las del > glu si. Gracias, se me escapó la "T" Con lo de subconjunto queria advertir que algunas no estan, pero si, son pocas, y a veces es solo que no estan en float o en byte, pero si en double. > Es "otro SDL" que en Python lo llamamos pyGame mucho mas rapido, que al > igual que este incluye gestion de ventanas, graficos, manejo de eventos y > sonido, y es que OpenGL no es capaz de crear ventanas. Discrepo, glutCreateWindow("Sin acritud") > pyOpenGL está medio muerto. No lo matemos aun, pobrecito, yo diria que esta "terminado" y que pocos lo usan al ser tan poco amigable. A mi me encanta como fuente de informacion: http://pyopengl.sourceforge.net/documentation/index.html _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From mobile en ibinsa.com Wed Mar 19 21:53:22 2008 From: mobile en ibinsa.com (Gabriel Ibanez) Date: Wed, 19 Mar 2008 21:53:22 +0100 Subject: Python y OpenGL References: <001401c889bd$ac500a10$2100a8c0@tvs><090BCFF87A1DAB4AA2B1DC2D58A0D657053790BC@ucixs90.uci.cu><007201c889e8$f120b650$2100a8c0@tvs><008d01c889fa$644b60b0$0a01a8c0@mobile> <012201c88a01$b260ae20$2100a8c0@tvs> Message-ID: <001e01c88a03$451ccef0$0a01a8c0@mobile> Incluso programando en C/C++ he consultado esa fuente de info. Es realmente buena. :) glutCreateWindow no es OpenGL. De hecho en el RedBook hablan de "libreria" auxiliar. En C y windows incluso se utiliza una tal glaux (o directamente la libreria win32). Pero vamos, que es mas que semantica. Fijate que la libreria glut no es soft libre. OpenGL evidentemente si: http://es.wikipedia.org/wiki/GLUT Añadiendo otro comentario a al pregunta original del compañero: -> mirate numpy . Necesitarás las matrices en un futuro cercano si decides seguir con OpenGL en cualquiera de sus formas Python. Así tambien retomo la sugerencia de Txema :) ----- Original Message ----- From: "Txema Vicente" To: "Lista de discusión sobre python en castellano" Sent: Wednesday, March 19, 2008 9:42 PM Subject: Re: [Python-es] Python y OpenGL >> Pyglet incluye la mayoria de funciones de OpenGL. Las del Glut no. Las >> del glu si. > Gracias, se me escapó la "T" > Con lo de subconjunto queria advertir que algunas no estan, pero si, son > pocas, y a veces es solo que no estan en float o en byte, pero si en > double. > >> Es "otro SDL" que en Python lo llamamos pyGame mucho mas rapido, que al >> igual que este incluye gestion de ventanas, graficos, manejo de eventos y >> sonido, y es que OpenGL no es capaz de crear ventanas. > Discrepo, glutCreateWindow("Sin acritud") > >> pyOpenGL está medio muerto. > No lo matemos aun, pobrecito, yo diria que esta "terminado" y que pocos lo > usan al ser tan poco amigable. > A mi me encanta como fuente de informacion: > http://pyopengl.sourceforge.net/documentation/index.html > _______________________________________________ > Lista de correo Python-es http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From juanval2 en gmail.com Mon Mar 24 06:48:05 2008 From: juanval2 en gmail.com (Juan Pablo Valois Valencia) Date: Mon, 24 Mar 2008 00:48:05 -0500 Subject: Blog en Plone Message-ID: Saludos, Estoy interesado en montar un blog con Plone, y aunque he encontrado muy poca información al respecto, siento que este CMS tiene mucho potencial que deberíamos explotar, sin embargo, no estoy del todo seguro de si será lo más conveniente. Por eso recurro a su opinión. Gracias Juan Pablo _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From francisco.palm en gmail.com Mon Mar 24 09:56:08 2008 From: francisco.palm en gmail.com (Francisco Palm) Date: Mon, 24 Mar 2008 09:56:08 +0100 Subject: Blog en Plone In-Reply-To: References: Message-ID: Las posibilidades son excelentes. La limitaciones del uso de Blogs sobre Plone se deben a los requerimientos de los servicios de hosting. Si tienes tus propios servidores puedes empezar de inmediato con las "noticias" de Plone, para funciones más propias de un Blog en Plone 2.5 puedes probar con Coreblog2, y ya en Plone 3 parece que el producto de Blogs más evolucionado es Quills, yo lo probé y aún tenía algunos fallos pero eso fue hace un par de meses. En el sitio web de Plone busca entre los productos para blogs: http://plone.org/products/by-category/weblogs Saludos F. Palm On Mon, Mar 24, 2008 at 6:48 AM, Juan Pablo Valois Valencia wrote: > Saludos, > > Estoy interesado en montar un blog con Plone, y aunque he encontrado muy > poca información al respecto, siento que este CMS tiene mucho potencial que > deberíamos explotar, sin embargo, no estoy del todo seguro de si será lo más > conveniente. Por eso recurro a su opinión. > > Gracias > Juan Pablo > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- -------------------------------------- fpalm en ula.ve francisco.palm en gmail.com cel: 0414 5109177 tel: 0274 6352001 ---- Yo creo que todavía no es demasiado tarde para construir una utopía que nos permita compartir la tierra. Gabriel García Márquez. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From juanval2 en gmail.com Mon Mar 24 17:16:20 2008 From: juanval2 en gmail.com (Juan Pablo Valois Valencia) Date: Mon, 24 Mar 2008 11:16:20 -0500 Subject: Blog en Plone In-Reply-To: References: Message-ID: Muchas gracias Francisco, en realidad hay opciones muy buenas. Parece que Quills es una muy buena opción. La probaré y comentaré como me fue. El día 24/03/08, Francisco Palm escribió: > > Las posibilidades son excelentes. La limitaciones del uso de Blogs > sobre Plone se deben a los requerimientos de los servicios de hosting. > Si tienes tus propios servidores puedes empezar de inmediato con las > "noticias" de Plone, para funciones más propias de un Blog en Plone > 2.5 puedes probar con Coreblog2, y ya en Plone 3 parece que el > producto de Blogs más evolucionado es Quills, yo lo probé y aún tenía > algunos fallos pero eso fue hace un par de meses. En el sitio web de > Plone busca entre los productos para blogs: > http://plone.org/products/by-category/weblogs > > Saludos > > F. Palm > > > On Mon, Mar 24, 2008 at 6:48 AM, Juan Pablo Valois Valencia > wrote: > > Saludos, > > > > Estoy interesado en montar un blog con Plone, y aunque he encontrado > muy > > poca información al respecto, siento que este CMS tiene mucho potencial > que > > deberíamos explotar, sin embargo, no estoy del todo seguro de si será > lo más > > conveniente. Por eso recurro a su opinión. > > > > Gracias > > Juan Pablo > > > _______________________________________________ > > Lista de correo Python-es > > http://listas.aditel.org/listinfo/python-es > > FAQ: http://listas.aditel.org/faqpyes > > > > > > -- > -------------------------------------- > fpalm en ula.ve > francisco.palm en gmail.com > > cel: 0414 5109177 > tel: 0274 6352001 > > ---- > Yo creo que todavía no es demasiado tarde para construir una utopía > que nos permita compartir la tierra. Gabriel García Márquez. > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From gerardojuarez en alcance-empresarial.com Tue Mar 25 01:16:10 2008 From: gerardojuarez en alcance-empresarial.com (Gerardo Juarez) Date: Mon, 24 Mar 2008 19:16:10 -0500 (CDT) Subject: Curvas Bezier In-Reply-To: <00e301c889f2$63025f90$2100a8c0@tvs> References: <001401c889bd$ac500a10$2100a8c0@tvs> <91d218430803190628xdd81fdvff20a79a249c7d28@mail.gmail.com> <00e301c889f2$63025f90$2100a8c0@tvs> Message-ID: <61920.201.141.252.141.1206404170.squirrel@www.alcance-empresarial.com> Hola, Si lo que quieres es escribir tú mismo, revisa: Newman, W.M., Sproull, R.F. - "Principles of Interactive Computer Graphics" McGraw-Hill Harrington, S. - "Computer Graphics: A Programming Approach". McGraw-Hill Ambos tienen el suficiente tiempo como para que ya estén traducidos. Yo usé Bezier y B-splines hace algunos años y estas referencias me fueron muy útiles. Comparado con los Splines normales podría decir que la implementación me pareció sencillisima, además de que traen una muestra del algoritmo en pseudocódigo o creo que hasta en Pascal. Ahora, ni Bezier ni B-splines pasan por los puntos, sino que la trayectoria trazada es una envolvente de la trayectoria suave resultante, pero no parece ser problema en tu caso, pues quieres precisamente suavizar, no interpolar, que es para lo que querrías Splines. De ejecución también son rapidísimos (ambos). saludos Gerardo Juárez > scipy puede hacer ese tipo de cosas. Puede usar splines, RBFs... Yo tengo > una implementación de un filtro de Wiener, y además tiene todo tipo de > funcionalidades para filtros FIR y demás. > > Gracias, pero por oscuras razones no quiero usar scipy, no quiero importar > una libreria entera mas para un detallito asi. > > De hecho lo que busco es entender como hacerlo yo mismo, una funcion lo > mas > sencillita posible, me da igual bezier, nurbs, o lo que sea, mientras > pueda > suavizar un pelin los movimientos de unos sprites, pero necesito algo > rapido > y que pueda tener controlado en tiempo real, aunque no sea perfecto. De > hecho las curvas no son muy picudas, se hacen a mano con el raton, pero no > se graban todos los puntos (que seria otra opcion, hacerlo a lo bestia y > grabarlo todo). > > Basicamente para cada sprite tengo tres diccionarios que definen > Posicion[t] > en x,y,z, y ahora mismo solo acoto intervalos y situo el sprite. Sin > embargo, en cualquier momento puede aparecer otro punto intermedio de > repente. Y son muchos sprites y muy grandes...bueno, es que en realidad > son > fotos y videos. > > Tiene que ser algo mu rapido y simple. Que metodo matematico sera el mas > "barato"? > > > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From ikarush en gmail.com Tue Mar 25 10:03:30 2008 From: ikarush en gmail.com (dgonzalez) Date: Tue, 25 Mar 2008 10:03:30 +0100 Subject: Parsear XML o HTML In-Reply-To: <61920.201.141.252.141.1206404170.squirrel@www.alcance-empresarial.com> References: <001401c889bd$ac500a10$2100a8c0@tvs> <91d218430803190628xdd81fdvff20a79a249c7d28@mail.gmail.com> <00e301c889f2$63025f90$2100a8c0@tvs> <61920.201.141.252.141.1206404170.squirrel@www.alcance-empresarial.com> Message-ID: <1206435810.6109.5.camel@jules> Hola a todos. Estube leyendo la documentación oficial de python (tanto en castellano como en inglés) y no me queda claro como parsear HTML. Lo que quiero estraer es el contenido de una lista con anclas es decir
  • dato
  • dato
  • dato
  • dato
  • metiendo todos esos datos en una lista de python. ¿Alguien me puede colgar scripts, que realizen algo parecido?. A ser posible, me gustaría que fuera utilizando DOM. Un saludo y gracias por todo. ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From morillas en gmail.com Tue Mar 25 11:50:59 2008 From: morillas en gmail.com (Luis Miguel Morillas) Date: Tue, 25 Mar 2008 11:50:59 +0100 Subject: Parsear XML o HTML In-Reply-To: <1206435810.6109.5.camel@jules> References: <001401c889bd$ac500a10$2100a8c0@tvs> <91d218430803190628xdd81fdvff20a79a249c7d28@mail.gmail.com> <00e301c889f2$63025f90$2100a8c0@tvs> <61920.201.141.252.141.1206404170.squirrel@www.alcance-empresarial.com> <1206435810.6109.5.camel@jules> Message-ID: <68d25cbc0803250350k265e09ack90abd9b3d09b4d57@mail.gmail.com> El 25/03/08, dgonzalez escribió: > Hola a todos. > > Estube leyendo la documentación oficial de python (tanto en castellano > como en inglés) y no me queda claro como parsear HTML. > > Lo que quiero estraer es el contenido de una lista con anclas es decir > >
  • dato
  • >
  • dato
  • >
  • dato
  • >
  • dato
  • > > metiendo todos esos datos en una lista de python. > > ¿Alguien me puede colgar scripts, que realizen algo parecido?. > > A ser posible, me gustaría que fuera utilizando DOM. > > Un saludo y gracias por todo. > Con xml usa amara, sin duda. Con html, usa un tagsoup+amara o similar. Para instalar amara $ sudo easy_install amara Ejemplos de uso y documentación: http://wiki.xml3k.org/Amara Y si tienes dudas, pregunta :-) -- lm > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From ikarush en gmail.com Tue Mar 25 13:19:37 2008 From: ikarush en gmail.com (=?ISO-8859-1?Q?Daniel_Gonz=E1lez?=) Date: Tue, 25 Mar 2008 13:19:37 +0100 Subject: Parsear XML o HTML In-Reply-To: <68d25cbc0803250350k265e09ack90abd9b3d09b4d57@mail.gmail.com> References: <001401c889bd$ac500a10$2100a8c0@tvs> <91d218430803190628xdd81fdvff20a79a249c7d28@mail.gmail.com> <00e301c889f2$63025f90$2100a8c0@tvs> <61920.201.141.252.141.1206404170.squirrel@www.alcance-empresarial.com> <1206435810.6109.5.camel@jules> <68d25cbc0803250350k265e09ack90abd9b3d09b4d57@mail.gmail.com> Message-ID: Lei sobre amara, pero mi problema es que estoy haciendo una aplicación y tiene que ser lo más portable posible, por lo que me gustaría usar las librerías estandar. De todas formas ya lo tengo medio resuelto con MiniDom. Un saludo y gracias a todos. El día 25/03/08, Luis Miguel Morillas escribió: > > El 25/03/08, dgonzalez escribió: > > > Hola a todos. > > > > Estube leyendo la documentación oficial de python (tanto en castellano > > como en inglés) y no me queda claro como parsear HTML. > > > > Lo que quiero estraer es el contenido de una lista con anclas es decir > > > >
  • dato
  • > >
  • dato
  • > >
  • dato
  • > >
  • dato
  • > > > > metiendo todos esos datos en una lista de python. > > > > ¿Alguien me puede colgar scripts, que realizen algo parecido?. > > > > A ser posible, me gustaría que fuera utilizando DOM. > > > > Un saludo y gracias por todo. > > > > > Con xml usa amara, sin duda. Con html, usa un tagsoup+amara o similar. > Para instalar amara $ sudo easy_install amara > Ejemplos de uso y documentación: http://wiki.xml3k.org/Amara > > Y si tienes dudas, pregunta :-) > > -- lm > > > > > > _______________________________________________ > > Lista de correo Python-es > > http://listas.aditel.org/listinfo/python-es > > FAQ: http://listas.aditel.org/faqpyes > > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Daniel Gonzalez Cerviño tel 653965048 ikarush en gmail.com _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From tanymono en yahoo.com.ar Tue Mar 25 16:30:34 2008 From: tanymono en yahoo.com.ar (Tany Villalba) Date: Tue, 25 Mar 2008 12:30:34 -0300 (ART) Subject: Vector con elementos aleatorios Message-ID: <77929.55524.qm@web52605.mail.re2.yahoo.com> Hola amigos: Queria generar un vector cuyos elementos sean numeros aleatorios, pero no se como hacerlo, ahora estoy creando un vector y asignando valor por valor los numeros aleatorios. Lo decia porque en matlab exsite un metodo rand(1,4) por ejemplo genera 4 numeros aleatoriso en un vector, como hago eso en pyhton. Saludos ---------------------- Tany Villalba Villaba. Cusco - Peru --------------------------------- Yahoo! Encuentros Ahora encontrar pareja es mucho más fácil, probá el nuevo Yahoo! Encuentros. Visitá http://yahoo.cupidovirtual.com/servlet/NewRegistration _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From ematus en gmail.com Tue Mar 25 18:02:44 2008 From: ematus en gmail.com (Eduardo Matus) Date: Tue, 25 Mar 2008 18:02:44 +0100 Subject: Vector con elementos aleatorios In-Reply-To: <77929.55524.qm@web52605.mail.re2.yahoo.com> References: <77929.55524.qm@web52605.mail.re2.yahoo.com> Message-ID: <984ad6a0803251002y765e30d3vdc5288888637ddfa@mail.gmail.com> http://effbot.org/pyfaq/how-do-i-generate-random-numbers-in-python.htm saludos. On Tue, Mar 25, 2008 at 4:30 PM, Tany Villalba wrote: > Hola amigos: > > Queria generar un vector cuyos elementos sean numeros aleatorios, pero no > se como hacerlo, ahora estoy creando un vector y asignando valor por valor > los numeros aleatorios. Lo decia porque en matlab exsite un metodo rand(1,4) > por ejemplo genera 4 numeros aleatoriso en un vector, como hago eso en > pyhton. > > Saludos > > > ---------------------- > Tany Villalba Villaba. > Cusco - Peru > > --------------------------------- > > Yahoo! Encuentros > Ahora encontrar pareja es mucho más fácil, probá el nuevo Yahoo! > Encuentros. > Visitá http://yahoo.cupidovirtual.com/servlet/NewRegistration > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From rmiranda en estudiantes.uci.cu Tue Mar 25 18:04:27 2008 From: rmiranda en estudiantes.uci.cu (Raydel Miranda Gomez) Date: Tue, 25 Mar 2008 13:04:27 -0400 Subject: Vector con elementos aleatorios References: <77929.55524.qm@web52605.mail.re2.yahoo.com> Message-ID: <090BCFF87A1DAB4AA2B1DC2D58A0D65702FFB250@ucixs90.uci.cu> El modulo random, tiene muchisimas funciones que te pueden servir. Dentro de estas puedes encontrar funciones como: randrange(x,y,z) que escoge un numero aleatorio dentro de la secuencia determinada por los limites x e y y saltando de z en z. tambien teiene estas: random() Return the next random floating point number in the range [0.0, 1.0). uniform(a, b) Return a random real number N such that a <= N < b. lo que quieres seguro puede hacerce asi: INFINITO = 1E+10 def randVector(order): vector = [] for i in xrange(order): vector.append(uniform(0.0, INFINITO)) return vector ---------------------------------------- Raydel Miranda Gómez Universidad de las Ciencias Informáticas Facultad de Software Libre Desarrollador de NoVa LNX Despues de terminado el juego , el peon y el rey, regresan a la misma caja. (proverbio italiano) -----Original Message----- From: python-es-bounces en aditel.org on behalf of Tany Villalba Sent: Tue 25.03.2008 11:30 To: python-es en aditel.org Subject: [Python-es] Vector con elementos aleatorios Hola amigos: Queria generar un vector cuyos elementos sean numeros aleatorios, pero no se como hacerlo, ahora estoy creando un vector y asignando valor por valor los numeros aleatorios. Lo decia porque en matlab exsite un metodo rand(1,4) por ejemplo genera 4 numeros aleatoriso en un vector, como hago eso en pyhton. Saludos ---------------------- Tany Villalba Villaba. Cusco - Peru --------------------------------- Yahoo! Encuentros Ahora encontrar pareja es mucho más fácil, probá el nuevo Yahoo! Encuentros. Visitá http://yahoo.cupidovirtual.com/servlet/NewRegistration _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From gagsl-py2 en yahoo.com.ar Wed Mar 26 02:37:13 2008 From: gagsl-py2 en yahoo.com.ar (Gabriel Genellina) Date: Tue, 25 Mar 2008 22:37:13 -0300 Subject: Vector con elementos aleatorios References: <77929.55524.qm@web52605.mail.re2.yahoo.com> Message-ID: En Tue, 25 Mar 2008 12:30:34 -0300, Tany Villalba escribió: > Queria generar un vector cuyos elementos sean numeros aleatorios, pero > no se como hacerlo, ahora estoy creando un vector y asignando valor por > valor los numeros aleatorios. Lo decia porque en matlab exsite un metodo > rand(1,4) por ejemplo genera 4 numeros aleatoriso en un vector, como > hago eso en pyhton. import random # Una lista con 4 numeros aleatorios entre 0 y 1 vec = [random.random() for i in range(4)] py> vec [0.46220947241559396, 0.51822798925643498, 0.90092447876199566, 0.44263369656426144] -- Gabriel Genellina ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pepitovadecurt en gmail.com Thu Mar 27 09:53:01 2008 From: pepitovadecurt en gmail.com (news.gmane.org) Date: Thu, 27 Mar 2008 09:53:01 +0100 Subject: Grabar DVD desde script Message-ID: Hola, estoy haciendo un script para grabar automáticamente un fichero en un dvd. Alguien conoce alguna utilidad de grabación para poder hacer esto? Saludos. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From listas en soft-com.es Thu Mar 27 10:14:37 2008 From: listas en soft-com.es (=?ISO-8859-1?Q?Oswaldo_Hern=E1ndez?=) Date: Thu, 27 Mar 2008 10:14:37 +0100 Subject: Grabar DVD desde script In-Reply-To: References: Message-ID: <47EB657D.4040304@soft-com.es> news.gmane.org escribió: > Hola, estoy haciendo un script para grabar automáticamente un fichero en > un dvd. > Alguien conoce alguna utilidad de grabación para poder hacer esto? > Saludos. > Yo utilizo las dvd+rw-tools, las tienes en version linux y windows. Saludos, -- ***************************************** Oswaldo Hernández oswaldo (@) soft-com (.) es ***************************************** PD: Antes de imprimir este mensaje, asegúrese de que es necesario. El medio ambiente está en nuestra mano. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From alvaro en haztelotumismo.net Thu Mar 27 12:44:37 2008 From: alvaro en haztelotumismo.net (Alvaro) Date: Thu, 27 Mar 2008 12:44:37 +0100 Subject: Grabar DVD desde script In-Reply-To: References: Message-ID: <85f6ddd20803270444m4642c86et4f4227523c0c4983@mail.gmail.com> Hola, Podrías pasarme o pegar en un correo como es el script que estas haciendo. La verdad es que me interesa y si incluso tienes alguna dirección donde hayas encontrado este tipo de scripts como recetas, mejor que mejor. Saludos. 2008/3/27, news.gmane.org : > Hola, estoy haciendo un script para grabar automáticamente un fichero en un > dvd. > Alguien conoce alguna utilidad de grabación para poder hacer esto? > Saludos. > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pepitovadecurt en gmail.com Thu Mar 27 16:46:43 2008 From: pepitovadecurt en gmail.com (pepitovadecurt) Date: Thu, 27 Mar 2008 16:46:43 +0100 Subject: Grabar DVD desde script In-Reply-To: <47EB657D.4040304@soft-com.es> References: <47EB657D.4040304@soft-com.es> Message-ID: <47EBC163.1030100@gmail.com> Hola Oswlado, lo que he encontrado del dvd+rw-tools para windows no me sirve (o no viene es .exe para quemar). Sabes de algún otro? Oswaldo Hernández escribió: > news.gmane.org escribió: >> Hola, estoy haciendo un script para grabar automáticamente un fichero >> en un dvd. >> Alguien conoce alguna utilidad de grabación para poder hacer esto? >> Saludos. >> > > Yo utilizo las dvd+rw-tools, las tienes en version linux y windows. > > Saludos, > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pepitovadecurt en gmail.com Thu Mar 27 16:48:10 2008 From: pepitovadecurt en gmail.com (pepitovadecurt) Date: Thu, 27 Mar 2008 16:48:10 +0100 Subject: Grabar DVD desde script In-Reply-To: <85f6ddd20803270444m4642c86et4f4227523c0c4983@mail.gmail.com> References: <85f6ddd20803270444m4642c86et4f4227523c0c4983@mail.gmail.com> Message-ID: <47EBC1BA.7070207@gmail.com> Hola Álvaro, el mio todavía está muy verde, cuando lo tenga te lo pasaré. Aquí hay uno que está bastante bien pese a que lo que hacer es crear el archivo .iso > http://www.comunidadp2p.net/showthread.php?t=3434&page=2 Saludos. Alvaro escribió: > Hola, > > Podrías pasarme o pegar en un correo como es el script que estas > haciendo. La verdad es que me interesa y si incluso tienes alguna > dirección donde hayas encontrado este tipo de scripts como recetas, > mejor que mejor. > > Saludos. > > 2008/3/27, news.gmane.org : >> Hola, estoy haciendo un script para grabar automáticamente un fichero en un >> dvd. >> Alguien conoce alguna utilidad de grabación para poder hacer esto? >> Saludos. >> >> _______________________________________________ >> Lista de correo Python-es >> http://listas.aditel.org/listinfo/python-es >> FAQ: http://listas.aditel.org/faqpyes >> > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From listas en soft-com.es Thu Mar 27 17:22:19 2008 From: listas en soft-com.es (=?ISO-8859-1?Q?Oswaldo_Hern=E1ndez?=) Date: Thu, 27 Mar 2008 17:22:19 +0100 Subject: Grabar DVD desde script In-Reply-To: <47EBC163.1030100@gmail.com> References: <47EB657D.4040304@soft-com.es> <47EBC163.1030100@gmail.com> Message-ID: <47EBC9BB.2010604@soft-com.es> pepitovadecurt escribió: > Hola Oswlado, lo que he encontrado del dvd+rw-tools para windows no me > sirve (o no viene es .exe para quemar). > Sabes de algún otro? > > Los binarios para windows los tienes en: Las instrucciones son las mismas para Windows y Linux, la unica diferencia es que el dispositivo de grabación en ver de ser '/dev/dvd' será 'd:', o la letra que tenga tu grabadora. La grabación es muy sencilla, mas o menos (comprueba los parametros): growisofs -Z d: -r -J \directorio_a_grabar El unico problema que le he encontrado es que no le gustan los DVD-RW (¿o eran los +RW?, :( no me acuerdo en este momento), por lo demas lo ejecuto desde un script python que realiza copias de seguridad y funciona de maravilla. Saludos, -- ***************************************** Oswaldo Hernández oswaldo (@) soft-com (.) es ***************************************** PD: Antes de imprimir este mensaje, asegúrese de que es necesario. El medio ambiente está en nuestra mano. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From gerardojuarez en alcance-empresarial.com Thu Mar 27 21:34:00 2008 From: gerardojuarez en alcance-empresarial.com (Gerardo Juarez) Date: Thu, 27 Mar 2008 15:34:00 -0500 (CDT) Subject: =?iso-8859-1?q?C=F3mo_fijar_el_terminador_de_l=EDnea?= =?iso-8859-1?q?s?= Message-ID: <62783.201.141.214.108.1206650040.squirrel@www.alcance-empresarial.com> Hola, Necesito dejar fijo que print me termine las líneas con '\n'. Esto lo hace siempre en Unix/Linux, pero en Windows me manda '\r\n'. ?Existe una manera de fijarlo a '\n'? Gracias Gerardo Juárez _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From danigm en gmail.com Thu Mar 27 23:31:55 2008 From: danigm en gmail.com (Daniel =?ISO-8859-1?Q?Garc=EDa?= Moreno) Date: Thu, 27 Mar 2008 23:31:55 +0100 Subject: =?ISO-8859-1?Q?C=F3mo?= fijar el terminador de =?ISO-8859-1?Q?l=EDneas?= In-Reply-To: <62783.201.141.214.108.1206650040.squirrel@www.alcance-empresarial.com> References: <62783.201.141.214.108.1206650040.squirrel@www.alcance-empresarial.com> Message-ID: <1206657115.10539.1.camel@localhost.localdomain> El jue, 27-03-2008 a las 15:34 -0500, Gerardo Juarez escribió: > Hola, > > Necesito dejar fijo que print me termine las líneas con '\n'. Esto lo hace > siempre en Unix/Linux, pero en Windows me manda '\r\n'. ?Existe una manera > de fijarlo a '\n'? En lugar de utilizar print puedes utilizar otra función, por ejemplo: def print_propia(x): import sys sys.stdout.write(str(x) + '\n') ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 197 bytes Desc: Esta parte del mensaje está firmada digitalmente URL: ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From luis.ore.ori en gmail.com Mon Mar 31 11:36:53 2008 From: luis.ore.ori en gmail.com (Luis Orellana Orihuela) Date: Mon, 31 Mar 2008 11:36:53 +0200 Subject: Problema al ejecutar al inicio In-Reply-To: <47ECDB0E.6050001@gmail.com> References: <47ECDB0E.6050001@gmail.com> Message-ID: <47F0B0B5.1020900@gmail.com> Luis Orellana Orihuela escribió: > Realicé un pequeño Script en Python, posteriormente lo pasé a > ejecutable con Py2exe. La aplicación lee unos ficheros para > posteriormente tratarlos. Todo funciona correctamente. El problema es > que quiero que se ejecute al comienzo de Windows, para ello modifico > la clave oportuna en el registro de Windows. Bien, reinicio y me > aparece un error de ejecución del programa: > > Traceback (most recent call last): > File "programa.pyw", line 26, in > IOError: [Errno 2] No such file or directory: 'info.txt' > > Según la traza el archivo del que tiene que leer programa.pyw no > existe, lo cual no es cierto, existe y está bien formado. Prueba de > ello es que si funciona el programa cuando lo ejecuto manualmente > después. Para solucionarlo probé a retrasar la lectura del archivo con > un time.sleep(10), aún así el problema persiste. A ver si conocéis la > causa de este error. > > Muchas gracias. > Al parecer el problema estaba en que el código abría el archivo haciendo referencia a la ruta relativa, la cual cambiaba al cambiar de ubicación el archivo. Para solucionarlo se me ha ocurrido usar argv[0]: antes: archivo=open("info.txt","r") ahora: archivo=open(sys.argv[0]+"\..\info.txt","r") de esta forma queda solucionado el problema. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From ocalinux en gmail.com Sun Mar 30 17:24:38 2008 From: ocalinux en gmail.com (olmer castrillon) Date: Sun, 30 Mar 2008 10:24:38 -0500 Subject: Hilos que tardan mucho In-Reply-To: <526b12900803190331r3b49b3abn6af1f48c7d7f5986@mail.gmail.com> References: <526b12900802290109x28425261o12c2b0d820d4e6c6@mail.gmail.com> <526b12900803190331r3b49b3abn6af1f48c7d7f5986@mail.gmail.com> Message-ID: para mi pareser es normal debido a que no todos los servidores responden al proceso con igual velocidad la forma para controlarlo seria conocer las velocidades de procesamiento de cada servidor y para que los paquetes me queden en orden esperar en modo de division de frecuencias en procesos internos antes de hacer el llamado al siguiente servidor. El 19/03/08, Luis Orellana Orihuela escribió: > Hola a todos de nuevo. Retomo el hilo de nuevo. Tenía el problema de > hilos que tardaban demasiado. > > He probado a poner unos print en cada hilo para ver el comportamiento > del script: > > import thread > .... > ... > ... > > for ip in ips: #ips es una lista con las ips destino > thread.start_new(envia_socket,(ip,puerto,mensaje)) > > def envia_socket(servidor,puerto,msg): > print 'inicio', servidor > s=socket(AF_INET,SOCK_STREAM) #creamos socket tipo TCP/IP > #s.settimeout(20) > try: > s.connect((servidor,puerto)) #nos conectamos al servidor > s.send(msg) > s.close() # cerramos conexion > envio_ok.append(servidor) > except timeout: > error1.append(servidor) > except error: # si error capturamos excep > error2.append(servidor) > print 'fin', servidor > > > Al ejecutarlo observo el siguiente comportamiento: primero se imprimen > rápida y ordenadamente todos los *'inicio' servidor*, posteriormente y > desordenadamente los *'fin' servidor*, y en esto es lo que se lleva > más tiempo, además, los *'fin' servidor* > se imprimen como en grupos de tres o cuatros seguidos se lleva un > tiempo procesando y vuelve a imprimirse otro bloque, así hasta recorrer > todos los servidores. Entonces deduzco que el problema no son los > hilos, que se crean todos a la vez, > sino el límite de conexiones, que parece ser de 3 o 4. O eso es lo que > deduzco de la traza (seguramente mi razonamiento es erróneo). ¿Es esto > normal? ¿Hay alguna forma de controlarlo? > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- ***Olmer Castrillon Aguirre*** RCSoluciones Integrales Director de proyectos _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From teritriano en gmail.com Sun Mar 30 13:03:52 2008 From: teritriano en gmail.com (Oscar (.teri) Triano) Date: Sun, 30 Mar 2008 13:03:52 +0200 Subject: =?iso-8859-1?q?Sin_=F1_ni_tildes_en_xml_con_wxpython?= Message-ID: <8c50b5f00803300403r40e98e69p6088d89549f0a04@mail.gmail.com> Hola a todos, tengo un problema grave al intentar escribir en xml el contenido de campos de textos, todo esto sucede en un formulario, si tiene caracteres como ñ. Por ejemplo al intentar escribir en xml un campo de texto que tiene como contenido "niño" me da el siguiente error: UnicodeEncodeError: 'ascii' codec can't encode character u'\xf1' in position 7: ordinal not in range(128) Lo curioso es que con GTK no me pone pegas y hago exactamente lo mismo. Y ya probé con convertir la cadena a unicode y/o codificarlo en "utf-8". Pero ni eso. Estaría agradecido si alguien me dijese que estoy pasando por alto. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pepitovadecurt en gmail.com Mon Mar 31 17:06:22 2008 From: pepitovadecurt en gmail.com (pepitovadecurt) Date: Mon, 31 Mar 2008 17:06:22 +0200 Subject: Cambiar icono en Tk Message-ID: Quisiera saber como se cambia el icono en las pantallas Tk y dónde poner el archivo .ico _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From jrvilda en gmail.com Sun Mar 30 22:19:27 2008 From: jrvilda en gmail.com (Josu Rodriguez) Date: Sun, 30 Mar 2008 22:19:27 +0200 Subject: duda sobre formato ico stream Message-ID: Hola buenas, Me gustaría incrustar una imagen en un programita que estoy haciendo, pero no entiendo el formato. He visto que se puede pasar de una cadena a imagen tipo: '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x96\x00\x00\x00\x96\x08\x02\ Pero.... ¿Que formato es este? base 64 ,xpm o ... Tengo el icono en un pilón de formatos pero cuando los abro con el editor no tiene ninguno este formato. ¿Como puedo convertir mi .ico en este formato? Llevo un rato buscando y no encuentro nada. la verdad es que no lo tengo muy claro. -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Josu Rodriguez Vilda ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pepitovadecurt en gmail.com Mon Mar 31 18:27:00 2008 From: pepitovadecurt en gmail.com (pepitovadecurt) Date: Mon, 31 Mar 2008 18:27:00 +0200 Subject: Cambiar icono en Tk Message-ID: Quisiera saber como se cambia el icono en las pantallas Tk y dónde poner el archivo .ico _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes