From andreinamejia en gmail.com Mon Mar 1 02:42:14 2010 From: andreinamejia en gmail.com (Andreina Mejia) Date: Sun, 28 Feb 2010 21:12:14 -0430 Subject: [Python-es] =?iso-8859-1?q?C=F3mo_integrar_GtkSourceView_en_una_a?= =?iso-8859-1?q?plicaci=F3n?= Message-ID: <4e4c1c491002281742i52c03dd5w363225163977e781@mail.gmail.com> Buenas, mi nombre es Andreina Mejía. Estoy realizando una aplicación con interfaz hecha en Glade 3.6.7 y PyGTK. Un amigo me recomendó integrar GtkSourceView ( http://projects.gnome.org/gtksourceview/index.html) a mi aplicación para poder hacer uso de una de las herramientas implementadas en esta librería: deshacer/rehacer ilimitado. En /usr/share/doc/python-gtksourceview2/examples/ aparece un ejemplo sobre cómo debe integrarse GtkSourceView a una aplicación, pero sigo sin entender. Éste es el código del ejemplo que aparece en ?examples?: windows=[] MARK_TYPE_1= ?one? MARK_TYPE_2= ?two? DATADIR= ?usr/share? Según dice, windows contiene una lista de todas las ventanas de vista, pero la verdad no sé exactamente a qué se refieren y tampoco sé qué debería ingresar en los marks. Luego de esto, cómo hago la conexión con PyGTK entre la herramienta deshacer/rehacer de GtkSourceView, los botones y el menú de mi aplicación? Gracias de antemano por la ayuda que me puedan brindar! ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From pyarnau en gmail.com Mon Mar 1 15:01:23 2010 From: pyarnau en gmail.com (Arnau Sanchez) Date: Mon, 01 Mar 2010 15:01:23 +0100 Subject: [Python-es] =?windows-1252?q?C=F3mo_integrar_GtkSourceView_en_una?= =?windows-1252?q?_aplicaci=F3n?= In-Reply-To: <4e4c1c491002281742i52c03dd5w363225163977e781@mail.gmail.com> References: <4e4c1c491002281742i52c03dd5w363225163977e781@mail.gmail.com> Message-ID: <4B8BC8B3.6040709@gmail.com> On 01/03/10 02:42, Andreina Mejia wrote: > Un amigo me recomendó integrar GtkSourceView > (http://projects.gnome.org/gtksourceview/index.html) a mi aplicación > para poder hacer uso de una de las herramientas implementadas en esta > librería: deshacer/rehacer ilimitado. GtkSourceView lo usa -entre otros- gedit, así que parece un camino seguro para hacer algo parecido a un editor de texto. > En /usr/share/doc/python-gtksourceview2/examples/ aparece un ejemplo > sobre cómo debe integrarse GtkSourceView a una aplicación, pero sigo sin > entender. > > Éste es el código del ejemplo que aparece en ?examples?: Está bien que estudies el código de ejemplo, pero si no tienes mucha experiencia con GTK es normal que no entiendas algunas cosas. Te recomendaría empezar un script de cero e ir complicándolo poco a poco, teniendo siempre un ojo en la documentación: http://people.gnome.org/~gianmt/pygtksourceview2/ Para que tengas un punto de partida, lo que comentas (gtksourceview + funciones undo/redo), se puede hacer así: import gtk import gtksourceview2 as gtkview def on_undo_clicked(button, viewbuffer): if viewbuffer.can_undo(): viewbuffer.undo() def on_redo_clicked(button, viewbuffer): if viewbuffer.can_redo(): viewbuffer.redo() window = gtk.Window() viewbuffer = gtkview.Buffer() view = gtkview.View(viewbuffer) undo_button = gtk.Button("undo") undo_button.connect("clicked", on_undo_clicked, viewbuffer) redo_button = gtk.Button("redo") redo_button.connect("clicked", on_redo_clicked, viewbuffer) box = gtk.VBox() bbox = gtk.HBox() bbox.pack_start(undo_button) bbox.pack_start(redo_button) box.pack_start(bbox, expand=False) box.pack_start(view) window.add(box) window.resize(640, 480) window.show_all() gtk.main() -- http://www.arnau-sanchez.com From d1d4c en aktivix.org Mon Mar 1 20:32:43 2010 From: d1d4c en aktivix.org (d1d4c) Date: Mon, 01 Mar 2010 20:32:43 +0100 Subject: [Python-es] [web] python-es.org In-Reply-To: <1267292659.1858.6.camel@localhost.Stibbons> References: <4B87C93C.7070907@aktivix.org> <4B87CD5E.8060805@aktivix.org> <2c9fb0dd1002260653lab7a0d3x6ae04cc702eab380@mail.gmail.com> <4B87F5AA.4070609@aktivix.org> <4B89191B.3060408@aktivix.org> <779d9e921002270656u2efbf77qdba80de67056d861@mail.gmail.com> <779d9e921002270702l1097075ava6761559f0ad23ca@mail.gmail.com> <1267292659.1858.6.camel@localhost.Stibbons> Message-ID: <4B8C165B.5050301@aktivix.org> Daniel Garcia Moreno escribió: .../ > Yo tengo un servidor dedicado donde puedo alojar php, python, o lo que > haga falta a coste 0. Perfecto, ya tenemos dominio y servidor. Había pensado en la posibilidad de instalar Plone. ¿Te parece bien, Daniel? ¿crees que podríamos resolver las dependencias? ¿me echas una mano con esto, te apetece? Saludos. From dani en danigm.net Mon Mar 1 20:55:40 2010 From: dani en danigm.net (Daniel Garcia Moreno) Date: Mon, 01 Mar 2010 20:55:40 +0100 Subject: [Python-es] [web] python-es.org In-Reply-To: <4B8C165B.5050301@aktivix.org> References: <4B87C93C.7070907@aktivix.org> <4B87CD5E.8060805@aktivix.org> <2c9fb0dd1002260653lab7a0d3x6ae04cc702eab380@mail.gmail.com> <4B87F5AA.4070609@aktivix.org> <4B89191B.3060408@aktivix.org> <779d9e921002270656u2efbf77qdba80de67056d861@mail.gmail.com> <779d9e921002270702l1097075ava6761559f0ad23ca@mail.gmail.com> <1267292659.1858.6.camel@localhost.Stibbons> <4B8C165B.5050301@aktivix.org> Message-ID: <1267473340.19006.1.camel@localhost.Stibbons> El lun, 01-03-2010 a las 20:32 +0100, d1d4c escribió: > Daniel Garcia Moreno escribió: > .../ > > Yo tengo un servidor dedicado donde puedo alojar php, python, o lo que > > haga falta a coste 0. > > Perfecto, ya tenemos dominio y servidor. > > Había pensado en la posibilidad de instalar Plone. ¿Te parece bien, > Daniel? ¿crees que podríamos resolver las dependencias? ¿me echas una > mano con esto, te apetece? > El único requisito que tengo es el servidor web lighttpd y el sistema de bases de datos postgresql. Nunca he desplegado un plone, pero no creo que tenga grandes problemas. ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 198 bytes Desc: Esta parte del mensaje está firmada digitalmente URL: From fcocuadrado en gmail.com Mon Mar 1 20:59:57 2010 From: fcocuadrado en gmail.com (Francisco Javier Cuadrado) Date: Mon, 1 Mar 2010 20:59:57 +0100 Subject: [Python-es] [web] python-es.org In-Reply-To: <1267473340.19006.1.camel@localhost.Stibbons> References: <4B87C93C.7070907@aktivix.org> <4B87CD5E.8060805@aktivix.org> <2c9fb0dd1002260653lab7a0d3x6ae04cc702eab380@mail.gmail.com> <4B87F5AA.4070609@aktivix.org> <4B89191B.3060408@aktivix.org> <779d9e921002270656u2efbf77qdba80de67056d861@mail.gmail.com> <779d9e921002270702l1097075ava6761559f0ad23ca@mail.gmail.com> <1267292659.1858.6.camel@localhost.Stibbons> <4B8C165B.5050301@aktivix.org> <1267473340.19006.1.camel@localhost.Stibbons> Message-ID: <779d9e921003011159n6986eae7o75a34ea1751d6cd6@mail.gmail.com> El día 1 de marzo de 2010 20:55, Daniel Garcia Moreno escribió: > El lun, 01-03-2010 a las 20:32 +0100, d1d4c escribió: >> Daniel Garcia Moreno escribió: >> .../ >> > Yo tengo un servidor dedicado donde puedo alojar php, python, o lo que >> > haga falta a coste 0. >> >> Perfecto, ya tenemos dominio y servidor. >> >> Había pensado en la posibilidad de instalar Plone. ¿Te parece bien, >> Daniel? ¿crees que podríamos resolver las dependencias? ¿me echas una >> mano con esto, te apetece? >> > > El único requisito que tengo es el servidor web lighttpd y el sistema de > bases de datos postgresql. Nunca he desplegado un plone, pero no creo > que tenga grandes problemas. > Antes de montar nada, no sería mejor llegar a un posible consenso entre algunos o casi todos, para saber qué se va a montar, para qué se va a montar y quién se va a dedicar a administrarlo. > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > -- Saludos Fran From jjlorenzo en uci.cu Mon Mar 1 22:21:05 2010 From: jjlorenzo en uci.cu (=?ISO-8859-1?Q?Jos=E9_Jorge_Lorenzo_Vila?=) Date: Mon, 01 Mar 2010 16:21:05 -0500 Subject: [Python-es] [web] python-es.org In-Reply-To: <779d9e921003011159n6986eae7o75a34ea1751d6cd6@mail.gmail.com> References: <4B87C93C.7070907@aktivix.org> <4B87CD5E.8060805@aktivix.org> <2c9fb0dd1002260653lab7a0d3x6ae04cc702eab380@mail.gmail.com> <4B87F5AA.4070609@aktivix.org> <4B89191B.3060408@aktivix.org> <779d9e921002270656u2efbf77qdba80de67056d861@mail.gmail.com> <779d9e921002270702l1097075ava6761559f0ad23ca@mail.gmail.com> <1267292659.1858.6.camel@localhost.Stibbons> <4B8C165B.5050301@aktivix.org> <1267473340.19006.1.camel@localhost.Stibbons> <779d9e921003011159n6986eae7o75a34ea1751d6cd6@mail.gmail.com> Message-ID: <4B8C2FC1.2060408@uci.cu> On 03/01/2010 02:59 PM, Francisco Javier Cuadrado wrote: > El día 1 de marzo de 2010 20:55, Daniel Garcia Moreno > escribió: > >> El lun, 01-03-2010 a las 20:32 +0100, d1d4c escribió: >> >>> Daniel Garcia Moreno escribió: >>> .../ >>> >>>> Yo tengo un servidor dedicado donde puedo alojar php, python, o lo que >>>> haga falta a coste 0. >>>> >>> Perfecto, ya tenemos dominio y servidor. >>> >>> Había pensado en la posibilidad de instalar Plone. ¿Te parece bien, >>> Daniel? ¿crees que podríamos resolver las dependencias? ¿me echas una >>> mano con esto, te apetece? >>> >>> >> El único requisito que tengo es el servidor web lighttpd y el sistema de >> bases de datos postgresql. Nunca he desplegado un plone, pero no creo >> que tenga grandes problemas. >> >> > Antes de montar nada, no sería mejor llegar a un posible consenso > entre algunos o casi todos, para saber qué se va a montar, para qué se > va a montar y quién se va a dedicar a administrarlo. > > >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> >> > > > Me parece correcto primero llegar a un acuerdo sobre lo que vamos a montar. Yo me apunto a administrar+desarrollar cualquier cosa sobre django. Sobre plone no tengo experiencia. saludos From d1d4c en aktivix.org Mon Mar 1 22:31:47 2010 From: d1d4c en aktivix.org (d1d4c) Date: Mon, 01 Mar 2010 22:31:47 +0100 Subject: [Python-es] [web] python-es.org In-Reply-To: <779d9e921003011159n6986eae7o75a34ea1751d6cd6@mail.gmail.com> References: <4B87C93C.7070907@aktivix.org> <4B87CD5E.8060805@aktivix.org> <2c9fb0dd1002260653lab7a0d3x6ae04cc702eab380@mail.gmail.com> <4B87F5AA.4070609@aktivix.org> <4B89191B.3060408@aktivix.org> <779d9e921002270656u2efbf77qdba80de67056d861@mail.gmail.com> <779d9e921002270702l1097075ava6761559f0ad23ca@mail.gmail.com> <1267292659.1858.6.camel@localhost.Stibbons> <4B8C165B.5050301@aktivix.org> <1267473340.19006.1.camel@localhost.Stibbons> <779d9e921003011159n6986eae7o75a34ea1751d6cd6@mail.gmail.com> Message-ID: <4B8C3243.3010805@aktivix.org> Francisco Javier Cuadrado escribió: .../ > Antes de montar nada, no sería mejor llegar a un posible consenso > entre algunos o casi todos, para saber qué se va a montar, para qué se > va a montar y quién se va a dedicar a administrarlo. Sí es una manera de hacerlo, la que comentas, y en mi opinión es la ideal, no digo que no. Sin embargo, si Daniel y yo queremos montar algo en su servidor, no necesitamos permiso de nadie, verdad? La cosa vendría a la hora de redirigir http://python-es.org al servidor en cuestión. En ese momento, el debate sería ineludible, pero ya dispondríamos de algo tangible que valorar, es decir, una web mínimamente montada. Y en realidad, la redirección no la pediríamos a no ser que contásemos ya con voluntarios para administrarla, etc. Francisco, si quieres participar en qué podríamos montar, o debatir el para qué, u ofrecerte para cualquier cosa, adelante ;) Saludos. From oscar.carballal en gmail.com Mon Mar 1 22:36:04 2010 From: oscar.carballal en gmail.com (Oscar Carballal Prego) Date: Mon, 1 Mar 2010 22:36:04 +0100 Subject: [Python-es] [web] python-es.org In-Reply-To: <4B8C2FC1.2060408@uci.cu> References: <4B87C93C.7070907@aktivix.org> <4B87CD5E.8060805@aktivix.org> <2c9fb0dd1002260653lab7a0d3x6ae04cc702eab380@mail.gmail.com> <4B87F5AA.4070609@aktivix.org> <4B89191B.3060408@aktivix.org> <779d9e921002270656u2efbf77qdba80de67056d861@mail.gmail.com> <779d9e921002270702l1097075ava6761559f0ad23ca@mail.gmail.com> <1267292659.1858.6.camel@localhost.Stibbons> <4B8C165B.5050301@aktivix.org> <1267473340.19006.1.camel@localhost.Stibbons> <779d9e921003011159n6986eae7o75a34ea1751d6cd6@mail.gmail.com> <4B8C2FC1.2060408@uci.cu> Message-ID: El 01/03/2010, a las 22:21, José Jorge Lorenzo Vila escribió: > Me parece correcto primero llegar a un acuerdo sobre lo que vamos a > montar. Yo me apunto a administrar+desarrollar cualquier cosa sobre > django. Sobre plone no tengo experiencia. > saludos > Si os ponéis con DJango yo también me apunto, aunque no tengo demasiada experiencia (aún estoy haciendo mi primera aplicación) pero podría ayudar :) Un saludo From d1d4c en aktivix.org Mon Mar 1 22:37:05 2010 From: d1d4c en aktivix.org (d1d4c) Date: Mon, 01 Mar 2010 22:37:05 +0100 Subject: [Python-es] [web] python-es.org In-Reply-To: <4B8C2FC1.2060408@uci.cu> References: <4B87C93C.7070907@aktivix.org> <4B87CD5E.8060805@aktivix.org> <2c9fb0dd1002260653lab7a0d3x6ae04cc702eab380@mail.gmail.com> <4B87F5AA.4070609@aktivix.org> <4B89191B.3060408@aktivix.org> <779d9e921002270656u2efbf77qdba80de67056d861@mail.gmail.com> <779d9e921002270702l1097075ava6761559f0ad23ca@mail.gmail.com> <1267292659.1858.6.camel@localhost.Stibbons> <4B8C165B.5050301@aktivix.org> <1267473340.19006.1.camel@localhost.Stibbons> <779d9e921003011159n6986eae7o75a34ea1751d6cd6@mail.gmail.com> <4B8C2FC1.2060408@uci.cu> Message-ID: <4B8C3381.10103@aktivix.org> José Jorge Lorenzo Vila escribió: .../ > Me parece correcto primero llegar a un acuerdo sobre lo que vamos a > montar. Sí, es lo correcto, pero el acuerdo ha de ser entre quienes lo vayan a montar, y no una discusión estéril entre los que se sientan mínimamente motivados y los que no piensen participar más que en la propia discusión... ¿Me entiendes? > Yo me apunto a administrar+desarrollar cualquier cosa sobre > django. Sobre plone no tengo experiencia. Genial! Crees oportuno hablar sobre si sería mejor usar django que plone? > saludos Idem :) From carlos.herrerapolo en gmail.com Mon Mar 1 22:46:38 2010 From: carlos.herrerapolo en gmail.com (Carlos Herrera Polo) Date: Mon, 1 Mar 2010 16:46:38 -0500 Subject: [Python-es] Consulta sobre control de procesos Message-ID: Estimados: Hace unos meses desarrolle un pequeño programa bastante simple, lo que hace es leer un buzon de imap, luego tomar los archivos adjuntos y procesarlos con un programa (ejecutable.exe). El programa funciona bastante bien, pero ocurre que muchas veces el programa "ejecutale.exe" se queda como pegado en Windows. No se mucho de programacion en Python, pero me parecio un buen lenguaje para hacer este desarrollo, me ayudaria mucho su opinion al respecto, ya que continuamente tengo que por ejemplo, revisar en las tareas de Window$ para ver si el proceso ejecutable.exe sigue en memoria y tengo que "matarlo" manualmente para que el programa siga operando bien. Lineas mas abajo adjunto el codigo. Gracias de antemano por las sugerencias. def fn_proceso(self,as_origen,as_modificado,as_resultado): # Procesa dos archivos ls_comando='ejecutable.exe ' ls_origen = os.path.abspath(as_origen) ls_modificado = os.path.abspath(as_modificado) ls_comando = ls_comando + ' /original="'+ ls_origen + '" /modified="' + ls_modificado + '" /outfile="' + as_comparacion + '" /RTF /V /S' p = Popen(ls_comando , shell=True) p.communicate() p.wait() return ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From d1d4c en aktivix.org Mon Mar 1 23:04:16 2010 From: d1d4c en aktivix.org (d1d4c) Date: Mon, 01 Mar 2010 23:04:16 +0100 Subject: [Python-es] [web] python-es.org In-Reply-To: <4B8C3381.10103@aktivix.org> References: <4B87C93C.7070907@aktivix.org> <4B87CD5E.8060805@aktivix.org> <2c9fb0dd1002260653lab7a0d3x6ae04cc702eab380@mail.gmail.com> <4B87F5AA.4070609@aktivix.org> <4B89191B.3060408@aktivix.org> <779d9e921002270656u2efbf77qdba80de67056d861@mail.gmail.com> <779d9e921002270702l1097075ava6761559f0ad23ca@mail.gmail.com> <1267292659.1858.6.camel@localhost.Stibbons> <4B8C165B.5050301@aktivix.org> <1267473340.19006.1.camel@localhost.Stibbons> <779d9e921003011159n6986eae7o75a34ea1751d6cd6@mail.gmail.com> <4B8C2FC1.2060408@uci.cu> <4B8C3381.10103@aktivix.org> Message-ID: <4B8C39E0.9040306@aktivix.org> d1d4c escribió: > José Jorge Lorenzo Vila escribió: .../ >> Yo me apunto a administrar+desarrollar cualquier cosa sobre django. >> Sobre plone no tengo experiencia. > > Genial! Crees oportuno hablar sobre si sería mejor usar django que plone? Bien, he leído la FAQ de django (por cierto, tremendo guitarrista;) y me he dado cuenta del poco sentido que tiene comparar django con plone. django no es un CMS, es un framework. Así que si José y Óscar se animan a desarrollar algo con django, pues genial! django a la una, a las dos... adjudicado! Pasaríamos entonces al siguiente nivel: El qué. Os parece bien? Salud. From fcocuadrado en gmail.com Tue Mar 2 08:38:02 2010 From: fcocuadrado en gmail.com (Francisco Javier Cuadrado) Date: Tue, 2 Mar 2010 08:38:02 +0100 Subject: [Python-es] [web] python-es.org In-Reply-To: <4B8C3243.3010805@aktivix.org> References: <4B87C93C.7070907@aktivix.org> <4B87F5AA.4070609@aktivix.org> <4B89191B.3060408@aktivix.org> <779d9e921002270656u2efbf77qdba80de67056d861@mail.gmail.com> <779d9e921002270702l1097075ava6761559f0ad23ca@mail.gmail.com> <1267292659.1858.6.camel@localhost.Stibbons> <4B8C165B.5050301@aktivix.org> <1267473340.19006.1.camel@localhost.Stibbons> <779d9e921003011159n6986eae7o75a34ea1751d6cd6@mail.gmail.com> <4B8C3243.3010805@aktivix.org> Message-ID: <779d9e921003012338g5870fd04q6fb1bbe96b9cd573@mail.gmail.com> El día 1 de marzo de 2010 22:31, d1d4c escribió: > Francisco Javier Cuadrado escribió: > .../ >> >> Antes de montar nada, no sería mejor llegar a un posible consenso >> entre algunos o casi todos, para saber qué se va a montar, para qué se >> va a montar y quién se va a dedicar a administrarlo. > > Sí es una manera de hacerlo, la que comentas, y en mi opinión es la ideal, > no digo que no. > > Sin embargo, si Daniel y yo queremos montar algo en su servidor, no > necesitamos permiso de nadie, verdad? > Eso está claro, lo que queráis organizar entre Daniel y tú es cosa vuestra, yo me refería a lo que comentas más abajo. > La cosa vendría a la hora de redirigir http://python-es.org al servidor en > cuestión. En ese momento, el debate sería ineludible, pero ya dispondríamos > de algo tangible que valorar, es decir, una web mínimamente montada. Y en > realidad, la redirección no la pediríamos a no ser que contásemos ya con > voluntarios para administrarla, etc. > > Francisco, si quieres participar en qué podríamos montar, o debatir el para > qué, u ofrecerte para cualquier cosa, adelante ;) > A mí me encantaría participar, pero tengo tantas cosas que hacer y tan poco tiempo que me resulta imposible realizar cualquier cosa que no sea debatir. > > Saludos. > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > -- Saludos Fran From fcocuadrado en gmail.com Tue Mar 2 08:45:53 2010 From: fcocuadrado en gmail.com (Francisco Javier Cuadrado) Date: Tue, 2 Mar 2010 08:45:53 +0100 Subject: [Python-es] [web] python-es.org In-Reply-To: <4B8C39E0.9040306@aktivix.org> References: <4B87C93C.7070907@aktivix.org> <779d9e921002270656u2efbf77qdba80de67056d861@mail.gmail.com> <779d9e921002270702l1097075ava6761559f0ad23ca@mail.gmail.com> <1267292659.1858.6.camel@localhost.Stibbons> <4B8C165B.5050301@aktivix.org> <1267473340.19006.1.camel@localhost.Stibbons> <779d9e921003011159n6986eae7o75a34ea1751d6cd6@mail.gmail.com> <4B8C2FC1.2060408@uci.cu> <4B8C3381.10103@aktivix.org> <4B8C39E0.9040306@aktivix.org> Message-ID: <779d9e921003012345q254d73e6s1f55b4c02c45b1c2@mail.gmail.com> El día 1 de marzo de 2010 23:04, d1d4c escribió: > d1d4c escribió: >> >> José Jorge Lorenzo Vila escribió: > > .../ >>> >>> Yo me apunto a administrar+desarrollar cualquier cosa sobre django. Sobre >>> plone no tengo experiencia. >> >> Genial! Crees oportuno hablar sobre si sería mejor usar django que plone? > > Bien, he leído la FAQ de django (por cierto, tremendo guitarrista;) y me he > dado cuenta del poco sentido que tiene comparar django con plone. django no > es un CMS, es un framework. > > Así que si José y Óscar se animan a desarrollar algo con django, pues > genial! django a la una, a las dos... adjudicado! > En mi humilde opinión, aquí habría que saber si queréis organizar rápidamente la web o no, si es lo primero creo que ponerse a reinventar la rueda es una pérdida de tiempo y que se debería montar algo ya hecho y contrastado; si es lo segundo pues adelante con el desarrollo. > Pasaríamos entonces al siguiente nivel: El qué. Os parece bien? > Creo que para empezar lo mejor sería tener algún tipo de CMS/Wiki y un planeta de blogs de temática «pythoniana» en español, siempre que haya la suficiente cantidad de blogs. > > Salud. > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > -- Saludos Fran From dani en danigm.net Tue Mar 2 09:16:06 2010 From: dani en danigm.net (Daniel Garcia Moreno) Date: Tue, 2 Mar 2010 09:16:06 +0100 Subject: [Python-es] [web] python-es.org In-Reply-To: <779d9e921003012345q254d73e6s1f55b4c02c45b1c2@mail.gmail.com> References: <4B87C93C.7070907@aktivix.org> <779d9e921002270702l1097075ava6761559f0ad23ca@mail.gmail.com> <1267292659.1858.6.camel@localhost.Stibbons> <4B8C165B.5050301@aktivix.org> <1267473340.19006.1.camel@localhost.Stibbons> <779d9e921003011159n6986eae7o75a34ea1751d6cd6@mail.gmail.com> <4B8C2FC1.2060408@uci.cu> <4B8C3381.10103@aktivix.org> <4B8C39E0.9040306@aktivix.org> <779d9e921003012345q254d73e6s1f55b4c02c45b1c2@mail.gmail.com> Message-ID: <31bcc7d51003020016s7d06578cl8a19943081e95dbe@mail.gmail.com> 2010/3/2 Francisco Javier Cuadrado : > El día 1 de marzo de 2010 23:04, d1d4c escribió: >> d1d4c escribió: >>> >>> José Jorge Lorenzo Vila escribió: >> >> .../ >>>> >>>> Yo me apunto a administrar+desarrollar cualquier cosa sobre django. Sobre >>>> plone no tengo experiencia. >>> >>> Genial! Crees oportuno hablar sobre si sería mejor usar django que plone? >> >> Bien, he leído la FAQ de django (por cierto, tremendo guitarrista;) y me he >> dado cuenta del poco sentido que tiene comparar django con plone. django no >> es un CMS, es un framework. >> >> Así que si José y Óscar se animan a desarrollar algo con django, pues >> genial! django a la una, a las dos... adjudicado! >> > > En mi humilde opinión, aquí habría que saber si queréis organizar > rápidamente la web o no, si es lo primero creo que ponerse a > reinventar la rueda es una pérdida de tiempo y que se debería montar > algo ya hecho y contrastado; si es lo segundo pues adelante con el > desarrollo. > Yo creo que lo suyo es hacer algo tangible primero y luego discutir sobre cómo mejorarlo, porque discutir antes lo que puede hacer es que al final no se llegue a tener nada. Así que he creado una estructura principal en django, http://github.com/danigm/web-python-es si os parece bien, partimos de esto y vamos desarrollando. Y en cuanto haya algo lo monto en mi servidor y vamos metiendo contenido. >> Pasaríamos entonces al siguiente nivel: El qué. Os parece bien? >> > > Creo que para empezar lo mejor sería tener algún tipo de CMS/Wiki y un > planeta de blogs de temática «pythoniana» en español, siempre que haya > la suficiente cantidad de blogs. Lo bueno de desarrollar una aplicación propia es que se puede aprender por el camino algo de python. From d1d4c en aktivix.org Tue Mar 2 10:12:11 2010 From: d1d4c en aktivix.org (d1d4c) Date: Tue, 02 Mar 2010 10:12:11 +0100 Subject: [Python-es] [web] python-es.org In-Reply-To: <779d9e921003012338g5870fd04q6fb1bbe96b9cd573@mail.gmail.com> References: <4B87C93C.7070907@aktivix.org> <4B87F5AA.4070609@aktivix.org> <4B89191B.3060408@aktivix.org> <779d9e921002270656u2efbf77qdba80de67056d861@mail.gmail.com> <779d9e921002270702l1097075ava6761559f0ad23ca@mail.gmail.com> <1267292659.1858.6.camel@localhost.Stibbons> <4B8C165B.5050301@aktivix.org> <1267473340.19006.1.camel@localhost.Stibbons> <779d9e921003011159n6986eae7o75a34ea1751d6cd6@mail.gmail.com> <4B8C3243.3010805@aktivix.org> <779d9e921003012338g5870fd04q6fb1bbe96b9cd573@mail.gmail.com> Message-ID: <4B8CD66B.1060208@aktivix.org> Francisco Javier Cuadrado escribió: > El día 1 de marzo de 2010 22:31, d1d4c escribió: .../ > A mí me encantaría participar, pero tengo tantas cosas que hacer y tan > poco tiempo que me resulta imposible realizar cualquier cosa que no > sea debatir. Ei, que debatir no es poco! es espléndido contar con tu criterio :) From d1d4c en aktivix.org Tue Mar 2 10:49:01 2010 From: d1d4c en aktivix.org (d1d4c) Date: Tue, 02 Mar 2010 10:49:01 +0100 Subject: [Python-es] [web] python-es.org In-Reply-To: <31bcc7d51003020016s7d06578cl8a19943081e95dbe@mail.gmail.com> References: <4B87C93C.7070907@aktivix.org> <779d9e921002270702l1097075ava6761559f0ad23ca@mail.gmail.com> <1267292659.1858.6.camel@localhost.Stibbons> <4B8C165B.5050301@aktivix.org> <1267473340.19006.1.camel@localhost.Stibbons> <779d9e921003011159n6986eae7o75a34ea1751d6cd6@mail.gmail.com> <4B8C2FC1.2060408@uci.cu> <4B8C3381.10103@aktivix.org> <4B8C39E0.9040306@aktivix.org> <779d9e921003012345q254d73e6s1f55b4c02c45b1c2@mail.gmail.com> <31bcc7d51003020016s7d06578cl8a19943081e95dbe@mail.gmail.com> Message-ID: <4B8CDF0D.5090607@aktivix.org> Daniel Garcia Moreno escribió: > 2010/3/2 Francisco Javier Cuadrado : ,,,/ >> En mi humilde opinión, aquí habría que saber si queréis organizar >> rápidamente la web o no, si es lo primero creo que ponerse a >> reinventar la rueda es una pérdida de tiempo y que se debería montar >> algo ya hecho y contrastado; si es lo segundo pues adelante con el >> desarrollo. Tengo entendido que no hay ninguna prisa, ¿no? > Yo creo que lo suyo es hacer algo tangible primero y luego discutir > sobre cómo mejorarlo, porque discutir antes lo que puede hacer es que > al final no se llegue a tener nada. Sí, por eso yo he ido un poco "a saco" con esto. Disculpad mi atrevimiento, siendo novato... > Así que he creado una estructura principal en django, > http://github.com/danigm/web-python-es si os parece bien, partimos de > esto y vamos desarrollando. Y en cuanto haya algo lo monto en mi > servidor y vamos metiendo contenido. Olé! Ahí estamos, esa es la actitud ;) A ver si José y Oscar se animan a meterle mano. >> Creo que para empezar lo mejor sería tener algún tipo de CMS/Wiki y un >> planeta de blogs de temática «pythoniana» en español, siempre que haya >> la suficiente cantidad de blogs. Mira, lo del planeta lo podemos montar paralelamente, creo que sí debe haber suficientes blogs (y aunque sean pocos también). Para instalar un CMS o una wiki siempre estamos a tiempo, pero mientras haya movimiento con lo de desarrollar algo, como dice Daniel: > Lo bueno de desarrollar una aplicación propia es que se puede aprender > por el camino algo de python. Y además, podemos ir preguntando en esta misma lista cualquier duda que tengamos ;) No me importa lo simple que sea la web primigenia, lo interesante es que sea extensible y que cualquiera desde aquí pueda experimentar con ella intentando desarrollar alguna idea aunque sea en clave de ejercicio. Vamos viendo, saludos. ps. Por cierto: http://www.django.es From pyarnau en gmail.com Tue Mar 2 12:46:31 2010 From: pyarnau en gmail.com (Arnau Sanchez) Date: Tue, 02 Mar 2010 12:46:31 +0100 Subject: [Python-es] Consulta sobre control de procesos In-Reply-To: References: Message-ID: <4B8CFA97.3010908@gmail.com> On 01/03/10 22:46, Carlos Herrera Polo wrote: > Window$ para ver si el proceso ejecutable.exe sigue en memoria y tengo > que "matarlo" manualmente para que el programa siga operando bien. > Lineas mas abajo adjunto el codigo. > Gracias de antemano por las sugerencias. Podemos darte muchas sugerencias, pero mejor que preguntes algo concreto :-) > def fn_proceso(self,as_origen,as_modificado,as_resultado): > # Procesa dos archivos > > ls_comando='ejecutable.exe ' > > ls_origen = os.path.abspath(as_origen) > ls_modificado = os.path.abspath(as_modificado) > > ls_comando = ls_comando + ' /original="'+ ls_origen + '" > /modified="' + ls_modificado + '" /outfile="' + as_comparacion + '" /RTF > /V /S' > > p = Popen(ls_comando , shell=True) > p.communicate() > p.wait() > > return Algunas cosas: - ¿Por qué empezar variables con "ls_"? es muy repetitivo y no aporta información. - La construcción de ls_comando no es muy bonita. Mira si puedes usar listas+join, o al menos interpolación de cadenas. - Usas la shell cuando no es necesario: la única diferencia cuando shell=False es que comando es una lista (que suele ser incluso más cómoda de generar que una cadena). - No es idiomático hacer un return al final de una función si ésta no devuelve nada. Y ahora yo pregunto: ¿este script hace ya lo que querías? si es que no, ¿qué le falta? -- http://www.arnau-sanchez.com From andreinamejia en gmail.com Tue Mar 2 13:46:59 2010 From: andreinamejia en gmail.com (Andreina Mejia) Date: Wed, 3 Mar 2010 08:16:59 +1930 Subject: [Python-es] =?iso-8859-1?q?C=F3mo_integrar_GtkSourceView_en_una_a?= =?iso-8859-1?q?plicaci=F3n?= Message-ID: <4e4c1c491003020446h6ba8ce62k5ca6e976a0083844@mail.gmail.com> Muchas gracias Arnau por tu respuesta! de verdad fue de gran ayuda :) Estuve probando, pero tengo un problemita, yo ya tengo un buffer asociado al textview de mi aplicación. Estuve buscando en la documentación una manera de asociar el gtk. TextBuffer que tengo con el gtksourceview2.Buffer pero no encontré la solución. También pensé en la posibilidad de asociar directamente el textview con el gtksourceview2.Buffer pero no encontré cómo hacerlo :( De antemano, gracias por tu ayuda! :) ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From olemis+py en gmail.com Tue Mar 2 14:27:47 2010 From: olemis+py en gmail.com (Olemis Lang (Simelix)) Date: Tue, 2 Mar 2010 08:27:47 -0500 Subject: [Python-es] Consulta sobre control de procesos In-Reply-To: References: Message-ID: <24ea26601003020527w2e9e42e4te9488a01349c64df@mail.gmail.com> 2010/3/1 Carlos Herrera Polo : > Estimados: > > Hace unos meses desarrolle un pequeño programa bastante simple, lo que hace > es leer un buzon de imap, luego tomar los archivos adjuntos y procesarlos > con un programa (ejecutable.exe). El programa funciona bastante bien, pero > ocurre que muchas veces el programa "ejecutale.exe" se queda como pegado en > Windows. Bueno, ejecutable.exe corre en otro proceso por lo que no se puede hacer mucho al respecto. Lo que se me ocurriría es utilizar algún timeout y, si no ha concluido, utilizar su PID para matarlo (quizás directamente a través de la API de Windows o utilizando `win32process` con las extensiones de Mark Hammond, `pywin32`). Si pudiera sustituir a ejecutable.exe por algo hecho en Py ... quizás eso ayudaría ;o) PD: De todas formas, si pudiera describir con más precisión cual es el problema, pues mucho mejor ;o) -- Regards, Olemis. Blog ES: http://simelo-es.blogspot.com/ Blog EN: http://simelo-en.blogspot.com/ Featured article: Comienza la era de la televisión 3D (el 10 de marzo ;o) - http://feedproxy.google.com/~r/simelo-es/~3/mPcmLbduWJU/despues-del-gran-exito-del-largometraje.html From pyarnau en gmail.com Tue Mar 2 14:38:46 2010 From: pyarnau en gmail.com (Arnau Sanchez) Date: Tue, 02 Mar 2010 14:38:46 +0100 Subject: [Python-es] =?iso-8859-1?q?C=F3mo_integrar_GtkSourceView_en_una_a?= =?iso-8859-1?q?plicaci=F3n?= In-Reply-To: <4e4c1c491003020446h6ba8ce62k5ca6e976a0083844@mail.gmail.com> References: <4e4c1c491003020446h6ba8ce62k5ca6e976a0083844@mail.gmail.com> Message-ID: <4B8D14E6.3030403@gmail.com> On 02/03/10 13:46, Andreina Mejia wrote: > Estuve probando, pero tengo un problemita, yo ya tengo un buffer > asociado al textview de mi aplicación. Estuve buscando en la > documentación una manera de asociar el gtk. TextBuffer que tengo con el > gtksourceview2.Buffer pero no encontré la solución. También pensé en la > posibilidad de asociar directamente el textview con el > gtksourceview2.Buffer pero no encontré cómo hacerlo Debería ser tan sencillo como: viewbuffer = gtkview.get_buffer() Desgraciadamente (al menos en mis pruebas con pygtksourceview2 2.8.0) get_buffer() devuelve un gtk.TextBuffer, no un gtksourceview2.Buffer (no sé por qué razón, no tiene mucho sentido). Volvamos entonces a la opción de especificar el buffer en el constructor: ¿quién crea el gtksourceview2.View en tu programa? ¿por qué no puedes crear antes el buffer y llevarlo a todos los sitios donde se vaya a usar? -- http://www.arnau-sanchez.com From carlos.herrerapolo en gmail.com Tue Mar 2 15:59:41 2010 From: carlos.herrerapolo en gmail.com (Carlos Herrera Polo) Date: Tue, 2 Mar 2010 09:59:41 -0500 Subject: [Python-es] Consulta sobre control de procesos In-Reply-To: <4B8CFA97.3010908@gmail.com> References: <4B8CFA97.3010908@gmail.com> Message-ID: Gracias Arnau por las sugerencias. No programo en Python, realmente no programo nada desde hace varios años, es por eso que no entiendo al 100% la programacion orientada a objetos. Comence a programar en BASIC !, luego en Pascal y termine en PowerBuilder, de ahi herede ciertas costumbres, como por ejemplo ... ls significa (local string), de manera que en cualquier momento puedo saber el tipo de dato, bueno, esto es mas por costumbre que otra cosa. Hoy me dedico a la gestion de un area de TI, desde el 2000, asi que perdi el "hilo" de la programacion. La idea del programita es darle una solucion a mis usuarios para ahorrar costos de licencias de un programa en Windows (que por obvias razones no puedo indicar aca el nombre). El tema es que este programa lo he instalado en una PC y opte por hacer el desarrollo en Python debido a las numerosas librerias que cuenta, como por ejemplo leer el correo por imap, enviarlo por smtp,etc..etc. Los usuarios envian un correo con documentos adjuntos al "programa python", este lee el buzon cada 30 segundos por IMAP y descompone los adjuntos grabandolos en un directorio de la PC, luego, con la funcion que les envie invoco a "executable.exe" para que los procese, y luego, con el resultado del programa (que es un tercer archivo) se lo envio de regreso al usuario por la libreria SMTP. Todo esto funciona bien, el tema es que "ejecutable.exe" a veces se queda como "pegado" y veo que en los procesos de Windows tengo varios ejecutable.exe, asi que cada ciertos dias estoy obligado de revisar que esto no ocurra, ya que la herramienta deja de trabajar.... Talvez la idea seria hace que ejecutable.exe corra como un subproceso, para controlarlo, no se.. no se mucho de esto Mil gracias por su interes. El 2 de marzo de 2010 06:46, Arnau Sanchez escribió: > On 01/03/10 22:46, Carlos Herrera Polo wrote: > > Window$ para ver si el proceso ejecutable.exe sigue en memoria y tengo >> que "matarlo" manualmente para que el programa siga operando bien. >> Lineas mas abajo adjunto el codigo. >> Gracias de antemano por las sugerencias. >> > > Podemos darte muchas sugerencias, pero mejor que preguntes algo concreto > :-) > > > def fn_proceso(self,as_origen,as_modificado,as_resultado): >> # Procesa dos archivos >> >> ls_comando='ejecutable.exe ' >> >> ls_origen = os.path.abspath(as_origen) >> ls_modificado = os.path.abspath(as_modificado) >> >> ls_comando = ls_comando + ' /original="'+ ls_origen + '" >> /modified="' + ls_modificado + '" /outfile="' + as_comparacion + '" /RTF >> /V /S' >> >> p = Popen(ls_comando , shell=True) >> p.communicate() >> p.wait() >> >> return >> > > Algunas cosas: > > - ¿Por qué empezar variables con "ls_"? es muy repetitivo y no aporta > información. > - La construcción de ls_comando no es muy bonita. Mira si puedes usar > listas+join, o al menos interpolación de cadenas. > - Usas la shell cuando no es necesario: la única diferencia cuando > shell=False es que comando es una lista (que suele ser incluso más cómoda de > generar que una cadena). > - No es idiomático hacer un return al final de una función si ésta no > devuelve nada. > > Y ahora yo pregunto: ¿este script hace ya lo que querías? si es que no, > ¿qué le falta? > > > -- > http://www.arnau-sanchez.com > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From carlos.herrerapolo en gmail.com Tue Mar 2 16:01:43 2010 From: carlos.herrerapolo en gmail.com (Carlos Herrera Polo) Date: Tue, 2 Mar 2010 10:01:43 -0500 Subject: [Python-es] Consulta sobre control de procesos In-Reply-To: <24ea26601003020527w2e9e42e4te9488a01349c64df@mail.gmail.com> References: <24ea26601003020527w2e9e42e4te9488a01349c64df@mail.gmail.com> Message-ID: Gracias Olemis por la sugerencia. Es posible hacer que "ejecutable.exe" corra como un sobproceso de python ? De esta forma podria controlarlo mejor ? El 2 de marzo de 2010 08:27, Olemis Lang (Simelix) > escribió: > 2010/3/1 Carlos Herrera Polo : > > Estimados: > > > > Hace unos meses desarrolle un pequeño programa bastante simple, lo que > hace > > es leer un buzon de imap, luego tomar los archivos adjuntos y procesarlos > > con un programa (ejecutable.exe). El programa funciona bastante bien, > pero > > ocurre que muchas veces el programa "ejecutale.exe" se queda como pegado > en > > Windows. > > Bueno, ejecutable.exe corre en otro proceso por lo que no se puede > hacer mucho al respecto. Lo que se me ocurriría es utilizar algún > timeout y, si no ha concluido, utilizar su PID para matarlo (quizás > directamente a través de la API de Windows o utilizando `win32process` > con las extensiones de Mark Hammond, `pywin32`). > > Si pudiera sustituir a ejecutable.exe por algo hecho en Py ... quizás > eso ayudaría ;o) > > PD: De todas formas, si pudiera describir con más precisión cual es el > problema, pues mucho mejor ;o) > > -- > Regards, > > Olemis. > > Blog ES: http://simelo-es.blogspot.com/ > Blog EN: http://simelo-en.blogspot.com/ > > Featured article: > Comienza la era de la televisión 3D (el 10 de marzo ;o) - > > http://feedproxy.google.com/~r/simelo-es/~3/mPcmLbduWJU/despues-del-gran-exito-del-largometraje.html > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From olemis+py en gmail.com Tue Mar 2 16:08:57 2010 From: olemis+py en gmail.com (Olemis Lang (Simelix)) Date: Tue, 2 Mar 2010 10:08:57 -0500 Subject: [Python-es] Consulta sobre control de procesos In-Reply-To: References: <4B8CFA97.3010908@gmail.com> Message-ID: <24ea26601003020708m1c409796n19f1153d613101e1@mail.gmail.com> 2010/3/2 Carlos Herrera Polo : > [...] > La idea del programita es darle una solucion a mis usuarios para ahorrar > costos de licencias de un programa en Windows (que por obvias razones > no puedo indicar aca el nombre). > [...] El (probablemente) eterno círculo de lo privativo ... > Talvez la idea seria hace que ejecutable.exe corra como un subproceso, para > controlarlo, no se.. no se mucho de esto > AFAIK, controlarlo se resume a enviar datos por la entrada estándar (como si se escribieran en la consola ;o) y leer por la salida estándar (lo que se imprimiría por la pantalla ;o) del proceso que se ejecuta. Realmente por lo que Ud explica no veo cómo eso podría ayudarle, a no ser que ejecutable.exe permita hacer algo de esto (e.g. como el quit | exit | ... de `ftp` et al.) -- Regards, Olemis. Blog ES: http://simelo-es.blogspot.com/ Blog EN: http://simelo-en.blogspot.com/ Featured article: Comienza la era de la televisión 3D (el 10 de marzo ;o) - http://feedproxy.google.com/~r/simelo-es/~3/mPcmLbduWJU/despues-del-gran-exito-del-largometraje.html From olemis+py en gmail.com Tue Mar 2 16:17:11 2010 From: olemis+py en gmail.com (Olemis Lang (Simelix)) Date: Tue, 2 Mar 2010 10:17:11 -0500 Subject: [Python-es] Consulta sobre control de procesos In-Reply-To: References: <24ea26601003020527w2e9e42e4te9488a01349c64df@mail.gmail.com> Message-ID: <24ea26601003020717r3f6d1afcmed9f80b919fbb5d3@mail.gmail.com> > El 2 de marzo de 2010 08:27, Olemis Lang (Simelix) > escribió: >> >> 2010/3/1 Carlos Herrera Polo : >> > Estimados: >> > >> > Hace unos meses desarrolle un pequeño programa bastante simple, lo que >> > hace >> > es leer un buzon de imap, luego tomar los archivos adjuntos y >> > procesarlos >> > con un programa (ejecutable.exe). El programa funciona bastante bien, >> > pero >> > ocurre que muchas veces el programa "ejecutale.exe" se queda como pegado >> > en >> > Windows. >> >> Bueno, ejecutable.exe corre en otro proceso por lo que no se puede >> hacer mucho al respecto. Lo que se me ocurriría es utilizar algún >> timeout y, si no ha concluido, utilizar su PID para matarlo (quizás >> directamente a través de la API de Windows o utilizando `win32process` >> con las extensiones de Mark Hammond, `pywin32`). >> >> Si pudiera sustituir a ejecutable.exe por algo hecho en Py ... quizás >> eso ayudaría ;o) >> >> PD: De todas formas, si pudiera describir con más precisión cual es el >> problema, pues mucho mejor ;o) >> 2010/3/2 Carlos Herrera Polo : > Gracias Olemis por la sugerencia. > Es posible hacer que "ejecutable.exe" corra como un sobproceso de python ? > De esta forma podria controlarlo mejor ? > Bueno, mi idea inicial era re-implementar ejecutable.exe, pero supongo que sea (parte de) el programa privativo, por lo que el código fuente no debería estar disponible. Eso haría más difícil hacer un clon en Python (si bien todavía podría ser posible, pero depende de otros factores externos que supongo también puedan ser algo complicados si hay más detalles privativos :-/ ). -- Regards, Olemis. Blog ES: http://simelo-es.blogspot.com/ Blog EN: http://simelo-en.blogspot.com/ Featured article: Comienza la era de la televisión 3D (el 10 de marzo ;o) - http://feedproxy.google.com/~r/simelo-es/~3/mPcmLbduWJU/despues-del-gran-exito-del-largometraje.html From fitopluss en hotmail.es Tue Mar 2 16:23:48 2010 From: fitopluss en hotmail.es (RODOLFO SENA ALCANTARA) Date: Tue, 2 Mar 2010 11:23:48 -0400 Subject: [Python-es] Datos recibidos con pyserial y eventos In-Reply-To: <4e4c1c491003020446h6ba8ce62k5ca6e976a0083844@mail.gmail.com> References: <4e4c1c491003020446h6ba8ce62k5ca6e976a0083844@mail.gmail.com> Message-ID: Hola a todos, soy nuevo aqui y programando y me estoy iniciando con python. Tengo un pequeño proyecto mocap que combina blender, python y un microcontrolador con sus respectivos sensores. El microcontrolador moniorea el estado de los sensores, carga un string con estos datos, lo manda via serial, ahora bien, tengo el codigo que modifica mi esqueleto frame por frame controlado, pero tengo un problema con la recepcion de los datos, con pyserial puedo leer todo lo que llegue al puerto, pero en si yo necesito un manejo de eventos, me explico: Un evento que me avise que llegó la señal al puerto y a partir de ahi yo llamo una función, que es precisamente la que actualiza la pose de mi armature. Yo puedo hacer un bucle que haga esto, es decir, que lea los datos recibidos y luego actualice mi armature, pero existe un inconveniente, no puedo poner mi funcion de actualizacion dentro de un bucle, porque blender cuando entra en un bucle hace el trabajo, pero como que se frisa y no muestra los movimientos en la ventana 3d hasta que salgo del script, y la idea es que yo pueda ver el movimiento de mi personaje en tiempo real, por eso necesito que se haga esto con eventos que esperen la señal y cuando llegue que llamen mi funcion. Tengo aqui un ejemplo que combina eventos con comunicacion serial hecho en Visual Basic, este lo utilicé en un proyecto similar y me funcionó, pero ahora lo necesito en python y no se como traducirlo: Imports System.IO Imports System.IO.Ports Public Class Form2 Dim Recibidos As String Public Sub New() InitializeComponent() SerialPort1.PortName = "COM6" ' Abrir puerto mientra se ejecute la aplicación If Not SerialPort1.IsOpen Then Try SerialPort1.Open() Catch ex As System.Exception MessageBox.Show(ex.ToString()) End Try End If ' Ejecutar la funcion Recepcion por disparo del Evento 'DataReived' AddHandler SerialPort1.DataReceived, AddressOf Recepcion End Sub Private Sub Recepcion(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) ' Acumular los carácteres recibidos a nuestro 'buffer' (string) Recibidos += serialPort1.ReadExisting() End Sub End Class No les dejo mi codigo porque no está terminado, pues me falta esata parte. Muchas gracias por anticipado. _________________________________________________________________ ¿Cuánto espacio necesitas para guardar tus emails? Con Hotmail tienes 5GB y puede ampliarse a más. http://www.descubrewindowslive.com/hotmail/almacenamiento.asp ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From pyarnau en gmail.com Tue Mar 2 18:30:32 2010 From: pyarnau en gmail.com (Arnau Sanchez) Date: Tue, 02 Mar 2010 18:30:32 +0100 Subject: [Python-es] Consulta sobre control de procesos In-Reply-To: References: <4B8CFA97.3010908@gmail.com> Message-ID: <4B8D4B38.6000202@gmail.com> On 02/03/10 15:59, Carlos Herrera Polo wrote: > No programo en Python, realmente no programo nada desde hace varios > años, es por eso que no entiendo al 100% la programacion orientada a > objetos. De hecho Python es multiparadigma, puedes hacer programación imperativa "normal" sin utilizar objetos/clases (aunque los tipos básicos sí que son objetos). > Comence a programar en BASIC !, luego en Pascal y termine en > PowerBuilder, de ahi herede ciertas costumbres, como por ejemplo ... ls > significa (local string) Ah, de acuerdo. Sólo era por comentarlo, que en Python ese tipo de nomenclatura no es idiomática. http://python.net/~goodger/projects/pycon/2007/idiomatic/handout.html > Todo esto funciona bien, el tema es que "ejecutable.exe" a veces se > queda como "pegado" y veo que en los procesos de Windows tengo varios > ejecutable.exe, asi que cada ciertos dias estoy obligado de revisar que > esto no ocurra, ya que la herramienta deja de trabajar.... Entonces ya habías empezado bien con subprocess.Popen. Hay muchas formas de controlar el proceso una vez arrancado, aquí va un pequeño ejemplo que re-inicia la ejecución si pasados N segundos no ha terminado. http://docs.python.org/library/subprocess.html import subprocess import time def run_command(command, maxtime): popen = None while 1: if not popen: popen = subprocess.Popen(command) itime = time.time() print popen, itime continue elif popen.poll() is not None: break elapsed = time.time() - itime if elapsed > maxtime: popen.terminate() popen.wait() popen = None continue time.sleep(1) return popen.wait() retcode = run_command(["comando", "arg1", "arg2"], 60) -- http://www.arnau-sanchez.com From xiscu en email.de Tue Mar 2 17:57:24 2010 From: xiscu en email.de (xiscu) Date: Tue, 02 Mar 2010 17:57:24 +0100 Subject: [Python-es] Datos recibidos con pyserial y eventos In-Reply-To: References: <4e4c1c491003020446h6ba8ce62k5ca6e976a0083844@mail.gmail.com> Message-ID: <4B8D4374.1040803@email.de> RODOLFO SENA ALCANTARA wrote: > Hola a todos, soy nuevo aqui y programando y me estoy iniciando con python. > > Tengo un pequeño proyecto mocap que combina blender, python y un > microcontrolador con sus respectivos sensores. > > El microcontrolador moniorea el estado de los sensores, carga un string > con estos datos, lo manda via serial, ahora bien, tengo el codigo que > modifica mi esqueleto frame por frame controlado, pero tengo un problema > con la recepcion de los datos, con pyserial puedo leer todo lo que > llegue al puerto, pero en si yo necesito un manejo de eventos, me explico: > > Un evento que me avise que llegó la señal al puerto y a partir de ahi yo > llamo una función, que es precisamente la que actualiza la pose de mi > armature. Hola Rodolfo, a mi parecer se podria separar y/o emular lo del evento o callback si se separasen el leer del puerto y el actualizar la pantalla en distintos procesos. Googleando encontre: http://stackoverflow.com/questions/911089/python-monitoring-over-serial-port http://eli.thegreenplace.net/2009/08/07/a-live-data-monitor-with-python-pyqt-and-pyserial/ En el help de pyserial no encotré nada sobre registrar alguna función ... Un saludo > > Yo puedo hacer un bucle que haga esto, es decir, que lea los datos > recibidos y luego actualice mi armature, pero existe un inconveniente, > no puedo poner mi funcion de actualizacion dentro de un bucle, porque > blender cuando entra en un bucle hace el trabajo, pero como que se frisa > y no muestra los movimientos en la ventana 3d hasta que salgo del > script, y la idea es que yo pueda ver el movimiento de mi personaje en > tiempo real, por eso necesito que se haga esto con eventos que esperen > la señal y cuando llegue que llamen mi funcion. > > Tengo aqui un ejemplo que combina eventos con comunicacion serial hecho > en Visual Basic, este lo utilicé en un proyecto similar y me funcionó, > pero ahora lo necesito en python y no se como traducirlo: > > > *Imports System.IO > Imports System.IO.Ports* > > ** > > *Public Class Form2 > Dim Recibidos As String > Public Sub New() > InitializeComponent() > SerialPort1.PortName = "COM6" > ' Abrir puerto mientra se ejecute la aplicación > If Not SerialPort1.IsOpen Then > Try > SerialPort1.Open() > Catch ex As System.Exception > MessageBox.Show(ex.ToString()) > End Try > End If > ' Ejecutar la funcion Recepcion por disparo del Evento 'DataReived' > AddHandler SerialPort1.DataReceived, AddressOf Recepcion > End Sub > > Private Sub Recepcion(ByVal sender As Object, ByVal e As > System.IO.Ports.SerialDataReceivedEventArgs) > ' Acumular los carácteres recibidos a nuestro 'buffer' (string) > Recibidos += serialPort1.ReadExisting() > End Sub > End Class* > > No les dejo mi codigo porque no está terminado, pues me falta esata parte. > > Muchas gracias por anticipado. > > > ------------------------------------------------------------------------ > Tu Hotmail guarda el borrador que estás escribiendo para que no pierdas > tu mensaje. Conoce cómo > > > > ------------------------------------------------------------------------ > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ From jjlorenzo en uci.cu Tue Mar 2 18:52:18 2010 From: jjlorenzo en uci.cu (=?ISO-8859-1?Q?Jos=E9_Jorge_Lorenzo_Vila?=) Date: Tue, 02 Mar 2010 12:52:18 -0500 Subject: [Python-es] [web] python-es.org In-Reply-To: <4B8CDF0D.5090607@aktivix.org> References: <4B87C93C.7070907@aktivix.org> <779d9e921002270702l1097075ava6761559f0ad23ca@mail.gmail.com> <1267292659.1858.6.camel@localhost.Stibbons> <4B8C165B.5050301@aktivix.org> <1267473340.19006.1.camel@localhost.Stibbons> <779d9e921003011159n6986eae7o75a34ea1751d6cd6@mail.gmail.com> <4B8C2FC1.2060408@uci.cu> <4B8C3381.10103@aktivix.org> <4B8C39E0.9040306@aktivix.org> <779d9e921003012345q254d73e6s1f55b4c02c45b1c2@mail.gmail.com> <31bcc7d51003020016s7d06578cl8a19943081e95dbe@mail.gmail.com> <4B8CDF0D.5090607@aktivix.org> Message-ID: <4B8D5052.1070001@uci.cu> On 03/02/2010 04:49 AM, d1d4c wrote: > Daniel Garcia Moreno escribió: >> 2010/3/2 Francisco Javier Cuadrado : > > ,,,/ >>> En mi humilde opinión, aquí habría que saber si queréis organizar >>> rápidamente la web o no, si es lo primero creo que ponerse a >>> reinventar la rueda es una pérdida de tiempo y que se debería montar >>> algo ya hecho y contrastado; si es lo segundo pues adelante con el >>> desarrollo. > > Tengo entendido que no hay ninguna prisa, ¿no? > >> Yo creo que lo suyo es hacer algo tangible primero y luego discutir >> sobre cómo mejorarlo, porque discutir antes lo que puede hacer es que >> al final no se llegue a tener nada. > > Sí, por eso yo he ido un poco "a saco" con esto. Disculpad mi > atrevimiento, siendo novato... > >> Así que he creado una estructura principal en django, >> http://github.com/danigm/web-python-es si os parece bien, partimos de >> esto y vamos desarrollando. Y en cuanto haya algo lo monto en mi >> servidor y vamos metiendo contenido. > > Olé! Ahí estamos, esa es la actitud ;) A ver si José y Oscar se animan > a meterle mano. > >>> Creo que para empezar lo mejor sería tener algún tipo de CMS/Wiki y un >>> planeta de blogs de temática «pythoniana» en español, siempre que haya >>> la suficiente cantidad de blogs. > > Mira, lo del planeta lo podemos montar paralelamente, creo que sí debe > haber suficientes blogs (y aunque sean pocos también). Para instalar > un CMS o una wiki siempre estamos a tiempo, pero mientras haya > movimiento con lo de desarrollar algo, como dice Daniel: > >> Lo bueno de desarrollar una aplicación propia es que se puede aprender >> por el camino algo de python. > > Y además, podemos ir preguntando en esta misma lista cualquier duda > que tengamos ;) > > No me importa lo simple que sea la web primigenia, lo interesante es > que sea extensible y que cualquiera desde aquí pueda experimentar con > ella intentando desarrollar alguna idea aunque sea en clave de ejercicio. > > Vamos viendo, saludos. > > > ps. Por cierto: http://www.django.es > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ Concuerdo plenamente en que es mejor partir de algo rápido, wiki, blogs, etc. Puse django porque es en lo que puedo ayudar con desarrollos y así todos aprendemos de cada uno. Se me ocurre un trac para las gestión del desarrollo de la web, aunque personalmente me gusta más redmine(que está hecho en ruby) y ando en planes de clonarlo sobre django. saludos From jjlorenzo en uci.cu Tue Mar 2 18:56:58 2010 From: jjlorenzo en uci.cu (=?ISO-8859-1?Q?Jos=E9_Jorge_Lorenzo_Vila?=) Date: Tue, 02 Mar 2010 12:56:58 -0500 Subject: [Python-es] [web] python-es.org In-Reply-To: <4B8CDF0D.5090607@aktivix.org> References: <4B87C93C.7070907@aktivix.org> <779d9e921002270702l1097075ava6761559f0ad23ca@mail.gmail.com> <1267292659.1858.6.camel@localhost.Stibbons> <4B8C165B.5050301@aktivix.org> <1267473340.19006.1.camel@localhost.Stibbons> <779d9e921003011159n6986eae7o75a34ea1751d6cd6@mail.gmail.com> <4B8C2FC1.2060408@uci.cu> <4B8C3381.10103@aktivix.org> <4B8C39E0.9040306@aktivix.org> <779d9e921003012345q254d73e6s1f55b4c02c45b1c2@mail.gmail.com> <31bcc7d51003020016s7d06578cl8a19943081e95dbe@mail.gmail.com> <4B8CDF0D.5090607@aktivix.org> Message-ID: <4B8D516A.5040805@uci.cu> Aunque pensé en un trac o redmine, en verdad eso se puede gestionar desde github también y no hace falta más que referencias para los que no conocemos los flujos de trabajo en github. saludos From jjlorenzo en uci.cu Tue Mar 2 18:56:58 2010 From: jjlorenzo en uci.cu (=?ISO-8859-1?Q?Jos=E9_Jorge_Lorenzo_Vila?=) Date: Tue, 02 Mar 2010 12:56:58 -0500 Subject: [Python-es] [web] python-es.org In-Reply-To: <4B8CDF0D.5090607@aktivix.org> References: <4B87C93C.7070907@aktivix.org> <779d9e921002270702l1097075ava6761559f0ad23ca@mail.gmail.com> <1267292659.1858.6.camel@localhost.Stibbons> <4B8C165B.5050301@aktivix.org> <1267473340.19006.1.camel@localhost.Stibbons> <779d9e921003011159n6986eae7o75a34ea1751d6cd6@mail.gmail.com> <4B8C2FC1.2060408@uci.cu> <4B8C3381.10103@aktivix.org> <4B8C39E0.9040306@aktivix.org> <779d9e921003012345q254d73e6s1f55b4c02c45b1c2@mail.gmail.com> <31bcc7d51003020016s7d06578cl8a19943081e95dbe@mail.gmail.com> <4B8CDF0D.5090607@aktivix.org> Message-ID: <4B8D516A.5040805@uci.cu> Aunque pensé en un trac o redmine, en verdad eso se puede gestionar desde github también y no hace falta más que referencias para los que no conocemos los flujos de trabajo en github. saludos From andreinamejia en gmail.com Wed Mar 3 00:59:04 2010 From: andreinamejia en gmail.com (Andreina Mejia) Date: Tue, 2 Mar 2010 19:29:04 -0430 Subject: [Python-es] =?iso-8859-1?q?Resumen_de_Python-es=2C_Vol_3=2C_Env?= =?iso-8859-1?q?=EDo_5?= In-Reply-To: References: Message-ID: <4e4c1c491003021559r3ad1d6c5v92b5bb8456b4aff5@mail.gmail.com> Ok Arnau, estoy haciendo la interfaz en Glade 3.6.7. Esto es parte de la definición del área de edición de texto de mi aplicación: #Importo el widget textview self.Texto = self.w_tree.get_widget ('Texto') #Obtengo directamente su buffer self.buffer = self.Texto.get_buffer() En Glade, el textview ya tiene asociado un buffer del tipo gtk.TextBuffer... Al ver esto bien y tus preguntas, se me ocurrió probar insertando el textview (sin importarlo de Glade) con GTK para solo trabajar con el buffer y el textview de gtksourceview2 y así "solucionar el problema", ya que gtk.TextBuffer y gtk.TextView son ancestros de gtksourceview2.Buffer y gtksourceview2.View, respectivamente, y las funciones de mi aplicación que dependen del buffer y textview, en teoría, no se verían afectadas: #Importo el scrollwindow desde glade, en donde antes se encontraba el textview que importaba... self.Barras = self.w_tree.get_widget ('Barras') self.buffer = gtkview.Buffer() self.Texto = gtkview.View(self.buffer) #Inserto Texto en el scrollwindow self.Barras.add(self.Texto) Pero cuando lo pruebo, el textview no aparece :(... Probé insertándolo directamente en el Vpaned y nada :( Alguna sugerencia? :( Gracias de antemano! ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From fitopluss en hotmail.es Wed Mar 3 01:50:45 2010 From: fitopluss en hotmail.es (RODOLFO SENA ALCANTARA) Date: Tue, 2 Mar 2010 20:50:45 -0400 Subject: [Python-es] DISCULPEN POR EL ASUNTO DE LOS HILOS Message-ID: Lamento tener que aprender esto de los hilos de esta forma, pero espero no volver a cometer este atropello, y si lo he cometido nuevamente avisenme que yo mismo me quito la correa y me doy una pela. Pero en serio, pido disculpas humildemente. _________________________________________________________________ Hotmail tiene actualización automática de la bandeja de entrada, para que ningún email se escape de tu vista. Ver más http://www.descubrewindowslive.com/hotmail/actualizacion-guardado.asp ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From fitopluss en hotmail.es Wed Mar 3 03:24:54 2010 From: fitopluss en hotmail.es (RODOLFO SENA ALCANTARA) Date: Tue, 2 Mar 2010 22:24:54 -0400 Subject: [Python-es] Pyserial + eventos + blender Message-ID: Gracias xiscu, voy a experimentar con eso que me dices. _________________________________________________________________ Espacio de almacenamiento siempre en crecimiento. Con Hotmail almacena 5GB y más. Haz clic aquí http://www.descubrewindowslive.com/hotmail/almacenamiento.asp ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From carlos.herrerapolo en gmail.com Wed Mar 3 04:33:00 2010 From: carlos.herrerapolo en gmail.com (Carlos Herrera Polo) Date: Tue, 2 Mar 2010 22:33:00 -0500 Subject: [Python-es] Consulta sobre control de procesos In-Reply-To: <4B8D4B38.6000202@gmail.com> References: <4B8CFA97.3010908@gmail.com> <4B8D4B38.6000202@gmail.com> Message-ID: Excelente, gracias. Voy a intentar con subprocesos, Saludos y nuevamente gracias x el apoyo El 02/03/10, Arnau Sanchez escribió: > On 02/03/10 15:59, Carlos Herrera Polo wrote: > >> No programo en Python, realmente no programo nada desde hace varios >> años, es por eso que no entiendo al 100% la programacion orientada a >> objetos. > > De hecho Python es multiparadigma, puedes hacer programación imperativa > "normal" > sin utilizar objetos/clases (aunque los tipos básicos sí que son objetos). > >> Comence a programar en BASIC !, luego en Pascal y termine en >> PowerBuilder, de ahi herede ciertas costumbres, como por ejemplo ... ls >> significa (local string) > > Ah, de acuerdo. Sólo era por comentarlo, que en Python ese tipo de > nomenclatura > no es idiomática. > > http://python.net/~goodger/projects/pycon/2007/idiomatic/handout.html > >> Todo esto funciona bien, el tema es que "ejecutable.exe" a veces se >> queda como "pegado" y veo que en los procesos de Windows tengo varios >> ejecutable.exe, asi que cada ciertos dias estoy obligado de revisar que >> esto no ocurra, ya que la herramienta deja de trabajar.... > > Entonces ya habías empezado bien con subprocess.Popen. Hay muchas formas de > controlar el proceso una vez arrancado, aquí va un pequeño ejemplo que > re-inicia > la ejecución si pasados N segundos no ha terminado. > > http://docs.python.org/library/subprocess.html > > import subprocess > import time > > def run_command(command, maxtime): > popen = None > while 1: > if not popen: > popen = subprocess.Popen(command) > itime = time.time() > print popen, itime > continue > elif popen.poll() is not None: > break > elapsed = time.time() - itime > if elapsed > maxtime: > popen.terminate() > popen.wait() > popen = None > continue > time.sleep(1) > > return popen.wait() > > retcode = run_command(["comando", "arg1", "arg2"], 60) > > -- > http://www.arnau-sanchez.com > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > -- Enviado desde mi dispositivo móvil From pyarnau en gmail.com Wed Mar 3 12:23:45 2010 From: pyarnau en gmail.com (Arnau Sanchez) Date: Wed, 03 Mar 2010 12:23:45 +0100 Subject: [Python-es] =?iso-8859-1?q?Resumen_de_Python-es=2C_Vol_3=2C_Env?= =?iso-8859-1?q?=EDo_5?= In-Reply-To: <4e4c1c491003021559r3ad1d6c5v92b5bb8456b4aff5@mail.gmail.com> References: <4e4c1c491003021559r3ad1d6c5v92b5bb8456b4aff5@mail.gmail.com> Message-ID: <4B8E46C1.1030103@gmail.com> On 03/03/10 00:59, Andreina Mejia wrote: > Ok Arnau, estoy haciendo la interfaz en Glade 3.6.7. Esto es parte de la > definición del área de edición de texto de mi aplicación: No uso glade, pero imagino que no sabrá nada de gtksourceview2. Así que en cualquier caso la inserción del widget hay que hacerla a mano (y lo de buffer no será entonces un problema). > #Importo el scrollwindow desde glade, en donde antes se encontraba el > textview que importaba... > self.Barras = self.w_tree.get_widget ('Barras') > > self.buffer = gtkview.Buffer() > self.Texto = gtkview.View(self.buffer) > > #Inserto Texto en el scrollwindow > self.Barras.add(self.Texto) > > Pero cuando lo pruebo, el textview no aparece :(... ¿Has probado a hacer un show() del widget? arnau pd: Si respondes directamente a un resumen (digest) de la lista, se rompe el hilo en el archivo (y en los clientes), mira: http://mail.python.org/pipermail/python-es/2010-March/thread.html No tengo experiencia con el modo digest pero imagino que habrá alguna forma de responder manteniendo el hilo (lo que incluye el asunto, pero también headers como el In-Reply-To). -- http://www.arnau-sanchez.com From pyarnau en gmail.com Wed Mar 3 13:02:49 2010 From: pyarnau en gmail.com (Arnau Sanchez) Date: Wed, 03 Mar 2010 13:02:49 +0100 Subject: [Python-es] DISCULPEN POR EL ASUNTO DE LOS HILOS In-Reply-To: References: Message-ID: <4B8E4FE9.6040608@gmail.com> On 03/03/10 01:50, RODOLFO SENA ALCANTARA wrote: > Lamento tener que aprender esto de los hilos de esta forma, pero espero > no volver a cometer este atropello, y si lo he cometido nuevamente > avisenme ¿Nos hemos perdido algo? imagino que algún administrador te habrá llamado la atención en privado por romper el hilo con este mensaje (aunque es posterior a la disculpa): http://mail.python.org/pipermail/python-es/2010-March/000597.html Ya que estamos, te recomendaría que no pusieras todo tu nombre en mayúsculas (mayúsculas=gritar, en Internet). Y lo mismo para los asuntos que uses. Un repaso a la netiqueta nunca está de más (me incluyo, que ya sabemos cómo las gasta la ley de Skitt): http://python-es-faq.wikidot.com/como-preguntar http://es.wikipedia.org/wiki/Netiquette Y por último, aunque no es imperativo, hay muchos servidores de correo gratuitos que tienen la deferencia de no incluir publicidad en los mensajes, quizá deberías considerar un cambio. -- http://www.arnau-sanchez.com From oscar.carballal en gmail.com Wed Mar 3 13:45:27 2010 From: oscar.carballal en gmail.com (Oscar Carballal Prego) Date: Wed, 3 Mar 2010 13:45:27 +0100 Subject: [Python-es] [web] python-es.org In-Reply-To: <779d9e921003012345q254d73e6s1f55b4c02c45b1c2@mail.gmail.com> References: <4B87C93C.7070907@aktivix.org> <779d9e921002270656u2efbf77qdba80de67056d861@mail.gmail.com> <779d9e921002270702l1097075ava6761559f0ad23ca@mail.gmail.com> <1267292659.1858.6.camel@localhost.Stibbons> <4B8C165B.5050301@aktivix.org> <1267473340.19006.1.camel@localhost.Stibbons> <779d9e921003011159n6986eae7o75a34ea1751d6cd6@mail.gmail.com> <4B8C2FC1.2060408@uci.cu> <4B8C3381.10103@aktivix.org> <4B8C39E0.9040306@aktivix.org> <779d9e921003012345q254d73e6s1f55b4c02c45b1c2@mail.gmail.com> Message-ID: <48ABC4BB-72A5-4609-B6CD-F2420FC376D1@gmail.com> El 02/03/2010, a las 8:45, Francisco Javier Cuadrado escribió: > [...] > Creo que para empezar lo mejor sería tener algún tipo de CMS/Wiki y un > planeta de blogs de temática «pythoniana» en español, siempre que haya > la suficiente cantidad de blogs. Perdonad que no haya respondido antes, he estado liado. Respecto a lo de hacer la web en Django, empezamos cuando queráis, aunque también estoy de acuerdo en que para empezar a tener algo tangible podríamos montar algo sencillo mientras lo de Django no está listo. Yo apostaría por una Wiki del estilo DokuWiki. ¿Qué os parece? Un saludo, Oscar C. From fcocuadrado en gmail.com Wed Mar 3 13:47:34 2010 From: fcocuadrado en gmail.com (Francisco Javier Cuadrado) Date: Wed, 3 Mar 2010 13:47:34 +0100 Subject: [Python-es] [web] python-es.org In-Reply-To: <48ABC4BB-72A5-4609-B6CD-F2420FC376D1@gmail.com> References: <4B87C93C.7070907@aktivix.org> <1267292659.1858.6.camel@localhost.Stibbons> <4B8C165B.5050301@aktivix.org> <1267473340.19006.1.camel@localhost.Stibbons> <779d9e921003011159n6986eae7o75a34ea1751d6cd6@mail.gmail.com> <4B8C2FC1.2060408@uci.cu> <4B8C3381.10103@aktivix.org> <4B8C39E0.9040306@aktivix.org> <779d9e921003012345q254d73e6s1f55b4c02c45b1c2@mail.gmail.com> <48ABC4BB-72A5-4609-B6CD-F2420FC376D1@gmail.com> Message-ID: <779d9e921003030447y7e308452qee8227a3cc011bc2@mail.gmail.com> El día 3 de marzo de 2010 13:45, Oscar Carballal Prego escribió: > El 02/03/2010, a las 8:45, Francisco Javier Cuadrado escribió: > >> [...] >> Creo que para empezar lo mejor sería tener algún tipo de CMS/Wiki y un >> planeta de blogs de temática «pythoniana» en español, siempre que haya >> la suficiente cantidad de blogs. > > Perdonad que no haya respondido antes, he estado liado. Respecto a lo de > hacer la web en Django, empezamos cuando queráis, aunque también estoy de > acuerdo en que para empezar a tener algo tangible podríamos montar algo > sencillo mientras lo de Django no está listo. Yo apostaría por una Wiki del > estilo DokuWiki. ¿Qué os parece? > +1 a dokuwiki, he administrado alguno y, es sencillo y funciona muy bien. > Un saludo, > Oscar C. > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > -- Saludos Fran From inf200523 en ucf.edu.cu Wed Mar 3 15:00:21 2010 From: inf200523 en ucf.edu.cu (Boris Perez Canedo) Date: Wed, 3 Mar 2010 09:00:21 -0500 (EST) Subject: [Python-es] formato para string y MySQLdb Message-ID: <1186.10.14.19.63.1267624821.squirrel@correo> Hola a todos, Necesito almacenar en una base de datos (MySQL) cadenas que contienen el caracter \ , sucede que este es el caracter de escape y si, por ejemplo, hago lo de abajo solo me almacena \hola. La cadena que tengo que almacenar es del tipo unicode. En la tabla los campos son utf8_unicode_ci import MySQLdb word = u'\\hola' query = "insert into cadenas (cadena) values ( '%s' )" %(word, ) ... como necesito comparar informacion nueva con la almacenada el resultado de una consulta select == word me da False cuando yo espero que sea True. Gracias de antemano. Boris. --- La mejor vacuna contra el virus A(H1N1) es la higiene personal ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From lasizoillo en gmail.com Wed Mar 3 15:40:19 2010 From: lasizoillo en gmail.com (lasizoillo) Date: Wed, 3 Mar 2010 15:40:19 +0100 Subject: [Python-es] formato para string y MySQLdb In-Reply-To: <1186.10.14.19.63.1267624821.squirrel@correo> References: <1186.10.14.19.63.1267624821.squirrel@correo> Message-ID: <49414f571003030640w359517c3v219de464d7a19608@mail.gmail.com> El día 3 de marzo de 2010 15:00, Boris Perez Canedo escribió: > Hola a todos, > > Necesito almacenar en una base de datos (MySQL) cadenas que contienen el > caracter \ , sucede que este es el caracter de escape y si, por ejemplo, > hago lo de abajo solo me almacena \hola. La cadena que tengo que almacenar > es del tipo unicode. En la tabla los campos son utf8_unicode_ci > > import MySQLdb > > word = u'\\hola' > > query = "insert into cadenas (cadena) values ( '%s' )" %(word, ) > ... > > como necesito comparar informacion nueva con la almacenada el resultado de > una consulta select == word me da False cuando yo espero que sea True. > > No hagas nunca eso o un malvado practicante te meterá una gran inyencción SQL. http://wiki.python.org/moin/DbApiFaq usa: query = "insert into cadenas (cadena) values ( '%s' )" cursor.execute(query, word) #Nunca jamas: cursor.execute(query % word) Un saludo: Javi From inf200523 en ucf.edu.cu Wed Mar 3 16:13:52 2010 From: inf200523 en ucf.edu.cu (Boris Perez Canedo) Date: Wed, 3 Mar 2010 10:13:52 -0500 (EST) Subject: [Python-es] formato para string y MySQLdb In-Reply-To: <49414f571003030640w359517c3v219de464d7a19608@mail.gmail.com> References: <1186.10.14.19.63.1267624821.squirrel@correo> <49414f571003030640w359517c3v219de464d7a19608@mail.gmail.com> Message-ID: <1525.10.14.19.63.1267629232.squirrel@correo> > El día 3 de marzo de 2010 15:00, Boris Perez Canedo > escribió: >> Hola a todos, >> >> Necesito almacenar en una base de datos (MySQL) cadenas que contienen el >> caracter \ , sucede que este es el caracter de escape y si, por ejemplo, >> hago lo de abajo solo me almacena \hola. La cadena que tengo que almacenar >> es del tipo unicode. En la tabla los campos son utf8_unicode_ci >> >> import MySQLdb >> >> word = u'\\hola' >> >> query = "insert into cadenas (cadena) values ( '%s' )" %(word, ) >> ... >> >> como necesito comparar informacion nueva con la almacenada el resultado de >> una consulta select == word me da False cuando yo espero que sea True. >> >> > > No hagas nunca eso o un malvado practicante te meterá una gran inyencción SQL.  uuufff!!!, Ok. > http://wiki.python.org/moin/DbApiFaq > > usa: > > query = "insert into cadenas (cadena) values ( '%s' )" > cursor.execute(query, word) #Nunca jamas: cursor.execute(query % word) >  Disculpen mi ignorancia, soy bastante nuevo en esto, acabo de ver el link. Gracias Javi. Saludos, Boris. --- La mejor vacuna contra el virus A(H1N1) es la higiene personal ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From pych3m4 en gmail.com Wed Mar 3 18:45:29 2010 From: pych3m4 en gmail.com (Chema Cortes) Date: Wed, 3 Mar 2010 18:45:29 +0100 Subject: [Python-es] formato para string y MySQLdb In-Reply-To: <1525.10.14.19.63.1267629232.squirrel@correo> References: <1186.10.14.19.63.1267624821.squirrel@correo> <49414f571003030640w359517c3v219de464d7a19608@mail.gmail.com> <1525.10.14.19.63.1267629232.squirrel@correo> Message-ID: <2c9fb0dd1003030945k369ed6a3g8a1b1c69244f6ac8@mail.gmail.com> El día 3 de marzo de 2010 16:13, Boris Perez Canedo escribió: >> El día 3 de marzo de 2010 15:00, Boris Perez Canedo >> usa: >> >> query = "insert into cadenas (cadena) values ( '%s' )" >> cursor.execute(query, word) #Nunca jamas: cursor.execute(query % word) >> > Disculpen mi ignorancia, soy bastante nuevo en esto, acabo de ver el link. Cuidado. Un error típico es considerar el %s indicativo de los parámetros de la dbapi como si fuera igual al operador formato de las cadenas de caracteres. Lo correcto es usarlo sin las comillas simples: query = "insert into cadenas (cadena) values (%s)" Y el %s es el único que se usa (nada de %d para enteros, %f para reales, etc). El conector MySQLdb ya se encargará luego de convertir los datos de python a mysql. From d1d4c en aktivix.org Wed Mar 3 19:23:25 2010 From: d1d4c en aktivix.org (d1d4c) Date: Wed, 03 Mar 2010 19:23:25 +0100 Subject: [Python-es] [web] python-es.org In-Reply-To: <779d9e921003030447y7e308452qee8227a3cc011bc2@mail.gmail.com> References: <4B87C93C.7070907@aktivix.org> <1267292659.1858.6.camel@localhost.Stibbons> <4B8C165B.5050301@aktivix.org> <1267473340.19006.1.camel@localhost.Stibbons> <779d9e921003011159n6986eae7o75a34ea1751d6cd6@mail.gmail.com> <4B8C2FC1.2060408@uci.cu> <4B8C3381.10103@aktivix.org> <4B8C39E0.9040306@aktivix.org> <779d9e921003012345q254d73e6s1f55b4c02c45b1c2@mail.gmail.com> <48ABC4BB-72A5-4609-B6CD-F2420FC376D1@gmail.com> <779d9e921003030447y7e308452qee8227a3cc011bc2@mail.gmail.com> Message-ID: <4B8EA91D.7030101@aktivix.org> Francisco Javier Cuadrado escribió: .../ > +1 a dokuwiki, he administrado alguno y, es sencillo y funciona muy bien. Danigm y yo estuvimos hablando sobre esto el otro día y llegamos a la conclusión de que tal vez lo mejor sería utilizar django-wikiapp[0], por integrarlo todo la misma aplicación y por estar escrito en python (así podríamos incluso tocar el código si fuese necesario, etc). Yo lo apunté en el ToDo de la wiki[1] del proyecto en github y ahora veo que danigm ya lo ha incluido en el proyecto, o sea, que ya está hecho (ese danigm;)... ¿Os parece bien darle una oportunidad a django-wikiapp? Saludos. [0] https://launchpad.net/django-wikiapp [1] http://wiki.github.com/danigm/web-python-es From d1d4c en aktivix.org Wed Mar 3 19:51:01 2010 From: d1d4c en aktivix.org (d1d4c) Date: Wed, 03 Mar 2010 19:51:01 +0100 Subject: [Python-es] DISCULPEN POR EL ASUNTO DE LOS HILOS In-Reply-To: <4B8E4FE9.6040608@gmail.com> References: <4B8E4FE9.6040608@gmail.com> Message-ID: <4B8EAF95.7050600@aktivix.org> Hola Arnau Sanchez escribió: > On 03/03/10 01:50, RODOLFO SENA ALCANTARA wrote: > >> Lamento tener que aprender esto de los hilos de esta forma, pero espero >> no volver a cometer este atropello, y si lo he cometido nuevamente >> avisenme Ei, Rodolfo, que no pasa nada, no hace falta que te disculpes tanto XD > ¿Nos hemos perdido algo? imagino que algún administrador te habrá > llamado la atención en privado por romper el hilo con este mensaje > (aunque es posterior a la disculpa): > > http://mail.python.org/pipermail/python-es/2010-March/000597.html Un admin, no, le escribí yo. Suelo hacerlo, lo de enviar privados para echar un cable con cosas como estas... Y para que no os penséis que le eché la bronca o algo (por su respuesta), os incluyo el mensaje en cuestión: d1d4c escribió: > Ei Rodolfo :) > > Bienvenido a la lista. Nada, sólo un comentario: > Cuando quieras escribir un mensaje (e hilo) nuevo, debes redactar un > mensaje nuevo. Contestar a otro mensaje y cambiar el asunto no es > suficiente, sigues contestando en el mismo hilo. Compruébalo en el > archivo: > http://thread.gmane.org/gmane.comp.python.general.hispano/467 > > Tu mensaje sale anidado dentro del hilo "Cómo integrar GtkSourceView > en una aplicación" que no tiene ninguna relación con tu mensaje, creo. > > Esto tiene el inconveniente de que quien no lea ese hilo porque no le > interese, tampoco verá tu mensaje, pues muchos vemos los correos > anidados y contraídos, y sólo expandimos los que nos interesa leer... > > Ok? Saludos. > > pd:Ah, te recomiendo que uses otro cliente de correo para suscribirte > a listas de correo, porque la publicidad no está bien vista (tu > hotmail incluye publicidad en tus propios mensajes...) > > pd2:Por cierto, ¿conoces http://www.arduino.cc/ ? ;) > Ya que estamos, te recomendaría que no pusieras todo tu nombre en > mayúsculas (mayúsculas=gritar, en Internet). Y lo mismo para los asuntos > que uses. Un repaso a la netiqueta nunca está de más (me incluyo, que ya > sabemos cómo las gasta la ley de Skitt): > > http://python-es-faq.wikidot.com/como-preguntar > > http://es.wikipedia.org/wiki/Netiquette > > Y por último, aunque no es imperativo, hay muchos servidores de correo > gratuitos que tienen la deferencia de no incluir publicidad en los > mensajes, quizá deberías considerar un cambio. Y ya que estamos, también, otra cosa, Rodolfo, cuando recibas un mensaje, lo primero es ver de dónde te llega, quién lo manda, es decir, si proviene de la lista o es un privado... ;) Sin más, un saludo. From esteve en sindominio.net Wed Mar 3 20:09:56 2010 From: esteve en sindominio.net (Esteve Fernandez) Date: Wed, 3 Mar 2010 20:09:56 +0100 (CET) Subject: [Python-es] =?iso-8859-1?q?pycon_espa=F1a?= In-Reply-To: <65ee23cf2ab1debc65065a1bacee3e93.squirrel@webmail.sindominio.net> References: <65ee23cf2ab1debc65065a1bacee3e93.squirrel@webmail.sindominio.net> Message-ID: <19ba88e454491b204dfad05a079f0dfd.squirrel@webmail.sindominio.net> Hola de nuevo, no me esperaba una respuesta tan positiva. Para evitar generar más ruido en la lista, he creado un grupo en Google Groups donde podemos empezar a organizarnos: http://groups.google.com/group/pycon-espana ¡muchas gracias a todos por vuestras opiniones! Saludos. > Hola a todos, > > sigo la lista, pero lo cierto es que no participo mucho. Me gustaría poder > participar más, pero mis conocimientos están bastante enfocados a Twisted, > espero algún día aprender más de wxWidgets o ZOPE :-) > > Bueno, el motivo de este e-mail es para ver qué os parecería hacer una PyCon > España. En septiembre se celebró la PyCon Argentina, así que interés en Python > en el mundo hispano, seguro que hay. > > La propuesta esconde un objetivo escondido :-) Así podríamos prepararnos para > poder presentar la candidatura para la EuroPython en 2013. Este año se vuelve > a hacer en Birmingham y los dos siguentes en Florencia. > > Bueno, ¿qué os parece? Si tira adelante la propuesta, tendríamos que decidir > dónde hacerla. Yo no tengo ninguna preferencia en especial, aunque en > Barcelona el Citilab ofrece espacio gratuito (o a un precio muy asequible) > para conferencias de software libre/open source sin ánimo de lucro. La Euruko > 2009 (la conferencia de europea de Ruby) se celebró allí el año pasado: > > Citilab: > http://es.citilab.eu/inicio/ > > Euruko 2009: > http://euruko2009.org/archives/2009/4/25/a_visual_guide_to_the_venue_for_euruko_2009/ > > también se celebró hace muy poco un evento de programadores de Nokia, pero me > imagino que se les cobró el espacio a la organización: > > Maemo-Barcelona Long Weekend: > http://wiki.maemo.org/Maemo-Barcelona_Long_Weekend > > Saludos. > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > From d1d4c en aktivix.org Wed Mar 3 20:21:52 2010 From: d1d4c en aktivix.org (d1d4c) Date: Wed, 03 Mar 2010 20:21:52 +0100 Subject: [Python-es] =?iso-8859-1?q?Resumen_de_Python-es=2C_Vol_3=2C_Env?= =?iso-8859-1?q?=EDo_5?= In-Reply-To: <4B8E46C1.1030103@gmail.com> References: <4e4c1c491003021559r3ad1d6c5v92b5bb8456b4aff5@mail.gmail.com> <4B8E46C1.1030103@gmail.com> Message-ID: <4B8EB6D0.70009@aktivix.org> Hola. Arnau Sanchez escribió: .../ > No tengo experiencia con el modo digest pero imagino que habrá alguna > forma de responder manteniendo el hilo (lo que incluye el asunto, pero > también headers como el In-Reply-To). El modo digest sólo puede servirle (si es que puede llegar a servir de algo) a quien no pretenda escribir, sólo leer. En mi opinión, quien se suscribe a una lista y selecciona el modo digest, es simplemente porque cae en la trampa. Deberíamos editar el texto html de esa página y explicar eso, que con ese modo no se puede participar, sólo leer. Porque para poder poner el header y el In-Reply-To correspondientes, antes has de saber cuáles son, y eso no sale ni en el digest ni en ninguno de los archivos web, que yo sepa. En mi opinión, esa opción se debería quitar de mailman 'in secula seculorum'. No entiendo qué hace todavía allí. Como le dije ya en un privado (también), en mi opinión, lo mejor que Andreina puede hacer respecto a este tema, es ir a sus preferencias de suscripción y cambiar eso. No hay más, cayó en la trampa del modo digest. Saludos. From d1d4c en aktivix.org Wed Mar 3 22:16:11 2010 From: d1d4c en aktivix.org (d1d4c) Date: Wed, 03 Mar 2010 22:16:11 +0100 Subject: [Python-es] =?iso-8859-1?q?pycon_espa=F1a?= In-Reply-To: <19ba88e454491b204dfad05a079f0dfd.squirrel@webmail.sindominio.net> References: <65ee23cf2ab1debc65065a1bacee3e93.squirrel@webmail.sindominio.net> <19ba88e454491b204dfad05a079f0dfd.squirrel@webmail.sindominio.net> Message-ID: <4B8ED19B.10607@aktivix.org> Hola. Esteve Fernandez escribió: > Hola de nuevo, > > no me esperaba una respuesta tan positiva. Para evitar generar más ruido en la > lista, he creado un grupo en Google Groups donde podemos empezar a > organizarnos: > > http://groups.google.com/group/pycon-espana > > ¡muchas gracias a todos por vuestras opiniones! > > Saludos. Hablando de herramientas para coordinar proyectos (no de software), he creado también un proyecto (Pycon España) en coactivate[0], aunque sea a modo de ejemplo, creo que merece la pena echarle un vistazo... tiene wiki, blog y gestor de tareas, sumario, etc. Aparentemente tiene buena pinta. Más adelante, si eso, ya se montaría una web para la pycon, pero mientras, para coordinarse y eso... Para la edición de textos colaborativamente, está el etherpad de piratepad, por ejemplo. Hay más. He creado uno a modo de ejemplo[1]. Nada, usad lo que os venga mejor, sólo quería dejar constancia de que sabemos que existen cosas más allá de google ;). Yo de momento no voy a participar en la pycon, con lo de la web en django para python-es.org tengo bastante. Saludos y ánimo con eso! [0]http://www.coactivate.org/projects/pycon-es/summary [1]http://piratepad.net/pycon-es From inf200523 en ucf.edu.cu Wed Mar 3 23:14:46 2010 From: inf200523 en ucf.edu.cu (Boris Perez Canedo) Date: Wed, 3 Mar 2010 17:14:46 -0500 (EST) Subject: [Python-es] formato para string y MySQLdb In-Reply-To: <2c9fb0dd1003030945k369ed6a3g8a1b1c69244f6ac8@mail.gmail.com> References: <1186.10.14.19.63.1267624821.squirrel@correo> <49414f571003030640w359517c3v219de464d7a19608@mail.gmail.com> <1525.10.14.19.63.1267629232.squirrel@correo> <2c9fb0dd1003030945k369ed6a3g8a1b1c69244f6ac8@mail.gmail.com> Message-ID: <3803.10.14.19.64.1267654486.squirrel@correo.ucf.edu.cu> >>> El día 3 de marzo de 2010 15:00, Boris Perez Canedo >>> usa: >>> >>> query = "insert into cadenas (cadena) values ( '%s' )" >>> cursor.execute(query, word) #Nunca jamas: cursor.execute(query % word) >>> >> Disculpen mi ignorancia, soy bastante nuevo en esto, acabo de ver el link. > > Cuidado. Un error típico es considerar el %s indicativo de los > parámetros de la dbapi como si fuera igual al operador formato de las > cadenas de caracteres. Lo correcto es usarlo sin las comillas simples: > > query = "insert into cadenas (cadena) values (%s)" > > > Y el %s es el único que se usa (nada de %d para enteros, %f para > reales, etc). El conector MySQLdb ya se encargará luego de convertir > los datos de python a mysql.  Bien, pero yo necesito que la totalidad de los caracteres \ que tiene word (que es unicode) sean copiados en el campo de la tabla. Como puedo hacerlo? Saludos, Boris. --- La mejor vacuna contra el virus A(H1N1) es la higiene personal ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From jcea en jcea.es Thu Mar 4 05:21:48 2010 From: jcea en jcea.es (Jesus Cea) Date: Thu, 04 Mar 2010 05:21:48 +0100 Subject: [Python-es] =?iso-8859-15?q?MODO_DIGEST_=28era=3A_Re=3A__Resumen_?= =?iso-8859-15?q?de_Python-es=2C_Vol_3=2C_Env=EDo_5=29?= In-Reply-To: <4B8EB6D0.70009@aktivix.org> References: <4e4c1c491003021559r3ad1d6c5v92b5bb8456b4aff5@mail.gmail.com> <4B8E46C1.1030103@gmail.com> <4B8EB6D0.70009@aktivix.org> Message-ID: <4B8F355C.9040405@jcea.es> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 03/03/2010 08:21 PM, d1d4c wrote: > El modo digest sólo puede servirle (si es que puede llegar a servir de > algo) a quien no pretenda escribir, sólo leer. El modo digest, hoy en día, no tiene sentido. Recomiendo a los admins de la lista que desactiven esa opción. - -- Jesus Cea Avion _/_/ _/_/_/ _/_/_/ jcea en jcea.es - http://www.jcea.es/ _/_/ _/_/ _/_/ _/_/ _/_/ jabber / xmpp:jcea en jabber.org _/_/ _/_/ _/_/_/_/_/ . _/_/ _/_/ _/_/ _/_/ _/_/ "Things are not so easy" _/_/ _/_/ _/_/ _/_/ _/_/ _/_/ "My name is Dump, Core Dump" _/_/_/ _/_/_/ _/_/ _/_/ "El amor es poner tu felicidad en la felicidad de otro" - Leibniz -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iQCVAwUBS481XJlgi5GaxT1NAQJOkQP+McwWcS4evM/KDxvkWWrVJ69uwEjv5xAq yBnPGU+E0EKNGQSpTWfXk0INOf/dufTa+yZoeCn2DGBKwrk/iyaXmBlbES0zta30 OQK4IrCwgUNRZoyyvJ1WsAUE1v7YBDB2M7cjiwlP9Y6aBPLj2XSIQGNP0FDFmSyc pbYw3aBxZcc= =d8cT -----END PGP SIGNATURE----- From faltet en pytables.org Thu Mar 4 09:05:10 2010 From: faltet en pytables.org (Francesc Alted) Date: Thu, 4 Mar 2010 09:05:10 +0100 Subject: [Python-es] =?iso-8859-1?q?MODO_DIGEST_=28era=3A_Re=3A__Resumen_d?= =?iso-8859-1?q?e_Python-es=2C_Vol_3=2C_Env=EDo_5=29?= In-Reply-To: <4B8F355C.9040405@jcea.es> References: <4B8EB6D0.70009@aktivix.org> <4B8F355C.9040405@jcea.es> Message-ID: <201003040905.10539.faltet@pytables.org> A Thursday 04 March 2010 05:21:48 Jesus Cea escrigué: > On 03/03/2010 08:21 PM, d1d4c wrote: > > El modo digest sólo puede servirle (si es que puede llegar a servir de > > algo) a quien no pretenda escribir, sólo leer. > > El modo digest, hoy en día, no tiene sentido. Recomiendo a los admins de > la lista que desactiven esa opción. Bueno, de decir que sólo sirve para leer a que no tiene sentido, hay un trecho. Yo prefiero que se le diga a la gente de manera cordial (com en el caso anterior) que mejor subscribirse en modo 'normal'. Saludos, -- Francesc Alted From fcocuadrado en gmail.com Thu Mar 4 09:40:03 2010 From: fcocuadrado en gmail.com (Francisco Javier Cuadrado) Date: Thu, 4 Mar 2010 09:40:03 +0100 Subject: [Python-es] =?utf-8?q?MODO_DIGEST_=28era=3A_Re=3A_Resumen_de_Pyth?= =?utf-8?b?b24tZXMsIFZvbCAzLCBFbnbDrW8gNSk=?= In-Reply-To: <201003040905.10539.faltet@pytables.org> References: <4B8EB6D0.70009@aktivix.org> <4B8F355C.9040405@jcea.es> <201003040905.10539.faltet@pytables.org> Message-ID: <779d9e921003040040u3f89be72u4a944ce69eaa130a@mail.gmail.com> El día 4 de marzo de 2010 09:05, Francesc Alted escribió: > A Thursday 04 March 2010 05:21:48 Jesus Cea escrigué: >> On 03/03/2010 08:21 PM, d1d4c wrote: >> > El modo digest sólo puede servirle (si es que puede llegar a servir de >> > algo) a quien no pretenda escribir, sólo leer. >> >> El modo digest, hoy en día, no tiene sentido. Recomiendo a los admins de >> la lista que desactiven esa opción. > > Bueno, de decir que sólo sirve para leer a que no tiene sentido, hay un > trecho.  Yo prefiero que se le diga a la gente de manera cordial (com en el > caso anterior) que mejor subscribirse en modo 'normal'. > Estoy con Francesc. Además yo creo que el modo digest se puede usar bien, si cuando vas a contestar al correo, te bajas el hilo antes y contestas a continuación. > Saludos, > > -- > Francesc Alted > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > -- Saludos Fran From jjlorenzo en uci.cu Thu Mar 4 09:43:15 2010 From: jjlorenzo en uci.cu (=?ISO-8859-1?Q?Jos=E9_Jorge_Lorenzo_Vila?=) Date: Thu, 04 Mar 2010 03:43:15 -0500 Subject: [Python-es] Duda con expresiones regulares Message-ID: <4B8F72A3.8090605@uci.cu> Hola lista, Siguiendo las indicaciones he instalado django-wikiapp, La duda es que tengo problemas con las expresiones regulares y el problema radica en que por omisión, el título de los artículos en la wiki se valida contra la siguiente expresión regular. Alguien me podría decir que patrón es el que se está definiendo aquí? Me imagino que no debería ser tan restrictivo, pero por alguna razón no me machea nada. WIKI_WORD_RE = r'(?:[A-Z]+[a-z]+){2,}' wikiword_pattern = re.compile('^' + WIKI_WORD_RE + '$') Gracias From fcocuadrado en gmail.com Thu Mar 4 09:53:39 2010 From: fcocuadrado en gmail.com (Francisco Javier Cuadrado) Date: Thu, 4 Mar 2010 09:53:39 +0100 Subject: [Python-es] Duda con expresiones regulares In-Reply-To: <4B8F72A3.8090605@uci.cu> References: <4B8F72A3.8090605@uci.cu> Message-ID: <779d9e921003040053k34009064r816f5e047b375775@mail.gmail.com> El día 4 de marzo de 2010 09:43, José Jorge Lorenzo Vila escribió: > > Hola lista, Hola. > Siguiendo las indicaciones he instalado django-wikiapp, > La duda es que tengo problemas con las expresiones regulares y el problema > radica en que por omisión, el título de los artículos en la wiki se valida > contra la siguiente expresión regular. > Alguien me podría decir que patrón es el que se está definiendo aquí? > Me imagino que no debería ser tan restrictivo, pero por alguna razón no me > machea nada. > > WIKI_WORD_RE = r'(?:[A-Z]+[a-z]+){2,}' > wikiword_pattern = re.compile('^' + WIKI_WORD_RE + '$') > No estoy muy seguro, nunca se me han dado demasiado bien, pero mirando la página de la wikipedia sobre expresiones regulares[1], creo que es una palabra que debe empezar con una mayúscula, seguida de cero o más mayúsculas, a la que debe seguir una letra minúscula, seguida de cero o más minúsculas, y la palabra debe tener como mínimo una longitud de dos letras. Como te digo no estoy seguro, que alguien lo confirme o me corrija. > Gracias [1] http://es.wikipedia.org/wiki/Expresiones_regulares > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > -- Saludos Fran From jjlorenzo en uci.cu Thu Mar 4 09:59:51 2010 From: jjlorenzo en uci.cu (=?ISO-8859-1?Q?Jos=E9_Jorge_Lorenzo_Vila?=) Date: Thu, 04 Mar 2010 03:59:51 -0500 Subject: [Python-es] Duda con expresiones regulares In-Reply-To: <779d9e921003040053k34009064r816f5e047b375775@mail.gmail.com> References: <4B8F72A3.8090605@uci.cu> <779d9e921003040053k34009064r816f5e047b375775@mail.gmail.com> Message-ID: <4B8F7687.1050906@uci.cu> On 03/04/2010 03:53 AM, Francisco Javier Cuadrado wrote: > El día 4 de marzo de 2010 09:43, José Jorge Lorenzo Vila > escribió: > >> Hola lista, >> > Hola. > > >> Siguiendo las indicaciones he instalado django-wikiapp, >> La duda es que tengo problemas con las expresiones regulares y el problema >> radica en que por omisión, el título de los artículos en la wiki se valida >> contra la siguiente expresión regular. >> Alguien me podría decir que patrón es el que se está definiendo aquí? >> Me imagino que no debería ser tan restrictivo, pero por alguna razón no me >> machea nada. >> >> WIKI_WORD_RE = r'(?:[A-Z]+[a-z]+){2,}' >> wikiword_pattern = re.compile('^' + WIKI_WORD_RE + '$') >> >> > No estoy muy seguro, nunca se me han dado demasiado bien, pero mirando > la página de la wikipedia sobre expresiones regulares[1], creo que es > una palabra que debe empezar con una mayúscula, seguida de cero o más > mayúsculas, a la que debe seguir una letra minúscula, seguida de cero > o más minúsculas, y la palabra debe tener como mínimo una longitud de > dos letras. > > Como te digo no estoy seguro, que alguien lo confirme o me corrija. > > >> Gracias >> > [1] http://es.wikipedia.org/wiki/Expresiones_regulares > > >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> > > > Bueno, me había dado casi por vencido, pero viendo lo que me recomendabas, me animé otra vez. Resulta que JoseJorge machea, Jose no JoseJ no JoseJorgeLo no Por lo que me parece estar viendo el patrón siguiente: Tiene que haber mayúsculas seguidas por minusculas y esto se puede repetir solamente dos veces. saludos y muchas gracias From fcocuadrado en gmail.com Thu Mar 4 10:05:20 2010 From: fcocuadrado en gmail.com (Francisco Javier Cuadrado) Date: Thu, 4 Mar 2010 10:05:20 +0100 Subject: [Python-es] Duda con expresiones regulares In-Reply-To: <4B8F7687.1050906@uci.cu> References: <4B8F72A3.8090605@uci.cu> <779d9e921003040053k34009064r816f5e047b375775@mail.gmail.com> <4B8F7687.1050906@uci.cu> Message-ID: <779d9e921003040105t366f84d2x1a8d6591511e0db9@mail.gmail.com> El día 4 de marzo de 2010 09:59, José Jorge Lorenzo Vila escribió: > On 03/04/2010 03:53 AM, Francisco Javier Cuadrado wrote: >> >> El día 4 de marzo de 2010 09:43, José Jorge Lorenzo Vila >>  escribió: >> >>> >>> Hola lista, >>> >> >> Hola. >> >> >>> >>> Siguiendo las indicaciones he instalado django-wikiapp, >>> La duda es que tengo problemas con las expresiones regulares y el >>> problema >>> radica en que por omisión, el título de los artículos en la wiki se >>> valida >>> contra la siguiente expresión regular. >>> Alguien me podría decir que patrón es el que se está definiendo aquí? >>> Me imagino que no debería ser tan restrictivo, pero por alguna razón no >>> me >>> machea nada. >>> >>> WIKI_WORD_RE = r'(?:[A-Z]+[a-z]+){2,}' >>> wikiword_pattern = re.compile('^' + WIKI_WORD_RE + '$') >>> >>> >> >> No estoy muy seguro, nunca se me han dado demasiado bien, pero mirando >> la página de la wikipedia sobre expresiones regulares[1], creo que es >> una palabra que debe empezar con una mayúscula, seguida de cero o más >> mayúsculas, a la que debe seguir una letra minúscula, seguida de cero >> o más minúsculas, y la palabra debe tener como mínimo una longitud de >> dos letras. >> >> Como te digo no estoy seguro, que alguien lo confirme o me corrija. >> >> >>> >>> Gracias >>> >> >> [1] http://es.wikipedia.org/wiki/Expresiones_regulares >> >> >>> >>> _______________________________________________ >>> Python-es mailing list >>> Python-es en python.org >>> http://mail.python.org/mailman/listinfo/python-es >>> FAQ: http://python-es-faq.wikidot.com/ >>> >>> >> >> >> > > Bueno, me había dado casi por vencido, pero viendo lo que me recomendabas, > me animé otra vez. > Resulta que > JoseJorge         machea, > Jose                      no > JoseJ                    no > JoseJorgeLo    no > > Por lo que me parece estar viendo el patrón siguiente: Tiene que haber > mayúsculas seguidas por minusculas y esto se puede repetir solamente dos > veces. > Sí, es lo que comentas, porque me he equivocado al decir que como mínimo tenía que tener dos caracteres de longitud, ya que las llaves (que indican la longitud) se aplican al bloque de letras mayúsculas seguidas de minúsculas, por lo que sería una palabra formada de letras mayúsculas (1 a n) seguidas de minúsculas (1 a n) y este conjunto de letras se debe repetir dos veces, es decir algo así: MmMm (siendo M letras mayúsculas y m letras minúsculas). > saludos y muchas gracias > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > -- Saludos Fran From euribates en gmail.com Thu Mar 4 10:05:58 2010 From: euribates en gmail.com (Juan Ignacio) Date: Thu, 4 Mar 2010 09:05:58 +0000 Subject: [Python-es] Duda con expresiones regulares In-Reply-To: <4B8F7687.1050906@uci.cu> References: <4B8F72A3.8090605@uci.cu> <779d9e921003040053k34009064r816f5e047b375775@mail.gmail.com> <4B8F7687.1050906@uci.cu> Message-ID: <1ece03ed1003040105u49a2349fm957ab42562e27449@mail.gmail.com> > On 03/04/2010 03:53 AM, Francisco Javier Cuadrado wrote: > mayúsculas seguidas por minusculas y esto se puede repetir solamente dos Creo que seria "dos o más veces", no "solamente dos". -- Juan Ignacio Rodríguez de León Movil: 605 890514 E-Mail: euribates en gmail.com http://elornitorrincoenmascarado.blogspot.com/ http://descon2.com/ From d1d4c en aktivix.org Thu Mar 4 10:00:40 2010 From: d1d4c en aktivix.org (d1d4c) Date: Thu, 04 Mar 2010 10:00:40 +0100 Subject: [Python-es] =?iso-8859-1?q?MODO_DIGEST_=28era=3A_Re=3A_Resumen_de?= =?iso-8859-1?q?_Python-es=2C_Vol_3=2C_Env=EDo_5=29?= In-Reply-To: <779d9e921003040040u3f89be72u4a944ce69eaa130a@mail.gmail.com> References: <4B8EB6D0.70009@aktivix.org> <4B8F355C.9040405@jcea.es> <201003040905.10539.faltet@pytables.org> <779d9e921003040040u3f89be72u4a944ce69eaa130a@mail.gmail.com> Message-ID: <4B8F76B8.8030606@aktivix.org> Francisco Javier Cuadrado escribió: > El día 4 de marzo de 2010 09:05, Francesc Alted escribió: .../ >> Bueno, de decir que sólo sirve para leer a que no tiene sentido, hay un >> trecho. Yo prefiero que se le diga a la gente de manera cordial (com en el >> caso anterior) que mejor subscribirse en modo 'normal'. > > Estoy con Francesc. > > Además yo creo que el modo digest se puede usar bien, si cuando vas a > contestar al correo, te bajas el hilo antes y contestas a > continuación. Sólo por curiosidad ¿cómo es eso de bajarte el hilo? ¿cómo se puede hacer? ahora no lo veo... :/ Gracias, estoy intrigado :) From jjlorenzo en uci.cu Thu Mar 4 10:08:32 2010 From: jjlorenzo en uci.cu (=?ISO-8859-1?Q?Jos=E9_Jorge_Lorenzo_Vila?=) Date: Thu, 04 Mar 2010 04:08:32 -0500 Subject: [Python-es] Duda con expresiones regulares In-Reply-To: <779d9e921003040105t366f84d2x1a8d6591511e0db9@mail.gmail.com> References: <4B8F72A3.8090605@uci.cu> <779d9e921003040053k34009064r816f5e047b375775@mail.gmail.com> <4B8F7687.1050906@uci.cu> <779d9e921003040105t366f84d2x1a8d6591511e0db9@mail.gmail.com> Message-ID: <4B8F7890.7000101@uci.cu> On 03/04/2010 04:05 AM, Francisco Javier Cuadrado wrote: > El día 4 de marzo de 2010 09:59, José Jorge Lorenzo Vila > escribió: > >> On 03/04/2010 03:53 AM, Francisco Javier Cuadrado wrote: >> >>> El día 4 de marzo de 2010 09:43, José Jorge Lorenzo Vila >>> escribió: >>> >>> >>>> Hola lista, >>>> >>>> >>> Hola. >>> >>> >>> >>>> Siguiendo las indicaciones he instalado django-wikiapp, >>>> La duda es que tengo problemas con las expresiones regulares y el >>>> problema >>>> radica en que por omisión, el título de los artículos en la wiki se >>>> valida >>>> contra la siguiente expresión regular. >>>> Alguien me podría decir que patrón es el que se está definiendo aquí? >>>> Me imagino que no debería ser tan restrictivo, pero por alguna razón no >>>> me >>>> machea nada. >>>> >>>> WIKI_WORD_RE = r'(?:[A-Z]+[a-z]+){2,}' >>>> wikiword_pattern = re.compile('^' + WIKI_WORD_RE + '$') >>>> >>>> >>>> >>> No estoy muy seguro, nunca se me han dado demasiado bien, pero mirando >>> la página de la wikipedia sobre expresiones regulares[1], creo que es >>> una palabra que debe empezar con una mayúscula, seguida de cero o más >>> mayúsculas, a la que debe seguir una letra minúscula, seguida de cero >>> o más minúsculas, y la palabra debe tener como mínimo una longitud de >>> dos letras. >>> >>> Como te digo no estoy seguro, que alguien lo confirme o me corrija. >>> >>> >>> >>>> Gracias >>>> >>>> >>> [1] http://es.wikipedia.org/wiki/Expresiones_regulares >>> >>> >>> >>>> _______________________________________________ >>>> Python-es mailing list >>>> Python-es en python.org >>>> http://mail.python.org/mailman/listinfo/python-es >>>> FAQ: http://python-es-faq.wikidot.com/ >>>> >>>> >>>> >>> >>> >>> >> Bueno, me había dado casi por vencido, pero viendo lo que me recomendabas, >> me animé otra vez. >> Resulta que >> JoseJorge machea, >> Jose no >> JoseJ no >> JoseJorgeLo no >> >> Por lo que me parece estar viendo el patrón siguiente: Tiene que haber >> mayúsculas seguidas por minusculas y esto se puede repetir solamente dos >> veces. >> >> > Sí, es lo que comentas, porque me he equivocado al decir que como > mínimo tenía que tener dos caracteres de longitud, ya que las llaves > (que indican la longitud) se aplican al bloque de letras mayúsculas > seguidas de minúsculas, por lo que sería una palabra formada de letras > mayúsculas (1 a n) seguidas de minúsculas (1 a n) y este conjunto de > letras se debe repetir dos veces, es decir algo así: MmMm (siendo M > letras mayúsculas y m letras minúsculas). > > >> saludos y muchas gracias >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> > > > Exactamente, muchas gracias. Ahora solo me queda quitarle los {} porque me parece muy restrictivo. Muchas gracias lista y en especial Francisco. From fcocuadrado en gmail.com Thu Mar 4 10:09:14 2010 From: fcocuadrado en gmail.com (Francisco Javier Cuadrado) Date: Thu, 4 Mar 2010 10:09:14 +0100 Subject: [Python-es] Duda con expresiones regulares In-Reply-To: <1ece03ed1003040105u49a2349fm957ab42562e27449@mail.gmail.com> References: <4B8F72A3.8090605@uci.cu> <779d9e921003040053k34009064r816f5e047b375775@mail.gmail.com> <4B8F7687.1050906@uci.cu> <1ece03ed1003040105u49a2349fm957ab42562e27449@mail.gmail.com> Message-ID: <779d9e921003040109n7342e991jbff613bbf6a0d2d7@mail.gmail.com> 2010/3/4 Juan Ignacio : >> On 03/04/2010 03:53 AM, Francisco Javier Cuadrado wrote: >> mayúsculas seguidas por minusculas y esto se puede repetir solamente dos > > Creo que seria "dos o más veces", no "solamente dos". Cierto, hoy estoy espeso. > -- > Juan Ignacio Rodríguez de León > Movil: 605 890514 > E-Mail: euribates en gmail.com > http://elornitorrincoenmascarado.blogspot.com/ > http://descon2.com/ > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > -- Saludos Fran From jjlorenzo en uci.cu Thu Mar 4 10:14:58 2010 From: jjlorenzo en uci.cu (=?ISO-8859-1?Q?Jos=E9_Jorge_Lorenzo_Vila?=) Date: Thu, 04 Mar 2010 04:14:58 -0500 Subject: [Python-es] Duda con expresiones regulares In-Reply-To: <1ece03ed1003040105u49a2349fm957ab42562e27449@mail.gmail.com> References: <4B8F72A3.8090605@uci.cu> <779d9e921003040053k34009064r816f5e047b375775@mail.gmail.com> <4B8F7687.1050906@uci.cu> <1ece03ed1003040105u49a2349fm957ab42562e27449@mail.gmail.com> Message-ID: <4B8F7A12.1000208@uci.cu> On 03/04/2010 04:05 AM, Juan Ignacio wrote: >> On 03/04/2010 03:53 AM, Francisco Javier Cuadrado wrote: >> mayúsculas seguidas por minusculas y esto se puede repetir solamente dos >> > Creo que seria "dos o más veces", no "solamente dos". > Toda la razón, verificado en el sitio y en la documentación de python. Decididamente no se me dan bien, hay que ponerlo en mi TODO. From fcocuadrado en gmail.com Thu Mar 4 10:19:05 2010 From: fcocuadrado en gmail.com (Francisco Javier Cuadrado) Date: Thu, 4 Mar 2010 10:19:05 +0100 Subject: [Python-es] =?utf-8?q?MODO_DIGEST_=28era=3A_Re=3A_Resumen_de_Pyth?= =?utf-8?b?b24tZXMsIFZvbCAzLCBFbnbDrW8gNSk=?= In-Reply-To: <4B8F76B8.8030606@aktivix.org> References: <4B8EB6D0.70009@aktivix.org> <4B8F355C.9040405@jcea.es> <201003040905.10539.faltet@pytables.org> <779d9e921003040040u3f89be72u4a944ce69eaa130a@mail.gmail.com> <4B8F76B8.8030606@aktivix.org> Message-ID: <779d9e921003040119m6c16d6ebp73357c86db9a983c@mail.gmail.com> El día 4 de marzo de 2010 10:00, d1d4c escribió: > Francisco Javier Cuadrado escribió: >> >> El día 4 de marzo de 2010 09:05, Francesc Alted >> escribió: > > .../ >>> >>> Bueno, de decir que sólo sirve para leer a que no tiene sentido, hay un >>> trecho.  Yo prefiero que se le diga a la gente de manera cordial (com en >>> el >>> caso anterior) que mejor subscribirse en modo 'normal'. >> >> Estoy con Francesc. >> >> Además yo creo que el modo digest se puede usar bien, si cuando vas a >> contestar al correo, te bajas el hilo antes y contestas a >> continuación. > > Sólo por curiosidad ¿cómo es eso de bajarte el hilo? ¿cómo se puede hacer? > ahora no lo veo... :/ > La verdad es que yo tampoco, se me ha olvidado decir que ese uso lo sé de oídas, yo nunca he usado el digest, pero siempre he tenido entendido que ese era el uso que se debía hacer. He buscado un poco y he encontrado esto[1], citando: IX. For the same reasons, when you get the list in digest form, edit the subject line of the list you are replying to into your subject. "re: Digest Night of January 16th" isn't very specific. Or use a mail reader that will "burst" digests into their component emails for you, like Emacs's rmail mode. Some lists make their digests available in MIME form. MIME format allows you to get the subject and threading right. > Gracias, estoy intrigado :) Espero que te sirva. > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > [1] http://www.charlescurley.com/netiquette.html -- Saludos Fran From kikocorreoso en gmail.com Thu Mar 4 11:18:17 2010 From: kikocorreoso en gmail.com (Kiko) Date: Thu, 4 Mar 2010 11:18:17 +0100 Subject: [Python-es] [web] python-es.org In-Reply-To: <4B8EA91D.7030101@aktivix.org> References: <4B87C93C.7070907@aktivix.org> <1267473340.19006.1.camel@localhost.Stibbons> <779d9e921003011159n6986eae7o75a34ea1751d6cd6@mail.gmail.com> <4B8C2FC1.2060408@uci.cu> <4B8C3381.10103@aktivix.org> <4B8C39E0.9040306@aktivix.org> <779d9e921003012345q254d73e6s1f55b4c02c45b1c2@mail.gmail.com> <48ABC4BB-72A5-4609-B6CD-F2420FC376D1@gmail.com> <779d9e921003030447y7e308452qee8227a3cc011bc2@mail.gmail.com> <4B8EA91D.7030101@aktivix.org> Message-ID: <1b6058651003040218x6a8316bcwd677ab4b93d1f574@mail.gmail.com> Yo no me había pronunciado aún pero si puedo ayudar en algo me lo decís. Antecedentes: Novato en python Novato en numpy Novato en MatPlotLib Novato en wxpython No he tocado Django en mi vida pero tengo intención. Sé traer cafés a quien haga falta ;-P Tengo muchas ganas de aprender de todo. Saludos. ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From joseluistorrehernandez en gmail.com Thu Mar 4 12:03:25 2010 From: joseluistorrehernandez en gmail.com (=?UTF-8?Q?Jos=C3=A9_Luis_Torre_Hern=C3=A1ndez?=) Date: Thu, 4 Mar 2010 12:03:25 +0100 Subject: [Python-es] =?utf-8?q?Resumen_de_Python-es=2C_Vol_3=2C_Env=C3=ADo?= =?utf-8?q?_5?= In-Reply-To: <4B8EB6D0.70009@aktivix.org> References: <4e4c1c491003021559r3ad1d6c5v92b5bb8456b4aff5@mail.gmail.com> <4B8E46C1.1030103@gmail.com> <4B8EB6D0.70009@aktivix.org> Message-ID: <2ecbd5e41003040303s760eff4amf5a0f0e5e4e91ad@mail.gmail.com> El 3 de marzo de 2010 20:21, d1d4c escribió: > Hola. > > Arnau Sanchez escribió: > .../ > > No tengo experiencia con el modo digest pero imagino que habrá alguna >> forma de responder manteniendo el hilo (lo que incluye el asunto, pero >> también headers como el In-Reply-To). >> > > El modo digest sólo puede servirle (si es que puede llegar a servir de > algo) a quien no pretenda escribir, sólo leer. > > En mi opinión, quien se suscribe a una lista y selecciona el modo digest, > es simplemente porque cae en la trampa. Deberíamos editar el texto html de > esa página y explicar eso, que con ese modo no se puede participar, sólo > leer. > > Porque para poder poner el header y el In-Reply-To correspondientes, antes > has de saber cuáles son, y eso no sale ni en el digest ni en ninguno de los > archivos web, que yo sepa. > > En mi opinión, esa opción se debería quitar de mailman 'in secula > seculorum'. No entiendo qué hace todavía allí. > > Como le dije ya en un privado (también), en mi opinión, lo mejor que > Andreina puede hacer respecto a este tema, es ir a sus preferencias de > suscripción y cambiar eso. No hay más, cayó en la trampa del modo digest. > > > Saludos. > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > +1 A favor de eliminar el modo digest. Saludos jlt ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From jordi.f en ati.es Thu Mar 4 12:38:36 2010 From: jordi.f en ati.es (Jordi Funollet) Date: Thu, 4 Mar 2010 12:38:36 +0100 Subject: [Python-es] =?iso-8859-15?q?Resumen_de_Python-es=2C_Vol_3=2C_Env?= =?iso-8859-15?q?=EDo_5?= In-Reply-To: <2ecbd5e41003040303s760eff4amf5a0f0e5e4e91ad@mail.gmail.com> References: <4B8EB6D0.70009@aktivix.org> <2ecbd5e41003040303s760eff4amf5a0f0e5e4e91ad@mail.gmail.com> Message-ID: <201003041238.36569.jordi.f@ati.es> +1 a desactivar la opción. La misma funcionalidad puede conseguirse con un filtro en el cliente de correo. -- ############################## ### Jordi Funollet ### http://www.terraquis.net From kikocorreoso en gmail.com Thu Mar 4 12:45:49 2010 From: kikocorreoso en gmail.com (Kiko) Date: Thu, 4 Mar 2010 12:45:49 +0100 Subject: [Python-es] =?iso-8859-1?q?Buscar_=EDndices_de_un_array_=28que_cu?= =?iso-8859-1?q?mple_condici=F3n=29_de_forma_eficiente?= Message-ID: <1b6058651003040345o29c52f2et62bd17026d0e719@mail.gmail.com> Hola a todos. Estoy intentando buscar los indices de un subconjunto dentro de un conjunto y quiero saber si existe algo más eficiente que lo que he pensado. Me explico, por ejemplo, yo tengo: conjunto = range(1000, 1100, 1) subconjunto = range(1000, 1100, 3) Quiero saber la posición que tendría cada valor del subconjunto en el conjunto, es decir, subconjunto[0] tendría el índice 0 en conjunto (conjunto[0])), subconjunto[1] tendría el índice 3 en conjunto (conjunto[3])) y así. Estoy obteniendo los índices así indices = [conjunto.index(valor) for valor in subconjunto] Pero si conjunto y subconjunto son muy grandes se toma su tiempo. ¿Existe una forma más eficiente de obtener los índices? Muchas gracias a todos. ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From euribates en gmail.com Thu Mar 4 13:17:35 2010 From: euribates en gmail.com (Juan Ignacio) Date: Thu, 4 Mar 2010 12:17:35 +0000 Subject: [Python-es] =?iso-8859-1?q?Buscar_=EDndices_de_un_array_=28que_cu?= =?iso-8859-1?q?mple_condici=F3n=29_de_forma_eficiente?= In-Reply-To: <1b6058651003040345o29c52f2et62bd17026d0e719@mail.gmail.com> References: <1b6058651003040345o29c52f2et62bd17026d0e719@mail.gmail.com> Message-ID: <1ece03ed1003040417y3655fdabk3450f7f13d73abe0@mail.gmail.com> Conjunto y subconjunto están (o pueden estar) ordenados 2010/3/4 Kiko : > Hola a todos. > > Estoy intentando buscar los indices de un subconjunto dentro de un conjunto > y quiero saber si existe algo más eficiente que lo que he pensado. > > Me explico, por ejemplo, yo tengo: > > conjunto = range(1000, 1100, 1) > subconjunto = range(1000, 1100, 3) > > Quiero saber la posición que tendría cada valor del subconjunto en el > conjunto, es decir, subconjunto[0] tendría el índice 0 en conjunto > (conjunto[0])), subconjunto[1] tendría el índice 3 en conjunto > (conjunto[3])) y así. > > Estoy obteniendo los índices así > indices = [conjunto.index(valor) for valor in subconjunto] > > Pero si conjunto y subconjunto son muy grandes se toma su tiempo. > > ¿Existe una forma más eficiente de obtener los índices? > > Muchas gracias a todos. > > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > -- Juan Ignacio Rodríguez de León Movil: 605 890514 E-Mail: euribates en gmail.com http://elornitorrincoenmascarado.blogspot.com/ http://descon2.com/ From euribates en gmail.com Thu Mar 4 13:18:14 2010 From: euribates en gmail.com (Juan Ignacio) Date: Thu, 4 Mar 2010 12:18:14 +0000 Subject: [Python-es] =?iso-8859-1?q?Buscar_=EDndices_de_un_array_=28que_cu?= =?iso-8859-1?q?mple_condici=F3n=29_de_forma_eficiente?= In-Reply-To: <1ece03ed1003040417y3655fdabk3450f7f13d73abe0@mail.gmail.com> References: <1b6058651003040345o29c52f2et62bd17026d0e719@mail.gmail.com> <1ece03ed1003040417y3655fdabk3450f7f13d73abe0@mail.gmail.com> Message-ID: <1ece03ed1003040418r10c4a698l3432af8bdf08cf42@mail.gmail.com> Oppps, me falto la interrogante, era una pregunta :-) ¿Conjunto y subconjunto están (o pueden estar) ordenados? From kikocorreoso en gmail.com Thu Mar 4 13:27:21 2010 From: kikocorreoso en gmail.com (Kiko) Date: Thu, 4 Mar 2010 13:27:21 +0100 Subject: [Python-es] =?iso-8859-1?q?Buscar_=EDndices_de_un_array_=28que_cu?= =?iso-8859-1?q?mple_condici=F3n=29_de_forma_eficiente?= In-Reply-To: <1ece03ed1003040418r10c4a698l3432af8bdf08cf42@mail.gmail.com> References: <1b6058651003040345o29c52f2et62bd17026d0e719@mail.gmail.com> <1ece03ed1003040417y3655fdabk3450f7f13d73abe0@mail.gmail.com> <1ece03ed1003040418r10c4a698l3432af8bdf08cf42@mail.gmail.com> Message-ID: <1b6058651003040427o27451fd2q275e7918eec82f22@mail.gmail.com> El 4 de marzo de 2010 13:18, Juan Ignacio escribió: > Oppps, me falto la interrogante, era una pregunta :-) ¿Conjunto y > subconjunto están (o pueden estar) ordenados? > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > Están ordenados para lo que quiero hacer. ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From dani en danigm.net Thu Mar 4 13:30:42 2010 From: dani en danigm.net (Daniel Garcia Moreno) Date: Thu, 4 Mar 2010 13:30:42 +0100 Subject: [Python-es] =?utf-8?q?Buscar_=C3=ADndices_de_un_array_=28que_cump?= =?utf-8?q?le_condici=C3=B3n=29_de_forma_eficiente?= In-Reply-To: <1b6058651003040345o29c52f2et62bd17026d0e719@mail.gmail.com> References: <1b6058651003040345o29c52f2et62bd17026d0e719@mail.gmail.com> Message-ID: <31bcc7d51003040430n4e6c56e2w89e63505964fa864@mail.gmail.com> 2010/3/4 Kiko : > Hola a todos. > > Estoy intentando buscar los indices de un subconjunto dentro de un conjunto > y quiero saber si existe algo más eficiente que lo que he pensado. > > Me explico, por ejemplo, yo tengo: > > conjunto = range(1000, 1100, 1) > subconjunto = range(1000, 1100, 3) > > Quiero saber la posición que tendría cada valor del subconjunto en el > conjunto, es decir, subconjunto[0] tendría el índice 0 en conjunto > (conjunto[0])), subconjunto[1] tendría el índice 3 en conjunto > (conjunto[3])) y así. > > Estoy obteniendo los índices así > indices = [conjunto.index(valor) for valor in subconjunto] > > Pero si conjunto y subconjunto son muy grandes se toma su tiempo. > > ¿Existe una forma más eficiente de obtener los índices? > > Muchas gracias a todos. > Según mis conocimientos en computación, esta búsqueda es de orden n^2. Si el primer conjunto está ordenado, puede llegar a ser de orden n*log(n) puesto que puedes hacer una búsqueda binaria en lugar de conjunto.index(valor). Y creo que no vas a poder optimizar más por ahí, porque la complejidad del problema es esa. From dani en danigm.net Thu Mar 4 13:37:21 2010 From: dani en danigm.net (Daniel Garcia Moreno) Date: Thu, 4 Mar 2010 13:37:21 +0100 Subject: [Python-es] =?utf-8?q?Buscar_=C3=ADndices_de_un_array_=28que_cump?= =?utf-8?q?le_condici=C3=B3n=29_de_forma_eficiente?= In-Reply-To: <1b6058651003040427o27451fd2q275e7918eec82f22@mail.gmail.com> References: <1b6058651003040345o29c52f2et62bd17026d0e719@mail.gmail.com> <1ece03ed1003040417y3655fdabk3450f7f13d73abe0@mail.gmail.com> <1ece03ed1003040418r10c4a698l3432af8bdf08cf42@mail.gmail.com> <1b6058651003040427o27451fd2q275e7918eec82f22@mail.gmail.com> Message-ID: <31bcc7d51003040437k12f96db8qd9263ffe792b8b2f@mail.gmail.com> 2010/3/4 Kiko : > > El 4 de marzo de 2010 13:18, Juan Ignacio escribió: >> >> Oppps, me falto la interrogante, era una pregunta :-) ¿Conjunto y >> subconjunto están (o pueden estar) ordenados? > > Están ordenados para lo que quiero hacer. > Pues entonces puedes usar bisect en lugar de index: import bisect .... indices = [bisect.bisect(conjunto, valor) for valor in subconjunto] From pablo.angulo en uam.es Thu Mar 4 13:29:59 2010 From: pablo.angulo en uam.es (Pablo Angulo) Date: Thu, 04 Mar 2010 13:29:59 +0100 Subject: [Python-es] =?utf-8?q?Buscar_=C3=ADndices_de_un_array_=28que_cump?= =?utf-8?q?le_condici=C3=B3n=29_de_forma_eficiente?= In-Reply-To: <1b6058651003040345o29c52f2et62bd17026d0e719@mail.gmail.com> References: <1b6058651003040345o29c52f2et62bd17026d0e719@mail.gmail.com> Message-ID: <4B8FA7C7.8070001@uam.es> Kiko escribió: > Hola a todos. > > Estoy intentando buscar los indices de un subconjunto dentro de un > conjunto y quiero saber si existe algo más eficiente que lo que he > pensado. > > Me explico, por ejemplo, yo tengo: > > conjunto = range(1000, 1100, 1) > subconjunto = range(1000, 1100, 3) > > Quiero saber la posición que tendría cada valor del subconjunto en el > conjunto, es decir, subconjunto[0] tendría el índice 0 en conjunto > (conjunto[0])), subconjunto[1] tendría el índice 3 en conjunto > (conjunto[3])) y así. > > Estoy obteniendo los índices así > indices = [conjunto.index(valor) for valor in subconjunto] > > Pero si conjunto y subconjunto son muy grandes se toma su tiempo. > > ¿Existe una forma más eficiente de obtener los índices? si sabes que los elementos del subconjunto están ordenados dentro del conjunto, no necesitas buscar en toda la lista cada vez, sino sólo desde la última búsqueda indices = [] ultimo = 0 for v in subconjunto: ultimo += conjunto[ultimo:].index(v) indices.append(ultimo) [conjunto[j] for j in indices]==subconjunto > True También te puede interesar usar conjuntos, si no necesitas el orden de los elementos. Un saludo From pablo.angulo en uam.es Thu Mar 4 13:46:55 2010 From: pablo.angulo en uam.es (Pablo Angulo) Date: Thu, 04 Mar 2010 13:46:55 +0100 Subject: [Python-es] =?utf-8?q?Buscar_=C3=ADndices_de_un_array_=28que_cump?= =?utf-8?q?le_condici=C3=B3n=29_de_forma_eficiente?= In-Reply-To: <1b6058651003040345o29c52f2et62bd17026d0e719@mail.gmail.com> References: <1b6058651003040345o29c52f2et62bd17026d0e719@mail.gmail.com> Message-ID: <4B8FABBF.1020906@uam.es> Te escribo a tí directamente porque la lista parece que no me acepta!! Si los elementos de subconjunto están ordenados dentro de conjunto, la búsqueda es O(n): -------- si sabes que los elementos del subconjunto están ordenados dentro del conjunto, no necesitas buscar en toda la lista cada vez, sino sólo desde la última búsqueda indices = [] ultimo = 0 for v in subconjunto: ultimo += conjunto[ultimo:].index(v) indices.append(ultimo) From pablo.angulo en uam.es Thu Mar 4 13:53:23 2010 From: pablo.angulo en uam.es (Pablo Angulo) Date: Thu, 04 Mar 2010 13:53:23 +0100 Subject: [Python-es] =?utf-8?q?Buscar_=C3=ADndices_de_un_array_=28que_cump?= =?utf-8?q?le_condici=C3=B3n=29_de_forma_eficiente?= In-Reply-To: <31bcc7d51003040430n4e6c56e2w89e63505964fa864@mail.gmail.com> References: <1b6058651003040345o29c52f2et62bd17026d0e719@mail.gmail.com> <31bcc7d51003040430n4e6c56e2w89e63505964fa864@mail.gmail.com> Message-ID: <4B8FAD43.9060303@uam.es> Daniel Garcia Moreno escribió: > > Según mis conocimientos en computación, esta búsqueda es de orden n^2. > Si el primer conjunto está ordenado, puede llegar a ser de orden > n*log(n) puesto que puedes hacer una búsqueda binaria en lugar de > conjunto.index(valor). Y creo que no vas a poder optimizar más por > ahí, porque la complejidad del problema es esa. > Si la lista grande tiene N elementos y la pequeña M, puedes elegir entre O(Mlog(N)), usando bisect. o O(N), con la técnica que te decía antes. From dani en danigm.net Thu Mar 4 13:57:02 2010 From: dani en danigm.net (Daniel Garcia Moreno) Date: Thu, 4 Mar 2010 13:57:02 +0100 Subject: [Python-es] =?utf-8?q?Buscar_=C3=ADndices_de_un_array_=28que_cump?= =?utf-8?q?le_condici=C3=B3n=29_de_forma_eficiente?= In-Reply-To: <4B8FAD43.9060303@uam.es> References: <1b6058651003040345o29c52f2et62bd17026d0e719@mail.gmail.com> <31bcc7d51003040430n4e6c56e2w89e63505964fa864@mail.gmail.com> <4B8FAD43.9060303@uam.es> Message-ID: <31bcc7d51003040457j47ed1f4fpdd799720ce2ab067@mail.gmail.com> 2010/3/4 Pablo Angulo : > Daniel Garcia Moreno escribió: >> >> Según mis conocimientos en computación, esta búsqueda es de orden n^2. >> Si el primer conjunto está ordenado, puede llegar a ser de orden >> n*log(n) puesto que puedes hacer una búsqueda binaria en lugar de >> conjunto.index(valor). Y creo que no vas a poder optimizar más por >> ahí, porque la complejidad del problema es esa. >> > Si la lista grande tiene N elementos y la pequeña M, puedes elegir entre > O(Mlog(N)), usando bisect. o O(N), con la técnica que te decía antes. > O puedes combinar las dos, buscar desde el último indice en adelante pero hacerlo con busqueda binaria. From pablo.angulo en uam.es Thu Mar 4 14:02:58 2010 From: pablo.angulo en uam.es (Pablo Angulo) Date: Thu, 04 Mar 2010 14:02:58 +0100 Subject: [Python-es] =?utf-8?q?Buscar_=C3=ADndices_de_un_array_=28que_cump?= =?utf-8?q?le_condici=C3=B3n=29_de_forma_eficiente?= In-Reply-To: <4B8FA7C7.8070001@uam.es> References: <1b6058651003040345o29c52f2et62bd17026d0e719@mail.gmail.com> <4B8FA7C7.8070001@uam.es> Message-ID: <4B8FAF82.7010603@uam.es> Pablo Angulo escribió: > indices = [] > ultimo = 0 > for v in subconjunto: > ultimo += conjunto[ultimo:].index(v) > indices.append(ultimo) > > [conjunto[j] for j in indices]==subconjunto > > Lamento ser pesado, pero hay que hacer un cambio: indices = [] ultimo = 0 for v in subconjunto: ultimo += conjunto.index(v,ultimo) indices.append(ultimo) From pablo.angulo en uam.es Thu Mar 4 14:15:35 2010 From: pablo.angulo en uam.es (Pablo Angulo) Date: Thu, 04 Mar 2010 14:15:35 +0100 Subject: [Python-es] =?utf-8?q?Buscar_=C3=ADndices_de_un_array_=28que_cump?= =?utf-8?q?le_condici=C3=B3n=29_de_forma_eficiente?= In-Reply-To: <31bcc7d51003040457j47ed1f4fpdd799720ce2ab067@mail.gmail.com> References: <1b6058651003040345o29c52f2et62bd17026d0e719@mail.gmail.com> <31bcc7d51003040430n4e6c56e2w89e63505964fa864@mail.gmail.com> <4B8FAD43.9060303@uam.es> <31bcc7d51003040457j47ed1f4fpdd799720ce2ab067@mail.gmail.com> Message-ID: <4B8FB277.1070908@uam.es> Daniel Garcia Moreno escribió: > >> Si la lista grande tiene N elementos y la pequeña M, puedes elegir entre >> O(Mlog(N)), usando bisect. o O(N), con la técnica que te decía antes. >> > O puedes combinar las dos, buscar desde el último indice en adelante > pero hacerlo con busqueda binaria. Yo diría que ésto es también es O(M log(N)) en el peor caso (cuando el subconjunto son los M primeros valores de conjunto) log(N)+log(N-1)+...+log(N-M)=O(M log(N)) From olemis+py en gmail.com Thu Mar 4 15:42:12 2010 From: olemis+py en gmail.com (Olemis Lang (Simelix)) Date: Thu, 4 Mar 2010 09:42:12 -0500 Subject: [Python-es] =?iso-8859-1?q?Buscar_=EDndices_de_un_array_=28que_cu?= =?iso-8859-1?q?mple_condici=F3n=29_de_forma_eficiente?= In-Reply-To: <4B8FB277.1070908@uam.es> References: <1b6058651003040345o29c52f2et62bd17026d0e719@mail.gmail.com> <31bcc7d51003040430n4e6c56e2w89e63505964fa864@mail.gmail.com> <4B8FAD43.9060303@uam.es> <31bcc7d51003040457j47ed1f4fpdd799720ce2ab067@mail.gmail.com> <4B8FB277.1070908@uam.es> Message-ID: <24ea26601003040642n1ae8c213h53138fbdd4787884@mail.gmail.com> 2010/3/4 Pablo Angulo : > Daniel Garcia Moreno escribió: >> >>> Si la lista grande tiene N elementos y la pequeña M, puedes elegir entre >>> O(Mlog(N)), usando bisect. o O(N), con la técnica que te decía antes. >>> >> O puedes combinar las dos, buscar desde el último indice en adelante >> pero hacerlo con busqueda binaria. > Yo diría que ésto es también es O(M log(N)) en el peor caso (cuando el > subconjunto son los M primeros valores de conjunto) > > log(N)+log(N-1)+...+log(N-M)=O(M log(N)) Por las características del problema y del contexto (dos listas ordenadas ;o) me parece que lo más adecuado en este caso es un algoritmo de mezcla como MergeSort [1]_ [2]_ que AFAICR debe ser O(n log(n)) siendo n = min(N, M) en el peor caso, pero O(n) si están ordenados (para más detalles consulten los enlaces ;o). Realmente en este caso ni siquiera hace falta el mergesort completo, solo la función de mezcla y simplificada , lo cual resultaría más eficiente todavía, se puede lograr más aún si se sabe que una lista es un subelemento de la otra -pero todas esas quedan de tarea para el OP- ;o) {{{ #!python >>> conjunto = range(1000, 1100, 1) >>> subconjunto = range(1000, 1100, 3) >>> from itertools import count >>> def setidx(sub, full): # a.k.a merge() ... idxs = count() ... while sub and full : ... if sub[0] == full[0] : ... yield idxs.next() ... full.pop(0); sub.pop(0) ... elif sub[0] < full[0] : ... sub.pop(0) ... else : ... full.pop(0) ... idxs.next() ... >>> list(setidx(subconjunto, conjunto)) [0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48, 51, 54, 57, 60, 63, 66, 69, 72, 75, 78, 81, 84, 87, 90, 93, 96, 99] }}} Uso de memoria adicional ~= 0 .. [1] MergeSort (http://en.wikipedia.org/wiki/Mergesort) .. [2] Ordenamiento por mezcla (http://es.wikipedia.org/wiki/Ordenamiento_por_mezcla) PD: De todas formas mi sugerencia muy particular es que no confíen demasiado en los análisis teóricos del tipo mencionado por Pablo (o mejor dicho, que desconfíen hasta que no tengan la seguridad irrefutable que les da un profiler ;o) . Este hilo me ha recordado un artículo que tengo pendiente para mi blog que ilustra esto muy bien (y que resulta realmente sorprendente, créanme ;o). Trataré de publicarlo mañana (o pasado, o ...), y así tendrán más argumentos para juzgar ustedes por su cuenta Y para terminar, los algs de mezcla tienden a ser más fácilmente paralelizables y trabajan mejor con medios secuenciales, por lo que si la cantidad de datos es *REALMENTE* grande entonces pueden resultar bastante atractivos , pues tienden además a tener la virtud de ser estables ... bueno y si de algo sirve, pues, no contaminan el medio ambiente, ¿ vale ? :P ) ;o) -- Regards, Olemis. Blog ES: http://simelo-es.blogspot.com/ Blog EN: http://simelo-en.blogspot.com/ Featured article: Comienza la era de la televisión 3D (el 10 de marzo ;o) - http://feedproxy.google.com/~r/simelo-es/~3/mPcmLbduWJU/despues-del-gran-exito-del-largometraje.html From olemis+py en gmail.com Thu Mar 4 15:44:13 2010 From: olemis+py en gmail.com (Olemis Lang (Simelix)) Date: Thu, 4 Mar 2010 09:44:13 -0500 Subject: [Python-es] =?iso-8859-1?q?Buscar_=EDndices_de_un_array_=28que_cu?= =?iso-8859-1?q?mple_condici=F3n=29_de_forma_eficiente?= In-Reply-To: <24ea26601003040642n1ae8c213h53138fbdd4787884@mail.gmail.com> References: <1b6058651003040345o29c52f2et62bd17026d0e719@mail.gmail.com> <31bcc7d51003040430n4e6c56e2w89e63505964fa864@mail.gmail.com> <4B8FAD43.9060303@uam.es> <31bcc7d51003040457j47ed1f4fpdd799720ce2ab067@mail.gmail.com> <4B8FB277.1070908@uam.es> <24ea26601003040642n1ae8c213h53138fbdd4787884@mail.gmail.com> Message-ID: <24ea26601003040644o74bfe127m6ba8a286553a8efc@mail.gmail.com> 2010/3/4 Olemis Lang (Simelix) : > 2010/3/4 Pablo Angulo : >> Daniel Garcia Moreno escribió: > [...] > se puede lograr más aún si se sabe que una lista es un > subelemento de la otra Precisión: subconjunto -- Regards, Olemis. Blog ES: http://simelo-es.blogspot.com/ Blog EN: http://simelo-en.blogspot.com/ Featured article: Comienza la era de la televisión 3D (el 10 de marzo ;o) - http://feedproxy.google.com/~r/simelo-es/~3/mPcmLbduWJU/despues-del-gran-exito-del-largometraje.html From pyarnau en gmail.com Thu Mar 4 16:14:32 2010 From: pyarnau en gmail.com (Arnau Sanchez) Date: Thu, 04 Mar 2010 16:14:32 +0100 Subject: [Python-es] =?iso-8859-1?q?Buscar_=EDndices_de_un_array_=28que_cu?= =?iso-8859-1?q?mple_condici=F3n=29_de_forma_eficiente?= In-Reply-To: <4B8FAF82.7010603@uam.es> References: <1b6058651003040345o29c52f2et62bd17026d0e719@mail.gmail.com> <4B8FA7C7.8070001@uam.es> <4B8FAF82.7010603@uam.es> Message-ID: <4B8FCE58.5010000@gmail.com> On 04/03/10 14:02, Pablo Angulo wrote: > indices = [] > ultimo = 0 > for v in subconjunto: > ultimo += conjunto.index(v,ultimo) > indices.append(ultimo) Creo que el += sobra, list.index() devuelve el índice absoluto: ultimo = conjunto.index(v, ultimo) Y si no me equivoco el índice podría ser ultimo+1. Con tu propuesta, y usando generadores queda realmente simple: ultimo = -1 for v in subconjunto: ultimo = conjunto.index(v, ultimo+1) yield ultimo From olemis+py en gmail.com Thu Mar 4 16:27:10 2010 From: olemis+py en gmail.com (Olemis Lang (Simelix)) Date: Thu, 4 Mar 2010 10:27:10 -0500 Subject: [Python-es] =?iso-8859-1?q?Buscar_=EDndices_de_un_array_=28que_cu?= =?iso-8859-1?q?mple_condici=F3n=29_de_forma_eficiente?= In-Reply-To: <4B8FCE58.5010000@gmail.com> References: <1b6058651003040345o29c52f2et62bd17026d0e719@mail.gmail.com> <4B8FA7C7.8070001@uam.es> <4B8FAF82.7010603@uam.es> <4B8FCE58.5010000@gmail.com> Message-ID: <24ea26601003040727j67ff6699rf4a295ca9417f9f2@mail.gmail.com> 2010/3/4 Arnau Sanchez : > On 04/03/10 14:02, Pablo Angulo wrote: > >> indices = [] >> ultimo = 0 >> for v in subconjunto: >>     ultimo += conjunto.index(v,ultimo) >>     indices.append(ultimo) > > Creo que el += sobra, list.index() devuelve el índice absoluto: > >  ultimo = conjunto.index(v, ultimo) > > Y si no me equivoco el índice podría ser ultimo+1. Con tu propuesta, y > usando generadores queda realmente simple: > >  ultimo = -1 >  for v in subconjunto: >      ultimo = conjunto.index(v, ultimo+1) >      yield ultimo Aquí por ejemplo hay un caso que ilustra el hecho de no confiar demasiado en las estimaciones teóricas . Las estimaciones de Pablo et al se pueden ver afectadas por la eficiencia de la implementación del método index (el cual no me parece que sea muy O(1) que digamos, pero no tengo los detalles en la mano ...) . E.g. si fuera O(n), O(log(n)) ... en el peor caso entonces todos los análisis anteriores no serían del todo precisos (CMIIW) PD: JFYI, la implementación que envié anteriormente no sufre de este potencial problema (de todas formas sería bueno saber si `index` es O(1) o no ;o) -- Regards, Olemis. Blog ES: http://simelo-es.blogspot.com/ Blog EN: http://simelo-en.blogspot.com/ Featured article: Robots activos para Google Wave: introducción a la versión 2 de la API - http://feedproxy.google.com/~r/simelo-es/~3/ltPGNuqYzOM/google-wave-developer-blog-introducing.html From kikocorreoso en gmail.com Thu Mar 4 16:43:15 2010 From: kikocorreoso en gmail.com (Kiko) Date: Thu, 4 Mar 2010 16:43:15 +0100 Subject: [Python-es] =?iso-8859-1?q?Buscar_=EDndices_de_un_array_=28que_cu?= =?iso-8859-1?q?mple_condici=F3n=29_de_forma_eficiente?= In-Reply-To: <24ea26601003040727j67ff6699rf4a295ca9417f9f2@mail.gmail.com> References: <1b6058651003040345o29c52f2et62bd17026d0e719@mail.gmail.com> <4B8FA7C7.8070001@uam.es> <4B8FAF82.7010603@uam.es> <4B8FCE58.5010000@gmail.com> <24ea26601003040727j67ff6699rf4a295ca9417f9f2@mail.gmail.com> Message-ID: <1b6058651003040743p327c33dt3561a0b1fc07e432@mail.gmail.com> El 4 de marzo de 2010 16:27, Olemis Lang (Simelix) > escribió: > 2010/3/4 Arnau Sanchez : > > On 04/03/10 14:02, Pablo Angulo wrote: > > > >> indices = [] > >> ultimo = 0 > >> for v in subconjunto: > >> ultimo += conjunto.index(v,ultimo) > >> indices.append(ultimo) > > > > Creo que el += sobra, list.index() devuelve el índice absoluto: > > > > ultimo = conjunto.index(v, ultimo) > > > > Y si no me equivoco el índice podría ser ultimo+1. Con tu propuesta, y > > usando generadores queda realmente simple: > > > > ultimo = -1 > > for v in subconjunto: > > ultimo = conjunto.index(v, ultimo+1) > > yield ultimo > > Aquí por ejemplo hay un caso que ilustra el hecho de no confiar > demasiado en las estimaciones teóricas . Las estimaciones de Pablo et > al se pueden ver afectadas por la eficiencia de la implementación del > método index (el cual no me parece que sea muy O(1) que digamos, pero > no tengo los detalles en la mano ...) . E.g. si fuera O(n), O(log(n)) > ... en el peor caso entonces todos los análisis anteriores no serían > del todo precisos (CMIIW) > > PD: JFYI, la implementación que envié anteriormente no sufre de este > potencial problema (de todas formas sería bueno saber si `index` es > O(1) o no ;o) > > -- > Regards, > > Olemis > Después de leeros a todos (muchas gracias, Juan Ignacio, Daniel, Pablo, Olemis y Arnau) he hecho unas pruebas para un caso que se acerca a lo que necesito: from datetime import datetime, timedelta import bisect import time def generador(start, end, intervalo): fechas = [] while start <= end: fechas.append(start) start += timedelta(minutes=intervalo) return [valores for valores in fechas] start = datetime(1900,1,1,0,0) end = datetime(1901,1,1,0,0) conjunto = generador(start, end, 10) subconjunto = generador (start, end, 30) t0 = time.time() indices = [] ultimo = -1 for i in subconjunto: ultimo = conjunto.index(i, ultimo+1) indices.append(ultimo) #yield ultimo print time.time() - t0 print indices[0:25] t0 = time.time() indices1 = [conjunto.index(i) for i in subconjunto] print time.time() - t0 print indices1[0:25] t0 = time.time() indices2 = [bisect.bisect(conjunto, i) for i in subconjunto] print time.time() - t0 print indices2[0:25] El yield me da error tal como lo he puesto ¿?. Las salidas que obtengo son: tiempo de la primera opción: 0.0149998664856 for i in subconjunto: ultimo = conjunto.index(i, ultimo+1) indices.append(ultimo) Los primero 25 valores de indices = [0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48, 51, 54, 57, 60, 63, 66, 69, 72] tiempo de mi opción, la original: 41.2180001736 indices1 = [conjunto.index(i) for i in subconjunto] Los primero 25 valores de indices1 = [0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48, 51, 54, 57, 60, 63, 66, 69, 72] tiempo de la tercera opción: 0.0469999313354 indices2 = [bisect.bisect(conjunto, i) for i in subconjunto] Los primero 25 valores de indices2 = [1, 4, 7, 10, 13, 16, 19, 22, 25, 28, 31, 34, 37, 40, 43, 46, 49, 52, 55, 58, 61, 64, 67, 70, 73] Menos mal que he preguntado a los expertos. Muchas gracias por las mejoras. Tanto la primera opción como la tercera son infinitamente mejores que la mía y aceptables en tiempo usado. ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From olemis+py en gmail.com Thu Mar 4 17:02:52 2010 From: olemis+py en gmail.com (Olemis Lang (Simelix)) Date: Thu, 4 Mar 2010 11:02:52 -0500 Subject: [Python-es] =?iso-8859-1?q?Buscar_=EDndices_de_un_array_=28que_cu?= =?iso-8859-1?q?mple_condici=F3n=29_de_forma_eficiente?= In-Reply-To: <1b6058651003040743p327c33dt3561a0b1fc07e432@mail.gmail.com> References: <1b6058651003040345o29c52f2et62bd17026d0e719@mail.gmail.com> <4B8FA7C7.8070001@uam.es> <4B8FAF82.7010603@uam.es> <4B8FCE58.5010000@gmail.com> <24ea26601003040727j67ff6699rf4a295ca9417f9f2@mail.gmail.com> <1b6058651003040743p327c33dt3561a0b1fc07e432@mail.gmail.com> Message-ID: <24ea26601003040802q7a36345q8e50fef8c2e99d6b@mail.gmail.com> 2010/3/4 Kiko : > El 4 de marzo de 2010 16:27, Olemis Lang (Simelix) > escribió: >> 2010/3/4 Arnau Sanchez : >> > On 04/03/10 14:02, Pablo Angulo wrote: >> > > [...] > > tiempo de la tercera opción: 0.0469999313354 > indices2 = [bisect.bisect(conjunto, i) for i in subconjunto] > Los primero 25 valores de indices2 = [1, 4, 7, 10, 13, 16, 19, 22, 25, 28, > 31, 34, 37, 40, 43, 46, 49, 52, 55, 58, 61, 64, 67, 70, 73] > Evidentemente hay que ajustar este ;o) -- Regards, Olemis. Blog ES: http://simelo-es.blogspot.com/ Blog EN: http://simelo-en.blogspot.com/ Featured article: From pablo.angulo en uam.es Thu Mar 4 17:25:02 2010 From: pablo.angulo en uam.es (Pablo Angulo) Date: Thu, 04 Mar 2010 17:25:02 +0100 Subject: [Python-es] =?utf-8?q?Buscar_=C3=ADndices_de_un_array_=28que_cump?= =?utf-8?q?le_condici=C3=B3n=29_de_forma_eficiente?= In-Reply-To: <24ea26601003040727j67ff6699rf4a295ca9417f9f2@mail.gmail.com> References: <1b6058651003040345o29c52f2et62bd17026d0e719@mail.gmail.com> <4B8FA7C7.8070001@uam.es> <4B8FAF82.7010603@uam.es> <4B8FCE58.5010000@gmail.com> <24ea26601003040727j67ff6699rf4a295ca9417f9f2@mail.gmail.com> Message-ID: <4B8FDEDE.3070100@uam.es> Olemis Lang (Simelix) escribió: > Aquí por ejemplo hay un caso que ilustra el hecho de no confiar > demasiado en las estimaciones teóricas . Las estimaciones de Pablo et > al se pueden ver afectadas por la eficiencia de la implementación del > método index (el cual no me parece que sea muy O(1) que digamos, pero > no tengo los detalles en la mano ...) . E.g. si fuera O(n), O(log(n)) > ... en el peor caso entonces todos los análisis anteriores no serían > del todo precisos (CMIIW) > index no es O(1), sino que tarda tanto como tenga que buscar. Si tiene que recorrer toda la lista, será O(n). En este caso, el tiempo total es O(n) porque no se pasa dos veces por el mismo elemento de conjunto, pero eso no significa que index sea O(1). From pablo.angulo en uam.es Thu Mar 4 17:33:25 2010 From: pablo.angulo en uam.es (Pablo Angulo) Date: Thu, 04 Mar 2010 17:33:25 +0100 Subject: [Python-es] =?utf-8?q?Buscar_=C3=ADndices_de_un_array_=28que_cump?= =?utf-8?q?le_condici=C3=B3n=29_de_forma_eficiente?= In-Reply-To: <1b6058651003040743p327c33dt3561a0b1fc07e432@mail.gmail.com> References: <1b6058651003040345o29c52f2et62bd17026d0e719@mail.gmail.com> <4B8FA7C7.8070001@uam.es> <4B8FAF82.7010603@uam.es> <4B8FCE58.5010000@gmail.com> <24ea26601003040727j67ff6699rf4a295ca9417f9f2@mail.gmail.com> <1b6058651003040743p327c33dt3561a0b1fc07e432@mail.gmail.com> Message-ID: <4B8FE0D5.6090608@uam.es> Kiko escribió: > tiempo de la primera opción: 0.0149998664856 > for i in subconjunto: > ultimo = conjunto.index(i, ultimo+1) > indices.append(ultimo) > Los primero 25 valores de indices = [0, 3, 6, 9, 12, 15, 18, 21, 24, > 27, 30, 33, 36, 39, 42, 45, 48, 51, 54, 57, 60, 63, 66, 69, 72] > > tiempo de mi opción, la original: 41.2180001736 > indices1 = [conjunto.index(i) for i in subconjunto] > Los primero 25 valores de indices1 = [0, 3, 6, 9, 12, 15, 18, 21, 24, > 27, 30, 33, 36, 39, 42, 45, 48, 51, 54, 57, 60, 63, 66, 69, 72] > > tiempo de la tercera opción: 0.0469999313354 > indices2 = [bisect.bisect(conjunto, i) for i in subconjunto] > Los primero 25 valores de indices2 = [1, 4, 7, 10, 13, 16, 19, 22, 25, > 28, 31, 34, 37, 40, 43, 46, 49, 52, 55, 58, 61, 64, 67, 70, 73] > > Menos mal que he preguntado a los expertos. > > Muchas gracias por las mejoras. Tanto la primera opción como la > tercera son infinitamente mejores que la mía y aceptables en tiempo usado. Las mediciones de tiempo hay que tomarlas con cautela: si subconjunto es mucho más pequeño que conjunto, entonces Mlog(N) es menor que N, y te interesa usar el tercer método. From olemis+py en gmail.com Thu Mar 4 17:51:45 2010 From: olemis+py en gmail.com (Olemis Lang (Simelix)) Date: Thu, 4 Mar 2010 11:51:45 -0500 Subject: [Python-es] =?iso-8859-1?q?Buscar_=EDndices_de_un_array_=28que_cu?= =?iso-8859-1?q?mple_condici=F3n=29_de_forma_eficiente?= In-Reply-To: <4B8FDEDE.3070100@uam.es> References: <1b6058651003040345o29c52f2et62bd17026d0e719@mail.gmail.com> <4B8FA7C7.8070001@uam.es> <4B8FAF82.7010603@uam.es> <4B8FCE58.5010000@gmail.com> <24ea26601003040727j67ff6699rf4a295ca9417f9f2@mail.gmail.com> <4B8FDEDE.3070100@uam.es> Message-ID: <24ea26601003040851p50d496dbh8338cc071d0f18b3@mail.gmail.com> 2010/3/4 Pablo Angulo : > Olemis Lang (Simelix) escribió: >> Aquí por ejemplo hay un caso que ilustra el hecho de no confiar >> demasiado en las estimaciones teóricas . Las estimaciones de Pablo et >> al se pueden ver afectadas por la eficiencia de la implementación del >> método index (el cual no me parece que sea muy O(1) que digamos, pero >> no tengo los detalles en la mano ...) . E.g. si fuera O(n), O(log(n)) >> ... en el peor caso entonces todos los análisis anteriores no serían >> del todo precisos (CMIIW) >> > > index no es O(1), sino que tarda tanto como tenga que buscar. Si tiene > que recorrer toda la lista, será O(n). En este caso, el tiempo total es > O(n) porque no se pasa dos veces por el mismo elemento de conjunto, pero > eso no significa que index sea O(1). Si no es O(1) entonces sospecho que en {{{ #!python ultimo = -1 for v in subconjunto: ultimo = conjunto.index(v, ultimo+1) yield ultimo }}} hay un ciclo `for` explícito más un ciclo implícito `index`, lo que me hace pensar que el desempeño en el peor caso puede ser O(M * N) y en el mejor sospecho que sea O(M^2), solo que hay una realidad, el ciclo implícito es mucho más eficiente pues está implementado directamente en (C)Python CMIIW ;o) -- Regards, Olemis. Blog ES: http://simelo-es.blogspot.com/ Blog EN: http://simelo-en.blogspot.com/ Featured article: Support micro-seconds as added by Trac in revision 9210 for upcoming 0.12... - http://bitbucket.org/osimons/trac-rpc-mq/changeset/62ffe719a84a/ From kikocorreoso en gmail.com Thu Mar 4 17:52:46 2010 From: kikocorreoso en gmail.com (Kiko) Date: Thu, 4 Mar 2010 17:52:46 +0100 Subject: [Python-es] =?iso-8859-1?q?Buscar_=EDndices_de_un_array_=28que_cu?= =?iso-8859-1?q?mple_condici=F3n=29_de_forma_eficiente?= In-Reply-To: <4B8FE0D5.6090608@uam.es> References: <1b6058651003040345o29c52f2et62bd17026d0e719@mail.gmail.com> <4B8FA7C7.8070001@uam.es> <4B8FAF82.7010603@uam.es> <4B8FCE58.5010000@gmail.com> <24ea26601003040727j67ff6699rf4a295ca9417f9f2@mail.gmail.com> <1b6058651003040743p327c33dt3561a0b1fc07e432@mail.gmail.com> <4B8FE0D5.6090608@uam.es> Message-ID: <1b6058651003040852o1f06737eo96282a2878f2e061@mail.gmail.com> El 4 de marzo de 2010 17:33, Pablo Angulo escribió: > Kiko escribió: > > tiempo de la primera opción: 0.0149998664856 > > for i in subconjunto: > > ultimo = conjunto.index(i, ultimo+1) > > indices.append(ultimo) > > Los primero 25 valores de indices = [0, 3, 6, 9, 12, 15, 18, 21, 24, > > 27, 30, 33, 36, 39, 42, 45, 48, 51, 54, 57, 60, 63, 66, 69, 72] > > > > tiempo de mi opción, la original: 41.2180001736 > > indices1 = [conjunto.index(i) for i in subconjunto] > > Los primero 25 valores de indices1 = [0, 3, 6, 9, 12, 15, 18, 21, 24, > > 27, 30, 33, 36, 39, 42, 45, 48, 51, 54, 57, 60, 63, 66, 69, 72] > > > > tiempo de la tercera opción: 0.0469999313354 > > indices2 = [bisect.bisect(conjunto, i) for i in subconjunto] > > Los primero 25 valores de indices2 = [1, 4, 7, 10, 13, 16, 19, 22, 25, > > 28, 31, 34, 37, 40, 43, 46, 49, 52, 55, 58, 61, 64, 67, 70, 73] > > > > Menos mal que he preguntado a los expertos. > > > > Muchas gracias por las mejoras. Tanto la primera opción como la > > tercera son infinitamente mejores que la mía y aceptables en tiempo > usado. > Las mediciones de tiempo hay que tomarlas con cautela: si subconjunto es > mucho más pequeño que conjunto, entonces Mlog(N) es menor que N, y te > interesa usar el tercer método. > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > De acuerdo contigo. Pero con este ejercicio, lo que queda claro es que cualquiera de las dos propuestas es infinitamente mejor que la inicial (la mía) en tiempo de cálculo y ambas aceptables para lo que necesito ahora mismo. ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From olemis+py en gmail.com Thu Mar 4 17:55:38 2010 From: olemis+py en gmail.com (Olemis Lang (Simelix)) Date: Thu, 4 Mar 2010 11:55:38 -0500 Subject: [Python-es] =?iso-8859-1?q?Buscar_=EDndices_de_un_array_=28que_cu?= =?iso-8859-1?q?mple_condici=F3n=29_de_forma_eficiente?= In-Reply-To: <24ea26601003040851p50d496dbh8338cc071d0f18b3@mail.gmail.com> References: <1b6058651003040345o29c52f2et62bd17026d0e719@mail.gmail.com> <4B8FA7C7.8070001@uam.es> <4B8FAF82.7010603@uam.es> <4B8FCE58.5010000@gmail.com> <24ea26601003040727j67ff6699rf4a295ca9417f9f2@mail.gmail.com> <4B8FDEDE.3070100@uam.es> <24ea26601003040851p50d496dbh8338cc071d0f18b3@mail.gmail.com> Message-ID: <24ea26601003040855h6b1339a1vecbc18ad6f00643b@mail.gmail.com> 2010/3/4 Olemis Lang (Simelix) : > 2010/3/4 Pablo Angulo : >> Olemis Lang (Simelix) escribió: >>> Aquí por ejemplo hay un caso que ilustra el hecho de no confiar >>> demasiado en las estimaciones teóricas . Las estimaciones de Pablo et >>> al se pueden ver afectadas por la eficiencia de la implementación del >>> método index (el cual no me parece que sea muy O(1) que digamos, pero >>> no tengo los detalles en la mano ...) . E.g. si fuera O(n), O(log(n)) >>> ... en el peor caso entonces todos los análisis anteriores no serían >>> del todo precisos (CMIIW) >>> >> >> index no es O(1), sino que tarda tanto como tenga que buscar. Si tiene >> que recorrer toda la lista, será O(n). En este caso, el tiempo total es >> O(n) porque no se pasa dos veces por el mismo elemento de conjunto, AFAICS sí se hace esto dentro de `index` , ¿ o no ? Lo que el ciclo «no se ve» y por tanto está implícito (y es posible pasar por alto ese detalle ;o) CMIIW -- Regards, Olemis. Blog ES: http://simelo-es.blogspot.com/ Blog EN: http://simelo-en.blogspot.com/ Featured article: Support micro-seconds as added by Trac in revision 9210 for upcoming 0.12... - http://bitbucket.org/osimons/trac-rpc-mq/changeset/62ffe719a84a/ From olemis+py en gmail.com Thu Mar 4 18:01:43 2010 From: olemis+py en gmail.com (Olemis Lang (Simelix)) Date: Thu, 4 Mar 2010 12:01:43 -0500 Subject: [Python-es] =?iso-8859-1?q?Buscar_=EDndices_de_un_array_=28que_cu?= =?iso-8859-1?q?mple_condici=F3n=29_de_forma_eficiente?= In-Reply-To: <4B8FE0D5.6090608@uam.es> References: <1b6058651003040345o29c52f2et62bd17026d0e719@mail.gmail.com> <4B8FA7C7.8070001@uam.es> <4B8FAF82.7010603@uam.es> <4B8FCE58.5010000@gmail.com> <24ea26601003040727j67ff6699rf4a295ca9417f9f2@mail.gmail.com> <1b6058651003040743p327c33dt3561a0b1fc07e432@mail.gmail.com> <4B8FE0D5.6090608@uam.es> Message-ID: <24ea26601003040901m76f1a80ei42c0d387d1d8d538@mail.gmail.com> 2010/3/4 Pablo Angulo : > Kiko escribió: >> tiempo de la primera opción: 0.0149998664856 >> for i in subconjunto: >>     ultimo = conjunto.index(i, ultimo+1) >>     indices.append(ultimo) >> Los primero 25 valores de indices = [0, 3, 6, 9, 12, 15, 18, 21, 24, >> 27, 30, 33, 36, 39, 42, 45, 48, 51, 54, 57, 60, 63, 66, 69, 72] >> >> tiempo de mi opción, la original: 41.2180001736 >> indices1 = [conjunto.index(i) for i in subconjunto] >> Los primero 25 valores de indices1 = [0, 3, 6, 9, 12, 15, 18, 21, 24, >> 27, 30, 33, 36, 39, 42, 45, 48, 51, 54, 57, 60, 63, 66, 69, 72] >> >> tiempo de la tercera opción: 0.0469999313354 >> indices2 = [bisect.bisect(conjunto, i) for i in subconjunto] >> Los primero 25 valores de indices2 = [1, 4, 7, 10, 13, 16, 19, 22, 25, >> 28, 31, 34, 37, 40, 43, 46, 49, 52, 55, 58, 61, 64, 67, 70, 73] >> >> Menos mal que he preguntado a los expertos. >> >> Muchas gracias por las mejoras. Tanto la primera opción como la >> tercera son infinitamente mejores que la mía y aceptables en tiempo usado. > > Las mediciones de tiempo hay que tomarlas con cautela: si subconjunto es > mucho más pequeño que conjunto, entonces Mlog(N) es menor que N, y te > interesa usar el tercer método. Esto también es real. Por ejemplo, normalmente los algoritmos híbridos son los que se utilizan más frecuentemente. Por ejemplo, consideren lo siguiente [1]_ : {{{ In Java, the Arrays.sort() methods use merge sort or a tuned quicksort depending on the datatypes and for implementation efficiency switch to insertion sort when fewer than seven array elements are being sorted.[6] Python uses timsort, another tuned hybrid of merge sort and insertion sort. }}} FWIW ;o) .. [1] Comparison with other sort algorithms (http://en.wikipedia.org/wiki/Mergesort#Comparison_with_other_sort_algorithms) -- Regards, Olemis. Blog ES: http://simelo-es.blogspot.com/ Blog EN: http://simelo-en.blogspot.com/ Featured article: Robots activos para Google Wave: introducción a la versión 2 de la API - http://feedproxy.google.com/~r/simelo-es/~3/ltPGNuqYzOM/google-wave-developer-blog-introducing.html From pablo.angulo en uam.es Thu Mar 4 18:06:54 2010 From: pablo.angulo en uam.es (Pablo Angulo) Date: Thu, 04 Mar 2010 18:06:54 +0100 Subject: [Python-es] =?utf-8?q?Buscar_=C3=ADndices_de_un_array_=28que_cump?= =?utf-8?q?le_condici=C3=B3n=29_de_forma_eficiente?= In-Reply-To: <24ea26601003040851p50d496dbh8338cc071d0f18b3@mail.gmail.com> References: <1b6058651003040345o29c52f2et62bd17026d0e719@mail.gmail.com> <4B8FA7C7.8070001@uam.es> <4B8FAF82.7010603@uam.es> <4B8FCE58.5010000@gmail.com> <24ea26601003040727j67ff6699rf4a295ca9417f9f2@mail.gmail.com> <4B8FDEDE.3070100@uam.es> <24ea26601003040851p50d496dbh8338cc071d0f18b3@mail.gmail.com> Message-ID: <4B8FE8AE.8030705@uam.es> Olemis Lang (Simelix) escribió: > Si no es O(1) entonces sospecho que en > > {{{ > #!python > > ultimo = -1 > for v in subconjunto: > ultimo = conjunto.index(v, ultimo+1) > yield ultimo > }}} > > hay un ciclo `for` explícito más un ciclo implícito `index` No lo sospeches: tiene que haber un bucle para encontrar el índice, pero en cuanto encuentras el primer índice con ese valor, te sales del bucle. ¿Cuántas iteraciones haces del bucle en total? Bueno, puede que para algún caso particular hagan falta muchas iteraciones, pero la suma de todas las iteraciones no puede superar N: La primera iteración del bucle "for v in subconjunto", recorres desde 0 hasta indice[0], luego desde indice[1] hasta indice[2],... si sumas todas esas cantidades tienes: (indice[0] - 0) + (indice[1]-indice[0]) + ... + (indice[M-1] - indice[M-2]) = indice[M-1] < N From olemis+py en gmail.com Thu Mar 4 18:29:51 2010 From: olemis+py en gmail.com (Olemis Lang (Simelix)) Date: Thu, 4 Mar 2010 12:29:51 -0500 Subject: [Python-es] =?iso-8859-1?q?Buscar_=EDndices_de_un_array_=28que_cu?= =?iso-8859-1?q?mple_condici=F3n=29_de_forma_eficiente?= In-Reply-To: <4B8FE8AE.8030705@uam.es> References: <1b6058651003040345o29c52f2et62bd17026d0e719@mail.gmail.com> <4B8FA7C7.8070001@uam.es> <4B8FAF82.7010603@uam.es> <4B8FCE58.5010000@gmail.com> <24ea26601003040727j67ff6699rf4a295ca9417f9f2@mail.gmail.com> <4B8FDEDE.3070100@uam.es> <24ea26601003040851p50d496dbh8338cc071d0f18b3@mail.gmail.com> <4B8FE8AE.8030705@uam.es> Message-ID: <24ea26601003040929q810d409yaeb7087572b4b6ca@mail.gmail.com> 2010/3/4 Pablo Angulo : > Olemis Lang (Simelix) escribió: >> Si no es O(1) entonces sospecho que en >> >> {{{ >> #!python >> >> ultimo = -1 >>  for v in subconjunto: >>      ultimo = conjunto.index(v, ultimo+1) >>      yield ultimo >> }}} >> >> hay un ciclo `for` explícito más un ciclo implícito `index` > > > No lo sospeches: tiene que haber un bucle para encontrar el índice, pero > en cuanto encuentras el primer índice con ese valor, te sales del bucle. > ¿Cuántas iteraciones haces del bucle en total? Bueno, puede que para > algún caso particular hagan falta muchas iteraciones, pero la suma de > todas las iteraciones no puede superar N: La primera iteración del bucle > "for v in subconjunto", recorres desde 0 hasta indice[0], luego desde > indice[1] hasta indice[2],... si sumas todas esas cantidades tienes: > > (indice[0] - 0) + (indice[1]-indice[0]) + ... + (indice[M-1] - > indice[M-2]) = indice[M-1] < N Tenía entendido que era así indice[0] + indice[1] + ... + indice[M-1] = sum(indice[i] for i in xrange(M)) <= N * (N + 1) / 2 - M * (M+ 1) / 2 peor caso cuando son los M últimos elementos del arreglo ;o) No me parece que `index` recuerde el último índice de la lista (no estamos hablando de iteradores ;o) entre dos llamadas diferentes para recomenzar la búsqueda de un nuevo elemento (¿ o es que funciona así internamente ?) ... Quizás es que no comprendí la parte del `- indice[0]` ... `- indice[M - 1]` La solución que presenté antes basada en itertools.count si funciona apróximadamente como se describe acá y por tanto resulta O(N) en el peor caso ;o) -- Regards, Olemis. Blog ES: http://simelo-es.blogspot.com/ Blog EN: http://simelo-en.blogspot.com/ Featured article: From pablo.angulo en uam.es Thu Mar 4 19:52:11 2010 From: pablo.angulo en uam.es (Pablo Angulo) Date: Thu, 04 Mar 2010 19:52:11 +0100 Subject: [Python-es] =?utf-8?q?Buscar_=C3=ADndices_de_un_array_=28que_cump?= =?utf-8?q?le_condici=C3=B3n=29_de_forma_eficiente?= In-Reply-To: <24ea26601003040929q810d409yaeb7087572b4b6ca@mail.gmail.com> References: <1b6058651003040345o29c52f2et62bd17026d0e719@mail.gmail.com> <4B8FA7C7.8070001@uam.es> <4B8FAF82.7010603@uam.es> <4B8FCE58.5010000@gmail.com> <24ea26601003040727j67ff6699rf4a295ca9417f9f2@mail.gmail.com> <4B8FDEDE.3070100@uam.es> <24ea26601003040851p50d496dbh8338cc071d0f18b3@mail.gmail.com> <4B8FE8AE.8030705@uam.es> <24ea26601003040929q810d409yaeb7087572b4b6ca@mail.gmail.com> Message-ID: <4B90015B.3030908@uam.es> Olemis Lang (Simelix) escribió: > No me parece que `index` recuerde el último índice de la lista (no > estamos hablando de iteradores ;o) entre dos llamadas diferentes para > recomenzar la búsqueda de un nuevo elemento (¿ o es que funciona así > internamente ?) ... Normalmente, index comienza desde el principio, pero justo por eso le pasamos otro argumento más a index: ultimo = conjunto.index(v, ultimo+1) From olemis+py en gmail.com Thu Mar 4 20:13:13 2010 From: olemis+py en gmail.com (Olemis Lang (Simelix)) Date: Thu, 4 Mar 2010 14:13:13 -0500 Subject: [Python-es] =?iso-8859-1?q?Buscar_=EDndices_de_un_array_=28que_cu?= =?iso-8859-1?q?mple_condici=F3n=29_de_forma_eficiente?= In-Reply-To: <4B90015B.3030908@uam.es> References: <1b6058651003040345o29c52f2et62bd17026d0e719@mail.gmail.com> <4B8FA7C7.8070001@uam.es> <4B8FAF82.7010603@uam.es> <4B8FCE58.5010000@gmail.com> <24ea26601003040727j67ff6699rf4a295ca9417f9f2@mail.gmail.com> <4B8FDEDE.3070100@uam.es> <24ea26601003040851p50d496dbh8338cc071d0f18b3@mail.gmail.com> <4B8FE8AE.8030705@uam.es> <24ea26601003040929q810d409yaeb7087572b4b6ca@mail.gmail.com> <4B90015B.3030908@uam.es> Message-ID: <24ea26601003041113v2f1b7eb8vfcf8c026d0f1190c@mail.gmail.com> 2010/3/4 Pablo Angulo : > Olemis Lang (Simelix) escribió: >> No me parece que `index` recuerde el último índice de la lista (no >> estamos hablando de iteradores ;o) entre dos llamadas diferentes para >> recomenzar la búsqueda de un nuevo elemento (¿ o es que funciona así >> internamente ?) ... > Normalmente, index comienza desde el principio, pero justo por eso le > pasamos otro argumento más a index: > > ultimo = conjunto.index(v, ultimo+1) ¡ Caramba, ya sabía yo ! Tengo que cambiar mis espejuelos urgentemente ... :P -- Regards, Olemis. Blog ES: http://simelo-es.blogspot.com/ Blog EN: http://simelo-en.blogspot.com/ Featured article: From drbobus en gulic.org Thu Mar 4 21:19:38 2010 From: drbobus en gulic.org (Dr. Bobus) Date: Thu, 4 Mar 2010 20:19:38 +0000 Subject: [Python-es] OT py2exe y windows XP In-Reply-To: <796874fc1002151313v4bb5c269m515018520d51bbe@mail.gmail.com> References: <20100215205313.34cd2375@gulic.org> <796874fc1002151313v4bb5c269m515018520d51bbe@mail.gmail.com> Message-ID: <20100304201938.610f3712@gulic.org> El Mon, 15 Feb 2010 16:13:20 -0500 Manuel Alejandro Cerón Estrada dijo: > Hola. Hola todos. > > El día 15 de febrero de 2010 15:53, Dr. Bobus escribió: > > Hola todos: > > > > No se si es muy correcto enviar este mensaje a esta lista, pero quería saber si puede alguien ayudarme. > > > > Un amigo me ha pedido un pequeño script para transformar unos ficheros antiguos dbf a algo que pueda usar (csv). > > > > El script lo he hecho usando el paquete dbf de Ethan Furman (ver 0.84.18) [1]. Abro los ficheros, realizo las transformaciones que me pidió y lo grabo en csv. > > > > El asunto funciona tan ricamente, pero mi amigo usa windows y no tiene python instalado. La cosa es que le "compilé" el script con py2exe. > > > > Tras "compilarlo" lo he probado en varias instalaciones windows que tengo a mano (Windows 2000, windows XP y Windows 7) y funciona perfecto. Sin embargo, a él no le funciona (usa windows XP último service Pack). Me comenta que al ejecutarlo le dice: > > > > "no se pudo iniciar la aplicacion porque su configuracion es incorrecta. Reinstalar aplicacion puede solucionar el problema." > > > > La verdad es que el programa no necesita ninguna instalación ni configuración, copiarlo en una carpeta, poner en ella los ficheros a transformar y darle doble clic. Así funciona en todas las pruebas que he hecho. No se precisan permisos de administrador ni nada por el estilo. El programa no hace nada más que abrir y cerrar ficheros. Donde lo he probado lo he ejecutado como usuario normal. > > > > He estado mirando en Google y sólo he encontrado una entrada que no me resuelve nada. No tengo ni idea de lo que esta diciendo Windows. > > > > Las opciones para la generación en py2exe fueron: > > "py2exe":{ > >    "unbuffered": True, > >    "optimize": 2, > >    "excludes": ["pywin", "pywin.debugger", "pywin.debugger.dbgcon", > >                 "pywin.dialogs", "pywin.dialogs.list", > >                 "Tkconstants","Tkinter","tcl" > >                 ] > >     } > > > > Esto lo hice en una instalación de Python 2.6.4 usando las librerias estandar salvo la comentada para manejar ficheros dbf. > > > > > > Alguna ayuda? > > Tu problema ocurre porque los binarios oficiales de Python 2.6 para > Windows son compilados con MS Visual C++ 9 y por lo tanto dependen de > una biblioteca llamada 'msvcr90.dll'. En tus instalaciones de Windows > el programa funciona bien porque probablemente ya tengas una > aplicación que use esta biblioteca y la haya instalado en tu sistema. > El mismo Python 2.6 instala esta biblioteca. > > Ahora la solución es sencilla: tienes que distribuir tu programa junto > con la librería 'msvcr90.dll' y el archivo manifiesto > 'Microsoft.VC90.CRT.manifest'. Estos archivos deben estar en algún > lugar de tu disco duro, pero si quieres conseguirlos fácilmente, > instala Python 2.6 en modo "Sólo para este usuario" y te aparecerán en > la carpeta C:\Python26 o dónde lo hayas instalado. Muchas gracias con retraso, hice como se comenta en esta receta y efectivamente funciona. Ese era el problema. Realicé una instalación de windows "fresca" en Virtual Box y efectivamente el programa no funcionaba y pude reproducir el error. Al instalar el MS Visual C++ 9 que instala la librería que tu comentas el programa ya funcionaba. No he contestado antes a la lista pues mi amigo tardo "un poco" en probar la solución. Instaló la librería y el script ya le funciona. Saludos y gracias. Dr. Bobus -- "...[Linux's] capacity to talk via any medium except smoke signals." (By Dr. Greg Wettstein, Roger Maris Cancer Center) ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 197 bytes Desc: no disponible URL: From pyarnau en gmail.com Thu Mar 4 21:27:54 2010 From: pyarnau en gmail.com (Arnau Sanchez) Date: Thu, 04 Mar 2010 21:27:54 +0100 Subject: [Python-es] =?iso-8859-1?q?Buscar_=EDndices_de_un_array_=28que_cu?= =?iso-8859-1?q?mple_condici=F3n=29_de_forma_eficiente?= In-Reply-To: <1b6058651003040743p327c33dt3561a0b1fc07e432@mail.gmail.com> References: <1b6058651003040345o29c52f2et62bd17026d0e719@mail.gmail.com> <4B8FA7C7.8070001@uam.es> <4B8FAF82.7010603@uam.es> <4B8FCE58.5010000@gmail.com> <24ea26601003040727j67ff6699rf4a295ca9417f9f2@mail.gmail.com> <1b6058651003040743p327c33dt3561a0b1fc07e432@mail.gmail.com> Message-ID: <4B9017CA.2030302@gmail.com> On 04/03/10 16:43, Kiko wrote: > indices = [] > ultimo = -1 > for i in subconjunto: > ultimo = conjunto.index(i, ultimo+1) > indices.append(ultimo) > #yield ultimo > El yield me da error tal como lo he puesto ¿?. Claro, un "yield" sólo funciona dentro de un generador. Supongo que nunca has trabajado con ellos, busca información por google, por ejemplo: http://docs.python.org.ar/tutorial/classes.html#generadores De verdad que vale la pena, los generadores son una de las herramientas más potentes de Python. Para crear un generator tendrás que definirlo (también con "def", aunque no es una función). En nuestro ejemplo: def gen(): ultimo = -1 for v in subgroup: ultimo = group.index(v, ultimo+1) yield ultimo Si haces gen() verás que devuelve (inmediatamente, ya que no lo ha ejecutado todavía) un objeto generador, no una lista; siempre puedes obtener el resultado completo en forma de lista, así: list(gen()). Pero muchas veces uno no quiere tener toda la lista, sólo iterar (una vez) sobre el resultado. En ese caso: for item in gen(): # hacer algo con item Por último: Daniel proponía usar bisect; con la misma idea, y refactorizando un pelín, quedaría así: def get_positions(group, subgroup): index = 0 for element in subgroup: index = bisect.bisect(group, element, index) yield index-1 arnau From olemis+py en gmail.com Thu Mar 4 21:41:12 2010 From: olemis+py en gmail.com (Olemis Lang (Simelix)) Date: Thu, 4 Mar 2010 15:41:12 -0500 Subject: [Python-es] =?iso-8859-1?q?Precisi=F3n_sobre_funciones_generadora?= =?iso-8859-1?q?s_en_Py_WAS=3A_Buscar_=EDndices_de_un_array_=28que_?= =?iso-8859-1?q?cumple_condici=F3n=29_de_forma_eficiente?= Message-ID: <24ea26601003041241u3b50f68eo993bc69380011f78@mail.gmail.com> 2010/3/4 Arnau Sanchez : > On 04/03/10 16:43, Kiko wrote: > [...] > > De verdad que vale la pena, los generadores son una de las herramientas más > potentes de Python. +1 > Para crear un generator tendrás que definirlo (también > con "def", aunque no es una función). Sí es una función, pero que se crea con tiene un flag especial . Cuando el intérprete la ejecuta, crea automáticamente un objeto que llama la función para calcular valores de una secuencia AFAIK ejemplo sencillo, los números naturales {{{ #!python def count(): i = 0 while True : yield i i+= 1 }}} -- Regards, Olemis. Blog ES: http://simelo-es.blogspot.com/ Blog EN: http://simelo-en.blogspot.com/ Featured article: From rmrsndvl en yahoo.com.ar Fri Mar 5 05:37:03 2010 From: rmrsndvl en yahoo.com.ar (Ramiro) Date: Thu, 4 Mar 2010 20:37:03 -0800 (PST) Subject: [Python-es] Como saber el tipo de columna en una base de datos SQLITE In-Reply-To: <2c9fb0dd1002051955p3a1e84ddxdeec8a45b32dbe42@mail.gmail.com> Message-ID: <444149.68195.qm@web65607.mail.ac4.yahoo.com> Pude hacer andar la solución que me pasaste Chema Cortes, gracias por la mano que me tiraste. Dejo un ejemplo: #!/usr/bin/python import gtk, pygtk import sqlite3 as sql bbdd = sql.connect('datos.bd') cur = bbdd.cursor() cur.execute("pragma table_info('TABLA_1')") r = cur.fetchall() for columna in r:     print columna cur.close() bbdd.close() SALUDOS --- El sáb 6-feb-10, Chema Cortes escribió: De: Chema Cortes Asunto: Re: [Python-es] Como saber el tipo de columna en una base de datos SQLITE Para: "La lista de python en castellano" Fecha: sábado, 6 de febrero de 2010, 1:55 El 5 de febrero de 2010 02:17, Ramiro escribió: > Yo utilizo cursor.description para conocer los nombres de las columnas. Lo malo de eso es que no puede estar vaacía la base. > Pero de los tipos de cada columna ni idea de como sacarla, en la documentación que aparece sobre la librería sqlite3 de python no muestra nada sobre como sacar los tipos de datos. Si entiendo bien, el problema es que pysqlite no da más información en el cursor.description que el nombre de los campos (el resto de información se rellena con Nones). Tendrás que usar entonces el segundo método que te indiqué:   cur.execute("pragma table_info('tabla')") Por cada campo devuelve una tupla con: - número de orden - nombre del campo - tipo (con el que se ha definido la tabla) - nullable (0/1) - valor por defecto - clave primaria (0/1) A partir de la definición de la tabla, se siguen una sencillas reglas para sacar la afinidades a partir del nombre del tipo (mira en la documentación). _______________________________________________ Python-es mailing list Python-es en python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ Yahoo! Cocina Encontra las mejores recetas con Yahoo! Cocina. http://ar.mujer.yahoo.com/cocina/ ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From rmrsndvl en yahoo.com.ar Fri Mar 5 05:39:10 2010 From: rmrsndvl en yahoo.com.ar (Ramiro) Date: Thu, 4 Mar 2010 20:39:10 -0800 (PST) Subject: [Python-es] Como saber el tipo de columna en una base de datos SQLITE Message-ID: <825993.20614.qm@web65604.mail.ac4.yahoo.com> Pude hacer andar la solución que me pasaste Chema Cortes, gracias por la mano que me tiraste. Dejo un ejemplo: #!/usr/bin/python import gtk, pygtk import sqlite3 as sql bbdd = sql.connect('datos.bd') cur = bbdd.cursor() cur.execute("pragma table_info('TABLA_1')") r = cur.fetchall() for columna in r:     print columna cur.close() bbdd.close() SALUDOS --- El sáb 6-feb-10, Chema Cortes escribió: De: Chema Cortes Asunto: Re: [Python-es] Como saber el tipo de columna en una base de datos SQLITE Para: "La lista de python en castellano" Fecha: sábado, 6 de febrero de 2010, 1:55 El 5 de febrero de 2010 02:17, Ramiro escribió: > Yo utilizo cursor.description para conocer los nombres de las columnas. Lo malo de eso es que no puede estar vaacía la base. > Pero de los tipos de cada columna ni idea de como sacarla, en la documentación que aparece sobre la librería sqlite3 de python no muestra nada sobre como sacar los tipos de datos. Si entiendo bien, el problema es que pysqlite no da más información en el cursor.description que el nombre de los campos (el resto de información se rellena con Nones). Tendrás que usar entonces el segundo método que te indiqué:   cur.execute("pragma table_info('tabla')") Por cada campo devuelve una tupla con: - número de orden - nombre del campo - tipo (con el que se ha definido la tabla) - nullable (0/1) - valor por defecto - clave primaria (0/1) A partir de la definición de la tabla, se siguen una sencillas reglas para sacar la afinidades a partir del nombre del tipo (mira en la documentación). _______________________________________________ Python-es mailing list Python-es en python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ Encontra las mejores recetas con Yahoo! Cocina. http://ar.mujer.yahoo.com/cocina/ -----Adjunto en línea a continuación----- _______________________________________________ Python-es mailing list Python-es en python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ Yahoo! Cocina Encontra las mejores recetas con Yahoo! Cocina. http://ar.mujer.yahoo.com/cocina/ ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From rmrsndvl en yahoo.com.ar Fri Mar 5 05:52:17 2010 From: rmrsndvl en yahoo.com.ar (Ramiro) Date: Thu, 4 Mar 2010 20:52:17 -0800 (PST) Subject: [Python-es] =?iso-8859-1?q?PYSQLITE=3A_C=F3mo_saber_los_nombres_d?= =?iso-8859-1?q?e_todas_las_tablas_que_contenga_una_base_sqlite?= Message-ID: <821772.21428.qm@web65602.mail.ac4.yahoo.com> Como el título dice, quisiera saber cómo pedir los nombres de las tablas que contenga una base de datos sqlite La verdad no entiendo la documentación de la librería sqlite3, me pasé horas buscando y no encontré la solución. También si me podrían pasar el lugar de la documentación donde habla de eso les agradecería, así  me ubico de una vez. saludos Yahoo! Cocina Encontra las mejores recetas con Yahoo! Cocina. http://ar.mujer.yahoo.com/cocina/ ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From eliben en gmail.com Fri Mar 5 07:04:32 2010 From: eliben en gmail.com (Eli Bendersky) Date: Fri, 5 Mar 2010 08:04:32 +0200 Subject: [Python-es] =?iso-8859-1?q?PYSQLITE=3A_C=F3mo_saber_los_nombres_d?= =?iso-8859-1?q?e_todas_las_tablas_que_contenga_una_base_sqlite?= In-Reply-To: <821772.21428.qm@web65602.mail.ac4.yahoo.com> References: <821772.21428.qm@web65602.mail.ac4.yahoo.com> Message-ID: <95cf475a1003042204v2841eab8q88aff5f47bad2469@mail.gmail.com> Puedes usar la tabla sqlite_master: select name from SQLite_Master 2010/3/5 Ramiro > Como el título dice, quisiera saber cómo pedir los nombres de las tablas > que contenga una base de datos sqlite > > La verdad no entiendo la documentación de la librería sqlite3, me pasé > horas buscando y no encontré la solución. > > También si me podrían pasar el lugar de la documentación donde habla de eso > les agradecería, así me ubico de una vez. > > > saludos > > > > ------------------------------ > > Encontra las mejores recetas con Yahoo! Cocina. > http://ar.mujer.yahoo.com/cocina/ > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From pyarnau en gmail.com Fri Mar 5 10:21:04 2010 From: pyarnau en gmail.com (Arnau Sanchez) Date: Fri, 05 Mar 2010 10:21:04 +0100 Subject: [Python-es] =?iso-8859-1?q?Precisi=F3n_sobre_funciones_generadora?= =?iso-8859-1?q?s_en_Py_WAS=3A_Buscar_=EDndices_de_un_array_=28que_cumple_?= =?iso-8859-1?q?condici=F3n=29_de_forma_eficiente?= In-Reply-To: <24ea26601003041241u3b50f68eo993bc69380011f78@mail.gmail.com> References: <24ea26601003041241u3b50f68eo993bc69380011f78@mail.gmail.com> Message-ID: <4B90CD00.7080809@gmail.com> On 04/03/10 21:41, Olemis Lang (Simelix) wrote: >> Para crear un generator tendrás que definirlo (también >> con "def", aunque no es una función). > > Sí es una función, pero que se crea con tiene un flag especial . En terminología Python sí (de hecho su nombre completo es "funciones generadoras"), pero quería enfatizar que los generadores no son como las funciones de toda la vida, a pesar de que se definan también con el keyword "def" (esto tuvo sus detractores durante la inclusión en el lenguaje). La historia de los generadores en Python: http://www.python.org/dev/peps/pep-0255/ From xiscu en email.de Fri Mar 5 12:13:22 2010 From: xiscu en email.de (xiscu) Date: Fri, 05 Mar 2010 12:13:22 +0100 Subject: [Python-es] =?iso-8859-1?q?Precisi=F3n_sobre_funciones_generadora?= =?iso-8859-1?q?s_en_Py_WAS=3A_Buscar_=EDndices_de_un_array_=28que_cumple_?= =?iso-8859-1?q?condici=F3n=29_de_forma_eficiente?= In-Reply-To: <24ea26601003041241u3b50f68eo993bc69380011f78@mail.gmail.com> References: <24ea26601003041241u3b50f68eo993bc69380011f78@mail.gmail.com> Message-ID: <4B90E752.7040607@email.de> En tema generadores os puedo recomendar: http://www.dabeaz.com/generators/index.html es realmente bueno ... Olemis Lang (Simelix) wrote: > 2010/3/4 Arnau Sanchez : >> On 04/03/10 16:43, Kiko wrote: >> > [...] >> De verdad que vale la pena, los generadores son una de las herramientas más >> potentes de Python. > > +1 > >> Para crear un generator tendrás que definirlo (también >> con "def", aunque no es una función). > > Sí es una función, pero que se crea con tiene un flag especial . > Cuando el intérprete la ejecuta, crea automáticamente un objeto que > llama la función para calcular valores de una secuencia > > AFAIK > > ejemplo sencillo, los números naturales > > {{{ > #!python > > def count(): > i = 0 > while True : > yield i > i+= 1 > }}} > From inf200523 en ucf.edu.cu Fri Mar 5 15:36:30 2010 From: inf200523 en ucf.edu.cu (Boris Perez Canedo) Date: Fri, 5 Mar 2010 09:36:30 -0500 (EST) Subject: [Python-es] obtener diferencias entre elementos de dos listas de listas. Message-ID: <1393.10.14.19.63.1267799790.squirrel@correo> Hola a todos. Viendo los comentarios relacionados con "Buscar índices de un array (que cumple condición) de forma eficiente" y el analisis profundo que este genero, me dio un poco de verguenza respecto a un problema que se me presento y del cual, incluso antes de leer estos comentarios, sabia que la solucion que habia propuesto no era eficiente ni mucho menos "elegante", pero bueno lo de elegante se lo puedo achacar a mi falta de experiencia con Python o tambien puede ser que la falta de elegancia genere la ineficiencia. No pongo mi solucion porque me da tremenda pena! Mi problema: Encontrar las diferencias entre los elementos de dos listas de listas cuyos elementos (listas) comparten entre si un elemento comun en una posicion dada. Disculpen el enredo espero entiendan mejor con lo siguiente: Entrada: en ste caso el elemento considerado comun se encuentra en la posicion 1 L1 = [ [ 1, 1, 2] , [ 2, 3, 5 ] , [ 3, 2, 8 ] ] L2 = [ [ 2, 1, 6 ], [ 3, 2, 8 ], [ 1, 3, 5 ], [ 4, 4, 7] ] Salida: [ (element1 , element2, diferencia),... ]  la diferencia contiene los indices donde ambos elementos difieren. [ ( [ 1, 1, 2 ], [ 2, 1, 6 ], [ 0, 2 ] ), ([ 2, 3, 5 ], [ 1, 3, 5 ], [ 0 ] ), ( [  ], [ 4, 4, 7 ], [ 0, 1, 2 ] ) ] Aclarar que en ningun caso, tanto las listas de entrada como la de salida, tienen obligatoriamente que estar ordenadas, pero si facilita la solucion o implica una mejora en la eficiencia pueden ser ordenadas. Gracias de antemano. Saludos, Boris. --- La mejor vacuna contra el virus A(H1N1) es la higiene personal ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From olemis+py en gmail.com Fri Mar 5 15:48:19 2010 From: olemis+py en gmail.com (Olemis Lang (Simelix)) Date: Fri, 5 Mar 2010 09:48:19 -0500 Subject: [Python-es] obtener diferencias entre elementos de dos listas de listas. In-Reply-To: <1393.10.14.19.63.1267799790.squirrel@correo> References: <1393.10.14.19.63.1267799790.squirrel@correo> Message-ID: <24ea26601003050648h41913d87m879b69c67e0bab03@mail.gmail.com> 2010/3/5 Boris Perez Canedo : > Hola a todos. > [...] > > Mi problema: > Encontrar las diferencias entre los elementos de dos listas de listas cuyos > elementos (listas) comparten entre si un elemento comun en una posicion > dada. Eso me suena a hacerle un diff a dos listas y, si ese es el caso y solo hay números, hay varias soluciones. Se me ocurren dos vías de hacerlo - Hacer un texto que represente las listas y calcular diferencias usando difflib - Hacer un método de diffs para listas (en este caso el módulo `unittest` que viene con Py 2.7 podría servir de referencia puesto a que allí utilizan esto para imprimir en los reportes de pruebas las diferencias entre dos listas, conjuntos, ...) -- Regards, Olemis. Blog ES: http://simelo-es.blogspot.com/ Blog EN: http://simelo-en.blogspot.com/ Featured article: Soporte para Hessian (RPC) en Trac - http://feedproxy.google.com/~r/simelo-es/~3/1vNiBD5LjP8/soporte-para-hessian-rpc-en-trac.html From lasizoillo en gmail.com Fri Mar 5 15:53:22 2010 From: lasizoillo en gmail.com (lasizoillo) Date: Fri, 5 Mar 2010 15:53:22 +0100 Subject: [Python-es] obtener diferencias entre elementos de dos listas de listas. In-Reply-To: <1393.10.14.19.63.1267799790.squirrel@correo> References: <1393.10.14.19.63.1267799790.squirrel@correo> Message-ID: <49414f571003050653n775d8e7cu80f543023cb8628d@mail.gmail.com> El día 5 de marzo de 2010 15:36, Boris Perez Canedo escribió: > Hola a todos. > > Viendo los comentarios relacionados con "Buscar índices de un array (que > cumple condición) de forma eficiente" y el analisis profundo que este > genero, me dio un poco de verguenza respecto a un problema que se me > presento y del cual, incluso antes de leer estos comentarios, sabia que la > solucion que habia propuesto no era eficiente ni mucho menos "elegante", > pero bueno lo de elegante se lo puedo achacar a mi falta de experiencia con > Python o tambien puede ser que la falta de elegancia genere la ineficiencia. > > No pongo mi solucion porque me da tremenda pena! > Ponla. Nadie te va a lapidar, insultar o mirar mal. Y si alguien lo hace, lo miramos mal, le insultamos y lo lapidamos ;-) From olemis+py en gmail.com Fri Mar 5 16:00:51 2010 From: olemis+py en gmail.com (Olemis Lang (Simelix)) Date: Fri, 5 Mar 2010 10:00:51 -0500 Subject: [Python-es] obtener diferencias entre elementos de dos listas de listas. In-Reply-To: <49414f571003050653n775d8e7cu80f543023cb8628d@mail.gmail.com> References: <1393.10.14.19.63.1267799790.squirrel@correo> <49414f571003050653n775d8e7cu80f543023cb8628d@mail.gmail.com> Message-ID: <24ea26601003050700j39c4445j3e4e8b2e0ba2c3db@mail.gmail.com> 2010/3/5 lasizoillo : > El día 5 de marzo de 2010 15:36, Boris Perez Canedo > escribió: >> Hola a todos. >> >> Viendo los comentarios relacionados con "Buscar índices de un array (que >> cumple condición) de forma eficiente" y el analisis profundo que este >> genero, me dio un poco de verguenza respecto a un problema que se me >> presento y del cual, incluso antes de leer estos comentarios, sabia que la >> solucion que habia propuesto no era eficiente ni mucho menos "elegante", >> pero bueno lo de elegante se lo puedo achacar a mi falta de experiencia con >> Python o tambien puede ser que la falta de elegancia genere la ineficiencia. >> >> No pongo mi solucion porque me da tremenda pena! > > Ponla. Nadie te va a lapidar, insultar o mirar mal. Y si alguien lo > hace, lo miramos mal, le insultamos y lo lapidamos ;-) > El primer paso para aprender es darse cuenta de que algo no se sabe. Los necios se burlaran, pero así aprenderás doble : - Sabrás quién es necio - Siempre habrá alguien que te ayudará y aprenderás también lo que no sabes No hay nada más bárbaro que equivocarse !!! ... y aprender luego, claro ;o) -- Regards, Olemis. Blog ES: http://simelo-es.blogspot.com/ Blog EN: http://simelo-en.blogspot.com/ Featured article: Soporte para Hessian (RPC) en Trac - http://feedproxy.google.com/~r/simelo-es/~3/1vNiBD5LjP8/soporte-para-hessian-rpc-en-trac.html From megutierrez en estudiantes.uci.cu Fri Mar 5 16:05:31 2010 From: megutierrez en estudiantes.uci.cu (Manuel E.) Date: Fri, 05 Mar 2010 10:05:31 -0500 Subject: [Python-es] obtener diferencias entre elementos de dos listas de listas. In-Reply-To: <1393.10.14.19.63.1267799790.squirrel@correo> References: <1393.10.14.19.63.1267799790.squirrel@correo> Message-ID: <4B911DBB.2010609@estudiantes.uci.cu> El 05/03/10 09:36, Boris Perez Canedo escribió: > Hola a todos. > > Viendo los comentarios relacionados con "Buscar índices de un array (que > cumple condición) de forma eficiente" y el analisis profundo que este > genero, me dio un poco de verguenza respecto a un problema que se me > presento y del cual, incluso antes de leer estos comentarios, sabia que > la solucion que habia propuesto no era eficiente ni mucho menos > "elegante", pero bueno lo de elegante se lo puedo achacar a mi falta de > experiencia con Python o tambien puede ser que la falta de elegancia > genere la ineficiencia. > > No pongo mi solucion porque me da tremenda pena! > > Mi problema: > Encontrar las diferencias entre los elementos de dos listas de listas > cuyos elementos (listas) comparten entre si un elemento comun en una > posicion dada. > Disculpen el enredo espero entiendan mejor con lo siguiente: > > Entrada: > en ste caso el elemento considerado comun se encuentra en la posicion 1 > > L1 = [ [ 1, 1, 2] , [ 2, 3, 5 ] , [ 3, 2, 8 ] ] > > L2 = [ [ 2, 1, 6 ], [ 3, 2, 8 ], [ 1, 3, 5 ], [ 4, 4, 7] ] > > Salida: > [ (element1 , element2, diferencia),... ] > > la diferencia contiene los indices donde ambos elementos difieren. > > > [ ( [ 1, 1, 2 ], [ 2, 1, 6 ], [ 0, 2 ] ), ([ 2, 3, 5 ], [ 1, 3, 5 ], [ 0 > ] ), ( [ ], [ 4, 4, 7 ], [ 0, 1, 2 ] ) ] > > Aclarar que en ningun caso, tanto las listas de entrada como la de > salida, tienen obligatoriamente que estar ordenadas, pero si facilita la > solucion o implica una mejora en la eficiencia pueden ser ordenadas. > > > > Gracias de antemano. > > > Saludos, > Boris. Echandole un vistazo rápido te puedo aconsejar que pruebes con conjuntos (set), me parece la solución más directa para este caso, aunque quizás no la más eficiente. Slds. Manuel. From inf200523 en ucf.edu.cu Fri Mar 5 16:28:58 2010 From: inf200523 en ucf.edu.cu (Boris Perez Canedo) Date: Fri, 5 Mar 2010 10:28:58 -0500 (EST) Subject: [Python-es] obtener diferencias entre elementos de dos listas de listas. In-Reply-To: <4B911DBB.2010609@estudiantes.uci.cu> References: <1393.10.14.19.63.1267799790.squirrel@correo> <4B911DBB.2010609@estudiantes.uci.cu> Message-ID: <1125.10.14.19.12.1267802938.squirrel@correo.ucf.edu.cu> > El 05/03/10 09:36, Boris Perez Canedo escribió: >> Hola a todos. >> >> Viendo los comentarios relacionados con "Buscar índices de un array (que >> cumple condición) de forma eficiente" y el analisis profundo que este >> genero, me dio un poco de verguenza respecto a un problema que se me >> presento y del cual, incluso antes de leer estos comentarios, sabia que >> la solucion que habia propuesto no era eficiente ni mucho menos >> "elegante", pero bueno lo de elegante se lo puedo achacar a mi falta de >> experiencia con Python o tambien puede ser que la falta de elegancia >> genere la ineficiencia. >> >> No pongo mi solucion porque me da tremenda pena! >> >> Mi problema: >> Encontrar las diferencias entre los elementos de dos listas de listas >> cuyos elementos (listas) comparten entre si un elemento comun en una >> posicion dada. >> Disculpen el enredo espero entiendan mejor con lo siguiente: >> >> Entrada: >> en ste caso el elemento considerado comun se encuentra en la posicion 1 >> >> L1 = [ [ 1, 1, 2] , [ 2, 3, 5 ] , [ 3, 2, 8 ] ] >> >> L2 = [ [ 2, 1, 6 ], [ 3, 2, 8 ], [ 1, 3, 5 ], [ 4, 4, 7] ] >> >> Salida: >> [ (element1 , element2, diferencia),... ] >> >> la diferencia contiene los indices donde ambos elementos difieren. >> >> >> [ ( [ 1, 1, 2 ], [ 2, 1, 6 ], [ 0, 2 ] ), ([ 2, 3, 5 ], [ 1, 3, 5 ], [ 0 >> ] ), ( [ ], [ 4, 4, 7 ], [ 0, 1, 2 ] ) ] >> >> Aclarar que en ningun caso, tanto las listas de entrada como la de >> salida, tienen obligatoriamente que estar ordenadas, pero si facilita la >> solucion o implica una mejora en la eficiencia pueden ser ordenadas. >> >> >> >> Gracias de antemano. >> >> >> Saludos, >> Boris. >  Hola, Ok, me convencieron, pero les advierto que esta de piedra, por asi decirlo. def compare(L1, L2):     if len(L1) <> len(L2):         return None     else:         differ = []         for pos in range(len(L1)):             if L1[pos] <> L2[pos]:                 differ.append(pos)         return differ        def FindDifferences(L1, L2, fixedPos):          not_in_L1 = []     not_in_L2 = []     for element2 in L2:         if element2 not in L1:             not_in_L1.append(element2)     for element1 in L1:         if element1 not in L2:             not_in_L2.append(element1)     differences = []         if len(not_in_L1) >= len(not_in_L2):         for pos in range(len(not_in_L1)):             found = False             for pos1 in range(len(L1)):                 if not_in_L1[pos][fixedPos] == L1[pos1][fixedPos]:                     found = True                     now = not_in_L1[pos]                     before = L1[pos1]                     diff = compare(now, before)                     if diff <> []:                         differences.append((now, before, diff))                     break             if not found:                 differences.append((not_in_L1[pos], [], [-1]))     else:          for pos in range(len(not_in_L2)):             found = False             for pos2 in range(len(L2)):                 if not_in_L2[pos][fixedPos] == L2[pos2][fixedPos]:                     found = True                     before = not_in_L2[pos]                     now = L2[pos2]                     diff = compare(now, before)                     if diff <> []:                         differences.append((now, before, diff))                     break             if not found:                 differences.append(([], not_in_L2[pos], [-1]))              return differences Lo que mas me molesta de esta solucion es que tengo que repetir codigo (aparece en el if else) Gracias y no me tiren piedras! Ah, otra cosa, interpretese L1 y L2 como: L1 obtenido de una base datos y L2 como: informacion actual que se desea compara con L1. Saludos, Boris. --- La mejor vacuna contra el virus A(H1N1) es la higiene personal ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From ricardo.cardenes en gmail.com Fri Mar 5 16:49:52 2010 From: ricardo.cardenes en gmail.com (=?ISO-8859-1?Q?Ricardo_C=E1rdenes_Medina?=) Date: Fri, 5 Mar 2010 15:49:52 +0000 Subject: [Python-es] obtener diferencias entre elementos de dos listas de listas. In-Reply-To: <1125.10.14.19.12.1267802938.squirrel@correo.ucf.edu.cu> References: <1393.10.14.19.63.1267799790.squirrel@correo> <4B911DBB.2010609@estudiantes.uci.cu> <1125.10.14.19.12.1267802938.squirrel@correo.ucf.edu.cu> Message-ID: <325adf7e1003050749h6e114fr154d2fa1639a1bfd@mail.gmail.com> 2010/3/5 Boris Perez Canedo : > Hola, > > Ok, me convencieron, pero les advierto que esta de piedra, por asi decirlo. > > def compare(L1, L2): >     if len(L1) <> len(L2): >         return None >     else: >         differ = [] >         for pos in range(len(L1)): >             if L1[pos] <> L2[pos]: >                 differ.append(pos) >         return differ Por lo pronto, yo escribiría "compare" así: def compare(L1, L2): if len(L1) <> len(L2): return None return [x for x,(y,z) in enumerate(zip(L1, L2)) if y <> z] El resto no lo he mirado, que no hay mucho tiempo en el trabajo :P :) From darkrho en gmail.com Fri Mar 5 16:50:58 2010 From: darkrho en gmail.com (Rolando Espinoza La Fuente) Date: Fri, 5 Mar 2010 11:50:58 -0400 Subject: [Python-es] obtener diferencias entre elementos de dos listas de listas. In-Reply-To: <1125.10.14.19.12.1267802938.squirrel@correo.ucf.edu.cu> References: <1393.10.14.19.63.1267799790.squirrel@correo> <4B911DBB.2010609@estudiantes.uci.cu> <1125.10.14.19.12.1267802938.squirrel@correo.ucf.edu.cu> Message-ID: <4eca3f41003050750q622b637fx58b26ad5a46c56d4@mail.gmail.com> Esta solución es específica para el ejemplo que diste: # salida [1, 1, 2] [2, 1, 6] [0, 2] [2, 3, 5] [1, 3, 5] [0] [] [4, 4, 7] [0, 1, 2] # parte relevante L1 = [[1, 1, 2], [2, 3, 5], [3, 2, 8]] L2 = [[2, 1, 6], [3, 2, 8], [1, 3, 5], [4, 4, 7]] clean(L1, L2) for i in range(max(len(L1), len(L2))): a = getitem(L1, i, []) b = getitem(L2, i, []) diff = [] for j in range(max(len(a), len(b))): if not getitem(a, j) == getitem(b, j): diff.append(j) print a, b, diff Pero dudo que sea la más optima, el código completo aqui: http://gist.github.com/322839 No te preocupes, que todos aprendemos algo :) Pensaba utilizar sets, pero el problema es que te ordena los elementos y simplifica los comunes set([3,2,1]) -> (1,2,3) set([2,2,2]) -> (2)Serviría para comparar elementos, pero pierdes los índices. Rolando 2010/3/5 Boris Perez Canedo : >> El 05/03/10 09:36, Boris Perez Canedo escribió: >>> Hola a todos. >>> >>> Viendo los comentarios relacionados con "Buscar índices de un array (que >>> cumple condición) de forma eficiente" y el analisis profundo que este >>> genero, me dio un poco de verguenza respecto a un problema que se me >>> presento y del cual, incluso antes de leer estos comentarios, sabia que >>> la solucion que habia propuesto no era eficiente ni mucho menos >>> "elegante", pero bueno lo de elegante se lo puedo achacar a mi falta de >>> experiencia con Python o tambien puede ser que la falta de elegancia >>> genere la ineficiencia. >>> >>> No pongo mi solucion porque me da tremenda pena! >>> >>> Mi problema: >>> Encontrar las diferencias entre los elementos de dos listas de listas >>> cuyos elementos (listas) comparten entre si un elemento comun en una >>> posicion dada. >>> Disculpen el enredo espero entiendan mejor con lo siguiente: >>> >>> Entrada: >>> en ste caso el elemento considerado comun se encuentra en la posicion 1 >>> >>> L1 = [ [ 1, 1, 2] , [ 2, 3, 5 ] , [ 3, 2, 8 ] ] >>> >>> L2 = [ [ 2, 1, 6 ], [ 3, 2, 8 ], [ 1, 3, 5 ], [ 4, 4, 7] ] >>> >>> Salida: >>> [ (element1 , element2, diferencia),... ] >>> >>> la diferencia contiene los indices donde ambos elementos difieren. >>> >>> >>> [ ( [ 1, 1, 2 ], [ 2, 1, 6 ], [ 0, 2 ] ), ([ 2, 3, 5 ], [ 1, 3, 5 ], [ 0 >>> ] ), ( [ ], [ 4, 4, 7 ], [ 0, 1, 2 ] ) ] >>> >>> Aclarar que en ningun caso, tanto las listas de entrada como la de >>> salida, tienen obligatoriamente que estar ordenadas, pero si facilita la >>> solucion o implica una mejora en la eficiencia pueden ser ordenadas. >>> >>> >>> >>> Gracias de antemano. >>> >>> >>> Saludos, >>> Boris. >> > > Hola, > > Ok, me convencieron, pero les advierto que esta de piedra, por asi decirlo. > > def compare(L1, L2): >     if len(L1) <> len(L2): >         return None >     else: >         differ = [] >         for pos in range(len(L1)): >             if L1[pos] <> L2[pos]: >                 differ.append(pos) >         return differ > > def FindDifferences(L1, L2, fixedPos): > >     not_in_L1 = [] >     not_in_L2 = [] >     for element2 in L2: >         if element2 not in L1: >             not_in_L1.append(element2) >     for element1 in L1: >         if element1 not in L2: >             not_in_L2.append(element1) >     differences = [] > >     if len(not_in_L1) >= len(not_in_L2): >         for pos in range(len(not_in_L1)): >             found = False >             for pos1 in range(len(L1)): >                 if not_in_L1[pos][fixedPos] == L1[pos1][fixedPos]: >                     found = True >                     now = not_in_L1[pos] >                     before = L1[pos1] >                     diff = compare(now, before) >                     if diff <> []: >                         differences.append((now, before, diff)) >                     break >             if not found: >                 differences.append((not_in_L1[pos], [], [-1])) >     else: >          for pos in range(len(not_in_L2)): >             found = False >             for pos2 in range(len(L2)): >                 if not_in_L2[pos][fixedPos] == L2[pos2][fixedPos]: >                     found = True >                     before = not_in_L2[pos] >                     now = L2[pos2] >                     diff = compare(now, before) >                     if diff <> []: >                         differences.append((now, before, diff)) >                     break >             if not found: >                 differences.append(([], not_in_L2[pos], [-1])) > > >     return differences > > Lo que mas me molesta de esta solucion es que tengo que repetir codigo > (aparece en el if else) > > Gracias y no me tiren piedras! > > Ah, otra cosa, interpretese L1 y L2 como: L1 obtenido de una base datos y L2 > como: informacion actual que se desea compara con L1. > > Saludos, > Boris. > > ________________________________ > > La mejor vacuna contra el virus A(H1N1) es la higiene personal > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > From darkrho en gmail.com Fri Mar 5 16:56:42 2010 From: darkrho en gmail.com (Rolando Espinoza La Fuente) Date: Fri, 5 Mar 2010 11:56:42 -0400 Subject: [Python-es] obtener diferencias entre elementos de dos listas de listas. In-Reply-To: <325adf7e1003050749h6e114fr154d2fa1639a1bfd@mail.gmail.com> References: <1393.10.14.19.63.1267799790.squirrel@correo> <4B911DBB.2010609@estudiantes.uci.cu> <1125.10.14.19.12.1267802938.squirrel@correo.ucf.edu.cu> <325adf7e1003050749h6e114fr154d2fa1639a1bfd@mail.gmail.com> Message-ID: <4eca3f41003050756x49c42af7l1ad3a38656d74d00@mail.gmail.com> On Fri, Mar 5, 2010 at 11:49 AM, Ricardo Cárdenes Medina wrote: [...] > > def compare(L1, L2): >   if len(L1) <> len(L2): >      return None > >   return [x for x,(y,z) in enumerate(zip(L1, L2)) if y <> z] El problema con el zip, es que te corta la lista al más corto zip([1,2,3], [4,5]) -> [[1,4], [2,5]] pierdes el 3 Rolando From darkrho en gmail.com Fri Mar 5 17:03:14 2010 From: darkrho en gmail.com (Rolando Espinoza La Fuente) Date: Fri, 5 Mar 2010 12:03:14 -0400 Subject: [Python-es] obtener diferencias entre elementos de dos listas de listas. In-Reply-To: <4eca3f41003050750q622b637fx58b26ad5a46c56d4@mail.gmail.com> References: <1393.10.14.19.63.1267799790.squirrel@correo> <4B911DBB.2010609@estudiantes.uci.cu> <1125.10.14.19.12.1267802938.squirrel@correo.ucf.edu.cu> <4eca3f41003050750q622b637fx58b26ad5a46c56d4@mail.gmail.com> Message-ID: <4eca3f41003050803h2fb8173cre67e2ac22dfc156e@mail.gmail.com> 2010/3/5 Rolando Espinoza La Fuente : [...] >        diff = [] > >        for j in range(max(len(a), len(b))): >            if not getitem(a, j) == getitem(b, j): >                diff.append(j) Esto se podría simplificar a diff = [j for j in range(max(len(a), len(b))) if not getitem(a, j) == getitem(b, j)] Rolando From olemis+py en gmail.com Fri Mar 5 17:08:16 2010 From: olemis+py en gmail.com (Olemis Lang (Simelix)) Date: Fri, 5 Mar 2010 11:08:16 -0500 Subject: [Python-es] obtener diferencias entre elementos de dos listas de listas. In-Reply-To: <4eca3f41003050756x49c42af7l1ad3a38656d74d00@mail.gmail.com> References: <1393.10.14.19.63.1267799790.squirrel@correo> <4B911DBB.2010609@estudiantes.uci.cu> <1125.10.14.19.12.1267802938.squirrel@correo.ucf.edu.cu> <325adf7e1003050749h6e114fr154d2fa1639a1bfd@mail.gmail.com> <4eca3f41003050756x49c42af7l1ad3a38656d74d00@mail.gmail.com> Message-ID: <24ea26601003050808q67841d84q1d4c1763a3149cb@mail.gmail.com> On Fri, Mar 5, 2010 at 10:56 AM, Rolando Espinoza La Fuente wrote: > On Fri, Mar 5, 2010 at 11:49 AM, Ricardo Cárdenes Medina > wrote: > [...] >> >> def compare(L1, L2): >>   if len(L1) <> len(L2): >>      return None >> >>   return [x for x,(y,z) in enumerate(zip(L1, L2)) if y <> z] > > El problema con el zip, es que te corta la lista al más corto > izip ? -- Regards, Olemis. Blog ES: http://simelo-es.blogspot.com/ Blog EN: http://simelo-en.blogspot.com/ Featured article: From olemis+py en gmail.com Fri Mar 5 17:14:48 2010 From: olemis+py en gmail.com (Olemis Lang (Simelix)) Date: Fri, 5 Mar 2010 11:14:48 -0500 Subject: [Python-es] obtener diferencias entre elementos de dos listas de listas. In-Reply-To: <24ea26601003050808q67841d84q1d4c1763a3149cb@mail.gmail.com> References: <1393.10.14.19.63.1267799790.squirrel@correo> <4B911DBB.2010609@estudiantes.uci.cu> <1125.10.14.19.12.1267802938.squirrel@correo.ucf.edu.cu> <325adf7e1003050749h6e114fr154d2fa1639a1bfd@mail.gmail.com> <4eca3f41003050756x49c42af7l1ad3a38656d74d00@mail.gmail.com> <24ea26601003050808q67841d84q1d4c1763a3149cb@mail.gmail.com> Message-ID: <24ea26601003050814o35906d56p1eba84ec73602c41@mail.gmail.com> On Fri, Mar 5, 2010 at 11:08 AM, Olemis Lang (Simelix) wrote: > On Fri, Mar 5, 2010 at 10:56 AM, Rolando Espinoza La Fuente > wrote: >> On Fri, Mar 5, 2010 at 11:49 AM, Ricardo Cárdenes Medina >> wrote: >> [...] >>> >>> def compare(L1, L2): >>>   if len(L1) <> len(L2): >>>      return None >>> >>>   return [x for x,(y,z) in enumerate(zip(L1, L2)) if y <> z] >> >> El problema con el zip, es que te corta la lista al más corto >> > > izip ? > {{{ #!python >>> from itertools import izip, chain, repeat >>> list(izip([1,2,3], chain([2,3], repeat(None)))) [(1, 2), (2, 3), (3, None)] }}} -- Regards, Olemis. Blog ES: http://simelo-es.blogspot.com/ Blog EN: http://simelo-en.blogspot.com/ Featured article: From ricardo.cardenes en gmail.com Fri Mar 5 17:23:47 2010 From: ricardo.cardenes en gmail.com (=?ISO-8859-1?Q?Ricardo_C=E1rdenes_Medina?=) Date: Fri, 5 Mar 2010 16:23:47 +0000 Subject: [Python-es] obtener diferencias entre elementos de dos listas de listas. In-Reply-To: <4eca3f41003050756x49c42af7l1ad3a38656d74d00@mail.gmail.com> References: <1393.10.14.19.63.1267799790.squirrel@correo> <4B911DBB.2010609@estudiantes.uci.cu> <1125.10.14.19.12.1267802938.squirrel@correo.ucf.edu.cu> <325adf7e1003050749h6e114fr154d2fa1639a1bfd@mail.gmail.com> <4eca3f41003050756x49c42af7l1ad3a38656d74d00@mail.gmail.com> Message-ID: <325adf7e1003050823s4554102ax4b6130336ff8cd33@mail.gmail.com> > El problema con el zip, es que te corta la lista al más corto > > zip([1,2,3], [4,5]) -> [[1,4], [2,5]]     pierdes el 3 La comprobación de longitudes de las listas, que dejé intacta, se encarga de eso ;) From rmrsndvl en yahoo.com.ar Fri Mar 5 17:25:36 2010 From: rmrsndvl en yahoo.com.ar (Ramiro) Date: Fri, 5 Mar 2010 08:25:36 -0800 (PST) Subject: [Python-es] =?iso-8859-1?q?PYSQLITE=3A_C=F3mo_saber_los_nombres_d?= =?iso-8859-1?q?e_todas_las_tablas_que_contenga_una_base_sqlite?= In-Reply-To: <95cf475a1003042204v2841eab8q88aff5f47bad2469@mail.gmail.com> Message-ID: <250713.33879.qm@web65611.mail.ac4.yahoo.com> Gracias --- El vie 5-mar-10, Eli Bendersky escribió: De: Eli Bendersky Asunto: Re: [Python-es] PYSQLITE: Cómo saber los nombres de todas las tablas que contenga una base sqlite Para: "La lista de python en castellano" Fecha: viernes, 5 de marzo de 2010, 4:04 Puedes usar la tabla sqlite_master: select name from SQLite_Master 2010/3/5 Ramiro Como el título dice, quisiera saber cómo pedir los nombres de las tablas que contenga una base de datos sqlite La verdad no entiendo la documentación de la librería sqlite3, me pasé horas buscando y no encontré la solución. También si me podrían pasar el lugar de la documentación donde habla de eso les agradecería, así  me ubico de una vez. saludos Encontra las mejores recetas con Yahoo! Cocina. http://ar.mujer.yahoo.com/cocina/ _______________________________________________ Python-es mailing list Python-es en python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ -----Adjunto en línea a continuación----- _______________________________________________ Python-es mailing list Python-es en python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ Yahoo! Cocina Encontra las mejores recetas con Yahoo! Cocina. http://ar.mujer.yahoo.com/cocina/ ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From inf200523 en ucf.edu.cu Fri Mar 5 17:28:35 2010 From: inf200523 en ucf.edu.cu (Boris Perez Canedo) Date: Fri, 5 Mar 2010 11:28:35 -0500 (EST) Subject: [Python-es] obtener diferencias entre elementos de dos listas de listas. In-Reply-To: <4eca3f41003050803h2fb8173cre67e2ac22dfc156e@mail.gmail.com> References: <1393.10.14.19.63.1267799790.squirrel@correo> <4B911DBB.2010609@estudiantes.uci.cu> <1125.10.14.19.12.1267802938.squirrel@correo.ucf.edu.cu> <4eca3f41003050750q622b637fx58b26ad5a46c56d4@mail.gmail.com> <4eca3f41003050803h2fb8173cre67e2ac22dfc156e@mail.gmail.com> Message-ID: <1283.10.14.19.12.1267806515.squirrel@correo.ucf.edu.cu> > 2010/3/5 Rolando Espinoza La Fuente : > [...] >>        diff = [] >> >>        for j in range(max(len(a), len(b))): >>            if not getitem(a, j) == getitem(b, j): >>                diff.append(j) > > Esto se podría simplificar a > > diff = [j for j in range(max(len(a), len(b))) > if not getitem(a, j) == getitem(b, j)] >  Muchas gracias Rolando por tu solucion, acabo de descargarla. Saludos. Boris. --- La mejor vacuna contra el virus A(H1N1) es la higiene personal ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From rmrsndvl en yahoo.com.ar Fri Mar 5 18:25:05 2010 From: rmrsndvl en yahoo.com.ar (Ramiro) Date: Fri, 5 Mar 2010 09:25:05 -0800 (PST) Subject: [Python-es] Crear ventanas dentro de otras con pyGTK In-Reply-To: <250713.33879.qm@web65611.mail.ac4.yahoo.com> Message-ID: <455271.8229.qm@web65609.mail.ac4.yahoo.com> La cosa es que las nuevas ventanas queden dentro de los límites de la ventana principal. Yahoo! Cocina Encontra las mejores recetas con Yahoo! Cocina. http://ar.mujer.yahoo.com/cocina/ ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From ceronman en gmail.com Fri Mar 5 18:46:45 2010 From: ceronman en gmail.com (=?ISO-8859-1?Q?Manuel_Alejandro_Cer=F3n_Estrada?=) Date: Fri, 5 Mar 2010 12:46:45 -0500 Subject: [Python-es] Crear ventanas dentro de otras con pyGTK In-Reply-To: <455271.8229.qm@web65609.mail.ac4.yahoo.com> References: <250713.33879.qm@web65611.mail.ac4.yahoo.com> <455271.8229.qm@web65609.mail.ac4.yahoo.com> Message-ID: <796874fc1003050946k48242028v4cd53554cc1462ac@mail.gmail.com> El 5 de marzo de 2010 12:25, Ramiro escribió: > > > La cosa es que las nuevas ventanas queden dentro de los límites de la ventana principal. > Hola. Lo que mencionas se conoce como MDI (Multiple Document Interface). Desafortunadamente, GTK no tiene soporte para MDI en el sentido tradicional de ventanas internas. La aproximación más cercana que puedes tener es usar un Gtk.Notebook y crear pestañas como en un navegador web. --Manuel. From olemis+py en gmail.com Fri Mar 5 21:04:49 2010 From: olemis+py en gmail.com (Olemis Lang (Simelix)) Date: Fri, 5 Mar 2010 15:04:49 -0500 Subject: [Python-es] =?iso-8859-1?q?OT=3A_El_l=EDmite_entre_la_teor=EDa_y_?= =?iso-8859-1?q?la_pr=E1ctica_con_Python_WAS=3A__Buscar_=EDndices_d?= =?iso-8859-1?q?e_un_array_=28que_cumple_condici=F3n=29_de_forma_ef?= =?iso-8859-1?q?iciente?= Message-ID: <24ea26601003051204t7344e30epbe23ea431ef6a929@mail.gmail.com> 2010/3/4 Olemis Lang (Simelix) : > 2010/3/4 Pablo Angulo : >> Daniel Garcia Moreno escribió: >>> >>>> Si la lista grande tiene N elementos y la pequeña M, puedes elegir entre >>>> O(Mlog(N)), usando bisect. o O(N), con la técnica que te decía antes. >>>> >>> O puedes combinar las dos, buscar desde el último indice en adelante >>> pero hacerlo con busqueda binaria. >> Yo diría que ésto es también es O(M log(N)) en el peor caso (cuando el >> subconjunto son los M primeros valores de conjunto) >> >> log(N)+log(N-1)+...+log(N-M)=O(M log(N)) > [...] > > PD: De todas formas mi sugerencia muy particular es que no confíen > demasiado en los análisis teóricos del tipo mencionado por Pablo (o > mejor dicho, que desconfíen hasta que no tengan la seguridad > irrefutable que les da un profiler ;o) . Este hilo me ha recordado un > artículo que tengo pendiente para mi blog que ilustra esto muy bien (y > que resulta realmente sorprendente, créanme ;o). Trataré de publicarlo > mañana (o pasado, o ...), y así tendrán más argumentos para juzgar > ustedes por su cuenta > Como les había comentado ya, acabo de publicar un artículo [1]_ que ilustra porque es preciso tener mucho cuidado con los análisis teóricos al estimar posibles tiempos de ejecución en entornos prácticos (esto es sólo una parte de todo el posible análisis, claro ;o) Espero que les sea interesante, y que les sirva para tener más precisión cuando estimen la eficiencia de cierto(s) algoritmos ;o) .. [1] La cara oculta de Fibonacci (en Python) (http://simelo-es.blogspot.com/2010/03/la-cara-oculta-de-fibonacci-en-python.html) -- Regards, Olemis. Blog ES: http://simelo-es.blogspot.com/ Blog EN: http://simelo-en.blogspot.com/ Featured article: Comienza la era de la televisión 3D (el 10 de marzo ;o) - http://feedproxy.google.com/~r/simelo-es/~3/mPcmLbduWJU/despues-del-gran-exito-del-largometraje.html From inf200523 en ucf.edu.cu Fri Mar 5 21:15:46 2010 From: inf200523 en ucf.edu.cu (Boris Perez Canedo) Date: Fri, 5 Mar 2010 15:15:46 -0500 (EST) Subject: [Python-es] Ayuda SimpleXMLRPCServer con ssl Message-ID: <1072.10.14.19.12.1267820146.squirrel@correo.ucf.edu.cu> Hola, Estoy tratando de montar un servidor xml rpc, ya logre hacer basic auth,  y que tambien que atendiera peticiones simultaneas pero para obtener mas seguridad estoy enredado tratando de hacerlo con ssl. Utilice openssl para generar un certificado autofirmado  .pem y  una clave privada .pem. Creo que lo que debo hacer es redefinir el metodo get_request() que hereda SimpleXMLRPCServer de SocketServer (segun la documentacion puede ser redefinido), pero en realidad estoy a ciegas. def get_request(self):       return self.socket.accept() # redefiniendo get_request def get_request(self):                         request, address = self.socket.accept()              # de la ayuda de python 2.6 modulo ssl              connstream = ssl.wrap_socket(request,                                 server_side=True,                                 certfile="sslcertificate/mycert.pem",                                 keyfile="privatekey/mykey.pem",                                 ssl_version=ssl.PROTOCOL_TLSv1)                         return connstream, address Como, hasta donde conozco del asunto, ssl hereda de socket debe redefinir los metodos read, write, etc para su proposito, pero en esencia deberia ser transparente para SimpleXMLRPCServer. Echo a andar el servidor y cuando uso xmlrpclib para conctarme y acceder a sus metodos, por ejemplo: #ejemplo de cliente import xmlrpclib conn = xmlrpclib.ServerProxy(https://myuser:mypassword en localhost:8500) print conn.test() # test es un metodo de mi servidor Pues se queda colgado ni uno ni el otro me dan error ni nada. Saludos, Boris. --- La mejor vacuna contra el virus A(H1N1) es la higiene personal ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From dani en danigm.net Fri Mar 5 22:39:08 2010 From: dani en danigm.net (Daniel Garcia Moreno) Date: Fri, 05 Mar 2010 22:39:08 +0100 Subject: [Python-es] Ayuda SimpleXMLRPCServer con ssl In-Reply-To: <1072.10.14.19.12.1267820146.squirrel@correo.ucf.edu.cu> References: <1072.10.14.19.12.1267820146.squirrel@correo.ucf.edu.cu> Message-ID: <1267825148.16675.5.camel@localhost.Stibbons> El vie, 05-03-2010 a las 15:15 -0500, Boris Perez Canedo escribió: > Hola, > > > Estoy tratando de montar un servidor xml rpc, ya logre hacer basic > auth, y que tambien que atendiera peticiones simultaneas pero para > obtener mas seguridad estoy enredado tratando de hacerlo con ssl. > > Utilice openssl para generar un certificado autofirmado .pem y una > clave privada .pem. Creo que lo que debo hacer es redefinir el metodo > get_request() que hereda SimpleXMLRPCServer de SocketServer (segun la > documentacion puede ser redefinido), pero en realidad estoy a ciegas. > > def get_request(self): > > return self.socket.accept() > > # redefiniendo get_request > > def get_request(self): > > request, address = self.socket.accept() > # de la ayuda de python 2.6 modulo ssl > connstream = ssl.wrap_socket(request, > server_side=True, > certfile="sslcertificate/mycert.pem", > keyfile="privatekey/mykey.pem", > ssl_version=ssl.PROTOCOL_TLSv1) > > return connstream, address > > Como, hasta donde conozco del asunto, ssl hereda de socket debe > redefinir los metodos read, write, etc para su proposito, pero en > esencia deberia ser transparente para SimpleXMLRPCServer. > > Echo a andar el servidor y cuando uso xmlrpclib para conctarme y > acceder a sus metodos, por ejemplo: > > #ejemplo de cliente > import xmlrpclib > > conn = xmlrpclib.ServerProxy(https://myuser:mypassword en localhost:8500) > print conn.test() # test es un metodo de mi servidor > > Pues se queda colgado ni uno ni el otro me dan error ni nada. > Por si te sirve de algo yo tengo aquí un servidor xmlrpc con ssl que conseguí de alguna parte: http://git.danigm.net/gitphp/index.php?p=geco.git&a=blob&h=0d318d739eb3df110832176ec9e63f0289f32f48&hb=1a2a1f9d0a111bdf6fb16dc011cb595431c9ceed&f=src/gecod/gecod/secure_xmlrpc.py Y aquí un ejemplo de uso: http://git.danigm.net/gitphp/index.php?p=geco.git&a=blob&h=21c2da7b42f1b67354558c5978cf27d7074ab3a3&hb=1a2a1f9d0a111bdf6fb16dc011cb595431c9ceed&f=src/gecod/gecod/xmlrpc_frontend.py ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 198 bytes Desc: Esta parte del mensaje está firmada digitalmente URL: From webv2001 en hotmail.com Sat Mar 6 11:04:16 2010 From: webv2001 en hotmail.com (Vicente Serra) Date: Sat, 6 Mar 2010 11:04:16 +0100 Subject: [Python-es] librerias graficas y frontend Message-ID: Hola Podria alguien recomendarme alguna libreria grafica , la Tkinter la veo algo limitada y un frontend sencillo para desarrollar un pequeña gestion en linux. S en ludos Vicente Gracias _________________________________________________________________ Recibe en tu móvil un SMS con tu Hotmail recibido. ¡Date de alta ya! http://serviciosmoviles.es.msn.com/ ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From jjgomera en gmail.com Sat Mar 6 13:31:21 2010 From: jjgomera en gmail.com (=?ISO-8859-1?Q?Juan_Jos=E9_G=F3mez_Romera?=) Date: Sat, 6 Mar 2010 13:31:21 +0100 Subject: [Python-es] librerias graficas y frontend In-Reply-To: References: Message-ID: <58ab5b201003060431p4f11ce3fv227cffaad960da3@mail.gmail.com> Pues, o wxpython, o gtk o pyqt, yo uso pyqt aunque no tengo razones para decir si es mejor o peor que las otras opciones. Desde luego a mi me parece muy potente. Con frontend supongo que te refieres a un ide, a la larga lo normal es usar editores a pelo (geany, vim, gedit), pero para grandes projectos si que son utiles, yo uso eric pero opciones tienes muchas (spe, eclipse). Prueba y elige el que más te convenza PD: no te has plenteado usar una cuenta de correo que no inserte publicidad en cada correo que manda, aparte de quedar feo molesta bastante El 6 de marzo de 2010 11:04, Vicente Serra escribió: > Hola > > Podria alguien recomendarme alguna libreria grafica , la Tkinter la veo > algo limitada y un frontend sencillo para desarrollar un pequeña gestion en > linux. > > S en ludos Vicente > Gracias > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From pachi en rvburke.com Sat Mar 6 14:20:22 2010 From: pachi en rvburke.com (Rafael Villar Burke (Pachi)) Date: Sat, 06 Mar 2010 14:20:22 +0100 Subject: [Python-es] librerias graficas y frontend In-Reply-To: <58ab5b201003060431p4f11ce3fv227cffaad960da3@mail.gmail.com> References: <58ab5b201003060431p4f11ce3fv227cffaad960da3@mail.gmail.com> Message-ID: <4B925696.6070609@rvburke.com> Personalmente me parece una excelente combinación Pydev (eclipse) + PyGTK. Particularmente, encuentro PyGTK más elegante que otras opciones, pero wxwidgets o PyQt pueden resultar más cómodos al tratarse más de plataformas que de librerías gráficas (tienen de serie ya soluciones para web, sonido, etc mientras que con GTK+ se trata de usar los añadidos deseados). Lo mejor, que pruebes y veas qué te convence. Saludos, Pachi From kikocorreoso en gmail.com Sat Mar 6 15:06:58 2010 From: kikocorreoso en gmail.com (Kiko) Date: Sat, 6 Mar 2010 15:06:58 +0100 Subject: [Python-es] librerias graficas y frontend In-Reply-To: References: Message-ID: <1b6058651003060606w21b0f90bhe69eb529afc654f3@mail.gmail.com> El 6 de marzo de 2010 11:04, Vicente Serra escribió: > Hola > > Podria alguien recomendarme alguna libreria grafica , la Tkinter la veo > algo limitada y un frontend sencillo para desarrollar un pequeña gestion en > linux. > > S en ludos Vicente > Gracias > > ------------------------------ > ¿Sabes que la Videollamada de Messenger es GRATIS ¡Descúbrela! > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > En su momento me hice la misma pregunta que tú. Después de mucho navegar elegí la opción de wxpython. Dispone de varios RAD aunque lo mejor es picar el código cuando te familiarices con él. BoaConstructor dispone de una herramienta de diseño de GUIs y además es un excelente IDE. Para diseñar el GUI dispones de otras opciones como wxFormBuilder, wxGlade,....(aunque sigo recomendando picar el código una vez familiarizado con él). Y para IDE's, eclipse, pycrust,... Me sorprende lo rápido que es hacer cositas (estoy empezando en python) con wxpython y python en general. De GTK y qt no puedo opinar. Saludos. ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From kikocorreoso en gmail.com Sat Mar 6 17:11:36 2010 From: kikocorreoso en gmail.com (Kiko) Date: Sat, 6 Mar 2010 17:11:36 +0100 Subject: [Python-es] GUI con wxpython, numpy y matplotlib Message-ID: <1b6058651003060811o35ec002es40d287db778d98f9@mail.gmail.com> Hola a todos. Estoy intentando hacer un GUI que usa (o usará) python, wxpython, numpy y matplotlib. En este enlace podéis ver un esquema del diseño (un poco chungo) de la herramienta que me gustaría implementar ( http://farm3.static.flickr.com/2770/4411184378_f7a0d797bc_o.jpg). Ya hay algo hecho. Funcionalidades: -El menú de arriba sería para tareas básicas de abrir ficheros y salvar ficheros. -Luego habría dos paneles gráficos (que me gustaría hacer usando matplotlib). -En medio habría un panel con botones checkbox. -Por último, abajo a la izquierda habría una 'hoja de cálculo' con wxgrid y a la derecha una serie de botones (en principio solo tengo pensado un botón o dos). El funcionamiento básico sería: abrir fichero/s, estos ficheros se cargarían en la hora de cálculo y se visualizarían gráficamente en los paneles gráficos, los botones checkbox actuarían sobre los datos como filtros (para filtrar datos erróneos o indeseados), los datos sin filtrar se verían en el panel gráfico de la izquierda y los filtrados en el panel gráfico de la derecha mientras que los datos que alguno de los filtros considere erróneos se mostrarían con la celda cambiada de color en la hoja de cálculo. Hasta aquí creo que es sencillo de hacer. Una vez analizados los datos habría un botón para guardar los datos filtrados. A partir de aquí se me ocurren varias cosas más y es para lo que os escribo. Como los filtros buscan 'cosas regulares' en los datos no es posible poner filtros para cualquier cosa que le pudiera pasar a los datos y parte del filtrado habría que hacerlo a mano. Las pajas mentales que se me ocurren son: -Hacer algo parecido a lo del siguiente ejemplo ( http://matplotlib.sourceforge.net/examples/event_handling/data_browser.html). La idea sería que al pulsar sobre un dato de la gráfica de arriba a la izquierda del GUI me seleccionase ese dato en la hoja de cálculo. Así sería mucho más sencillo ir filtrando los datos de manera visual y manual. -Otra cosa que no sé si se puede hacer sería seleccionar una serie de celdas del grid (hoja de cálculo) y con los botones que hay a la derecha de la hoja de cálculo ejecutar una acción sobre esas celdas. Por ejemplo, una serie de datos son erróneos y no han sido filtrados por ninguno de los filtros automáticos, me gustaría seleccionarlos con el ratón y al apretar en el botón que se cambiarán de color o decir que un dato que ha sido filtrado automáticamente mediante los checkbox no debería filtrarse... No sé si me he hecho entender muy bien. Obviamente, no escribo a la lista para que me hagáis el GUI :-P , solo escribo para saber si todo lo que tengo en mente es posible hacerlo. Muchas gracias a todos. ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From megutierrez en estudiantes.uci.cu Sun Mar 7 16:15:51 2010 From: megutierrez en estudiantes.uci.cu (Manuel E.) Date: Sun, 07 Mar 2010 10:15:51 -0500 Subject: [Python-es] librerias graficas y frontend In-Reply-To: References: Message-ID: <4B93C327.4030308@estudiantes.uci.cu> Yo usé algo de Qt en C++ pero nunca me lancé de lleno, desde que descubrí PyQt es mi primera opción cuando voy a empezar un proyecto. No he visto nada como el Assistant, se crea un ambiente muy productivo, reduces al mínimo las consultas externas, un 99% de tus dudas las solucionará el Assistant. Qt proporciona un framework excelente, bien organizado, bien documentado. Give it a shoot. ;) Saludos. From marcosgdf en gmail.com Sun Mar 7 16:28:58 2010 From: marcosgdf en gmail.com (=?ISO-8859-1?Q?Marcos_Garc=EDa?=) Date: Sun, 7 Mar 2010 16:28:58 +0100 Subject: [Python-es] librerias graficas y frontend In-Reply-To: <4B93C327.4030308@estudiantes.uci.cu> References: <4B93C327.4030308@estudiantes.uci.cu> Message-ID: Con lo de bien documentado discrepo un poco, sobretodo con PyQt, pero supongo que será por falta de experiencia. La vez que me lancé con PyQt, apenas encontré ayuda por ninguna parte, en cuanto quieres hacer algo que se va del manual solo te encuentras con ayuda para C y no para Python... Saludos. 2010/3/7 Manuel E. > Yo usé algo de Qt en C++ pero nunca me lancé de lleno, desde que descubrí > PyQt es mi primera opción cuando voy a empezar un proyecto. No he visto nada > como el Assistant, se crea un ambiente muy productivo, reduces al mínimo > las consultas externas, un 99% de tus dudas las solucionará el Assistant. > Qt proporciona un framework excelente, bien organizado, bien documentado. > Give it a shoot. ;) > > Saludos. > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > -- marcos garcía // marcosgdf en gmail.com ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From d1d4c en aktivix.org Sun Mar 7 18:02:56 2010 From: d1d4c en aktivix.org (d1d4c) Date: Sun, 07 Mar 2010 18:02:56 +0100 Subject: [Python-es] =?iso-8859-1?q?=5Bhistoria=5D_m=E1s_all=E1_de_la_list?= =?iso-8859-1?q?a_en_aditel?= Message-ID: <4B93DC40.3060407@aktivix.org> Hola. Estaba retrocediendo en el tiempo, investigando los antecedentes de la comunidad python-es, y me he topado con el primer mensaje[0] que hay en el archivo de gmane, de cuando, tengo entendido, la lista estaba en aditel. Alguien me puede contar algo de esa época (2001)? Antes de esa lista qué había? Gracias :) [0] http://article.gmane.org/gmane.comp.python.general.castellano/1 From hfoffani en gmail.com Sun Mar 7 20:33:32 2010 From: hfoffani en gmail.com (Hernan Foffani) Date: Sun, 7 Mar 2010 20:33:32 +0100 Subject: [Python-es] =?iso-8859-1?q?=5Bhistoria=5D_m=E1s_all=E1_de_la_list?= =?iso-8859-1?q?a_en_aditel?= In-Reply-To: <4B93DC40.3060407@aktivix.org> References: <4B93DC40.3060407@aktivix.org> Message-ID: <06FE97AF-0D15-4E6E-9843-B92E23140709@gmail.com> El 07/03/2010, a las 18:02, d1d4c escribió: > Hola. > > Estaba retrocediendo en el tiempo, investigando los antecedentes de la comunidad python-es, y me he topado con el primer mensaje[0] que hay en el archivo de gmane, de cuando, tengo entendido, la lista estaba en aditel. > > Alguien me puede contar algo de esa época (2001)? > Antes de esa lista qué había? "Cuando todo era nada, era nada el Principio." Estábamos en comp.lang.python. La lista de correo en inglés ya tenía un volumen inmanejable desde hacía varios años así que la mayoría nos decantábamos por un newsreader. tiiii-ruuuu-riiiiii--jjjjjjjjjjjjjjjjjjjjj Ya... Esto es mas viejo aún... From pych3m4 en gmail.com Mon Mar 8 03:21:27 2010 From: pych3m4 en gmail.com (Chema Cortes) Date: Mon, 8 Mar 2010 03:21:27 +0100 Subject: [Python-es] =?iso-8859-1?q?=5Bhistoria=5D_m=E1s_all=E1_de_la_list?= =?iso-8859-1?q?a_en_aditel?= In-Reply-To: <4B93DC40.3060407@aktivix.org> References: <4B93DC40.3060407@aktivix.org> Message-ID: <2c9fb0dd1003071821m6efcf0a1q7a6386cc1470c66@mail.gmail.com> El día 7 de marzo de 2010 18:02, d1d4c escribió: > Estaba retrocediendo en el tiempo, investigando los antecedentes de la > comunidad python-es, y me he topado con el primer mensaje[0] que hay en el > archivo de gmane, de cuando, tengo entendido, la lista estaba en aditel. > > Alguien me puede contar algo de esa época (2001)? > Antes de esa lista qué había? Es una pena que no sepamos ahora nada de algunos de los pioneros de la comunidad hispana de programadores python. Algunos han dejada esta lista definitivamente, así que no es probable que volvamos a saber de ellos por aquí. De lo que yo recuerdo, la comunidad hispana de python y zope se vertebraba en sus inicios alrededor de figuras tales como Marcos Sánchez Provencio, quien llevaba la labor de traducir la documentación de python en los proyectos pyspanishdoc.sf.net y TLDP-ES, así como es destacada su labor de divulgación dando cursos en los hacklabs e impartiendo ponencias en los congresos Hispalinux. Del IV Congreso de Hispalinux (2001) aún puede verse la ponencia titulada "Interfaces Múltiples en Python": http://www.scribd.com/doc/15860326/Interfaces-multiples-en-Python Al año siguiente, 2002, se montó un foro de python-es dentro del congreso de Hispalinux, donde (algunos) nos vimos las caras por primera vez. Creo que también se hizo un foro en el congreso del 2003, pero no pude asistir. En estos foros se hicieron algunas propuestas de colaboración que no tuvieron éxito, que yo sepa. No me atrevo a contar más, que me empieza a fallar la memoria. Parece mentira que fuera hace sólo 8 años. Como te ha dicho Hernan, antes de la lista se usaban las news (nntp) para todo. Fue un momento dulce, donde no existía el spam y las descarga binarias aún no colapsaban los servidores. Pero nunca hubo un grupo propio para python en español, así que se puede decir todo empezó con la lista de aditel. From inf200523 en ucf.edu.cu Mon Mar 8 15:20:58 2010 From: inf200523 en ucf.edu.cu (Boris Perez Canedo) Date: Mon, 8 Mar 2010 09:20:58 -0500 (EST) Subject: [Python-es] Ayuda SimpleXMLRPCServer con ssl In-Reply-To: <1267825148.16675.5.camel@localhost.Stibbons> References: <1072.10.14.19.12.1267820146.squirrel@correo.ucf.edu.cu> <1267825148.16675.5.camel@localhost.Stibbons> Message-ID: <1060.10.14.19.12.1268058058.squirrel@correo.ucf.edu.cu> > El vie, 05-03-2010 a las 15:15 -0500, Boris Perez Canedo escribió: >> Hola, >> >> >> Estoy tratando de montar un servidor xml rpc, ya logre hacer basic >> auth, y que tambien que atendiera peticiones simultaneas pero para >> obtener mas seguridad estoy enredado tratando de hacerlo con ssl. >> >> Utilice openssl para generar un certificado autofirmado .pem y una >> clave privada .pem. Creo que lo que debo hacer es redefinir el metodo >> get_request() que hereda SimpleXMLRPCServer de SocketServer (segun la >> documentacion puede ser redefinido), pero en realidad estoy a ciegas. >> >> def get_request(self): >> >> return self.socket.accept() >> >> # redefiniendo get_request >> >> def get_request(self): >> >> request, address = self.socket.accept() >> # de la ayuda de python 2.6 modulo ssl >> connstream = ssl.wrap_socket(request, >> server_side=True, >> certfile="sslcertificate/mycert.pem", >> keyfile="privatekey/mykey.pem", >> ssl_version=ssl.PROTOCOL_TLSv1) >> >> return connstream, address >> >> Como, hasta donde conozco del asunto, ssl hereda de socket debe >> redefinir los metodos read, write, etc para su proposito, pero en >> esencia deberia ser transparente para SimpleXMLRPCServer. >> >> Echo a andar el servidor y cuando uso xmlrpclib para conctarme y >> acceder a sus metodos, por ejemplo: >> >> #ejemplo de cliente >> import xmlrpclib >> >> conn = xmlrpclib.ServerProxy(https://myuser:mypassword en localhost:8500) >> print conn.test() # test es un metodo de mi servidor >> >> Pues se queda colgado ni uno ni el otro me dan error ni nada. >> > > Por si te sirve de algo yo tengo aquí un servidor xmlrpc con ssl que > conseguí de alguna parte: > > http://git.danigm.net/gitphp/index.php?p=geco.git&a=blob&h=0d318d739eb3df110832176ec9e63f0289f32f48&hb=1a2a1f9d0a111bdf6fb16dc011cb595431c9ceed&f=src/gecod/gecod/secure_xmlrpc.py > > Y aquí un ejemplo de uso: > > http://git.danigm.net/gitphp/index.php?p=geco.git&a=blob&h=21c2da7b42f1b67354558c5978cf27d7074ab3a3&hb=1a2a1f9d0a111bdf6fb16dc011cb595431c9ceed&f=src/gecod/gecod/xmlrpc_frontend.py > Muchas gracias. --- La mejor vacuna contra el virus A(H1N1) es la higiene personal ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From olemis+py en gmail.com Mon Mar 8 17:02:33 2010 From: olemis+py en gmail.com (Olemis Lang (Simelix)) Date: Mon, 8 Mar 2010 11:02:33 -0500 Subject: [Python-es] GUI con wxpython, numpy y matplotlib In-Reply-To: <1b6058651003060811o35ec002es40d287db778d98f9@mail.gmail.com> References: <1b6058651003060811o35ec002es40d287db778d98f9@mail.gmail.com> Message-ID: <24ea26601003080802n55fee0a9s54d7758f3185b4e4@mail.gmail.com> 2010/3/6 Kiko : > Hola a todos. > :o) [...] > > -Otra cosa que no sé si se puede hacer sería seleccionar una serie de celdas > del grid (hoja de cálculo) y con los botones que hay a la derecha de la hoja > de cálculo ejecutar una acción sobre esas celdas. Sí [...] -- Regards, Olemis. Blog ES: http://simelo-es.blogspot.com/ Blog EN: http://simelo-en.blogspot.com/ Featured article: La cara oculta de Fibonacci (en Python) - http://feedproxy.google.com/~r/simelo-es/~3/SK_fIpxhZHg/la-cara-oculta-de-fibonacci-en-python.html From celord en gmail.com Mon Mar 8 20:05:46 2010 From: celord en gmail.com (=?ISO-8859-1?B?Q+lzYXIgR2FyY+1h?=) Date: Mon, 8 Mar 2010 13:05:46 -0600 Subject: [Python-es] obtener el ip de la pc y su sistema operativo (sistemas remotos) In-Reply-To: References: <41186.10.14.19.89.1265989497.squirrel@correo.ucf.edu.cu> <20100212232706.1f83fddc@eckert> Message-ID: Para actualizar este tema, talvez esta libreria sea util para este tipo de tareas http://xael.org/norman/python/python-nmap/ El día 14 de febrero de 2010 10:58, César García escribió: > Para que puedas obtener el sistema operativo te recomiendo nmap > > Ej: > > nmap -sS -PN -n -O 192.168.1.10 > > El día 12 de febrero de 2010 16:27, David Villa escribió: >> On Fri, 12 Feb 2010 10:44:57 -0500 (EST) >> "Boris Perez Canedo" osó decir: >> >>> >>> >>> Hola a todos, >>> >>> Me gustaria saber como realizar un scan de la red y de esta manera >>> obtener los ip que estan siendo utilizados y el sistema operativo >>> asociado. >>> >>> Se que se puede >>> ejecutar el comando ping u otros para cosas similares desde python >>> pero hacer esto, por ejemplo con ping, llevaria mucho tiempo, ya que >>> habria que empezar a probar ip por ip >>> >>> y podrian haber 10 maquinas encendidas en 100 posibilidades o mas. >>> Otra cosa seria una especie de ping a la direccion de broadcast de la >>> subred y asi obtener respuestas "instantaneas" pero desgraciadamente >>> el comando ping no funciona asi. Hay alguna implementacion del >>> protocolo ICMP en python que permita hacer esto? >>> >>> Otras posibilidades que no sean con ICMP tambien son bienvenidas. >>> >>> Gracias. >>> >> >> Yo tengo un scriptillo Python que usa la librería scapy y que quizá te >> puede servir. Lo que hace es un ping ARP, de modo que puedes tener la >> lista de todos los hosts conectados en la LAN en pocos segundos. Además >> utiliza el OUI de la MAC pasa listar el fabricante (esto lo puedes >> eliminar si no lo necesitas). Lo que no hace es darte el SO. >> >> Es importante señalar que cómo usa ARP solo sirve para máquinas que se >> encuentren en el mismo dominio de broadcast que tu máquina. >> >> Puedes encontrar el script en: >> >> https://arco.esi.uclm.es/svn/public/misc/scapy/arping.py >> >> Si no quieres filtrar lo puedes usar simplemente con: >> >> $ sudo ./arping.py "" >> >> Saludos >> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> > > > > -- > http://celord.blogspot.com/ > -- http://celord.blogspot.com/ From rmrsndvl en yahoo.com.ar Tue Mar 9 03:12:14 2010 From: rmrsndvl en yahoo.com.ar (Ramiro) Date: Mon, 8 Mar 2010 18:12:14 -0800 (PST) Subject: [Python-es] =?iso-8859-1?q?En_GTK=3A_c=F3mo_saber_si_una_tecla_en?= =?iso-8859-1?q?_particular_est=E1_presionada=3F?= In-Reply-To: <1060.10.14.19.12.1268058058.squirrel@correo.ucf.edu.cu> Message-ID: <661226.42075.qm@web65608.mail.ac4.yahoo.com> Hola Por ejemplo, cómo saber si la tecla CTRL está presionada en un instante dado? Yahoo! Cocina Encontra las mejores recetas con Yahoo! Cocina. http://ar.mujer.yahoo.com/cocina/ ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From juanval2 en gmail.com Tue Mar 9 07:36:16 2010 From: juanval2 en gmail.com (Juan Pablo Valois Valencia) Date: Tue, 9 Mar 2010 01:36:16 -0500 Subject: [Python-es] =?iso-8859-1?q?Duda_con_im=E1genes_y_setuptools=2E=2E?= =?iso-8859-1?q?=2E?= Message-ID: Cordial saludo Lista, Acabo de realizar una aplicación con wxPython y ahora quiero distribuirla. Para ello estoy usando la librería Setuptools para crear un paquete .egg. Sin embargo me encuentro con que puedo crear el paquete e instalarlo, sé que los contenidos que necesito se encuentran dentro del .egg, pero al ejecutar la aplicación (o el script principal) me muestra muchos errores, todos relacionados con que las imágenes no se encuentran en unas rutas específicas, Al revisar constato que todas están en las rutas correctas. Encontré en la lista un hilo con una duda similar, pero no tiene solución. Espero que alguien que se haya topado con este problema le haya encontrado solución y la pueda compartir. Debo aclarar que estoy trabajando las imágenes de la forma os.path.join() dentro del código de la aplicación y dentro del script setup.py estoy agregando las imágenes como "data_files" de la forma glob.glob(os.path.join()). Les agradecería si me pueden ayudar. La estructura de mis directorios es la siguiente: - *ROOT* - *Images* - *Colors* - Yellow - Blue - Red - Image_1 - Image_2 - Image_3 - script_1.py - script_2.py - script_3.py Hasta pronto. -- Juan Pablo Valois valencia Estudiante de Ingeniería de Sistemas y Computación Universidad Tecnológica de Pereira Pereira - Risaralda - Colombia ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From fcocuadrado en gmail.com Tue Mar 9 08:31:40 2010 From: fcocuadrado en gmail.com (Francisco Javier Cuadrado) Date: Tue, 9 Mar 2010 08:31:40 +0100 Subject: [Python-es] =?utf-8?q?Constituci=C3=B3n_de_una_asociaci=C3=B3n_py?= =?utf-8?q?thon_espa=C3=B1a?= Message-ID: <779d9e921003082331jbc50bb1sc00cde97756e7c58@mail.gmail.com> Hola. Como comentó Esteve[1] hace unos días se creó una lista[2] para intentar organizar una PyCon España, de los pocos temas que se han tratado en esa lista ha surgido la necesidad de crear una asociación[3], y viendo que hay mucha gente de esta lista que no está apuntada en la otra, os aviso aquí por si queréis aportar vuestro granito de arena. [1] http://mail.python.org/pipermail/python-es/2010-March/000609.html [2] http://groups.google.es/group/pycon-espana [3] http://groups.google.es/group/pycon-espana/browse_thread/thread/3af12e65f9c8b889 -- Saludos Fran From pyarnau en gmail.com Tue Mar 9 14:35:39 2010 From: pyarnau en gmail.com (Arnau Sanchez) Date: Tue, 09 Mar 2010 14:35:39 +0100 Subject: [Python-es] =?iso-8859-1?q?En_GTK=3A_c=F3mo_saber_si_una_tecla_en?= =?iso-8859-1?q?_particular_est=E1_presionada=3F?= In-Reply-To: <661226.42075.qm@web65608.mail.ac4.yahoo.com> References: <661226.42075.qm@web65608.mail.ac4.yahoo.com> Message-ID: <4B964EAB.3090301@gmail.com> On 09/03/10 03:12, Ramiro wrote: > Por ejemplo, cómo saber si la tecla CTRL está presionada en un instante > dado? No especificas sobre qué widget quieres trabajar. Imaginemos que quieres algo general, conectamos la señal "key-press-event a la ventana: import gtk def on_key_press(window, event): print "press:", (event.string, event.keyval, event.state) def on_key_release(window, event): print "release:", (event.string, event.keyval, event.state) window = gtk.Window() window.connect("key-press-event", on_key_press) window.connect("key-release-event", on_key_release) window.show_all() gtk.main() Consulta la documentación para desentrañar el significado de cada campo del objeto evento. http://www.pygtk.org/docs/pygtk/class-gdkevent.html arnau From d1d4c en aktivix.org Tue Mar 9 14:52:49 2010 From: d1d4c en aktivix.org (d1d4c) Date: Tue, 09 Mar 2010 14:52:49 +0100 Subject: [Python-es] =?iso-8859-1?q?Constituci=F3n_de_una_asociaci=F3n_pyt?= =?iso-8859-1?q?hon_espa=F1a?= In-Reply-To: <779d9e921003082331jbc50bb1sc00cde97756e7c58@mail.gmail.com> References: <779d9e921003082331jbc50bb1sc00cde97756e7c58@mail.gmail.com> Message-ID: <4B9652B1.90805@aktivix.org> Francisco Javier Cuadrado escribió: > Hola. Hola Francisco. > Como comentó Esteve[1] hace unos días se creó una lista[2] para > intentar organizar una PyCon España, de los pocos temas que se han > tratado en esa lista ha surgido la necesidad de crear una > asociación[3], y viendo que hay mucha gente de esta lista que no está > apuntada en la otra, os aviso aquí por si queréis aportar vuestro > granito de arena. > > > [1] http://mail.python.org/pipermail/python-es/2010-March/000609.html > [2] http://groups.google.es/group/pycon-espana > [3] http://groups.google.es/group/pycon-espana/browse_thread/thread/3af12e65f9c8b889 En mi opinión, el tema es un poco delicado. Si separáis bien lo que es pycon-es de lo que es python-es, ningún problema, como pycon-es sois autónomos. Si lo que pretendéis es constituir una asociación python-españa, tampoco le veo ningún inconveniente respecto a python-es, ya que python-es es una comunidad enmarcada por por el hecho de comunicarnos en español, y no por las delimitaciones geopolíticas del estado español o cualquier otro. Python-es, en mi opinión, es una comunidad que podríamos llamar hispánica. Eso significa un territorio potencial en el que se incluyen 27 naciones y algo más de 472 millones de personas, en África, América, Asia, Europa y Oceanía. Si queréis delimitar python-es a pyhton-españa, que en mi opinión es absurdo, en todo caso, es un debate que deberíamos tener aquí. Respecto a la invitación a participar en el grupo de google, tengo una pregunta ¿es un requisito disponer de una cuenta en gmail para participar? Muchos ánimos con la iniciativa, ciao! From olemis+py en gmail.com Tue Mar 9 15:08:57 2010 From: olemis+py en gmail.com (Olemis Lang (Simelix)) Date: Tue, 9 Mar 2010 09:08:57 -0500 Subject: [Python-es] =?iso-8859-1?q?Constituci=F3n_de_una_asociaci=F3n_pyt?= =?iso-8859-1?q?hon_espa=F1a?= In-Reply-To: <779d9e921003082331jbc50bb1sc00cde97756e7c58@mail.gmail.com> References: <779d9e921003082331jbc50bb1sc00cde97756e7c58@mail.gmail.com> Message-ID: <24ea26601003090608i41c679e9v988033d9d2ebca5e@mail.gmail.com> 2010/3/9 Francisco Javier Cuadrado : > Hola. > > Como comentó Esteve[1] hace unos días se creó una lista[2] para > intentar organizar una PyCon España, de los pocos temas que se han > tratado en esa lista ha surgido la necesidad de crear una > asociación[3], y viendo que hay mucha gente de esta lista que no está > apuntada en la otra, os aviso aquí por si queréis aportar vuestro > granito de arena. > > ¿ Limitada al territorio español o a las personas que hablen español (a.k.a. hispanos) ? Por ejemplo la AFPy (más o menos Association Francophone Python) agrupa a todas las personas que hablan francés, lo que incluye a otros países . A lo mejor por las distancias geográficas, no todos puedan tener la misma participación, pero supongo que pueda haber contribuciones que no necesiten ser presenciales ... Por otra parte, en este caso se cubren más áreas : - Encuentros regionales y el PyCon.fr - Confección de (video) tutoriales - Propuestas de empleo relacionadas con Py - Coordinación para el desarrollo de módulos (AFAIK FOSS e.g. afpy.ldap) - ... pueden surgir más temas. Hay muchos enfoques para organizar un grupo de usuarios de Py. Les sugiero una conferencia de PyCon 08 [2]_ ;o) PD: De cualquier forma, buena suerte con lo de la asociación ;o) No continúo el otro hilo por un cartelito rojo que me dice «subscription overflow» ... :-/ .. [1] afpy ? Association Francophone Python (http://afpy.org/) .. [2] Running a Successful Usergroup (http://www.youtube.com/watch?v=qf9f3UC6P5g) -- Regards, Olemis. Blog ES: http://simelo-es.blogspot.com/ Blog EN: http://simelo-en.blogspot.com/ Featured article: Soporte para Hessian (RPC) en Trac - http://feedproxy.google.com/~r/simelo-es/~3/1vNiBD5LjP8/soporte-para-hessian-rpc-en-trac.html From rmrsndvl en yahoo.com.ar Tue Mar 9 23:59:45 2010 From: rmrsndvl en yahoo.com.ar (Ramiro) Date: Tue, 9 Mar 2010 14:59:45 -0800 (PST) Subject: [Python-es] =?iso-8859-1?q?En_GTK=3A_c=F3mo_saber_si_una_tecla_en?= =?iso-8859-1?q?_particular_est=E1_presionada=3F?= In-Reply-To: <4B964EAB.3090301@gmail.com> Message-ID: <952299.84972.qm@web65608.mail.ac4.yahoo.com> Gracias por la respuesta Usando eventos y llevando un registro con los estados de cada tecla no me sirve porque se me pierde información cuando la ventana pierde el foco. Yo estoy buscando como saber, en el momento que yo quiera, el estado de una tecla. Cómo sé yo si cuando se presiona una tecla también se está presionando CTRL o ALT?, con eventos no puedo saberlo si es que la ventana pierde y recupera el foco. saludos >> Por ejemplo, cómo saber si la tecla CTRL está presionada en un instante >> dado? > >No especificas sobre qué widget quieres trabajar. Imaginemos que quieres algo >general, conectamos la señal "key-press-event a la ventana: > >import gtk > >def on_key_press(window, event): >  print "press:", (event.string, event.keyval, event.state) > >def on_key_release(window, event): >  print "release:", (event.string, event.keyval, event.state) > >window = gtk.Window() >window.connect("key-press-event", on_key_press) >window.connect("key-release-event", on_key_release) >window.show_all() >gtk.main() > >Consulta la documentación para desentrañar el significado de cada campo del >objeto evento. Yahoo! Cocina Encontra las mejores recetas con Yahoo! Cocina. http://ar.mujer.yahoo.com/cocina/ ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From fcocuadrado en gmail.com Wed Mar 10 09:23:17 2010 From: fcocuadrado en gmail.com (Francisco Javier Cuadrado) Date: Wed, 10 Mar 2010 09:23:17 +0100 Subject: [Python-es] =?utf-8?q?Constituci=C3=B3n_de_una_asociaci=C3=B3n_py?= =?utf-8?q?thon_espa=C3=B1a?= In-Reply-To: <4B9652B1.90805@aktivix.org> References: <779d9e921003082331jbc50bb1sc00cde97756e7c58@mail.gmail.com> <4B9652B1.90805@aktivix.org> Message-ID: <779d9e921003100023h4bb4d84fu63e7a023ebfb6969@mail.gmail.com> El día 9 de marzo de 2010 14:52, d1d4c escribió: > Francisco Javier Cuadrado escribió: >> >> Hola. > > Hola Francisco. > >> Como comentó Esteve[1] hace unos días se creó una lista[2] para >> intentar organizar una PyCon España, de los pocos temas que se han >> tratado en esa lista ha surgido la necesidad de crear una >> asociación[3], y viendo que hay mucha gente de esta lista que no está >> apuntada en la otra, os aviso aquí por si queréis aportar vuestro >> granito de arena. >> >> >> [1] http://mail.python.org/pipermail/python-es/2010-March/000609.html >> [2] http://groups.google.es/group/pycon-espana >> [3] >> http://groups.google.es/group/pycon-espana/browse_thread/thread/3af12e65f9c8b889 > > En mi opinión, el tema es un poco delicado. Si separáis bien lo que es > pycon-es de lo que es python-es, ningún problema, como pycon-es sois > autónomos. > Eso está claro. > Si lo que pretendéis es constituir una asociación python-españa, tampoco le > veo ningún inconveniente respecto a python-es, ya que python-es es una > comunidad enmarcada por por el hecho de comunicarnos en español, y no por > las delimitaciones geopolíticas del estado español o cualquier otro. > > Python-es, en mi opinión, es una comunidad que podríamos llamar hispánica. > Eso significa un territorio potencial en el que se incluyen 27 naciones y > algo más de 472 millones de personas, en África, América, Asia, Europa y > Oceanía. > > Si queréis delimitar python-es a pyhton-españa, que en mi opinión es > absurdo, en todo caso, es un debate que deberíamos tener aquí. > En el hilo[3] que indiqué es dónde se está hablando de este tema, todavía no hay nada decidido, pero la primera idea de la asociación es que tenga como objetivo realizar y coordinar la PyCon España y la difusión de Python en España. En ningún momento he dicho que la lista de python-es deba ser únicamente para ciudadanos españoles o que vaya a ser la lista de los miembros de la futura asociación, aquí se seguirá como se está haciendo hasta ahora todo el que hable español está invitado, yo no soy quién manda. ;) Es más en ese hilo[3] ya se comentó algo parecido a esto, citando a Esteve cuando se sugirió buscar colaboración en esta lista: [...] aunque hay que recordar que esa lista (refiriéndose a python-es) representa a todos los usuarios hispanos de Python, no sólo a los de España.[...] Así que no hay ningún debate, por lo menos por mi parte nunca lo hubo, sobre si esta lista iba a ser sólo para españoles o para hispano hablantes. > Respecto a la invitación a participar en el grupo de google, tengo una > pregunta ¿es un requisito disponer de una cuenta en gmail para participar? > No hace falta tener cuenta de GMail, en el fondo es una lista de correo normal y corriente. > > Muchos ánimos con la iniciativa, ciao! > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > -- Saludos Fran From fcocuadrado en gmail.com Wed Mar 10 09:27:50 2010 From: fcocuadrado en gmail.com (Francisco Javier Cuadrado) Date: Wed, 10 Mar 2010 09:27:50 +0100 Subject: [Python-es] =?utf-8?q?Constituci=C3=B3n_de_una_asociaci=C3=B3n_py?= =?utf-8?q?thon_espa=C3=B1a?= In-Reply-To: <24ea26601003090608i41c679e9v988033d9d2ebca5e@mail.gmail.com> References: <779d9e921003082331jbc50bb1sc00cde97756e7c58@mail.gmail.com> <24ea26601003090608i41c679e9v988033d9d2ebca5e@mail.gmail.com> Message-ID: <779d9e921003100027s4fd44e0fpcbbf1ddd17f493d0@mail.gmail.com> El día 9 de marzo de 2010 15:08, Olemis Lang (Simelix) escribió: > 2010/3/9 Francisco Javier Cuadrado : >> Hola. >> >> Como comentó Esteve[1] hace unos días se creó una lista[2] para >> intentar organizar una PyCon España, de los pocos temas que se han >> tratado en esa lista ha surgido la necesidad de crear una >> asociación[3], y viendo que hay mucha gente de esta lista que no está >> apuntada en la otra, os aviso aquí por si queréis aportar vuestro >> granito de arena. >> >> > > ¿ Limitada al territorio español o a las personas que hablen español > (a.k.a. hispanos) ? Por ejemplo la AFPy (más o menos Association > Francophone Python) agrupa a todas las personas que hablan francés, lo > que incluye a otros países . A lo mejor por las distancias > geográficas, no todos puedan tener la misma participación, pero > supongo que pueda haber contribuciones que no necesiten ser > presenciales ... > Esto ya lo he contestado antes a d1d4c. > Por otra parte, en este caso se cubren más áreas : > >  - Encuentros regionales y el PyCon.fr >  - Confección de (video) tutoriales >  - Propuestas de empleo relacionadas con Py >  - Coordinación para el desarrollo de módulos (AFAIK FOSS e.g. afpy.ldap) >  - ... pueden surgir más temas. Hay muchos enfoques para organizar un grupo >    de usuarios de Py. Les sugiero una conferencia de PyCon 08 [2]_ ;o) > Gracias por las ideas y las sugerencias, a ver si va avanzando el tema. > PD: De cualquier forma, buena suerte con lo de la asociación ;o) > > No continúo el otro hilo por un cartelito rojo que me dice > «subscription overflow» ... :-/ > > .. [1] afpy ? Association Francophone Python >        (http://afpy.org/) > > .. [2] Running a Successful Usergroup >        (http://www.youtube.com/watch?v=qf9f3UC6P5g) > > -- > Regards, > > Olemis. > > Blog ES: http://simelo-es.blogspot.com/ > Blog EN: http://simelo-en.blogspot.com/ > > Featured article: > Soporte para Hessian (RPC) en Trac - > http://feedproxy.google.com/~r/simelo-es/~3/1vNiBD5LjP8/soporte-para-hessian-rpc-en-trac.html > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > -- Saludos Fran From olemis+py en gmail.com Wed Mar 10 14:17:25 2010 From: olemis+py en gmail.com (Olemis Lang (Simelix)) Date: Wed, 10 Mar 2010 08:17:25 -0500 Subject: [Python-es] =?iso-8859-1?q?Constituci=F3n_de_una_asociaci=F3n_pyt?= =?iso-8859-1?q?hon_espa=F1a?= In-Reply-To: <779d9e921003100027s4fd44e0fpcbbf1ddd17f493d0@mail.gmail.com> References: <779d9e921003082331jbc50bb1sc00cde97756e7c58@mail.gmail.com> <24ea26601003090608i41c679e9v988033d9d2ebca5e@mail.gmail.com> <779d9e921003100027s4fd44e0fpcbbf1ddd17f493d0@mail.gmail.com> Message-ID: <24ea26601003100517k3e03e2eck80bd34b98fa3e0cb@mail.gmail.com> 2010/3/10 Francisco Javier Cuadrado : > El día 9 de marzo de 2010 15:08, Olemis Lang (Simelix) > escribió: >> 2010/3/9 Francisco Javier Cuadrado : >>> Hola. >>> >>> Como comentó Esteve[1] hace unos días se creó una lista[2] para >>> intentar organizar una PyCon España, de los pocos temas que se han >>> tratado en esa lista ha surgido la necesidad de crear una >>> asociación[3], y viendo que hay mucha gente de esta lista que no está >>> apuntada en la otra, os aviso aquí por si queréis aportar vuestro >>> granito de arena. >>> >> >> ¿ Limitada al territorio español o a las personas que hablen español >> (a.k.a. hispanos) ? Por ejemplo la AFPy (más o menos Association >> Francophone Python) agrupa a todas las personas que hablan francés, lo >> que incluye a otros países . A lo mejor por las distancias >> geográficas, no todos puedan tener la misma participación, pero >> supongo que pueda haber contribuciones que no necesiten ser >> presenciales ... > > Esto ya lo he contestado antes a d1d4c. > Me refería a la asociación, no a la lista ;o) -- Regards, Olemis. Blog ES: http://simelo-es.blogspot.com/ Blog EN: http://simelo-en.blogspot.com/ Featured article: Soporte para Hessian (RPC) en Trac - http://feedproxy.google.com/~r/simelo-es/~3/1vNiBD5LjP8/soporte-para-hessian-rpc-en-trac.html From pdlopez en uci.cu Wed Mar 10 14:28:24 2010 From: pdlopez en uci.cu (Pavel Daniel Lopez Castillo) Date: Wed, 10 Mar 2010 08:28:24 -0500 (CST) Subject: [Python-es] Problema matematico In-Reply-To: <952299.84972.qm@web65608.mail.ac4.yahoo.com> Message-ID: <1444209289.8371931268227704759.JavaMail.root@ucimail1.uci.cu> Porque en python cuando pongo print -25/10 me devuelve -3 en vez de -2, como en c++ por ejemplo cout<<-25/10; devuelve -2 ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From fidellira.6 en gmail.com Wed Mar 10 13:57:56 2010 From: fidellira.6 en gmail.com (Fidel Sanchez-Bueno) Date: Wed, 10 Mar 2010 08:57:56 -0400 Subject: [Python-es] Problema matematico In-Reply-To: <1444209289.8371931268227704759.JavaMail.root@ucimail1.uci.cu> References: <1444209289.8371931268227704759.JavaMail.root@ucimail1.uci.cu> Message-ID: <4B979754.8040006@gmail.com> Pavel Daniel Lopez Castillo escribió: > Porque en python cuando pongo print -25/10 me devuelve -3 en vez de > -2, como en c++ por ejemplo cout<<-25/10; devuelve -2 > debes usar punto flotante para obtener resultados precisos, puedes hacerlo de esta manera: -25.0/10.0 o de esta: float(-25)/float(10) From marmolro en gmail.com Wed Mar 10 14:45:06 2010 From: marmolro en gmail.com (marmolro) Date: Wed, 10 Mar 2010 14:45:06 +0100 Subject: [Python-es] Problema matematico In-Reply-To: <1444209289.8371931268227704759.JavaMail.root@ucimail1.uci.cu> References: <952299.84972.qm@web65608.mail.ac4.yahoo.com> <1444209289.8371931268227704759.JavaMail.root@ucimail1.uci.cu> Message-ID: <3bc86eda1003100545h1b0e708as47b7b87445ea5e69@mail.gmail.com> Entiendo que redondea siempre hacia abajo: >>> 25/10 2 >>> -25/10 -3 no conozco el caso de c++, ¿como lo hace con estos ejemplos? Un saludo 2010/3/10 Pavel Daniel Lopez Castillo > Porque en python cuando pongo print -25/10 me devuelve -3 en vez de -2, > como en c++ por ejemplo cout<<-25/10; devuelve -2 > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From scots4ever en gmail.com Wed Mar 10 14:54:54 2010 From: scots4ever en gmail.com (Soto) Date: Wed, 10 Mar 2010 14:54:54 +0100 Subject: [Python-es] Problema matematico In-Reply-To: <4B979754.8040006@gmail.com> References: <1444209289.8371931268227704759.JavaMail.root@ucimail1.uci.cu> <4B979754.8040006@gmail.com> Message-ID: <10f310251003100554r38870172rbde8eb99ab2c4f82@mail.gmail.com> In [5]: float(-25./10.) Out[5]: -2.5 __________________________________________________________ "El hombre prudente sólo piensa en sus dificultades cuando ello tiene algún objeto. Cuando no, piensa en otra cosa." Bertrand Russell El 10 de marzo de 2010 13:57, Fidel Sanchez-Bueno escribió: > Pavel Daniel Lopez Castillo escribió: > > Porque en python cuando pongo print -25/10 me devuelve -3 en vez de -2, >> como en c++ por ejemplo cout<<-25/10; devuelve -2 >> >> debes usar punto flotante para obtener resultados precisos, puedes > hacerlo de esta manera: > -25.0/10.0 > > o de esta: > > float(-25)/float(10) > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From programador.sistemas en gmail.com Wed Mar 10 14:56:54 2010 From: programador.sistemas en gmail.com (Omar Chumpitaz) Date: Wed, 10 Mar 2010 08:56:54 -0500 Subject: [Python-es] Problema matematico In-Reply-To: <3bc86eda1003100545h1b0e708as47b7b87445ea5e69@mail.gmail.com> References: <952299.84972.qm@web65608.mail.ac4.yahoo.com> <1444209289.8371931268227704759.JavaMail.root@ucimail1.uci.cu> <3bc86eda1003100545h1b0e708as47b7b87445ea5e69@mail.gmail.com> Message-ID: <3adaa5e61003100556n655ebeaeo670ce437e990ea0b@mail.gmail.com> Hola, creo que deberia usar lo siguiente import math print math.floor(-25.0/10.0) #devuelve -3 print math.ceil(-25.0/10.0) #devuelve -2 print -25.0/10.0 #devuelve -2.5 El 10 de marzo de 2010 08:45, marmolro escribió: > Entiendo que redondea siempre hacia abajo: > > >>> 25/10 > 2 > >>> -25/10 > -3 > > no conozco el caso de c++, ¿como lo hace con estos ejemplos? > > Un saludo > > 2010/3/10 Pavel Daniel Lopez Castillo > >> Porque en python cuando pongo print -25/10 me devuelve -3 en vez de -2, >> como en c++ por ejemplo cout<<-25/10; devuelve -2 >> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > -- ______________________________ Atte. Omar Chumpitaz H. Programador de Sistemas, Web & Mobile ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From abraham.zamudio en gmail.com Wed Mar 10 14:57:40 2010 From: abraham.zamudio en gmail.com (Abraham Zamudio) Date: Wed, 10 Mar 2010 08:57:40 -0500 Subject: [Python-es] Problema matematico In-Reply-To: <3bc86eda1003100545h1b0e708as47b7b87445ea5e69@mail.gmail.com> References: <952299.84972.qm@web65608.mail.ac4.yahoo.com> <1444209289.8371931268227704759.JavaMail.root@ucimail1.uci.cu> <3bc86eda1003100545h1b0e708as47b7b87445ea5e69@mail.gmail.com> Message-ID: <594dda621003100557q3b6e7655s48752bbc684c5637@mail.gmail.com> Puedes empezar leyendo este articulo de IBM http://www.ibm.com/developerworks/opensource/library/os-python1/ 2010/3/10 marmolro > Entiendo que redondea siempre hacia abajo: > > >>> 25/10 > 2 > >>> -25/10 > -3 > > no conozco el caso de c++, ¿como lo hace con estos ejemplos? > > Un saludo > > 2010/3/10 Pavel Daniel Lopez Castillo > >> Porque en python cuando pongo print -25/10 me devuelve -3 en vez de -2, >> como en c++ por ejemplo cout<<-25/10; devuelve -2 >> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > -- Abraham Zamudio Ch. Celular : 996002901 ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From fcocuadrado en gmail.com Wed Mar 10 15:02:47 2010 From: fcocuadrado en gmail.com (Francisco Javier Cuadrado) Date: Wed, 10 Mar 2010 15:02:47 +0100 Subject: [Python-es] =?utf-8?q?Constituci=C3=B3n_de_una_asociaci=C3=B3n_py?= =?utf-8?q?thon_espa=C3=B1a?= In-Reply-To: <24ea26601003100517k3e03e2eck80bd34b98fa3e0cb@mail.gmail.com> References: <779d9e921003082331jbc50bb1sc00cde97756e7c58@mail.gmail.com> <24ea26601003090608i41c679e9v988033d9d2ebca5e@mail.gmail.com> <779d9e921003100027s4fd44e0fpcbbf1ddd17f493d0@mail.gmail.com> <24ea26601003100517k3e03e2eck80bd34b98fa3e0cb@mail.gmail.com> Message-ID: <779d9e921003100602l39c4b32bmb043078100718da0@mail.gmail.com> El día 10 de marzo de 2010 14:17, Olemis Lang (Simelix) escribió: > 2010/3/10 Francisco Javier Cuadrado : >> El día 9 de marzo de 2010 15:08, Olemis Lang (Simelix) >> escribió: >>> 2010/3/9 Francisco Javier Cuadrado : >>>> Hola. >>>> >>>> Como comentó Esteve[1] hace unos días se creó una lista[2] para >>>> intentar organizar una PyCon España, de los pocos temas que se han >>>> tratado en esa lista ha surgido la necesidad de crear una >>>> asociación[3], y viendo que hay mucha gente de esta lista que no está >>>> apuntada en la otra, os aviso aquí por si queréis aportar vuestro >>>> granito de arena. >>>> >>> >>> ¿ Limitada al territorio español o a las personas que hablen español >>> (a.k.a. hispanos) ? Por ejemplo la AFPy (más o menos Association >>> Francophone Python) agrupa a todas las personas que hablan francés, lo >>> que incluye a otros países . A lo mejor por las distancias >>> geográficas, no todos puedan tener la misma participación, pero >>> supongo que pueda haber contribuciones que no necesiten ser >>> presenciales ... >> >> Esto ya lo he contestado antes a d1d4c. >> > > Me refería a la asociación, no a la lista > > ;o) > Lo que le he contestado a d1d4c se refería a la lista. > -- > Regards, > > Olemis. > > Blog ES: http://simelo-es.blogspot.com/ > Blog EN: http://simelo-en.blogspot.com/ > > Featured article: > Soporte para Hessian (RPC) en Trac - > http://feedproxy.google.com/~r/simelo-es/~3/1vNiBD5LjP8/soporte-para-hessian-rpc-en-trac.html > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > -- Saludos Fran From fcocuadrado en gmail.com Wed Mar 10 15:03:35 2010 From: fcocuadrado en gmail.com (Francisco Javier Cuadrado) Date: Wed, 10 Mar 2010 15:03:35 +0100 Subject: [Python-es] =?utf-8?q?Constituci=C3=B3n_de_una_asociaci=C3=B3n_py?= =?utf-8?q?thon_espa=C3=B1a?= In-Reply-To: <779d9e921003100602l39c4b32bmb043078100718da0@mail.gmail.com> References: <779d9e921003082331jbc50bb1sc00cde97756e7c58@mail.gmail.com> <24ea26601003090608i41c679e9v988033d9d2ebca5e@mail.gmail.com> <779d9e921003100027s4fd44e0fpcbbf1ddd17f493d0@mail.gmail.com> <24ea26601003100517k3e03e2eck80bd34b98fa3e0cb@mail.gmail.com> <779d9e921003100602l39c4b32bmb043078100718da0@mail.gmail.com> Message-ID: <779d9e921003100603s43cbcc2lfb9d77886598703@mail.gmail.com> El día 10 de marzo de 2010 15:02, Francisco Javier Cuadrado escribió: > El día 10 de marzo de 2010 14:17, Olemis Lang (Simelix) > escribió: >> 2010/3/10 Francisco Javier Cuadrado : >>> El día 9 de marzo de 2010 15:08, Olemis Lang (Simelix) >>> escribió: >>>> 2010/3/9 Francisco Javier Cuadrado : >>>>> Hola. >>>>> >>>>> Como comentó Esteve[1] hace unos días se creó una lista[2] para >>>>> intentar organizar una PyCon España, de los pocos temas que se han >>>>> tratado en esa lista ha surgido la necesidad de crear una >>>>> asociación[3], y viendo que hay mucha gente de esta lista que no está >>>>> apuntada en la otra, os aviso aquí por si queréis aportar vuestro >>>>> granito de arena. >>>>> >>>> >>>> ¿ Limitada al territorio español o a las personas que hablen español >>>> (a.k.a. hispanos) ? Por ejemplo la AFPy (más o menos Association >>>> Francophone Python) agrupa a todas las personas que hablan francés, lo >>>> que incluye a otros países . A lo mejor por las distancias >>>> geográficas, no todos puedan tener la misma participación, pero >>>> supongo que pueda haber contribuciones que no necesiten ser >>>> presenciales ... >>> >>> Esto ya lo he contestado antes a d1d4c. >>> >> >> Me refería a la asociación, no a la lista >> >> ;o) >> > > Lo que le he contestado a d1d4c se refería a la lista. > Corrección, me he comido algunas palabras. Lo que le he contestado a d1d4c se refería a la asociación, no a la lista. >> -- >> Regards, >> >> Olemis. >> >> Blog ES: http://simelo-es.blogspot.com/ >> Blog EN: http://simelo-en.blogspot.com/ >> >> Featured article: >> Soporte para Hessian (RPC) en Trac - >> http://feedproxy.google.com/~r/simelo-es/~3/1vNiBD5LjP8/soporte-para-hessian-rpc-en-trac.html >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> > > > > -- > Saludos > > Fran > -- Saludos Fran From olemis+py en gmail.com Wed Mar 10 15:12:11 2010 From: olemis+py en gmail.com (Olemis Lang (Simelix)) Date: Wed, 10 Mar 2010 09:12:11 -0500 Subject: [Python-es] =?iso-8859-1?q?Constituci=F3n_de_una_asociaci=F3n_pyt?= =?iso-8859-1?q?hon_espa=F1a?= In-Reply-To: <779d9e921003100603s43cbcc2lfb9d77886598703@mail.gmail.com> References: <779d9e921003082331jbc50bb1sc00cde97756e7c58@mail.gmail.com> <24ea26601003090608i41c679e9v988033d9d2ebca5e@mail.gmail.com> <779d9e921003100027s4fd44e0fpcbbf1ddd17f493d0@mail.gmail.com> <24ea26601003100517k3e03e2eck80bd34b98fa3e0cb@mail.gmail.com> <779d9e921003100602l39c4b32bmb043078100718da0@mail.gmail.com> <779d9e921003100603s43cbcc2lfb9d77886598703@mail.gmail.com> Message-ID: <24ea26601003100612r88dcf37k9efcf0e98fa33762@mail.gmail.com> 2010/3/10 Francisco Javier Cuadrado : > El día 10 de marzo de 2010 15:02, Francisco Javier Cuadrado > escribió: >> El día 10 de marzo de 2010 14:17, Olemis Lang (Simelix) >> escribió: >>> 2010/3/10 Francisco Javier Cuadrado : >>>> El día 9 de marzo de 2010 15:08, Olemis Lang (Simelix) >>>> escribió: >>>>> 2010/3/9 Francisco Javier Cuadrado : >>>>>> Hola. >>>>>> >>>>>> Como comentó Esteve[1] hace unos días se creó una lista[2] para >>>>>> intentar organizar una PyCon España, de los pocos temas que se han >>>>>> tratado en esa lista ha surgido la necesidad de crear una >>>>>> asociación[3], y viendo que hay mucha gente de esta lista que no está >>>>>> apuntada en la otra, os aviso aquí por si queréis aportar vuestro >>>>>> granito de arena. >>>>>> >>>>> >>>>> ¿ Limitada al territorio español o a las personas que hablen español >>>>> (a.k.a. hispanos) ? Por ejemplo la AFPy (más o menos Association >>>>> Francophone Python) agrupa a todas las personas que hablan francés, lo >>>>> que incluye a otros países . A lo mejor por las distancias >>>>> geográficas, no todos puedan tener la misma participación, pero >>>>> supongo que pueda haber contribuciones que no necesiten ser >>>>> presenciales ... >>>> >>>> Esto ya lo he contestado antes a d1d4c. >>>> >>> >>> Me refería a la asociación, no a la lista >>> >>> ;o) >>> >> >> Lo que le he contestado a d1d4c se refería a la lista. >> > > Corrección, me he comido algunas palabras. > > Lo que le he contestado a d1d4c se refería a la asociación, no a la lista. > Ah, ya ! Discúlpenme mi lentitud (efectos secundarios del vodka :-$ ) pero no me queda claro (después de leer la respuesta a d1d4c ) si existiría la posibilidad de que la asociación abarcara más allá de España (sí me queda claro lo de la lista ;o) -- Regards, Olemis. Blog ES: http://simelo-es.blogspot.com/ Blog EN: http://simelo-en.blogspot.com/ Featured article: Soporte para Hessian (RPC) en Trac - http://feedproxy.google.com/~r/simelo-es/~3/1vNiBD5LjP8/soporte-para-hessian-rpc-en-trac.html From fcocuadrado en gmail.com Wed Mar 10 15:19:11 2010 From: fcocuadrado en gmail.com (Francisco Javier Cuadrado) Date: Wed, 10 Mar 2010 15:19:11 +0100 Subject: [Python-es] =?utf-8?q?Constituci=C3=B3n_de_una_asociaci=C3=B3n_py?= =?utf-8?q?thon_espa=C3=B1a?= In-Reply-To: <24ea26601003100612r88dcf37k9efcf0e98fa33762@mail.gmail.com> References: <779d9e921003082331jbc50bb1sc00cde97756e7c58@mail.gmail.com> <24ea26601003090608i41c679e9v988033d9d2ebca5e@mail.gmail.com> <779d9e921003100027s4fd44e0fpcbbf1ddd17f493d0@mail.gmail.com> <24ea26601003100517k3e03e2eck80bd34b98fa3e0cb@mail.gmail.com> <779d9e921003100602l39c4b32bmb043078100718da0@mail.gmail.com> <779d9e921003100603s43cbcc2lfb9d77886598703@mail.gmail.com> <24ea26601003100612r88dcf37k9efcf0e98fa33762@mail.gmail.com> Message-ID: <779d9e921003100619t385411c6wf25fc079e7e81685@mail.gmail.com> El día 10 de marzo de 2010 15:12, Olemis Lang (Simelix) escribió: > 2010/3/10 Francisco Javier Cuadrado : >> El día 10 de marzo de 2010 15:02, Francisco Javier Cuadrado >> escribió: >>> El día 10 de marzo de 2010 14:17, Olemis Lang (Simelix) >>> escribió: >>>> 2010/3/10 Francisco Javier Cuadrado : >>>>> El día 9 de marzo de 2010 15:08, Olemis Lang (Simelix) >>>>> escribió: >>>>>> 2010/3/9 Francisco Javier Cuadrado : >>>>>>> Hola. >>>>>>> >>>>>>> Como comentó Esteve[1] hace unos días se creó una lista[2] para >>>>>>> intentar organizar una PyCon España, de los pocos temas que se han >>>>>>> tratado en esa lista ha surgido la necesidad de crear una >>>>>>> asociación[3], y viendo que hay mucha gente de esta lista que no está >>>>>>> apuntada en la otra, os aviso aquí por si queréis aportar vuestro >>>>>>> granito de arena. >>>>>>> >>>>>> >>>>>> ¿ Limitada al territorio español o a las personas que hablen español >>>>>> (a.k.a. hispanos) ? Por ejemplo la AFPy (más o menos Association >>>>>> Francophone Python) agrupa a todas las personas que hablan francés, lo >>>>>> que incluye a otros países . A lo mejor por las distancias >>>>>> geográficas, no todos puedan tener la misma participación, pero >>>>>> supongo que pueda haber contribuciones que no necesiten ser >>>>>> presenciales ... >>>>> >>>>> Esto ya lo he contestado antes a d1d4c. >>>>> >>>> >>>> Me refería a la asociación, no a la lista >>>> >>>> ;o) >>>> >>> >>> Lo que le he contestado a d1d4c se refería a la lista. >>> >> >> Corrección, me he comido algunas palabras. >> >> Lo que le he contestado a d1d4c se refería a la asociación, no a la lista. >> > > Ah, ya ! Discúlpenme mi lentitud (efectos secundarios del vodka :-$ ) > pero no me queda claro (después de leer la respuesta a d1d4c ) si > existiría la posibilidad de que la asociación abarcara más allá de > España (sí me queda claro lo de la lista ;o) > Disculpame a mí también, porque tampoco te había entendido bien. Sobre la asociación no te puedo decir más de lo que he dicho, supongo que cualquiera podrá ser miembro de la asociación, pero sus actividades se limitarán a España, o por lo menos esa es _mi_ idea. > -- > Regards, > > Olemis. > > Blog ES: http://simelo-es.blogspot.com/ > Blog EN: http://simelo-en.blogspot.com/ > > Featured article: > Soporte para Hessian (RPC) en Trac - > http://feedproxy.google.com/~r/simelo-es/~3/1vNiBD5LjP8/soporte-para-hessian-rpc-en-trac.html > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > -- Saludos Fran From kikocorreoso en gmail.com Wed Mar 10 15:31:07 2010 From: kikocorreoso en gmail.com (Kiko) Date: Wed, 10 Mar 2010 15:31:07 +0100 Subject: [Python-es] =?iso-8859-1?q?Constituci=F3n_de_una_asociaci=F3n_pyt?= =?iso-8859-1?q?hon_espa=F1a?= In-Reply-To: <779d9e921003100619t385411c6wf25fc079e7e81685@mail.gmail.com> References: <779d9e921003082331jbc50bb1sc00cde97756e7c58@mail.gmail.com> <24ea26601003090608i41c679e9v988033d9d2ebca5e@mail.gmail.com> <779d9e921003100027s4fd44e0fpcbbf1ddd17f493d0@mail.gmail.com> <24ea26601003100517k3e03e2eck80bd34b98fa3e0cb@mail.gmail.com> <779d9e921003100602l39c4b32bmb043078100718da0@mail.gmail.com> <779d9e921003100603s43cbcc2lfb9d77886598703@mail.gmail.com> <24ea26601003100612r88dcf37k9efcf0e98fa33762@mail.gmail.com> <779d9e921003100619t385411c6wf25fc079e7e81685@mail.gmail.com> Message-ID: <1b6058651003100631t77f40a43h957d1ab902fa5ddb@mail.gmail.com> El 10 de marzo de 2010 15:19, Francisco Javier Cuadrado < fcocuadrado en gmail.com> escribió: > El día 10 de marzo de 2010 15:12, Olemis Lang (Simelix) > > escribió: > > 2010/3/10 Francisco Javier Cuadrado : > >> El día 10 de marzo de 2010 15:02, Francisco Javier Cuadrado > >> escribió: > >>> El día 10 de marzo de 2010 14:17, Olemis Lang (Simelix) > >>> > escribió: > >>>> 2010/3/10 Francisco Javier Cuadrado : > >>>>> El día 9 de marzo de 2010 15:08, Olemis Lang (Simelix) > >>>>> > escribió: > >>>>>> 2010/3/9 Francisco Javier Cuadrado : > >>>>>>> Hola. > >>>>>>> > >>>>>>> Como comentó Esteve[1] hace unos días se creó una lista[2] para > >>>>>>> intentar organizar una PyCon España, de los pocos temas que se han > >>>>>>> tratado en esa lista ha surgido la necesidad de crear una > >>>>>>> asociación[3], y viendo que hay mucha gente de esta lista que no > está > >>>>>>> apuntada en la otra, os aviso aquí por si queréis aportar vuestro > >>>>>>> granito de arena. > >>>>>>> > >>>>>> > >>>>>> ¿ Limitada al territorio español o a las personas que hablen español > >>>>>> (a.k.a. hispanos) ? Por ejemplo la AFPy (más o menos Association > >>>>>> Francophone Python) agrupa a todas las personas que hablan francés, > lo > >>>>>> que incluye a otros países . A lo mejor por las distancias > >>>>>> geográficas, no todos puedan tener la misma participación, pero > >>>>>> supongo que pueda haber contribuciones que no necesiten ser > >>>>>> presenciales ... > >>>>> > >>>>> Esto ya lo he contestado antes a d1d4c. > >>>>> > >>>> > >>>> Me refería a la asociación, no a la lista > >>>> > >>>> ;o) > >>>> > >>> > >>> Lo que le he contestado a d1d4c se refería a la lista. > >>> > >> > >> Corrección, me he comido algunas palabras. > >> > >> Lo que le he contestado a d1d4c se refería a la asociación, no a la > lista. > >> > > > > Ah, ya ! Discúlpenme mi lentitud (efectos secundarios del vodka :-$ ) > > pero no me queda claro (después de leer la respuesta a d1d4c ) si > > existiría la posibilidad de que la asociación abarcara más allá de > > España (sí me queda claro lo de la lista ;o) > > > > Disculpame a mí también, porque tampoco te había entendido bien. > > Sobre la asociación no te puedo decir más de lo que he dicho, supongo > que cualquiera podrá ser miembro de la asociación, pero sus > actividades se limitarán a España, o por lo menos esa es _mi_ idea. > > FYI (por si aporta algo a la discusión) Para establecer una asociación a nivel nacional hay que seguir la ley de asociaciones (http://noticias.juridicas.com/base_datos/Admin/lo1-2002.html). En principio, los asociados no tienen que haber nacido necesariamente en la zona geográfica donde la asociación está inscrita pero las actividades de la asociación sí que deben estar circunscritas a esa zona geográfica. Luego, la asociación puede formar parte de federaciones/confederaciones de otras asociaciones para tener representación en otros ámbitos. Si la asociación no es muy grande se puede manejar sin muchos fondos pero si la cosa crece hay que llevar al día una serie de papeleos para actuar conforme a la legalidad. Saludos. ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From jordi.f en ati.es Wed Mar 10 15:37:46 2010 From: jordi.f en ati.es (Jordi Funollet) Date: Wed, 10 Mar 2010 15:37:46 +0100 Subject: [Python-es] Problema matematico In-Reply-To: <1444209289.8371931268227704759.JavaMail.root@ucimail1.uci.cu> References: <1444209289.8371931268227704759.JavaMail.root@ucimail1.uci.cu> Message-ID: <201003101537.46372.jordi.f@ati.es> Para hacer tu pregunta has respuesto a un correo ya existente en lugar de crear uno nuevo. Así rompes el hilo del correo; eso provoca que salgan desordenados en la mayoría de navegadores de correo y, peor aún, en los archivos de la lista. Por favor, crea un correo nuevo cuando inicies una pregunta nueva. -- ############################## ### Jordi Funollet ### http://www.terraquis.net From fcocuadrado en gmail.com Wed Mar 10 15:38:53 2010 From: fcocuadrado en gmail.com (Francisco Javier Cuadrado) Date: Wed, 10 Mar 2010 15:38:53 +0100 Subject: [Python-es] =?utf-8?q?Constituci=C3=B3n_de_una_asociaci=C3=B3n_py?= =?utf-8?q?thon_espa=C3=B1a?= In-Reply-To: <1b6058651003100631t77f40a43h957d1ab902fa5ddb@mail.gmail.com> References: <779d9e921003082331jbc50bb1sc00cde97756e7c58@mail.gmail.com> <24ea26601003090608i41c679e9v988033d9d2ebca5e@mail.gmail.com> <779d9e921003100027s4fd44e0fpcbbf1ddd17f493d0@mail.gmail.com> <24ea26601003100517k3e03e2eck80bd34b98fa3e0cb@mail.gmail.com> <779d9e921003100602l39c4b32bmb043078100718da0@mail.gmail.com> <779d9e921003100603s43cbcc2lfb9d77886598703@mail.gmail.com> <24ea26601003100612r88dcf37k9efcf0e98fa33762@mail.gmail.com> <779d9e921003100619t385411c6wf25fc079e7e81685@mail.gmail.com> <1b6058651003100631t77f40a43h957d1ab902fa5ddb@mail.gmail.com> Message-ID: <779d9e921003100638u4d71859bo55ced25a5689008b@mail.gmail.com> El día 10 de marzo de 2010 15:31, Kiko escribió: > > > El 10 de marzo de 2010 15:19, Francisco Javier Cuadrado > escribió: >> >> El día 10 de marzo de 2010 15:12, Olemis Lang (Simelix) >> escribió: >> > 2010/3/10 Francisco Javier Cuadrado : >> >> El día 10 de marzo de 2010 15:02, Francisco Javier Cuadrado >> >> escribió: >> >>> El día 10 de marzo de 2010 14:17, Olemis Lang (Simelix) >> >>> escribió: >> >>>> 2010/3/10 Francisco Javier Cuadrado : >> >>>>> El día 9 de marzo de 2010 15:08, Olemis Lang (Simelix) >> >>>>> escribió: >> >>>>>> 2010/3/9 Francisco Javier Cuadrado : >> >>>>>>> Hola. >> >>>>>>> >> >>>>>>> Como comentó Esteve[1] hace unos días se creó una lista[2] para >> >>>>>>> intentar organizar una PyCon España, de los pocos temas que se han >> >>>>>>> tratado en esa lista ha surgido la necesidad de crear una >> >>>>>>> asociación[3], y viendo que hay mucha gente de esta lista que no >> >>>>>>> está >> >>>>>>> apuntada en la otra, os aviso aquí por si queréis aportar vuestro >> >>>>>>> granito de arena. >> >>>>>>> >> >>>>>> >> >>>>>> ¿ Limitada al territorio español o a las personas que hablen >> >>>>>> español >> >>>>>> (a.k.a. hispanos) ? Por ejemplo la AFPy (más o menos Association >> >>>>>> Francophone Python) agrupa a todas las personas que hablan francés, >> >>>>>> lo >> >>>>>> que incluye a otros países . A lo mejor por las distancias >> >>>>>> geográficas, no todos puedan tener la misma participación, pero >> >>>>>> supongo que pueda haber contribuciones que no necesiten ser >> >>>>>> presenciales ... >> >>>>> >> >>>>> Esto ya lo he contestado antes a d1d4c. >> >>>>> >> >>>> >> >>>> Me refería a la asociación, no a la lista >> >>>> >> >>>> ;o) >> >>>> >> >>> >> >>> Lo que le he contestado a d1d4c se refería a la lista. >> >>> >> >> >> >> Corrección, me he comido algunas palabras. >> >> >> >> Lo que le he contestado a d1d4c se refería a la asociación, no a la >> >> lista. >> >> >> > >> > Ah, ya ! Discúlpenme mi lentitud (efectos secundarios del vodka :-$ ) >> > pero no me queda claro (después de leer la respuesta a d1d4c ) si >> > existiría la posibilidad de que la asociación abarcara más allá de >> > España (sí me queda claro lo de la lista ;o) >> > >> >> Disculpame a mí también, porque tampoco te había entendido bien. >> >> Sobre la asociación no te puedo decir más de lo que he dicho, supongo >> que cualquiera podrá ser miembro de la asociación, pero sus >> actividades se limitarán a España, o por lo menos esa es _mi_ idea. >> > FYI (por si aporta algo a la discusión) > > Para establecer una asociación a nivel nacional hay que seguir la ley de > asociaciones (http://noticias.juridicas.com/base_datos/Admin/lo1-2002.html). > > En principio, los asociados no tienen que haber nacido necesariamente en la > zona geográfica donde la asociación está inscrita pero las actividades de la > asociación sí que deben estar circunscritas a esa zona geográfica. Luego, la > asociación puede formar parte de federaciones/confederaciones de otras > asociaciones para tener representación en otros ámbitos. > > Si la asociación no es muy grande se puede manejar sin muchos fondos pero si > la cosa crece hay que llevar al día una serie de papeleos para actuar > conforme a la legalidad. > Gracias por la información, se me había olvidado decir que las dudas que tengáis creo que será mejor que las preguntéis en la lista (o grupo de Google, como queráis llamarlo) de PyCon España, que hay gente que sabe de este tema más que yo y que ya están organizando algunas cosas (como los estatutos). > Saludos. > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > -- Saludos Fran From olemis+py en gmail.com Wed Mar 10 17:01:40 2010 From: olemis+py en gmail.com (Olemis Lang (Simelix)) Date: Wed, 10 Mar 2010 11:01:40 -0500 Subject: [Python-es] Error de sockets usando urllib2 In-Reply-To: <24ea26601002251210u3b204d1cqd9380bbe060f6c31@mail.gmail.com> References: <24ea26601002150856u4b1b9beco2a3a7429d1bf86be@mail.gmail.com> <24ea26601002151037s6424f83ci841e905ebc9b1b35@mail.gmail.com> <24ea26601002180616s3cd1932fp98223f8f5b2aa6c2@mail.gmail.com> <4B7D86A7.7010007@soft-com.es> <24ea26601002181039i2f4d23b8i93368394c6b204ca@mail.gmail.com> <24ea26601002251210u3b204d1cqd9380bbe060f6c31@mail.gmail.com> Message-ID: <24ea26601003100801t35465f79t7afad929d5255a56@mail.gmail.com> 2010/2/25 Olemis Lang (Simelix) : > A la carga nuevamente ! > > 2010/2/18 Olemis Lang (Simelix) : >> 2010/2/18 Oswaldo Hernández : >>> Olemis Lang (Simelix) escribió: >>>> >>>> 2010/2/15 Olemis Lang (Simelix) : >>> >>>>> Trato de utilizar >>>>> HessianPy (RPC ;o). >>>>> Cuando trato de efectuar una llamada a un procedimiento remoto desde una >>>>> PC >>>>> (especie de servidor de prueba ;o) con Windows XP, me lanza un error >>>>> URLError 11001 >>>>> ... >>>>> URLError: >>> >>> Desconozco la libreria HessianPy, pero 'getaddrinfo failed' suele indicar un >>> problema de resolución de nombres. >>> >> >> Eso es lo que más me extraña: >> >>  - Estoy probando con localhost y no funciona >>  - Estoy probando con 127.0.0.1 y no funciona >>  - Pero si pruebo con localhost utilizando xmlrpclib >>     entonces si llega la petición (aunque HessianPy da, >>     como es lógico, errores) >>  - Y si pruebo con 127.0.0.1 utilizando xmlrpclib >>     entonces si llega la petición (aunque HessianPy da, >>     como es lógico, errores) >> >> He buscado por varias partes y dicen por ahí [1]_  que se trata de >> «Host Not Found» ? No tengo proxy ni firewall, entonces no entiendo, ¿ >> cómo es posible que pase eso ? >> > > Lo he probado en varias PC con Windows y en todas me pasa lo mismo . > Sin embargo en PCs con GNU/Linux obtengo > > {{{ > #!python > > $ python -m hessian.test.test | more > ........ > localhost - - [25/Feb/2010 16:15:55] "POST / HTTP/1.1" 200 - > localhost - - [25/Feb/2010 16:15:55] "POST / HTTP/1.1" 200 - > localhost - - [25/Feb/2010 16:15:55] "POST / HTTP/1.1" 200 - > ... > }}} > > ... como debería ser. ¿Será algo relacionado con Windows? ¿Alguien ha > tenido problemas con urllib2 en Windows? > JFTR , solucionado. La causa era que lo estaba probando en PCs con Windows en las que había eliminado previamente el Internet Explorer. Sin embargo parece que antes de hacerlo alguien ya había configurado un proxy con el IE y el valor estaba en HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings : ProxyServer Realmente no tenía idea de que urllib(2) podía utilizar esta configuración ... Al quitarlo, todo funciona. -- Regards, Olemis. Blog ES: http://simelo-es.blogspot.com/ Blog EN: http://simelo-en.blogspot.com/ Featured article: From esteve en sindominio.net Wed Mar 10 18:42:12 2010 From: esteve en sindominio.net (Esteve Fernandez) Date: Wed, 10 Mar 2010 18:42:12 +0100 (CET) Subject: [Python-es] =?iso-8859-1?q?Constituci=F3n_de_una_asociaci=F3n_pyt?= =?iso-8859-1?q?hon_espa=F1a?= In-Reply-To: <779d9e921003100023h4bb4d84fu63e7a023ebfb6969@mail.gmail.com> References: <779d9e921003082331jbc50bb1sc00cde97756e7c58@mail.gmail.com> <4B9652B1.90805@aktivix.org> <779d9e921003100023h4bb4d84fu63e7a023ebfb6969@mail.gmail.com> Message-ID: Hola > Así que no hay ningún debate, por lo menos por mi parte nunca lo hubo, > sobre si esta lista iba a ser sólo para españoles o para hispano > hablantes. Exacto. La situación es que, ya que necesitamos crear una asociación para organizar la PyCon España, habíamos pensado en aprovechar y crearla para que no sólo sirviera como herramienta para organizar el congreso, sino también como una asociación de Python de ámbito español. Por ejemplo, es útil para usarla como figura legal para contratar el hosting, promocionar Python, pedir patrocinios, etc. Saludos. From pyarnau en gmail.com Wed Mar 10 20:03:58 2010 From: pyarnau en gmail.com (Arnau Sanchez) Date: Wed, 10 Mar 2010 20:03:58 +0100 Subject: [Python-es] =?iso-8859-1?q?En_GTK=3A_c=F3mo_saber_si_una_tecla_en?= =?iso-8859-1?q?_particular_est=E1_presionada=3F?= In-Reply-To: <952299.84972.qm@web65608.mail.ac4.yahoo.com> References: <952299.84972.qm@web65608.mail.ac4.yahoo.com> Message-ID: <4B97ED1E.6000708@gmail.com> On 09/03/10 23:59, Ramiro wrote: > Usando eventos y llevando un registro con los estados de cada tecla no > me sirve porque se me pierde información cuando la ventana pierde el foco. Cierto. > Yo estoy buscando como saber, en el momento que yo quiera, el estado de > una tecla. Como sabes GTK funciona por callbacks, así que hay que tendrías que precisar qué significa eso de "en el momento que yo quiera". Pero imaginemos que tu idea es poner una función que se ejecute cada X segundos; prueba con esto: import gtk def task(window): print window.window.get_pointer() return True window = gtk.Window() gtk.timeout_add(100, task, window) window.show_all() gtk.main() http://www.pygtk.org/docs/pygtk/class-gdkwindow.html#method-gdkwindow--get-pointer Por curiosidad, ¿puedes explicar la razón por la que necesitas algo así? en principio parece raro. Un detalle: mantén en tu respuesta el nombre de la persona de quién respondió, de esta manera: a) sabemos quién dijo qué b) podemos filtrar (sirve, por ejemplo, para saber si hay un nuevo mensaje en un hilo en el que estás participando) arnau From eddy en ati.une.cu Wed Mar 10 21:22:19 2010 From: eddy en ati.une.cu (eddy) Date: Wed, 10 Mar 2010 15:22:19 -0500 Subject: [Python-es] Sobre variable Message-ID: <1268252539.3327.24.camel@laptop-eddy.ati.une.cu> Hola amigos estoy haciendo un script y necesito pasar una cadena de caracteres como una sola variable (Para pasarlo como paraetro a un script desde la linea de comandos) Ej: "El servicio X esta caido" Muchisimas gracias de antemano. From marmolro en gmail.com Wed Mar 10 21:59:45 2010 From: marmolro en gmail.com (marmolro) Date: Wed, 10 Mar 2010 21:59:45 +0100 Subject: [Python-es] Sobre variable In-Reply-To: <1268252539.3327.24.camel@laptop-eddy.ati.une.cu> References: <1268252539.3327.24.camel@laptop-eddy.ati.une.cu> Message-ID: <3bc86eda1003101259j2587122ahbaef42cc21dfa8e4@mail.gmail.com> Simplemente entrecomilla la frase para que lo coja como un solo parámetro: Un saludo, 2010/3/10 eddy > Hola amigos estoy haciendo un script y necesito pasar una cadena de > caracteres como una sola variable (Para pasarlo como paraetro a un > script desde la linea de comandos) Ej: > > "El servicio X esta caido" > > > Muchisimas gracias de antemano. > > > > > > > > > > > > > > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From rmrsndvl en yahoo.com.ar Wed Mar 10 22:00:49 2010 From: rmrsndvl en yahoo.com.ar (Ramiro) Date: Wed, 10 Mar 2010 13:00:49 -0800 (PST) Subject: [Python-es] =?iso-8859-1?q?En_GTK=3A_c=F3mo_saber_si_una_tecla_en?= =?iso-8859-1?q?_particular_est=E1_presionada=3F?= In-Reply-To: <4B97ED1E.6000708@gmail.com> Message-ID: <398935.56960.qm@web65605.mail.ac4.yahoo.com> >> Usando eventos y llevando un registro con los estados de cada tecla no >> me sirve porque se me pierde información cuando la ventana pierde el foco. > >Cierto. > >> Yo estoy buscando como saber, en el momento que yo quiera, el estado de >> una tecla. > >Como sabes GTK funciona por callbacks, así que hay que tendrías que precisar qué >significa eso de "en el momento que yo quiera". Pero imaginemos que tu idea es poner >una función que se ejecute cada X segundos; prueba con esto: > >import gtk > >def task(window): >  print window.window.get_pointer() >  return True > >window = gtk.Window() >gtk.timeout_add(100, task, window) >window.show_all() >gtk.main() > >http://www.pygtk.org/docs/pygtk/class-gdkwindow.html#method-gdkwindow--get-pointer > >Por curiosidad, ¿puedes explicar la razón por la que necesitas algo así? en principio >parece raro. > >Un detalle: mantén en tu respuesta el nombre de la persona de quién respondió, de esta >manera: a) sabemos quién dijo qué b) podemos filtrar (sirve, por ejemplo, para saber si >hay un nuevo mensaje en un hilo en el que estás participando) > >arnau Hola Gracias por el ejemplo, yo busco algo así de poder saber que botones están presionados en un determinado momento, pero con el teclado. Lo que quiero hacer es algo normal nomás, saber si cuando el usuario aprieta una tecla, si esta va acompañada por un CTRL, un ALT o alguna otra. Usando los EVENTs podría zafar guardando en una variable los estados de las teclas que fueron presionadas, pero si hay una forma más directa de hacerlo me parecería mejor. saludos Yahoo! Cocina Encontra las mejores recetas con Yahoo! Cocina. http://ar.mujer.yahoo.com/cocina/ ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From felixpalazuelos en gmail.com Wed Mar 10 22:07:05 2010 From: felixpalazuelos en gmail.com (=?ISO-8859-1?Q?F=E9lix_Palazuelos_P=E9rez?=) Date: Wed, 10 Mar 2010 22:07:05 +0100 Subject: [Python-es] Sobre variable In-Reply-To: <3bc86eda1003101259j2587122ahbaef42cc21dfa8e4@mail.gmail.com> References: <1268252539.3327.24.camel@laptop-eddy.ati.une.cu> <3bc86eda1003101259j2587122ahbaef42cc21dfa8e4@mail.gmail.com> Message-ID: <7a26ef991003101307n46baa99fx6105d0078bbe1982@mail.gmail.com> No entiendo la pregunta, algo así funcionaría: def imprime_string(string): print string string = "Hola lista" imprime_string(string) ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From eddy en ati.une.cu Wed Mar 10 22:23:58 2010 From: eddy en ati.une.cu (eddy) Date: Wed, 10 Mar 2010 16:23:58 -0500 Subject: [Python-es] Sobre variable In-Reply-To: <7a26ef991003101307n46baa99fx6105d0078bbe1982@mail.gmail.com> References: <1268252539.3327.24.camel@laptop-eddy.ati.une.cu> <3bc86eda1003101259j2587122ahbaef42cc21dfa8e4@mail.gmail.com> <7a26ef991003101307n46baa99fx6105d0078bbe1982@mail.gmail.com> Message-ID: <1268256238.3327.48.camel@laptop-eddy.ati.une.cu> On Wed, 2010-03-10 at 22:07 +0100, Félix Palazuelos Pérez wrote: > No entiendo la pregunta, algo así funcionaría: > > def imprime_string(string): > print string > > string = "Hola lista" > imprime_string(string) > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ mira lo que quiero es que debo llamar al programa desde otro programa python programa.py "Parametro 1 a enviar" "Parametro 2 a enviar" y no se como hacer que la funcion que procesa los parametros dentro del programa reciba la cedena . From pyarnau en gmail.com Wed Mar 10 23:44:03 2010 From: pyarnau en gmail.com (Arnau Sanchez) Date: Wed, 10 Mar 2010 23:44:03 +0100 Subject: [Python-es] Sobre variable In-Reply-To: <1268256238.3327.48.camel@laptop-eddy.ati.une.cu> References: <1268252539.3327.24.camel@laptop-eddy.ati.une.cu> <3bc86eda1003101259j2587122ahbaef42cc21dfa8e4@mail.gmail.com> <7a26ef991003101307n46baa99fx6105d0078bbe1982@mail.gmail.com> <1268256238.3327.48.camel@laptop-eddy.ati.une.cu> Message-ID: <4B9820B3.3080401@gmail.com> On 10/03/10 22:23, eddy wrote: > mira lo que quiero es que debo llamar al programa desde otro programa > > python programa.py "Parametro 1 a enviar" "Parametro 2 a enviar" > > y no se como hacer que la funcion que procesa los parametros dentro del > programa reciba la cedena . Cuando uno empieza en algún lenguaje de programación, lo primero que tiene que hacer es leer el tutorial de arriba a abajo: http://pyspanishdoc.sourceforge.net/tut/ Concretamente lo que preguntas está aquí: http://pyspanishdoc.sourceforge.net/tut/node12.html#SECTION0012300000000000000000 Si sabes inglés, mejor lee el original. From pyarnau en gmail.com Wed Mar 10 23:58:21 2010 From: pyarnau en gmail.com (Arnau Sanchez) Date: Wed, 10 Mar 2010 23:58:21 +0100 Subject: [Python-es] =?iso-8859-1?q?En_GTK=3A_c=F3mo_saber_si_una_tecla_en?= =?iso-8859-1?q?_particular_est=E1_presionada=3F?= In-Reply-To: <398935.56960.qm@web65605.mail.ac4.yahoo.com> References: <398935.56960.qm@web65605.mail.ac4.yahoo.com> Message-ID: <4B98240D.90705@gmail.com> On 10/03/10 22:00, Ramiro wrote: > Gracias por el ejemplo, yo busco algo así de poder saber que botones > están presionados en un determinado momento, pero con el teclado. El último código que te pasé muestra en todo momento el estado de los modificadores (Control, Alt, etc), pero no las teclas "normales". > Lo que quiero hacer es algo normal nomás, saber si cuando el usuario > aprieta una tecla, si esta va acompañada por un CTRL, un ALT o alguna > otra. Usando los EVENTs podría zafar guardando en una variable los > estados de las teclas que fueron presionadas, pero si hay una forma más > directa de hacerlo me parecería mejor. Creo que no nos hemos entendido. En la primera solución que mandé, al capturar "key-press-event", tienes el estado de los modificadores perfectamente accesibles en event.state. Si alguien hace control+alt+p, recibirás tres eventos, el último de los cuales -el que realmente te importa- te informa que se ha pulsado la "P" con los modificadores Control y Alt activos. No creas que nadie se complica más la vida para saber qué combinaciones de tecla le llegan a una aplicación, si tuviéramos que mantener el estado de los modificadores por sus keyups y keydown sería un infierno. From pych3m4 en gmail.com Thu Mar 11 02:48:26 2010 From: pych3m4 en gmail.com (Chema Cortes) Date: Thu, 11 Mar 2010 02:48:26 +0100 Subject: [Python-es] Problema matematico In-Reply-To: <1444209289.8371931268227704759.JavaMail.root@ucimail1.uci.cu> References: <952299.84972.qm@web65608.mail.ac4.yahoo.com> <1444209289.8371931268227704759.JavaMail.root@ucimail1.uci.cu> Message-ID: <2c9fb0dd1003101748u7f8372e9jd5891a4a0c2ea6cd@mail.gmail.com> El día 10 de marzo de 2010 14:28, Pavel Daniel Lopez Castillo escribió: > Porque en python cuando pongo print -25/10 me devuelve -3 en vez de -2, como > en c++ por ejemplo  cout<<-25/10;  devuelve -2 Lo que debería sorprenderte más es que si en C multiplicas cociente por divisor sale mayor que el dividendo (-2*10>-25) , cosa que no ocurre en python. Más que un problema matemático se trata de diferentes modos de implementación. Mírate estos enlaces: From pepe en diselpro.com Thu Mar 11 09:51:40 2010 From: pepe en diselpro.com (Pepe Aracil) Date: Thu, 11 Mar 2010 09:51:40 +0100 Subject: [Python-es] Despertar a "select" Message-ID: <4B98AF1C.8020302@diselpro.com> Hola lista. Estoy diseñando un servidor TCP que tendrá que atender cientos de conexiones simultáneas. La idea es que un thread se encargue de ejecutar un select (módulo select) pasándole como único parámetro la lista de sockets abiertos a la espera de datos entrantes. Hasta aquí todo está claro, el problema viene cuando desde otro thread quiero añadir nuevos sockets a la lista de sockets que le paso al select. Necesito despertar al select para que recargue la nueva lista. No quiero hacerlo por timeout ya que es una forma bastante ineficiente, ya que si pusiese un timeout de 5 seg. la siguiente lectura de el nuevo socket se demoraría un máximo de 5 seg. y si pongo un timeout muy bajo, estoy echando ciclos de cpu a la basura. Se me ha ocurrido añadir a la lista del select un socket udp con el único fin de actuar como "despertador" . ¿Alguien tiene una idea mejor? Gracias. From ricardo.cardenes en gmail.com Thu Mar 11 11:29:52 2010 From: ricardo.cardenes en gmail.com (=?ISO-8859-1?Q?Ricardo_C=E1rdenes_Medina?=) Date: Thu, 11 Mar 2010 10:29:52 +0000 Subject: [Python-es] Despertar a "select" In-Reply-To: <4B98AF1C.8020302@diselpro.com> References: <4B98AF1C.8020302@diselpro.com> Message-ID: <325adf7e1003110229m426ed68cs8612a2303061d091@mail.gmail.com> 2010/3/11 Pepe Aracil : > Se me ha ocurrido añadir a la lista del select un socket udp con el único > fin de actuar como "despertador" . ¿Alguien tiene una idea mejor? Quizá quieras echarle un ojo a signal.set_wakeup_fd From pepe en diselpro.com Thu Mar 11 11:37:21 2010 From: pepe en diselpro.com (Pepe Aracil) Date: Thu, 11 Mar 2010 11:37:21 +0100 Subject: [Python-es] Despertar a "select" In-Reply-To: <325adf7e1003110229m426ed68cs8612a2303061d091@mail.gmail.com> References: <4B98AF1C.8020302@diselpro.com> <325adf7e1003110229m426ed68cs8612a2303061d091@mail.gmail.com> Message-ID: <4B98C7E1.1000301@diselpro.com> Ricardo Cárdenes Medina escribió: > 2010/3/11 Pepe Aracil : > > >> Se me ha ocurrido añadir a la lista del select un socket udp con el único >> fin de actuar como "despertador" . ¿Alguien tiene una idea mejor? >> > > Quizá quieras echarle un ojo a signal.set_wakeup_fd > Hola Ricardo. Conozco este sistema, lo que pasa es que no me termina la idea de hacer un os.kill a mi propio pid cada vez que quiero despertar a select. Ademas deberia crear una pipe o algo paracido para pasarselo a set_wakeup_fd() y como trabajo con threads me es mas comodo escribir directamente en la pipe que hacer un os.kill. Saludos. From pepe en diselpro.com Thu Mar 11 11:41:14 2010 From: pepe en diselpro.com (Pepe Aracil) Date: Thu, 11 Mar 2010 11:41:14 +0100 Subject: [Python-es] Despertar a "select" In-Reply-To: <20100311110923.3ffda8d7@eckert> References: <4B98AF1C.8020302@diselpro.com> <20100311110923.3ffda8d7@eckert> Message-ID: <4B98C8CA.8060705@diselpro.com> David Villa escribió: > On Thu, 11 Mar 2010 09:51:40 +0100 > Pepe Aracil osó decir: > > >> Hola lista. >> >> Estoy diseñando un servidor TCP que tendrá que atender cientos de >> conexiones simultáneas. >> La idea es que un thread se encargue de ejecutar un select (módulo >> select) pasándole como único parámetro la lista de sockets abiertos a >> la espera de datos entrantes. >> >> Hasta aquí todo está claro, el problema viene cuando desde otro >> thread quiero añadir nuevos sockets a la lista de sockets que le paso >> al select. Necesito despertar al select para que recargue la nueva >> lista. >> >> No quiero hacerlo por timeout ya que es una forma bastante >> ineficiente, ya que si pusiese un timeout de 5 seg. la siguiente >> lectura de el nuevo socket se demoraría un máximo de 5 seg. y >> si pongo un timeout muy bajo, estoy echando ciclos de cpu a la basura. >> >> Se me ha ocurrido añadir a la lista del select un socket udp con el >> único fin de actuar como "despertador" . ¿Alguien tiene una idea >> mejor? >> >> Gracias. >> > > Hola: > > Lo puedes arreglar poniendo el socket «master» también en la lista de > select(). En [1] tienes un ejemplo mínimo funcional de lo que quieres > hacer. El socket listener ya lo tengo en la lista del select(), lo que ocurre es que los sockets que quiero añadir a la lista son sockets de conexiones salientes a otros servers, por lo que el socket listener no se entera de estas acciones. > De todos modos, select() es una buena forma de controlar > recursos porque tu programa «no crece» pero no es una buena solución > si necesitas que escale a cientos de clientes. La idea es mezclar los mundos síncrono y asíncrono. Threads para hacer el trabajo duro y select para hacer poll de forma eficiente con sockets no bloqueantes. Digamos que crear un thread por cada conexión es inviable y utilizar un único thread con un select y que este thread se encargue de todo el trabajo de forma secuencial tambien es inviable o por lo menos mas difícil de implementar. Así que he optado por mezclar los dos sistemas. Saludos. From ricardo.cardenes en gmail.com Thu Mar 11 12:04:48 2010 From: ricardo.cardenes en gmail.com (=?ISO-8859-1?Q?Ricardo_C=E1rdenes_Medina?=) Date: Thu, 11 Mar 2010 11:04:48 +0000 Subject: [Python-es] Despertar a "select" In-Reply-To: <4B98C7E1.1000301@diselpro.com> References: <4B98AF1C.8020302@diselpro.com> <325adf7e1003110229m426ed68cs8612a2303061d091@mail.gmail.com> <4B98C7E1.1000301@diselpro.com> Message-ID: <325adf7e1003110304p77b2852ja29941347e4bc777@mail.gmail.com> 2010/3/11 Pepe Aracil : > Conozco este sistema, lo que pasa es que no me termina la idea de hacer un > os.kill a mi propio pid cada vez que quiero despertar a select. Ademas > deberia crear una pipe o algo paracido para pasarselo a set_wakeup_fd() y > como trabajo con threads me es mas comodo escribir directamente en la pipe > que hacer un os.kill. No te hace falta crear recursos nuevos si alguno de los que ya tienes cumple los requisitos de set_wakeup_fd. Y no veo nada de malo en hacer un kill al propio proceso, pero tú verás, es sólo una opción. From pepe en diselpro.com Thu Mar 11 12:11:47 2010 From: pepe en diselpro.com (Pepe Aracil) Date: Thu, 11 Mar 2010 12:11:47 +0100 Subject: [Python-es] Despertar a "select" In-Reply-To: <4B98AF1C.8020302@diselpro.com> References: <4B98AF1C.8020302@diselpro.com> Message-ID: <4B98CFF3.8060600@diselpro.com> Después de googlear un rato, he encontrado esta receta que me va como anillo al dedo. http://code.activestate.com/recipes/498191-waitable-cross-process-threadingevent-class/ Saludos. From aplistas en skarcha.com Thu Mar 11 17:55:51 2010 From: aplistas en skarcha.com (=?ISO-8859-1?Q?Antonio_P=E9rez?=) Date: Thu, 11 Mar 2010 17:55:51 +0100 Subject: [Python-es] Despertar a "select" In-Reply-To: <4B98CFF3.8060600@diselpro.com> References: <4B98AF1C.8020302@diselpro.com> <4B98CFF3.8060600@diselpro.com> Message-ID: <14c581971003110855w4fec39eu2d2cbb62d5eec19@mail.gmail.com> Hola! Gracias por compartirlo Pepe. El tema parece interesante, pero creo que no acabo de pillarlo del todo. ¿En el select.select() de tu thread que tiene la lista de todos los sockets, hay que añadir ahora el devuelto por el método "fileno" de esta clase? Si no es así, ¿podrías explicarlo? Gracias ;) On Thu, Mar 11, 2010 at 12:11 PM, Pepe Aracil wrote: > Después de googlear un rato, he encontrado esta receta que me va como anillo > al > dedo. > > http://code.activestate.com/recipes/498191-waitable-cross-process-threadingevent-class/ > > > Saludos. > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > -- Saludos: Antonio Pérez From pepe en diselpro.com Thu Mar 11 20:12:04 2010 From: pepe en diselpro.com (Pepe Aracil) Date: Thu, 11 Mar 2010 20:12:04 +0100 Subject: [Python-es] Despertar a "select" In-Reply-To: <14c581971003110855w4fec39eu2d2cbb62d5eec19@mail.gmail.com> References: <4B98AF1C.8020302@diselpro.com> <4B98CFF3.8060600@diselpro.com> <14c581971003110855w4fec39eu2d2cbb62d5eec19@mail.gmail.com> Message-ID: <4B994084.9010806@diselpro.com> Antonio Pérez escribió: > Hola! > > Gracias por compartirlo Pepe. El tema parece interesante, pero creo > que no acabo de pillarlo del todo. > > ¿En el select.select() de tu thread que tiene la lista de todos los > sockets, hay que añadir ahora el devuelto por el método "fileno" de > esta clase? > > Si no es así, ¿podrías explicarlo? Gracias ;) > Hola. A la lista de select.select() puedes añadir cualquier objeto que tenga el método fileno(), es decir puedes añadir una instancia de la clase WaitableEvent a la lista. Aunque también funcionaria lo que dices ya que select() también acepta enteros en la lista, los cuales deben hacer referencia a un descriptor valido. Saludos. > On Thu, Mar 11, 2010 at 12:11 PM, Pepe Aracil wrote: > >> Después de googlear un rato, he encontrado esta receta que me va como anillo >> al >> dedo. >> >> http://code.activestate.com/recipes/498191-waitable-cross-process-threadingevent-class/ >> >> >> Saludos. >> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> > > > > From aplistas en skarcha.com Thu Mar 11 23:59:25 2010 From: aplistas en skarcha.com (=?ISO-8859-1?Q?Antonio_P=E9rez?=) Date: Thu, 11 Mar 2010 23:59:25 +0100 Subject: [Python-es] Despertar a "select" In-Reply-To: <4B994084.9010806@diselpro.com> References: <4B98AF1C.8020302@diselpro.com> <4B98CFF3.8060600@diselpro.com> <14c581971003110855w4fec39eu2d2cbb62d5eec19@mail.gmail.com> <4B994084.9010806@diselpro.com> Message-ID: <14c581971003111459m42b1e358of33120ec1558be93@mail.gmail.com> ¡Entendido! Muchas gracias por la aclaración... :) 2010/3/11 Pepe Aracil : > Antonio Pérez escribió: >> >> Hola! >> >> Gracias por compartirlo Pepe. El tema parece interesante, pero creo >> que no acabo de pillarlo del todo. >> >> ¿En el select.select() de tu thread que tiene la lista de todos los >> sockets, hay que añadir ahora el devuelto por el método "fileno" de >> esta clase? >> >> Si no es así, ¿podrías explicarlo? Gracias ;) >> > > Hola. > > A la lista de select.select() puedes añadir cualquier objeto que tenga el > método fileno(), es decir puedes añadir una instancia de la clase > WaitableEvent a la lista. > Aunque también  funcionaria lo que dices  ya que select() también acepta > enteros > en la lista, los cuales deben hacer referencia a un descriptor valido. > > Saludos. > > > > > >> On Thu, Mar 11, 2010 at 12:11 PM, Pepe Aracil wrote: >> >>> >>> Después de googlear un rato, he encontrado esta receta que me va como >>> anillo >>> al >>> dedo. >>> >>> >>> http://code.activestate.com/recipes/498191-waitable-cross-process-threadingevent-class/ >>> >>> >>> Saludos. >>> >>> >>> _______________________________________________ >>> Python-es mailing list >>> Python-es en python.org >>> http://mail.python.org/mailman/listinfo/python-es >>> FAQ: http://python-es-faq.wikidot.com/ >>> >>> >> >> >> >> > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > -- Saludos: Antonio Pérez From jeancarlosr_ve en yahoo.com Fri Mar 12 04:48:40 2010 From: jeancarlosr_ve en yahoo.com (=?iso-8859-1?Q?Jean_Carlos_Rodr=ECguez?=) Date: Thu, 11 Mar 2010 19:48:40 -0800 (PST) Subject: [Python-es] Python y Base de Datos Message-ID: <933544.65094.qm@web53102.mail.re2.yahoo.com> Hola tengo una pregunta de seguridad cuando me voy a conectar a una base de datos realizo un archivo que se llama conectar.py import MySQLdb host = "localhost" user = "usuario" passwd = " 12345" db = "prueba" conn = MySQLdb.connect (host,user, passwd , db) cursor = conn.cursor() Como hago para que mi clave de conexion al servidor mysql sea seguro, es decir asi todos ven la clave de acceso a la base de datos. Python 2.6.2 Ubuntu 9.10 ____________________________________________________________________________________ ¡Obtén la mejor experiencia en la web! Descarga gratis el nuevo Internet Explorer 8. http://downloads.yahoo.com/ieak8/?l=e1 From euribates en gmail.com Fri Mar 12 09:49:45 2010 From: euribates en gmail.com (Juan Ignacio) Date: Fri, 12 Mar 2010 08:49:45 +0000 Subject: [Python-es] Python y Base de Datos In-Reply-To: <933544.65094.qm@web53102.mail.re2.yahoo.com> References: <933544.65094.qm@web53102.mail.re2.yahoo.com> Message-ID: <1ece03ed1003120049w54ae4f83o5650442dec2a43d2@mail.gmail.com> 2010/3/12 Jean Carlos Rodrìguez : > Hola tengo una pregunta de seguridad cuando me voy a conectar a una base de datos realizo un archivo que se llama conectar.py > Como hago para que mi clave de conexion al servidor mysql sea seguro, es decir asi todos ven la clave de acceso a la base de datos. Es una pregunta muy interesante, a mi se me plantea el mismo problema desde hace tiempo. Lo que hago ahora es una chapuza, simplemente para evitar que leyendo el código aparezca la contraseña en claro, la contraseña está codificada en base64 y guardada en un fichero externo. Evidentemente, esta seguridad es nula ante cualquiera con un mínimo de conocimientos, solo evita, como digo, el que se vea en una inspección superficial. Viene a ser como un condón de ganchicho: protege poco, solo te mantiene calentito. :-) -- Juan Ignacio Rodríguez de León Movil: 605 890514 E-Mail: euribates en gmail.com http://elornitorrincoenmascarado.blogspot.com/ http://descon2.com/ From dani en danigm.net Fri Mar 12 10:00:53 2010 From: dani en danigm.net (Daniel Garcia) Date: Fri, 12 Mar 2010 10:00:53 +0100 Subject: [Python-es] Python y Base de Datos In-Reply-To: <1ece03ed1003120049w54ae4f83o5650442dec2a43d2@mail.gmail.com> References: <933544.65094.qm@web53102.mail.re2.yahoo.com> <1ece03ed1003120049w54ae4f83o5650442dec2a43d2@mail.gmail.com> Message-ID: <1268384453.2405.6.camel@tate> El vie, 12-03-2010 a las 08:49 +0000, Juan Ignacio escribió: > 2010/3/12 Jean Carlos Rodrìguez : > > Hola tengo una pregunta de seguridad cuando me voy a conectar a una base de datos realizo un archivo que se llama conectar.py > > Como hago para que mi clave de conexion al servidor mysql sea seguro, es decir asi todos ven la clave de acceso a la base de datos. > > Es una pregunta muy interesante, a mi se me plantea el mismo problema > desde hace tiempo. Lo que hago ahora es una chapuza, simplemente para > evitar que leyendo el código aparezca la contraseña en claro, la > contraseña está codificada en base64 y guardada en un fichero externo. > Evidentemente, esta seguridad es nula ante cualquiera con un mínimo de > conocimientos, solo evita, como digo, el que se vea en una inspección > superficial. Viene a ser como un condón de ganchicho: protege poco, > solo te mantiene calentito. :-) > Si le quitas los permisos de lectura (chmod 600) al fichero que tiene la contraseña, en teoría es seguro menos para root, que todo lo ve, pero eso es inevitable. ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 197 bytes Desc: Esto es una parte de mensaje firmado digitalmente URL: From euribates en gmail.com Fri Mar 12 10:22:48 2010 From: euribates en gmail.com (Juan Ignacio) Date: Fri, 12 Mar 2010 09:22:48 +0000 Subject: [Python-es] Python y Base de Datos In-Reply-To: <1268384453.2405.6.camel@tate> References: <933544.65094.qm@web53102.mail.re2.yahoo.com> <1ece03ed1003120049w54ae4f83o5650442dec2a43d2@mail.gmail.com> <1268384453.2405.6.camel@tate> Message-ID: <1ece03ed1003120122o77c8a9aas2efbc912ba0ee633@mail.gmail.com> 2010/3/12 Daniel Garcia : > > Si le quitas los permisos de lectura (chmod 600) al fichero que tiene la > contraseña, en teoría es seguro menos para root, que todo lo ve, pero > eso es inevitable. Pero, además, el proceso que lee la contraseña también se tendrá que ejecutar con permisos de root, lo que es también bastante peligroso. From fcocuadrado en gmail.com Fri Mar 12 10:26:28 2010 From: fcocuadrado en gmail.com (Francisco Javier Cuadrado) Date: Fri, 12 Mar 2010 10:26:28 +0100 Subject: [Python-es] Python y Base de Datos In-Reply-To: <1ece03ed1003120122o77c8a9aas2efbc912ba0ee633@mail.gmail.com> References: <933544.65094.qm@web53102.mail.re2.yahoo.com> <1ece03ed1003120049w54ae4f83o5650442dec2a43d2@mail.gmail.com> <1268384453.2405.6.camel@tate> <1ece03ed1003120122o77c8a9aas2efbc912ba0ee633@mail.gmail.com> Message-ID: <779d9e921003120126r2869c362m42f61b84ea9cb068@mail.gmail.com> El día 12 de marzo de 2010 10:22, Juan Ignacio escribió: > 2010/3/12 Daniel Garcia : >> >> Si le quitas los permisos de lectura (chmod 600) al fichero que tiene la >> contraseña, en teoría es seguro menos para root, que todo lo ve, pero >> eso es inevitable. > > Pero, además, el proceso que lee la contraseña también se tendrá que > ejecutar con permisos de root, lo que es también bastante peligroso. ¿Ein? Si le das permisos de lectura sólo al usuario que ha creado ese archivo, sólo lo podrá leer el usuario y «root», por lo que se deberá ejecutar o con el usuario de los permisos o «root», no sólo con «root». > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > -- Saludos Fran From euribates en gmail.com Fri Mar 12 10:29:51 2010 From: euribates en gmail.com (Juan Ignacio) Date: Fri, 12 Mar 2010 09:29:51 +0000 Subject: [Python-es] Python y Base de Datos In-Reply-To: <779d9e921003120126r2869c362m42f61b84ea9cb068@mail.gmail.com> References: <933544.65094.qm@web53102.mail.re2.yahoo.com> <1ece03ed1003120049w54ae4f83o5650442dec2a43d2@mail.gmail.com> <1268384453.2405.6.camel@tate> <1ece03ed1003120122o77c8a9aas2efbc912ba0ee633@mail.gmail.com> <779d9e921003120126r2869c362m42f61b84ea9cb068@mail.gmail.com> Message-ID: <1ece03ed1003120129w109d2094nf822a8b7a129a0f1@mail.gmail.com> 2010/3/12 Francisco Javier Cuadrado : > Si le das permisos de lectura sólo al usuario que ha creado ese > archivo, sólo lo podrá leer el usuario y «root», por lo que se deberá > ejecutar o con el usuario de los permisos o «root», no sólo con > «root». Ok, perdona, no te habia entendido, tienes razón :-) De todas formas, el esquema me parece muy flojo, si alguien tiene un sistema mejor estoy muy interesado From joseluistorrehernandez en gmail.com Fri Mar 12 11:01:22 2010 From: joseluistorrehernandez en gmail.com (=?UTF-8?Q?Jos=C3=A9_Luis_Torre_Hern=C3=A1ndez?=) Date: Fri, 12 Mar 2010 11:01:22 +0100 Subject: [Python-es] Python y Base de Datos In-Reply-To: <1ece03ed1003120129w109d2094nf822a8b7a129a0f1@mail.gmail.com> References: <933544.65094.qm@web53102.mail.re2.yahoo.com> <1ece03ed1003120049w54ae4f83o5650442dec2a43d2@mail.gmail.com> <1268384453.2405.6.camel@tate> <1ece03ed1003120122o77c8a9aas2efbc912ba0ee633@mail.gmail.com> <779d9e921003120126r2869c362m42f61b84ea9cb068@mail.gmail.com> <1ece03ed1003120129w109d2094nf822a8b7a129a0f1@mail.gmail.com> Message-ID: <2ecbd5e41003120201g16551d77jefd04ebd0d8712ab@mail.gmail.com> El 12 de marzo de 2010 10:29, Juan Ignacio escribió: > 2010/3/12 Francisco Javier Cuadrado : > > > Si le das permisos de lectura sólo al usuario que ha creado ese > > archivo, sólo lo podrá leer el usuario y «root», por lo que se deberá > > ejecutar o con el usuario de los permisos o «root», no sólo con > > «root». > > Ok, perdona, no te habia entendido, tienes razón :-) > > De todas formas, el esquema me parece muy flojo, si alguien tiene un > sistema mejor estoy muy interesado > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > Además, tendrás que habilitar el set-uid para el proceso que lee el fichero de contraseña (por ej. con #chmod 2710) de manera que el ejecutable tenga acceso al fichero (o en el propio ejecutable realices otras funciones de encriptación) Saludos José Luis ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From listas en soft-com.es Fri Mar 12 11:54:51 2010 From: listas en soft-com.es (=?ISO-8859-1?Q?Oswaldo_Hern=E1ndez?=) Date: Fri, 12 Mar 2010 11:54:51 +0100 Subject: [Python-es] Cadena "a=1 b = 2" a diccionario Message-ID: <4B9A1D7B.2050005@soft-com.es> Hola, Tengo una cadena compuesta por pares de valores relacionados con el signo '=' y separados por espacios, ademas, los valores de cada par pueden ir pegados al signo igual o separados por espacios: "dbname=bd user = usuario host= 192.168.22.5" Quiero convertirla a diccionario de forma que quede: {"dbname":"bd", "user":"usuario", "host":"192.168.22.5"} Lo estoy haciendo de una forma bastante burda: elimino espacios a los lados del signo '=', luego separo los pares con split, ... Me gustaría hacerlo de una forma mas pythonica. Estoy intentando hacerlo con expresiones regulares pero me temo que regex no es mi fuerte :( ¿Sabeis alguna forma pythonica de hacerlo? Gracias. -- Oswaldo Hernández From pyarnau en gmail.com Fri Mar 12 12:03:29 2010 From: pyarnau en gmail.com (Arnau Sanchez) Date: Fri, 12 Mar 2010 12:03:29 +0100 Subject: [Python-es] Cadena "a=1 b = 2" a diccionario In-Reply-To: <4B9A1D7B.2050005@soft-com.es> References: <4B9A1D7B.2050005@soft-com.es> Message-ID: <4B9A1F81.9040003@gmail.com> On 12/03/10 11:54, Oswaldo Hernández wrote: > "dbname=bd user = usuario host= 192.168.22.5" > > Quiero convertirla a diccionario de forma que quede: > {"dbname":"bd", "user":"usuario", "host":"192.168.22.5"} > > Lo estoy haciendo de una forma bastante burda: elimino espacios a los > lados del signo '=', luego separo los pares con split, ... A falta de ver el código, yo diría que es lo suficientemente pythonica. > Me gustaría hacerlo de una forma mas pythonica. Estoy intentando hacerlo > con expresiones regulares pero me temo que regex no es mi fuerte Yo empezaría a jugar con algo así: dict(re.findall("(\S+)\s*=\s*(\S+)", s)) From fran.lucena en gmail.com Fri Mar 12 12:08:28 2010 From: fran.lucena en gmail.com (Fran Lucena) Date: Fri, 12 Mar 2010 12:08:28 +0100 Subject: [Python-es] urllib2 & json Message-ID: <2d428a641003120308r4338fdf2n444be075c471acad@mail.gmail.com> Hola !! Estoy trabajando en un script que se comunica con la API de flickr: ===================================================================== import urllib2 import json api_key = 'api_key' method = 'flickr.photos.search' format = 'json' tags = 'python' url = ' http://api.flickr.com/services/rest/?method=%s&api_key=%s&format=%s&tags=%s' \ % (method,api_key,format,tags) file = urllib2.urlopen(url).read() print file resultDictionary = json.loads(file)['jsonFlickrApi']['photos']['photo'] ====================================================================== Me devuelve el siguiente error en la ultima linea cuando uso json.loads(): Traceback (most recent call last): File "flickr.py", line 16, in resultDictionary = json.loads(file)#['jsonFlickrApi']['photos']['photo'] File "/usr/lib/python2.6/json/__init__.py", line 307, in loads return _default_decoder.decode(s) File "/usr/lib/python2.6/json/decoder.py", line 319, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) File "/usr/lib/python2.6/json/decoder.py", line 338, in raw_decode raise ValueError("No JSON object could be decoded") ValueError: *No JSON object could be decoded * ¿Alguién tiene idea de como solucionar este error? Gracias ! ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From ricardo.cardenes en gmail.com Fri Mar 12 12:14:23 2010 From: ricardo.cardenes en gmail.com (=?ISO-8859-1?Q?Ricardo_C=E1rdenes_Medina?=) Date: Fri, 12 Mar 2010 11:14:23 +0000 Subject: [Python-es] Cadena "a=1 b = 2" a diccionario In-Reply-To: <4B9A1F81.9040003@gmail.com> References: <4B9A1D7B.2050005@soft-com.es> <4B9A1F81.9040003@gmail.com> Message-ID: <325adf7e1003120314o53c5cadav2367103b77a32589@mail.gmail.com> 2010/3/12 Arnau Sanchez : > On 12/03/10 11:54, Oswaldo Hernández wrote: > >> "dbname=bd user = usuario host= 192.168.22.5" >> >> Quiero convertirla a diccionario de forma que quede: >> {"dbname":"bd", "user":"usuario", "host":"192.168.22.5"} >> >> Lo estoy haciendo de una forma bastante burda: elimino espacios a los >> lados del signo '=', luego separo los pares con split, ... > > A falta de ver el código, yo diría que es lo suficientemente pythonica. Ídem. A menos que alguno de los valores contenga espacios en sí mismo, me parece suficiente. Otra cosa es la manera exacta en que lo haga. Por ejemplo: s = "dbname=bd user = usuario host= 192.168.22.5" partes = [] for x in s.split('='): partes.extend(x.split()) d = dict(zip(partes[0::2], partes[1::2])) hace el trabajo correctamente y sin la complicación de las expresiones regulares.. From listas en soft-com.es Fri Mar 12 12:32:49 2010 From: listas en soft-com.es (=?ISO-8859-1?Q?Oswaldo_Hern=E1ndez?=) Date: Fri, 12 Mar 2010 12:32:49 +0100 Subject: [Python-es] Cadena "a=1 b = 2" a diccionario In-Reply-To: <4B9A1F81.9040003@gmail.com> References: <4B9A1D7B.2050005@soft-com.es> <4B9A1F81.9040003@gmail.com> Message-ID: <4B9A2661.3070903@soft-com.es> Arnau Sanchez escribió: > On 12/03/10 11:54, Oswaldo Hernández wrote: > >> "dbname=bd user = usuario host= 192.168.22.5" >> >> Quiero convertirla a diccionario de forma que quede: >> {"dbname":"bd", "user":"usuario", "host":"192.168.22.5"} >> >> Lo estoy haciendo de una forma bastante burda: elimino espacios a los >> lados del signo '=', luego separo los pares con split, ... > > A falta de ver el código, yo diría que es lo suficientemente pythonica. > >> Me gustaría hacerlo de una forma mas pythonica. Estoy intentando hacerlo >> con expresiones regulares pero me temo que regex no es mi fuerte > > Yo empezaría a jugar con algo así: > > dict(re.findall("(\S+)\s*=\s*(\S+)", s)) Funciona perfectamente!!!, Magia!!!, algún dia me tendrás que explicar que significa :) Gracias. -- Oswaldo Hernández From listas en soft-com.es Fri Mar 12 12:37:00 2010 From: listas en soft-com.es (=?ISO-8859-1?Q?Oswaldo_Hern=E1ndez?=) Date: Fri, 12 Mar 2010 12:37:00 +0100 Subject: [Python-es] Cadena "a=1 b = 2" a diccionario In-Reply-To: <325adf7e1003120314o53c5cadav2367103b77a32589@mail.gmail.com> References: <4B9A1D7B.2050005@soft-com.es> <4B9A1F81.9040003@gmail.com> <325adf7e1003120314o53c5cadav2367103b77a32589@mail.gmail.com> Message-ID: <4B9A275C.50705@soft-com.es> Ricardo Cárdenes Medina escribió: > 2010/3/12 Arnau Sanchez : >> On 12/03/10 11:54, Oswaldo Hernández wrote: >> >>> "dbname=bd user = usuario host= 192.168.22.5" >>> >>> Quiero convertirla a diccionario de forma que quede: >>> {"dbname":"bd", "user":"usuario", "host":"192.168.22.5"} >>> >>> Lo estoy haciendo de una forma bastante burda: elimino espacios a los >>> lados del signo '=', luego separo los pares con split, ... >> A falta de ver el código, yo diría que es lo suficientemente pythonica. > > Ídem. A menos que alguno de los valores contenga espacios en sí mismo, > me parece suficiente. Otra cosa es la manera exacta en que lo haga. > Por ejemplo: > > s = "dbname=bd user = usuario host= 192.168.22.5" > partes = [] > for x in s.split('='): > partes.extend(x.split()) > d = dict(zip(partes[0::2], partes[1::2])) > > hace el trabajo correctamente y sin la complicación de las expresiones > regulares.. Si, el codigo es bastante mas pythonico del que habia hecho yo, pero es que lo del regex, aunque no lo termino de pillar, me tiene absolutamente fascinado ;) Gracias. -- Oswaldo Hernández From pyarnau en gmail.com Fri Mar 12 12:43:47 2010 From: pyarnau en gmail.com (Arnau Sanchez) Date: Fri, 12 Mar 2010 12:43:47 +0100 Subject: [Python-es] Cadena "a=1 b = 2" a diccionario In-Reply-To: <4B9A2661.3070903@soft-com.es> References: <4B9A1D7B.2050005@soft-com.es> <4B9A1F81.9040003@gmail.com> <4B9A2661.3070903@soft-com.es> Message-ID: <4B9A28F3.80304@gmail.com> On 12/03/10 12:32, Oswaldo Hernández wrote: >> dict(re.findall("(\S+)\s*=\s*(\S+)", s)) > > Funciona perfectamente!!!, Magia!!!, algún dia me tendrás que explicar > que significa :) Aquí explican muy bien los conjuros para los no iniciados ;-) http://docs.python.org/library/re.html http://www.amk.ca/python/howto/regex/ Hay que decir que éste era de los fáciles (tipo abrir el huevo de cisne en el Loom :-p) arnau From dani en danigm.net Fri Mar 12 12:54:48 2010 From: dani en danigm.net (Daniel Garcia) Date: Fri, 12 Mar 2010 12:54:48 +0100 Subject: [Python-es] Cadena "a=1 b = 2" a diccionario In-Reply-To: <4B9A2661.3070903@soft-com.es> References: <4B9A1D7B.2050005@soft-com.es> <4B9A1F81.9040003@gmail.com> <4B9A2661.3070903@soft-com.es> Message-ID: <1268394888.2405.12.camel@tate> El vie, 12-03-2010 a las 12:32 +0100, Oswaldo Hernández escribió: > Arnau Sanchez escribió: > > On 12/03/10 11:54, Oswaldo Hernández wrote: > > > >> "dbname=bd user = usuario host= 192.168.22.5" > >> > >> Quiero convertirla a diccionario de forma que quede: > >> {"dbname":"bd", "user":"usuario", "host":"192.168.22.5"} > >> > >> Lo estoy haciendo de una forma bastante burda: elimino espacios a los > >> lados del signo '=', luego separo los pares con split, ... > > > > A falta de ver el código, yo diría que es lo suficientemente pythonica. > > > >> Me gustaría hacerlo de una forma mas pythonica. Estoy intentando hacerlo > >> con expresiones regulares pero me temo que regex no es mi fuerte > > > > Yo empezaría a jugar con algo así: > > > > dict(re.findall("(\S+)\s*=\s*(\S+)", s)) > > Funciona perfectamente!!!, Magia!!!, algún dia me tendrás que explicar > que significa :) dict(re.findall("(\S+)\s*=\s*(\S+)", s)) findall te da una lista con todo lo que cumpla una expresión entre parentesis. \s "matchea" con todo lo que sea un espacio (pilla espacios, tabuladores, etc) \S "matchea" con todo lo que no sea un espacio con el + se está indicando que tiene que haber uno o más. Con el * se indica que puede haber cero o más. Si combinamos todo esto, tenemos que las "claves" van a cumplir la primera expresión \S+ que está entre paréntesis y los valores van a cumplir la segunda expresión \S+. No se si lo he explicado bien. Las expresiones regulares son una herramienta muy potente. ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 197 bytes Desc: Esto es una parte de mensaje firmado digitalmente URL: From francisco.palm en gmail.com Fri Mar 12 13:48:52 2010 From: francisco.palm en gmail.com (Francisco Palm) Date: Fri, 12 Mar 2010 08:18:52 -0430 Subject: [Python-es] Cadena "a=1 b = 2" a diccionario In-Reply-To: <4B9A1D7B.2050005@soft-com.es> References: <4B9A1D7B.2050005@soft-com.es> Message-ID: Mis 2 lochas 2010/3/12 Oswaldo Hernández : > Hola, > > Tengo una cadena compuesta por pares de valores relacionados con el signo > '=' y separados por espacios, ademas, los valores de cada par pueden ir > pegados al signo igual o separados por espacios: > >    "dbname=bd user = usuario host= 192.168.22.5" > > Quiero convertirla a diccionario de forma que quede: >    {"dbname":"bd", "user":"usuario", "host":"192.168.22.5"} > > Lo estoy haciendo de una forma bastante burda: elimino espacios a los lados > del signo '=', luego separo los pares con split, ... > > Me gustaría hacerlo de una forma mas pythonica. Estoy intentando hacerlo con > expresiones regulares pero me temo que regex no es mi fuerte :( > > ¿Sabeis alguna forma pythonica de hacerlo? flat = sum([ x.strip().split() for x in "dbname=bd user = usuario host= 192.168.22.5".split("=")], []) # forma alternativa flat = [y for sub in [ x.strip().split() for x in "dbname=bd user = usuario host= 192.168.22.5".split("=")] for y in sub] dict([ (flat[i],flat[j]) for (i,j) in zip(range(0,len(flat),2),range(1,len(flat),2)) ]) En Python 3 con comprensiones de diccionario sería { flat[i] : flat[j] for (i,j) in zip(range(0,len(flat),2),range(1,len(flat),2)) } Saludos F. Palm -- -------------------------------------- fpalm en ula.ve francisco.palm en gmail.com cel: 0414 5109177, 0426 5721730 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. From lasizoillo en gmail.com Fri Mar 12 13:49:03 2010 From: lasizoillo en gmail.com (lasizoillo) Date: Fri, 12 Mar 2010 13:49:03 +0100 Subject: [Python-es] urllib2 & json In-Reply-To: <2d428a641003120308r4338fdf2n444be075c471acad@mail.gmail.com> References: <2d428a641003120308r4338fdf2n444be075c471acad@mail.gmail.com> Message-ID: <49414f571003120449o2b2b19eejf936fdbdab6509d9@mail.gmail.com> 2010/3/12 Fran Lucena : > Hola !! > > Estoy trabajando en un script que se comunica con la API de flickr: > > ===================================================================== > import urllib2 > import json > > api_key = 'api_key' > method  = 'flickr.photos.search' > format = 'json' > tags = 'python' > > url = > 'http://api.flickr.com/services/rest/?method=%s&api_key=%s&format=%s&tags=%s' > \ >     % (method,api_key,format,tags) > > file = urllib2.urlopen(url).read() > > print file > ¿Qué es lo que saca ese printfile? From fran.lucena en gmail.com Fri Mar 12 13:55:49 2010 From: fran.lucena en gmail.com (Fran Lucena) Date: Fri, 12 Mar 2010 13:55:49 +0100 Subject: [Python-es] urllib2 & json In-Reply-To: <49414f571003120449o2b2b19eejf936fdbdab6509d9@mail.gmail.com> References: <2d428a641003120308r4338fdf2n444be075c471acad@mail.gmail.com> <49414f571003120449o2b2b19eejf936fdbdab6509d9@mail.gmail.com> Message-ID: <2d428a641003120455q69645140q4a15126c399e38ed@mail.gmail.com> El resultado de la busqueda (flickr.photos.search) que indico en la variable url. Es simplemente para ver el resultado de la búsqueda. 2010/3/12 lasizoillo > 2010/3/12 Fran Lucena : > > Hola !! > > > > Estoy trabajando en un script que se comunica con la API de flickr: > > > > ===================================================================== > > import urllib2 > > import json > > > > api_key = 'api_key' > > method = 'flickr.photos.search' > > format = 'json' > > tags = 'python' > > > > url = > > ' > http://api.flickr.com/services/rest/?method=%s&api_key=%s&format=%s&tags=%s > ' > > \ > > % (method,api_key,format,tags) > > > > file = urllib2.urlopen(url).read() > > > > print file > > > > ¿Qué es lo que saca ese printfile? > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From marmolro en gmail.com Fri Mar 12 14:15:23 2010 From: marmolro en gmail.com (marmolro) Date: Fri, 12 Mar 2010 14:15:23 +0100 Subject: [Python-es] urllib2 & json In-Reply-To: <2d428a641003120455q69645140q4a15126c399e38ed@mail.gmail.com> References: <2d428a641003120308r4338fdf2n444be075c471acad@mail.gmail.com> <49414f571003120449o2b2b19eejf936fdbdab6509d9@mail.gmail.com> <2d428a641003120455q69645140q4a15126c399e38ed@mail.gmail.com> Message-ID: <3bc86eda1003120515s272db174j902ee9325ffa1391@mail.gmail.com> La pregunta es: ¿Es json lo que saca? a priori suena como error decodificando 2010/3/12 Fran Lucena > El resultado de la busqueda (flickr.photos.search) que indico en la > variable url. Es simplemente para ver el resultado de la búsqueda. > > 2010/3/12 lasizoillo > > 2010/3/12 Fran Lucena : >> > Hola !! >> > >> > Estoy trabajando en un script que se comunica con la API de flickr: >> > >> > ===================================================================== >> > import urllib2 >> > import json >> > >> > api_key = 'api_key' >> > method = 'flickr.photos.search' >> > format = 'json' >> > tags = 'python' >> > >> > url = >> > ' >> http://api.flickr.com/services/rest/?method=%s&api_key=%s&format=%s&tags=%s >> ' >> > \ >> > % (method,api_key,format,tags) >> > >> > file = urllib2.urlopen(url).read() >> > >> > print file >> > >> >> ¿Qué es lo que saca ese printfile? >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From fran.lucena en gmail.com Fri Mar 12 14:18:11 2010 From: fran.lucena en gmail.com (Fran Lucena) Date: Fri, 12 Mar 2010 14:18:11 +0100 Subject: [Python-es] urllib2 & json In-Reply-To: <3bc86eda1003120515s272db174j902ee9325ffa1391@mail.gmail.com> References: <2d428a641003120308r4338fdf2n444be075c471acad@mail.gmail.com> <49414f571003120449o2b2b19eejf936fdbdab6509d9@mail.gmail.com> <2d428a641003120455q69645140q4a15126c399e38ed@mail.gmail.com> <3bc86eda1003120515s272db174j902ee9325ffa1391@mail.gmail.com> Message-ID: <2d428a641003120518q4ac744ebhc0957122748ca33b@mail.gmail.com> Esta es una captura de lo que devuelve... es json El 12 de marzo de 2010 14:15, marmolro escribió: > La pregunta es: ¿Es json lo que saca? a priori suena como error > decodificando > > > 2010/3/12 Fran Lucena > >> El resultado de la busqueda (flickr.photos.search) que indico en la >> variable url. Es simplemente para ver el resultado de la búsqueda. >> >> 2010/3/12 lasizoillo >> >> 2010/3/12 Fran Lucena : >>> > Hola !! >>> > >>> > Estoy trabajando en un script que se comunica con la API de flickr: >>> > >>> > ===================================================================== >>> > import urllib2 >>> > import json >>> > >>> > api_key = 'api_key' >>> > method = 'flickr.photos.search' >>> > format = 'json' >>> > tags = 'python' >>> > >>> > url = >>> > ' >>> http://api.flickr.com/services/rest/?method=%s&api_key=%s&format=%s&tags=%s >>> ' >>> > \ >>> > % (method,api_key,format,tags) >>> > >>> > file = urllib2.urlopen(url).read() >>> > >>> > print file >>> > >>> >>> ¿Qué es lo que saca ese printfile? >>> _______________________________________________ >>> Python-es mailing list >>> Python-es en python.org >>> http://mail.python.org/mailman/listinfo/python-es >>> FAQ: http://python-es-faq.wikidot.com/ >>> >> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: Captura de pantalla1.png Type: image/png Size: 87264 bytes Desc: no disponible URL: From pyarnau en gmail.com Fri Mar 12 14:24:39 2010 From: pyarnau en gmail.com (Arnau Sanchez) Date: Fri, 12 Mar 2010 14:24:39 +0100 Subject: [Python-es] urllib2 & json In-Reply-To: <2d428a641003120518q4ac744ebhc0957122748ca33b@mail.gmail.com> References: <2d428a641003120308r4338fdf2n444be075c471acad@mail.gmail.com> <49414f571003120449o2b2b19eejf936fdbdab6509d9@mail.gmail.com> <2d428a641003120455q69645140q4a15126c399e38ed@mail.gmail.com> <3bc86eda1003120515s272db174j902ee9325ffa1391@mail.gmail.com> <2d428a641003120518q4ac744ebhc0957122748ca33b@mail.gmail.com> Message-ID: <4B9A4097.5000909@gmail.com> On 12/03/10 14:18, Fran Lucena wrote: > Esta es una captura de lo que devuelve Este... ¿se te rompió el copy&paste del sistema operativo? ;-) > es json No lo es, hay una función que hace de wrapper. Leyendo la documentación verás fácilmente cómo quitarla: http://www.flickr.com/services/api/response.json.html "If you just want the raw JSON, with no function wrapper, add the parameter nojsoncallback with a value of 1 to your request." From fran.lucena en gmail.com Fri Mar 12 14:51:52 2010 From: fran.lucena en gmail.com (Fran Lucena) Date: Fri, 12 Mar 2010 14:51:52 +0100 Subject: [Python-es] urllib2 & json In-Reply-To: <4B9A4097.5000909@gmail.com> References: <2d428a641003120308r4338fdf2n444be075c471acad@mail.gmail.com> <49414f571003120449o2b2b19eejf936fdbdab6509d9@mail.gmail.com> <2d428a641003120455q69645140q4a15126c399e38ed@mail.gmail.com> <3bc86eda1003120515s272db174j902ee9325ffa1391@mail.gmail.com> <2d428a641003120518q4ac744ebhc0957122748ca33b@mail.gmail.com> <4B9A4097.5000909@gmail.com> Message-ID: <2d428a641003120551y16047d42v1b63585e0f923470@mail.gmail.com> El 12 de marzo de 2010 14:24, Arnau Sanchez escribió: > On 12/03/10 14:18, Fran Lucena wrote: > > Esta es una captura de lo que devuelve >> > > Este... ¿se te rompió el copy&paste del sistema operativo? ;-) > Jejeje, muy bueno ! :P > > > es json > > No lo es, hay una función que hace de wrapper. Leyendo la documentación > verás fácilmente cómo quitarla: > > http://www.flickr.com/services/api/response.json.html > > "If you just want the raw JSON, with no function wrapper, add the parameter > nojsoncallback with a value of 1 to your request." > > Correcto, problema solucionado. Pues le he dado mil vueltas a la documentación de la API pero siempre sobre el método flickr.photo.seach. No he mirado nada sobre los formatos que devuelve :s Muchas GRACIAS ! > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From listas en rnt.cl Fri Mar 12 17:37:47 2010 From: listas en rnt.cl (Renato Covarrubias) Date: Fri, 12 Mar 2010 13:37:47 -0300 Subject: [Python-es] Python y Base de Datos In-Reply-To: <933544.65094.qm@web53102.mail.re2.yahoo.com> References: <933544.65094.qm@web53102.mail.re2.yahoo.com> Message-ID: <4B9A6DDB.9030103@rnt.cl> El 12/03/10 00:48, Jean Carlos Rodrìguez escribió: > Hola tengo una pregunta de seguridad cuando me voy a conectar a una base de datos realizo un archivo que se llama conectar.py > > import MySQLdb > > host = "localhost" > user = "usuario" > passwd = " 12345" > db = "prueba" > > conn = MySQLdb.connect (host,user, passwd , db) > cursor = conn.cursor() > > Como hago para que mi clave de conexion al servidor mysql sea seguro, es decir asi todos ven la clave de acceso a la base de datos. > > Python 2.6.2 > Ubuntu 9.10 Lo más sencillo, es usar base de datos/usuario/contraseña distintas para producción y para desarrollo. Saludos! -- Renato Covarrubias Romero counter.li.org #399677 listas [at] rnt.cl http://rnt.cl https://fedoraproject.org/wiki/User:Rcovarru From juanmarceloconca en gmail.com Sat Mar 13 19:35:30 2010 From: juanmarceloconca en gmail.com (juan marcelo conca) Date: Sat, 13 Mar 2010 15:35:30 -0300 Subject: [Python-es] Python y Base de Datos In-Reply-To: <4B9A6DDB.9030103@rnt.cl> References: <933544.65094.qm@web53102.mail.re2.yahoo.com> <4B9A6DDB.9030103@rnt.cl> Message-ID: Una pregunta: para qe queres que no se va la contraseña? estas en python y ubuntu.... En donde lo usas? Un saludo. -- Machi Conca. From jeancarlosr_ve en yahoo.com Sun Mar 14 19:46:10 2010 From: jeancarlosr_ve en yahoo.com (=?iso-8859-1?Q?Jean_Carlos_Rodr=ECguez?=) Date: Sun, 14 Mar 2010 11:46:10 -0700 (PDT) Subject: [Python-es] Python y Base de Datos In-Reply-To: Message-ID: <389071.81816.qm@web53101.mail.re2.yahoo.com> Hola el problema es que es una aplicacion, y con el login, passwd y lugar donde se encuentra la base de datos, se pueden meter y modifacar la misma?? es por seguridad --- El sáb, 3/13/10, juan marcelo conca escribió: > De: juan marcelo conca > Asunto: Re: [Python-es] Python y Base de Datos > A: "La lista de python en castellano" > Fecha: sábado, 13 de marzo de 2010, 02:35 pm > Una pregunta: para qe queres que no > se va la contraseña? estas en > python y ubuntu.... > En donde lo usas? > Un saludo. > -- > Machi Conca. > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > ____________________________________________________________________________________ ¡Obtén la mejor experiencia en la web! Descarga gratis el nuevo Internet Explorer 8. http://downloads.yahoo.com/ieak8/?l=e1 From jcaballero.hep en gmail.com Sun Mar 14 20:06:51 2010 From: jcaballero.hep en gmail.com (Jose Caballero) Date: Sun, 14 Mar 2010 14:06:51 -0500 Subject: [Python-es] Python y Base de Datos In-Reply-To: References: <933544.65094.qm@web53102.mail.re2.yahoo.com> <4B9A6DDB.9030103@rnt.cl> Message-ID: Una pregunta: para qe queres que no se va la contraseña? Hay muchas razones para no querer que el login/password esté escrito en el propio código. Hay casos donde el código es "open source" y está disponible a través de la web para tus usuarios, pero eso no significa que quieras que cualquiera encuentre el login/password a tu base de datos a través de google. ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From listas en rnt.cl Sun Mar 14 20:38:57 2010 From: listas en rnt.cl (Renato Covarrubias) Date: Sun, 14 Mar 2010 16:38:57 -0300 Subject: [Python-es] Python y Base de Datos In-Reply-To: References: <933544.65094.qm@web53102.mail.re2.yahoo.com> <4B9A6DDB.9030103@rnt.cl> Message-ID: <4B9D3B51.8030005@rnt.cl> El 14/03/10 16:06, Jose Caballero escribió: > nes para no querer que el login/password esté escrito en el propio código. > Hay casos donde el código es "open source" y está disponible a través de > la web para tus usuarios, pero eso no significa que quieras que > cualquiera encuentre el login/password a tu base de datos a través de > google. Pero es que eso es distinto! El código disponible, debe ser el código base... no el código en producción, con los parámetros de acceso a base de datos usados en el sitio! -- Renato Covarrubias Romero counter.li.org #399677 listas [at] rnt.cl http://rnt.cl https://fedoraproject.org/wiki/User:Rcovarru From jordi.f en ati.es Mon Mar 15 12:26:24 2010 From: jordi.f en ati.es (Jordi Funollet) Date: Mon, 15 Mar 2010 12:26:24 +0100 Subject: [Python-es] Python y Base de Datos In-Reply-To: <2ecbd5e41003120201g16551d77jefd04ebd0d8712ab@mail.gmail.com> References: <933544.65094.qm@web53102.mail.re2.yahoo.com> <1ece03ed1003120129w109d2094nf822a8b7a129a0f1@mail.gmail.com> <2ecbd5e41003120201g16551d77jefd04ebd0d8712ab@mail.gmail.com> Message-ID: <201003151226.24230.jordi.f@ati.es> On Friday 12 March 2010 11:01:22 José Luis Torre Hernández wrote: > Además, tendrás que habilitar el set-uid para el proceso que lee el fichero > de contraseña (por ej. con #chmod 2710) de manera que el ejecutable tenga > acceso al fichero (o en el propio ejecutable realices otras funciones de > encriptación) > El setuid es uno de los inventos más inseguros de Unix. Es equivalente a taponar un agujero de la pared con un cartucho de dinamita. En general, si llegas a un punto en que necesitas usar setuid significa que has planteado las cosas mal un par de niveles más arriba. -- ############################## ### Jordi Funollet ### http://www.terraquis.net From xalabin en gmail.com Mon Mar 15 12:33:48 2010 From: xalabin en gmail.com (=?ISO-8859-1?Q?N=E9stor_Chac=F3n_Manzano?=) Date: Mon, 15 Mar 2010 12:33:48 +0100 Subject: [Python-es] =?iso-8859-1?q?Resumen_de_Python-es=2C_Vol_3=2C_Env?= =?iso-8859-1?q?=EDo_43?= In-Reply-To: References: Message-ID: > Message: 1 > Date: Sun, 14 Mar 2010 11:46:10 -0700 (PDT) > From: Jean Carlos Rodrìguez > > Hola el problema es que es una aplicacion, y con el login, passwd y lugar donde se encuentra la base de datos, se pueden meter y modifacar la misma?? es por seguridad > Lo suyo es que la cadena de conexión la tengas en un fichero de configuración. De esta manera el código se independiza del entorno y puedes controlar la seguridad mediante los permisos que tenga el fichero. Además, si no quieres que se puedan realizar según que operaciones en la BD, usa la gestión de permisos que tiene la propia BD (GRANT, REVOKE...) From jordi.f en ati.es Mon Mar 15 12:41:37 2010 From: jordi.f en ati.es (Jordi Funollet) Date: Mon, 15 Mar 2010 12:41:37 +0100 Subject: [Python-es] Python y Base de Datos In-Reply-To: <933544.65094.qm@web53102.mail.re2.yahoo.com> References: <933544.65094.qm@web53102.mail.re2.yahoo.com> Message-ID: <201003151241.38003.jordi.f@ati.es> On Friday 12 March 2010 04:48:40 Jean Carlos Rodrìguez wrote: > Como hago para que mi clave de conexion al servidor mysql sea seguro, es > decir asi todos ven la clave de acceso a la base de datos. > Depende de a quién te refieras al decir "todos". Separar la configuración del código, como ya te han aconsejado, es lo más elemental. Sin esto no puedes considerar que tu programa puede configurarse. Una vez separado, incluye en el código una configuración de ejemplo y cada usuario podrá generar la configuración que le convenga. Para evitar que otros usuarios del mismo servidor lean ese fichero limita los permisos del mismo: dale permisos de lectura solo al usuario que correrá los scripts (con `chmod 600`). Si es una aplicación web, en Ubuntu generalmente será 'www-data'. Otros scripts corriendo en el mismo servidor web y, por tanto, con el usuario 'www-data', podrían tener acceso a ese fichero. Una forma de evitarlo es correr tus scripts con otro usuario distinto, fuera del servidor web. Con FastCGI es razonablemente fácil, pero a menudo es rizar el rizo. Otra definición de "todos" podría ser usuarios externos a la máquina pero que puedan esnifar los paquetes que van de tu servidor web a tu servidor Mysql (suponiendo que estén en máquinas distintas). En este caso puedes configurar Mysql para tener las conexiones encriptadas. http://dev.mysql.com/doc/refman/5.0/en/secure-connections.html -- ############################## ### Jordi Funollet ### http://www.terraquis.net From pyarnau en gmail.com Mon Mar 15 13:00:24 2010 From: pyarnau en gmail.com (Arnau Sanchez) Date: Mon, 15 Mar 2010 13:00:24 +0100 Subject: [Python-es] Python y Base de Datos In-Reply-To: <201003151226.24230.jordi.f@ati.es> References: <933544.65094.qm@web53102.mail.re2.yahoo.com> <1ece03ed1003120129w109d2094nf822a8b7a129a0f1@mail.gmail.com> <2ecbd5e41003120201g16551d77jefd04ebd0d8712ab@mail.gmail.com> <201003151226.24230.jordi.f@ati.es> Message-ID: <4B9E2158.1080101@gmail.com> On 15/03/10 12:26, Jordi Funollet wrote: > El setuid es uno de los inventos más inseguros de Unix. Es equivalente a > taponar un agujero de la pared con un cartucho de dinamita. +1 QOTW si es que tuviéramos Python-es-URL :-p From pdlopez en uci.cu Mon Mar 15 15:25:39 2010 From: pdlopez en uci.cu (Pavel Daniel Lopez Castillo) Date: Mon, 15 Mar 2010 09:25:39 -0500 (CST) Subject: [Python-es] cubo perfecto In-Reply-To: <733480924.9435071268662828142.JavaMail.root@ucimail1.uci.cu> Message-ID: <590507717.9437671268663139714.JavaMail.root@ucimail1.uci.cu> Necesito una funcion que me permita conocer si un numero es un cubo perfecto ejemplo cubos perfectos: 1,8,27,64 etc... ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From marmolro en gmail.com Mon Mar 15 15:36:23 2010 From: marmolro en gmail.com (marmolro) Date: Mon, 15 Mar 2010 15:36:23 +0100 Subject: [Python-es] cubo perfecto In-Reply-To: <590507717.9437671268663139714.JavaMail.root@ucimail1.uci.cu> References: <733480924.9435071268662828142.JavaMail.root@ucimail1.uci.cu> <590507717.9437671268663139714.JavaMail.root@ucimail1.uci.cu> Message-ID: <3bc86eda1003150736xe72eb69xdef40ef58a2592cf@mail.gmail.com> Buenas, con la función inversa básicamente :) : >>> math.log(27,3).is_integer() True 2010/3/15 Pavel Daniel Lopez Castillo > Necesito una funcion que me permita conocer si un numero es un cubo > perfecto ejemplo > > cubos perfectos: 1,8,27,64 etc... > > > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From marmolro en gmail.com Mon Mar 15 15:38:36 2010 From: marmolro en gmail.com (marmolro) Date: Mon, 15 Mar 2010 15:38:36 +0100 Subject: [Python-es] cubo perfecto In-Reply-To: <3bc86eda1003150736xe72eb69xdef40ef58a2592cf@mail.gmail.com> References: <733480924.9435071268662828142.JavaMail.root@ucimail1.uci.cu> <590507717.9437671268663139714.JavaMail.root@ucimail1.uci.cu> <3bc86eda1003150736xe72eb69xdef40ef58a2592cf@mail.gmail.com> Message-ID: <3bc86eda1003150738g23bb5a6aied8efeae094c1b98@mail.gmail.com> perdón, se me fue la mano je je: math.pow(27,1./3).is_integer() 2010/3/15 marmolro > Buenas, > > con la función inversa básicamente :) : > > >>> math.log(27,3).is_integer() > True > > > 2010/3/15 Pavel Daniel Lopez Castillo > >> Necesito una funcion que me permita conocer si un numero es un cubo >> perfecto ejemplo >> >> cubos perfectos: 1,8,27,64 etc... >> >> >> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From dani en danigm.net Mon Mar 15 15:42:15 2010 From: dani en danigm.net (Daniel Garcia) Date: Mon, 15 Mar 2010 15:42:15 +0100 Subject: [Python-es] cubo perfecto In-Reply-To: <3bc86eda1003150738g23bb5a6aied8efeae094c1b98@mail.gmail.com> References: <733480924.9435071268662828142.JavaMail.root@ucimail1.uci.cu> <590507717.9437671268663139714.JavaMail.root@ucimail1.uci.cu> <3bc86eda1003150736xe72eb69xdef40ef58a2592cf@mail.gmail.com> <3bc86eda1003150738g23bb5a6aied8efeae094c1b98@mail.gmail.com> Message-ID: <1268664135.2466.32.camel@tate> El lun, 15-03-2010 a las 15:38 +0100, marmolro escribió: > perdón, se me fue la mano je je: > > > math.pow(27,1./3).is_integer() > Podría ser verdad, pero la precisión puede dar problemas aquí: >>> math.pow(64,1./3) >>> 3.9999999999999996 > > > > > 2010/3/15 marmolro > Buenas, > > > con la función inversa básicamente :) : > > > >>> math.log(27,3).is_integer() > True > > > 2010/3/15 Pavel Daniel Lopez Castillo > Necesito una funcion que me permita conocer si un > numero es un cubo perfecto ejemplo > > cubos perfectos: 1,8,27,64 etc... > > > > > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > > > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 197 bytes Desc: Esto es una parte de mensaje firmado digitalmente URL: From pdlopez en uci.cu Mon Mar 15 15:52:50 2010 From: pdlopez en uci.cu (Pavel Daniel Lopez Castillo) Date: Mon, 15 Mar 2010 09:52:50 -0500 (CST) Subject: [Python-es] cubo perfecto In-Reply-To: <1312663301.9447781268664505232.JavaMail.root@ucimail1.uci.cu> Message-ID: <632906470.9449891268664770616.JavaMail.root@ucimail1.uci.cu> Exacto ese es el problema que tengo, pero se puede resolver con round(numero ** (1.0 / 3)) pero para 26 por ejempo me da 3 y necesito que sea 2, me hace falta que si es un cubo perfecto me de la raiz exacta pero si no lo es me de la parte entera del flotante raiz cubica de 26 = 2.96249606841 parte entera = 2 ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From marmolro en gmail.com Mon Mar 15 16:00:47 2010 From: marmolro en gmail.com (marmolro) Date: Mon, 15 Mar 2010 16:00:47 +0100 Subject: [Python-es] cubo perfecto In-Reply-To: <632906470.9449891268664770616.JavaMail.root@ucimail1.uci.cu> References: <1312663301.9447781268664505232.JavaMail.root@ucimail1.uci.cu> <632906470.9449891268664770616.JavaMail.root@ucimail1.uci.cu> Message-ID: <3bc86eda1003150800i45640124yaecf72cb7f239c48@mail.gmail.com> Para estos casos yo suelo sustituir el is_integer() por: >>> round(64**(1./3),0) - 64**(1./3) < 10**-15 True El valor de la aproximación ya lo fijas en función de la precisión que quieres. No lo conozco en detalle, pero supongo que se podría dar el caso de "falsos positivos".... ¿alguien conoce una técnica mejor? 2010/3/15 Pavel Daniel Lopez Castillo > Exacto ese es el problema que tengo, pero se puede resolver con > round(numero ** (1.0 / 3)) > > pero para 26 por ejempo me da 3 y necesito que sea 2, me hace falta que si > es un cubo perfecto me de la raiz exacta pero si no lo es me de la parte > entera del flotante > > raiz cubica de 26 = 2.96249606841 parte entera = 2 > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From en_fernandez en yahoo.com.ar Mon Mar 15 16:09:55 2010 From: en_fernandez en yahoo.com.ar (Enrique Fernandez) Date: Mon, 15 Mar 2010 12:09:55 -0300 Subject: [Python-es] cubo perfecto In-Reply-To: <3bc86eda1003150800i45640124yaecf72cb7f239c48@mail.gmail.com> References: <1312663301.9447781268664505232.JavaMail.root@ucimail1.uci.cu> <632906470.9449891268664770616.JavaMail.root@ucimail1.uci.cu> <3bc86eda1003150800i45640124yaecf72cb7f239c48@mail.gmail.com> Message-ID: <4B9E4DC3.5010404@yahoo.com.ar> A mi si hago round(nro**(float(1.0/3.0))) me da como resultado 3 Saludos Enrique marmolro escribió: > Para estos casos yo suelo sustituir el is_integer() por: > > >>> round(64**(1./3),0) - 64**(1./3) < 10**-15 > True > > El valor de la aproximación ya lo fijas en función de la precisión que > quieres. No lo conozco en detalle, pero supongo que se podría dar el > caso de "falsos positivos".... ¿alguien conoce una técnica mejor? > > > > 2010/3/15 Pavel Daniel Lopez Castillo > > > Exacto ese es el problema que tengo, pero se puede resolver con > round(numero ** (1.0 / 3)) > > pero para 26 por ejempo me da 3 y necesito que sea 2, me hace > falta que si es un cubo perfecto me de la raiz exacta pero si no > lo es me de la parte entera del flotante > > raiz cubica de 26 = 2.96249606841 parte entera = 2 > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > > ------------------------------------------------------------------------ > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > From qualopec en gmail.com Mon Mar 15 16:15:09 2010 From: qualopec en gmail.com (Javier Santana) Date: Mon, 15 Mar 2010 16:15:09 +0100 Subject: [Python-es] cubo perfecto In-Reply-To: <590507717.9437671268663139714.JavaMail.root@ucimail1.uci.cu> References: <733480924.9435071268662828142.JavaMail.root@ucimail1.uci.cu> <590507717.9437671268663139714.JavaMail.root@ucimail1.uci.cu> Message-ID: 2010/3/15 Pavel Daniel Lopez Castillo : > Necesito una funcion que me permita conocer si un numero es un cubo perfecto > ejemplo > > cubos perfectos: 1,8,27,64 etc... y por qué no hacerlo a lo animal? cubos_perfectos = dict((x*x*x, x) for x in range(MAX)) if x in cubos_perfectos: print "cubo perfecto" :) > > > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > From dani en danigm.net Mon Mar 15 16:18:14 2010 From: dani en danigm.net (Daniel Garcia) Date: Mon, 15 Mar 2010 16:18:14 +0100 Subject: [Python-es] cubo perfecto In-Reply-To: <3bc86eda1003150800i45640124yaecf72cb7f239c48@mail.gmail.com> References: <1312663301.9447781268664505232.JavaMail.root@ucimail1.uci.cu> <632906470.9449891268664770616.JavaMail.root@ucimail1.uci.cu> <3bc86eda1003150800i45640124yaecf72cb7f239c48@mail.gmail.com> Message-ID: <1268666294.2466.34.camel@tate> El lun, 15-03-2010 a las 16:00 +0100, marmolro escribió: > Para estos casos yo suelo sustituir el is_integer() por: > > > >>> round(64**(1./3),0) - 64**(1./3) < 10**-15 > True > > > El valor de la aproximación ya lo fijas en función de la precisión que > quieres. No lo conozco en detalle, pero supongo que se podría dar el > caso de "falsos positivos".... ¿alguien conoce una técnica mejor? > > Una forma podría ser: (x**(1./3))**3 == x ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 197 bytes Desc: Esto es una parte de mensaje firmado digitalmente URL: From dani en danigm.net Mon Mar 15 16:20:55 2010 From: dani en danigm.net (Daniel Garcia) Date: Mon, 15 Mar 2010 16:20:55 +0100 Subject: [Python-es] cubo perfecto In-Reply-To: <1268666294.2466.34.camel@tate> References: <1312663301.9447781268664505232.JavaMail.root@ucimail1.uci.cu> <632906470.9449891268664770616.JavaMail.root@ucimail1.uci.cu> <3bc86eda1003150800i45640124yaecf72cb7f239c48@mail.gmail.com> <1268666294.2466.34.camel@tate> Message-ID: <1268666455.2466.35.camel@tate> El lun, 15-03-2010 a las 16:18 +0100, Daniel Garcia escribió: > El lun, 15-03-2010 a las 16:00 +0100, marmolro escribió: > > Para estos casos yo suelo sustituir el is_integer() por: > > > > > > >>> round(64**(1./3),0) - 64**(1./3) < 10**-15 > > True > > > > > > El valor de la aproximación ya lo fijas en función de la precisión que > > quieres. No lo conozco en detalle, pero supongo que se podría dar el > > caso de "falsos positivos".... ¿alguien conoce una técnica mejor? > > > > > > Una forma podría ser: > > (x**(1./3))**3 == x Esto no vale para nada, quiero decir, sólo vale para saber que estás teniendo un fallo de precisión. Me he liado entre unas cosas y otras. ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 197 bytes Desc: Esto es una parte de mensaje firmado digitalmente URL: From programador.sistemas en gmail.com Mon Mar 15 16:53:11 2010 From: programador.sistemas en gmail.com (Omar Chumpitaz) Date: Mon, 15 Mar 2010 10:53:11 -0500 Subject: [Python-es] cubo perfecto In-Reply-To: <590507717.9437671268663139714.JavaMail.root@ucimail1.uci.cu> References: <733480924.9435071268662828142.JavaMail.root@ucimail1.uci.cu> <590507717.9437671268663139714.JavaMail.root@ucimail1.uci.cu> Message-ID: <3adaa5e61003150853l3dce382fq8386919764d85b4e@mail.gmail.com> Hola, esta no es la mejor solución pero tal vez te puede servir: import io numero=input("Ingrese un valor:") if numero>1000000000: print "Error: Numero excede los limites permitidos" else: existe=0 for i in range(1,1000): cubo=i*i*i if cubo==numero: existe=1, print "Es cubo" if cubo>numero: break if existe==0: print "No es numero cubo" El 15 de marzo de 2010 09:25, Pavel Daniel Lopez Castillo escribió: > Necesito una funcion que me permita conocer si un numero es un cubo > perfecto ejemplo > > cubos perfectos: 1,8,27,64 etc... > > > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > -- ______________________________ Atte. Omar Chumpitaz H. Gmail: programador.sistemas en gmail.com "La diferencia entre lo ordinario y lo extraordinario esta en el esfuerzo 'extra' que le dedicas a tu objetivo" ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From kikocorreoso en gmail.com Mon Mar 15 16:55:21 2010 From: kikocorreoso en gmail.com (Kiko) Date: Mon, 15 Mar 2010 16:55:21 +0100 Subject: [Python-es] cubo perfecto In-Reply-To: <1268666455.2466.35.camel@tate> References: <1312663301.9447781268664505232.JavaMail.root@ucimail1.uci.cu> <632906470.9449891268664770616.JavaMail.root@ucimail1.uci.cu> <3bc86eda1003150800i45640124yaecf72cb7f239c48@mail.gmail.com> <1268666294.2466.34.camel@tate> <1268666455.2466.35.camel@tate> Message-ID: <1b6058651003150855p36bba690n7e2acbe211439db0@mail.gmail.com> El 15 de marzo de 2010 16:20, Daniel Garcia escribió: > El lun, 15-03-2010 a las 16:18 +0100, Daniel Garcia escribió: > > El lun, 15-03-2010 a las 16:00 +0100, marmolro escribió: > > > Para estos casos yo suelo sustituir el is_integer() por: > > > > > > > > > >>> round(64**(1./3),0) - 64**(1./3) < 10**-15 > > > True > > > > > > > > > El valor de la aproximación ya lo fijas en función de la precisión que > > > quieres. No lo conozco en detalle, pero supongo que se podría dar el > > > caso de "falsos positivos".... ¿alguien conoce una técnica mejor? > > > > > > > > > > Una forma podría ser: > > > > (x**(1./3))**3 == x > > Esto no vale para nada, quiero decir, sólo vale para saber que estás > teniendo un fallo de precisión. Me he liado entre unas cosas y otras. > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > Yo, si hago: int(nro**(1./3)) me da siempre la parte entera del cubo del número, sea un cubo perfecto o no. ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From efren.serrano.alvarez en gmail.com Mon Mar 15 16:03:19 2010 From: efren.serrano.alvarez en gmail.com (=?UTF-8?Q?Efr=C3=A9n_Serrano_=C3=81lvarez?=) Date: Mon, 15 Mar 2010 16:03:19 +0100 Subject: [Python-es] [OT] Oferta de Empleo Message-ID: <16d0bf101003150803h6df9d6a3me4adbfedd55719c6@mail.gmail.com> Buenas tardes: El objetivo de esta oferta es contactar con personas que estén interesadas y tengan disponibilidad para incorporarse al mismo alrededor de Abril. Estamos buscando 4 profesionales para realizar un interesante proyecto en el área del sector transportes. REQUISITOS MINIMOS: - Programación orientada a objetos, patrones de diseño - Conocimientos de HTML/JS, CSS - Conocimientos avanzados de uno o mas motores de DB (MySQL, Postgres, ?) - Conocimientos avanzados de alguno de los siguientes lenguajes : PHP5, Python , 3 años mínimo - Conocimientos de algunas de las siguientes tecnologias : XML, SOAP/REST - Conocimiento de las plataformas Windows y Linux - Experiencia demostrable en desarrollo de aplicaciones web de alguna envergadura. - Capacidad de crear documentacion y planes de test. - Conciencia de los problemas de seguridad de las aplicaciones web REQUISITOS PERSONALES - Persona creativa, multidisciplinar y entusiasta de la tecnología - Persona con alta capacidad de auto-gestion y orientado a objetivos. Si estáis interesados contactarme por email Muchas gracias -- Reciba un cordial saludo, Efrén Serrano Álvarez ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From qualopec en gmail.com Mon Mar 15 17:09:55 2010 From: qualopec en gmail.com (Javier Santana) Date: Mon, 15 Mar 2010 17:09:55 +0100 Subject: [Python-es] [OT] Oferta de Empleo In-Reply-To: <16d0bf101003150803h6df9d6a3me4adbfedd55719c6@mail.gmail.com> References: <16d0bf101003150803h6df9d6a3me4adbfedd55719c6@mail.gmail.com> Message-ID: > Estamos buscando 4 profesionales para realizar un interesante proyecto en el > área del sector transportes. Algo fundamental es saber quien oferta esos puestos y qué ofrece. From kikocorreoso en gmail.com Mon Mar 15 17:13:34 2010 From: kikocorreoso en gmail.com (Kiko) Date: Mon, 15 Mar 2010 17:13:34 +0100 Subject: [Python-es] [OT] Oferta de Empleo In-Reply-To: References: <16d0bf101003150803h6df9d6a3me4adbfedd55719c6@mail.gmail.com> Message-ID: <1b6058651003150913r1adf052dpca2bf65454926b8f@mail.gmail.com> Y donde... El 15 de marzo de 2010 17:09, Javier Santana escribió: > > Estamos buscando 4 profesionales para realizar un interesante proyecto en > el > > área del sector transportes. > > Algo fundamental es saber quien oferta esos puestos y qué ofrece. > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From mlacunza en gmail.com Mon Mar 15 17:45:01 2010 From: mlacunza en gmail.com (Mario Lacunza) Date: Mon, 15 Mar 2010 11:45:01 -0500 Subject: [Python-es] Python y Base de Datos In-Reply-To: <933544.65094.qm@web53102.mail.re2.yahoo.com> References: <933544.65094.qm@web53102.mail.re2.yahoo.com> Message-ID: <4B9E640D.6030702@gmail.com> Hola, No entiendo por que no encryptas la contraseña en otro lado? usa por ejem MD5 u otro similar. Saludos / Best regards Mario Lacunza Email:: mlacunza en gmail.com Personal Website:: http://lacunza.biz/ Hosting:: http://mlv-host.com/ Chat Google Talk: mlacunzav Skype: mlacunzav MSN: mlacunzav en hotmail.com Y! messenger: mlacunzav On 11/03/10 22:48, Jean Carlos Rodrìguez wrote: > Hola tengo una pregunta de seguridad cuando me voy a conectar a una base de datos realizo un archivo que se llama conectar.py > > import MySQLdb > > host = "localhost" > user = "usuario" > passwd = " 12345" > db = "prueba" > > conn = MySQLdb.connect (host,user, passwd , db) > cursor = conn.cursor() > > Como hago para que mi clave de conexion al servidor mysql sea seguro, es decir asi todos ven la clave de acceso a la base de datos. > > Python 2.6.2 > Ubuntu 9.10 > > > > ____________________________________________________________________________________ > ¡Obtén la mejor experiencia en la web! > Descarga gratis el nuevo Internet Explorer 8. > http://downloads.yahoo.com/ieak8/?l=e1 > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: gtalk.png Type: image/png Size: 911 bytes Desc: no disponible URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: skype.png Type: image/png Size: 3590 bytes Desc: no disponible URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: msn.png Type: image/png Size: 969 bytes Desc: no disponible URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: yahoo.png Type: image/png Size: 953 bytes Desc: no disponible URL: From efren.serrano.alvarez en gmail.com Mon Mar 15 17:44:58 2010 From: efren.serrano.alvarez en gmail.com (=?UTF-8?Q?Efr=C3=A9n_Serrano_=C3=81lvarez?=) Date: Mon, 15 Mar 2010 17:44:58 +0100 Subject: [Python-es] [OT] Oferta de Empleo In-Reply-To: <1b6058651003150913r1adf052dpca2bf65454926b8f@mail.gmail.com> References: <16d0bf101003150803h6df9d6a3me4adbfedd55719c6@mail.gmail.com> <1b6058651003150913r1adf052dpca2bf65454926b8f@mail.gmail.com> Message-ID: <16d0bf101003150944r1eb4790cj8b63d9c5f088076e@mail.gmail.com> Hola Kiko y Javier Las condiciones económicas dependen del nivel del profesional, el proyecto se desarrolla en Madrid capital. Al tratarse de un proceso de selección no puedo compartir esa información en la lista abiertamente. Gracias 2010/3/15 Kiko > Y donde... > > El 15 de marzo de 2010 17:09, Javier Santana escribió: > > > Estamos buscando 4 profesionales para realizar un interesante proyecto en >> el >> > área del sector transportes. >> >> Algo fundamental es saber quien oferta esos puestos y qué ofrece. >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > -- Reciba un cordial saludo, Efrén Serrano Álvarez ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From joseluistorrehernandez en gmail.com Mon Mar 15 17:52:33 2010 From: joseluistorrehernandez en gmail.com (=?UTF-8?Q?Jos=C3=A9_Luis_Torre_Hern=C3=A1ndez?=) Date: Mon, 15 Mar 2010 17:52:33 +0100 Subject: [Python-es] cubo perfecto In-Reply-To: <1b6058651003150855p36bba690n7e2acbe211439db0@mail.gmail.com> References: <1312663301.9447781268664505232.JavaMail.root@ucimail1.uci.cu> <632906470.9449891268664770616.JavaMail.root@ucimail1.uci.cu> <3bc86eda1003150800i45640124yaecf72cb7f239c48@mail.gmail.com> <1268666294.2466.34.camel@tate> <1268666455.2466.35.camel@tate> <1b6058651003150855p36bba690n7e2acbe211439db0@mail.gmail.com> Message-ID: <2ecbd5e41003150952v64b0f89cm8a04413c22d9784b@mail.gmail.com> El 15 de marzo de 2010 16:55, Kiko escribió: > El 15 de marzo de 2010 16:20, Daniel Garcia escribió: > >> El lun, 15-03-2010 a las 16:18 +0100, Daniel Garcia escribió: >> > El lun, 15-03-2010 a las 16:00 +0100, marmolro escribió: >> > > Para estos casos yo suelo sustituir el is_integer() por: >> > > >> > > >> > > >>> round(64**(1./3),0) - 64**(1./3) < 10**-15 >> > > True >> > > >> > > >> > > El valor de la aproximación ya lo fijas en función de la precisión que >> > > quieres. No lo conozco en detalle, pero supongo que se podría dar el >> > > caso de "falsos positivos".... ¿alguien conoce una técnica mejor? >> > > >> > > >> > >> > Una forma podría ser: >> > >> > (x**(1./3))**3 == x >> >> Esto no vale para nada, quiero decir, sólo vale para saber que estás >> teniendo un fallo de precisión. Me he liado entre unas cosas y otras. >> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> > Yo, si hago: > > int(nro**(1./3)) me da siempre la parte entera del cubo del número, sea un > cubo perfecto o no. > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > Lo primero que habría que hacer es definir un poco más el problema. Se trata de números enteros o de números reales. Saludos José Luis Torre ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From euribates en gmail.com Mon Mar 15 17:59:18 2010 From: euribates en gmail.com (Juan Ignacio) Date: Mon, 15 Mar 2010 16:59:18 +0000 Subject: [Python-es] cubo perfecto In-Reply-To: <2ecbd5e41003150952v64b0f89cm8a04413c22d9784b@mail.gmail.com> References: <1312663301.9447781268664505232.JavaMail.root@ucimail1.uci.cu> <632906470.9449891268664770616.JavaMail.root@ucimail1.uci.cu> <3bc86eda1003150800i45640124yaecf72cb7f239c48@mail.gmail.com> <1268666294.2466.34.camel@tate> <1268666455.2466.35.camel@tate> <1b6058651003150855p36bba690n7e2acbe211439db0@mail.gmail.com> <2ecbd5e41003150952v64b0f89cm8a04413c22d9784b@mail.gmail.com> Message-ID: <1ece03ed1003150959k2092a2a9mf2c957ff84faca12@mail.gmail.com> > Lo primero que habría que hacer es definir un poco más el problema. > Se trata de números enteros o de números reales. Y también saber si hay algún límite preestablecido. Quizá el módulo Decimal tambien pueda ser de ayuda. > > Saludos > José Luis Torre > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > -- Juan Ignacio Rodríguez de León Movil: 605 890514 E-Mail: euribates en gmail.com http://elornitorrincoenmascarado.blogspot.com/ http://descon2.com/ From pepe en diselpro.com Mon Mar 15 18:01:37 2010 From: pepe en diselpro.com (Pepe Aracil) Date: Mon, 15 Mar 2010 18:01:37 +0100 Subject: [Python-es] cubo perfecto In-Reply-To: <3bc86eda1003150800i45640124yaecf72cb7f239c48@mail.gmail.com> References: <1312663301.9447781268664505232.JavaMail.root@ucimail1.uci.cu> <632906470.9449891268664770616.JavaMail.root@ucimail1.uci.cu> <3bc86eda1003150800i45640124yaecf72cb7f239c48@mail.gmail.com> Message-ID: <4B9E67F1.9080408@diselpro.com> Tambien puedes poner la precision en la llamada a round() >>>round(64**(1./3),5).is_integer() >>>True >>>round(65**(1./3),5).is_integer() >>>False Saludos. marmolro escribió: > Para estos casos yo suelo sustituir el is_integer() por: > > >>> round(64**(1./3),0) - 64**(1./3) < 10**-15 > True > > El valor de la aproximación ya lo fijas en función de la precisión que > quieres. No lo conozco en detalle, pero supongo que se podría dar el > caso de "falsos positivos".... ¿alguien conoce una técnica mejor? > > > > 2010/3/15 Pavel Daniel Lopez Castillo > > > Exacto ese es el problema que tengo, pero se puede resolver con > round(numero ** (1.0 / 3)) > > pero para 26 por ejempo me da 3 y necesito que sea 2, me hace > falta que si es un cubo perfecto me de la raiz exacta pero si no > lo es me de la parte entera del flotante > > raiz cubica de 26 = 2.96249606841 parte entera = 2 > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > > ------------------------------------------------------------------------ > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > From feeds en nimiux.org Mon Mar 15 18:06:18 2010 From: feeds en nimiux.org (Chema Alonso) Date: Mon, 15 Mar 2010 18:06:18 +0100 Subject: [Python-es] cubo perfecto In-Reply-To: <2ecbd5e41003150952v64b0f89cm8a04413c22d9784b@mail.gmail.com> References: <1312663301.9447781268664505232.JavaMail.root@ucimail1.uci.cu> <632906470.9449891268664770616.JavaMail.root@ucimail1.uci.cu> <3bc86eda1003150800i45640124yaecf72cb7f239c48@mail.gmail.com> <1268666294.2466.34.camel@tate> <1268666455.2466.35.camel@tate> <1b6058651003150855p36bba690n7e2acbe211439db0@mail.gmail.com> <2ecbd5e41003150952v64b0f89cm8a04413c22d9784b@mail.gmail.com> Message-ID: <20100315170618.GB17011@muiri> On Mon, Mar 15, 2010 at 05:52:33PM +0100, José Luis Torre Hernández wrote: > El 15 de marzo de 2010 16:55, Kiko escribió: > > > El 15 de marzo de 2010 16:20, Daniel Garcia escribió: > > > >> El lun, 15-03-2010 a las 16:18 +0100, Daniel Garcia escribió: > >> > El lun, 15-03-2010 a las 16:00 +0100, marmolro escribió: > >> > > Para estos casos yo suelo sustituir el is_integer() por: > >> > > > >> > > > >> > > >>> round(64**(1./3),0) - 64**(1./3) < 10**-15 > >> > > True > >> > > > >> > > > >> > > El valor de la aproximación ya lo fijas en función de la precisión que > >> > > quieres. No lo conozco en detalle, pero supongo que se podría dar el > >> > > caso de "falsos positivos".... ¿alguien conoce una técnica mejor? > >> > > > >> > > > >> > > >> > Una forma podría ser: > >> > > >> > (x**(1./3))**3 == x > >> > >> Esto no vale para nada, quiero decir, sólo vale para saber que estás > >> teniendo un fallo de precisión. Me he liado entre unas cosas y otras. > >> > >> > >> _______________________________________________ > >> Python-es mailing list > >> Python-es en python.org > >> http://mail.python.org/mailman/listinfo/python-es > >> FAQ: http://python-es-faq.wikidot.com/ > >> > >> > > Yo, si hago: > > > > int(nro**(1./3)) me da siempre la parte entera del cubo del número, sea un > > cubo perfecto o no. > > > > > > _______________________________________________ > > Python-es mailing list > > Python-es en python.org > > http://mail.python.org/mailman/listinfo/python-es > > FAQ: http://python-es-faq.wikidot.com/ > > > > > Lo primero que habría que hacer es definir un poco más el problema. > Se trata de números enteros o de números reales. > > Saludos > José Luis Torre Mira a ver si te funciona esto: import math l = lambda x: not math.modf(x**(1.0/3))[0] l(8) Saludos. > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ From mlacunza en gmail.com Mon Mar 15 18:25:32 2010 From: mlacunza en gmail.com (Mario Lacunza) Date: Mon, 15 Mar 2010 12:25:32 -0500 Subject: [Python-es] [OT] Oferta de Empleo In-Reply-To: <16d0bf101003150944r1eb4790cj8b63d9c5f088076e@mail.gmail.com> References: <16d0bf101003150803h6df9d6a3me4adbfedd55719c6@mail.gmail.com> <1b6058651003150913r1adf052dpca2bf65454926b8f@mail.gmail.com> <16d0bf101003150944r1eb4790cj8b63d9c5f088076e@mail.gmail.com> Message-ID: <4B9E6D8C.5080208@gmail.com> Hola, es solo para personal que viva en España o tambien aceptan teletrabajo? Si esta ultima opcion me interesaria, a donde se envia el CV? Saludos / Best regards Mario Lacunza Email:: mlacunza en gmail.com Personal Website:: http://lacunza.biz/ Hosting:: http://mlv-host.com/ Chat Google Talk: mlacunzav Skype: mlacunzav MSN: mlacunzav en hotmail.com Y! messenger: mlacunzav On 15/03/10 11:44, Efrén Serrano Álvarez wrote: > Hola Kiko y Javier > > Las condiciones económicas dependen del nivel del profesional, > el proyecto se desarrolla en Madrid capital. > Al tratarse de un proceso de selección no puedo compartir esa > información en la lista abiertamente. > > Gracias > > 2010/3/15 Kiko > > > Y donde... > > El 15 de marzo de 2010 17:09, Javier Santana > escribió: > > > Estamos buscando 4 profesionales para realizar un > interesante proyecto en el > > área del sector transportes. > > Algo fundamental es saber quien oferta esos puestos y qué ofrece. > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > > > > -- > Reciba un cordial saludo, > Efrén Serrano Álvarez > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: gtalk.png Type: image/png Size: 911 bytes Desc: no disponible URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: skype.png Type: image/png Size: 3590 bytes Desc: no disponible URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: msn.png Type: image/png Size: 969 bytes Desc: no disponible URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: yahoo.png Type: image/png Size: 953 bytes Desc: no disponible URL: From fabian.sellesrosa en alum.uca.es Mon Mar 15 18:06:21 2010 From: fabian.sellesrosa en alum.uca.es (=?ISO-8859-1?Q?Fabi=E1n_Sell=E9s_Rosa?=) Date: Mon, 15 Mar 2010 18:06:21 +0100 Subject: [Python-es] cubo perfecto In-Reply-To: <632906470.9449891268664770616.JavaMail.root@ucimail1.uci.cu> References: <632906470.9449891268664770616.JavaMail.root@ucimail1.uci.cu> Message-ID: <4B9E690D.5050205@alum.uca.es> Simplemente moldealo a entero, no entiendo tú problema In [15]: int(math.log(24,3)) Out[15]: 2 In [16]: int(math.log(27,3)) Out[16]: 3 Un saludo From ikarush en gmail.com Mon Mar 15 18:37:11 2010 From: ikarush en gmail.com (=?UTF-8?Q?Daniel_Gonz=C3=A1lez?=) Date: Mon, 15 Mar 2010 18:37:11 +0100 Subject: [Python-es] [OT] Oferta de Empleo In-Reply-To: <16d0bf101003150803h6df9d6a3me4adbfedd55719c6@mail.gmail.com> References: <16d0bf101003150803h6df9d6a3me4adbfedd55719c6@mail.gmail.com> Message-ID: 2010/3/15 Efrén Serrano Álvarez > Buenas tardes: > > El objetivo de esta oferta es contactar con personas que estén interesadas > y tengan disponibilidad para incorporarse al mismo alrededor de Abril. > > Estamos buscando 4 profesionales para realizar un interesante proyecto en > el área del sector transportes. > > REQUISITOS MINIMOS: > > - Programación orientada a objetos, patrones de diseño > - Conocimientos de HTML/JS, CSS > - Conocimientos avanzados de uno o mas motores de DB (MySQL, Postgres, ?) > - Conocimientos avanzados de alguno de los siguientes lenguajes : PHP5, > Python , 3 años mínimo > - Conocimientos de algunas de las siguientes tecnologias : XML, SOAP/REST > - Conocimiento de las plataformas Windows y Linux > - Experiencia demostrable en desarrollo de aplicaciones web de alguna > envergadura. > - Capacidad de crear documentacion y planes de test. > - Conciencia de los problemas de seguridad de las aplicaciones web > > REQUISITOS PERSONALES > > - Persona creativa, multidisciplinar y entusiasta de la tecnología > - Persona con alta capacidad de auto-gestion y orientado a objetivos. > > Si estáis interesados contactarme por email > Muchas gracias > > -- > Reciba un cordial saludo, > Efrén Serrano Álvarez > > > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > -- --------------------------------------------------------- Daniel González Cerviño FreelanceMadrid.es Mail : daniel.gonzalez en freelancemadrid.es Tel (+34) 653 96 50 48 --------------------------------------------------------- ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: daniel_gonzalez_cerviño.pdf Type: application/pdf Size: 70498 bytes Desc: no disponible URL: From pdlopez en uci.cu Mon Mar 15 18:48:53 2010 From: pdlopez en uci.cu (Pavel Daniel Lopez Castillo) Date: Mon, 15 Mar 2010 12:48:53 -0500 (CST) Subject: [Python-es] cubo perfecto In-Reply-To: <4B9E690D.5050205@alum.uca.es> Message-ID: <2125897194.9527851268675333490.JavaMail.root@ucimail1.uci.cu> Título: Suma de cubos Planteamiento Considere el intervalo de los números enteros [a, b] con (1 <= a <= b <= 10^18). Puede usted determinar la suma de todos los cubos perfectos que se encuentran entre a y b incluidos ellos? Descripción de Entrada Un entero T con la cantidad de casos en la primera línea de la entrada. Cada caso consiste en una línea con dos enteros a y b, que representan los extremos del intervalo. Descripción de Salida Una línea por cada caso, con la suma de todos los cubos perfectos comprendidos entre a y b. mod 1000007. Ejemplo de Entrada 3 1 10 27 27 1 1000000000000000000 Ejemplo de Salida 9 27 441 x=raiz_cubica(n) se que la formula (1/4) * x^2 * (x+1)^2 me da la sumatoria de los cubos hasta n este es mi problema ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From efren.serrano.alvarez en gmail.com Mon Mar 15 19:06:43 2010 From: efren.serrano.alvarez en gmail.com (=?UTF-8?Q?Efr=C3=A9n_Serrano_=C3=81lvarez?=) Date: Mon, 15 Mar 2010 19:06:43 +0100 Subject: [Python-es] [OT] Oferta de Empleo In-Reply-To: <4B9E6D8C.5080208@gmail.com> References: <16d0bf101003150803h6df9d6a3me4adbfedd55719c6@mail.gmail.com> <1b6058651003150913r1adf052dpca2bf65454926b8f@mail.gmail.com> <16d0bf101003150944r1eb4790cj8b63d9c5f088076e@mail.gmail.com> <4B9E6D8C.5080208@gmail.com> Message-ID: <16d0bf101003151106u3c74d4f0kf13314aba1ed6691@mail.gmail.com> Hola Mario, El proyecto es presencial por lo que la opción de teletrabajo no es factible. Gracias 2010/3/15 Mario Lacunza > Hola, > > es solo para personal que viva en España o tambien aceptan teletrabajo? Si > esta ultima opcion me interesaria, a donde se envia el CV? > > Saludos / Best regards > > Mario Lacunza > Email:: mlacunza en gmail.com > Personal Website:: http://lacunza.biz/ > Hosting:: http://mlv-host.com/ > Chat [image: Google Talk:] mlacunzav [image: Skype:] mlacunzav [image: > MSN:] mlacunzav en hotmail.com [image: Y! messenger:] mlacunzav > On 15/03/10 11:44, Efrén Serrano Álvarez wrote: > > Hola Kiko y Javier > > Las condiciones económicas dependen del nivel del profesional, > el proyecto se desarrolla en Madrid capital. > Al tratarse de un proceso de selección no puedo compartir esa información > en la lista abiertamente. > > Gracias > > 2010/3/15 Kiko > >> Y donde... >> >> El 15 de marzo de 2010 17:09, Javier Santana escribió: >> >> > Estamos buscando 4 profesionales para realizar un interesante proyecto >>> en el >>> > área del sector transportes. >>> >>> Algo fundamental es saber quien oferta esos puestos y qué ofrece. >>> _______________________________________________ >>> Python-es mailing list >>> Python-es en python.org >>> http://mail.python.org/mailman/listinfo/python-es >>> FAQ: http://python-es-faq.wikidot.com/ >>> >> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> > > > -- > Reciba un cordial saludo, > Efrén Serrano Álvarez > > > _______________________________________________ > Python-es mailing listPython-es en python.orghttp://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > -- Reciba un cordial saludo, Efrén Serrano Álvarez ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: gtalk.png Type: image/png Size: 911 bytes Desc: no disponible URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: msn.png Type: image/png Size: 969 bytes Desc: no disponible URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: yahoo.png Type: image/png Size: 953 bytes Desc: no disponible URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: skype.png Type: image/png Size: 3590 bytes Desc: no disponible URL: From jcaballero.hep en gmail.com Mon Mar 15 19:21:05 2010 From: jcaballero.hep en gmail.com (Jose Caballero) Date: Mon, 15 Mar 2010 14:21:05 -0400 Subject: [Python-es] cubo perfecto In-Reply-To: <2125897194.9527851268675333490.JavaMail.root@ucimail1.uci.cu> References: <4B9E690D.5050205@alum.uca.es> <2125897194.9527851268675333490.JavaMail.root@ucimail1.uci.cu> Message-ID: Este ha sido el típico ejemplo donde una mala o incompleta explicación del problema no ha permitido ayudar correctamente. Nunca está de más leerse de vez en cuando este link http://www.sindominio.net/ayuda/preguntas-inteligentes.html Visto el problema, la solución está planteada en una de las respuestas del hilo. No busques si un número es cubo perfecto o no, calcula todos los cubos en el intervalo. El 15 de marzo de 2010 13:48, Pavel Daniel Lopez Castillo escribió: > *Título:* *Suma de cubos* *Planteamiento* > > > Considere el intervalo de los números enteros [a, b] con (1 <= a <= b <= > 10^18). Puede usted determinar la suma de todos los cubos perfectos que se > encuentran entre a y b incluidos ellos? > > > *Descripción de Entrada* > Un entero T con la cantidad de casos en la primera línea de la entrada. > Cada caso consiste en una línea con dos enteros a y b, que representan los > extremos del intervalo. > > > *Descripción de Salida* > Una línea por cada caso, con la suma de todos los cubos perfectos > comprendidos entre a y b. mod 1000007. > > > *Ejemplo de Entrada* > 3 > 1 10 > 27 27 > 1 1000000000000000000 > > *Ejemplo de Salida* > 9 > 27 > 441 > > x=raiz_cubica(n) > se que la formula (1/4) * x^2 * (x+1)^2 me da la sumatoria de los cubos > hasta n > > este es mi problema > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From marmolro en gmail.com Mon Mar 15 22:04:56 2010 From: marmolro en gmail.com (marmolro) Date: Mon, 15 Mar 2010 22:04:56 +0100 Subject: [Python-es] Python y Base de Datos In-Reply-To: <4B9E640D.6030702@gmail.com> References: <933544.65094.qm@web53102.mail.re2.yahoo.com> <4B9E640D.6030702@gmail.com> Message-ID: <3bc86eda1003151404t55983e99oc5584fc0ed7d2a85@mail.gmail.com> Es la ley del script.... todo lo que hagas con él se puede hacer a mano :) Así que estos cifrados sirven para despistar y poco más... 2010/3/15 Mario Lacunza > Hola, > > No entiendo por que no encryptas la contraseña en otro lado? usa por ejem > MD5 u otro similar. > > > Saludos / Best regards > > Mario Lacunza > Email:: mlacunza en gmail.com > Personal Website:: http://lacunza.biz/ > Hosting:: http://mlv-host.com/ > Chat [image: Google Talk:] mlacunzav [image: Skype:] mlacunzav [image: > MSN:] mlacunzav en hotmail.com [image: Y! messenger:] mlacunzav > On 11/03/10 22:48, Jean Carlos Rodrìguez wrote: > > Hola tengo una pregunta de seguridad cuando me voy a conectar a una base de datos realizo un archivo que se llama conectar.py > > import MySQLdb > > host = "localhost" > user = "usuario" > passwd = " 12345" > db = "prueba" > > conn = MySQLdb.connect (host,user, passwd , db) > cursor = conn.cursor() > > Como hago para que mi clave de conexion al servidor mysql sea seguro, es decir asi todos ven la clave de acceso a la base de datos. > > Python 2.6.2 > Ubuntu 9.10 > > > > ____________________________________________________________________________________ > ¡Obtén la mejor experiencia en la web! > Descarga gratis el nuevo Internet Explorer 8. http://downloads.yahoo.com/ieak8/?l=e1 > _______________________________________________ > Python-es mailing listPython-es en python.orghttp://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: yahoo.png Type: image/png Size: 953 bytes Desc: no disponible URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: msn.png Type: image/png Size: 969 bytes Desc: no disponible URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: skype.png Type: image/png Size: 3590 bytes Desc: no disponible URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: gtalk.png Type: image/png Size: 911 bytes Desc: no disponible URL: From pyarnau en gmail.com Mon Mar 15 22:04:25 2010 From: pyarnau en gmail.com (Arnau Sanchez) Date: Mon, 15 Mar 2010 22:04:25 +0100 Subject: [Python-es] cubo perfecto In-Reply-To: <2125897194.9527851268675333490.JavaMail.root@ucimail1.uci.cu> References: <2125897194.9527851268675333490.JavaMail.root@ucimail1.uci.cu> Message-ID: <4B9EA0D9.6060701@gmail.com> On 15/03/10 18:48, Pavel Daniel Lopez Castillo wrote: > Considere el intervalo de los números enteros [a, b] con (1 <= a <= b <= > 10^18). Puede usted determinar la suma de todos los cubos perfectos que > se encuentran entre a y b incluidos ellos? Como comenta Jose, la falta de datos y contexto ha hecho que la gente fuera dando tumbos. De hecho, y una vez visto el enunciado, la pregunta que hiciste no parece relevante; no necesitas una función que te diga si un número es cubo perfecto o no, sino generar estos cubos, lo cual es mucho más sencillo. Pero aún nos falta contexto, ¿es un problema en el que debes usar fórmulas matemáticas (como comentas, se puede calcular directamente la suma de cubos), o es un ejercicio puramente informático en el que debes iterar a lo bruto? En ambos casos, como esto es claramente es un problema académico, deberías mostrarnos algo de código antes de que podamos seguir ayudándote. arnau From qualopec en gmail.com Mon Mar 15 22:51:56 2010 From: qualopec en gmail.com (Javier Santana) Date: Mon, 15 Mar 2010 22:51:56 +0100 Subject: [Python-es] [OT] Oferta de Empleo In-Reply-To: <16d0bf101003150944r1eb4790cj8b63d9c5f088076e@mail.gmail.com> References: <16d0bf101003150803h6df9d6a3me4adbfedd55719c6@mail.gmail.com> <1b6058651003150913r1adf052dpca2bf65454926b8f@mail.gmail.com> <16d0bf101003150944r1eb4790cj8b63d9c5f088076e@mail.gmail.com> Message-ID: > Al tratarse de un proceso de selección no puedo compartir esa información en > la lista abiertamente. Es de los mejores razonamientos que he visto. En mi opinión es algo fundamental en una oferta de trabajo. Pero bueno, esta lista no está para enseñar a nadie a hacer un proceso de selección o a buscar un buen programador :) From efren.serrano.alvarez en gmail.com Tue Mar 16 07:33:07 2010 From: efren.serrano.alvarez en gmail.com (=?UTF-8?Q?Efr=C3=A9n_Serrano_=C3=81lvarez?=) Date: Tue, 16 Mar 2010 07:33:07 +0100 Subject: [Python-es] [OT] Oferta de Empleo In-Reply-To: References: <16d0bf101003150803h6df9d6a3me4adbfedd55719c6@mail.gmail.com> <1b6058651003150913r1adf052dpca2bf65454926b8f@mail.gmail.com> <16d0bf101003150944r1eb4790cj8b63d9c5f088076e@mail.gmail.com> Message-ID: <16d0bf101003152333l7b04f02cmf18bca09dbac7935@mail.gmail.com> Hola Javier. Como supongo, sabes que los procesos de selección se dividen en fases. Esta es la fase de reclutamiento de candidatos, en la cual, las empresas realizan una selección inicial a través de varias herramientas, como puede ser esta lista de correo, con el objetivo de encontrar candidatos a los que entrevistar. En esa primera entrevista por cuestiones de privacidad entra cliente-empresa la empresa puede o no dar los datos del cliente final, detalle que en este caso a través de una lista de correo no se va a producir. Yo estoy ofreciendo trabajo a la comunidad de programadores en python y considero que las personas que estén interesadas contactarán conmigo como ya lo están haciendo, sin necesidad de darles el nombre del cliente. Da la sensación de que no has participado en muchos procesos de selección :) 2010/3/15 Javier Santana > > Al tratarse de un proceso de selección no puedo compartir esa información > en > > la lista abiertamente. > > Es de los mejores razonamientos que he visto. En mi opinión es algo > fundamental en una oferta de trabajo. Pero bueno, esta lista no está > para enseñar a nadie a hacer un proceso de selección o a buscar un > buen programador :) > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > -- Reciba un cordial saludo, Efrén Serrano Álvarez ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From scots4ever en gmail.com Tue Mar 16 08:22:01 2010 From: scots4ever en gmail.com (Soto) Date: Tue, 16 Mar 2010 08:22:01 +0100 Subject: [Python-es] Python y Base de Datos In-Reply-To: <3bc86eda1003151404t55983e99oc5584fc0ed7d2a85@mail.gmail.com> References: <933544.65094.qm@web53102.mail.re2.yahoo.com> <4B9E640D.6030702@gmail.com> <3bc86eda1003151404t55983e99oc5584fc0ed7d2a85@mail.gmail.com> Message-ID: <10f310251003160022q2eeb1541ka162a6a270dcfc71@mail.gmail.com> Me interesa bastante este tema. Se me planteó este tema y aun no le he dado una solución feaciente. La primera aproximación fué usar con el módulo una opción para la contraseña. El inconveniente de esto es que al usar como comando el programa en un script habrá que dejar la contraseña al descubierto. Alguien comentó por aqui usar mysql para que guardase la contraseña, pero creo que no entendí muy bien la idea puesto que creo que se traslada el problema. Otra opción podría ser encriptar la contraseña en un fichero. Pero hay métodos que te permiten descriptar contraseñas con bastante rapidez como puede ser John the Ripper. http://www.openwall.com/john/ ¿Que otra solución sería posible? __________________________________________________________ "El hombre prudente sólo piensa en sus dificultades cuando ello tiene algún objeto. Cuando no, piensa en otra cosa." Bertrand Russell El 15 de marzo de 2010 22:04, marmolro escribió: > Es la ley del script.... todo lo que hagas con él se puede hacer a mano :) > Así que estos cifrados sirven para despistar y poco más... > > > > 2010/3/15 Mario Lacunza > >> Hola, >> >> >> No entiendo por que no encryptas la contraseña en otro lado? usa por ejem >> MD5 u otro similar. >> >> >> Saludos / Best regards >> >> Mario Lacunza >> Email:: mlacunza en gmail.com >> Personal Website:: http://lacunza.biz/ >> Hosting:: http://mlv-host.com/ >> Chat [image: Google Talk:] mlacunzav [image: Skype:] mlacunzav [image: >> MSN:] mlacunzav en hotmail.com [image: Y! messenger:] mlacunzav >> On 11/03/10 22:48, Jean Carlos Rodrìguez wrote: >> >> Hola tengo una pregunta de seguridad cuando me voy a conectar a una base de datos realizo un archivo que se llama conectar.py >> >> import MySQLdb >> >> host = "localhost" >> user = "usuario" >> passwd = " 12345" >> db = "prueba" >> >> conn = MySQLdb.connect (host,user, passwd , db) >> cursor = conn.cursor() >> >> Como hago para que mi clave de conexion al servidor mysql sea seguro, es decir asi todos ven la clave de acceso a la base de datos. >> >> Python 2.6.2 >> Ubuntu 9.10 >> >> >> >> ____________________________________________________________________________________ >> ¡Obtén la mejor experiencia en la web! >> Descarga gratis el nuevo Internet Explorer 8. http://downloads.yahoo.com/ieak8/?l=e1 >> _______________________________________________ >> Python-es mailing listPython-es en python.orghttp://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: gtalk.png Type: image/png Size: 911 bytes Desc: no disponible URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: yahoo.png Type: image/png Size: 953 bytes Desc: no disponible URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: msn.png Type: image/png Size: 969 bytes Desc: no disponible URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: skype.png Type: image/png Size: 3590 bytes Desc: no disponible URL: From qualopec en gmail.com Tue Mar 16 08:35:18 2010 From: qualopec en gmail.com (Javier Santana) Date: Tue, 16 Mar 2010 08:35:18 +0100 Subject: [Python-es] [OT] Oferta de Empleo In-Reply-To: <16d0bf101003152333l7b04f02cmf18bca09dbac7935@mail.gmail.com> References: <16d0bf101003150803h6df9d6a3me4adbfedd55719c6@mail.gmail.com> <1b6058651003150913r1adf052dpca2bf65454926b8f@mail.gmail.com> <16d0bf101003150944r1eb4790cj8b63d9c5f088076e@mail.gmail.com> <16d0bf101003152333l7b04f02cmf18bca09dbac7935@mail.gmail.com> Message-ID: > Da la sensación de que no has participado en muchos procesos de selección :) Sí, debe ser eso. Desde luego en un proceso de selección donde no tengo referencias de la empresa donde voy a trabajar no he participado ni participaré... y sabiendo que es para "cliente final" mucho menos. Entiendo tu postura Efrén, por desgracia he trabajado en empresas cuyo proceso de selección fue similar, de los errores se aprende. From maengora en gmail.com Tue Mar 16 08:38:37 2010 From: maengora en gmail.com (=?ISO-8859-1?Q?Manuel_Enrique_Gonz=E1lez_Ram=EDrez?=) Date: Tue, 16 Mar 2010 02:38:37 -0500 Subject: [Python-es] Python y Base de Datos In-Reply-To: <10f310251003160022q2eeb1541ka162a6a270dcfc71@mail.gmail.com> References: <933544.65094.qm@web53102.mail.re2.yahoo.com> <4B9E640D.6030702@gmail.com> <3bc86eda1003151404t55983e99oc5584fc0ed7d2a85@mail.gmail.com> <10f310251003160022q2eeb1541ka162a6a270dcfc71@mail.gmail.com> Message-ID: Yo sugeriria que guardes de forma encriptada los datos en un archivo .dll o .cualquiercosa y que luego los leas desde tu script de python El 16 de marzo de 2010 02:22, Soto escribió: > Me interesa bastante este tema. Se me planteó este tema y aun no le he dado > una solución feaciente. > La primera aproximación fué usar con el módulo una opción para la > contraseña. El inconveniente de esto es que al usar como comando el programa > en un script habrá que dejar la contraseña al descubierto. > Alguien comentó por aqui usar mysql para que guardase la contraseña, pero > creo que no entendí muy bien la idea puesto que creo que se traslada el > problema. > Otra opción podría ser encriptar la contraseña en un fichero. Pero hay > métodos que te permiten descriptar contraseñas con bastante rapidez como > puede ser John the Ripper. http://www.openwall.com/john/ > > ¿Que otra solución sería posible? > __________________________________________________________ > > "El hombre prudente sólo piensa en sus dificultades cuando ello tiene algún > objeto. > Cuando no, piensa en otra cosa." > > Bertrand Russell > > > > El 15 de marzo de 2010 22:04, marmolro escribió: > >> Es la ley del script.... todo lo que hagas con él se puede hacer a mano :) >> Así que estos cifrados sirven para despistar y poco más... >> >> >> >> 2010/3/15 Mario Lacunza >> >>> Hola, >>> >>> >>> No entiendo por que no encryptas la contraseña en otro lado? usa por ejem >>> MD5 u otro similar. >>> >>> >>> Saludos / Best regards >>> >>> Mario Lacunza >>> Email:: mlacunza en gmail.com >>> Personal Website:: http://lacunza.biz/ >>> Hosting:: http://mlv-host.com/ >>> Chat [image: Google Talk:] mlacunzav [image: Skype:] mlacunzav [image: >>> MSN:] mlacunzav en hotmail.com [image: Y! messenger:] mlacunzav >>> On 11/03/10 22:48, Jean Carlos Rodrìguez wrote: >>> >>> Hola tengo una pregunta de seguridad cuando me voy a conectar a una base de datos realizo un archivo que se llama conectar.py >>> >>> import MySQLdb >>> >>> host = "localhost" >>> user = "usuario" >>> passwd = " 12345" >>> db = "prueba" >>> >>> conn = MySQLdb.connect (host,user, passwd , db) >>> cursor = conn.cursor() >>> >>> Como hago para que mi clave de conexion al servidor mysql sea seguro, es decir asi todos ven la clave de acceso a la base de datos. >>> >>> Python 2.6.2 >>> Ubuntu 9.10 >>> >>> >>> >>> ____________________________________________________________________________________ >>> ¡Obtén la mejor experiencia en la web! >>> Descarga gratis el nuevo Internet Explorer 8. http://downloads.yahoo.com/ieak8/?l=e1 >>> _______________________________________________ >>> Python-es mailing listPython-es en python.orghttp://mail.python.org/mailman/listinfo/python-es >>> FAQ: http://python-es-faq.wikidot.com/ >>> >>> >>> >>> _______________________________________________ >>> Python-es mailing list >>> Python-es en python.org >>> http://mail.python.org/mailman/listinfo/python-es >>> FAQ: http://python-es-faq.wikidot.com/ >>> >>> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > -- Manuel Enrique González Ramírez http://maengora.blogspot.com ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: msn.png Type: image/png Size: 969 bytes Desc: no disponible URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: skype.png Type: image/png Size: 3590 bytes Desc: no disponible URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: gtalk.png Type: image/png Size: 911 bytes Desc: no disponible URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: yahoo.png Type: image/png Size: 953 bytes Desc: no disponible URL: From scots4ever en gmail.com Tue Mar 16 08:55:58 2010 From: scots4ever en gmail.com (Soto) Date: Tue, 16 Mar 2010 08:55:58 +0100 Subject: [Python-es] Python y Base de Datos In-Reply-To: References: <933544.65094.qm@web53102.mail.re2.yahoo.com> <4B9E640D.6030702@gmail.com> <3bc86eda1003151404t55983e99oc5584fc0ed7d2a85@mail.gmail.com> <10f310251003160022q2eeb1541ka162a6a270dcfc71@mail.gmail.com> Message-ID: <10f310251003160055s53f96086u12c81c54fd03e5f8@mail.gmail.com> ¿Qué ventajas tiene eso? Me refiero a que no entiendo que se soluciona con el uso de un un fichero "oculto" si dentro del código aparecerá el nombre de dicho archivo para cargar la configuración del programa. __________________________________________________________ "La ocasión hay que crearla, no esperar que llegue." Francis Bacón El 16 de marzo de 2010 08:38, Manuel Enrique González Ramírez < maengora en gmail.com> escribió: > Yo sugeriria que guardes de forma encriptada los datos en un archivo .dll o > .cualquiercosa y que luego los leas desde tu script de python > > El 16 de marzo de 2010 02:22, Soto escribió: > > Me interesa bastante este tema. Se me planteó este tema y aun no le he dado >> una solución feaciente. >> La primera aproximación fué usar con el módulo una opción para la >> contraseña. El inconveniente de esto es que al usar como comando el programa >> en un script habrá que dejar la contraseña al descubierto. >> Alguien comentó por aqui usar mysql para que guardase la contraseña, pero >> creo que no entendí muy bien la idea puesto que creo que se traslada el >> problema. >> Otra opción podría ser encriptar la contraseña en un fichero. Pero hay >> métodos que te permiten descriptar contraseñas con bastante rapidez como >> puede ser John the Ripper. http://www.openwall.com/john/ >> >> ¿Que otra solución sería posible? >> __________________________________________________________ >> >> "El hombre prudente sólo piensa en sus dificultades cuando ello tiene >> algún objeto. >> Cuando no, piensa en otra cosa." >> >> Bertrand Russell >> >> >> >> El 15 de marzo de 2010 22:04, marmolro escribió: >> >>> Es la ley del script.... todo lo que hagas con él se puede hacer a mano >>> :) Así que estos cifrados sirven para despistar y poco más... >>> >>> >>> >>> 2010/3/15 Mario Lacunza >>> >>>> Hola, >>>> >>>> >>>> No entiendo por que no encryptas la contraseña en otro lado? usa por >>>> ejem MD5 u otro similar. >>>> >>>> >>>> Saludos / Best regards >>>> >>>> Mario Lacunza >>>> Email:: mlacunza en gmail.com >>>> Personal Website:: http://lacunza.biz/ >>>> Hosting:: http://mlv-host.com/ >>>> Chat [image: Google Talk:] mlacunzav [image: Skype:] mlacunzav [image: >>>> MSN:] mlacunzav en hotmail.com [image: Y! messenger:] mlacunzav >>>> On 11/03/10 22:48, Jean Carlos Rodrìguez wrote: >>>> >>>> Hola tengo una pregunta de seguridad cuando me voy a conectar a una base de datos realizo un archivo que se llama conectar.py >>>> >>>> import MySQLdb >>>> >>>> host = "localhost" >>>> user = "usuario" >>>> passwd = " 12345" >>>> db = "prueba" >>>> >>>> conn = MySQLdb.connect (host,user, passwd , db) >>>> cursor = conn.cursor() >>>> >>>> Como hago para que mi clave de conexion al servidor mysql sea seguro, es decir asi todos ven la clave de acceso a la base de datos. >>>> >>>> Python 2.6.2 >>>> Ubuntu 9.10 >>>> >>>> >>>> >>>> ____________________________________________________________________________________ >>>> ¡Obtén la mejor experiencia en la web! >>>> Descarga gratis el nuevo Internet Explorer 8. http://downloads.yahoo.com/ieak8/?l=e1 >>>> _______________________________________________ >>>> Python-es mailing listPython-es en python.orghttp://mail.python.org/mailman/listinfo/python-es >>>> FAQ: http://python-es-faq.wikidot.com/ >>>> >>>> >>>> >>>> _______________________________________________ >>>> Python-es mailing list >>>> Python-es en python.org >>>> http://mail.python.org/mailman/listinfo/python-es >>>> FAQ: http://python-es-faq.wikidot.com/ >>>> >>>> >>> >>> _______________________________________________ >>> Python-es mailing list >>> Python-es en python.org >>> http://mail.python.org/mailman/listinfo/python-es >>> FAQ: http://python-es-faq.wikidot.com/ >>> >>> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> > > > -- > Manuel Enrique González Ramírez > http://maengora.blogspot.com > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: yahoo.png Type: image/png Size: 953 bytes Desc: no disponible URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: msn.png Type: image/png Size: 969 bytes Desc: no disponible URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: skype.png Type: image/png Size: 3590 bytes Desc: no disponible URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: gtalk.png Type: image/png Size: 911 bytes Desc: no disponible URL: From maengora en gmail.com Tue Mar 16 09:13:33 2010 From: maengora en gmail.com (=?ISO-8859-1?Q?Manuel_Enrique_Gonz=E1lez_Ram=EDrez?=) Date: Tue, 16 Mar 2010 03:13:33 -0500 Subject: [Python-es] Python y Base de Datos In-Reply-To: <10f310251003160055s53f96086u12c81c54fd03e5f8@mail.gmail.com> References: <933544.65094.qm@web53102.mail.re2.yahoo.com> <4B9E640D.6030702@gmail.com> <3bc86eda1003151404t55983e99oc5584fc0ed7d2a85@mail.gmail.com> <10f310251003160022q2eeb1541ka162a6a270dcfc71@mail.gmail.com> <10f310251003160055s53f96086u12c81c54fd03e5f8@mail.gmail.com> Message-ID: mmm, tenes razón...... en ese caso podrías usar la conexión a mysql sin clave de root y para acceder a tu programa encriptar la clave dentro de una tabla de tu base de datos que será consultada por tu programa para dar permiso a tus forms/modulos/etc. El 16 de marzo de 2010 02:55, Soto escribió: > ¿Qué ventajas tiene eso? Me refiero a que no entiendo que se soluciona con > el uso de un un fichero "oculto" si dentro del código aparecerá el nombre de > dicho archivo para cargar la configuración del programa. > __________________________________________________________ > > "La ocasión hay que crearla, no esperar que llegue." > Francis Bacón > > > > > El 16 de marzo de 2010 08:38, Manuel Enrique González Ramírez < > maengora en gmail.com> escribió: > > Yo sugeriria que guardes de forma encriptada los datos en un archivo .dll o >> .cualquiercosa y que luego los leas desde tu script de python >> >> El 16 de marzo de 2010 02:22, Soto escribió: >> >> Me interesa bastante este tema. Se me planteó este tema y aun no le he >>> dado una solución feaciente. >>> La primera aproximación fué usar con el módulo una opción para la >>> contraseña. El inconveniente de esto es que al usar como comando el programa >>> en un script habrá que dejar la contraseña al descubierto. >>> Alguien comentó por aqui usar mysql para que guardase la contraseña, pero >>> creo que no entendí muy bien la idea puesto que creo que se traslada el >>> problema. >>> Otra opción podría ser encriptar la contraseña en un fichero. Pero hay >>> métodos que te permiten descriptar contraseñas con bastante rapidez como >>> puede ser John the Ripper. http://www.openwall.com/john/ >>> >>> ¿Que otra solución sería posible? >>> __________________________________________________________ >>> >>> "El hombre prudente sólo piensa en sus dificultades cuando ello tiene >>> algún objeto. >>> Cuando no, piensa en otra cosa." >>> >>> Bertrand Russell >>> >>> >>> >>> El 15 de marzo de 2010 22:04, marmolro escribió: >>> >>>> Es la ley del script.... todo lo que hagas con él se puede hacer a mano >>>> :) Así que estos cifrados sirven para despistar y poco más... >>>> >>>> >>>> >>>> 2010/3/15 Mario Lacunza >>>> >>>>> Hola, >>>>> >>>>> >>>>> No entiendo por que no encryptas la contraseña en otro lado? usa por >>>>> ejem MD5 u otro similar. >>>>> >>>>> >>>>> Saludos / Best regards >>>>> >>>>> Mario Lacunza >>>>> Email:: mlacunza en gmail.com >>>>> Personal Website:: http://lacunza.biz/ >>>>> Hosting:: http://mlv-host.com/ >>>>> Chat [image: Google Talk:] mlacunzav [image: Skype:] mlacunzav [image: >>>>> MSN:] mlacunzav en hotmail.com [image: Y! messenger:] mlacunzav >>>>> On 11/03/10 22:48, Jean Carlos Rodrìguez wrote: >>>>> >>>>> Hola tengo una pregunta de seguridad cuando me voy a conectar a una base de datos realizo un archivo que se llama conectar.py >>>>> >>>>> import MySQLdb >>>>> >>>>> host = "localhost" >>>>> user = "usuario" >>>>> passwd = " 12345" >>>>> db = "prueba" >>>>> >>>>> conn = MySQLdb.connect (host,user, passwd , db) >>>>> cursor = conn.cursor() >>>>> >>>>> Como hago para que mi clave de conexion al servidor mysql sea seguro, es decir asi todos ven la clave de acceso a la base de datos. >>>>> >>>>> Python 2.6.2 >>>>> Ubuntu 9.10 >>>>> >>>>> >>>>> >>>>> ____________________________________________________________________________________ >>>>> ¡Obtén la mejor experiencia en la web! >>>>> Descarga gratis el nuevo Internet Explorer 8. http://downloads.yahoo.com/ieak8/?l=e1 >>>>> _______________________________________________ >>>>> Python-es mailing listPython-es en python.orghttp://mail.python.org/mailman/listinfo/python-es >>>>> FAQ: http://python-es-faq.wikidot.com/ >>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> Python-es mailing list >>>>> Python-es en python.org >>>>> http://mail.python.org/mailman/listinfo/python-es >>>>> FAQ: http://python-es-faq.wikidot.com/ >>>>> >>>>> >>>> >>>> _______________________________________________ >>>> Python-es mailing list >>>> Python-es en python.org >>>> http://mail.python.org/mailman/listinfo/python-es >>>> FAQ: http://python-es-faq.wikidot.com/ >>>> >>>> >>> >>> _______________________________________________ >>> Python-es mailing list >>> Python-es en python.org >>> http://mail.python.org/mailman/listinfo/python-es >>> FAQ: http://python-es-faq.wikidot.com/ >>> >>> >> >> >> -- >> Manuel Enrique González Ramírez >> http://maengora.blogspot.com >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > -- Manuel Enrique González Ramírez http://maengora.blogspot.com ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: yahoo.png Type: image/png Size: 953 bytes Desc: no disponible URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: msn.png Type: image/png Size: 969 bytes Desc: no disponible URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: skype.png Type: image/png Size: 3590 bytes Desc: no disponible URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: gtalk.png Type: image/png Size: 911 bytes Desc: no disponible URL: From scots4ever en gmail.com Tue Mar 16 09:45:58 2010 From: scots4ever en gmail.com (Soto) Date: Tue, 16 Mar 2010 09:45:58 +0100 Subject: [Python-es] Python y Base de Datos In-Reply-To: References: <933544.65094.qm@web53102.mail.re2.yahoo.com> <4B9E640D.6030702@gmail.com> <3bc86eda1003151404t55983e99oc5584fc0ed7d2a85@mail.gmail.com> <10f310251003160022q2eeb1541ka162a6a270dcfc71@mail.gmail.com> <10f310251003160055s53f96086u12c81c54fd03e5f8@mail.gmail.com> Message-ID: <10f310251003160145l3c6635c4r613c061293758349@mail.gmail.com> No creo que sea una buena idea dejar al usuario de mysql root sin clave. Tienes que tener en cuenta que el usuario con el que se accede a mysql no tiene nada que ver con el usuario del sistema root. También me planteé esa posibilidad y llegué a un nuevo callejón sin salida. Es que si se deja un usuario de mysql sin clave es un agujero de seguridad bastante grande. ¿Más ideas? __________________________________________________________ "La ocasión hay que crearla, no esperar que llegue." Francis Bacón El 16 de marzo de 2010 09:13, Manuel Enrique González Ramírez < maengora en gmail.com> escribió: > mmm, tenes razón...... en ese caso podrías usar la conexión a mysql sin > clave de root y para acceder a tu programa encriptar la clave dentro de una > tabla de tu base de datos que será consultada por tu programa para dar > permiso a tus forms/modulos/etc. > > El 16 de marzo de 2010 02:55, Soto escribió: > > ¿Qué ventajas tiene eso? Me refiero a que no entiendo que se soluciona con >> el uso de un un fichero "oculto" si dentro del código aparecerá el nombre de >> dicho archivo para cargar la configuración del programa. >> __________________________________________________________ >> >> "La ocasión hay que crearla, no esperar que llegue." >> Francis Bacón >> >> >> >> >> El 16 de marzo de 2010 08:38, Manuel Enrique González Ramírez < >> maengora en gmail.com> escribió: >> >> Yo sugeriria que guardes de forma encriptada los datos en un archivo .dll >>> o .cualquiercosa y que luego los leas desde tu script de python >>> >>> El 16 de marzo de 2010 02:22, Soto escribió: >>> >>> Me interesa bastante este tema. Se me planteó este tema y aun no le he >>>> dado una solución feaciente. >>>> La primera aproximación fué usar con el módulo una opción para la >>>> contraseña. El inconveniente de esto es que al usar como comando el programa >>>> en un script habrá que dejar la contraseña al descubierto. >>>> Alguien comentó por aqui usar mysql para que guardase la contraseña, >>>> pero creo que no entendí muy bien la idea puesto que creo que se traslada el >>>> problema. >>>> Otra opción podría ser encriptar la contraseña en un fichero. Pero hay >>>> métodos que te permiten descriptar contraseñas con bastante rapidez como >>>> puede ser John the Ripper. http://www.openwall.com/john/ >>>> >>>> ¿Que otra solución sería posible? >>>> __________________________________________________________ >>>> >>>> "El hombre prudente sólo piensa en sus dificultades cuando ello tiene >>>> algún objeto. >>>> Cuando no, piensa en otra cosa." >>>> >>>> Bertrand Russell >>>> >>>> >>>> >>>> El 15 de marzo de 2010 22:04, marmolro escribió: >>>> >>>>> Es la ley del script.... todo lo que hagas con él se puede hacer a mano >>>>> :) Así que estos cifrados sirven para despistar y poco más... >>>>> >>>>> >>>>> >>>>> 2010/3/15 Mario Lacunza >>>>> >>>>>> Hola, >>>>>> >>>>>> >>>>>> No entiendo por que no encryptas la contraseña en otro lado? usa por >>>>>> ejem MD5 u otro similar. >>>>>> >>>>>> >>>>>> Saludos / Best regards >>>>>> >>>>>> Mario Lacunza >>>>>> Email:: mlacunza en gmail.com >>>>>> Personal Website:: http://lacunza.biz/ >>>>>> Hosting:: http://mlv-host.com/ >>>>>> Chat [image: Google Talk:] mlacunzav [image: Skype:] mlacunzav [image: >>>>>> MSN:] mlacunzav en hotmail.com [image: Y! messenger:] mlacunzav >>>>>> On 11/03/10 22:48, Jean Carlos Rodrìguez wrote: >>>>>> >>>>>> Hola tengo una pregunta de seguridad cuando me voy a conectar a una base de datos realizo un archivo que se llama conectar.py >>>>>> >>>>>> import MySQLdb >>>>>> >>>>>> host = "localhost" >>>>>> user = "usuario" >>>>>> passwd = " 12345" >>>>>> db = "prueba" >>>>>> >>>>>> conn = MySQLdb.connect (host,user, passwd , db) >>>>>> cursor = conn.cursor() >>>>>> >>>>>> Como hago para que mi clave de conexion al servidor mysql sea seguro, es decir asi todos ven la clave de acceso a la base de datos. >>>>>> >>>>>> Python 2.6.2 >>>>>> Ubuntu 9.10 >>>>>> >>>>>> >>>>>> >>>>>> ____________________________________________________________________________________ >>>>>> ¡Obtén la mejor experiencia en la web! >>>>>> Descarga gratis el nuevo Internet Explorer 8. http://downloads.yahoo.com/ieak8/?l=e1 >>>>>> _______________________________________________ >>>>>> Python-es mailing listPython-es en python.orghttp://mail.python.org/mailman/listinfo/python-es >>>>>> FAQ: http://python-es-faq.wikidot.com/ >>>>>> >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> Python-es mailing list >>>>>> Python-es en python.org >>>>>> http://mail.python.org/mailman/listinfo/python-es >>>>>> FAQ: http://python-es-faq.wikidot.com/ >>>>>> >>>>>> >>>>> >>>>> _______________________________________________ >>>>> Python-es mailing list >>>>> Python-es en python.org >>>>> http://mail.python.org/mailman/listinfo/python-es >>>>> FAQ: http://python-es-faq.wikidot.com/ >>>>> >>>>> >>>> >>>> _______________________________________________ >>>> Python-es mailing list >>>> Python-es en python.org >>>> http://mail.python.org/mailman/listinfo/python-es >>>> FAQ: http://python-es-faq.wikidot.com/ >>>> >>>> >>> >>> >>> -- >>> Manuel Enrique González Ramírez >>> http://maengora.blogspot.com >>> >>> _______________________________________________ >>> Python-es mailing list >>> Python-es en python.org >>> http://mail.python.org/mailman/listinfo/python-es >>> FAQ: http://python-es-faq.wikidot.com/ >>> >>> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> > > > -- > Manuel Enrique González Ramírez > http://maengora.blogspot.com > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: skype.png Type: image/png Size: 3590 bytes Desc: no disponible URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: gtalk.png Type: image/png Size: 911 bytes Desc: no disponible URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: msn.png Type: image/png Size: 969 bytes Desc: no disponible URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: yahoo.png Type: image/png Size: 953 bytes Desc: no disponible URL: From lasizoillo en gmail.com Tue Mar 16 11:35:01 2010 From: lasizoillo en gmail.com (lasizoillo) Date: Tue, 16 Mar 2010 11:35:01 +0100 Subject: [Python-es] Python y Base de Datos In-Reply-To: <10f310251003160022q2eeb1541ka162a6a270dcfc71@mail.gmail.com> References: <933544.65094.qm@web53102.mail.re2.yahoo.com> <4B9E640D.6030702@gmail.com> <3bc86eda1003151404t55983e99oc5584fc0ed7d2a85@mail.gmail.com> <10f310251003160022q2eeb1541ka162a6a270dcfc71@mail.gmail.com> Message-ID: <49414f571003160335u102f2bccrf5aad03d4503160d@mail.gmail.com> El 16 de marzo de 2010 08:22, Soto escribió: > > Otra opción podría ser encriptar la contraseña en un fichero. Pero hay > métodos que te permiten descriptar contraseñas con bastante rapidez como > puede ser John the Ripper. http://www.openwall.com/john/ > > > Si hay métodos para descifrar contraseñas con bastante rapidez cambia de algoritmo de cifrado. El problema no es la calidad del algoritmo de cifrado. Si puedes almacenar la contraseña de descifrado de forma segura, puedes almacenar la contraseña del mysql de forma segura. Si no puedes almacenar la contraseña del mysql de forma segura, olvidate de métodos que requieran contraseña como un algoritmo de cifrado/descifrado. Si no puedes usar permisos para securizar el fichero con las claves quedan algunas opciones (basadas en pasar el marron a otros sistemas): * Usar un anillo de claves http://pypi.python.org/pypi/keyring * Tratar de kerberizar tu servicio. No se hasta que punto se puede kerberizar mysql o tu script. Seguro que hay muchas más opciones. Pero a mi la de controlar los permisos donde estan los ficheros con las passwords me funciona bastante bien ;-) Un saludo: Javi ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From makiolo en gmail.com Tue Mar 16 12:02:16 2010 From: makiolo en gmail.com (=?ISO-8859-1?Q?Ricardo_M=2E_Garc=EDa?=) Date: Tue, 16 Mar 2010 12:02:16 +0100 Subject: [Python-es] Python y Base de Datos In-Reply-To: <49414f571003160335u102f2bccrf5aad03d4503160d@mail.gmail.com> References: <933544.65094.qm@web53102.mail.re2.yahoo.com> <4B9E640D.6030702@gmail.com> <3bc86eda1003151404t55983e99oc5584fc0ed7d2a85@mail.gmail.com> <10f310251003160022q2eeb1541ka162a6a270dcfc71@mail.gmail.com> <49414f571003160335u102f2bccrf5aad03d4503160d@mail.gmail.com> Message-ID: Hazte tus propias funciones de cifrado y descifrado. Para despistar un poco más, pon como nombre de función: encodeBase64 y decodeBase64. Cualquiera avispado te va a encontrar estas funciones y comprender el algortimo de cifrado simétrico, y ver que realmente no es base 64. Pero como todo en seguridad, te puede proteger de un x%, evidentemente no tan efectivo como la clave asimétrica o cosas así xD. Es muy fácil hacerte tu propia función de cifrado simétrico con la operación booleana XOR. Gracias a este propiedad: a XOR b = c c XOR b = a Donde: a=mensaje desencriptado b=clave simétrica, conocidos por los 2 c=hash o mensaje encriptado Por cierto, llevo más de 1 año suscrito a la lista, y es la primera vez que escribo xD HOLA xD Un saludo. El 16 de marzo de 2010 11:35, lasizoillo escribió: > > > El 16 de marzo de 2010 08:22, Soto escribió: > > >> Otra opción podría ser encriptar la contraseña en un fichero. Pero hay >> métodos que te permiten descriptar contraseñas con bastante rapidez como >> puede ser John the Ripper. http://www.openwall.com/john/ >> >> >> > Si hay métodos para descifrar contraseñas con bastante rapidez cambia de > algoritmo de cifrado. El problema no es la calidad del algoritmo de cifrado. > Si puedes almacenar la contraseña de descifrado de forma segura, puedes > almacenar la contraseña del mysql de forma segura. Si no puedes almacenar la > contraseña del mysql de forma segura, olvidate de métodos que requieran > contraseña como un algoritmo de cifrado/descifrado. > > Si no puedes usar permisos para securizar el fichero con las claves quedan > algunas opciones (basadas en pasar el marron a otros sistemas): > * Usar un anillo de claves http://pypi.python.org/pypi/keyring > * Tratar de kerberizar tu servicio. No se hasta que punto se puede > kerberizar mysql o tu script. > > Seguro que hay muchas más opciones. Pero a mi la de controlar los permisos > donde estan los ficheros con las passwords me funciona bastante bien ;-) > > Un saludo: > > Javi > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From hfoffani en gmail.com Tue Mar 16 12:03:47 2010 From: hfoffani en gmail.com (Hernan M Foffani) Date: Tue, 16 Mar 2010 12:03:47 +0100 Subject: [Python-es] Python y Base de Datos In-Reply-To: <49414f571003160335u102f2bccrf5aad03d4503160d@mail.gmail.com> References: <933544.65094.qm@web53102.mail.re2.yahoo.com> <4B9E640D.6030702@gmail.com> <3bc86eda1003151404t55983e99oc5584fc0ed7d2a85@mail.gmail.com> <10f310251003160022q2eeb1541ka162a6a270dcfc71@mail.gmail.com> <49414f571003160335u102f2bccrf5aad03d4503160d@mail.gmail.com> Message-ID: <11fab4bc1003160403x61f18c1dh9a06c206e69c28e@mail.gmail.com> 2010/3/16 lasizoillo > > > El 16 de marzo de 2010 08:22, Soto escribió: > > >> Otra opción podría ser encriptar la contraseña en un fichero. Pero hay >> métodos que te permiten descriptar contraseñas con bastante rapidez como >> puede ser John the Ripper. http://www.openwall.com/john/ >> >> >> > Si hay métodos para descifrar contraseñas con bastante rapidez cambia de > algoritmo de cifrado. El problema no es la calidad del algoritmo de cifrado. > Si puedes almacenar la contraseña de descifrado de forma segura, puedes > almacenar la contraseña del mysql de forma segura. Si no puedes almacenar la > contraseña del mysql de forma segura, olvidate de métodos que requieran > contraseña como un algoritmo de cifrado/descifrado. > > Si no puedes usar permisos para securizar el fichero con las claves quedan > algunas opciones (basadas en pasar el marron a otros sistemas): > * Usar un anillo de claves http://pypi.python.org/pypi/keyring > * Tratar de kerberizar tu servicio. No se hasta que punto se puede > kerberizar mysql o tu script. > > Seguro que hay muchas más opciones. Pero a mi la de controlar los permisos > donde estan los ficheros con las passwords me funciona bastante bien ;-) > Exacto. El otro gran problema es lo difícil hacer entender estos argumentos. Cuando las discusiones se tornan interminables e improductivas, antes de perder la paciencia termino por aplicar una codificación trivial a la clave, por ejemplo rot13 o similar, con lo que me evito discusiones interminables. Aquel que entienda verá que el sistema de seguridad usado depende de servicios del S.O. (permisos del FS, etc.), como debe ser, y el que no entienda nada también se quedará tranquilo. -H. ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From scots4ever en gmail.com Tue Mar 16 12:34:06 2010 From: scots4ever en gmail.com (Soto) Date: Tue, 16 Mar 2010 12:34:06 +0100 Subject: [Python-es] Python y Base de Datos In-Reply-To: <11fab4bc1003160403x61f18c1dh9a06c206e69c28e@mail.gmail.com> References: <933544.65094.qm@web53102.mail.re2.yahoo.com> <4B9E640D.6030702@gmail.com> <3bc86eda1003151404t55983e99oc5584fc0ed7d2a85@mail.gmail.com> <10f310251003160022q2eeb1541ka162a6a270dcfc71@mail.gmail.com> <49414f571003160335u102f2bccrf5aad03d4503160d@mail.gmail.com> <11fab4bc1003160403x61f18c1dh9a06c206e69c28e@mail.gmail.com> Message-ID: <10f310251003160434j7aa57727mce3168570aabafce@mail.gmail.com> Parece ser que se trata de poner obstáculos al hipotético ente maléfico que trata de putearnos y que tiene que ser una puta máquina. Lo de cambiar la función de coficación me parece una idea bastante buena. Supongo usando eso y estableciendo permisos 600 al archivo en cuestión supondrán una buena barrera de seguridad. Aún así seguiré investigando. Un saludo y mil gracias a todos El 16 de marzo de 2010 12:03, Hernan M Foffani escribió: > 2010/3/16 lasizoillo > > >> >> El 16 de m >> > arzo de 2010 08:22, Soto escribió: >> >> >>> Otra opción podría ser encriptar la contraseña en un fichero. Pero hay >>> métodos que te permiten descriptar contraseñas con bastante rapidez como >>> puede ser John the Ripper. http://www.openwall.com/john/ >>> >>> >>> >> Si hay métodos para descifrar contraseñas con bastante rapidez cambia de >> algoritmo de cifrado. El problema no es la calidad del algoritmo de cifrado. >> Si puedes almacenar la contraseña de descifrado de forma segura, puedes >> almacenar la contraseña del mysql de forma segura. Si no puedes almacenar la >> contraseña del mysql de forma segura, olvidate de métodos que requieran >> contraseña como un algoritmo de cifrado/descifrado. >> >> Si no puedes usar permisos para securizar el fichero con las claves quedan >> algunas opciones (basadas en pasar el marron a otros sistemas): >> * Usar un anillo de claves http://pypi.python.org/pypi/keyring >> * Tratar de kerberizar tu servicio. No se hasta que punto se puede >> kerberizar mysql o tu script. >> >> Seguro que hay muchas más opciones. Pero a mi la de controlar los permisos >> donde estan los ficheros con las passwords me funciona bastante bien ;-) >> > > Exacto. > > El otro gran problema es lo difícil hacer entender estos argumentos. Cuando > las discusiones se tornan interminables e improductivas, antes de perder la > paciencia termino por aplicar una codificación trivial a la clave, por > ejemplo rot13 o similar, con lo que me evito discusiones interminables. > Aquel que entienda verá que el sistema de seguridad usado depende de > servicios del S.O. (permisos del FS, etc.), como debe ser, y el que no > entienda nada también se quedará tranquilo. > > -H. > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > __________________________________________________________ "La ocasión hay que crearla, no esperar que llegue." Francis Bacón ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From lasizoillo en gmail.com Tue Mar 16 12:36:00 2010 From: lasizoillo en gmail.com (lasizoillo) Date: Tue, 16 Mar 2010 12:36:00 +0100 Subject: [Python-es] [OT] Oferta de Empleo In-Reply-To: <16d0bf101003152333l7b04f02cmf18bca09dbac7935@mail.gmail.com> References: <16d0bf101003150803h6df9d6a3me4adbfedd55719c6@mail.gmail.com> <1b6058651003150913r1adf052dpca2bf65454926b8f@mail.gmail.com> <16d0bf101003150944r1eb4790cj8b63d9c5f088076e@mail.gmail.com> <16d0bf101003152333l7b04f02cmf18bca09dbac7935@mail.gmail.com> Message-ID: <49414f571003160436t6be26c7fq7fc26bbb10d6ec09@mail.gmail.com> El día 16 de marzo de 2010 07:33, Efrén Serrano Álvarez escribió: > Hola Javier. > Como supongo, sabes que los procesos de selección se dividen en fases. > Esta es la fase de reclutamiento de candidatos, en la cual, las empresas > realizan una selección inicial a través de varias herramientas, como puede > ser esta lista de correo, con el objetivo de encontrar  candidatos a los > que entrevistar. > En esa primera entrevista por cuestiones de privacidad entra cliente-empresa > la empresa puede o no dar los datos del cliente final, detalle que en este > caso a través de una lista de correo no se va a producir. > Yo estoy ofreciendo trabajo a la comunidad de programadores en python y > considero que las personas que estén interesadas contactarán conmigo como ya > lo están haciendo, sin necesidad de darles el nombre del cliente. > Da la sensación de que no has participado en muchos procesos de selección :) > Igual la cuestión no es cuantitativa, sino cualitativa. Algunos puntos flacos de tu oferta: * No se tienen referencias de la empresa de reclutamiento ni del cliente final. No inspira confianza. * No se dan datos de duración de contrato, tipo de contrato, horarios, salario, beneficios sociales, ... * Ni siquiera localizaste geográficamente (de primeras) el puesto de trabajo presencial. * En la forma de redacción, se capta que pides mucho y que no ofreces mas que un puesto. Ofreciendo cosas la oferta insinúa una relación simbiótica y atrae a más solicitantes. * Los requirimentos técnicos no inspiran acabar en un puesto profesional: * No se sabe si buscas un perfil más acercado a un picacódigos o alguien capaz de diseñar, programar, instalar y mantener todo el aplicativo. * No se sabe si la aplicación se desarrollará con php5, python o una mezcla de ambos. * No se sabe... El planteamiento de requisitos técnicos no inspira a alguien que está cansado su proyecto (porque tiene que programar en java, llevar traje porque curra en banca, ...) a tirarse a la piscina en un proyecto en el que no sabe si hay agua. Por lo que estás limitando aun más la cantidad de solicitantes. No creo que obres de mala fé, pero no vivimos en un mundo perfecto. Lo mismo que la gente que desarrollamos web tenemos que tener "Conciencia de los problemas de seguridad", la gente que os dedicais a la selección teneis que tener conciencia de la cantidad de "piratas" que hay en vuestro negocio. Ser más trasparente hace disipar esas dudas y beneficia tanto a solicitantes, ofertantes e intermediarios. No se crean flames y podemos centrarnos en hablar de python ;-) Un saludo: Javi From makiolo en gmail.com Tue Mar 16 12:40:53 2010 From: makiolo en gmail.com (=?ISO-8859-1?Q?Ricardo_M=2E_Garc=EDa?=) Date: Tue, 16 Mar 2010 12:40:53 +0100 Subject: [Python-es] cubo perfecto In-Reply-To: <4B9EA0D9.6060701@gmail.com> References: <2125897194.9527851268675333490.JavaMail.root@ucimail1.uci.cu> <4B9EA0D9.6060701@gmail.com> Message-ID: Ya veo que lo habeis aclarado, pero volviendo al problema original a modo de pasatiempo: La función del cubo perfecto es: y=x^3 calculo su inversa: x=y^3 log x = log y^3 3*log y = log x log y = log x^(1/3) y= x^(1/3) Era de cajón, la inversa, es la raiz al cubo xDD El tema es, si tu le das 216 dependiendo la precisión de tu calculadora devuelva [5,999 ; 6,0001]. Por ello debes tener el calculado en decimal y en otra variable redondeas, en este caso a 6. Haces la diferencia y su valor absoluto no puede salirse de un ERROR que TU tienes controlado. n_preciso = n**(1/3) n_redond = round(n_preciso) COTA_ERROR = 0.0000001 esCuboMagico = abs(n_preciso - n_redond) < COTA_ERROR Un saludo. El 15 de marzo de 2010 22:04, Arnau Sanchez escribió: > On 15/03/10 18:48, Pavel Daniel Lopez Castillo wrote: > > Considere el intervalo de los números enteros [a, b] con (1 <= a <= b <= >> 10^18). Puede usted determinar la suma de todos los cubos perfectos que >> se encuentran entre a y b incluidos ellos? >> > > Como comenta Jose, la falta de datos y contexto ha hecho que la gente fuera > dando tumbos. De hecho, y una vez visto el enunciado, la pregunta que > hiciste no parece relevante; no necesitas una función que te diga si un > número es cubo perfecto o no, sino generar estos cubos, lo cual es mucho más > sencillo. > > Pero aún nos falta contexto, ¿es un problema en el que debes usar fórmulas > matemáticas (como comentas, se puede calcular directamente la suma de > cubos), o es un ejercicio puramente informático en el que debes iterar a lo > bruto? > > En ambos casos, como esto es claramente es un problema académico, deberías > mostrarnos algo de código antes de que podamos seguir ayudándote. > > arnau > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From hfoffani en gmail.com Tue Mar 16 12:42:28 2010 From: hfoffani en gmail.com (Hernan M Foffani) Date: Tue, 16 Mar 2010 12:42:28 +0100 Subject: [Python-es] Python y Base de Datos In-Reply-To: <10f310251003160434j7aa57727mce3168570aabafce@mail.gmail.com> References: <933544.65094.qm@web53102.mail.re2.yahoo.com> <4B9E640D.6030702@gmail.com> <3bc86eda1003151404t55983e99oc5584fc0ed7d2a85@mail.gmail.com> <10f310251003160022q2eeb1541ka162a6a270dcfc71@mail.gmail.com> <49414f571003160335u102f2bccrf5aad03d4503160d@mail.gmail.com> <11fab4bc1003160403x61f18c1dh9a06c206e69c28e@mail.gmail.com> <10f310251003160434j7aa57727mce3168570aabafce@mail.gmail.com> Message-ID: <11fab4bc1003160442h236f0fa2of040910926c9b68e@mail.gmail.com> 2010/3/16 Soto > Parece ser que se trata de poner obstáculos al hipotético ente maléfico que > trata de putearnos y que tiene que ser una puta máquina. > > Lo de cambiar la función de coficación me parece una idea bastante buena. > Supongo usando eso y estableciendo permisos 600 al archivo en cuestión > supondrán una buena barrera de seguridad. > > Para ser mas preciso: *la* barrera de seguridad son los permisos. La codificación es para aquellos que no entienden de temas de seguridad tengan una sensación de protección extra. > Aún así seguiré investigando. > > Un saludo y mil gracias a todos > > El 16 de marzo de 2010 12:03, Hernan M Foffani escribió: > > 2010/3/16 lasizoillo >> >> >>> >>> El 16 de m >>> >> arzo de 2010 08:22, Soto escribió: >>> >>> >>>> Otra opción podría ser encriptar la contraseña en un fichero. Pero hay >>>> métodos que te permiten descriptar contraseñas con bastante rapidez como >>>> puede ser John the Ripper. http://www.openwall.com/john/ >>>> >>>> >>>> >>> Si hay métodos para descifrar contraseñas con bastante rapidez cambia de >>> algoritmo de cifrado. El problema no es la calidad del algoritmo de cifrado. >>> Si puedes almacenar la contraseña de descifrado de forma segura, puedes >>> almacenar la contraseña del mysql de forma segura. Si no puedes almacenar la >>> contraseña del mysql de forma segura, olvidate de métodos que requieran >>> contraseña como un algoritmo de cifrado/descifrado. >>> >>> Si no puedes usar permisos para securizar el fichero con las claves >>> quedan algunas opciones (basadas en pasar el marron a otros sistemas): >>> * Usar un anillo de claves http://pypi.python.org/pypi/keyring >>> * Tratar de kerberizar tu servicio. No se hasta que punto se puede >>> kerberizar mysql o tu script. >>> >>> Seguro que hay muchas más opciones. Pero a mi la de controlar los >>> permisos donde estan los ficheros con las passwords me funciona bastante >>> bien ;-) >>> >> >> Exacto. >> >> El otro gran problema es lo difícil hacer entender estos argumentos. >> Cuando las discusiones se tornan interminables e improductivas, antes de >> perder la paciencia termino por aplicar una codificación trivial a la clave, >> por ejemplo rot13 o similar, con lo que me evito discusiones interminables. >> Aquel que entienda verá que el sistema de seguridad usado depende de >> servicios del S.O. (permisos del FS, etc.), como debe ser, y el que no >> entienda nada también se quedará tranquilo. >> >> -H. >> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> > __________________________________________________________ > > "La ocasión hay que crearla, no esperar que llegue." > Francis Bacón > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From rive08 en hotmail.com Tue Mar 16 12:43:30 2010 From: rive08 en hotmail.com (=?iso-8859-15?B?Tmljb2zhcyBSaXZlbGxh?=) Date: Tue, 16 Mar 2010 11:43:30 +0000 Subject: [Python-es] [OT] Oferta de Empleo In-Reply-To: <16d0bf101003152333l7b04f02cmf18bca09dbac7935@mail.gmail.com> References: <16d0bf101003150803h6df9d6a3me4adbfedd55719c6@mail.gmail.com>, , <1b6058651003150913r1adf052dpca2bf65454926b8f@mail.gmail.com>, <16d0bf101003150944r1eb4790cj8b63d9c5f088076e@mail.gmail.com>, , <16d0bf101003152333l7b04f02cmf18bca09dbac7935@mail.gmail.com> Message-ID: Buenos días Efren, La verdad, es que no puedo postularme porque vivo un poco lejos (Bs.As. - Argentina) Pero ya que estamos aporto mi granito de arena a la "sana discusión". . . Que sea una práctica común pretender obtener la mayor cantidad de datos posibles de los postulantes SIN ofrecer NADA de información de la empresa, o del puesto NO SIGNIFICA QUE SEA LO CORRECTO. Sé que es una utopía, pero ya que la empresa necesita TANTO del empleado como el empleado de la empresa, sería bueno que la relación de respeto sea mutua. Que desde el vamos tengamos la mayor cantidad de información posible, ya que el postulante TAMBIEN pierde tiempo si va a una entrevista para un trabajo que no le interesa (pero como se entera después de la 1° entrevista o durante la misma de qué se trata el trabajo . .ya es tarde). Y si no quedamos en la preselección que tengan la amabilidad de avisarnos, como el postulante tiene la obligación moral de avisar si no va continuar con las entrevistas. . . . . . creo que ya se entiende la idea. Se que este no es el lugar adecuado para mantener esta discución. Pero ya que te tomaste el atrevimiento de "insultar" a Javier. . . Bueno, si no aporté nada, por lo menos me sirvió para hacer catarsis :-P Saludos, Rive. From: efren.serrano.alvarez en gmail.com Date: Tue, 16 Mar 2010 07:33:07 +0100 To: python-es en python.org Subject: Re: [Python-es] [OT] Oferta de Empleo Hola Javier. Como supongo, sabes que los procesos de selección se dividen en fases.Esta es la fase de reclutamiento de candidatos, en la cual, las empresas realizan una selección inicial a través de varias herramientas, como puede ser esta lista de correo, con el objetivo de encontrar candidatos a los que entrevistar. En esa primera entrevista por cuestiones de privacidad entra cliente-empresa la empresa puede o no dar los datos del cliente final, detalle que en este caso a través de una lista de correo no se va a producir. Yo estoy ofreciendo trabajo a la comunidad de programadores en python y considero que las personas que estén interesadas contactarán conmigo como ya lo están haciendo, sin necesidad de darles el nombre del cliente. Da la sensación de que no has participado en muchos procesos de selección :) 2010/3/15 Javier Santana > Al tratarse de un proceso de selección no puedo compartir esa información en > la lista abiertamente. Es de los mejores razonamientos que he visto. En mi opinión es algo fundamental en una oferta de trabajo. Pero bueno, esta lista no está para enseñar a nadie a hacer un proceso de selección o a buscar un buen programador :) _______________________________________________ Python-es mailing list Python-es en python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ -- Reciba un cordial saludo, Efrén Serrano Álvarez _________________________________________________________________ Ahora Messenger en tu Blackberry® 8520 con Movistar por 0 ?. ¿A qué esperas? http://serviciosmoviles.es.msn.com/messenger/blackberry.aspx ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From fcocuadrado en gmail.com Tue Mar 16 12:51:29 2010 From: fcocuadrado en gmail.com (Francisco Javier Cuadrado) Date: Tue, 16 Mar 2010 12:51:29 +0100 Subject: [Python-es] Python y Base de Datos In-Reply-To: <11fab4bc1003160442h236f0fa2of040910926c9b68e@mail.gmail.com> References: <933544.65094.qm@web53102.mail.re2.yahoo.com> <4B9E640D.6030702@gmail.com> <3bc86eda1003151404t55983e99oc5584fc0ed7d2a85@mail.gmail.com> <10f310251003160022q2eeb1541ka162a6a270dcfc71@mail.gmail.com> <49414f571003160335u102f2bccrf5aad03d4503160d@mail.gmail.com> <11fab4bc1003160403x61f18c1dh9a06c206e69c28e@mail.gmail.com> <10f310251003160434j7aa57727mce3168570aabafce@mail.gmail.com> <11fab4bc1003160442h236f0fa2of040910926c9b68e@mail.gmail.com> Message-ID: <779d9e921003160451j70f6ea85uad5ef7b15de64abf@mail.gmail.com> El día 16 de marzo de 2010 12:42, Hernan M Foffani escribió: > 2010/3/16 Soto >> >> Parece ser que se trata de poner obstáculos al hipotético ente maléfico >> que trata de putearnos y que tiene que ser una puta máquina. >> Lo de cambiar la función de coficación me parece una idea bastante buena. >> Supongo usando eso y estableciendo permisos 600 al archivo en cuestión >> supondrán una buena barrera de seguridad. > > Para ser mas preciso: *la* barrera de seguridad son los permisos. La > codificación es para aquellos que no entienden de temas de seguridad tengan > una sensación de protección extra. > Lo que puede ser todavía peor, ya que «creer tener» no es lo mismo que «tener». Creo que todo este asunto ha derivado en una serie de mensajes con poco sentido, ya que si no puedes proteger el acceso al archivo de la contraseña de la base de datos, cifrarlo u ofuscarlo no servirá de nada ya que podrán ir a los archivos de tu código fuente y ver qué haces para descifrar esa contraseña. Y creo que lo de que te quitarás un alto porcentaje de gente con bajo nivel aquí no vale, ya que si no tienen buen nivel para conseguir el código de descifrado no creo que tengan nivel suficiente para que con la contraseña se pongan a «jugar» con la base de datos. Además, si hubiera un método más seguro cualquier aplicación de uso extendido lo usaría, pero es que las aplicaciones que hacen uso de bases de datos (como aplicaciones web), mantienen un archivo con la contraseña de la base de datos sin ningún tipo de ofuscación, codificación y/o cifrado. Sólo te piden que tengan el mínimo de permisos una vez hayas editado el archivo, es decir, sólo lectura para el usuario que ejecute la aplicación. >> >> Aún así seguiré investigando. >> Un saludo y mil gracias a todos >> El 16 de marzo de 2010 12:03, Hernan M Foffani >> escribió: >>> >>> 2010/3/16 lasizoillo >>>> >>>> >>>> El 16 de m >>>> >>>> arzo de 2010 08:22, Soto escribió: >>>>> >>>>> Otra opción podría ser encriptar la contraseña en un fichero. Pero hay >>>>> métodos que te permiten descriptar contraseñas con bastante rapidez como >>>>> puede ser John the Ripper.  http://www.openwall.com/john/ >>>>> >>>> >>>> Si hay métodos para descifrar contraseñas con bastante rapidez cambia de >>>> algoritmo de cifrado. El problema no es la calidad del algoritmo de cifrado. >>>> Si puedes almacenar la contraseña de descifrado de forma segura, puedes >>>> almacenar la contraseña del mysql de forma segura. Si no puedes almacenar la >>>> contraseña del mysql de forma segura, olvidate de métodos que requieran >>>> contraseña como un algoritmo de cifrado/descifrado. >>>> Si no puedes usar permisos para securizar el fichero con las claves >>>> quedan algunas opciones (basadas en pasar el marron a otros sistemas): >>>>   * Usar un anillo de claves http://pypi.python.org/pypi/keyring >>>>   * Tratar de kerberizar tu servicio. No se hasta que punto se puede >>>> kerberizar mysql o tu script. >>>> Seguro que hay muchas más opciones. Pero a mi la de controlar los >>>> permisos donde estan los ficheros con las passwords me funciona bastante >>>> bien ;-) >>> >>> Exacto. >>> El otro gran problema es lo difícil hacer entender estos argumentos. >>> Cuando las discusiones se tornan interminables e improductivas, antes de >>> perder la paciencia termino por aplicar una codificación trivial a la clave, >>> por ejemplo rot13 o similar, con lo que me evito discusiones interminables. >>> Aquel que entienda verá que el sistema de seguridad usado depende de >>> servicios del S.O. (permisos del FS, etc.), como debe ser, y el que no >>> entienda nada también se quedará tranquilo. >>> -H. >>> >>> _______________________________________________ >>> Python-es mailing list >>> Python-es en python.org >>> http://mail.python.org/mailman/listinfo/python-es >>> FAQ: http://python-es-faq.wikidot.com/ >>> >> >> __________________________________________________________ >> >> "La ocasión hay que crearla, no esperar que llegue." >> Francis Bacón >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > -- Saludos Fran From ricardo.cardenes en gmail.com Tue Mar 16 13:09:04 2010 From: ricardo.cardenes en gmail.com (=?ISO-8859-1?Q?Ricardo_C=E1rdenes_Medina?=) Date: Tue, 16 Mar 2010 12:09:04 +0000 Subject: [Python-es] cubo perfecto In-Reply-To: References: <2125897194.9527851268675333490.JavaMail.root@ucimail1.uci.cu> <4B9EA0D9.6060701@gmail.com> Message-ID: <325adf7e1003160509t696c6ff7n5c89d820d3a76f3a@mail.gmail.com> 2010/3/16 Ricardo M. García : > Por ello debes tener el calculado en decimal y en otra variable redondeas, > en este caso a 6. > Haces la diferencia y su valor absoluto no puede salirse de un ERROR que TU > tienes controlado. > > n_preciso = n**(1/3) > n_redond = round(n_preciso) > COTA_ERROR = 0.0000001 > esCuboMagico = abs(n_preciso - n_redond) < COTA_ERROR Jo, menos mal que alguien lo ha comentado. Acabo de leerme el hilo entero y estaba acojonado viendo las soluciones que con un round se quedaban tan panchos... O_O. Si alguno de los que lo sugirió ha estudiado análisis numérico (otra de esas asignaturas que los alumnos universitarios de informática suelen desdeñar porque "no le ven uso")... ¡¡cate!! From hfoffani en gmail.com Tue Mar 16 13:17:22 2010 From: hfoffani en gmail.com (Hernan M Foffani) Date: Tue, 16 Mar 2010 13:17:22 +0100 Subject: [Python-es] Python y Base de Datos In-Reply-To: <779d9e921003160451j70f6ea85uad5ef7b15de64abf@mail.gmail.com> References: <933544.65094.qm@web53102.mail.re2.yahoo.com> <4B9E640D.6030702@gmail.com> <3bc86eda1003151404t55983e99oc5584fc0ed7d2a85@mail.gmail.com> <10f310251003160022q2eeb1541ka162a6a270dcfc71@mail.gmail.com> <49414f571003160335u102f2bccrf5aad03d4503160d@mail.gmail.com> <11fab4bc1003160403x61f18c1dh9a06c206e69c28e@mail.gmail.com> <10f310251003160434j7aa57727mce3168570aabafce@mail.gmail.com> <11fab4bc1003160442h236f0fa2of040910926c9b68e@mail.gmail.com> <779d9e921003160451j70f6ea85uad5ef7b15de64abf@mail.gmail.com> Message-ID: <11fab4bc1003160517q2143a925pbb226b2be2597fe6@mail.gmail.com> 2010/3/16 Francisco Javier Cuadrado > El día 16 de marzo de 2010 12:42, Hernan M Foffani > escribió: > > 2010/3/16 Soto > >> > >> Parece ser que se trata de poner obstáculos al hipotético ente maléfico > >> que trata de putearnos y que tiene que ser una puta máquina. > >> Lo de cambiar la función de coficación me parece una idea bastante > buena. > >> Supongo usando eso y estableciendo permisos 600 al archivo en cuestión > >> supondrán una buena barrera de seguridad. > > > > Para ser mas preciso: *la* barrera de seguridad son los permisos. La > > codificación es para aquellos que no entienden de temas de seguridad > tengan > > una sensación de protección extra. > > > > Lo que puede ser todavía peor, ya que «creer tener» no es lo mismo que > «tener». > Creen tener y tienen, aunque por razones distintas de las que creen. *Nunca* dije que uno fuera sustitución de lo otro. > Creo que todo este asunto ha derivado en una serie de mensajes con > poco sentido, ya que si no puedes proteger el acceso al archivo de la > contraseña de la base de datos, cifrarlo u ofuscarlo no servirá de > nada ya que podrán ir a los archivos de tu código fuente y ver qué > haces para descifrar esa contraseña. > > Y creo que lo de que te quitarás un alto porcentaje de gente con bajo > nivel aquí no vale, ya que si no tienen buen nivel para conseguir el > código de descifrado no creo que tengan nivel suficiente para que con > la contraseña se pongan a «jugar» con la base de datos. > No se trata de quitar a nadie. Si el que paga reclama mas protección porque "¡que barbaridad! la clave está en claro", le intentas explicar que la seguridad no va por ahí. Si sigue con la misma cantinela, ROT13 y a por otra cosa. Además, si hubiera un método más seguro cualquier aplicación de uso > extendido lo usaría, pero es que las aplicaciones que hacen uso de > bases de datos (como aplicaciones web), mantienen un archivo con la > contraseña de la base de datos sin ningún tipo de ofuscación, > codificación y/o cifrado. Sólo te piden que tengan el mínimo de > permisos una vez hayas editado el archivo, es decir, sólo lectura para > el usuario que ejecute la aplicación. > Si sólo te piden eso es que saben de lo hablan y no hace falta mas. El problema, como dije antes, es cuando el cliente te dice que no es suficiente porque "¡él puede ver la clave!". El coste de esa educación no suele estar presupuestado y la "solución" (ROT13) es muy barata. > > >> > >> Aún así seguiré investigando. > >> Un saludo y mil gracias a todos > >> El 16 de marzo de 2010 12:03, Hernan M Foffani > >> escribió: > >>> > >>> 2010/3/16 lasizoillo > >>>> > >>>> > >>>> El 16 de m > >>>> > >>>> arzo de 2010 08:22, Soto escribió: > >>>>> > >>>>> Otra opción podría ser encriptar la contraseña en un fichero. Pero > hay > >>>>> métodos que te permiten descriptar contraseñas con bastante rapidez > como > >>>>> puede ser John the Ripper. http://www.openwall.com/john/ > >>>>> > >>>> > >>>> Si hay métodos para descifrar contraseñas con bastante rapidez cambia > de > >>>> algoritmo de cifrado. El problema no es la calidad del algoritmo de > cifrado. > >>>> Si puedes almacenar la contraseña de descifrado de forma segura, > puedes > >>>> almacenar la contraseña del mysql de forma segura. Si no puedes > almacenar la > >>>> contraseña del mysql de forma segura, olvidate de métodos que > requieran > >>>> contraseña como un algoritmo de cifrado/descifrado. > >>>> Si no puedes usar permisos para securizar el fichero con las claves > >>>> quedan algunas opciones (basadas en pasar el marron a otros sistemas): > >>>> * Usar un anillo de claves http://pypi.python.org/pypi/keyring > >>>> * Tratar de kerberizar tu servicio. No se hasta que punto se puede > >>>> kerberizar mysql o tu script. > >>>> Seguro que hay muchas más opciones. Pero a mi la de controlar los > >>>> permisos donde estan los ficheros con las passwords me funciona > bastante > >>>> bien ;-) > >>> > >>> Exacto. > >>> El otro gran problema es lo difícil hacer entender estos argumentos. > >>> Cuando las discusiones se tornan interminables e improductivas, antes > de > >>> perder la paciencia termino por aplicar una codificación trivial a la > clave, > >>> por ejemplo rot13 o similar, con lo que me evito discusiones > interminables. > >>> Aquel que entienda verá que el sistema de seguridad usado depende de > >>> servicios del S.O. (permisos del FS, etc.), como debe ser, y el que no > >>> entienda nada también se quedará tranquilo. > >>> -H. > >>> > >>> _______________________________________________ > >>> Python-es mailing list > >>> Python-es en python.org > >>> http://mail.python.org/mailman/listinfo/python-es > >>> FAQ: http://python-es-faq.wikidot.com/ > >>> > >> > >> __________________________________________________________ > >> > >> "La ocasión hay que crearla, no esperar que llegue." > >> Francis Bacón > >> > >> _______________________________________________ > >> Python-es mailing list > >> Python-es en python.org > >> http://mail.python.org/mailman/listinfo/python-es > >> FAQ: http://python-es-faq.wikidot.com/ > >> > > > > > > _______________________________________________ > > Python-es mailing list > > Python-es en python.org > > http://mail.python.org/mailman/listinfo/python-es > > FAQ: http://python-es-faq.wikidot.com/ > > > > > > > > -- > Saludos > > Fran > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From fcocuadrado en gmail.com Tue Mar 16 13:33:24 2010 From: fcocuadrado en gmail.com (Francisco Javier Cuadrado) Date: Tue, 16 Mar 2010 13:33:24 +0100 Subject: [Python-es] Python y Base de Datos In-Reply-To: <11fab4bc1003160517q2143a925pbb226b2be2597fe6@mail.gmail.com> References: <933544.65094.qm@web53102.mail.re2.yahoo.com> <4B9E640D.6030702@gmail.com> <3bc86eda1003151404t55983e99oc5584fc0ed7d2a85@mail.gmail.com> <10f310251003160022q2eeb1541ka162a6a270dcfc71@mail.gmail.com> <49414f571003160335u102f2bccrf5aad03d4503160d@mail.gmail.com> <11fab4bc1003160403x61f18c1dh9a06c206e69c28e@mail.gmail.com> <10f310251003160434j7aa57727mce3168570aabafce@mail.gmail.com> <11fab4bc1003160442h236f0fa2of040910926c9b68e@mail.gmail.com> <779d9e921003160451j70f6ea85uad5ef7b15de64abf@mail.gmail.com> <11fab4bc1003160517q2143a925pbb226b2be2597fe6@mail.gmail.com> Message-ID: <779d9e921003160533p3203d819o156b5c6f3d0f2274@mail.gmail.com> El día 16 de marzo de 2010 13:17, Hernan M Foffani escribió: > 2010/3/16 Francisco Javier Cuadrado >> >> El día 16 de marzo de 2010 12:42, Hernan M Foffani >> escribió: >> > 2010/3/16 Soto >> >> >> >> Parece ser que se trata de poner obstáculos al hipotético ente maléfico >> >> que trata de putearnos y que tiene que ser una puta máquina. >> >> Lo de cambiar la función de coficación me parece una idea bastante >> >> buena. >> >> Supongo usando eso y estableciendo permisos 600 al archivo en cuestión >> >> supondrán una buena barrera de seguridad. >> > >> > Para ser mas preciso: *la* barrera de seguridad son los permisos. La >> > codificación es para aquellos que no entienden de temas de seguridad >> > tengan >> > una sensación de protección extra. >> > >> >> Lo que puede ser todavía peor, ya que «creer tener» no es lo mismo que >> «tener». > > Creen tener y tienen, aunque por razones distintas de las que creen. > *Nunca* dije que uno fuera sustitución de lo otro. > Yo tampoco me refería a que uno fuera sustituto de otro, sino a que tú le dices mira además de los permisos te pongo este cifrado para que sea más seguro, y el otro se cree que su sistema ya es anti-super-hakers-dominadores-de-mundos cuando la realidad es que el cifrado realmente «no hace nada», yo prefiero dejarle bien claro que la seguridad se consigue con los permisos y que no es necesario nada más, a darle un «placebo» para que se quede contento. >> >> Creo que todo este asunto ha derivado en una serie de mensajes con >> poco sentido, ya que si no puedes proteger el acceso al archivo de la >> contraseña de la base de datos, cifrarlo u ofuscarlo no servirá de >> nada ya que podrán ir a los archivos de tu código fuente y ver qué >> haces para descifrar esa contraseña. >> >> Y creo que lo de que te quitarás un alto porcentaje de gente con bajo >> nivel aquí no vale, ya que si no tienen buen nivel para conseguir el >> código de descifrado no creo que tengan nivel suficiente para que con >> la contraseña se pongan a «jugar» con la base de datos. > > No se trata de quitar a nadie. Si el que paga reclama mas protección porque > "¡que barbaridad! la clave está en claro", le intentas explicar que la > seguridad > no va por ahí. Si sigue con la misma cantinela, ROT13 y a por otra cosa. Hay casos y casos, pero como he dicho antes prefiero explicárselo antes de hacer una chapuza, en la que si luego llega una auditoría, ven un ROT13 en la contraseña que no vale para nada y el jefe les diga: "No, lo hizo ese." Y el que queda mal eres tú. >> >> Además, si hubiera un método más seguro cualquier aplicación de uso >> extendido lo usaría, pero es que las aplicaciones que hacen uso de >> bases de datos (como aplicaciones web), mantienen un archivo con la >> contraseña de la base de datos sin ningún tipo de ofuscación, >> codificación y/o cifrado. Sólo te piden que tengan el mínimo de >> permisos una vez hayas editado el archivo, es decir, sólo lectura para >> el usuario que ejecute la aplicación. > > Si sólo te piden eso es que saben de lo hablan y no hace falta mas. > El problema, como dije antes, es cuando el cliente te dice que no es > suficiente porque "¡él puede ver la clave!". El coste de esa educación > no suele estar presupuestado y la "solución" (ROT13) es muy barata. > Con ese «... Sólo te piden ...» me refería a las aplicaciones que hacen uso de bases de datos y están extendidas, que sólo te piden en la instalación/configuración que el archivo que contiene la contraseña de la base de datos no tenga permisos de ningún tipo exceptuando sólo lectura para el usuario que ejecuta la aplicación. Quizá me exprese mal. > >> >> >> >> >> Aún así seguiré investigando. >> >> Un saludo y mil gracias a todos >> >> El 16 de marzo de 2010 12:03, Hernan M Foffani >> >> escribió: >> >>> >> >>> 2010/3/16 lasizoillo >> >>>> >> >>>> >> >>>> El 16 de m >> >>>> >> >>>> arzo de 2010 08:22, Soto escribió: >> >>>>> >> >>>>> Otra opción podría ser encriptar la contraseña en un fichero. Pero >> >>>>> hay >> >>>>> métodos que te permiten descriptar contraseñas con bastante rapidez >> >>>>> como >> >>>>> puede ser John the Ripper.  http://www.openwall.com/john/ >> >>>>> >> >>>> >> >>>> Si hay métodos para descifrar contraseñas con bastante rapidez cambia >> >>>> de >> >>>> algoritmo de cifrado. El problema no es la calidad del algoritmo de >> >>>> cifrado. >> >>>> Si puedes almacenar la contraseña de descifrado de forma segura, >> >>>> puedes >> >>>> almacenar la contraseña del mysql de forma segura. Si no puedes >> >>>> almacenar la >> >>>> contraseña del mysql de forma segura, olvidate de métodos que >> >>>> requieran >> >>>> contraseña como un algoritmo de cifrado/descifrado. >> >>>> Si no puedes usar permisos para securizar el fichero con las claves >> >>>> quedan algunas opciones (basadas en pasar el marron a otros >> >>>> sistemas): >> >>>>   * Usar un anillo de claves http://pypi.python.org/pypi/keyring >> >>>>   * Tratar de kerberizar tu servicio. No se hasta que punto se puede >> >>>> kerberizar mysql o tu script. >> >>>> Seguro que hay muchas más opciones. Pero a mi la de controlar los >> >>>> permisos donde estan los ficheros con las passwords me funciona >> >>>> bastante >> >>>> bien ;-) >> >>> >> >>> Exacto. >> >>> El otro gran problema es lo difícil hacer entender estos argumentos. >> >>> Cuando las discusiones se tornan interminables e improductivas, antes >> >>> de >> >>> perder la paciencia termino por aplicar una codificación trivial a la >> >>> clave, >> >>> por ejemplo rot13 o similar, con lo que me evito discusiones >> >>> interminables. >> >>> Aquel que entienda verá que el sistema de seguridad usado depende de >> >>> servicios del S.O. (permisos del FS, etc.), como debe ser, y el que no >> >>> entienda nada también se quedará tranquilo. >> >>> -H. >> >>> >> >>> _______________________________________________ >> >>> Python-es mailing list >> >>> Python-es en python.org >> >>> http://mail.python.org/mailman/listinfo/python-es >> >>> FAQ: http://python-es-faq.wikidot.com/ >> >>> >> >> >> >> __________________________________________________________ >> >> >> >> "La ocasión hay que crearla, no esperar que llegue." >> >> Francis Bacón >> >> >> >> _______________________________________________ >> >> Python-es mailing list >> >> Python-es en python.org >> >> http://mail.python.org/mailman/listinfo/python-es >> >> FAQ: http://python-es-faq.wikidot.com/ >> >> >> > >> > >> > _______________________________________________ >> > Python-es mailing list >> > Python-es en python.org >> > http://mail.python.org/mailman/listinfo/python-es >> > FAQ: http://python-es-faq.wikidot.com/ >> > >> > >> >> >> >> -- >> Saludos >> >> Fran >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > -- Saludos Fran From smartdust en gmail.com Tue Mar 16 14:52:47 2010 From: smartdust en gmail.com (SmartDust) Date: Tue, 16 Mar 2010 14:52:47 +0100 Subject: [Python-es] cubo perfecto In-Reply-To: <590507717.9437671268663139714.JavaMail.root@ucimail1.uci.cu> References: <590507717.9437671268663139714.JavaMail.root@ucimail1.uci.cu> Message-ID: <201003161452.48714.SmartDust@gmail.com> Llego tarde al hilo pero la solución asumiendo que 'n' es entero, es: int( round( n ** (1.0/3) ) ) ** 3 == n El Lunes, 15 de Marzo de 2010, Pavel Daniel Lopez Castillo escribió: > Necesito una funcion que me permita conocer si un numero es un cubo perfecto ejemplo > > cubos perfectos: 1,8,27,64 etc... > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From efren.serrano.alvarez en gmail.com Tue Mar 16 15:47:09 2010 From: efren.serrano.alvarez en gmail.com (=?UTF-8?Q?Efr=C3=A9n_Serrano_=C3=81lvarez?=) Date: Tue, 16 Mar 2010 15:47:09 +0100 Subject: [Python-es] [OT] Oferta de Empleo In-Reply-To: References: <16d0bf101003150803h6df9d6a3me4adbfedd55719c6@mail.gmail.com> <1b6058651003150913r1adf052dpca2bf65454926b8f@mail.gmail.com> <16d0bf101003150944r1eb4790cj8b63d9c5f088076e@mail.gmail.com> <16d0bf101003152333l7b04f02cmf18bca09dbac7935@mail.gmail.com> Message-ID: <16d0bf101003160747g59e7e45bnb394184745f86b8d@mail.gmail.com> Hola Nicolás Gracias por tu comentario. No esperaba que se tomase el comentario a Javier como lo que indicas, mis disculpas si se ha sentido molesto. Es evidente que cuanta más información mejor para todos, pero cuando pones un salario alto te agobian a emails y es lo que quiero evitar. Mi intención es no hacer perder el tiempo a nadie y que solo aquellos que estén interesados contacten conmigo, personas con las que se comparte el resto de la información. No he querido crear con esto ningún flame Un saludo 2010/3/16 Nicolás Rivella > Buenos días Efren, > > La verdad, es que no puedo postularme porque vivo un poco lejos (Bs.As. - > Argentina) > Pero ya que estamos aporto mi granito de arena a la "sana discusión". . . > Que sea una práctica común pretender obtener la mayor cantidad de datos > posibles de los postulantes SIN ofrecer NADA de información de la empresa, o > del puesto NO SIGNIFICA QUE SEA LO CORRECTO. > Sé que es una utopía, pero ya que la empresa necesita TANTO del empleado > como el empleado de la empresa, sería bueno que la relación de respeto sea > mutua. > Que desde el vamos tengamos la mayor cantidad de información posible, ya > que el postulante TAMBIEN pierde tiempo si va a una entrevista para un > trabajo que no le interesa (pero como se entera después de la 1° entrevista > o durante la misma de qué se trata el trabajo . .ya es tarde). > Y si no quedamos en la preselección que tengan la amabilidad de avisarnos, > como el postulante tiene la obligación moral de avisar si no va continuar > con las entrevistas. . . > . . . creo que ya se entiende la idea. > Se que este no es el lugar adecuado para mantener esta discución. > Pero ya que te tomaste el atrevimiento de "insultar" a Javier. . . > > Bueno, si no aporté nada, por lo menos me sirvió para hacer catarsis :-P > Saludos, > Rive. > > ------------------------------ > From: efren.serrano.alvarez en gmail.com > Date: Tue, 16 Mar 2010 07:33:07 +0100 > To: python-es en python.org > Subject: Re: [Python-es] [OT] Oferta de Empleo > > > Hola Javier. > > Como supongo, sabes que los procesos de selección se dividen en fases. > Esta es la fase de reclutamiento de candidatos, en la cual, las empresas > realizan una selección inicial a través de varias herramientas, como puede > ser esta lista de correo, con el objetivo de encontrar candidatos a los > que entrevistar. > En esa primera entrevista por cuestiones de privacidad entra > cliente-empresa la empresa puede o no dar los datos del cliente final, > detalle que en este caso a través de una lista de correo no se va a > producir. > > Yo estoy ofreciendo trabajo a la comunidad de programadores en python y > considero que las personas que estén interesadas contactarán conmigo como ya > lo están haciendo, sin necesidad de darles el nombre del cliente. > > Da la sensación de que no has participado en muchos procesos de selección > :) > > 2010/3/15 Javier Santana > > > Al tratarse de un proceso de selección no puedo compartir esa información > en > > la lista abiertamente. > > Es de los mejores razonamientos que he visto. En mi opinión es algo > fundamental en una oferta de trabajo. Pero bueno, esta lista no está > para enseñar a nadie a hacer un proceso de selección o a buscar un > buen programador :) > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > > > > -- > Reciba un cordial saludo, > Efrén Serrano Álvarez > > > ------------------------------ > ¿Te gustaría tener Hotmail en tu móvil Movistar? ¡Es gratis! > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > -- Reciba un cordial saludo, Efrén Serrano Álvarez ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From pfreixes en milnou.net Tue Mar 16 16:32:44 2010 From: pfreixes en milnou.net (Pau Freixes) Date: Tue, 16 Mar 2010 16:32:44 +0100 Subject: [Python-es] [OT] Oferta de Empleo In-Reply-To: <16d0bf101003160747g59e7e45bnb394184745f86b8d@mail.gmail.com> References: <16d0bf101003150803h6df9d6a3me4adbfedd55719c6@mail.gmail.com> <1b6058651003150913r1adf052dpca2bf65454926b8f@mail.gmail.com> <16d0bf101003150944r1eb4790cj8b63d9c5f088076e@mail.gmail.com> <16d0bf101003152333l7b04f02cmf18bca09dbac7935@mail.gmail.com> <16d0bf101003160747g59e7e45bnb394184745f86b8d@mail.gmail.com> Message-ID: <207312b71003160832p4da7ea4flc25ee033b9b8ccea@mail.gmail.com> Ha sido divertido el linchamiento publico que te han dado Efren. Saludos 2010/3/16 Efrén Serrano Álvarez : > Hola Nicolás > Gracias por tu comentario. > No esperaba que se tomase el comentario a Javier como lo que indicas, mis > disculpas si se ha sentido molesto. > Es evidente que cuanta más información mejor para todos, pero cuando pones > un salario alto te agobian a emails y es lo que quiero evitar. > Mi intención es no hacer perder el tiempo a nadie y que solo aquellos que > estén  interesados contacten conmigo, > personas con las que se comparte el resto de la información. > No he querido crear con esto ningún flame > Un saludo > > 2010/3/16 Nicolás Rivella >> >> Buenos días Efren, >> >> La verdad, es que no puedo postularme porque vivo un poco lejos (Bs.As. - >> Argentina) >> Pero ya que estamos aporto mi granito de arena a la "sana discusión". . . >> Que sea una práctica común pretender obtener la mayor cantidad de datos >> posibles de los postulantes SIN ofrecer NADA de información de la empresa, o >> del puesto NO SIGNIFICA QUE SEA LO CORRECTO. >> Sé que es una utopía, pero ya que la empresa necesita TANTO del empleado >> como el empleado de la empresa, sería bueno que la relación de respeto sea >> mutua. >> Que desde el vamos tengamos la mayor cantidad de información posible, ya >> que el postulante TAMBIEN pierde tiempo si va a una entrevista para un >> trabajo que no le interesa (pero como se entera después de la 1° entrevista >> o durante la misma de qué se trata el trabajo . .ya es tarde). >> Y si no quedamos en la preselección que tengan la amabilidad de avisarnos, >> como el postulante tiene la obligación moral de avisar si no va continuar >> con las entrevistas. . . >> . . . creo que ya se entiende la idea. >> Se que este no es el lugar adecuado para mantener esta discución. >> Pero ya que te tomaste el atrevimiento de "insultar" a Javier. . . >> >> Bueno, si no aporté nada, por lo menos me sirvió para hacer catarsis :-P >> Saludos, >> Rive. >> >> ________________________________ >> From: efren.serrano.alvarez en gmail.com >> Date: Tue, 16 Mar 2010 07:33:07 +0100 >> To: python-es en python.org >> Subject: Re: [Python-es] [OT] Oferta de Empleo >> >> Hola Javier. >> Como supongo, sabes que los procesos de selección se dividen en fases. >> Esta es la fase de reclutamiento de candidatos, en la cual, las empresas >> realizan una selección inicial a través de varias herramientas, como puede >> ser esta lista de correo, con el objetivo de encontrar  candidatos a los >> que entrevistar. >> En esa primera entrevista por cuestiones de privacidad entra >> cliente-empresa la empresa puede o no dar los datos del cliente final, >> detalle que en este caso a través de una lista de correo no se va a >> producir. >> Yo estoy ofreciendo trabajo a la comunidad de programadores en python y >> considero que las personas que estén interesadas contactarán conmigo como ya >> lo están haciendo, sin necesidad de darles el nombre del cliente. >> Da la sensación de que no has participado en muchos procesos de selección >> :) >> >> 2010/3/15 Javier Santana >> >> > Al tratarse de un proceso de selección no puedo compartir esa >> > información en >> > la lista abiertamente. >> >> Es de los mejores razonamientos que he visto. En mi opinión es algo >> fundamental en una oferta de trabajo. Pero bueno, esta lista no está >> para enseñar a nadie a hacer un proceso de selección o a buscar un >> buen programador :) >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> >> >> -- >> Reciba un cordial saludo, >> Efrén Serrano Álvarez >> >> >> ________________________________ >> ¿Te gustaría tener Hotmail en tu móvil Movistar? ¡Es gratis! >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> > > > > -- > Reciba un cordial saludo, > Efrén Serrano Álvarez > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > -- --pau From lowlifebob en gmail.com Tue Mar 16 16:39:33 2010 From: lowlifebob en gmail.com (lopz) Date: Tue, 16 Mar 2010 11:39:33 -0400 Subject: [Python-es] [OT] Oferta de Empleo Message-ID: <1853c7161003160839g1d6ea0a4n896b50264f994ab9@mail.gmail.com> > From: Efrén Serrano Álvarez     > To: La lista de python en castellano > Subject: Re: [Python-es] [OT] Oferta de Empleo > > Hola Nicolás > > Gracias por tu comentario. > No esperaba que se tomase el comentario a Javier como lo que indicas, mis > disculpas si se ha sentido molesto. > Es evidente que cuanta más información mejor para todos, pero cuando pones > un salario alto te agobian a emails y es lo que quiero evitar. En las ofertas de trabajo la verdad es que "nadie" pone un salario alto hehe :) > Mi intención es no hacer perder el tiempo a nadie y que solo aquellos que > estén  interesados contacten conmigo, Cómo puede interesarte algo que no sabes de que va? > personas con las que se comparte el resto de la información. > > No he querido crear con esto ningún flame > > Un saludo > > -- lopz es libre, usa --> GNU/linux gentoo +--[RSA 2048]--+ | ..o.o=+ | | o =o*.+ | | . . *oO . | | .EBoo | | o.S | +--[lopz.org]--+ From eldanid en gmail.com Tue Mar 16 18:03:22 2010 From: eldanid en gmail.com (=?ISO-8859-1?Q?Daniel_Mu=F1oz?=) Date: Tue, 16 Mar 2010 12:03:22 -0500 Subject: [Python-es] Uso de wxGrid In-Reply-To: <618a13c51002240204l74e1bb5diea3f7deef0bb90b6@mail.gmail.com> References: <618a13c51002240204l74e1bb5diea3f7deef0bb90b6@mail.gmail.com> Message-ID: <320337d61003161003w7663b1c2k9ee603b8552ef8f8@mail.gmail.com> POR FAVOR NO ME ENVIEN MAS COSAS DE PYTHON NO LO QUIIERO COMO HAGO PARA QUE NO ME SIGAN ENVIANDO ESTO GRACIAS ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From olemis+py en gmail.com Tue Mar 16 18:29:04 2010 From: olemis+py en gmail.com (Olemis Lang (Simelix)) Date: Tue, 16 Mar 2010 12:29:04 -0500 Subject: [Python-es] Uso de wxGrid In-Reply-To: <618a13c51002240204l74e1bb5diea3f7deef0bb90b6@mail.gmail.com> References: <618a13c51002240204l74e1bb5diea3f7deef0bb90b6@mail.gmail.com> Message-ID: <24ea26601003161029t4656f0edq94b2ba2c83a1ca0c@mail.gmail.com> 2010/2/24 Jose Antonio Jiménez : > Hola lista. > > Estoy haciendo una aplicación donde hago uso de wxGrid (tambien he probado > wx.lib.sheet). > > Hay un tema que no me gusta y me interesa cambiar, a ver si alguien me puede > ayudar. > > Cuando en una celda escribo un texto mas largo de lo que se puede mostrar en > la propia celda, > si la siguiente celda (la que está a la derecha de la que escribo) está > vacía, se utiliza esa siguiente celda > para mostrar el texto que no cabía en la suya, es decir usa su espacio. > [...] > > ¿Alguien me puede dar una idea de como hacerlo? > > (Espero haberme explicado.....) > Mi primer consejo es que revise esta página [1]_ y vuelva a realizar la pregunta aquí o en el grupo de Google de wxPython ;o) .. [1] wxPython - Asking For Help (http://wiki.wxpython.org/Asking%20For%20Help) -- Regards, Olemis. Blog ES: http://simelo-es.blogspot.com/ Blog EN: http://simelo-en.blogspot.com/ Featured article: From kikocorreoso en gmail.com Tue Mar 16 18:35:16 2010 From: kikocorreoso en gmail.com (Kiko) Date: Tue, 16 Mar 2010 18:35:16 +0100 Subject: [Python-es] Uso de wxGrid In-Reply-To: <320337d61003161003w7663b1c2k9ee603b8552ef8f8@mail.gmail.com> References: <618a13c51002240204l74e1bb5diea3f7deef0bb90b6@mail.gmail.com> <320337d61003161003w7663b1c2k9ee603b8552ef8f8@mail.gmail.com> Message-ID: <1b6058651003161035o60cdbf38vd4c906b469c41a85@mail.gmail.com> 2010/3/16 Daniel Muñoz > POR FAVOR NO ME ENVIEN MAS COSAS DE PYTHON NO LO QUIIERO COMO HAGO PARA QUE > NO ME SIGAN ENVIANDO ESTO > > > GRACIAS > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > Puedes ir aquí: http://mail.python.org/mailman/listinfo/python-es Al final de la página verás como puedes anular la subscripción. ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From jcaballero.hep en gmail.com Tue Mar 16 20:12:30 2010 From: jcaballero.hep en gmail.com (Jose Caballero) Date: Tue, 16 Mar 2010 15:12:30 -0400 Subject: [Python-es] ORM de django vs SQLAlchemy Message-ID: Hola, necesito una comparación objetiva (no basada en experiencia ni opiniones personales) entre el ORM de django y SQLAlchemy. He buscado un poco en google, pero casi todo lo que encuentro es feedback, gente contando su experiencia personal, etc. Si alguien tiene un link donde pueda ver una comparación técnica entre ambos sistemas estaría enormemente agradecido. Si lo encuentro yo antes lo mandaré a la lista. Muchas gracias por adelantado. Saludos, Jose ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From jimenezrick en gmail.com Tue Mar 16 22:01:09 2010 From: jimenezrick en gmail.com (Ricardo Catalinas =?iso-8859-1?Q?Jim=E9nez?=) Date: Tue, 16 Mar 2010 22:01:09 +0100 Subject: [Python-es] Socket SSL Message-ID: <20100316210109.GA15114@viper.server01.org> Hola Estoy intentando usar SSL sobre un socket que tengo establecido entre un cliente y un servidor pero no consigo que me funcione. Me da un error al inicializar el SSL. Comentar que uso Python 2.5 y uso `socket.ssl()' en vez de `ssl.wrap_socket()'. El error que me da es: socket.sslerror: (1, 'error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol') El código que ejecuto es: ############# Cliente ############# import socket s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect(('localhost', 6666)) ss = socket.ssl(s) ################################### ############## Servidor ########## import socket s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.bind(('', 6666)) s.listen(5) s1, c = s.accept() ss = socket.ssl(s1) ################################## He intentado a usar `socket.ssl()' en diferentes sitios como antes y depués del `accept()' y del `connect()' pero no consigo solucionarlo. El error me da cuando intento empezar a utilizar SSL porque ni siquiera llego a hacer un read/write sobre el `ss'. ¿Alguna pista de que estoy haciendo mal? Un saludo y gracias de antemano. -- Ricardo From lasizoillo en gmail.com Wed Mar 17 00:54:05 2010 From: lasizoillo en gmail.com (lasizoillo) Date: Wed, 17 Mar 2010 00:54:05 +0100 Subject: [Python-es] ORM de django vs SQLAlchemy In-Reply-To: References: Message-ID: <49414f571003161654r35d2451dl6d265425aa8e6f72@mail.gmail.com> El día 16 de marzo de 2010 20:12, Jose Caballero escribió: > Hola, > > > necesito una comparación objetiva (no basada en experiencia ni opiniones > personales) entre el ORM de django y SQLAlchemy. He buscado un poco en > google, pero casi todo lo que encuentro es feedback, gente contando su > experiencia personal, etc. > Si alguien tiene un link donde pueda ver una comparación técnica entre ambos > sistemas estaría enormemente agradecido. Si lo encuentro yo antes lo mandaré > a la lista. > Creo que vas a tener que dar tu información subjetiva de lo que es útil en una comparación objetiva. A bote pronto se me ocurren varias decenas de cosas a comparar de una manera "objetiva". Un ejemplo de comparación "objetiva" es hacer un test de velocidad de consultas. Ambos orm's tienen una capa de abstracción sobre un acceso raw a la base de datos. El raw en ambos casos es mucho más rápido que el más abstracto, pero no creo que esto sea relevante porque no es el modo de trabajo normal. Aunque compares ambos orm's en modo raw y en modo orm, aún queda una prueba que hacer: SQLAlchemy tiene soporte de varias bases de datos que Django no tiene en la versión estable (posiblemente salga a finales de este mes o a lo largo del siguiente). Con soporte multidatabase y un sistema de replicación puedes hacer balanceo de consultas. Distintos grados de complejidad de querys pueden ofrecer diferentes datos de velocidades también. Si una cosa tan tonta como ver cuál es más rápido tiene un montón de complicaciones, imagina otros detalles como estabilidad, fiabilidad, documentación, ... Si dices que es lo que te interesa de un orm, te prometo ser lo más objetivo que pueda dentro de mis capacidades y limitaciones ;-) Un saludo: Javi From med.swl en gmail.com Wed Mar 17 14:27:51 2010 From: med.swl en gmail.com (Medardo Rodriguez (Merchise Group)) Date: Wed, 17 Mar 2010 09:27:51 -0400 Subject: [Python-es] cubo perfecto In-Reply-To: <3adaa5e61003150853l3dce382fq8386919764d85b4e@mail.gmail.com> References: <733480924.9435071268662828142.JavaMail.root@ucimail1.uci.cu> <590507717.9437671268663139714.JavaMail.root@ucimail1.uci.cu> <3adaa5e61003150853l3dce382fq8386919764d85b4e@mail.gmail.com> Message-ID: <4891add71003170627u46c5ebbcxff64894a68e3ee8a@mail.gmail.com> # -*- coding: utf-8 -*- def check_cube(value): base = int(round(value**(1.0/3), 0)) return (base**3 == value, base) if __name__ == '__main__': ok, base = check_cube(input('Número a calcular si es cubo perfecto: ')) if (ok): print 'Es CUBO PERFECTO de:', base else: print 'NO es cubo perfecto' Saludos From jcaballero.hep en gmail.com Wed Mar 17 15:39:12 2010 From: jcaballero.hep en gmail.com (Jose Caballero) Date: Wed, 17 Mar 2010 10:39:12 -0400 Subject: [Python-es] ORM de django vs SQLAlchemy In-Reply-To: <49414f571003161654r35d2451dl6d265425aa8e6f72@mail.gmail.com> References: <49414f571003161654r35d2451dl6d265425aa8e6f72@mail.gmail.com> Message-ID: El 16 de marzo de 2010 19:54, lasizoillo escribió: > El día 16 de marzo de 2010 20:12, Jose Caballero > escribió: > > Hola, > > > > > > necesito una comparación objetiva (no basada en experiencia ni opiniones > > personales) entre el ORM de django y SQLAlchemy. He buscado un poco en > > google, pero casi todo lo que encuentro es feedback, gente contando su > > experiencia personal, etc. > > Si alguien tiene un link donde pueda ver una comparación técnica entre > ambos > > sistemas estaría enormemente agradecido. Si lo encuentro yo antes lo > mandaré > > a la lista. > > > > Creo que vas a tener que dar tu información subjetiva de lo que es > útil en una comparación objetiva. A bote pronto se me ocurren varias > decenas de cosas a comparar de una manera "objetiva". > > Un ejemplo de comparación "objetiva" es hacer un test de velocidad de > consultas. Ambos orm's tienen una capa de abstracción sobre un acceso > raw a la base de datos. El raw en ambos casos es mucho más rápido que > el más abstracto, pero no creo que esto sea relevante porque no es el > modo de trabajo normal. Aunque compares ambos orm's en modo raw y en > modo orm, aún queda una prueba que hacer: SQLAlchemy tiene soporte de > varias bases de datos que Django no tiene en la versión estable > (posiblemente salga a finales de este mes o a lo largo del siguiente). > Con soporte multidatabase y un sistema de replicación puedes hacer > balanceo de consultas. Distintos grados de complejidad de querys > pueden ofrecer diferentes datos de velocidades también. > > Si una cosa tan tonta como ver cuál es más rápido tiene un montón de > complicaciones, imagina otros detalles como estabilidad, fiabilidad, > documentación, ... > > Si dices que es lo que te interesa de un orm, te prometo ser lo más > objetivo que pueda dentro de mis capacidades y limitaciones ;-) > > Un saludo: > > Javi > Hola Javi, veo que tienes razón, y una comparación entre ambos productos no es tan sencilla. Creo que necesito pensar en la pregunta antes de obtener una respuesta, o ésta será 42. El hecho de que django aún no de soporte estable a consultas multi-db es un dato importante en mi caso. Tengo que lidiar con 3 bases de datos distintas a la vez. La velocidad no es, de momento, un factor crucial. El otro factor que es importante para mí, y creo que ahí es donde se nota mi inexperiencia, es que necesito crear clases que incluyan no sólo el resultado de cada 'query' (por lo que asumo las clases serán en parte una réplica de mi 'schema') sino además mis propios métodos para hacer análisis estadístico con los resultados de los 'queries', etc. Aunque imagino que será igual de fácil en ambos casos, con una simple herencia de clases o similar. En cualquier caso, muchas gracias por tu respuesta. Creo que necesito estudiar más antes de poder plantear la pregunta de forma más precisa. Saludos, Jose ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From qualopec en gmail.com Wed Mar 17 15:47:28 2010 From: qualopec en gmail.com (Javier Santana) Date: Wed, 17 Mar 2010 15:47:28 +0100 Subject: [Python-es] ORM de django vs SQLAlchemy In-Reply-To: References: <49414f571003161654r35d2451dl6d265425aa8e6f72@mail.gmail.com> Message-ID: > El otro factor que es importante para mí, y creo que ahí es donde se nota mi > inexperiencia, es que necesito crear clases que incluyan no sólo el > resultado de cada 'query' (por lo que asumo las clases serán en parte una > réplica de mi 'schema') sino además mis propios métodos para hacer análisis > estadístico con los resultados de los 'queries', etc. Aunque imagino que > será igual de fácil en ambos casos, con una simple herencia de clases o > similar. Yo creo qu deberías tener en cuenta, si usas django, que la mayoría de plugins que tiene usan el ORM que trae django y esa es un tema a valorar. Además, en django (igual que en SQLObject) se mapea la clase a la tabla, así que tener métodos de la clase que sirvan para trabajar con esos datos es simple. De hecho recomiendan hacerlo así (fat models). Un saludo. From lasizoillo en gmail.com Wed Mar 17 16:58:46 2010 From: lasizoillo en gmail.com (lasizoillo) Date: Wed, 17 Mar 2010 16:58:46 +0100 Subject: [Python-es] ORM de django vs SQLAlchemy In-Reply-To: References: <49414f571003161654r35d2451dl6d265425aa8e6f72@mail.gmail.com> Message-ID: <49414f571003170858m2ff44978r64b8503c6c758587@mail.gmail.com> El día 17 de marzo de 2010 15:39, Jose Caballero escribió: > El hecho de que django aún no de soporte estable a consultas multi-db es un > dato importante en mi caso. Tengo que lidiar con 3 bases de datos distintas > a la vez. Doc de la versión estable de sqlalchemy: http://www.sqlalchemy.org/docs/05/session.html#partitioning-strategies Doc de la versión inestable de django: http://docs.djangoproject.com/en/dev/topics/db/multi-db/#topics-db-multi-db > El otro factor que es importante para mí, y creo que ahí es donde se nota mi > inexperiencia, es que necesito crear clases que incluyan no sólo el > resultado de cada 'query' (por lo que asumo las clases serán en parte una > réplica de mi 'schema') sino además mis propios métodos para hacer análisis > estadístico con los resultados de los 'queries', etc. Aunque imagino que > será igual de fácil en ambos casos, con una simple herencia de clases o > similar. No se a que te refieres con "análisis estadístico de los resultados de los 'queries'". Puedes hacer cosas como las siguientes en ambos ORM's: * Extender las clases para crear campos que no existen en las tablas (ejemplo: calculando datos a través de otros campos). * Tener consultas preestablecidas * Puedes hacer consultas agregadas (sum, avg, ...) * ... Temas de funciones de ventana como las que están soportadas por motores como postgresql y oracle no se si se pueden hacer directamente con alguno de los dos ORM's: http://developer.postgresql.org/pgdocs/postgres/tutorial-window.html Si necesitas hacer muchas cosas "raras" con la base de datos, es posible que un ORM sea más problemático que no usarlo. Pero si vas a hacer cosas que tu ORM soporta, la base de datos se convierte en una comodity que puedes reemplazar con facilidad. > > En cualquier caso, muchas gracias por tu respuesta. Creo que necesito > estudiar más antes de poder plantear la pregunta de forma más precisa. > > Ahora voy a hacer comentarios claramente subjetivos: * Si vas a usar django, lo mejor es usar el orm de django. Usar SQLAlchemy puede implicar que el resto de cosas que hacen atractivo a django no te funcionen. * SQLAlchemy es mucho más avanzado y tiene muchas más cosas. Pero también supone una curva de aprendizaje mayor. Si el ORM de django te es suficiente, seguramente no te compense pegarse con SQLAlchemy. * Django mola. El ciclo de desarrollo con él es brutalmente rápido. Un saludo: Javi From inf200523 en ucf.edu.cu Wed Mar 17 17:42:29 2010 From: inf200523 en ucf.edu.cu (Boris Perez Canedo) Date: Wed, 17 Mar 2010 12:42:29 -0400 (EDT) Subject: [Python-es] Socket SSL In-Reply-To: <20100316210109.GA15114@viper.server01.org> References: <20100316210109.GA15114@viper.server01.org> Message-ID: <1149.10.14.19.12.1268844149.squirrel@correo.ucf.edu.cu> > Hola > > Estoy intentando usar SSL sobre un socket que tengo establecido entre un > cliente y un servidor pero no consigo que me funcione. Me da un error al > inicializar el SSL. > > Comentar que uso Python 2.5 y uso `socket.ssl()' en vez de > `ssl.wrap_socket()'. > > El error que me da es: > socket.sslerror: (1, 'error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown > protocol') > > El código que ejecuto es: > > ############# Cliente ############# > import socket > s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) > s.connect(('localhost', 6666)) > ss = socket.ssl(s) > ################################### > > ############## Servidor ########## > import socket > s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) > s.bind(('', 6666)) > s.listen(5) > s1, c = s.accept() > ss = socket.ssl(s1) > ################################## > > He intentado a usar `socket.ssl()' en diferentes sitios como antes y > depués del `accept()' y del `connect()' pero no consigo solucionarlo. > El error me da cuando intento empezar a utilizar SSL porque ni siquiera > llego a hacer un read/write sobre el `ss'. > > ¿Alguna pista de que estoy haciendo mal? > > > Un saludo y gracias de antemano. > -- > Ricardo  Hola Ricardo Me parece que no tienes definido el protocolo ni el certificado que vas a usar usa PROTOCOL_SSLv23 que me parece viene por defecto para los clientes, almenos eso pasa para xmlrpclib. Trata de poner esto en el servidor, a mi me funciono para crear conexiones "seguras" entre un servidor xmlrpc y en cliente. #de la ayuda de python 2.6 import socket, ssl bindsocket = socket.socket() bindsocket.bind(('localhost', 8000)) bindsocket.listen(5) newsocket, addr = bindsocket.accept() sslsocket =ssl.wrap_socket(newsocket,                                 server_side=True,                                 certfile="el path a tu certificado",                                 keyfile="el path a tu llave privada",                                 ssl_version=ssl.PROTOCOL_SSLv23) usa ahora sslsocket para lo que quieras hacer. Para generar el certificado autofirmado y la llave usa el comando openssl Saludos, Boris. --- La mejor vacuna contra el virus A(H1N1) es la higiene personal ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From py en ch3m4.org Wed Mar 17 19:27:47 2010 From: py en ch3m4.org (Chema Cortes) Date: Wed, 17 Mar 2010 19:27:47 +0100 Subject: [Python-es] =?iso-8859-1?q?=5BANN=5D_Anulada_la_recepci=F3n_de_re?= =?iso-8859-1?q?copilatorios_de_la_lista?= Message-ID: <4BA11F23.5060301@ch3m4.org> Ante el continuado abuso que estábamos comprobando en el uso de los recopilatorios ("digests"), y visto que éstos habían despertado molestias en bastantes usuarios, los administradores de esta lista hemos creído conveniente desactivar completamente esta opción, con lo que la única forma de entrega de mensajes será la "entrega regular" (que era la opción por defecto). Aquellos suscriptores que habían activado la "entrega como recopilatorio" recibirán hoy el último recopilatorio. A partir de ahora, cada mensaje enviado a la lista llegará a cada suscriptor como un correo separado. Este cambio no requiere ninguna intervención por parte del suscriptor. Lamentamos todo inconveniente que esta medida haya podido causar. Saludos, Chema Cortés Administrador de la lista python-es en python.org From kikocorreoso en gmail.com Wed Mar 17 20:02:00 2010 From: kikocorreoso en gmail.com (Kiko) Date: Wed, 17 Mar 2010 20:02:00 +0100 Subject: [Python-es] =?iso-8859-1?q?=5BANN=5D_Anulada_la_recepci=F3n_de_re?= =?iso-8859-1?q?copilatorios_de_la_lista?= In-Reply-To: <4BA11F23.5060301@ch3m4.org> References: <4BA11F23.5060301@ch3m4.org> Message-ID: <1b6058651003171202p92aaaa9i271ca9eeacadc9f@mail.gmail.com> El 17 de marzo de 2010 19:27, Chema Cortes escribió: > Ante el continuado abuso que estábamos comprobando en el uso de los > recopilatorios ("digests"), y visto que éstos habían despertado > molestias en bastantes usuarios, los administradores de esta lista hemos > creído conveniente desactivar completamente esta opción, con lo que la > única forma de entrega de mensajes será la "entrega regular" (que era la > opción por defecto). > > Aquellos suscriptores que habían activado la "entrega como > recopilatorio" recibirán hoy el último recopilatorio. A partir de ahora, > cada mensaje enviado a la lista llegará a cada suscriptor como un correo > separado. > > Este cambio no requiere ninguna intervención por parte del suscriptor. > > Lamentamos todo inconveniente que esta medida haya podido causar. > > > Saludos, > Chema Cortés > Administrador de la lista python-es en python.org > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > Yo mismo causé problemas a la lista con los digest por desconocimiento. Me parece una medida acertada. Gracias y saludos. ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From marcosgdf en gmail.com Wed Mar 17 20:03:10 2010 From: marcosgdf en gmail.com (=?ISO-8859-1?Q?Marcos_Garc=EDa?=) Date: Wed, 17 Mar 2010 20:03:10 +0100 Subject: [Python-es] =?iso-8859-1?q?=5BANN=5D_Anulada_la_recepci=F3n_de_re?= =?iso-8859-1?q?copilatorios_de_la_lista?= In-Reply-To: <1b6058651003171202p92aaaa9i271ca9eeacadc9f@mail.gmail.com> References: <4BA11F23.5060301@ch3m4.org> <1b6058651003171202p92aaaa9i271ca9eeacadc9f@mail.gmail.com> Message-ID: Pues a mi no me gusta que se quiten, pero tampoco me molesta tanto no tenerlos... Saludos. 2010/3/17 Kiko > > El 17 de marzo de 2010 19:27, Chema Cortes escribió: > > Ante el continuado abuso que estábamos comprobando en el uso de los >> recopilatorios ("digests"), y visto que éstos habían despertado >> molestias en bastantes usuarios, los administradores de esta lista hemos >> creído conveniente desactivar completamente esta opción, con lo que la >> única forma de entrega de mensajes será la "entrega regular" (que era la >> opción por defecto). >> >> Aquellos suscriptores que habían activado la "entrega como >> recopilatorio" recibirán hoy el último recopilatorio. A partir de ahora, >> cada mensaje enviado a la lista llegará a cada suscriptor como un correo >> separado. >> >> Este cambio no requiere ninguna intervención por parte del suscriptor. >> >> Lamentamos todo inconveniente que esta medida haya podido causar. >> >> >> Saludos, >> Chema Cortés >> Administrador de la lista python-es en python.org >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> > > Yo mismo causé problemas a la lista con los digest por desconocimiento. > > Me parece una medida acertada. > > Gracias y saludos. > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > -- marcos garcía // marcosgdf en gmail.com ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From darkrho en gmail.com Wed Mar 17 20:08:11 2010 From: darkrho en gmail.com (Rolando Espinoza La Fuente) Date: Wed, 17 Mar 2010 15:08:11 -0400 Subject: [Python-es] =?utf-8?q?=5BANN=5D_Anulada_la_recepci=C3=B3n_de_reco?= =?utf-8?q?pilatorios_de_la_lista?= In-Reply-To: <4BA11F23.5060301@ch3m4.org> References: <4BA11F23.5060301@ch3m4.org> Message-ID: <4eca3f41003171208w36266e02vf89010204053fb02@mail.gmail.com> 2010/3/17 Chema Cortes : [...] > > Aquellos suscriptores que habían activado la "entrega como > recopilatorio" recibirán hoy el último recopilatorio. A partir de ahora, > cada mensaje enviado a la lista llegará a cada suscriptor como un correo > separado. > > Este cambio no requiere ninguna intervención por parte del suscriptor. > Acertada decisión. En varias listas que participo es el problema común, muchos usuarios nuevos no estan familiarizados con mailman y seleccionan la opción digest, y luego por su desconocimiento reciben tabla por la netiquette :) Saludos, Rolando From inf200523 en ucf.edu.cu Wed Mar 17 20:18:05 2010 From: inf200523 en ucf.edu.cu (Boris Perez Canedo) Date: Wed, 17 Mar 2010 15:18:05 -0400 (EDT) Subject: [Python-es] Socket SSL In-Reply-To: <20100316210109.GA15114@viper.server01.org> References: <20100316210109.GA15114@viper.server01.org> Message-ID: <3326.10.14.19.12.1268853485.squirrel@correo.ucf.edu.cu> > Estoy intentando usar SSL sobre un socket que tengo establecido entre un > cliente y un servidor pero no consigo que me funcione. Me da un error al > inicializar el SSL. >  > Comentar que uso Python 2.5 y uso `socket.ssl()' en vez de > `ssl.wrap_socket()'. Disculpa me salte esta parte. Nunca he utilizado socket.ssl() pero me imagino que deba ser similar, o sea, pienso que debes crear los ficheros: certificado y llave privada y que tambien debas especificar la version del ssl como te decia en el comentario anterior. Lo del error creo que se debe a que no puede hacer el handshake... Saludos. Boris. --- La mejor vacuna contra el virus A(H1N1) es la higiene personal ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From jimenezrick en gmail.com Wed Mar 17 20:22:14 2010 From: jimenezrick en gmail.com (Ricardo Catalinas =?iso-8859-1?Q?Jim=E9nez?=) Date: Wed, 17 Mar 2010 20:22:14 +0100 Subject: [Python-es] Socket SSL In-Reply-To: <3326.10.14.19.12.1268853485.squirrel@correo.ucf.edu.cu> References: <20100316210109.GA15114@viper.server01.org> <3326.10.14.19.12.1268853485.squirrel@correo.ucf.edu.cu> Message-ID: <20100317192214.GA5787@viper.server01.org> Gracias por la ayuda. El caso es que he visto por ahí leyendo que en Python 2.5 no hay soporte de SSL del lado del servidor así que justo que lo quería hacer, no se puede. En 2.6 está solucionado con el nuevo módulo SSL. Ciao. On Wed, Mar 17, 2010 at 03:18:05PM -0400, Boris Perez Canedo wrote: > > > > Estoy intentando usar SSL sobre un socket que tengo establecido entre un > > > cliente y un servidor pero no consigo que me funcione. Me da un error al > > > inicializar el SSL. > >? > > > Comentar que uso Python 2.5 y uso > `socket.ssl()' en vez de > > `ssl.wrap_socket()'. > > Disculpa me salte > esta parte. > Nunca he utilizado socket.ssl() pero me imagino que deba ser similar, o > sea, pienso que debes crear los ficheros: certificado y llave?privada y que tambien > debas especificar la version del ssl como te decia en el comentario anterior. > > Lo del error creo que se debe a que no puede hacer el handshake... > > Saludos. > Boris. > > > > --- > La mejor vacuna contra el virus A(H1N1) es la higiene personal > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ -- Ricardo From pych3m4 en gmail.com Wed Mar 17 22:15:53 2010 From: pych3m4 en gmail.com (Chema Cortes) Date: Wed, 17 Mar 2010 22:15:53 +0100 Subject: [Python-es] ORM de django vs SQLAlchemy In-Reply-To: References: <49414f571003161654r35d2451dl6d265425aa8e6f72@mail.gmail.com> Message-ID: <2c9fb0dd1003171415p3f81c5cbs773b9feb3f356e5b@mail.gmail.com> El día 17 de marzo de 2010 15:39, Jose Caballero escribió: > El hecho de que django aún no de soporte estable a consultas multi-db es un > dato importante en mi caso. Tengo que lidiar con 3 bases de datos distintas > a la vez. > > La velocidad no es, de momento, un factor crucial. > > El otro factor que es importante para mí, y creo que ahí es donde se nota mi > inexperiencia, es que necesito crear clases que incluyan no sólo el > resultado de cada 'query' (por lo que asumo las clases serán en parte una > réplica de mi 'schema') sino además mis propios métodos para hacer análisis > estadístico con los resultados de los 'queries', etc. Aunque imagino que > será igual de fácil en ambos casos, con una simple herencia de clases o > similar. Deberías haber empezado por lo que estabas buscando. SQLAlchemy está llamado a convertirse en un estándar; pero si vas a trabajar con django, no hay que pensar en nada más y usar lo que te ofrece django: es rápido y lo hace muy bien. Si es necesario, puedes combinar ambos ORM, siempre a costa de duplicar conexiones. Usa django ORM para el control de sesiones y otras facilidades propias de la gestión web que requieran diseños específicos de tablas, y usa alchemy para bases de datos que estén ya creadas por otras aplicaciones con las que quieras compartir diseño y código. Alchemy destaca por ser multibase, con mejor soporte para un mayor número de SGDBs, con claves primarias y externas multicolumna, joins reales, etc, etc. Y es muy robusto. Para mí (opinión subjetiva) los ORMs no se pueden comparar correctamente sin precisar qué base de datos vas a usar. Comparar ORMs para luego usar sqlite como que no tiene mucho sentido. From jcaballero.hep en gmail.com Wed Mar 17 23:21:47 2010 From: jcaballero.hep en gmail.com (Jose Caballero) Date: Wed, 17 Mar 2010 18:21:47 -0400 Subject: [Python-es] ORM de django vs SQLAlchemy In-Reply-To: <2c9fb0dd1003171415p3f81c5cbs773b9feb3f356e5b@mail.gmail.com> References: <49414f571003161654r35d2451dl6d265425aa8e6f72@mail.gmail.com> <2c9fb0dd1003171415p3f81c5cbs773b9feb3f356e5b@mail.gmail.com> Message-ID: On Mar 17, 2010, at 17:15, Chema Cortes wrote: > El día 17 de marzo de 2010 15:39, Jose Caballero > escribió: > >> El hecho de que django aún no de soporte estable a consultas multi >> -db es un >> dato importante en mi caso. Tengo que lidiar con 3 bases de datos >> distintas >> a la vez. >> >> La velocidad no es, de momento, un factor crucial. >> >> El otro factor que es importante para mí, y creo que ahí es donde >> se nota mi >> inexperiencia, es que necesito crear clases que incluyan no sólo el >> resultado de cada 'query' (por lo que asumo las clases serán en pa >> rte una >> réplica de mi 'schema') sino además mis propios métodos para hacer >> análisis >> estadístico con los resultados de los 'queries', etc. Aunque imagi >> no que >> será igual de fácil en ambos casos, con una simple herencia de cla >> ses o >> similar. > > Deberías haber empezado por lo que estabas buscando. SQLAlchemy está > llamado a convertirse en un estándar; pero si vas a trabajar con > django, no hay que pensar en nada más y usar lo que te ofrece django: > es rápido y lo hace muy bien. Si es necesario, puedes combinar ambos > ORM, siempre a costa de duplicar conexiones. Usa django ORM para el > control de sesiones y otras facilidades propias de la gestión web que > requieran diseños específicos de tablas, y usa alchemy para bases de > datos que estén ya creadas por otras aplicaciones con las que quieras > compartir diseño y código. Alchemy destaca por ser multibase, con > mejor soporte para un mayor número de SGDBs, con claves primarias y > externas multicolumna, joins reales, etc, etc. Y es muy robusto. > > Para mí (opinión subjetiva) los ORMs no se pueden comparar > correctamente sin precisar qué base de datos vas a usar. Comparar OR > Ms > para luego usar sqlite como que no tiene mucho sentido. En mi caso concreto son bases de datos Oracle. Las tablas ya estan creadas, y los esquemas son fijos. Lo que necesito es hacer muchas consultas solo-lectura a esas DB, procesar el resultado (hacer graficos y esas cosas) y, de vez en cuando, modificar el contenido de una de las tablas. El tamagno de las tablas a leer es del orden de 10 millones de entradas por tabla. Gracias por las respuestas, Jose From py en ch3m4.org Thu Mar 18 04:06:22 2010 From: py en ch3m4.org (Chema Cortes) Date: Thu, 18 Mar 2010 04:06:22 +0100 Subject: [Python-es] ORM de django vs SQLAlchemy In-Reply-To: References: <49414f571003161654r35d2451dl6d265425aa8e6f72@mail.gmail.com> <2c9fb0dd1003171415p3f81c5cbs773b9feb3f356e5b@mail.gmail.com> Message-ID: <4BA198AE.8070301@ch3m4.org> On 17/03/10 23:21, Jose Caballero wrote: > En mi caso concreto son bases de datos Oracle. Las tablas ya estan > creadas, y los esquemas son fijos. Lo que necesito es hacer muchas > consultas solo-lectura a esas DB, procesar el resultado (hacer > graficos y esas cosas) y, de vez en cuando, modificar el contenido de > una de las tablas. El tamagno de las tablas a leer es del orden de 10 > millones de entradas por tabla. Una diferencia fundamental entre django ORM y Alchemy cuando usas bases de datos ya creadas (databases "legacy") es que la introspección de django se limita a crear un modelo nuevo a partir del que tienes, pero no siempre es posible usar la tablas originales sin modificación. Por contra, Alchemy ofrece muchas más posibilidades de mapear cualquier tabla, vista o query a una clase, sin alteración del modelo original. Yo tuve un problema similar, donde django no funcionaba a no ser que modificara mis tablas originales de oracle. Por simpleza, terminé construyendo un nuevo modelo de datos ajustado a las necesidades de django donde pasaba puntualmente los datos que necesitaba en cada momento. En tu caso no parece que sea lo recomendable, por lo que o bien utiliza alchemy o bien extrae los datos sin pasar por un ORM (que no es obligado). From dani en danigm.net Thu Mar 18 09:01:28 2010 From: dani en danigm.net (Daniel Garcia) Date: Thu, 18 Mar 2010 09:01:28 +0100 Subject: [Python-es] ORM de django vs SQLAlchemy In-Reply-To: <4BA198AE.8070301@ch3m4.org> References: <49414f571003161654r35d2451dl6d265425aa8e6f72@mail.gmail.com> <2c9fb0dd1003171415p3f81c5cbs773b9feb3f356e5b@mail.gmail.com> <4BA198AE.8070301@ch3m4.org> Message-ID: <1268899288.2638.4.camel@tate> El jue, 18-03-2010 a las 04:06 +0100, Chema Cortes escribió: > On 17/03/10 23:21, Jose Caballero wrote: > > En mi caso concreto son bases de datos Oracle. Las tablas ya estan > > creadas, y los esquemas son fijos. Lo que necesito es hacer muchas > > consultas solo-lectura a esas DB, procesar el resultado (hacer > > graficos y esas cosas) y, de vez en cuando, modificar el contenido de > > una de las tablas. El tamagno de las tablas a leer es del orden de 10 > > millones de entradas por tabla. > > Una diferencia fundamental entre django ORM y Alchemy cuando usas bases > de datos ya creadas (databases "legacy") es que la introspección de > django se limita a crear un modelo nuevo a partir del que tienes, pero > no siempre es posible usar la tablas originales sin modificación. Por > contra, Alchemy ofrece muchas más posibilidades de mapear cualquier > tabla, vista o query a una clase, sin alteración del modelo original. > > Yo tuve un problema similar, donde django no funcionaba a no ser que > modificara mis tablas originales de oracle. Por simpleza, terminé > construyendo un nuevo modelo de datos ajustado a las necesidades de > django donde pasaba puntualmente los datos que necesitaba en cada > momento. En tu caso no parece que sea lo recomendable, por lo que o bien > utiliza alchemy o bien extrae los datos sin pasar por un ORM (que no es > obligado). Además sqlalchemy tiene una cosa muy chula que es el sqlsoup [1] con el que puedes acceder a las tablas como si hubieras creado los modelos pero sin tener que hacerlo. Osea, si ya tienes la base de datos creada, utilizas sqlsoup y no tendrás que declarar las clases con todas las columnas y sus tipos. En mi blog tengo un ejemplo [2] [1] http://www.sqlalchemy.org/trac/wiki/SqlSoup [2] http://danigm.net/node/92 ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 197 bytes Desc: Esto es una parte de mensaje firmado digitalmente URL: From eldanid en gmail.com Thu Mar 18 16:55:49 2010 From: eldanid en gmail.com (=?ISO-8859-1?Q?Daniel_Mu=F1oz?=) Date: Thu, 18 Mar 2010 10:55:49 -0500 Subject: [Python-es] Uso de wxGrid In-Reply-To: <24ea26601003161029t4656f0edq94b2ba2c83a1ca0c@mail.gmail.com> References: <618a13c51002240204l74e1bb5diea3f7deef0bb90b6@mail.gmail.com> <24ea26601003161029t4656f0edq94b2ba2c83a1ca0c@mail.gmail.com> Message-ID: <320337d61003180855r1000ee5k504d49b0db69f52e@mail.gmail.com> > > Por Favor le pido que no me envie mas informacion de Phyton pus no estoy > interesado en esto GRACIAS > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From jokame en gmail.com Thu Mar 18 20:34:47 2010 From: jokame en gmail.com (jOkAmE) Date: Thu, 18 Mar 2010 13:34:47 -0600 Subject: [Python-es] =?iso-8859-1?q?manejo_de_im=E1genes_sin_PIL?= Message-ID: Hola a todos. ¿Es posible trabajar con las imágenes y trabajar con ellas sin hacer uso de la librería de imágenes para Pythono alguna otra? Trabajar con ellas "a mano" con los datos crudos. Saludos. -- ¿Quiere dios prevenir el mal pero no puede? Entonces no es omnipotente. ¿Es capaz, pero no quiere? Entonces es malévolo. ¿Está capaz y dispuesto? ¿Entonces de dónde sale el mal?. ¿No está ni capaz ni dispuesto? ¿Entonces por qué le llaman dios? Epicureo, Filósofo griego, 341 A.C. -- 270 A.C. http://adivulgar.com.mx http://proyectofedora.org/mexico/ http://jokame.photoblog.com/ From felixpalazuelos en gmail.com Thu Mar 18 22:19:35 2010 From: felixpalazuelos en gmail.com (=?ISO-8859-1?Q?F=E9lix_Palazuelos_P=E9rez?=) Date: Thu, 18 Mar 2010 22:19:35 +0100 Subject: [Python-es] =?iso-8859-1?q?manejo_de_im=E1genes_sin_PIL?= In-Reply-To: References: Message-ID: <7a26ef991003181419g1fa63cdfi348e5b9116a657b@mail.gmail.com> Una imagen es un fichero, por poder puedes. Una imagen no es más que un array de pixeles, pero joder. ¿Porqué no usar la librería? ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From jcaballero.hep en gmail.com Thu Mar 18 23:00:47 2010 From: jcaballero.hep en gmail.com (Jose Caballero) Date: Thu, 18 Mar 2010 18:00:47 -0400 Subject: [Python-es] ORM de django vs SQLAlchemy In-Reply-To: <1268899288.2638.4.camel@tate> References: <49414f571003161654r35d2451dl6d265425aa8e6f72@mail.gmail.com> <2c9fb0dd1003171415p3f81c5cbs773b9feb3f356e5b@mail.gmail.com> <4BA198AE.8070301@ch3m4.org> <1268899288.2638.4.camel@tate> Message-ID: On Mar 18, 2010, at 4:01, Daniel Garcia wrote: > El jue, 18-03-2010 a las 04:06 +0100, Chema Cortes escribió: >> On 17/03/10 23:21, Jose Caballero wrote: >>> En mi caso concreto son bases de datos Oracle. Las tablas ya estan >>> creadas, y los esquemas son fijos. Lo que necesito es hacer muchas >>> consultas solo-lectura a esas DB, procesar el resultado (hacer >>> graficos y esas cosas) y, de vez en cuando, modificar el contenido >>> de >>> una de las tablas. El tamagno de las tablas a leer es del orden de >>> 10 >>> millones de entradas por tabla. >> >> Una diferencia fundamental entre django ORM y Alchemy cuando usas >> bases >> de datos ya creadas (databases "legacy") es que la introspección de >> django se limita a crear un modelo nuevo a partir del que tienes, >> pero >> no siempre es posible usar la tablas originales sin modificación. >> Por >> contra, Alchemy ofrece muchas más posibilidades de mapear cualquier >> tabla, vista o query a una clase, sin alteración del modelo origin >> al. >> >> Yo tuve un problema similar, donde django no funcionaba a no ser que >> modificara mis tablas originales de oracle. Por simpleza, terminé >> construyendo un nuevo modelo de datos ajustado a las necesidades de >> django donde pasaba puntualmente los datos que necesitaba en cada >> momento. En tu caso no parece que sea lo recomendable, por lo que o >> bien >> utiliza alchemy o bien extrae los datos sin pasar por un ORM (que >> no es >> obligado). > > Además sqlalchemy tiene una cosa muy chula que es el sqlsoup [1] con > el > que puedes acceder a las tablas como si hubieras creado los modelos > pero > sin tener que hacerlo. Osea, si ya tienes la base de datos creada, > utilizas sqlsoup y no tendrás que declarar las clases con todas las > columnas y sus tipos. En mi blog tengo un ejemplo [2] > > [1] http://www.sqlalchemy.org/trac/wiki/SqlSoup > [2] http://danigm.net/node/92 Muchas gracias a todos por vuestros comentarios. Saludos, Jose From pablocarrai en gmail.com Fri Mar 19 00:47:56 2010 From: pablocarrai en gmail.com (Pablo) Date: Thu, 18 Mar 2010 20:47:56 -0300 Subject: [Python-es] =?iso-8859-1?q?manejo_de_im=E1genes_sin_PIL?= In-Reply-To: References: Message-ID: 2010/3/18 jOkAmE > Hola a todos. ¿Es posible trabajar con las imágenes y trabajar con > ellas sin hacer uso de la librería de imágenes para Pythono alguna > otra? Trabajar con ellas "a mano" con los datos crudos. Saludos. > > En una de esas mas allá de no querer usar esa librería. Imagino que seria bueno poder ver como resolvió ciertos problemas el que programo esa librería. Puede que de ahí a vos se te ocurra una mejor o diferente manera de hacer algo o lo que necesites. -- Pablo ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From inigo_aldazabal en ehu.es Fri Mar 19 00:42:40 2010 From: inigo_aldazabal en ehu.es (Inigo Aldazabal Mensa) Date: Fri, 19 Mar 2010 00:42:40 +0100 Subject: [Python-es] =?iso-8859-1?q?manejo_de_im=E1genes_sin_PIL?= In-Reply-To: References: Message-ID: <201003190042.40555.inigo_aldazabal@ehu.es> El Jueves, 18 de Marzo de 2010, jOkAmE escribió: > Hola a todos. ¿Es posible trabajar con las imágenes y trabajar con > ellas sin hacer uso de la librería de imágenes para Pythono alguna > otra? Trabajar con ellas "a mano" con los datos crudos. Saludos. A no ser que sea un bitmap u otro formato sin comrpimir forzosamente tendrás que usar una librería para pasar de los datos comprimidos, p.ej. jpeg o png, a los datos "crudos" como dices. A no ser que quieras implementar a mano la descompresión claro, cosa que dudo. Una vez tienes los datos crudos (el rgb para cada pixel normalmente) los representas en una matriz y y puedes tratar con ellos directamente a mano si quieres. Pero si usas algún formato comprimido como digo no te libras de usar alguna librería para descomprimir la imagen al bitmap. Hace poco hice algo así creo recordar que usando algún módulo de numpy o scipy que directamente pasaba el fichero a un array de numpy, pero fue tan rápida de encontrar la función exacta que ni guarde la referencia. Iñigo From lasizoillo en gmail.com Fri Mar 19 01:19:46 2010 From: lasizoillo en gmail.com (lasizoillo) Date: Fri, 19 Mar 2010 01:19:46 +0100 Subject: [Python-es] =?utf-8?q?manejo_de_im=C3=A1genes_sin_PIL?= In-Reply-To: <201003190042.40555.inigo_aldazabal@ehu.es> References: <201003190042.40555.inigo_aldazabal@ehu.es> Message-ID: <49414f571003181719n6bd6926dmed3daf337f94ed50@mail.gmail.com> El día 19 de marzo de 2010 00:42, Inigo Aldazabal Mensa escribió: > El Jueves, 18 de Marzo de 2010, jOkAmE escribió: >> Hola a todos. ¿Es posible trabajar con las imágenes y trabajar con >> ellas sin hacer uso de la librería de imágenes para Pythono alguna >> otra? Trabajar con ellas "a mano" con los datos crudos. Saludos. > > A no ser que sea un bitmap u otro formato sin comrpimir forzosamente > tendrás que usar una librería para pasar de los datos comprimidos, p.ej. > jpeg o png, a los datos "crudos" como dices. A no ser que quieras > implementar a mano la descompresión claro, cosa que dudo. > Hasta los bmp's tienen compresión (RLE), que en este caso se puede implementar muy fácil. Pero el tema de la compresión no es el mayor de los problemas. Algo tan tonto como cambiar el tamaño de la imagen en la cabecera de la imagen puede hacer que una mala librería acabe con toda la ram de un equipo. Tener que lidiar con esos "pequeños" detalles hacen que el código de validaciones de un formato como el bmp sea mayor que el código necesario para leerlo. Por suerte, si lo hace en python, no tendrá que preocuparse por desbordamientos de buffers y ejecución de código arbitrario. A modo de curiosiodad está bien hacer la prueba. Aprenderá un montón sobre formatos gráficos y sistemas de compresión. Pero yo tampoco le recomendaría hacerlo si no es por un motivo de fuerza mayor. La vida es demasiado corta para perderla el tiempo volviendo a programar lo que ya está programado. Saludos: Javi From jokame en gmail.com Fri Mar 19 02:36:55 2010 From: jokame en gmail.com (jOkAmE) Date: Thu, 18 Mar 2010 19:36:55 -0600 Subject: [Python-es] =?iso-8859-1?q?manejo_de_im=E1genes_sin_PIL?= In-Reply-To: <49414f571003181719n6bd6926dmed3daf337f94ed50@mail.gmail.com> References: <201003190042.40555.inigo_aldazabal@ehu.es> <49414f571003181719n6bd6926dmed3daf337f94ed50@mail.gmail.com> Message-ID: Es que es sólo para trabajar precisamente con los datos de la imagen. Justo es eso que quiero trabajar, agarrar un BMP y tener la matriz con los valores, y obtener cada uno de los canales para RGB. Y no es que quiera reprogramar todo, sólo quiero hacer algunas de las implementaciones sencillas que he visto en clase. Pero en clase sólo lo he visto con Builder-C++ y estaba pensando que en Python existe un modo parecido de trabajar con él. El día 18 de marzo de 2010 18:19, lasizoillo escribió: > El día 19 de marzo de 2010 00:42, Inigo Aldazabal Mensa > escribió: >> El Jueves, 18 de Marzo de 2010, jOkAmE escribió: >>> Hola a todos. ¿Es posible trabajar con las imágenes y trabajar con >>> ellas sin hacer uso de la librería de imágenes para Pythono alguna >>> otra? Trabajar con ellas "a mano" con los datos crudos. Saludos. >> >> A no ser que sea un bitmap u otro formato sin comrpimir forzosamente >> tendrás que usar una librería para pasar de los datos comprimidos, p.ej. >> jpeg o png, a los datos "crudos" como dices. A no ser que quieras >> implementar a mano la descompresión claro, cosa que dudo. >> > > Hasta los bmp's tienen compresión (RLE), que en este caso se puede > implementar muy fácil. Pero el tema de la compresión no es el mayor de > los problemas. Algo tan tonto como cambiar el tamaño de la imagen en > la cabecera de la imagen puede hacer que una mala librería acabe con > toda la ram de un equipo. Tener que lidiar con esos "pequeños" > detalles hacen que el código de validaciones de un formato como el bmp > sea mayor que el código necesario para leerlo. > > Por suerte, si lo hace en python, no tendrá que preocuparse por > desbordamientos de buffers y ejecución de código arbitrario. > > A modo de curiosiodad está bien hacer la prueba. Aprenderá un montón > sobre formatos gráficos y sistemas de compresión. Pero yo tampoco le > recomendaría hacerlo si no es por un motivo de fuerza mayor. La vida > es demasiado corta para perderla el tiempo volviendo a programar lo > que ya está programado. > > Saludos: > > Javi > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > -- ¿Quiere dios prevenir el mal pero no puede? Entonces no es omnipotente. ¿Es capaz, pero no quiere? Entonces es malévolo. ¿Está capaz y dispuesto? ¿Entonces de dónde sale el mal?. ¿No está ni capaz ni dispuesto? ¿Entonces por qué le llaman dios? Epicureo, Filósofo griego, 341 A.C. -- 270 A.C. http://adivulgar.com.mx http://proyectofedora.org/mexico/ http://jokame.photoblog.com/ From ricardo.cardenes en gmail.com Fri Mar 19 11:47:35 2010 From: ricardo.cardenes en gmail.com (=?ISO-8859-1?Q?Ricardo_C=E1rdenes_Medina?=) Date: Fri, 19 Mar 2010 10:47:35 +0000 Subject: [Python-es] =?iso-8859-1?q?manejo_de_im=E1genes_sin_PIL?= In-Reply-To: References: <201003190042.40555.inigo_aldazabal@ehu.es> <49414f571003181719n6bd6926dmed3daf337f94ed50@mail.gmail.com> Message-ID: <325adf7e1003190347pc004cc4xff1aace92ef3b3cf@mail.gmail.com> 2010/3/19 jOkAmE : > Es que es sólo para trabajar precisamente con los datos de la imagen. > Justo es eso que quiero trabajar, agarrar un BMP y tener la matriz con > los valores, y obtener cada uno de los canales para RGB. Y no es que > quiera reprogramar todo, sólo quiero hacer algunas de las > implementaciones sencillas que he visto en clase. Pero en clase sólo > lo he visto con Builder-C++ y estaba pensando que en Python existe un > modo parecido de trabajar con él. A ver que nos aclaremos. Si lo que quieres es trabajar con la imagen, pero tratando los datos en raw en una matriz en lugar de usando el API de PIL, eso lo puedes hacer sin problemas: usa PIL para leer los datos y obtener la matriz. Hay varias maneras de hacer esto, mediante Image.load, Image.tobitmap o Image.tostring, por ejemplo. De esa manera ahorrarás tener que escribir toda la parte del software que DECODIFICA la imagen, pero sigues teniendo acceso a los datos raw. From eldanid en gmail.com Fri Mar 19 17:49:23 2010 From: eldanid en gmail.com (=?ISO-8859-1?Q?Daniel_Mu=F1oz?=) Date: Fri, 19 Mar 2010 12:49:23 -0400 Subject: [Python-es] ORM de django vs SQLAlchemy In-Reply-To: References: <49414f571003161654r35d2451dl6d265425aa8e6f72@mail.gmail.com> <2c9fb0dd1003171415p3f81c5cbs773b9feb3f356e5b@mail.gmail.com> <4BA198AE.8070301@ch3m4.org> <1268899288.2638.4.camel@tate> Message-ID: <320337d61003190949x6e5d7a77ob3aed3602b4d010e@mail.gmail.com> Por favor señores de Python les pido que no me envien mas informacion ya que no estoy interesado GRACIAS ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From pyarnau en gmail.com Fri Mar 19 19:26:24 2010 From: pyarnau en gmail.com (Arnau Sanchez) Date: Fri, 19 Mar 2010 19:26:24 +0100 Subject: [Python-es] ORM de django vs SQLAlchemy In-Reply-To: <320337d61003190949x6e5d7a77ob3aed3602b4d010e@mail.gmail.com> References: <49414f571003161654r35d2451dl6d265425aa8e6f72@mail.gmail.com> <2c9fb0dd1003171415p3f81c5cbs773b9feb3f356e5b@mail.gmail.com> <4BA198AE.8070301@ch3m4.org> <1268899288.2638.4.camel@tate> <320337d61003190949x6e5d7a77ob3aed3602b4d010e@mail.gmail.com> Message-ID: <4BA3C1D0.30305@gmail.com> On 19/03/10 17:49, Daniel Muñoz wrote: > Por favor señores de Python les pido que no me envien mas informacion ya > que no estoy interesado GRACIAS Don Python no se encuentra en estos momentos ;-) pero aquí tienes la información que necesitas: http://python-es-faq.wikidot.com/#toc6 ... No, ahora en serio, Mailman tiene un problema, y es que es más fácil subscribirse que de-subscribirse. Alguna vez he soñado que la subscripción requería responder a una pequeña, sencillísima pregunta sobre cómo funcionan las listas de correos, y nos ahorrábamos cosas así. From pych3m4 en gmail.com Sat Mar 20 01:07:24 2010 From: pych3m4 en gmail.com (Chema Cortes) Date: Sat, 20 Mar 2010 01:07:24 +0100 Subject: [Python-es] ORM de django vs SQLAlchemy In-Reply-To: <4BA3C1D0.30305@gmail.com> References: <49414f571003161654r35d2451dl6d265425aa8e6f72@mail.gmail.com> <2c9fb0dd1003171415p3f81c5cbs773b9feb3f356e5b@mail.gmail.com> <4BA198AE.8070301@ch3m4.org> <1268899288.2638.4.camel@tate> <320337d61003190949x6e5d7a77ob3aed3602b4d010e@mail.gmail.com> <4BA3C1D0.30305@gmail.com> Message-ID: <2c9fb0dd1003191707n2e12c3c9g89f17ae3c03ced8d@mail.gmail.com> El día 19 de marzo de 2010 19:26, Arnau Sanchez escribió: > No, ahora en serio, Mailman tiene un problema, y es que es más fácil > subscribirse que de-subscribirse. Alguna vez he soñado que la subscripción > requería responder a una pequeña, sencillísima pregunta sobre cómo funcionan > las listas de correos, y nos ahorrábamos cosas así. Yo me inclino más por pensar que hay quienes, por naturaleza, pasan de hacer cualquier esfuerzo, por mínimo que sea. Usando gmail, desubscribirse de una lista es tan sencillo como hacer click en el enlace de desubscripción que aparece en "mostrar detalles". From stvzito en gmail.com Sat Mar 20 01:42:50 2010 From: stvzito en gmail.com (Manuel A. Estevez Fernandez) Date: Fri, 19 Mar 2010 18:42:50 -0600 Subject: [Python-es] Captura de Imagenes WebCam Message-ID: <4BA41A0A.7020304@gmail.com> Buen día. Estamos migrando unas tiendas de conveniencia de windows a linux, y necesitamos estar capturando las imagenes de la webcam que se encuentra en la tienda. Mis dudas son las siguientes: ¿Alguién ha realizado capturas de imagenes desde una webcam con python? En casi de que si ¿con que librerias se hace? Por se deben enviar cada 5 seguindos a un servidor ftp, para su monitoreo. Espero puedan orientarme. Saludos -- Atentamente ISC. Manuel Alejandro Estevez Fernandez From stvzito en gmail.com Sat Mar 20 01:45:09 2010 From: stvzito en gmail.com (Manuel A. Estevez Fernandez) Date: Fri, 19 Mar 2010 18:45:09 -0600 Subject: [Python-es] HTMLgen + extjs + python Message-ID: <4BA41A95.2090301@gmail.com> Buen día Alguien tiene documentación o conoce documentación al respecto para crear las páginas desde python agregarle el frame work de extjs, y desde este hacerle peticiones a los archivos de python Saludos -- Atentamente ISC. Manuel Alejandro Estevez Fernandez From lowlifebob en gmail.com Sat Mar 20 01:50:48 2010 From: lowlifebob en gmail.com (lopz) Date: Fri, 19 Mar 2010 20:50:48 -0400 Subject: [Python-es] Captura de Imagenes WebCam In-Reply-To: <4BA41A0A.7020304@gmail.com> References: <4BA41A0A.7020304@gmail.com> Message-ID: <1853c7161003191750j337357f6k5017166a91b72015@mail.gmail.com> Hola Podrías usar gstreamer [1] para poder capturar las imágenes de la webcam entre otras cosas :) O podrías usar software especial para estos menesteres que igual hay variedad. [1] www.gstreamer.net El día 19 de marzo de 2010 20:42, Manuel A. Estevez Fernandez escribió: > Buen día. > >    Estamos migrando unas tiendas de conveniencia de windows a linux, y > necesitamos estar capturando las imagenes de la webcam que se encuentra en > la tienda. >    Mis dudas son las siguientes: >    ¿Alguién ha realizado capturas de imagenes desde una webcam con python? >    En casi de que si ¿con que librerias se hace? > >    Por se deben enviar cada 5 seguindos a un servidor ftp, para su > monitoreo. > > Espero puedan orientarme. > > Saludos > > -- > Atentamente > > ISC. Manuel Alejandro Estevez Fernandez > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > -- lopz es libre, usa --> GNU/linux gentoo +--[RSA 2048]--+ | ..o.o=+ | | o =o*.+ | | . . *oO . | | .EBoo | | o.S | +--[lopz.org]--+ From abraham.zamudio en gmail.com Sat Mar 20 02:08:19 2010 From: abraham.zamudio en gmail.com (Abraham Zamudio) Date: Fri, 19 Mar 2010 20:08:19 -0500 Subject: [Python-es] Captura de Imagenes WebCam In-Reply-To: <1853c7161003191750j337357f6k5017166a91b72015@mail.gmail.com> References: <4BA41A0A.7020304@gmail.com> <1853c7161003191750j337357f6k5017166a91b72015@mail.gmail.com> Message-ID: <594dda621003191808l1bfa228cmbb3d020f2d917cd8@mail.gmail.com> Puedes usar un simple bash script como el que proponen en este enlace http://mydebian.blogdns.org/?p=120 Como tambien , usar el modulo os (comandos del sistema ) para que python ejecute este script y el modulo ftplib para subir las capturas al servidor ftp . 2010/3/19 lopz > Hola > > Podrías usar gstreamer [1] para poder capturar las imágenes de la > webcam entre otras cosas :) > > O podrías usar software especial para estos menesteres que igual hay > variedad. > > [1] www.gstreamer.net > > El día 19 de marzo de 2010 20:42, Manuel A. Estevez Fernandez > escribió: > > Buen día. > > > > Estamos migrando unas tiendas de conveniencia de windows a linux, y > > necesitamos estar capturando las imagenes de la webcam que se encuentra > en > > la tienda. > > Mis dudas son las siguientes: > > ¿Alguién ha realizado capturas de imagenes desde una webcam con > python? > > En casi de que si ¿con que librerias se hace? > > > > Por se deben enviar cada 5 seguindos a un servidor ftp, para su > > monitoreo. > > > > Espero puedan orientarme. > > > > Saludos > > > > -- > > Atentamente > > > > ISC. Manuel Alejandro Estevez Fernandez > > > > > > _______________________________________________ > > Python-es mailing list > > Python-es en python.org > > http://mail.python.org/mailman/listinfo/python-es > > FAQ: http://python-es-faq.wikidot.com/ > > > > > > -- > lopz es libre, usa --> GNU/linux gentoo > > +--[RSA 2048]--+ > | ..o.o=+ | > | o =o*.+ | > | . . *oO . | > | .EBoo | > | o.S | > +--[lopz.org]--+ > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > -- Abraham Zamudio Ch. ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From felixpalazuelos en gmail.com Sat Mar 20 02:19:39 2010 From: felixpalazuelos en gmail.com (=?ISO-8859-1?Q?F=E9lix_Palazuelos_P=E9rez?=) Date: Sat, 20 Mar 2010 02:19:39 +0100 Subject: [Python-es] Captura de Imagenes WebCam In-Reply-To: <594dda621003191808l1bfa228cmbb3d020f2d917cd8@mail.gmail.com> References: <4BA41A0A.7020304@gmail.com> <1853c7161003191750j337357f6k5017166a91b72015@mail.gmail.com> <594dda621003191808l1bfa228cmbb3d020f2d917cd8@mail.gmail.com> Message-ID: <7a26ef991003191819lc094630y74db63ba20df56d7@mail.gmail.com> Yo hice que desde un flash se tomase una imagen jpg, la enviase por un POST y yo recogerlo por python. Igual es lo que quieres hacer cada 5 segundos ;) ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From pablo.angulo en uam.es Sat Mar 20 12:53:57 2010 From: pablo.angulo en uam.es (Pablo Angulo) Date: Sat, 20 Mar 2010 12:53:57 +0100 Subject: [Python-es] Captura de Imagenes WebCam In-Reply-To: <1853c7161003191750j337357f6k5017166a91b72015@mail.gmail.com> References: <4BA41A0A.7020304@gmail.com> <1853c7161003191750j337357f6k5017166a91b72015@mail.gmail.com> Message-ID: <4BA4B755.7080402@uam.es> lopz escribió: > O podrías usar software especial para estos menesteres que igual hay variedad. > > "motion" es muy fácil de configurar. Básicamente "apt-get install motion", y ya tienes un miniservidor web con imágenes de la webcam. Además sólo actualiza la imagen si detecta movimiento. From abraham.zamudio en gmail.com Sat Mar 20 16:18:58 2010 From: abraham.zamudio en gmail.com (Abraham Zamudio) Date: Sat, 20 Mar 2010 10:18:58 -0500 Subject: [Python-es] Captura de Imagenes WebCam In-Reply-To: <4BA4B755.7080402@uam.es> References: <4BA41A0A.7020304@gmail.com> <1853c7161003191750j337357f6k5017166a91b72015@mail.gmail.com> <4BA4B755.7080402@uam.es> Message-ID: <594dda621003200818k25a12ed3w6885f94e500acf47@mail.gmail.com> Por alguna razon motion , cuando lo use , hace un par de años me consumio muchos recursos . pero sigue siendo una opcion . 2010/3/20 Pablo Angulo > lopz escribió: > > O podrías usar software especial para estos menesteres que igual hay > variedad. > > > > > > "motion" es muy fácil de configurar. Básicamente "apt-get install > motion", y ya tienes un miniservidor web con imágenes de la webcam. > Además sólo actualiza la imagen si detecta movimiento. > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > -- Abraham Zamudio Ch. ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From carlos.zun en gmail.com Sat Mar 20 23:08:41 2010 From: carlos.zun en gmail.com (Carlos Zuniga) Date: Sat, 20 Mar 2010 17:08:41 -0500 Subject: [Python-es] Captura de Imagenes WebCam In-Reply-To: <594dda621003200818k25a12ed3w6885f94e500acf47@mail.gmail.com> References: <4BA41A0A.7020304@gmail.com> <1853c7161003191750j337357f6k5017166a91b72015@mail.gmail.com> <4BA4B755.7080402@uam.es> <594dda621003200818k25a12ed3w6885f94e500acf47@mail.gmail.com> Message-ID: 2010/3/20 Abraham Zamudio : > > Por alguna razon motion , cuando lo use , hace un par de años me consumio > muchos recursos . pero sigue siendo una opcion  . > 2010/3/20 Pablo Angulo >> >> lopz escribió: >> > O podrías usar software especial para estos menesteres que igual hay >> > variedad. >> > >> > >> >> "motion" es muy fácil de configurar. Básicamente "apt-get install >> motion", y ya tienes un miniservidor web con imágenes de la webcam. >> Además sólo actualiza la imagen si detecta movimiento. También puedes probar con opencv Aquí un ejemplo que encontré para mostrar la cámara en una ventana de pygame: import pygame import Image import pygame.locals as l import sys import opencv.adaptors as adaptors import opencv #this is important for capturing/displaying images from opencv import highgui camera = highgui.cvCreateCameraCapture(0) def get_image(): im = highgui.cvQueryFrame(camera) # Add the line below if you need it (Ubuntu 8.04+) # im = opencv.cvGetMat(im) #convert Ipl image to PIL image return adaptors.Ipl2PIL(im) fps = 30.0 pygame.init() window = pygame.display.set_mode((640,480)) pygame.display.set_caption("WebCam Demo") screen = pygame.display.get_surface() while True: events = pygame.event.get() for event in events: if event.type == l.QUIT or event.type == l.KEYDOWN: sys.exit(0) im = get_image() pg_img = pygame.image.frombuffer(im.tostring(), im.size, im.mode) screen.blit(pg_img, (0,0)) pygame.display.flip() pygame.time.delay(int(1000 * 1.0/fps)) Saludos -- Linux Registered User # 386081 A menudo unas pocas horas de "Prueba y error" podrán ahorrarte minutos de leer manuales. From kikocorreoso en gmail.com Mon Mar 22 09:02:23 2010 From: kikocorreoso en gmail.com (Kiko) Date: Mon, 22 Mar 2010 09:02:23 +0100 Subject: [Python-es] =?iso-8859-1?q?manejo_de_im=E1genes_sin_PIL?= In-Reply-To: <325adf7e1003190347pc004cc4xff1aace92ef3b3cf@mail.gmail.com> References: <201003190042.40555.inigo_aldazabal@ehu.es> <49414f571003181719n6bd6926dmed3daf337f94ed50@mail.gmail.com> <325adf7e1003190347pc004cc4xff1aace92ef3b3cf@mail.gmail.com> Message-ID: <1b6058651003220102o65709543tec156e7d27764e57@mail.gmail.com> El 19 de marzo de 2010 11:47, Ricardo Cárdenes Medina < ricardo.cardenes en gmail.com> escribió: > 2010/3/19 jOkAmE : > > Es que es sólo para trabajar precisamente con los datos de la imagen. > > Justo es eso que quiero trabajar, agarrar un BMP y tener la matriz con > > los valores, y obtener cada uno de los canales para RGB. Y no es que > > quiera reprogramar todo, sólo quiero hacer algunas de las > > implementaciones sencillas que he visto en clase. Pero en clase sólo > > lo he visto con Builder-C++ y estaba pensando que en Python existe un > > modo parecido de trabajar con él. > > A ver que nos aclaremos. > > Si lo que quieres es trabajar con la imagen, pero tratando los datos > en raw en una matriz en lugar de usando el API de PIL, eso lo puedes > hacer sin problemas: usa PIL para leer los datos y obtener la matriz. > Hay varias maneras de hacer esto, mediante Image.load, Image.tobitmap > o Image.tostring, por ejemplo. > > Como te comentan, puedes usar PIL o MatPlotLib para leer los archivos, numpy para manipularlos (numpy arrays) y luego PIL o MatPlotLib para guardar el resultado final de tu matriz/imagen. (forma matplotlib+numpy: http://matplotlib.sourceforge.net/users/image_tutorial.html) De esa manera ahorrarás tener que escribir toda la parte del software > que DECODIFICA la imagen, pero sigues teniendo acceso a los datos raw. > > Cierto. Saludos. ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From pau.cervera en gmail.com Mon Mar 22 14:16:40 2010 From: pau.cervera en gmail.com (Pau Cervera) Date: Mon, 22 Mar 2010 14:16:40 +0100 Subject: [Python-es] HTMLgen + extjs + python In-Reply-To: <4BA41A95.2090301@gmail.com> References: <4BA41A95.2090301@gmail.com> Message-ID: <932c33151003220616h77686b7ao6ea26a4511a6cf2b@mail.gmail.com> Una primera búsqueda en google me apunta a este ejemplo de como integrar ExtJS con django: Pero entiendo que no agregas el framework ExtJS a Python, no creas páginas des de Python y no haces peticiones a los archivos. ----- Pau Python..., what else? 2010/3/20 Manuel A. Estevez Fernandez > Buen día > > Alguien tiene documentación o conoce documentación al respecto para crear > las páginas desde python agregarle el frame work de extjs, y desde este > hacerle peticiones a los archivos de python > > Saludos > > -- > Atentamente > > ISC. Manuel Alejandro Estevez Fernandez > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From olemis+py en gmail.com Mon Mar 22 15:23:56 2010 From: olemis+py en gmail.com (Olemis Lang (Simelix)) Date: Mon, 22 Mar 2010 10:23:56 -0400 Subject: [Python-es] Captura de Imagenes WebCam In-Reply-To: <4BA41A0A.7020304@gmail.com> References: <4BA41A0A.7020304@gmail.com> Message-ID: <24ea26601003220723g1198c5f4n2afb1b0b9a9bd961@mail.gmail.com> 2010/3/19 Manuel A. Estevez Fernandez : > Buen día. > >    Estamos migrando unas tiendas de conveniencia de windows a linux, y > necesitamos estar capturando las imagenes de la webcam que se encuentra en > la tienda. >    Mis dudas son las siguientes: >    ¿Alguién ha realizado capturas de imagenes desde una webcam con python? >    En casi de que si ¿con que librerias se hace? > >    Por se deben enviar cada 5 seguindos a un servidor ftp, para su > monitoreo. > Algo parecido para hacer un video juego sencillo capturando un láser con ayuda de una webcam (usa PySight ) ... les va a gustar ;o) .. [1] Using Pygame and PySight to Create an Interactive Halloween Activity (http://video.google.com/videoplay?docid=-5373915899443275381#) (http://www.youtube.com/watch?v=EGSgLuxrgYc) -- Regards, Olemis. Blog ES: http://simelo-es.blogspot.com/ Blog EN: http://simelo-en.blogspot.com/ Featured article: TracRpc: API v2: Test cases for XML-RPC ... PASS - http://bitbucket.org/osimons/trac-rpc-mq/changeset/228ef43726b0/ From inf200523 en ucf.edu.cu Mon Mar 22 16:34:52 2010 From: inf200523 en ucf.edu.cu (Boris Perez Canedo) Date: Mon, 22 Mar 2010 11:34:52 -0400 (EDT) Subject: [Python-es] como hacer reportes? Message-ID: <1319.10.14.16.210.1269272092.squirrel@correo> Hola a todos, Necesito saber como puedo hacer reportes en python, tengo informacion almacenada en una base de datos y me gustaria guardar el resultado de una consulta en un formato html y/o pdf y saber si se pueden incluir resultados graficamente. Gracias de antemano. Boris. --- La mejor vacuna contra el virus A(H1N1) es la higiene personal ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From marcelobarbero en arnet.com.ar Mon Mar 22 18:42:30 2010 From: marcelobarbero en arnet.com.ar (Marcelo Barbero) Date: Mon, 22 Mar 2010 14:42:30 -0300 Subject: [Python-es] como hacer reportes? In-Reply-To: <1319.10.14.16.210.1269272092.squirrel@correo> Message-ID: <000601cac9e7$0bc26cc0$0a01a8c0@estudio> ________________________________ De: python-es-bounces+marcelobarbero=arnet.com.ar en python.org [mailto:python-es-bounces+marcelobarbero=arnet.com.ar en python.org] En nombre de Boris Perez Canedo Enviado el: Lunes 22 de Marzo de 2010 12:35 p.m. Para: python-es en python.org Asunto: [Python-es] como hacer reportes? Hola a todos, Necesito saber como puedo hacer reportes en python, tengo informacion almacenada en una base de datos y me gustaria guardar el resultado de una consulta en un formato html y/o pdf y saber si se pueden incluir resultados graficamente. Gracias de antemano. Boris. En otra lista, se sugirió Geraldo Reports: http://geraldoreports.appspot.com/ Espero que te sirva. Marcelo From olemis+py en gmail.com Mon Mar 22 19:18:04 2010 From: olemis+py en gmail.com (Olemis Lang (Simelix)) Date: Mon, 22 Mar 2010 14:18:04 -0400 Subject: [Python-es] como hacer reportes? In-Reply-To: <000601cac9e7$0bc26cc0$0a01a8c0@estudio> References: <1319.10.14.16.210.1269272092.squirrel@correo> <000601cac9e7$0bc26cc0$0a01a8c0@estudio> Message-ID: <24ea26601003221118m4eda5410k1973ed1203f9eac5@mail.gmail.com> 2010/3/22 Marcelo Barbero : > [...] > >        Hola a todos, > >        Necesito saber como puedo hacer reportes en python, tengo informacion > almacenada en una base de datos y me gustaria guardar el resultado de una > consulta en un formato html y/o pdf y saber si se pueden incluir resultados > graficamente. > >        Gracias de antemano. >        Boris. > > > En otra lista, se sugirió Geraldo Reports: http://geraldoreports.appspot.com/ > Espero que te sirva. > Marcelo > Sospecho que no va ha ser muy útil este enlace porque el remitente del mensaje original (juzgando por la dirección de correo ;o) está en Cuba y por tanto Google App Engine está bloqueado (por Google) [1]_ . De todas formas, si hubiera algo para Python como ( Chrystal Reports | Rave ) me sumo a la lista de los que quieren saber. .. [1] Forbidden country error message (Cuba in this case, but maybe others) - msg#01417 (http://osdir.com/ml/GoogleAppEngine/2009-09/msg01417.html) .. [2] Re: Forbidden country error message (Cuba in this case, but maybe others) - msg#01420 (http://osdir.com/ml/GoogleAppEngine/2009-09/msg01420.html) -- Regards, Olemis. Blog ES: http://simelo-es.blogspot.com/ Blog EN: http://simelo-en.blogspot.com/ Featured article: TracRpc: API v2: Test cases for XML-RPC ... PASS - http://bitbucket.org/osimons/trac-rpc-mq/changeset/228ef43726b0/ From jcaballero.hep en gmail.com Mon Mar 22 19:22:12 2010 From: jcaballero.hep en gmail.com (Jose Caballero) Date: Mon, 22 Mar 2010 14:22:12 -0400 Subject: [Python-es] como hacer reportes? In-Reply-To: <24ea26601003221118m4eda5410k1973ed1203f9eac5@mail.gmail.com> References: <1319.10.14.16.210.1269272092.squirrel@correo> <000601cac9e7$0bc26cc0$0a01a8c0@estudio> <24ea26601003221118m4eda5410k1973ed1203f9eac5@mail.gmail.com> Message-ID: El 22 de marzo de 2010 14:18, Olemis Lang (Simelix) > escribió: > 2010/3/22 Marcelo Barbero : > > > [...] > > > > Hola a todos, > > > > Necesito saber como puedo hacer reportes en python, tengo > informacion > > almacenada en una base de datos y me gustaria guardar el resultado de una > > consulta en un formato html y/o pdf y saber si se pueden incluir > resultados > > graficamente. > > > > Gracias de antemano. > > Boris. > > > > > > En otra lista, se sugirió Geraldo Reports: > http://geraldoreports.appspot.com/ > > Espero que te sirva. > > Marcelo > > > > Sospecho que no va ha ser muy útil este enlace porque el remitente del > mensaje original (juzgando por la dirección de correo ;o) está en Cuba > y por tanto Google App Engine está bloqueado (por Google) [1]_ . > > De todas formas, si hubiera algo para Python como ( Chrystal Reports | > Rave ) me sumo a la lista de los que quieren saber. > > .. [1] Forbidden country error message (Cuba in this case, but maybe > others) - msg#01417 > (http://osdir.com/ml/GoogleAppEngine/2009-09/msg01417.html) > > .. [2] Re: Forbidden country error message (Cuba in this case, but > maybe others) - msg#01420 > (http://osdir.com/ml/GoogleAppEngine/2009-09/msg01420.html) > Nunca lo he usado, pero algunas veces se ha mencionado en esta misma lista reportlab. Saludos, Jose ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From inf200523 en ucf.edu.cu Mon Mar 22 19:30:32 2010 From: inf200523 en ucf.edu.cu (Boris Perez Canedo) Date: Mon, 22 Mar 2010 14:30:32 -0400 (EDT) Subject: [Python-es] como hacer reportes? In-Reply-To: <24ea26601003221118m4eda5410k1973ed1203f9eac5@mail.gmail.com> References: <1319.10.14.16.210.1269272092.squirrel@correo> <000601cac9e7$0bc26cc0$0a01a8c0@estudio> <24ea26601003221118m4eda5410k1973ed1203f9eac5@mail.gmail.com> Message-ID: <3066.10.14.16.210.1269282632.squirrel@correo> > 2010/3/22 Marcelo Barbero : >> > [...] >> >>        Hola a todos, >> >>        Necesito saber como puedo hacer reportes en python, tengo informacion >> almacenada en una base de datos y me gustaria guardar el resultado de una >> consulta en un formato html y/o pdf y saber si se pueden incluir resultados >> graficamente. >> >>        Gracias de antemano. >>        Boris. >> >> >> En otra lista, se sugirió Geraldo Reports: http://geraldoreports.appspot.com/ >> Espero que te sirva. >> Marcelo >> > > Sospecho que no va ha ser muy útil este enlace porque el remitente del > mensaje original (juzgando por la dirección de correo ;o) está en Cuba > y por tanto Google App Engine está bloqueado (por Google) [1]_ . > > De todas formas, si hubiera algo para Python como ( Chrystal Reports | > Rave ) me sumo a la lista de los que quieren saber. > > .. [1] Forbidden country error message (Cuba in this case, but maybe > others) - msg#01417 > (http://osdir.com/ml/GoogleAppEngine/2009-09/msg01417.html) > > .. [2] Re: Forbidden country error message (Cuba in this case, but > maybe others) - msg#01420 > (http://osdir.com/ml/GoogleAppEngine/2009-09/msg01420.html) > > -- > Regards, > > Olemis.  Gracias Marcelo, Si, Olemis, tienes razon, estoy en Cuba, pero ese problemita del dichoso bloqueo me lo puedo saltar.  Hay otros sitios, en especial sourceforge, que me son muy utiles que tambien estan bloqueados. Saludos. Boris. --- La mejor vacuna contra el virus A(H1N1) es la higiene personal ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From olemis+py en gmail.com Mon Mar 22 19:35:14 2010 From: olemis+py en gmail.com (Olemis Lang (Simelix)) Date: Mon, 22 Mar 2010 14:35:14 -0400 Subject: [Python-es] como hacer reportes? In-Reply-To: References: <1319.10.14.16.210.1269272092.squirrel@correo> <000601cac9e7$0bc26cc0$0a01a8c0@estudio> <24ea26601003221118m4eda5410k1973ed1203f9eac5@mail.gmail.com> Message-ID: <24ea26601003221135j15233d14k3056fa79541defb4@mail.gmail.com> 2010/3/22 Jose Caballero : > > El 22 de marzo de 2010 14:18, Olemis Lang (Simelix) > escribió: >> >> 2010/3/22 Marcelo Barbero : >> > >> [...] >> > >> >        Hola a todos, >> > >> >        Necesito saber como puedo hacer reportes en python, tengo >> > informacion >> > almacenada en una base de datos y me gustaria guardar el resultado de >> > una >> > consulta en un formato html y/o pdf y saber si se pueden incluir >> > resultados >> > graficamente. >> > > [...] > > Nunca lo he usado, pero algunas veces se ha mencionado en esta misma lista > reportlab. > Parece interesante , le echaré un vistazo, gracias ! -- Regards, Olemis. Blog ES: http://simelo-es.blogspot.com/ Blog EN: http://simelo-en.blogspot.com/ Featured article: #6826: Add support for further datetime formats in JSON-RPC (et al. ?) - http://trac-hacks.org/ticket/6826 From inf200523 en ucf.edu.cu Mon Mar 22 19:38:35 2010 From: inf200523 en ucf.edu.cu (Boris Perez Canedo) Date: Mon, 22 Mar 2010 14:38:35 -0400 (EDT) Subject: [Python-es] como hacer reportes? In-Reply-To: References: <1319.10.14.16.210.1269272092.squirrel@correo> <000601cac9e7$0bc26cc0$0a01a8c0@estudio> <24ea26601003221118m4eda5410k1973ed1203f9eac5@mail.gmail.com> Message-ID: <3255.10.14.16.210.1269283115.squirrel@correo> El 22 de marzo de 2010 14:18, Olemis Lang (Simelix) olemis+py en gmail.com> escribió: 2010/3/22 Marcelo Barbero marcelobarbero en arnet.com.ar>: > [...] > >        Hola a todos, > >        Necesito saber como puedo hacer reportes en python, tengo informacion > almacenada en una base de datos y me gustaria guardar el resultado de una > consulta en un formato html y/o pdf y saber si se pueden incluir resultados > graficamente. > >        Gracias de antemano. >        Boris. > > > En otra lista, se sugirió Geraldo Reports: http://geraldoreports.appspot.com/ > Espero que te sirva. > Marcelo > Sospecho que no va ha ser muy útil este enlace porque el remitente del mensaje original (juzgando por la dirección de correo ;o) está en Cuba y por tanto Google App Engine está bloqueado (por Google) [1]_ . De todas formas, si hubiera algo para Python como ( Chrystal Reports | Rave ) me sumo a la lista de los que quieren saber. .. [1] Forbidden country error message (Cuba in this case, but maybe others) - msg#01417         (http://osdir.com/ml/GoogleAppEngine/2009-09/msg01417.html) .. [2] Re: Forbidden country error message (Cuba in this case, but maybe others) - msg#01420         (http://osdir.com/ml/GoogleAppEngine/2009-09/msg01420.html) Nunca lo he usado, pero algunas veces se ha mencionado en esta misma lista reportlab. Saludos, Jose Saben de donde puedo descargar un instalador para windows? Uso python 2.6, ah y que no sea de sourceforge! Saludos, Boris. --- La mejor vacuna contra el virus A(H1N1) es la higiene personal ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From olemis+py en gmail.com Mon Mar 22 19:53:21 2010 From: olemis+py en gmail.com (Olemis Lang (Simelix)) Date: Mon, 22 Mar 2010 14:53:21 -0400 Subject: [Python-es] como hacer reportes? In-Reply-To: <3066.10.14.16.210.1269282632.squirrel@correo> References: <1319.10.14.16.210.1269272092.squirrel@correo> <000601cac9e7$0bc26cc0$0a01a8c0@estudio> <24ea26601003221118m4eda5410k1973ed1203f9eac5@mail.gmail.com> <3066.10.14.16.210.1269282632.squirrel@correo> Message-ID: <24ea26601003221153g60e553b5t6ae6e4e2feed1093@mail.gmail.com> 2010/3/22 Boris Perez Canedo : >> 2010/3/22 Marcelo Barbero : >> >> Sospecho que no va ha ser muy útil este enlace porque el remitente del >> mensaje original (juzgando por la dirección de correo ;o) está en Cuba >> y por tanto Google App Engine está bloqueado (por Google) [1]_ . >> [...] >> > Gracias Marcelo, > > Si, Olemis, tienes razon, estoy en Cuba, pero ese problemita del > dichoso bloqueo me lo puedo saltar. > Hay otros sitios, en especial sourceforge, que me son muy utiles que tambien > estan bloqueados. > OT y FYI Bajo riesgo de que empiece un flamewar (ojalá que no ...) hasta dónde yo sé, SF y Google Code ya no están restringidos, pero Google App Engine, sí . Teniendo en cuenta [2]_ en SF lo más probable es que haya que contactar a los desarrolladores del prj para que eliminen esa restricción (pero si fueron ellos quienes la activaron inicialmente ...) .. [1] US Laws Restrict Individual Freedom and SourceForge Complies (http://news.northxsouth.com/2010/03/03/sourceforge-and-the-us-laws/) .. [2] Some good news: SourceForge removes blanket blocking (http://sourceforge.net/blog/some-good-news-sourceforge-removes-blanket-blocking/) .. [3] Clarifying SourceForge.net?s denial of site access for certain persons in accordance with US law (http://sourceforge.net/blog/clarifying-sourceforgenets-denial-of-site-access-for-certain-persons-in-accordance-with-us-law/) -- Regards, Olemis. Blog ES: http://simelo-es.blogspot.com/ Blog EN: http://simelo-en.blogspot.com/ Featured article: #6826: Add support for further datetime formats in JSON-RPC (et al. ?) - http://trac-hacks.org/ticket/6826 From olemis+py en gmail.com Mon Mar 22 20:02:56 2010 From: olemis+py en gmail.com (Olemis Lang (Simelix)) Date: Mon, 22 Mar 2010 15:02:56 -0400 Subject: [Python-es] como hacer reportes? In-Reply-To: <3255.10.14.16.210.1269283115.squirrel@correo> References: <1319.10.14.16.210.1269272092.squirrel@correo> <000601cac9e7$0bc26cc0$0a01a8c0@estudio> <24ea26601003221118m4eda5410k1973ed1203f9eac5@mail.gmail.com> <3255.10.14.16.210.1269283115.squirrel@correo> Message-ID: <24ea26601003221202nc71bdia29335a06d3d0d59@mail.gmail.com> 2010/3/22 Boris Perez Canedo : > > El 22 de marzo de 2010 14:18, Olemis Lang (Simelix) olemis+py en gmail.com> > escribió: >> >> 2010/3/22 Marcelo Barbero marcelobarbero en arnet.com.ar>: > > Nunca lo he usado, pero algunas veces se ha mencionado en esta misma lista > reportlab. > > Saben de donde puedo descargar un instalador para windows? Uso python 2.6, > ah y que no sea de sourceforge! > Respuesta obvia : PyPI ;o) -- Regards, Olemis. Blog ES: http://simelo-es.blogspot.com/ Blog EN: http://simelo-en.blogspot.com/ Featured article: From olemis+py en gmail.com Mon Mar 22 20:06:25 2010 From: olemis+py en gmail.com (Olemis Lang (Simelix)) Date: Mon, 22 Mar 2010 15:06:25 -0400 Subject: [Python-es] como hacer reportes? In-Reply-To: <24ea26601003221202nc71bdia29335a06d3d0d59@mail.gmail.com> References: <1319.10.14.16.210.1269272092.squirrel@correo> <000601cac9e7$0bc26cc0$0a01a8c0@estudio> <24ea26601003221118m4eda5410k1973ed1203f9eac5@mail.gmail.com> <3255.10.14.16.210.1269283115.squirrel@correo> <24ea26601003221202nc71bdia29335a06d3d0d59@mail.gmail.com> Message-ID: <24ea26601003221206v1097c620vb4f2bca1387a546@mail.gmail.com> 2010/3/22 Olemis Lang (Simelix) : > 2010/3/22 Boris Perez Canedo : >> >> El 22 de marzo de 2010 14:18, Olemis Lang (Simelix) olemis+py en gmail.com> >> escribió: >>> >>> 2010/3/22 Marcelo Barbero marcelobarbero en arnet.com.ar>: >> >> Nunca lo he usado, pero algunas veces se ha mencionado en esta misma lista >> reportlab. >> >> Saben de donde puedo descargar un instalador para windows? Uso python 2.6, >> ah y que no sea de sourceforge! >> > > Respuesta obvia : PyPI > > ;o) > http://pypi.python.org/pypi/reportlab/2.4 -- Regards, Olemis. Blog ES: http://simelo-es.blogspot.com/ Blog EN: http://simelo-en.blogspot.com/ Featured article: From tanyin21 en hotmail.com Tue Mar 23 02:01:41 2010 From: tanyin21 en hotmail.com (John) Date: Mon, 22 Mar 2010 19:01:41 -0600 Subject: [Python-es] =?utf-8?q?Existe_librer=C3=ADa_de_Nokia_para_Python?= In-Reply-To: <1319.10.14.16.210.1269272092.squirrel@correo> References: <1319.10.14.16.210.1269272092.squirrel@correo> Message-ID: Saludos colegas, estoy realizando un script para enviar mensajes de texto desde un telefono Nokia 5310 XpressMusic, la libreria que estoy usando es "gammu", hasta el momento me ha servido para lo que estoy haciendo, pero quería saber si ¿existe alguna libreria directamente de Nokia? para poder usar los servicios de symbian, por ahí he escuchado que sacaron un lenguaje basado en python "PyS60" para symbian pero no lo he probado, ¿que me recomiendan? Saludos From lowlifebob en gmail.com Tue Mar 23 02:45:43 2010 From: lowlifebob en gmail.com (lopz) Date: Mon, 22 Mar 2010 21:45:43 -0400 Subject: [Python-es] =?iso-8859-1?q?Existe_librer=EDa_de_Nokia_para_Python?= In-Reply-To: References: <1319.10.14.16.210.1269272092.squirrel@correo> Message-ID: <1853c7161003221845l197abd29g6be54bafc87709cb@mail.gmail.com> El día 22 de marzo de 2010 21:01, John escribió: > Saludos colegas, estoy realizando un script para enviar mensajes de texto > desde un telefono Nokia 5310 XpressMusic, la libreria que estoy usando es > "gammu", hasta el momento me ha servido para lo que estoy haciendo, pero > quería saber si ¿existe alguna libreria directamente de Nokia? para poder > usar los servicios de symbian, por ahí he escuchado que sacaron un lenguaje > basado en python "PyS60" para symbian pero no lo he probado, ¿que me > recomiendan? > > Saludos Hola Pues eso, PyS60 es python para la platoforma de nokia, symbian, tiene módulos para controlar casi todo el dispositivo, lo he usado y la verdad es que me gustaba bastante. Pero eso es para instalar en el dispositivo, vamos, correr scripts en python dentro del dispositivo, poder enviar sms desde tu script por ej. cosas así. Lo que tu quieres es poder enviar sms desde el pc usando tu teléfono movil ¿verdad? Supongo que sí, por lo de gammu. Si es lo segundo yo en su día hice algo así usando bluetooth y comandos AT, conectabas al dispositivo via bt desde el pc y le envías comandos AT, con los cuales puedes enviar un sms :) En ese caso ya no necesitarías de ninguna librería externa para los sms, pero si para el manejo de bluetooth, que hay es la pybluez. Saludos! -- lopz es libre, usa --> GNU/linux gentoo +--[RSA 2048]--+ | ..o.o=+ | | o =o*.+ | | . . *oO . | | .EBoo | | o.S | +--[lopz.org]--+ From jordi.f en ati.es Tue Mar 23 12:39:28 2010 From: jordi.f en ati.es (Jordi Funollet) Date: Tue, 23 Mar 2010 12:39:28 +0100 Subject: [Python-es] =?iso-8859-1?q?Existe_librer=EDa_de_Nokia_para_Python?= In-Reply-To: References: <1319.10.14.16.210.1269272092.squirrel@correo> Message-ID: <201003231239.28571.jordi.f@ati.es> Si lo que quieres es enviar mensajes de texto cuando falla la red (por ejemplo, par monitorizar con Nagios) ignora el resto de este mail. :-) Yo estuve buscando formas de enviar SMS desde el PC, básicamente porque tiene un teclado mucho mejor que el de cualquier móvil. Encontré este servicio, que permite enviar SMS a la mayoría de países: http://www.ipipi.com/ Al margen de la aplicación web tienen una API bastante razonable. Hice un script con PyCurl que me permite enviar SMS tanto desde línea de comandos como directamente desde el Kaddressbook de KDE. http://github.com/funollet/user-land/blob/master/sms.py Creo que no llegué a documentar como configurar la autentificación con la API. Si el script te sirve de algo... pregunta y haré memoria. ;-) -- ############################## ### Jordi Funollet ### http://www.terraquis.net From raimonesteve en gmail.com Tue Mar 23 12:57:12 2010 From: raimonesteve en gmail.com (Raimon Esteve) Date: Tue, 23 Mar 2010 12:57:12 +0100 Subject: [Python-es] =?iso-8859-1?q?Existe_librer=EDa_de_Nokia_para_Python?= In-Reply-To: <201003231239.28571.jordi.f@ati.es> References: <1319.10.14.16.210.1269272092.squirrel@correo> <201003231239.28571.jordi.f@ati.es> Message-ID: El día 23 de marzo de 2010 12:39, Jordi Funollet escribió: > Encontré este servicio, que > permite enviar SMS a la mayoría de países: >    http://www.ipipi.com/ existe una empresa/portal que a partir de correos @ y te los convieten en sms. www.clickatell.com Por tanto, solo tienes que generar el email. Pagas por el servicio ;) -- Raimon Esteve Comunicació Visual / Aplicacions web i ERP Comunicación Visual / Aplicaciones web y ERP OpenERP, flexibilitat i llibertat http://www.zikzakmedia.com/ca/openerp.html OpenERP, flexibilidad y libertad http://www.zikzakmedia.com/es/openerp.html Magento, botigues virtuals sense fronteres http://www.zikzakmedia.com/ca/botigues-virtuals.html Magento, tiendas virtuales sin fronteras http://www.zikzakmedia.com/es/tiendas-virtuales.html Formació ERP Formación ERP http://www.aulaerp.com Zikzakmedia SL Dr. Fleming, 28 08720 Vilafranca del Penedès Tel 93 890 21 08 www.zikzakmedia.com From inf200523 en ucf.edu.cu Tue Mar 23 13:15:39 2010 From: inf200523 en ucf.edu.cu (Boris Perez Canedo) Date: Tue, 23 Mar 2010 08:15:39 -0400 (EDT) Subject: [Python-es] como hacer reportes? In-Reply-To: <24ea26601003221206v1097c620vb4f2bca1387a546@mail.gmail.com> References: <1319.10.14.16.210.1269272092.squirrel@correo> <000601cac9e7$0bc26cc0$0a01a8c0@estudio> <24ea26601003221118m4eda5410k1973ed1203f9eac5@mail.gmail.com> <3255.10.14.16.210.1269283115.squirrel@correo> <24ea26601003221202nc71bdia29335a06d3d0d59@mail.gmail.com> <24ea26601003221206v1097c620vb4f2bca1387a546@mail.gmail.com> Message-ID: <1053.10.14.19.12.1269346539.squirrel@correo.ucf.edu.cu> > 2010/3/22 Olemis Lang (Simelix) : >> 2010/3/22 Boris Perez Canedo : >>> >>> El 22 de marzo de 2010 14:18, Olemis Lang (Simelix) olemis+py en gmail.com> >>> escribió: >>>> >>>> 2010/3/22 Marcelo Barbero marcelobarbero en arnet.com.ar>: >>> >>> Nunca lo he usado, pero algunas veces se ha mencionado en esta misma lista >>> reportlab. >>> >>> Saben de donde puedo descargar un instalador para windows? Uso python 2.6, >>> ah y que no sea de sourceforge! >>> >> >> Respuesta obvia : PyPI >> >> ;o) >> > > http://pypi.python.org/pypi/reportlab/2.4 > > -- > Regards, > > Olemis. Gracias. --- La mejor vacuna contra el virus A(H1N1) es la higiene personal ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From jordi.f en ati.es Tue Mar 23 13:42:03 2010 From: jordi.f en ati.es (Jordi Funollet) Date: Tue, 23 Mar 2010 13:42:03 +0100 Subject: [Python-es] =?iso-8859-1?q?Existe_librer=EDa_de_Nokia_para_Python?= In-Reply-To: References: <1319.10.14.16.210.1269272092.squirrel@correo> <201003231239.28571.jordi.f@ati.es> Message-ID: <201003231342.03585.jordi.f@ati.es> Hola Raimon! :-) On Tuesday 23 March 2010 12:57:12 Raimon Esteve wrote: > existe una empresa/portal que a partir de correos @ y te los convieten en > sms. www.clickatell.com > > Por tanto, solo tienes que generar el email. > Pagas por el servicio ;) No lo descubrí cuando implementé el script, creo que hace más de un año. Le he estado dando un vistazo rápido (y me gusta). * Clickatell es algo mas barato que Ipipi. * El gateway SMS es trivial pero los passwords van en claro. * El gateway HTTPS es igual de seguro que la API de Ipipi y mucho mas fácil de usar en scripts. * Hay un script en Ruby, en la propia web de Clickatell, que tiene las mismas funcionalidades que el mio (y alguna más). * Googleando aparecen unos cuantos scripts en Python para usar Clickatell. En resumen: en cuanto termine de decidir qué script me conviene más voy a probar Clickatell. Generalmente la lista me sirve para ahorrar tiempo, pero esta vez incluso voy a ahorrar dinero gracias a Raimon. :-) -- ############################## ### Jordi Funollet ### http://www.terraquis.net From raimonesteve en gmail.com Tue Mar 23 14:05:36 2010 From: raimonesteve en gmail.com (Raimon Esteve) Date: Tue, 23 Mar 2010 14:05:36 +0100 Subject: [Python-es] =?iso-8859-1?q?Existe_librer=EDa_de_Nokia_para_Python?= In-Reply-To: <201003231342.03585.jordi.f@ati.es> References: <1319.10.14.16.210.1269272092.squirrel@correo> <201003231239.28571.jordi.f@ati.es> <201003231342.03585.jordi.f@ati.es> Message-ID: El día 23 de marzo de 2010 13:42, Jordi Funollet escribió: > No lo descubrí cuando implementé el script, creo que hace más de un año. Le he > estado dando un vistazo rápido (y me gusta). no quiero entrar en temas comerciales ni cobro comisiones ;) Otra solución es www.bulksms.com Este servicio lo lleva implementado por defecto OpenERP (1). (envio sms a partners, por ejemplo) No hemos hecho ninguna implentación con bulksms; no te puedo dar más detalle. (1) Quien no sepa que es OpenERP, és un ERP escrito en python ;) -- Raimon Esteve Comunicació Visual / Aplicacions web i ERP Comunicación Visual / Aplicaciones web y ERP OpenERP, flexibilitat i llibertat http://www.zikzakmedia.com/ca/openerp.html OpenERP, flexibilidad y libertad http://www.zikzakmedia.com/es/openerp.html Magento, botigues virtuals sense fronteres http://www.zikzakmedia.com/ca/botigues-virtuals.html Magento, tiendas virtuales sin fronteras http://www.zikzakmedia.com/es/tiendas-virtuales.html Formació ERP Formación ERP http://www.aulaerp.com Zikzakmedia SL Dr. Fleming, 28 08720 Vilafranca del Penedès Tel 93 890 21 08 www.zikzakmedia.com From monobot.soft en gmail.com Tue Mar 23 14:09:36 2010 From: monobot.soft en gmail.com (monoBOT) Date: Tue, 23 Mar 2010 13:09:36 +0000 Subject: [Python-es] =?iso-8859-1?q?Existe_librer=EDa_de_Nokia_para_Python?= In-Reply-To: <201003231342.03585.jordi.f@ati.es> References: <1319.10.14.16.210.1269272092.squirrel@correo> <201003231239.28571.jordi.f@ati.es> <201003231342.03585.jordi.f@ati.es> Message-ID: Buenos Dias señores. Estoy empezando con python y wxpython. Siento si la pregunta es muy estúpida, espero que me ayudeis. * es posible dirigir el stdin y el stderr a la status bar?? * si fuera posible, se puede a la vez recibir esta información y a la vez guardarla en un log? * es posible hacer la statusbar para que admita mas de una linea? ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From pepe en diselpro.com Tue Mar 23 14:11:48 2010 From: pepe en diselpro.com (Pepe Aracil) Date: Tue, 23 Mar 2010 14:11:48 +0100 Subject: [Python-es] =?iso-8859-1?q?Construir_instancia_a_partir_de_la_dir?= =?iso-8859-1?q?ecci=F3n?= Message-ID: <4BA8BE14.9020309@diselpro.com> Hola lista. A partir de un texto como por ejemplo este este: ¿ Hay alguna forma de reconstruir una referencia a la instancia partiendo de la dirección 0x9013b6c ? Estoy depurando un problemilla de memory leaking y sería muy útil poder referenciar de nuevo algunos objetos. Gracias. From fcocuadrado en gmail.com Tue Mar 23 14:40:02 2010 From: fcocuadrado en gmail.com (Francisco Javier Cuadrado) Date: Tue, 23 Mar 2010 14:40:02 +0100 Subject: [Python-es] =?utf-8?q?Existe_librer=C3=ADa_de_Nokia_para_Python?= In-Reply-To: References: <1319.10.14.16.210.1269272092.squirrel@correo> <201003231239.28571.jordi.f@ati.es> <201003231342.03585.jordi.f@ati.es> Message-ID: <779d9e921003230640k40b4d35bg9322fb9dfc5ebaa0@mail.gmail.com> El día 23 de marzo de 2010 14:09, monoBOT escribió: > Buenos Dias señores. > Estoy empezando con python y wxpython. > Siento si la pregunta es muy estúpida, espero que me ayudeis. No hay preguntas estúpidas, sólo preguntas en sitios no relacionados, con esto quiero decir que deberías abrir un nuevo hilo (es decir, mandar un e-mail con un asunto relativo a tu pregunta) para no mezclar temas y que la gente a la que no le interesa este tema (y por ello no leen este hilo) pero sabe sobre lo que preguntas pueda contestarte. > *  es posible dirigir el stdin y el stderr a la status bar?? > *  si fuera posible, se puede a la vez recibir esta información y a la vez > guardarla en un log? > *  es posible hacer la statusbar para que admita mas de una linea? > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > -- Saludos Fran From maengora en gmail.com Tue Mar 23 14:45:48 2010 From: maengora en gmail.com (=?ISO-8859-1?Q?Manuel_Enrique_Gonz=E1lez_Ram=EDrez?=) Date: Tue, 23 Mar 2010 08:45:48 -0500 Subject: [Python-es] Busqueda cadenas NO coincidentes Message-ID: Hola amig en s de la lista. Tengo este pequeño inconveniente. Tengo dos archivos (archivo1.txt y archivo2.xml). Archivo1 contiene una lista de datos en la siguiente forma: primerdato segundodato tercerdato . . . etc Archivo2.txt es un archivo en formato XML que tiene la estructura propia de un archivo de este tipo, completamente diferente al archivo1.txt Lo que necesito que haga mi programa es: 1. Leer linea a linea archivo1.txt 2. Cada vez que se lea una línea de archivo1.txt busque si esa palabra se encuentra en archivo2.xml 3. Si la palabra NO se encuentra en archivo2.xml se debe crear un archivo nuevo (diferencias.txt) que agregue esa palabra que no encontro en archivo2.xml. Si el archivo diferencias.tx ya existe entonces que agregue una linea nueva al archivo diferencias.txt con la palabra en cuestion. Lo que tengo: Tengo un prototipo que inicialmente me funciono con dos archivos de texto pequeño (en pruebas) y misma estructura, pero al ponerlo en producción este no me funciona de la forma deseada ya que me copia todos los registros que contiene el archivo1.txt. Este es el codigo para aquel/aquella que me pueda colaborar, y de una vez MuuuuChassss Gracias #-*- coding: cp1252 -*- """Abro el primer archivo para leer la cantidad de líneas que posee """ f1 = open("archivo1.txt","r") a = 0 for i in f1.readlines(): a += 1 cantidad = a f1.close() contador = 0 while contador <= cantidad: #Abro el primer archivo para la lectura f1 = open("archivo1.txt","r") for linea in f1: #Evito que se muestren los saltos de línea if linea[-1]=='\n': linea = linea[:-1] buscar = linea #Asigno cada línea a la variable buscar #Abro el segundo archivo donde se buscará la variable f2 = open("archivo2.xml","r") archivo2 = f2.read() #Leo Completamente el archivo #Lee la variable y la busca if archivo2.find(buscar)>=0: print buscar+' OK ' else: f3 = open("diferencias.txt","a") f3.write(buscar+"\n") #Si no encuentra la variable pone Fail f3.close()#Cierro el archivo que se crea contador += 1 f2.close() #Cierro el archivo donde se busca f1.close() #Cierro el archivo que contiene las variables a buscar print "Fin de la busqueda" -- Manuel Enrique González Ramírez http://maengora.blogspot.com ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From pyarnau en gmail.com Tue Mar 23 14:49:30 2010 From: pyarnau en gmail.com (Arnau Sanchez) Date: Tue, 23 Mar 2010 14:49:30 +0100 Subject: [Python-es] =?iso-8859-1?q?Construir_instancia_a_partir_de_la_dir?= =?iso-8859-1?q?ecci=F3n?= In-Reply-To: <4BA8BE14.9020309@diselpro.com> References: <4BA8BE14.9020309@diselpro.com> Message-ID: <4BA8C6EA.1010203@gmail.com> On 23/03/10 14:11, Pepe Aracil wrote: > A partir de un texto como por ejemplo este este: > > > ¿ Hay alguna forma de reconstruir una referencia a la instancia > partiendo de la dirección 0x9013b6c ? ¿Y no puedes mantener un diccionario con pares (id, obj) o algo así? En cualquier caso: nunca lo había probado, pero esto parece funcionar: >>> import _ctypes >>> s = "hola" >>> _ctypes.PyObj_FromPtr(id(s)) 'hola' From jcaballero.hep en gmail.com Tue Mar 23 15:09:31 2010 From: jcaballero.hep en gmail.com (Jose Caballero) Date: Tue, 23 Mar 2010 10:09:31 -0400 Subject: [Python-es] Busqueda cadenas NO coincidentes In-Reply-To: References: Message-ID: > > > > #-*- coding: cp1252 -*- > """Abro el primer archivo para > leer la cantidad de líneas > que posee """ > f1 = open("archivo1.txt","r") > a = 0 > for i in f1.readlines(): > a += 1 > cantidad = a > f1.close() > > > contador = 0 > while contador <= cantidad: > #Abro el primer archivo para la lectura > f1 = open("archivo1.txt","r") > for linea in f1: > #Evito que se muestren los saltos de línea > if linea[-1]=='\n': > linea = linea[:-1] > buscar = linea #Asigno cada línea a la variable buscar > > #Abro el segundo archivo donde se buscará la variable > f2 = open("archivo2.xml","r") > archivo2 = f2.read() #Leo Completamente el archivo > #Lee la variable y la busca > if archivo2.find(buscar)>=0: > print buscar+' OK ' > else: > f3 = open("diferencias.txt","a") > f3.write(buscar+"\n") #Si no encuentra la variable pone Fail > f3.close()#Cierro el archivo que se crea > > contador += 1 > > f2.close() #Cierro el archivo donde se busca > f1.close() #Cierro el archivo que contiene las variables a buscar > > print "Fin de la busqueda" > No se lee bien, la indentación se ha estropeado. Prueba a usar alguna URL para compartir código. ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From monobot.soft en gmail.com Tue Mar 23 15:33:53 2010 From: monobot.soft en gmail.com (monoBOT) Date: Tue, 23 Mar 2010 14:33:53 +0000 Subject: [Python-es] [wxpython] status bar, dudas de un novato Message-ID: Buenos Dias señores. Estoy empezando con python y wxpython. Siento si la pregunta es muy estúpida, espero que me ayudeis. * es posible dirigir el stdin y el stderr a la status bar?? * si fuera posible, se puede a la vez recibir esta información y a la vez guardarla en un log? * es posible hacer la statusbar para que admita mas de una linea? ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From lasizoillo en gmail.com Tue Mar 23 15:25:04 2010 From: lasizoillo en gmail.com (lasizoillo) Date: Tue, 23 Mar 2010 15:25:04 +0100 Subject: [Python-es] =?utf-8?q?Construir_instancia_a_partir_de_la_direcci?= =?utf-8?b?w7Nu?= In-Reply-To: <4BA8C6EA.1010203@gmail.com> References: <4BA8BE14.9020309@diselpro.com> <4BA8C6EA.1010203@gmail.com> Message-ID: <49414f571003230725q32da7cbatb0eae8cea9c09523@mail.gmail.com> El día 23 de marzo de 2010 14:49, Arnau Sanchez escribió: > On 23/03/10 14:11, Pepe Aracil wrote: > >> A partir de un texto como por ejemplo este este: >> >> >> ¿ Hay alguna forma de reconstruir una referencia a la instancia >> partiendo de la dirección 0x9013b6c ? > > ¿Y no puedes mantener un diccionario con pares (id, obj) o algo así? > Supongo que mantener dependencias no es muy util para comprobar si se ha producido un leak. Pero tal vez con... http://docs.python.org/library/weakref.html#module-weakref > En cualquier caso: nunca lo había probado, pero esto parece funcionar: > >>>> import _ctypes >>>> s = "hola" >>>> _ctypes.PyObj_FromPtr(id(s)) > 'hola' Curioso From pyarnau en gmail.com Tue Mar 23 15:37:03 2010 From: pyarnau en gmail.com (Arnau Sanchez) Date: Tue, 23 Mar 2010 15:37:03 +0100 Subject: [Python-es] Busqueda cadenas NO coincidentes In-Reply-To: References: Message-ID: <4BA8D20F.2090300@gmail.com> On 23/03/10 14:45, Manuel Enrique González Ramírez wrote: > Lo que necesito que haga mi programa es: > 1. Leer linea a linea archivo1.txt > 2. Cada vez que se lea una línea de archivo1.txt busque si esa palabra > se encuentra en archivo2.xml > 3. Si la palabra NO se encuentra en archivo2.xml se debe crear un > archivo nuevo (diferencias.txt) que agregue esa palabra que no encontro > en archivo2.xml. Si el archivo diferencias.tx ya existe entonces que > agregue una linea nueva al archivo diferencias.txt con la palabra en > cuestion. Python sería un lenguaje "de scripting" muy, muy triste, si para conseguir esto necesitáramos tal cantidad de código. Sin cubrir quizá todos los detalles, podrías partir de algo así: output = (line for line in open("archivo1.txt") if line.strip() not in open("archivo2.xml").read()) open("diferencias.txt", "a+").writelines(output) Por cierto, añadir datos a archivos (operación no idempotente) suele ser una mala idea, yo usaría el modo "w" y si hay diferentes fuentes las uniría después. Conceptualmente no sé si tiene mucho sentido mirar si una palabra está o no en un formato estructurado como XML, pero bueno, supongo que eso ya lo tienes controlado. From monobot.soft en gmail.com Tue Mar 23 15:48:14 2010 From: monobot.soft en gmail.com (monoBOT) Date: Tue, 23 Mar 2010 14:48:14 +0000 Subject: [Python-es] =?iso-8859-1?q?Existe_librer=EDa_de_Nokia_para_Python?= In-Reply-To: <779d9e921003230640k40b4d35bg9322fb9dfc5ebaa0@mail.gmail.com> References: <1319.10.14.16.210.1269272092.squirrel@correo> <201003231239.28571.jordi.f@ati.es> <201003231342.03585.jordi.f@ati.es> <779d9e921003230640k40b4d35bg9322fb9dfc5ebaa0@mail.gmail.com> Message-ID: El 23 de marzo de 2010 13:40, Francisco Javier Cuadrado < fcocuadrado en gmail.com> escribió: > El día 23 de marzo de 2010 14:09, monoBOT > escribió: > > Buenos Dias señores. > > Estoy empezando con python y wxpython. > > Siento si la pregunta es muy estúpida, espero que me ayudeis. > > No hay preguntas estúpidas, sólo preguntas en sitios no relacionados, > con esto quiero decir que deberías abrir un nuevo hilo (es decir, > mandar un e-mail con un asunto relativo a tu pregunta) para no mezclar > temas y que la gente a la que no le interesa este tema (y por ello no > leen este hilo) pero sabe sobre lo que preguntas pueda contestarte. > > > * es posible dirigir el stdin y el stderr a la status bar?? > > * si fuera posible, se puede a la vez recibir esta información y a la > vez > > guardarla en un log? > > * es posible hacer la statusbar para que admita mas de una linea? > > _______________________________________________ > > Python-es mailing list > > Python-es en python.org > > http://mail.python.org/mailman/listinfo/python-es > > FAQ: http://python-es-faq.wikidot.com/ > > > > > > > > -- > Saludos > > Fran > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > Hostia, lo siento. -- Héctor Alvarez Arquitecto Advertencia legal: De acuerdo a la vigente Ley Orgánica 15/1999 de Protección de Datos de carácter Personal le informamos que: Este correo electrónico contiene información privada y estrictamente confidencial. Si usted NO ES el destinatario, NO ESTA AUTORIZADO a leerlo, directa o indirectamente, usar, revelar, distribuir, imprimir o copiar ninguna de las partes y/o anexos de éste mensaje. Si por error ha recibido este mensaje, le rogamos lo notifique a su emisor respondiendo a éste e-mail y proceda a borrar de su sistema inmediatamente el mensaje así como todas sus copias. ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From lasizoillo en gmail.com Tue Mar 23 15:33:47 2010 From: lasizoillo en gmail.com (lasizoillo) Date: Tue, 23 Mar 2010 15:33:47 +0100 Subject: [Python-es] Busqueda cadenas NO coincidentes In-Reply-To: References: Message-ID: <49414f571003230733vbe5df40he20d32c344d8c4f2@mail.gmail.com> El día 23 de marzo de 2010 14:45, Manuel Enrique González Ramírez escribió: > Hola amig en s de la lista. > > Tengo este pequeño inconveniente. > > Tengo dos archivos (archivo1.txt y archivo2.xml).  Archivo1 contiene una > lista de datos en la siguiente forma: > > primerdato > segundodato > tercerdato > . > . > . > etc > > > Archivo2.txt es un archivo en formato XML que tiene la estructura propia de > un archivo de este tipo, completamente diferente al archivo1.txt > > Lo que necesito que haga mi programa es: > 1. Leer linea a linea archivo1.txt > 2. Cada vez que se lea una línea de archivo1.txt busque si esa palabra se > encuentra en archivo2.xml > 3. Si la palabra NO se encuentra en archivo2.xml se debe crear un archivo > nuevo (diferencias.txt) que agregue esa palabra que no encontro en > archivo2.xml.  Si el archivo diferencias.tx ya existe entonces que agregue > una linea nueva al archivo diferencias.txt con la palabra en cuestion. > ¿Es abordable meter todas las palabras de archivo2.xml en un set? Si es así hazlo y verás que rapidito vas. Si no es abordable meterlo en memoria, puedes probar a usar una berkeleydb. http://docs.python.org/library/sets.html#module-sets http://docs.python.org/library/bsddb.html#module-bsddb Los dos modulos han sido marcados como "deprecated". El primero viene incluido como tipo del sistema y para el segundo puedes usar las librerias de jcea (otro listero). http://www.jcea.es/programacion/pybsddb.htm Así que no preocuparse por quedarse sin soporte ;-) Un saludo: Javi From olemis+py en gmail.com Tue Mar 23 15:53:54 2010 From: olemis+py en gmail.com (Olemis Lang (Simelix)) Date: Tue, 23 Mar 2010 10:53:54 -0400 Subject: [Python-es] Busqueda cadenas NO coincidentes In-Reply-To: <4BA8D20F.2090300@gmail.com> References: <4BA8D20F.2090300@gmail.com> Message-ID: <24ea26601003230753t76b978b7u76bdb2b46e45eb29@mail.gmail.com> 2010/3/23 Arnau Sanchez : > On 23/03/10 14:45, Manuel Enrique González Ramírez wrote: > >> Lo que necesito que haga mi programa es: >> 1. Leer linea a linea archivo1.txt >> 2. Cada vez que se lea una línea de archivo1.txt busque si esa palabra >> se encuentra en archivo2.xml >> 3. Si la palabra NO se encuentra en archivo2.xml se debe crear un >> archivo nuevo (diferencias.txt) que agregue esa palabra que no encontro >> en archivo2.xml.  Si el archivo diferencias.tx ya existe entonces que >> agregue una linea nueva al archivo diferencias.txt con la palabra en >> cuestion. > [...] > > Conceptualmente no sé si tiene mucho sentido mirar si una palabra está o no > en un formato estructurado como XML, pero bueno, supongo que eso ya lo > tienes controlado. A priori, mi sugerencia es una de las siguiente (sobre todo si hubiera algún órden ... ;o) : - Generar XML a partir del fichero texto y hacer un diff con lxml (al nivel de las etiquetas ;o) - Generar texto a partir del fichero XML y hacer un diff normal (e.g. udiff ) con difflib -- Regards, Olemis. Blog ES: http://simelo-es.blogspot.com/ Blog EN: http://simelo-en.blogspot.com/ Featured article: From tanyin21 en hotmail.com Tue Mar 23 15:56:22 2010 From: tanyin21 en hotmail.com (John) Date: Tue, 23 Mar 2010 08:56:22 -0600 Subject: [Python-es] =?iso-8859-1?q?Existe_librer=EDa_de_Nokia_para_Python?= In-Reply-To: References: <1319.10.14.16.210.1269272092.squirrel@correo> <201003231239.28571.jordi.f@ati.es> <201003231342.03585.jordi.f@ati.es> Message-ID: Muchas gracias a todos por sus excelentes respuestas, que interesante la verdad no sabia de tantos servicios y empresas que ofrecen de una manera distinta enviar SMS. Con gammu he podido enviar mensajes, lo unico es que cuando los envio los mensajes no se guardan en la memoria del dispositivo, he tratado de usar el metodo "AddSMS()" pero no entiendo muy bien com usarlo, hago lo siguiente: import gammu sm = gammu.StateMachine() sm.ReadConfig() sm.Init() message = {'Text':'hola','SMSC':{'Location':1},'Number':'+42013133'} sm.AddSMS(message) Traceback (most recent call last): File "", line 1, in ValueError: Missing key in dictionary: Folder Ahora pense en usar una libreria (si existiera para python) que maneje directamente a symbian y lo unico que encontre fue PyS60, que de echo se ve muy interesante pero el en el modelo de Nokia que tengo utiliza Symbian S40 entonces no me sirve. ¿Alguien puede sacarme de la duda que tengo utilizando gammu? Muy agradecido con todas sus respuestas. Saludos El 23/03/10 07:05, Raimon Esteve escribió: > El día 23 de marzo de 2010 13:42, Jordi Funollet escribió: > >> No lo descubrí cuando implementé el script, creo que hace más de un año. Le he >> estado dando un vistazo rápido (y me gusta). >> > no quiero entrar en temas comerciales ni cobro comisiones ;) > > Otra solución es www.bulksms.com > Este servicio lo lleva implementado por defecto OpenERP (1). (envio > sms a partners, por ejemplo) > > No hemos hecho ninguna implentación con bulksms; no te puedo dar más detalle. > > (1) Quien no sepa que es OpenERP, és un ERP escrito en python ;) > From olemis+py en gmail.com Tue Mar 23 16:00:28 2010 From: olemis+py en gmail.com (Olemis Lang (Simelix)) Date: Tue, 23 Mar 2010 11:00:28 -0400 Subject: [Python-es] [wxpython] status bar, dudas de un novato In-Reply-To: References: Message-ID: <24ea26601003230800l33e4dc57vff8078478e9bda65@mail.gmail.com> 2010/3/23 monoBOT : > Buenos Dias señores. > Estoy empezando con python y wxpython. > Siento si la pregunta es muy estúpida, espero que me ayudeis. > *  es posible dirigir el stdin y el stderr a la status bar?? Hay algo de eso en el blog de Mike Driscoll [1]_ y un hilo en la lista de wxPy [2]_ (Googlear para URL ;o) > *  si fuera posible, se puede a la vez recibir esta información y a la vez > guardarla en un log? Sí, pero sería mucho más fácil si se utilizara logging. De esa forma solo se necesitaría cambiar el handler (stdout, por log file o rotating log file o ...) y no el código. Pero bueno, si ya se tiene el texto se puede hacer con él lo que Ud quiera ;o) > *  es posible hacer la statusbar para que admita mas de una linea? > AFAIK , no, pero se pueden tener tres (cuatro, ...) una al lado de la otra .. [1] wxPython ? Redirecting stdout / stderr (http://www.blog.pythonlibrary.org/2009/01/01/wxpython-redirecting-stdout-stderr/) .. [2] [wxPython-users] How to print to wx.TextCtrl from an asynchronous process? (xxx) -- Regards, Olemis. Blog ES: http://simelo-es.blogspot.com/ Blog EN: http://simelo-en.blogspot.com/ Featured article: #6826: Add support for further datetime formats in JSON-RPC (et al. ?) - http://trac-hacks.org/ticket/6826 From pepe en diselpro.com Tue Mar 23 16:53:05 2010 From: pepe en diselpro.com (Pepe Aracil) Date: Tue, 23 Mar 2010 16:53:05 +0100 Subject: [Python-es] =?iso-8859-1?q?Construir_instancia_a_partir_de_la_dir?= =?iso-8859-1?q?ecci=F3n?= In-Reply-To: <4BA8C6EA.1010203@gmail.com> References: <4BA8BE14.9020309@diselpro.com> <4BA8C6EA.1010203@gmail.com> Message-ID: <4BA8E3E1.8020504@diselpro.com> Hola Arnau. Parece que funciona. :-) El problema lo tenia cuando la funcion gc.get_referrers() me devuelve instancias a las cuales ya no tengo acceso pero quiero seguirles las pista para saber porque no han muerto. Gracias. Arnau Sanchez escribió: > On 23/03/10 14:11, Pepe Aracil wrote: > >> A partir de un texto como por ejemplo este este: >> >> >> ¿ Hay alguna forma de reconstruir una referencia a la instancia >> partiendo de la dirección 0x9013b6c ? > > ¿Y no puedes mantener un diccionario con pares (id, obj) o algo así? > > En cualquier caso: nunca lo había probado, pero esto parece funcionar: > > >>> import _ctypes > >>> s = "hola" > >>> _ctypes.PyObj_FromPtr(id(s)) > 'hola' > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ From pepe en diselpro.com Tue Mar 23 17:12:18 2010 From: pepe en diselpro.com (Pepe Aracil) Date: Tue, 23 Mar 2010 17:12:18 +0100 Subject: [Python-es] =?iso-8859-1?q?Construir_instancia_a_partir_de_la_dir?= =?iso-8859-1?q?ecci=F3n?= In-Reply-To: <49414f571003230725q32da7cbatb0eae8cea9c09523@mail.gmail.com> References: <4BA8BE14.9020309@diselpro.com> <4BA8C6EA.1010203@gmail.com> <49414f571003230725q32da7cbatb0eae8cea9c09523@mail.gmail.com> Message-ID: <4BA8E862.6090703@diselpro.com> Hola. Efectivamente para probar si una instancia muere de verdad, lo que hago es crear una weakref hacia esa instancia y posteriormente comprobar si al desreferenciarla devuelve None. Saludos. lasizoillo escribió: > El día 23 de marzo de 2010 14:49, Arnau Sanchez escribió: > >> On 23/03/10 14:11, Pepe Aracil wrote: >> >> >>> A partir de un texto como por ejemplo este este: >>> >>> >>> ¿ Hay alguna forma de reconstruir una referencia a la instancia >>> partiendo de la dirección 0x9013b6c ? >>> >> ¿Y no puedes mantener un diccionario con pares (id, obj) o algo así? >> >> > > Supongo que mantener dependencias no es muy util para comprobar si se > ha producido un leak. Pero tal vez con... > > http://docs.python.org/library/weakref.html#module-weakref > > > >> En cualquier caso: nunca lo había probado, pero esto parece funcionar: >> >> >>>>> import _ctypes >>>>> s = "hola" >>>>> _ctypes.PyObj_FromPtr(id(s)) >>>>> >> 'hola' >> > > Curioso > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > From pepe en diselpro.com Tue Mar 23 17:31:38 2010 From: pepe en diselpro.com (Pepe Aracil) Date: Tue, 23 Mar 2010 17:31:38 +0100 Subject: [Python-es] =?iso-8859-1?q?Construir_instancia_a_partir_de_la_dir?= =?iso-8859-1?q?ecci=F3n?= In-Reply-To: <4BA8E3E1.8020504@diselpro.com> References: <4BA8BE14.9020309@diselpro.com> <4BA8C6EA.1010203@gmail.com> <4BA8E3E1.8020504@diselpro.com> Message-ID: <4BA8ECEA.2040505@diselpro.com> Arg!!! Toy tonto. gc.get_referrers() ya devuelve las instancias. Al trabajar con la consola y ver las representaciones de los objetos en texto, no he caído en que se trataba realmente de instancias. Saludos. Pepe Aracil escribió: > Hola Arnau. > > Parece que funciona. :-) > > El problema lo tenia cuando la funcion gc.get_referrers() me > devuelve instancias a las cuales ya no tengo acceso pero quiero > seguirles las pista para saber porque no han muerto. > > Gracias. > > Arnau Sanchez escribió: >> On 23/03/10 14:11, Pepe Aracil wrote: >> >>> A partir de un texto como por ejemplo este este: >>> >>> >>> ¿ Hay alguna forma de reconstruir una referencia a la instancia >>> partiendo de la dirección 0x9013b6c ? >> >> ¿Y no puedes mantener un diccionario con pares (id, obj) o algo así? >> >> En cualquier caso: nunca lo había probado, pero esto parece funcionar: >> >> >>> import _ctypes >> >>> s = "hola" >> >>> _ctypes.PyObj_FromPtr(id(s)) >> 'hola' >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ > From hfoffani en gmail.com Tue Mar 23 18:43:34 2010 From: hfoffani en gmail.com (Hernan M Foffani) Date: Tue, 23 Mar 2010 18:43:34 +0100 Subject: [Python-es] =?iso-8859-1?q?Fwd=3A_=5BEuroPython=5D_EuroPython_201?= =?iso-8859-1?q?0_-_Abierta_la_inscripci=F3n?= Message-ID: <11fab4bc1003231043t69e30e8cmc45e45e3fc916d3f@mail.gmail.com> Por si os interesa... ---------- Forwarded message ---------- From: Alex Willmer Date: Mon, Mar 15, 2010 at 16:57 Subject: [EuroPython] EuroPython 2010 - Open for registration and reminder of participation To: europython en python.org EuroPython 2010 - 17th to 24th July 2010 ---------------------------------------- EuroPython is a conference for the Python programming language community, including the Django, Zope and Plone communities. It is aimed at everyone in the Python community, of all skill levels, both users and programmers. Last year's conference was the largest open source conference in the UK and one of the largest community organised software conferences in Europe. This year EuroPython will be held from the 17th to 24th July in Birmingham, UK. It will include over 100 talks, tutorials, sprints and social events. Registration ------------ Registration is open now at: http://www.europython.eu/registration/ For the best registration rates, book as soon as you can! Extra Early Bird closes soon, after which normal Early Bird rate will apply until 10th May Talks, Activities and Events ---------------------------- Do you have something you wish to present at EuroPython? You want to give a talk, run a tutorial or sprint? Go to http://www.europython.eu/talks/cfp/ for information and advice! Go to http://wiki.europython.eu/Sprints to plan a sprint! Help Us Out ----------- EuroPython is run by volunteers, like you! We could use a hand, and any contribution is welcome. Go to http://wiki.europython.eu/Helping to join us! Go to http://www.europython.eu/contact/ to contact us directly! Sponsors -------- Sponsoring EuroPython is a unique opportunity to affiliate with this prestigious conference and to reach a large number of Python users from computing professionals to academics, from entrepreneurs to motivated and well-educated job seekers. http://www.europython.eu/sponsors/ Spread the Word --------------- We are a community-run not-for-profit conference. Please help to spread the word by distributing this announcement to colleagues, project mailing lists, friends, your blog, Web site, and through your social networking connections. Take a look at our publicity resources: http://wiki.europython.eu/Publicity General Information ------------------- For more information about the conference, please visit the official site: http://www.europython.eu/ Looking forward to see you! The EuroPython Team -- Alex Willmer http://moreati.org.uk/blog _______________________________________________ EuroPython 2010 - Birmingham, 17-24 July 2010 - http://www.europython2010.eu EuroPython mailing list EuroPython en python.org http://mail.python.org/mailman/listinfo/europython ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From olemis+py en gmail.com Tue Mar 23 18:56:25 2010 From: olemis+py en gmail.com (Olemis Lang (Simelix)) Date: Tue, 23 Mar 2010 13:56:25 -0400 Subject: [Python-es] =?iso-8859-1?q?Fwd=3A_=5BEuroPython=5D_EuroPython_201?= =?iso-8859-1?q?0_-_Abierta_la_inscripci=F3n?= In-Reply-To: <11fab4bc1003231043t69e30e8cmc45e45e3fc916d3f@mail.gmail.com> References: <11fab4bc1003231043t69e30e8cmc45e45e3fc916d3f@mail.gmail.com> Message-ID: <24ea26601003231056i4a7d991dja8c9d48e6939d091@mail.gmail.com> On Tue, Mar 23, 2010 at 1:43 PM, Hernan M Foffani wrote: > Por si os interesa... > Trataré de buscar, pero quizás alguien ya sabe la respuesta, Q: - ¿Los videos de las conferencias se publican en algún sitio? (e.g. PyCon US => pycon.blip.tv, EuroPython => ¿? ) - ¿Dónde? - ¿Están disponibles las ediciones anteriores? Gracias por adelantado -- Regards, Olemis. Blog ES: http://simelo-es.blogspot.com/ Blog EN: http://simelo-en.blogspot.com/ Featured article: From hfoffani en gmail.com Tue Mar 23 19:05:13 2010 From: hfoffani en gmail.com (Hernan M Foffani) Date: Tue, 23 Mar 2010 19:05:13 +0100 Subject: [Python-es] =?iso-8859-1?q?Fwd=3A_=5BEuroPython=5D_EuroPython_201?= =?iso-8859-1?q?0_-_Abierta_la_inscripci=F3n?= In-Reply-To: <24ea26601003231056i4a7d991dja8c9d48e6939d091@mail.gmail.com> References: <11fab4bc1003231043t69e30e8cmc45e45e3fc916d3f@mail.gmail.com> <24ea26601003231056i4a7d991dja8c9d48e6939d091@mail.gmail.com> Message-ID: <11fab4bc1003231105w1726f12dg9feae03ceec6a0da@mail.gmail.com> 2010/3/23 Olemis Lang (Simelix) > > On Tue, Mar 23, 2010 at 1:43 PM, Hernan M Foffani > wrote: > > Por si os interesa... > > > > Trataré de buscar, pero quizás alguien ya sabe la respuesta, > > Q: > - ¿Los videos de las conferencias se publican en algún sitio? > (e.g. PyCon US => pycon.blip.tv, EuroPython => ¿? ) > - ¿Dónde? > - ¿Están disponibles las ediciones anteriores? > > http://europython09.blip.tv/ ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From olemis+py en gmail.com Tue Mar 23 19:06:32 2010 From: olemis+py en gmail.com (Olemis Lang (Simelix)) Date: Tue, 23 Mar 2010 14:06:32 -0400 Subject: [Python-es] =?iso-8859-1?q?Fwd=3A_=5BEuroPython=5D_EuroPython_201?= =?iso-8859-1?q?0_-_Abierta_la_inscripci=F3n?= In-Reply-To: <24ea26601003231056i4a7d991dja8c9d48e6939d091@mail.gmail.com> References: <11fab4bc1003231043t69e30e8cmc45e45e3fc916d3f@mail.gmail.com> <24ea26601003231056i4a7d991dja8c9d48e6939d091@mail.gmail.com> Message-ID: <24ea26601003231106h59372591v3f0190beaded73f1@mail.gmail.com> 2010/3/23 Olemis Lang (Simelix) : > On Tue, Mar 23, 2010 at 1:43 PM, Hernan M Foffani wrote: >> Por si os interesa... >> > > Trataré de buscar, pero quizás alguien ya sabe la respuesta, > > Q: >  - ¿Los videos de las conferencias se publican en algún sitio? >     (e.g. PyCon US => pycon.blip.tv, EuroPython => ¿? ) >  - ¿Dónde? >  - ¿Están disponibles las ediciones anteriores? > Ya ! http://europython09.blip.tv/file/2338586/ http://www.google.com/search?q=europython+site:blip.tv&num=100&hl=en&client=opera&hs=P18&rls=en&filter=0 -- Regards, Olemis. Blog ES: http://simelo-es.blogspot.com/ Blog EN: http://simelo-en.blogspot.com/ Featured article: From tanyin21 en hotmail.com Wed Mar 24 01:09:46 2010 From: tanyin21 en hotmail.com (John) Date: Tue, 23 Mar 2010 18:09:46 -0600 Subject: [Python-es] =?iso-8859-1?q?Fwd=3A_=5BEuroPython=5D_EuroPython_201?= =?iso-8859-1?q?0_-_Abierta_la_inscripci=F3n?= In-Reply-To: <24ea26601003231106h59372591v3f0190beaded73f1@mail.gmail.com> References: <11fab4bc1003231043t69e30e8cmc45e45e3fc916d3f@mail.gmail.com> <24ea26601003231056i4a7d991dja8c9d48e6939d091@mail.gmail.com> <24ea26601003231106h59372591v3f0190beaded73f1@mail.gmail.com> Message-ID: Que lastima, se me queman los pies por ir, pero me queda bastante lejos y imposible por ahora :( El 23/03/10 12:06, Olemis Lang (Simelix) escribió: > 2010/3/23 Olemis Lang (Simelix): > >> On Tue, Mar 23, 2010 at 1:43 PM, Hernan M Foffani wrote: >> >>> Por si os interesa... >>> >>> >> Trataré de buscar, pero quizás alguien ya sabe la respuesta, >> >> Q: >> - ¿Los videos de las conferencias se publican en algún sitio? >> (e.g. PyCon US => pycon.blip.tv, EuroPython => ¿? ) >> - ¿Dónde? >> - ¿Están disponibles las ediciones anteriores? >> >> > Ya ! > > http://europython09.blip.tv/file/2338586/ > > http://www.google.com/search?q=europython+site:blip.tv&num=100&hl=en&client=opera&hs=P18&rls=en&filter=0 > > From qualopec en gmail.com Wed Mar 24 10:23:40 2010 From: qualopec en gmail.com (Javier Santana) Date: Wed, 24 Mar 2010 10:23:40 +0100 Subject: [Python-es] pinax Message-ID: Hola a todos, estoy valorando el uso de pinax para un proyecto, sin embargo al hacer los primers test he obtenido varios 500 con la página típica de error de django, que da bastante mala espina de entrada. Teneis alguno experiencias con pinax? un saludo. From joseluistorrehernandez en gmail.com Wed Mar 24 11:18:02 2010 From: joseluistorrehernandez en gmail.com (=?UTF-8?Q?Jos=C3=A9_Luis_Torre_Hern=C3=A1ndez?=) Date: Wed, 24 Mar 2010 11:18:02 +0100 Subject: [Python-es] Servidor python Message-ID: <2ecbd5e41003240318r39934dcbl7022705b2b5ac2af@mail.gmail.com> Hola: ¿Sería posible disponer de un servidor python con el fin de probar algunos de nuestros programas en remoto? La idea me surgió al intentar explicar algunas ventajas de python en el ordenador de un amigo que no lo tenía instalado. Saludos José Luis Torre ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From scots4ever en gmail.com Wed Mar 24 11:49:14 2010 From: scots4ever en gmail.com (Soto) Date: Wed, 24 Mar 2010 11:49:14 +0100 Subject: [Python-es] Servidor python In-Reply-To: <2ecbd5e41003240318r39934dcbl7022705b2b5ac2af@mail.gmail.com> References: <2ecbd5e41003240318r39934dcbl7022705b2b5ac2af@mail.gmail.com> Message-ID: <10f310251003240349y4d82e3ccu4eda607fd0b4ea7c@mail.gmail.com> ¿Por lo que preguntas supongo que te refieres a una máquina con python instalado verdad? Si es así te es suficiente con una vpn y una máquina disponible para ello. __________________________________________________________ "La ocasión hay que crearla, no esperar que llegue." Francis Bacón El 24 de marzo de 2010 11:18, José Luis Torre Hernández < joseluistorrehernandez en gmail.com> escribió: > Hola: > > ¿Sería posible disponer de un servidor python con el fin de probar algunos > de nuestros programas en remoto? > > La idea me surgió al intentar explicar algunas ventajas de python en el > ordenador de un amigo que no lo tenía instalado. > > Saludos > José Luis Torre > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From kikocorreoso en gmail.com Wed Mar 24 11:54:25 2010 From: kikocorreoso en gmail.com (Kiko) Date: Wed, 24 Mar 2010 11:54:25 +0100 Subject: [Python-es] Servidor python In-Reply-To: <2ecbd5e41003240318r39934dcbl7022705b2b5ac2af@mail.gmail.com> References: <2ecbd5e41003240318r39934dcbl7022705b2b5ac2af@mail.gmail.com> Message-ID: <1b6058651003240354s21a56fe8y4b15cd055fc0d6e6@mail.gmail.com> El 24 de marzo de 2010 11:18, José Luis Torre Hernández < joseluistorrehernandez en gmail.com> escribió: > Hola: > > ¿Sería posible disponer de un servidor python con el fin de probar algunos > de nuestros programas en remoto? > > La idea me surgió al intentar explicar algunas ventajas de python en el > ordenador de un amigo que no lo tenía instalado. > > Para mostrar cosas muy sencillas se podría usar esto: http://try-python.mired.org/ ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From dani en danigm.net Wed Mar 24 11:56:18 2010 From: dani en danigm.net (Daniel Garcia) Date: Wed, 24 Mar 2010 11:56:18 +0100 Subject: [Python-es] Servidor python In-Reply-To: <2ecbd5e41003240318r39934dcbl7022705b2b5ac2af@mail.gmail.com> References: <2ecbd5e41003240318r39934dcbl7022705b2b5ac2af@mail.gmail.com> Message-ID: <1269428178.18103.0.camel@tate> El mié, 24-03-2010 a las 11:18 +0100, José Luis Torre Hernández escribió: > Hola: > > ¿Sería posible disponer de un servidor python con el fin de probar > algunos de nuestros programas en remoto? > > La idea me surgió al intentar explicar algunas ventajas de python en > el ordenador de un amigo que no lo tenía instalado. > ¿Esto? http://try-python.mired.org/ ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 197 bytes Desc: Esto es una parte de mensaje firmado digitalmente URL: From lgmerino en yahoo.com Wed Mar 24 12:00:53 2010 From: lgmerino en yahoo.com (Luis Garcia Merino) Date: Wed, 24 Mar 2010 11:00:53 +0000 (GMT) Subject: [Python-es] Servidor python In-Reply-To: <2ecbd5e41003240318r39934dcbl7022705b2b5ac2af@mail.gmail.com> References: <2ecbd5e41003240318r39934dcbl7022705b2b5ac2af@mail.gmail.com> Message-ID: <950940.39310.qm@web29006.mail.ird.yahoo.com> ________________________________ De: José Luis Torre Hernández Para: python-es en python.org Enviado: mié,24 marzo, 2010 11:18 Asunto: [Python-es] Servidor python Hola: ¿Sería posible disponer de un servidor python con el fin de probar algunos de nuestros programas en remoto? La idea me surgió al intentar explicar algunas ventajas de python en el ordenador de un amigo que no lo tenía instalado. Saludos José Luis Torre ---------------------------------------------------------------------------------------------------------------------------- Buenas, googleando un poco he dado con [http://pythonwebconsole.thomnichols.org/], puede que te sirva. ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From olemis+py en gmail.com Wed Mar 24 13:06:15 2010 From: olemis+py en gmail.com (Olemis Lang (Simelix)) Date: Wed, 24 Mar 2010 08:06:15 -0400 Subject: [Python-es] Servidor python In-Reply-To: <950940.39310.qm@web29006.mail.ird.yahoo.com> References: <2ecbd5e41003240318r39934dcbl7022705b2b5ac2af@mail.gmail.com> <950940.39310.qm@web29006.mail.ird.yahoo.com> Message-ID: <24ea26601003240506v5dffb408x4d978edcbf1f76f1@mail.gmail.com> 2010/3/24 Luis Garcia Merino : > > ________________________________ > De: José Luis Torre Hernández > Para: python-es en python.org > Enviado: mié,24 marzo, 2010 11:18 > Asunto: [Python-es] Servidor python > > Hola: > :o) > ¿Sería posible disponer de un servidor python con el fin de probar algunos > de nuestros programas en remoto? > > La idea me surgió al intentar explicar algunas ventajas de python en el > ordenador de un amigo que no lo tenía instalado. > http://lotrepls.appspot.com/ (multiples lenguajes, además de Py) http://shell.appspot.com/ http://pythonwebconsole.thomnichols.org/ http://try-python.mired.org/ -- Regards, Olemis. Blog ES: http://simelo-es.blogspot.com/ Blog EN: http://simelo-en.blogspot.com/ Featured article: From igor en tamarapatino.org Wed Mar 24 12:47:06 2010 From: igor en tamarapatino.org (Igor =?iso-8859-1?Q?T=E1mara?=) Date: Wed, 24 Mar 2010 06:47:06 -0500 Subject: [Python-es] Servidor python In-Reply-To: <950940.39310.qm@web29006.mail.ird.yahoo.com> References: <2ecbd5e41003240318r39934dcbl7022705b2b5ac2af@mail.gmail.com> <950940.39310.qm@web29006.mail.ird.yahoo.com> Message-ID: <20100324114706.GD27434@tamarapatino.org> Hola, Luis> Hola: Luis> Luis> ¿Sería posible disponer de un servidor python con el fin de probar algunos de nuestros programas en remoto? Luis> Luis> La idea me surgió al intentar explicar algunas ventajas de python en el ordenador de un amigo que no lo tenía instalado. Luis> Luis> Saludos Luis> José Luis Torre Prueba Crunchy Python, creo que es un entorno de aprendizaje muy interesante : http://code.google.com/p/crunchy/ Por otra parte, si tienes una USB puedes cargar con http://www.portablepython.com/ O mejor aún, con una USB booteable contar con linux y GVR o Turtle Art... -- Recomiendo Python como lenguaje de programación http://www.python.org ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: Digital signature URL: From feeds en nimiux.org Wed Mar 24 20:30:55 2010 From: feeds en nimiux.org (Chema Alonso) Date: Wed, 24 Mar 2010 20:30:55 +0100 Subject: [Python-es] Servidor python In-Reply-To: <24ea26601003240506v5dffb408x4d978edcbf1f76f1@mail.gmail.com> References: <2ecbd5e41003240318r39934dcbl7022705b2b5ac2af@mail.gmail.com> <950940.39310.qm@web29006.mail.ird.yahoo.com> <24ea26601003240506v5dffb408x4d978edcbf1f76f1@mail.gmail.com> Message-ID: <20100324193055.GA16425@muiri> On Wed, Mar 24, 2010 at 08:06:15AM -0400, Olemis Lang (Simelix) wrote: > 2010/3/24 Luis Garcia Merino : > > > > ________________________________ > > De: José Luis Torre Hernández > > Para: python-es en python.org > > Enviado: mié,24 marzo, 2010 11:18 > > Asunto: [Python-es] Servidor python > > > > Hola: > > > > :o) > > > ¿Sería posible disponer de un servidor python con el fin de probar algunos > > de nuestros programas en remoto? > > > > La idea me surgió al intentar explicar algunas ventajas de python en el > > ordenador de un amigo que no lo tenía instalado. > > > > http://lotrepls.appspot.com/ (multiples lenguajes, además de Py) > http://shell.appspot.com/ > http://pythonwebconsole.thomnichols.org/ > http://try-python.mired.org/ > > -- > Regards, > > Olemis. > > Blog ES: http://simelo-es.blogspot.com/ > Blog EN: http://simelo-en.blogspot.com/ > > Featured article: > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ Otro más: http://codepad.org/ Saludos From celord en gmail.com Wed Mar 24 20:35:15 2010 From: celord en gmail.com (=?ISO-8859-1?B?Q+lzYXIgR2FyY+1h?=) Date: Wed, 24 Mar 2010 13:35:15 -0600 Subject: [Python-es] pinax In-Reply-To: References: Message-ID: Yo no, pero si necesitas algo de introducción, en blip.tv existe un canal de pycan2010 donde hay varias presentaciones sobre pinax, talvez de algo te puedan servir El día 24 de marzo de 2010 03:23, Javier Santana escribió: > Hola a todos, estoy valorando el uso de pinax para un proyecto, sin > embargo al hacer los primers test he obtenido varios 500 con la página > típica de error de django, que da bastante mala espina de entrada. > > Teneis alguno experiencias con pinax? > > un saludo. > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > -- http://celord.blogspot.com/ From darkrho en gmail.com Wed Mar 24 21:21:26 2010 From: darkrho en gmail.com (Rolando Espinoza La Fuente) Date: Wed, 24 Mar 2010 15:51:26 -0430 Subject: [Python-es] pinax In-Reply-To: References: Message-ID: <4eca3f41003241321n18919d54i4888ce8964d3fe43@mail.gmail.com> 2010/3/24 Javier Santana : > Hola a todos, estoy valorando el uso de pinax para un proyecto, sin > embargo al hacer los primers test he obtenido varios 500 con la página > típica de error de django, que da bastante mala espina de entrada. > > Teneis alguno experiencias con pinax? Yo sólo he probado el ejemplo de full project que tiene, sin ningún problema. ¿no tendrás algo mal configurado? Rolando From inf200523 en ucf.edu.cu Wed Mar 24 21:30:02 2010 From: inf200523 en ucf.edu.cu (Boris Perez Canedo) Date: Wed, 24 Mar 2010 16:30:02 -0400 (EDT) Subject: [Python-es] Busqueda cadenas NO coincidentes In-Reply-To: References: Message-ID: <1746.10.14.19.12.1269462602.squirrel@correo.ucf.edu.cu> Hola amig en s de la lista. Tengo este pequeño inconveniente. Tengo dos archivos (archivo1.txt y archivo2.xml).  Archivo1 contiene una lista de datos en la siguiente forma: primerdato segundodato tercerdato . . . etc Archivo2.txt es un archivo en formato XML que tiene la estructura propia de un archivo de este tipo, completamente diferente al archivo1.txt Lo que necesito que haga mi programa es: 1. Leer linea a linea archivo1.txt 2. Cada vez que se lea una línea de archivo1.txt busque si esa palabra se encuentra en archivo2.xml 3. Si la palabra NO se encuentra en archivo2.xml se debe crear un archivo nuevo (diferencias.txt) que agregue esa palabra que no encontro en archivo2.xml.  Si el archivo diferencias.tx ya existe entonces que agregue una linea nueva al archivo diferencias.txt con la palabra en cuestion. Lo que tengo: Tengo un prototipo que inicialmente me funciono con dos archivos de texto pequeño (en pruebas) y misma estructura, pero al ponerlo en producción este no me funciona de la forma deseada ya que me copia todos los registros que contiene el archivo1.txt. Este es el codigo para aquel/aquella que me pueda colaborar,  y de una vez MuuuuChassss Gracias #-*- coding: cp1252 -*- """Abro el primer archivo para leer la cantidad de líneas que posee """ f1 = open("archivo1.txt","r") a = 0 for i in f1.readlines():     a += 1 cantidad = a f1.close() contador = 0 while contador     #Abro el primer archivo para la lectura     f1 = open("archivo1.txt","r")     for linea in f1:     #Evito que se muestren los saltos de línea     if linea[-1]=='\n':             linea = linea[:-1]     buscar = linea #Asigno cada línea a la variable buscar     #Abro el segundo archivo donde se buscará la variable     f2 = open("archivo2.xml","r")         archivo2 = f2.read() #Leo Completamente el archivo     #Lee la variable y la busca     if archivo2.find(buscar)>=0:         print buscar+' OK '     else:         f3 = open("diferencias.txt","a")             f3.write(buscar+"\n") #Si no encuentra la variable pone Fail         f3.close()#Cierro el archivo que se crea     contador += 1 f2.close() #Cierro el archivo donde se busca f1.close() #Cierro el archivo que contiene las variables a buscar print "Fin de la busqueda" Hola, Esto te puede dar las lineas sin \n f = open("archivo1.txt","r") lines = [] for line in f.readlines():     if line <> '\n':         lines.append(line.replace('\n','')) f.close() print lines        Como es logico no se lo que guardas en tu archivo1.txt ni tampoco en tu archivo2.xml. Pero debes cuidarte de que los tags de tu archivo xml no vayan a coincidir con los datos en tu archivo archivo1.txt, (si es que te interesa que no coincidan) por eso te sugiero que uses xml.etree.ElementTree para trabajar con el archivo xml. Saludos. Boris. --- La mejor vacuna contra el virus A(H1N1) es la higiene personal ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From qualopec en gmail.com Wed Mar 24 22:38:24 2010 From: qualopec en gmail.com (Javier Santana) Date: Wed, 24 Mar 2010 22:38:24 +0100 Subject: [Python-es] pinax In-Reply-To: <4eca3f41003241321n18919d54i4888ce8964d3fe43@mail.gmail.com> References: <4eca3f41003241321n18919d54i4888ce8964d3fe43@mail.gmail.com> Message-ID: > Yo sólo he probado el ejemplo de full project que tiene, > sin ningún problema. > > ¿no tendrás algo mal configurado? Generando los proyectos que trae por defecto y sin trastear demasiado funciona muy bien y tiene detalles muy buenos. A primera vista parece una buena opción, pero algunos 500 que me ha dado haciendo algunas cosas me hacen desconfiar, no sé si con fundamento, por so quería conocer la opinión de alguna persona que hubiese estado en un proyecto real con pinax. Gracias por vuestras respuestas. From celord en gmail.com Wed Mar 24 22:45:54 2010 From: celord en gmail.com (=?ISO-8859-1?B?Q+lzYXIgR2FyY+1h?=) Date: Wed, 24 Mar 2010 15:45:54 -0600 Subject: [Python-es] twisted uso de componentes Message-ID: Saludos lista, acudo a ustedes tratando de encontrar alguna explicación que me aclare el uso de los componentes, por lo menos a como los explican en la web de twisted, tal vez alguien con experiencia en eso y que hable mi mismo idioma me haga entender el concepto, ya que me ha sido imposible, verán: todo va bien cuando termino de leer esto[1], pero cuando lo implementan en un ejemplo real[2], no comprendo nada. También quisiera saber cual es la opinión de los expertos de la lista sobre esta manera programar, en si, si es una buena practica para proyectos con twisted, o si es solo para proyectos grandes, que si pienso hacer un pequeño script mejor ni usarlo, etc. [1] http://twistedmatrix.com/documents/current/core/howto/components.html [2] http://twistedmatrix.com/documents/current/core/howto/tutorial/components.html Muchas Gracias -- http://celord.blogspot.com/ From damufo en gmail.com Wed Mar 24 22:56:07 2010 From: damufo en gmail.com (damufo) Date: Wed, 24 Mar 2010 22:56:07 +0100 Subject: [Python-es] Actualizar base de datos msaccess Message-ID: <4BAA8A77.9040703@gmail.com> Hola: Estoy tratando de volcar una serie de registros a una base de datos de access 97. son sobre 90.000 Una vez hecha la conexión Los valores los introduzco en la variable values for i in values: cursor.execute(sql, i) j = j + 1 if j > 100: self.conexion.commit() j = 1 La cosa tarda mucho, he probado a lanzar un commit cada 100 registros pero nada, tarda varia horas. El caso es que el proceso llega a consumir 1,5 gigas de memoria ram. Alguna sugerencia? de como acelerar esto? Ah! uso python 2.6 y adodbapi Saludos y Gracias! ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From lowlifebob en gmail.com Thu Mar 25 00:34:55 2010 From: lowlifebob en gmail.com (lopz) Date: Wed, 24 Mar 2010 19:34:55 -0400 Subject: [Python-es] Servidor python In-Reply-To: <20100324193055.GA16425@muiri> References: <2ecbd5e41003240318r39934dcbl7022705b2b5ac2af@mail.gmail.com> <950940.39310.qm@web29006.mail.ird.yahoo.com> <24ea26601003240506v5dffb408x4d978edcbf1f76f1@mail.gmail.com> <20100324193055.GA16425@muiri> Message-ID: <1853c7161003241634l38f49491oa0be36f5d20f20a5@mail.gmail.com> DIgo yo, no sería ideal tener python instalado en un servidor y ahí conectase por ssh y luego usar la consola de python, y como editor puedes usar vim, nano, etc , creo que es lo mejor, no? Saludos! -- lopz es libre, usa --> GNU/linux gentoo +--[RSA 2048]--+ | ..o.o=+ | | o =o*.+ | | . . *oO . | | .EBoo | | o.S | +--[lopz.org]--+ From py en ch3m4.org Thu Mar 25 03:19:46 2010 From: py en ch3m4.org (Chema Cortes) Date: Thu, 25 Mar 2010 03:19:46 +0100 Subject: [Python-es] Actualizar base de datos msaccess In-Reply-To: <4BAA8A77.9040703@gmail.com> References: <4BAA8A77.9040703@gmail.com> Message-ID: <4BAAC842.1010503@ch3m4.org> On 24/03/10 22:56, damufo wrote: > Hola: > Estoy tratando de volcar una serie de registros a una base de datos de > access 97. son sobre 90.000 > > Una vez hecha la conexión > Los valores los introduzco en la variable values > > for i in values: > cursor.execute(sql, i) > j = j + 1 > if j > 100: > self.conexion.commit() > j = 1 Supongamos que 'i' sea una tupla (o al menos una secuencia) y que sql sea una query DML de inserción: Para ser precisos, estás accediendo a la base de datos con el motor Jet, que no tiene transacciones. El commit() no hace nada, todo funcionará como si tuviera activado el autocommit. > La cosa tarda mucho, he probado a lanzar un commit cada 100 registros > pero nada, tarda varia horas. > > El caso es que el proceso llega a consumir 1,5 gigas de memoria ram. Te podría recomendar una alternativa usando execute_many, pero de mi experiencia con adodbapi te adelanto que no sirve de nada. Equivale a realizar "executes" individuales. Es extraño tanto consumo de memoria. No puede ser ni por adodbapi ni por el fragmento de código que has puesto. Trata de convertir la lista 'values' a un iterador o similar para que no sea necesario tener cargados los 90.000 registros en memoria. *Lo que seguro que te ayuda mucho es si abres la base de datos en modo exclusivo. Basta que añadas ";Exclusive=1" a tu cadena DSN.* From damufo en gmail.com Thu Mar 25 08:44:03 2010 From: damufo en gmail.com (damufo) Date: Thu, 25 Mar 2010 08:44:03 +0100 Subject: [Python-es] Actualizar base de datos msaccess In-Reply-To: <4BAAC842.1010503@ch3m4.org> References: <4BAA8A77.9040703@gmail.com> <4BAAC842.1010503@ch3m4.org> Message-ID: <4BAB1443.3080204@gmail.com> Hola Chema: En 2010/03/25 03:19, Chema Cortes escribiu: > On 24/03/10 22:56, damufo wrote: >> Hola: >> Estoy tratando de volcar una serie de registros a una base de datos de >> access 97. son sobre 90.000 >> >> Una vez hecha la conexión >> Los valores los introduzco en la variable values >> >> for i in values: >> cursor.execute(sql, i) >> j = j + 1 >> if j> 100: >> self.conexion.commit() >> j = 1 > > Supongamos que 'i' sea una tupla (o al menos una secuencia) y que sql > sea una query DML de inserción: Si así es > > Para ser precisos, estás accediendo a la base de datos con el motor Jet, > que no tiene transacciones. El commit() no hace nada, todo funcionará > como si tuviera activado el autocommit. Pues ahí debe estar la cuestión, el commit funciona, si pongo el commit y accedo a la base de datos veo en la tabla afectada como los registros se van insertando a medida que va haciendo el commit, si no pongo el commit, no veo nada hasta que hace el commit final y aparecen todo de repente. > > >> La cosa tarda mucho, he probado a lanzar un commit cada 100 registros >> pero nada, tarda varia horas. >> >> El caso es que el proceso llega a consumir 1,5 gigas de memoria ram. > > Te podría recomendar una alternativa usando execute_many, pero de mi > experiencia con adodbapi te adelanto que no sirve de nada. Equivale a > realizar "executes" individuales. > > Es extraño tanto consumo de memoria. No puede ser ni por adodbapi ni por > el fragmento de código que has puesto. Trata de convertir la lista > 'values' a un iterador o similar para que no sea necesario tener > cargados los 90.000 registros en memoria. > > *Lo que seguro que te ayuda mucho es si abres la base de datos en modo > exclusivo. Basta que añadas ";Exclusive=1" a tu cadena DSN.* > Mi cadena DSN es: dsn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;" dsn += "User Id=admin;Password=;" dsn = dsn % (path) self.conexion = adodbapi.connect(dsn) donde path es la ruta de la base de datos .mdb He cambiado la cadena de conexión añadiendo el Exclusive: dsn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;" dsn += "Exclusive=1;User Id=admin;Password=;" dsn = dsn % (path) self.conexion = adodbapi.connect(dsn) Al añadirlo, aparece el siguiente error: DatabaseError: (-2147352567, 'Exception occurred.', (0, u'Microsoft JET Database Engine', u'Could not find installable ISAM.', None, 5003170, -2147467259), None) Si le quito el Exclusive=1 conecta sin problemas. > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > From faltet en pytables.org Thu Mar 25 09:16:30 2010 From: faltet en pytables.org (Francesc Alted) Date: Thu, 25 Mar 2010 09:16:30 +0100 Subject: [Python-es] =?iso-8859-1?q?=5BOT=5D_Art=EDculo_sobre_CPUs_hambrie?= =?iso-8859-1?q?ntas?= Message-ID: <201003250916.30360.faltet@pytables.org> Hace poco me comunicaron que un artículo mío para la revista "Computer in Science and Engineering" ha sido seleccionado para la edición online de "Computing Now". El artículo habla de la necesidad de entender el modelo jerárquico de memoria para lograr prestaciones decentes en nuestros programas. Evindentemente se nota mi experiencia en Python así que lo nombro brevemente (aunque el artículo intenta ser lo más agnóstico posible con los lenguajes). Los que esteis interesados, podeis acceder al artículo en: http://www.computer.org/portal/web/computingnow y pinchar en "Why Modern CPUs Are Starving and What Can Be Done About It". Bueno, perdón por el OT, pero no podía resistir la ocasión ;-) Aunque sé que no hay mucha gente interesada en las muy altas prestaciones en cálculo, espero que le sirva de ayuda a alguien! -- Francesc Alted From pyarnau en gmail.com Thu Mar 25 09:56:41 2010 From: pyarnau en gmail.com (Arnau Sanchez) Date: Thu, 25 Mar 2010 09:56:41 +0100 Subject: [Python-es] Busqueda cadenas NO coincidentes In-Reply-To: <1746.10.14.19.12.1269462602.squirrel@correo.ucf.edu.cu> References: <1746.10.14.19.12.1269462602.squirrel@correo.ucf.edu.cu> Message-ID: <4BAB2549.9000606@gmail.com> On 24/03/10 21:30, Boris Perez Canedo wrote: > Esto te puede dar las lineas sin \n > > f = open("archivo1.txt","r") > lines = [] > for line in f.readlines(): > if line <> '\n': > lines.append(line.replace('\n','')) > f.close() > print lines Mejor: lines = [line.rstrip() for line in open("archivo1.txt") if line.strip()] From joseluistorrehernandez en gmail.com Thu Mar 25 10:19:12 2010 From: joseluistorrehernandez en gmail.com (=?UTF-8?Q?Jos=C3=A9_Luis_Torre_Hern=C3=A1ndez?=) Date: Thu, 25 Mar 2010 10:19:12 +0100 Subject: [Python-es] Servidor python In-Reply-To: <20100324193055.GA16425@muiri> References: <2ecbd5e41003240318r39934dcbl7022705b2b5ac2af@mail.gmail.com> <950940.39310.qm@web29006.mail.ird.yahoo.com> <24ea26601003240506v5dffb408x4d978edcbf1f76f1@mail.gmail.com> <20100324193055.GA16425@muiri> Message-ID: <2ecbd5e41003250219p34ad9289r2bc6a58f4c67db18@mail.gmail.com> > > Otro más: > > http://codepad.org/ > > Saludos > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > Interesante, pero no es lo que busco. Saludos José Luis Torre www.ehu.es ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From pepe en diselpro.com Thu Mar 25 10:25:32 2010 From: pepe en diselpro.com (Pepe Aracil) Date: Thu, 25 Mar 2010 10:25:32 +0100 Subject: [Python-es] Servidor python In-Reply-To: <1b6058651003240354s21a56fe8y4b15cd055fc0d6e6@mail.gmail.com> References: <2ecbd5e41003240318r39934dcbl7022705b2b5ac2af@mail.gmail.com> <1b6058651003240354s21a56fe8y4b15cd055fc0d6e6@mail.gmail.com> Message-ID: <4BAB2C0C.80903@diselpro.com> La persona que ha montado este shell python, o no tiene mucha idea de seguridad o no aprecia mucho la información de la máquina. Puedes hacer un os.walk(), abrir ficheros del sistema, ejecutar un os.system("...") con permisos de usuario apache, .... En fin un ejemplo "de libro" de porque el eval() es inseguro. Saludos. Kiko escribió: > El 24 de marzo de 2010 11:18, José Luis Torre Hernández > > escribió: > > Hola: > > ¿Sería posible disponer de un servidor python con el fin de probar > algunos de nuestros programas en remoto? > > La idea me surgió al intentar explicar algunas ventajas de python > en el ordenador de un amigo que no lo tenía instalado. > > > Para mostrar cosas muy sencillas se podría usar esto: > http://try-python.mired.org/ > > ------------------------------------------------------------------------ > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > From kikocorreoso en gmail.com Thu Mar 25 12:54:48 2010 From: kikocorreoso en gmail.com (Kiko) Date: Thu, 25 Mar 2010 12:54:48 +0100 Subject: [Python-es] =?iso-8859-1?q?=5BOT=5D_Art=EDculo_sobre_CPUs_hambrie?= =?iso-8859-1?q?ntas?= In-Reply-To: <201003250916.30360.faltet@pytables.org> References: <201003250916.30360.faltet@pytables.org> Message-ID: <1b6058651003250454o4eb93939v8091b5babf3dbbc9@mail.gmail.com> El 25 de marzo de 2010 09:16, Francesc Alted escribió: > Hace poco me comunicaron que un artículo mío para la revista "Computer in > Science and Engineering" ha sido seleccionado para la edición online de > "Computing Now". El artículo habla de la necesidad de entender el modelo > jerárquico de memoria para lograr prestaciones decentes en nuestros > programas. > Evindentemente se nota mi experiencia en Python así que lo nombro > brevemente > (aunque el artículo intenta ser lo más agnóstico posible con los > lenguajes). > > Los que esteis interesados, podeis acceder al artículo en: > > http://www.computer.org/portal/web/computingnow > > Muchas gracias. He estado viendo el hilo en la lista numpy. > y pinchar en "Why Modern CPUs Are Starving and What Can Be Done About It". > > Bueno, perdón por el OT, pero no podía resistir la ocasión ;-) Aunque sé > que > no hay mucha gente interesada en las muy altas prestaciones en cálculo, > espero > que le sirva de ayuda a alguien! > > -- > Francesc Alted > _______________________________________________ > A mi me parece interesante, así que me reitero, gracias. ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From olemis+py en gmail.com Thu Mar 25 14:11:25 2010 From: olemis+py en gmail.com (Olemis Lang (Simelix)) Date: Thu, 25 Mar 2010 09:11:25 -0400 Subject: [Python-es] =?iso-8859-1?q?=5BOT=5D_Art=EDculo_sobre_CPUs_hambrie?= =?iso-8859-1?q?ntas?= In-Reply-To: <201003250916.30360.faltet@pytables.org> References: <201003250916.30360.faltet@pytables.org> Message-ID: <24ea26601003250611g504b5e63j8c2498677d1ca089@mail.gmail.com> 2010/3/25 Francesc Alted : > Hace poco me comunicaron que un artículo mío para la revista "Computer in > Science and Engineering" ha sido seleccionado para la edición online de > "Computing Now".  El artículo habla de la necesidad de entender el modelo > jerárquico de memoria para lograr prestaciones decentes en nuestros programas. > Evindentemente se nota mi experiencia en Python así que lo nombro brevemente > (aunque el artículo intenta ser lo más agnóstico posible con los lenguajes). > > Los que esteis interesados, podeis acceder al artículo en: > > http://www.computer.org/portal/web/computingnow > > y pinchar en "Why Modern CPUs Are Starving and What Can Be Done About It". > Interesante ! Hay otros (e.g. [1]_) que me llamaron la atención también ... Gracias por compartir la alegría :o) .. [1] Collaboration Tools for Global Software Engineering (http://www.computer.org/portal/web/computingnow/0310/whatsnew/software) (http://www.computer.org/cms/Computer.org/ComputingNow/homepage/2010/0310/rW_SW_CollaborationTools.pdf) -- Regards, Olemis. Blog ES: http://simelo-es.blogspot.com/ Blog EN: http://simelo-en.blogspot.com/ Featured article: TracRpc: API v2: New API methods and exceptions. JSON protocol refactored and tested ? - http://bitbucket.org/osimons/trac-rpc-mq/changeset/2643efa5f6d8/ From euribates en gmail.com Thu Mar 25 14:11:56 2010 From: euribates en gmail.com (Juan Ignacio) Date: Thu, 25 Mar 2010 13:11:56 +0000 Subject: [Python-es] =?iso-8859-1?q?=5BOT=5D_Art=EDculo_sobre_CPUs_hambrie?= =?iso-8859-1?q?ntas?= In-Reply-To: <1b6058651003250454o4eb93939v8091b5babf3dbbc9@mail.gmail.com> References: <201003250916.30360.faltet@pytables.org> <1b6058651003250454o4eb93939v8091b5babf3dbbc9@mail.gmail.com> Message-ID: <1ece03ed1003250611w1444b97r407d4d7e81392970@mail.gmail.com> 2010/3/25 Kiko >Hace poco me comunicaron que un artículo mío para la revista "Computer in >Science and Engineering" ha sido seleccionado para la edición online de >"Computing Now". El artículo habla de la necesidad de entender el modelo >jerárquico de memoria para lograr prestaciones decentes en nuestros programas. >Evindentemente se nota mi experiencia en Python así que lo nombro brevemente >(aunque el artículo intenta ser lo más agnóstico posible con los lenguajes). Muy interesante, ya lo estoy imprimiendo para leerlo con calma. -- Juan Ignacio Rodríguez de León Movil: 605 890514 E-Mail: euribates en gmail.com http://elornitorrincoenmascarado.blogspot.com/ http://descon2.com/ ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From pfreixes en milnou.net Thu Mar 25 16:20:50 2010 From: pfreixes en milnou.net (Pau Freixes) Date: Thu, 25 Mar 2010 16:20:50 +0100 Subject: [Python-es] =?iso-8859-1?q?=5BOT=5D_Art=EDculo_sobre_CPUs_hambrie?= =?iso-8859-1?q?ntas?= In-Reply-To: <201003250916.30360.faltet@pytables.org> References: <201003250916.30360.faltet@pytables.org> Message-ID: <207312b71003250820q4e4d0f57gc2efdf5286282619@mail.gmail.com> Merci Francesc, Lo leeré esta noche. 2010/3/25 Francesc Alted : > Hace poco me comunicaron que un artículo mío para la revista "Computer in > Science and Engineering" ha sido seleccionado para la edición online de > "Computing Now".  El artículo habla de la necesidad de entender el modelo > jerárquico de memoria para lograr prestaciones decentes en nuestros programas. > Evindentemente se nota mi experiencia en Python así que lo nombro brevemente > (aunque el artículo intenta ser lo más agnóstico posible con los lenguajes). > > Los que esteis interesados, podeis acceder al artículo en: > > http://www.computer.org/portal/web/computingnow > > y pinchar en "Why Modern CPUs Are Starving and What Can Be Done About It". > > Bueno, perdón por el OT, pero no podía resistir la ocasión ;-)  Aunque sé que > no hay mucha gente interesada en las muy altas prestaciones en cálculo, espero > que le sirva de ayuda a alguien! > > -- > Francesc Alted > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > -- --pau From dani en danigm.net Thu Mar 25 19:00:23 2010 From: dani en danigm.net (Daniel Garcia) Date: Thu, 25 Mar 2010 19:00:23 +0100 Subject: [Python-es] =?iso-8859-1?q?Funcionamiento_extra=F1o_en_datetime?= =?iso-8859-1?q?=2Eisocalendar?= Message-ID: <1269540023.2639.19.camel@tate> Estaba yo buscando una forma de saber el número de semanas de un año y al ponerme a hacer pruebas con el método isocalendar me he dado cuenta de que no funciona como yo esperaba: In [22]: datetime.datetime(2009, 12, 31).isocalendar() Out[22]: (2009, 53, 4) In [23]: datetime.datetime(2010, 12, 31).isocalendar() Out[23]: (2010, 52, 5) In [25]: datetime.datetime(2012, 12, 31).isocalendar() Out[25]: (2013, 1, 1) In [27]: datetime.datetime(2014, 12, 31).isocalendar() Out[27]: (2015, 1, 3) Se supone que el primer número es el año, el segundo el número de semana del año y el tercero el número de día de la semana. Los dos primeros parecen correctos, pero para el 2012, y el 2014 por ejemplo da resultado inquietantes. ¿Estoy interpretando yo mal el isocalendar o es un bug? ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 197 bytes Desc: Esto es una parte de mensaje firmado digitalmente URL: From jcaballero.hep en gmail.com Thu Mar 25 19:06:34 2010 From: jcaballero.hep en gmail.com (Jose Caballero) Date: Thu, 25 Mar 2010 14:06:34 -0400 Subject: [Python-es] =?iso-8859-1?q?Funcionamiento_extra=F1o_en_datetime?= =?iso-8859-1?q?=2Eisocalendar?= In-Reply-To: <1269540023.2639.19.camel@tate> References: <1269540023.2639.19.camel@tate> Message-ID: El 25 de marzo de 2010 14:00, Daniel Garcia escribió: > Estaba yo buscando una forma de saber el número de semanas de un año y > al ponerme a hacer pruebas con el método isocalendar me he dado cuenta > de que no funciona como yo esperaba: > > In [22]: datetime.datetime(2009, 12, 31).isocalendar() > Out[22]: (2009, 53, 4) > > In [23]: datetime.datetime(2010, 12, 31).isocalendar() > Out[23]: (2010, 52, 5) > > In [25]: datetime.datetime(2012, 12, 31).isocalendar() > Out[25]: (2013, 1, 1) > > In [27]: datetime.datetime(2014, 12, 31).isocalendar() > Out[27]: (2015, 1, 3) > > Se supone que el primer número es el año, el segundo el número de semana > del año y el tercero el número de día de la semana. Los dos primeros > parecen correctos, pero para el 2012, y el 2014 por ejemplo da resultado > inquietantes. > > ¿Estoy interpretando yo mal el isocalendar o es un bug? > > http://www.phys.uu.nl/~vgent/calendar/isocalendar.htm ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From pfreixes en milnou.net Thu Mar 25 22:16:06 2010 From: pfreixes en milnou.net (Pau Freixes) Date: Thu, 25 Mar 2010 22:16:06 +0100 Subject: [Python-es] =?iso-8859-1?q?=5BOT=5D_Art=EDculo_sobre_CPUs_hambrie?= =?iso-8859-1?q?ntas?= In-Reply-To: <207312b71003250820q4e4d0f57gc2efdf5286282619@mail.gmail.com> References: <201003250916.30360.faltet@pytables.org> <207312b71003250820q4e4d0f57gc2efdf5286282619@mail.gmail.com> Message-ID: <207312b71003251416j5f7a2f7dj43a6ff19c94408e3@mail.gmail.com> Interesante Francesc, buena introducción a un problema latente y más que actual - y que discutimos tiempo aca. Quizá la explosión de lenguajes interpretados como lenguajes de uso habitual ha alejado un poco más al programador de las tecnicas habituales de optimización ? Por ejemplo podemos con Python aplicar tecnicas para reducir las malas prediciones de salto por parte de la CPU ? tiene sentido hablar de esto cuando es la maquina virtual i no el codigo de usuario quien realiza las operaciones envueltas en una instrucción "simulada" de salto ? si es el caso el branch prediction de la CPU se vuelve más "estupido" ? > 2010/3/25 Francesc Alted : >> Hace poco me comunicaron que un artículo mío para la revista "Computer in >> Science and Engineering" ha sido seleccionado para la edición online de >> "Computing Now".  El artículo habla de la necesidad de entender el modelo >> jerárquico de memoria para lograr prestaciones decentes en nuestros programas. >> Evindentemente se nota mi experiencia en Python así que lo nombro brevemente >> (aunque el artículo intenta ser lo más agnóstico posible con los lenguajes). >> >> Los que esteis interesados, podeis acceder al artículo en: >> >> http://www.computer.org/portal/web/computingnow >> >> y pinchar en "Why Modern CPUs Are Starving and What Can Be Done About It". >> >> Bueno, perdón por el OT, pero no podía resistir la ocasión ;-)  Aunque sé que >> no hay mucha gente interesada en las muy altas prestaciones en cálculo, espero >> que le sirva de ayuda a alguien! >> >> -- >> Francesc Alted >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> > > > > -- > --pau > -- --pau From kikocorreoso en gmail.com Fri Mar 26 08:15:32 2010 From: kikocorreoso en gmail.com (Kiko) Date: Fri, 26 Mar 2010 08:15:32 +0100 Subject: [Python-es] =?iso-8859-1?q?Funcionamiento_extra=F1o_en_datetime?= =?iso-8859-1?q?=2Eisocalendar?= In-Reply-To: References: <1269540023.2639.19.camel@tate> Message-ID: <1b6058651003260015l17ee7f5fy21b11526a5f24a9c@mail.gmail.com> El 25 de marzo de 2010 19:06, Jose Caballero escribió: > > > El 25 de marzo de 2010 14:00, Daniel Garcia escribió: > > Estaba yo buscando una forma de saber el número de semanas de un año y >> al ponerme a hacer pruebas con el método isocalendar me he dado cuenta >> de que no funciona como yo esperaba: >> >> In [22]: datetime.datetime(2009, 12, 31).isocalendar() >> Out[22]: (2009, 53, 4) >> >> In [23]: datetime.datetime(2010, 12, 31).isocalendar() >> Out[23]: (2010, 52, 5) >> >> In [25]: datetime.datetime(2012, 12, 31).isocalendar() >> Out[25]: (2013, 1, 1) >> >> In [27]: datetime.datetime(2014, 12, 31).isocalendar() >> Out[27]: (2015, 1, 3) >> >> Se supone que el primer número es el año, el segundo el número de semana >> del año y el tercero el número de día de la semana. Los dos primeros >> parecen correctos, pero para el 2012, y el 2014 por ejemplo da resultado >> inquietantes. >> >> ¿Estoy interpretando yo mal el isocalendar o es un bug? >> >> > Parece que cuando se pasa de la semana 52 se va a la primera semana del año siguiente. Parte de esa semana 53 del año x sería parte de la semana 1 del x+1 y seguramente por eso funciona así. ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From faltet en pytables.org Fri Mar 26 10:40:13 2010 From: faltet en pytables.org (Francesc Alted) Date: Fri, 26 Mar 2010 10:40:13 +0100 Subject: [Python-es] =?iso-8859-1?q?=5BOT=5D_Art=EDculo_sobre_CPUs_hambrie?= =?iso-8859-1?q?ntas?= In-Reply-To: <207312b71003251416j5f7a2f7dj43a6ff19c94408e3@mail.gmail.com> References: <201003250916.30360.faltet@pytables.org> <207312b71003250820q4e4d0f57gc2efdf5286282619@mail.gmail.com> <207312b71003251416j5f7a2f7dj43a6ff19c94408e3@mail.gmail.com> Message-ID: <201003261040.13263.faltet@pytables.org> Iep, Pau, A Thursday 25 March 2010 22:16:06 Pau Freixes escrigué: > Interesante Francesc, buena introducción a un problema latente y más > que actual - y que discutimos tiempo aca. Si, la verdad es que tomé 'prestados' varios elementos de nuestras discusiones pasadas para el artículo. Cuando recapacitas, es increible la cantidad de cosas que se aprenden en los foros como éste. > Quizá la explosión de > lenguajes interpretados como lenguajes de uso habitual ha alejado un > poco más al programador de las tecnicas habituales de optimización ? Probablemente, aunque los principios son igual de generales, así que también se pueden aplicar a lenguajes interpretados (y a Python en particular). La idea que queria comunicar era doble: la disposición de datos en nuestros programas es importante, y que hay que hacer uso de las mejores herramientas disponibles a nuestro alcance. Por ejemplo, todos sabemos cuán importante es, dependendiendo de nuestras necesidades, el uso apropiado de listas, diccionarios o conjuntos en nuestros programas para lograr las mejores prestaciones. O, cómo usando librerias como NumPy junto con BLAS optimizados nos puede llevar a obtener prestaciones quasi-óptimas en nuestros programas. Pero si tú tienes que hacerte tu propio algoritmo y éste no está ya implementado de manera eficiente, aquí si que los lenguajes interpretados no son tan flexibles y probablemente hayas de bajar al nivel de lenguajes compilados para aplicar las optimizaciones. > Por ejemplo podemos con Python aplicar tecnicas para reducir las malas > prediciones de salto por parte de la CPU ? tiene sentido hablar de > esto cuando es la maquina virtual i no el codigo de usuario quien > realiza las operaciones envueltas en una instrucción "simulada" de > salto ? si es el caso el branch prediction de la CPU se vuelve más > "estupido" ? No, no creo que sea el caso. Como he dicho antes, cuando estas tratando de extraer la última gota de las prestaciones de un procesador, los lenguajes compilados (en particular C o Fortran) son mucho más apropiados. Pero de nuevo, asegúrate que lo que quieres hacer no está ya disponible en tu lenguaje interpretado preferido. Por ejemplo, usar numexpr te va a permitir evaluar expresiones algebraicas a una velocidad muy similar a hacer tu el programa en C, con la ventaja de que numexpr te permite compilar 'al vuelo' (es un JIT), y todos sabemos lo que eso significa en términos de comodidad (y por tanto, productividad, que al final es lo que se trata de obtener). Saludos, -- Francesc Alted From pych3m4 en gmail.com Fri Mar 26 11:27:11 2010 From: pych3m4 en gmail.com (Chema Cortes) Date: Fri, 26 Mar 2010 11:27:11 +0100 Subject: [Python-es] Actualizar base de datos msaccess In-Reply-To: <4BAB1443.3080204@gmail.com> References: <4BAA8A77.9040703@gmail.com> <4BAAC842.1010503@ch3m4.org> <4BAB1443.3080204@gmail.com> Message-ID: <2c9fb0dd1003260327s76bcbf73sdafbc21a2850033f@mail.gmail.com> El día 25 de marzo de 2010 08:44, damufo escribió: > Mi cadena DSN es: > > dsn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;" > dsn += "User Id=admin;Password=;" > dsn = dsn % (path) > self.conexion = adodbapi.connect(dsn) > > donde path es la ruta de la base de datos .mdb > > He cambiado la cadena de conexión añadiendo el Exclusive: > > dsn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;" > dsn += "Exclusive=1;User Id=admin;Password=;" > dsn = dsn % (path) > self.conexion = adodbapi.connect(dsn) > > Al añadirlo, aparece el siguiente error: > DatabaseError: (-2147352567, 'Exception occurred.', (0, u'Microsoft JET > Database Engine', u'Could not find installable ISAM.', None, 5003170, > -2147467259), None) > > Si le quito el Exclusive=1 conecta sin problemas. Ya veo. Estás usando un DSNLess para OLEDB. Mejor que uses el driver ODBC para Access: DSN="Driver={Microsoft Access Driver (*.mdb)};Dbq=%s;Exclusive=1;Uid=admin;Pwd=;" % path From damufo en gmail.com Fri Mar 26 22:05:46 2010 From: damufo en gmail.com (damufo) Date: Fri, 26 Mar 2010 22:05:46 +0100 Subject: [Python-es] Actualizar base de datos msaccess In-Reply-To: <2c9fb0dd1003260327s76bcbf73sdafbc21a2850033f@mail.gmail.com> References: <4BAA8A77.9040703@gmail.com> <4BAAC842.1010503@ch3m4.org> <4BAB1443.3080204@gmail.com> <2c9fb0dd1003260327s76bcbf73sdafbc21a2850033f@mail.gmail.com> Message-ID: <4BAD21AA.8010208@gmail.com> Hola Chema: En 2010/03/26 11:27, Chema Cortes escribiu: > El día 25 de marzo de 2010 08:44, damufo escribió: > >> Mi cadena DSN es: >> >> dsn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;" >> dsn += "User Id=admin;Password=;" >> dsn = dsn % (path) >> self.conexion = adodbapi.connect(dsn) >> >> donde path es la ruta de la base de datos .mdb >> >> He cambiado la cadena de conexión añadiendo el Exclusive: >> >> dsn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;" >> dsn += "Exclusive=1;User Id=admin;Password=;" >> dsn = dsn % (path) >> self.conexion = adodbapi.connect(dsn) >> >> Al añadirlo, aparece el siguiente error: >> DatabaseError: (-2147352567, 'Exception occurred.', (0, u'Microsoft JET >> Database Engine', u'Could not find installable ISAM.', None, 5003170, >> -2147467259), None) >> >> Si le quito el Exclusive=1 conecta sin problemas. > > Ya veo. Estás usando un DSNLess para OLEDB. Mejor que uses el driver > ODBC para Access: > > DSN="Driver={Microsoft Access Driver > (*.mdb)};Dbq=%s;Exclusive=1;Uid=admin;Pwd=;" % path He cambiado la cadena de conexión y he usado la que me indicas. Dicha cadena, funciona y se conecta bien. Lo del consumo de memoria sigue ahí. Anexo una imagen donde tras una hora y algo de ejecución ya estaba por los 718 MB de consumo (como ya comenté esto llega as mas de 1,5 Gigas). Lo siguiente que me queda es hacer cada cierto número de registros una desconexión de la base de datos y reconectar. Que te parece? Alguna otra opinión? > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: consumo_memoria_python.png Type: image/png Size: 17701 bytes Desc: no disponible URL: From monobot.soft en gmail.com Sat Mar 27 13:39:40 2010 From: monobot.soft en gmail.com (monoBOT) Date: Sat, 27 Mar 2010 12:39:40 +0000 Subject: [Python-es] no consigo grabar xml Message-ID: quiero conseguir sacar informacion desde un xml y luego tras modificarla volverla a grabar en el mismo xml... estoy aprendiendo python y no se nada de xml, asi que supongo que es muy facil para la mayoria de ustedes. Bueno les adjunto el ficher py donde estoy haciendo las pruebas y el archivo xml... gracias por su ayuda. ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: ------------ próxima parte ------------ An embedded and charset-unspecified text was scrubbed... Name: una prueba xml.py URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: persona.xml Type: text/xml Size: 3925 bytes Desc: no disponible URL: From monobot.soft en gmail.com Sat Mar 27 14:04:23 2010 From: monobot.soft en gmail.com (monoBOT) Date: Sat, 27 Mar 2010 13:04:23 +0000 Subject: [Python-es] no consigo grabar xml In-Reply-To: References: Message-ID: se me olvido decir que SI consigo sacar la info pero no consigo grabarla. gracias de nuevo El 27 de marzo de 2010 12:39, monoBOT escribió: > quiero conseguir sacar informacion desde un xml y luego tras modificarla > volverla a grabar en el mismo xml... > > estoy aprendiendo python y no se nada de xml, asi que supongo que es muy > facil para la mayoria de ustedes. > > Bueno les adjunto el ficher py donde estoy haciendo las pruebas y el > archivo xml... > > gracias por su ayuda. > > -- Héctor Alvarez Arquitecto Advertencia legal: De acuerdo a la vigente Ley Orgánica 15/1999 de Protección de Datos de carácter Personal le informamos que: Este correo electrónico contiene información privada y estrictamente confidencial. Si usted NO ES el destinatario, NO ESTA AUTORIZADO a leerlo, directa o indirectamente, usar, revelar, distribuir, imprimir o copiar ninguna de las partes y/o anexos de éste mensaje. Si por error ha recibido este mensaje, le rogamos lo notifique a su emisor respondiendo a éste e-mail y proceda a borrar de su sistema inmediatamente el mensaje así como todas sus copias. ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From scots4ever en gmail.com Sat Mar 27 16:37:16 2010 From: scots4ever en gmail.com (Soto) Date: Sat, 27 Mar 2010 16:37:16 +0100 Subject: [Python-es] no consigo grabar xml In-Reply-To: References: Message-ID: <10f310251003270837p75796650y51a3a52eeecfcb02@mail.gmail.com> Creo que el problema es que al asignar el nodo a una variable y luego modificarlo no lo modificas realmente en el xml original. No he probado pero prueba con esto. Te he modificado la forma de sacarlo a fichero usando topretyxml. Si tienes duda echalé un vistazo a la documentación: http://docs.python.org/library/xml.dom.minidom.html # -*- coding: cp1252 -*- from xml.dom import minidom xml_file = minidom.parse('persona.xml') xml_file.childNodes[0].childNodes[1].childNodes[1]="Nodo cambiado" xml_bonico = raiz_local.toprettyxml(indent=" ", newl="\n", encoding="iso-8859-1") fd = open("modificado.xml","w") fd.write(xml_bonico) fd.close() __________________________________________________________ No tengo talentos especiales, pero sí soy profundamente curioso. ? Albert Einstein El 27 de marzo de 2010 13:39, monoBOT escribió: > quiero conseguir sacar informacion desde un xml y luego tras modificarla > volverla a grabar en el mismo xml... > > estoy aprendiendo python y no se nada de xml, asi que supongo que es muy > facil para la mayoria de ustedes. > > Bueno les adjunto el ficher py donde estoy haciendo las pruebas y el > archivo xml... > > gracias por su ayuda. > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From inf200523 en ucf.edu.cu Sat Mar 27 16:49:15 2010 From: inf200523 en ucf.edu.cu (Boris Perez Canedo) Date: Sat, 27 Mar 2010 11:49:15 -0400 (EDT) Subject: [Python-es] no consigo grabar xml Message-ID: <1698.10.14.19.12.1269704955.squirrel@correo.ucf.edu.cu> ----------------------------------- Mensaje original ----------------------------------- Asunto: Re: [Python-es] no consigo grabar xml De: "monoBOT" Fecha: Sab, 27 de Marzo de 2010, 9:04 am Para: "lista python-es" ---------------------------------------------------------------------------------------- se me olvido decir que SI consigo sacar la info pero no consigo grabarla. gracias de nuevo El 27 de marzo de 2010 12:39, monoBOT monobot.soft en gmail.com> escribió: quiero conseguir sacar informacion desde un xml y luego tras modificarla volverla a grabar en el mismo xml...  estoy aprendiendo python y no se nada de xml, asi que supongo que es muy facil para la mayoria de ustedes. Bueno les adjunto el ficher py donde estoy haciendo las pruebas y el archivo xml... gracias por su ayuda. Hola y disculpen si se repite el mail, parece que tengo un problema con el servidor, envie un mail similar hace ya rato y no parece haber llegado. Mira a ver si esto te sirve from xml.etree.ElementTree import ElementTree def ChangeUserProperty(xmlFile, username, usr_property, value):     tree = ElementTree()     users = tree.parse(xmlFile)     for user in users:         usuario = user.find("datos_pesonales/nombre")         if usuario <> None:             if usuario.text == username:                 prop = user.find("datos_pesonales/"+usr_property)                 if prop is None:                     return "El usuario no tiene el atributo especificado"                 else:                     print "anterior: ",prop.text                     prop.text = value                     print "actual: ",prop.text# para que veas que modifico                     tree.write(xmlFile)# ahora lo guardas                     return "El fichero ha sido modificado"         else:             break     return "No existe el usuario %s"%username            print ChangeUserProperty("persona1.xml","Boris","restodireccion","6814A") Lo tenia de antes y lo modifique para que funcionara con la estructura de tu xml. Te permite cambiar los atributos de un usuario dado su nombre, el atributo y el nuevo valor para este atributo. Saludos. Boris. --- La mejor vacuna contra el virus A(H1N1) es la higiene personal ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From inf200523 en ucf.edu.cu Sat Mar 27 15:03:57 2010 From: inf200523 en ucf.edu.cu (Boris Perez Canedo) Date: Sat, 27 Mar 2010 10:03:57 -0400 (EDT) Subject: [Python-es] no consigo grabar xml In-Reply-To: References: Message-ID: <1138.10.14.19.12.1269698637.squirrel@correo.ucf.edu.cu> quiero conseguir sacar informacion desde un xml y luego tras modificarla volverla a grabar en el mismo xml...  estoy aprendiendo python y no se nada de xml, asi que supongo que es muy facil para la mayoria de ustedes. Bueno les adjunto el ficher py donde estoy haciendo las pruebas y el archivo xml... gracias por su ayuda. Hola, Mira a ver si esto te sirve from xml.etree.ElementTree import ElementTree def ChangeUserProperty(xmlFile, username, usr_property, value):     tree = ElementTree()     users = tree.parse(xmlFile)     for user in users:         usuario = user.find("datos_pesonales/nombre")         if usuario <> None:             if usuario.text == username:                 prop = user.find("datos_pesonales/"+usr_property)                 if prop is None:                     return "El usuario no tiene el atributo especificado"                 else:                     print "anterior: ",prop.text                     prop.text = value                     print "actual: ",prop.text# para que veas que modifico                     tree.write(xmlFile)# ahora lo guardas                     return "El fichero ha sido modificado"         else:             break     return "No existe el usuario %s"%username            print ChangeUserProperty("persona1.xml","Boris","restodireccion","6814A") Lo tenia de antes y lo modifique para que funcionara con la estructura de tu xml. Te permite cambiar los atributos de un usuario dado su nombre, el atributo y el nuevo valor para este atributo. Saludos. Boris. --- La mejor vacuna contra el virus A(H1N1) es la higiene personal ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: persona1.xml Type: text/xml Size: 3737 bytes Desc: no disponible URL: From monobot.soft en gmail.com Sun Mar 28 10:50:33 2010 From: monobot.soft en gmail.com (monoBOT) Date: Sun, 28 Mar 2010 09:50:33 +0100 Subject: [Python-es] no consigo grabar xml In-Reply-To: <1698.10.14.19.12.1269704955.squirrel@correo.ucf.edu.cu> References: <1698.10.14.19.12.1269704955.squirrel@correo.ucf.edu.cu> Message-ID: muchas gracias a todos!!! encontré una solución!!!! por si le sirve a alguien he montado unas funciones para hacer esto mas facil. Total la mayoría de las veces necesitamos buscar, modificar y luego guardar cambios desde python a xml.... espero les sirvan. y pueden visitar mi blog para que vean mis peripecias aprendiendo a programar :-) monobotblog.alvarezalonso.es funciones de búsqueda: # -*- coding: cp1252 -*-from xml.dom import minidomimport os ###definiendo funciones def busqueda_xml (arbol, dato, fichero): arbol_gral = minidom.parse(fichero) valor = arbol_gral.getElementsByTagName(arbol)[0].getElementsByTagName(dato)[0].childNodes[0].nodeValue return valor def busqueda_lista (arbol, lista, fichero): datos='' m = lista.split() for palabra in m: arbol_gral = minidom.parse(fichero) valor = arbol_gral.getElementsByTagName(arbol)[0].getElementsByTagName(palabra)[0].childNodes[0].nodeValue datos += 'el %s de %s es: ' % (palabra, arbol) + valor +'\n' print datos # en esta funcion habrá que terminarla dependiendo de como querramos los datos. funciones de guardado de atributos y luego otra de guardado de archivo. def guarda_datos(archivo): fichero = open(os.path.realpath(archivo), "w") arbol_gral.writexml(fichero, encoding='iso-8859-1') fichero.close() return True def cambia_attrib(arbol, dato, nuevovalor): nodo_mod = arbol_gral.getElementsByTagName(arbol)[0].getElementsByTagName(dato)[0] nodo_mod.childNodes[0].nodeValue = nuevovalor print nodo_mod.childNodes[0].nodeValue return True ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From ferran en fompi.net Mon Mar 29 13:14:52 2010 From: ferran en fompi.net (Ferran Fontcuberta) Date: Mon, 29 Mar 2010 13:14:52 +0200 Subject: [Python-es] Perl style regex's en Python Message-ID: <4BB08BAC.4080501@fompi.net> En la linea "útiles inútiles", me acabo de encontrar con esto; por si a alguien le interesa: Source: http://code.activestate.com/recipes/384122-infix-operators/ Modulo: http://pypi.python.org/pypi/inrex/1.1.1 easy_install inrex from inrex import match, search, split, findall, finditer if 'asd 123' |match| r'(\w+) (\d+)': print 'word is', match[0] print 'digit is', match[1] if 'asd 123' |match| r'(?P\w+) (?P\d+)': print 'word is', match['word'] print 'digit is', match['digit'] print 'asd 123 qwe 456' |findall| r'\d+' print 'asd 123 qwe 456' |split| r'\d+' print 'asd 123 qwe 456' |split(maxsplit=1)| r'\d+' with open("logfile.txt") as f: for m in f |match| r"(\w+) (\w+) (\w+)": print match[0], match[1], match[2] # or print m.group(0), m.group(1), m.group(2) -- Ferran at fompi.net another sexy techie From monobot.soft en gmail.com Mon Mar 29 14:54:08 2010 From: monobot.soft en gmail.com (monoBOT) Date: Mon, 29 Mar 2010 13:54:08 +0100 Subject: [Python-es] [wx.python] Message-ID: estoy creando un programilla con wx.python, en un panel he puesto una serie de textos (ctrltext) que el usuario podrá llenar. Luego con el boton de guardar sale un mensaje de diálogo que permite al usuario guardar o salir, mi problema es que como los textos están en el panel y el diálogo lo monto con None las variables de los textos no me las coge y no se como puedo cogerlas. y si les pones self delante dice que el marco no tiene variables con ese nombre. como se soluciona? hay algún atajo? -- monobotblog.alvarezalonso.es ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: ------------ próxima parte ------------ class VentanaUsuario(wx.Frame): def __init__(self): wx.Frame.__init__(self, wx.GetApp().TopWindow, -1, 'Datos de usuario', pos=(50,50), size=(800,600)) #creando el ventana ventana = wx.Panel(self) #ventana.SetBackgroundColour('DarkRed') ventana.Show=(True) ventana.SetScrollbar(wx.VERTICAL, 0, 10, 20); #creando botones botongrabar = wx.Button(ventana, -1, 'Grabar datos', size=(150,50)) self.Bind(wx.EVT_BUTTON, self.grabar, botongrabar) #metemos los textos ## xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ## recopilamos la informacion del archivo xml nombre_en_fichero = busqueda_xml ('usuario', 'nombre') primerapellido_en_fichero = busqueda_xml ('usuario', 'primerapellido') segundoapellido_en_fichero = busqueda_xml ('usuario', 'segundoapellido') dni_en_fichero = busqueda_xml ('usuario', 'dni') direccion_en_fichero = busqueda_xml ('usuario', 'direccion') restodireccion_en_fichero = busqueda_xml ('usuario', 'restodireccion') codigopostal_en_fichero = busqueda_xml ('usuario', 'codigopostal') poblacion_en_fichero = busqueda_xml ('usuario', 'poblacion') email_en_fichero = busqueda_xml ('usuario', 'email') telefono1_en_fichero = busqueda_xml ('usuario', 'telefono1') telefono2_en_fichero = busqueda_xml ('usuario', 'telefono2') ## xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx #datos generales ## fuentemenus = wx.Font(22, wx.MODERN, wx.BOLD, wx.NORMAL) titulo1 = wx.StaticText(ventana, -1, "Datos de contacto") ## titulo1.SetFont(fuentemenus) txtnombre =wx.StaticText(ventana, -1, "Nombre del profesional") entranombre = wx.TextCtrl(ventana, -1, nombre_en_fichero) txtapellido1 =wx.StaticText(ventana, -1, "Primer Apellido") entraapellido1 = wx.TextCtrl(ventana, -1, primerapellido_en_fichero) txtapellido2 =wx.StaticText(ventana, -1, "Segundo Apellido") entraapellido2 = wx.TextCtrl(ventana, -1, segundoapellido_en_fichero) txtdni = wx.StaticText(ventana, -1, "D.N.I.") entradni = wx.TextCtrl(ventana, -1, dni_en_fichero) txtdirec = wx.StaticText(ventana, -1, "Dirección") entradirec = wx.TextCtrl(ventana, -1, direccion_en_fichero) entrarestodirec = wx.TextCtrl(ventana, -1, restodireccion_en_fichero) txtpost = wx.StaticText(ventana, -1, "Código Postal") entrapost = wx.TextCtrl(ventana, -1, codigopostal_en_fichero) txtpobl = wx.StaticText(ventana, -1, "Población") entrapobl = wx.TextCtrl(ventana, -1, poblacion_en_fichero) txtprov = wx.StaticText(ventana, -1, "Provincia") entraprov = wx.Choice(ventana, -1, choices = provincias) txtemail = wx.StaticText(ventana, -1, "Correo Electrónico") entraemail = wx.TextCtrl(ventana, -1, email_en_fichero) txttf1 = wx.StaticText(ventana, -1, "Teléfono") entratf1 = wx.TextCtrl(ventana, -1, telefono1_en_fichero) txttf2 = wx.StaticText(ventana, -1, "Otro Teléfono") entratf2 = wx.TextCtrl(ventana, -1, telefono2_en_fichero) #Datos de colegiación titulo2 = wx.StaticText(ventana, -1, "Datos de colegiación") ## titulo2.SetFont(fuentemenus) txtcolegio = wx.StaticText(ventana, -1, "Lugar de Colegiación") entracolegio = wx.Choice(ventana, -1, choices = colegios) txtnumcol = wx.StaticText(ventana, -1, "Colegiado") entranumcol = wx.TextCtrl(ventana, -1, "11111") ##SIZERS # sizer general sizerpral = wx.BoxSizer(wx.VERTICAL) # sizer 2 columnas sizer2col = wx.FlexGridSizer( cols=2, hgap=15, vgap=5) sizer2col.AddGrowableCol(1) muestralogo=wx.StaticBitmap(ventana, -1, wx.BitmapFromImage(wx.Image('./icons/logo.png', wx.BITMAP_TYPE_ANY))) sizer2col.Add(muestralogo) sizer2col.Add(titulo1, 0, wx.ALIGN_LEFT|wx.ALIGN_CENTER_VERTICAL) # sizer horizontal 1 sizerhor1 = wx.BoxSizer(wx.HORIZONTAL) sizer2col.Add(txtnombre, 0, wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL) sizerhor1.Add(entranombre, 1, wx.EXPAND) sizerhor1.Add(txtapellido1, 0, wx.LEFT|wx.RIGHT|wx.ALIGN_CENTER_VERTICAL, 5) sizerhor1.Add(entraapellido1, 0, wx.EXPAND) sizerhor1.Add(txtapellido2, 0, wx.LEFT|wx.RIGHT|wx.ALIGN_CENTER_VERTICAL, 5) sizerhor1.Add(entraapellido2, 1, wx.EXPAND) sizer2col.Add(sizerhor1, 0, wx.EXPAND) sizer2col.Add(txtdni, 0, wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL) sizer2col.Add(entradni, 0, wx.EXPAND) sizer2col.Add(txtdirec, 0, wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL) sizer2col.Add(entradirec, 0, wx.EXPAND) sizer2col.Add((10,10)) sizer2col.Add(entrarestodirec, 0, wx.EXPAND) #sizer horizontal 2 sizerhor2 = wx.BoxSizer(wx.HORIZONTAL) sizer2col.Add(txtpobl, 0, wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL) sizerhor2.Add(entrapobl, 1, wx.EXPAND) sizerhor2.Add(txtpost, 0, wx.LEFT|wx.RIGHT|wx.ALIGN_CENTER_VERTICAL, 5) sizerhor2.Add(entrapost, 0, wx.EXPAND) sizerhor2.Add(txtprov, 0, wx.LEFT|wx.RIGHT|wx.ALIGN_CENTER_VERTICAL, 5) sizerhor2.Add(entraprov, 1, wx.EXPAND) sizer2col.Add(sizerhor2, 0, wx.EXPAND) #sizer horizontal 3 sizerhor3 = wx.BoxSizer(wx.HORIZONTAL) sizer2col.Add(txtemail, 0, wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL) sizerhor3.Add(entraemail, 1, wx.EXPAND) sizerhor3.Add(txttf1, 0, wx.LEFT|wx.RIGHT|wx.ALIGN_CENTER_VERTICAL, 5) sizerhor3.Add(entratf1, 0, wx.EXPAND) sizerhor3.Add(txttf2, 0, wx.LEFT|wx.RIGHT|wx.ALIGN_CENTER_VERTICAL, 5) sizerhor3.Add(entratf2, 1, wx.EXPAND) sizer2col.Add(sizerhor3, 0, wx.EXPAND) sizer2col.Add((10,10)) sizer2col.Add((10,10)) sizer2col.Add((10,10)) sizer2col.Add(wx.StaticLine(ventana), 15, wx.EXPAND|wx.TOP|wx.BOTTOM, 5) sizer2col.Add((10,10)) sizer2col.Add(titulo2, 0, wx.ALIGN_LEFT|wx.ALIGN_CENTER_VERTICAL) sizer2col.Add(txtcolegio, 0, wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL) sizer2col.Add(entracolegio, 0, wx.EXPAND) sizer2col.Add(txtnumcol, 0, wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL) sizer2col.Add(entranumcol, 0, wx.EXPAND) #sizer botonera sizerbot=wx.BoxSizer(wx.HORIZONTAL) sizer2col.Add((10,10)) sizer2col.Add((10,10)) sizer2col.Add((10,50)) sizerbot.Add((10,10),wx.EXPAND) sizerbot.Add(botongrabar) #añadimos el sizer botonera al flexible sizer2col.Add(sizerbot, 0, wx.EXPAND|wx.BOTTOM, 10) # añadimos el flexible en el general sizerpral.Add(sizer2col, 0, wx.EXPAND|wx.ALL, 10) # ponemos sizer al panel ventana.SetSizer(sizerpral) # y al marco, junto con tamaño mínimo sizer = wx.BoxSizer() sizer.Add(ventana, 1, wx.EXPAND) self.SetMinSize((800,600)) #self.SetMaxSize((800,900)) def grabar(self,event): dialogo=wx.MessageDialog(None, '¿Desea Grabar y Salir?', 'Atención', wx.YES_NO|wx.ICON_QUESTION|wx.STAY_ON_TOP) respuesta=dialogo.ShowModal() if (respuesta ==wx.ID_YES): cambia_attrib('usuario', 'nombre', self.ventana.entranombre.GetValue()) cambia_attrib('usuario', 'primerapellido', self.entraprimerapellido.Value) cambia_attrib('usuario', 'segundoapellido', self.entrasegundoapellido.Value) cambia_attrib('usuario', 'dni', self.entradni.Value) cambia_attrib('usuario', 'direccion', self.entradireccion.Value) cambia_attrib('usuario', 'restodireccion', self.entrarestodireccion.Value) cambia_attrib('usuario', 'codigopostal', self.entracodigopostal.Value) cambia_attrib('usuario', 'poblacion', self.entrapoblacion.Value) cambia_attrib('usuario', 'email', self.entraemail.Value) cambia_attrib('usuario', 'telefono1', self.entratf1.Value) cambia_attrib('usuario', 'telefono2', self.entratf2.Value) self.Destroy() else: print 'Cancelado' dialogo.Destroy() From olemis+py en gmail.com Mon Mar 29 17:56:32 2010 From: olemis+py en gmail.com (Olemis Lang (Simelix)) Date: Mon, 29 Mar 2010 11:56:32 -0400 Subject: [Python-es] Interactuar con Microsoft Visual Source Safe desde Python In-Reply-To: <24ea26601003290851r32aa391bia0bcb22100eb4f18@mail.gmail.com> References: <24ea26601003290851r32aa391bia0bcb22100eb4f18@mail.gmail.com> Message-ID: <24ea26601003290856l4c945756q81c8af2a778cf60f@mail.gmail.com> Hola a todo(a)s Por alguna extraña razón alguien ha tenido la genial idea de «sugerirme» el uso del queridísimo Microsoft Visual SourceSafe . Por esta razón acudo a Uds para saber si existe | conocen algo hecho en Python (preferentemente multi-plataforma , para GNU/Linux o, si no queda más remedio, para Win32 ) que permita acceder a un repositorio administrado con esa herramienta y realizar las acciones más comunes. Necesito esto para automatizar algunas tareas y, quizás, integrarlo con Trac . Gracias por adelantado. -- Regards, Olemis. Blog ES: http://simelo-es.blogspot.com/ Blog EN: http://simelo-en.blogspot.com/ Featured article: Tutorial: Cómo crear enlaces directos en Windows con Python - http://simelo-es.blogspot.com/2010/03/tutorial-como-crear-enlaces-directos-en.html From olemis+py en gmail.com Mon Mar 29 18:10:39 2010 From: olemis+py en gmail.com (Olemis Lang (Simelix)) Date: Mon, 29 Mar 2010 12:10:39 -0400 Subject: [Python-es] =?iso-8859-1?q?=5BOT=5D_Ayuda_con_art=EDculos_para_Tu?= =?iso-8859-1?q?xInfo_=28revista_swl_=2EAR=29?= Message-ID: <24ea26601003290910jd7fe0bi46cc14629d5945a2@mail.gmail.com> Esto es un poco OT, pero bueno, creo que si hay un lugar dónde podré recibir este tipo de ayuda es aquí ;o) Como mencioné en mi presentación, escribo un curso de Python para la revista TuxInfo. Hay varios artículos que ya están publicados en números anteriores. La cuestión es que recientemente mi participación en varios proyectos de SWL (de gran utilidad para mí) me ha tomado gran parte de mi tiempo y la cadena de publicaciones se ha visto cortada. La mejor parte es que el texto de los artículos restantes ya está casi redactado (al 80%). Solo hace falta añadir imágenes, buscar código de ejemplos que ilustren el tema que se trata, revisar un poquito y cosas de este tipo. Los temas restantes serán IMO entre los más interesantes y tratarán sobre programación funcional, corrutinas , ... Este mensaje es principalmente para que, si alguien puede y tiene la disposición de hacer este relativamente mínimo trabajo para que sean publicados próximamente, entonces por favor me contacte personalmente para facilitarle lo que ya está hecho y coordinar los detalles. Realmente sería una pena que quedase truncada la serie , especialmente teniendo la parte más importante casi lista ... :( Gracias por adelantado PD: Disculpen el OT -- Regards, Olemis. Blog ES: http://simelo-es.blogspot.com/ Blog EN: http://simelo-en.blogspot.com/ Featured article: Comparación de sistemas de control de versiones (a.k.a.VCS o SCM) - http://simelo-es.blogspot.com/2010/03/comparacion-de-sistemas-de-control-de.html From diacritica en elenya.net Mon Mar 29 18:34:18 2010 From: diacritica en elenya.net (=?ISO-8859-15?Q?Pablo_Ruiz_M=FAzquiz?=) Date: Mon, 29 Mar 2010 18:34:18 +0200 Subject: [Python-es] Interactuar con Microsoft Visual Source Safe desde Python In-Reply-To: <24ea26601003290856l4c945756q81c8af2a778cf60f@mail.gmail.com> References: <24ea26601003290851r32aa391bia0bcb22100eb4f18@mail.gmail.com> <24ea26601003290856l4c945756q81c8af2a778cf60f@mail.gmail.com> Message-ID: <4BB0D68A.6050303@elenya.net> No te puedo dar una respuesta concreta pero las posibilidades de éxito van a depender mucho de la versión VSS. Por mi experiencia (colaboré en la migración de un repositorio VSS 5 a Subversion en mi empresa), VSS sólo da dolores y se considera una tecnología inestable. Me temo que vas a entrar de lleno en el VSS HELL y vas a salir derrotado. Un poco de google da este resultado: http://code.activestate.com/recipes/473884-vss-integration-module/ pero parece bastante obsoleto e incompleto. Saludos, Pablo Olemis Lang (Simelix) escribió: > Hola a todo(a)s > > Por alguna extraña razón alguien ha tenido la genial idea de > «sugerirme» el uso del queridísimo Microsoft Visual SourceSafe . Por > esta razón acudo a Uds para saber si existe | conocen algo hecho en > Python (preferentemente multi-plataforma , para GNU/Linux o, si no > queda más remedio, para Win32 ) que permita acceder a un repositorio > administrado con esa herramienta y realizar las acciones más comunes. > > Necesito esto para automatizar algunas tareas y, quizás, integrarlo con Trac . > > Gracias por adelantado. > > -- > Regards, > > Olemis. > > Blog ES: http://simelo-es.blogspot.com/ > Blog EN: http://simelo-en.blogspot.com/ > > Featured article: > Tutorial: Cómo crear enlaces directos en Windows con Python - > http://simelo-es.blogspot.com/2010/03/tutorial-como-crear-enlaces-directos-en.html > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > From olemis+py en gmail.com Mon Mar 29 18:48:16 2010 From: olemis+py en gmail.com (Olemis Lang (Simelix)) Date: Mon, 29 Mar 2010 12:48:16 -0400 Subject: [Python-es] Interactuar con Microsoft Visual Source Safe desde Python In-Reply-To: <4BB0D68A.6050303@elenya.net> References: <24ea26601003290851r32aa391bia0bcb22100eb4f18@mail.gmail.com> <24ea26601003290856l4c945756q81c8af2a778cf60f@mail.gmail.com> <4BB0D68A.6050303@elenya.net> Message-ID: <24ea26601003290948i47433656x851ba91e525060d@mail.gmail.com> 2010/3/29 Pablo Ruiz Múzquiz : > Olemis Lang (Simelix) escribió: >> >> Hola a todo(a)s >> >> Por alguna extraña razón alguien ha tenido la genial idea de >> «sugerirme» el uso del queridísimo Microsoft Visual SourceSafe . Por >> esta razón acudo a Uds para saber si existe | conocen algo hecho en >> Python (preferentemente multi-plataforma , para GNU/Linux o, si no >> queda más remedio, para Win32 ) que permita acceder a un repositorio >> administrado con esa herramienta y realizar las acciones más comunes. >> >> Necesito esto para automatizar algunas tareas y, quizás, integrarlo con >> Trac . >> >> Gracias por adelantado. >> > [...] > > Por mi experiencia (colaboré en la migración de un repositorio VSS 5 a > Subversion en mi empresa), VSS sólo da dolores y se considera una tecnología > inestable. > > Me temo que vas a entrar de lleno en el VSS HELL y vas a salir derrotado. > Más o menos algo de esto fue lo que dije después de la ya mencionada sugerencia ... pero como dice una canción de rock argentina de los (70 | 80) «pero el amor es más fuerte (...)» . Por tanto en este caso me estoy creyendo que voy a entrar y, antes de hacerlo, me declaro oficialmente derrotado de fábrica, pero no hay nada que pueda hacer ... :( > Un poco de google da este resultado: > http://code.activestate.com/recipes/473884-vss-integration-module/ > > pero parece bastante obsoleto e incompleto. > Gracias, al menos es algo -- Regards, Olemis. Blog ES: http://simelo-es.blogspot.com/ Blog EN: http://simelo-en.blogspot.com/ Featured article: Tutorial: Cómo crear enlaces directos en Windows con Python - http://simelo-es.blogspot.com/2010/03/tutorial-como-crear-enlaces-directos-en.html From inf200523 en ucf.edu.cu Mon Mar 29 19:21:22 2010 From: inf200523 en ucf.edu.cu (Boris Perez Canedo) Date: Mon, 29 Mar 2010 13:21:22 -0400 (EDT) Subject: [Python-es] programar un servicio Message-ID: <1064.10.14.19.12.1269883282.squirrel@correo.ucf.edu.cu> Hola a todos. Tengo un servidor xml rpc y necesito que corra en windows sin "necesidad de instalar python" y que pueda ser gestionado con herramientas administrativas servicios. Ya aqui comentaron algo sobre py2exe si es que mal no recuerdo, pero la verdad es que estoy en cero en este asunto. En realidad tengo que hacer que mi aplicacion funcione tanto en windows con en linux, y aprobecho para preguntar como puedo hacer algo similar en linux , sin la parte de no instalar python claro esta. gracias de antemano. Saludos, Boris. --- La mejor vacuna contra el virus A(H1N1) es la higiene personal ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From inf200523 en ucf.edu.cu Mon Mar 29 19:32:48 2010 From: inf200523 en ucf.edu.cu (Boris Perez Canedo) Date: Mon, 29 Mar 2010 13:32:48 -0400 (EDT) Subject: [Python-es] programar un servicio In-Reply-To: <1064.10.14.19.12.1269883282.squirrel@correo.ucf.edu.cu> References: <1064.10.14.19.12.1269883282.squirrel@correo.ucf.edu.cu> Message-ID: <1111.10.14.19.12.1269883968.squirrel@correo.ucf.edu.cu> Hola a todos. Tengo un servidor xml rpc y necesito que corra en windows sin "necesidad de instalar python" y que pueda ser gestionado con herramientas administrativas servicios. Ya aqui comentaron algo sobre py2exe si es que mal no recuerdo, pero la verdad es que estoy en cero en este asunto. En realidad tengo que hacer que mi aplicacion funcione tanto en windows con en linux, y aprobecho para preguntar como puedo hacer algo similar en linux , sin la parte de no instalar python claro esta. gracias de antemano.   Ok, disculpen lo de aprovecho, no vayan a pensar que los cubanos escribimos mal. y lo de las tildes, sobre estas ultimas tengo mi propia opinion al respecto, deberian desaparecerlas del idioma, no se pongan bravos : ) Saludos. --- La mejor vacuna contra el virus A(H1N1) es la higiene personal ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From olemis+py en gmail.com Mon Mar 29 19:39:06 2010 From: olemis+py en gmail.com (Olemis Lang (Simelix)) Date: Mon, 29 Mar 2010 13:39:06 -0400 Subject: [Python-es] programar un servicio In-Reply-To: <1064.10.14.19.12.1269883282.squirrel@correo.ucf.edu.cu> References: <1064.10.14.19.12.1269883282.squirrel@correo.ucf.edu.cu> Message-ID: <24ea26601003291039s4908756ey5dd5b3e21e1aa81e@mail.gmail.com> 2010/3/29 Boris Perez Canedo : > Hola a todos. > :o) > Tengo un servidor xml rpc y necesito que corra en windows sin "necesidad de > instalar python" y que pueda ser gestionado con herramientas administrativas > servicios. > > Ya aqui comentaron algo sobre py2exe si es que mal no recuerdo, pero la > verdad es que estoy en cero en este asunto. > Quizás py2exe es una opción para «no instalar Python», pero lo que yo haría (con o sin py2exe ;o) es implementar un servicio de Windows en Python con PyWin32 (AFAICR hay un ejemplo en la doc ;o) > En realidad tengo que hacer que mi aplicacion funcione tanto en windows con > en linux, y aprobecho para preguntar como puedo hacer algo similar en linux > , sin la parte de no instalar python claro esta. > freeze, pero de todas formas es muy poco probable que python no esté instalado en GNU/Linux y, si no lo estuviera, la mejor opción puede que sea instalarlo a través del admin de pkgs (e.g. apt, yum, ...) > gracias de antemano. > :o) -- Regards, Olemis. Blog ES: http://simelo-es.blogspot.com/ Blog EN: http://simelo-en.blogspot.com/ Featured article: Tutorial: Cómo crear enlaces directos en Windows con Python - http://simelo-es.blogspot.com/2010/03/tutorial-como-crear-enlaces-directos-en.html From juanmarceloconca en gmail.com Mon Mar 29 19:42:48 2010 From: juanmarceloconca en gmail.com (juan marcelo conca) Date: Mon, 29 Mar 2010 14:42:48 -0300 Subject: [Python-es] programar un servicio In-Reply-To: <24ea26601003291039s4908756ey5dd5b3e21e1aa81e@mail.gmail.com> References: <1064.10.14.19.12.1269883282.squirrel@correo.ucf.edu.cu> <24ea26601003291039s4908756ey5dd5b3e21e1aa81e@mail.gmail.com> Message-ID: Podes probar con una versión portable de de python...creo que hay una de versión 2.6 de python portable...... Un saludo. -- Machi Conca. From felix.listadebian en gmail.com Mon Mar 29 19:43:15 2010 From: felix.listadebian en gmail.com (Felix Perez) Date: Mon, 29 Mar 2010 14:43:15 -0300 Subject: [Python-es] programar un servicio In-Reply-To: <1111.10.14.19.12.1269883968.squirrel@correo.ucf.edu.cu> References: <1064.10.14.19.12.1269883282.squirrel@correo.ucf.edu.cu> <1111.10.14.19.12.1269883968.squirrel@correo.ucf.edu.cu> Message-ID: <763b80f71003291043p45e043b9v246c4a4641431399@mail.gmail.com> El día 29 de marzo de 2010 14:32, Boris Perez Canedo escribió: > Hola a todos. > ________________________________ > Ok, disculpen lo de aprovecho, no vayan a pensar que los cubanos escribimos > mal. y lo de las tildes, sobre estas ultimas tengo mi propia opinion al > respecto, deberian desaparecerlas del idioma, no se pongan bravos : ) > Claro ya que "toco" y "tocó" son lo mismo ¿no es cierto? al igual que "te" y "té". Saludos. -- usuario linux #274354 normas de la lista: http://wiki.debian.org/NormasLista como hacer preguntas inteligentes: http://www.sindominio.net/ayuda/preguntas-inteligentes.html From juanmarceloconca en gmail.com Mon Mar 29 19:46:14 2010 From: juanmarceloconca en gmail.com (juan marcelo conca) Date: Mon, 29 Mar 2010 14:46:14 -0300 Subject: [Python-es] programar un servicio In-Reply-To: <763b80f71003291043p45e043b9v246c4a4641431399@mail.gmail.com> References: <1064.10.14.19.12.1269883282.squirrel@correo.ucf.edu.cu> <1111.10.14.19.12.1269883968.squirrel@correo.ucf.edu.cu> <763b80f71003291043p45e043b9v246c4a4641431399@mail.gmail.com> Message-ID: Agrego.....eso lo recomiendo para hacer pruebas....después que tenes todo listo podes usar py2exe.......... Un saludo. Machi Conca. From inf200523 en ucf.edu.cu Mon Mar 29 19:47:32 2010 From: inf200523 en ucf.edu.cu (Boris Perez Canedo) Date: Mon, 29 Mar 2010 13:47:32 -0400 (EDT) Subject: [Python-es] programar un servicio In-Reply-To: <24ea26601003291039s4908756ey5dd5b3e21e1aa81e@mail.gmail.com> References: <1064.10.14.19.12.1269883282.squirrel@correo.ucf.edu.cu> <24ea26601003291039s4908756ey5dd5b3e21e1aa81e@mail.gmail.com> Message-ID: <1437.10.14.19.12.1269884852.squirrel@correo.ucf.edu.cu> > 2010/3/29 Boris Perez Canedo : >> Hola a todos. >> > > :o) > >> Tengo un servidor xml rpc y necesito que corra en windows sin "necesidad de >> instalar python" y que pueda ser gestionado con herramientas administrativas >> servicios. >> >> Ya aqui comentaron algo sobre py2exe si es que mal no recuerdo, pero la >> verdad es que estoy en cero en este asunto. >> > > Quizás py2exe es una opción para «no instalar Python», pero lo que yo > haría (con o sin py2exe ;o) es implementar un servicio de Windows en > Python con PyWin32 (AFAICR hay un ejemplo en la doc ;o) > >> En realidad tengo que hacer que mi aplicacion funcione tanto en windows con >> en linux, y aprobecho para preguntar como puedo hacer algo similar en linux >> , sin la parte de no instalar python claro esta. >> > > freeze, pero de todas formas es muy poco probable que python no esté > instalado en GNU/Linux y, si no lo estuviera, la mejor opción puede > que sea instalarlo a través del admin de pkgs (e.g. apt, yum, ...)  Si lo se, por eso decia "sin la parte de no instalar python". Utilizo ubuntu y viene con python instalado y que a nadie se le ocurra desinstalarselo!!!! Gracias, voy a ver eso de pyWin32, de lo cual no tengo ni idea. --- La mejor vacuna contra el virus A(H1N1) es la higiene personal ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From inf200523 en ucf.edu.cu Mon Mar 29 20:10:09 2010 From: inf200523 en ucf.edu.cu (Boris Perez Canedo) Date: Mon, 29 Mar 2010 14:10:09 -0400 (EDT) Subject: [Python-es] sobre los acentos In-Reply-To: <763b80f71003291043p45e043b9v246c4a4641431399@mail.gmail.com> References: <1064.10.14.19.12.1269883282.squirrel@correo.ucf.edu.cu> <1111.10.14.19.12.1269883968.squirrel@correo.ucf.edu.cu> <763b80f71003291043p45e043b9v246c4a4641431399@mail.gmail.com> Message-ID: <1571.10.14.19.12.1269886209.squirrel@correo.ucf.edu.cu> > El día 29 de marzo de 2010 14:32, Boris Perez Canedo > escribió: >> Hola a todos. > >> ________________________________ >> Ok, disculpen lo de aprovecho, no vayan a pensar que los cubanos escribimos >> mal. y lo de las tildes, sobre estas ultimas tengo mi propia opinion al >> respecto, deberian desaparecerlas del idioma, no se pongan bravos : ) >> > > Claro ya que "toco" y "tocó" son lo mismo ¿no es cierto? al igual que > "te" y "té". >  No, no son lo mismo, pero tengo entendido que ya se ha flxibilizado el uso de las tildes en algunas palabras, ejemplo: solo que se acentua cuando viene de solamente pero que ya no es obligatorio hacerlo si por el contexto pueden diferenciarse, asi, por el contexto, muchas palabras no necesitarian acento grafico. Y no solo hablo de acentos, hay verbos que son de madre para conjugarlos y que la "sabiduria" popular ofrece quizas la mejor conjugacion jamas ofrecida por un catedratico. Hace algun tiempo lei un trabajo de Gracia Marquez, no recuerdo el titulo, o era un discurso, bueno la verdad no lo recuerdo, me parecio muy interesante, pero si recuerdo esto: ...simplifiquemos la gramatica antes de que la gramatica termine por simplificarnos a nosotros...  Voy a realizar una busqueda a ver que aparece sobre esto. Espero, amigo mios, que no lo tomen a mal, si ese fuere el caso, pues empiezo a acentuarlo todo!!! :) Saludos, Boris. --- La mejor vacuna contra el virus A(H1N1) es la higiene personal ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From inf200523 en ucf.edu.cu Mon Mar 29 20:43:52 2010 From: inf200523 en ucf.edu.cu (Boris Perez Canedo) Date: Mon, 29 Mar 2010 14:43:52 -0400 (EDT) Subject: [Python-es] sobre los acentos In-Reply-To: <1571.10.14.19.12.1269886209.squirrel@correo.ucf.edu.cu> References: <1064.10.14.19.12.1269883282.squirrel@correo.ucf.edu.cu> <1111.10.14.19.12.1269883968.squirrel@correo.ucf.edu.cu> <763b80f71003291043p45e043b9v246c4a4641431399@mail.gmail.com> <1571.10.14.19.12.1269886209.squirrel@correo.ucf.edu.cu> Message-ID: <1782.10.14.19.12.1269888232.squirrel@correo.ucf.edu.cu> > El día 29 de marzo de 2010 14:32, Boris Perez Canedo > escribió: >> Hola a todos. > >> ________________________________ >> Ok, disculpen lo de aprovecho, no vayan a pensar que los cubanos escribimos >> mal. y lo de las tildes, sobre estas ultimas tengo mi propia opinion al >> respecto, deberian desaparecerlas del idioma, no se pongan bravos : ) >> > > Claro ya que "toco" y "tocó" son lo mismo ¿no es cierto? al igual que > "te" y "té". > No, no son lo mismo, pero tengo entendido que ya se ha flxibilizado el uso de las tildes en algunas palabras, ejemplo: solo que se acentua cuando viene de solamente pero que ya no es obligatorio hacerlo si por el contexto pueden diferenciarse, asi, por el contexto, muchas palabras no necesitarian acento grafico. Y no solo hablo de acentos, hay verbos que son de madre para conjugarlos y que la "sabiduria" popular ofrece quizas la mejor conjugacion jamas ofrecida por un catedratico. Hace algun tiempo lei un trabajo de Gracia Marquez, no recuerdo el titulo, o era un discurso, bueno la verdad no lo recuerdo, me parecio muy interesante, pero si recuerdo esto: ...simplifiquemos la gramatica antes de que la gramatica termine por simplificarnos a nosotros... Voy a realizar una busqueda a ver que aparece sobre esto. Espero, amigo mios, que no lo tomen a mal, si ese fuere el caso, pues empiezo a acentuarlo todo!!! :) Era un discurso, en el que, obviamente, yo no estaba presente, http://www.mundolatino.org/cultura/garciamarquez/ggm6.htm se titula: Botella al mar para el dios de las palabras, esta muy interesante y recomiendo lo lean, a continuancion aparece una entrevista dada por el autor respecto a la repercusion de sus palabras. Bien, borron y cuenta nueva, no me eliminen las tildes, pero vamos a hacernos la vida mas facil. Saludos. Boris. --- La mejor vacuna contra el virus A(H1N1) es la higiene personal ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From felix.listadebian en gmail.com Mon Mar 29 21:12:42 2010 From: felix.listadebian en gmail.com (Felix Perez) Date: Mon, 29 Mar 2010 16:12:42 -0300 Subject: [Python-es] sobre los acentos In-Reply-To: <1571.10.14.19.12.1269886209.squirrel@correo.ucf.edu.cu> References: <1064.10.14.19.12.1269883282.squirrel@correo.ucf.edu.cu> <1111.10.14.19.12.1269883968.squirrel@correo.ucf.edu.cu> <763b80f71003291043p45e043b9v246c4a4641431399@mail.gmail.com> <1571.10.14.19.12.1269886209.squirrel@correo.ucf.edu.cu> Message-ID: <763b80f71003291212m5d1dae96w2ad02e32dc3bb64a@mail.gmail.com> El día 29 de marzo de 2010 15:10, Boris Perez Canedo escribió: >> El día 29 de marzo de 2010 14:32, Boris Perez Canedo >> escribió: >>> Hola a todos. >> >>> ________________________________ >>> Ok, disculpen lo de aprovecho, no vayan a pensar que los cubanos >>> escribimos >>> mal. y lo de las tildes, sobre estas ultimas tengo mi propia opinion al >>> respecto, deberian desaparecerlas del idioma, no se pongan bravos : ) >>> >> >> Claro ya que "toco" y "tocó" son lo mismo ¿no es cierto? al igual que >> "te" y "té". >> > > No, no son lo mismo, pero tengo entendido que ya se ha flxibilizado el uso > de las tildes en algunas palabras, ejemplo: solo que se acentua cuando viene > de solamente pero que ya no es obligatorio hacerlo si por el contexto pueden > diferenciarse, asi, por el contexto, muchas palabras no necesitarian acento > grafico. En esta parte tienes razón pero donde las tildes son absolutamente necesarias es en la diferenciación de tiempo y en otros casos.. por ejemplo: te tomo té tomo te tomó té tomó > Y no solo hablo de acentos, hay verbos que son de madre para conjugarlos y > que la "sabiduria" popular ofrece quizas la mejor conjugacion jamas ofrecida > por un catedratico. > la RAE ha flexibilizado su posición al respecto, pero yo sigo leyendo "sabiduria" en vez de "sabiduría" y ojo que en ocasiones la sabiduría popular no es tan sabia. > Hace algun tiempo lei un trabajo de Gracia Marquez, no recuerdo el titulo, o > era un discurso, bueno la verdad no lo recuerdo, me parecio muy interesante, > pero si recuerdo esto: ...simplifiquemos la gramatica antes de que la > gramatica termine por simplificarnos a nosotros...  Voy a realizar una > busqueda a ver que aparece sobre esto. > Disculpe estimado, pero a mi personalmente se me hace difícil leerte sin las tildes y a García Márquez más aún pero por otros motivos. XD. > Espero, amigo mios, que no lo tomen a mal, si ese fuere el caso, pues > empiezo a acentuarlo todo!!! :) > No sería mala practica cuando el tema no sea técnico, aunque también en lenguaje técnico es importante el expresar de manera correcta nuestras ideas, consultas o soluciones. Lo que les enseño a los niños con los cuales trabajo es que al escribir estamos escribiendo para que los otros me entiendan, es un esfuerzo que debo hacer "yo" para poder comunicarme. Saludos. PD. en todo caso, completamente [OT]. Pido me disculpen. -- usuario linux #274354 normas de la lista: http://wiki.debian.org/NormasLista como hacer preguntas inteligentes: http://www.sindominio.net/ayuda/preguntas-inteligentes.html From jcaballero.hep en gmail.com Mon Mar 29 22:28:58 2010 From: jcaballero.hep en gmail.com (Jose Caballero) Date: Mon, 29 Mar 2010 16:28:58 -0400 Subject: [Python-es] sobre los acentos In-Reply-To: <1571.10.14.19.12.1269886209.squirrel@correo.ucf.edu.cu> References: <1064.10.14.19.12.1269883282.squirrel@correo.ucf.edu.cu> <1111.10.14.19.12.1269883968.squirrel@correo.ucf.edu.cu> <763b80f71003291043p45e043b9v246c4a4641431399@mail.gmail.com> <1571.10.14.19.12.1269886209.squirrel@correo.ucf.edu.cu> Message-ID: y lo de las tildes, sobre estas ultimas tengo mi propia opinion al > >> respecto Y yo tengo mi propia opinión sobre la identación, pero si no sigo las reglas al pie de la letra el intérprete de python no entiende mi código. ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From inf200523 en ucf.edu.cu Mon Mar 29 22:29:10 2010 From: inf200523 en ucf.edu.cu (Boris Perez Canedo) Date: Mon, 29 Mar 2010 16:29:10 -0400 (EDT) Subject: [Python-es] sobre los acentos In-Reply-To: <763b80f71003291212m5d1dae96w2ad02e32dc3bb64a@mail.gmail.com> References: <1064.10.14.19.12.1269883282.squirrel@correo.ucf.edu.cu> <1111.10.14.19.12.1269883968.squirrel@correo.ucf.edu.cu> <763b80f71003291043p45e043b9v246c4a4641431399@mail.gmail.com> <1571.10.14.19.12.1269886209.squirrel@correo.ucf.edu.cu> <763b80f71003291212m5d1dae96w2ad02e32dc3bb64a@mail.gmail.com> Message-ID: <2690.10.14.19.12.1269894550.squirrel@correo.ucf.edu.cu> > El día 29 de marzo de 2010 15:10, Boris Perez Canedo > escribió: >>> El día 29 de marzo de 2010 14:32, Boris Perez Canedo >>> escribió: >>>> Hola a todos. >>> >>>> ________________________________ >>>> Ok, disculpen lo de aprovecho, no vayan a pensar que los cubanos >>>> escribimos >>>> mal. y lo de las tildes, sobre estas ultimas tengo mi propia opinion al >>>> respecto, deberian desaparecerlas del idioma, no se pongan bravos : ) >>>> >>> >>> Claro ya que "toco" y "tocó" son lo mismo ¿no es cierto? al igual que >>> "te" y "té". >>> >> >> No, no son lo mismo, pero tengo entendido que ya se ha flxibilizado el uso >> de las tildes en algunas palabras, ejemplo: solo que se acentua cuando viene >> de solamente pero que ya no es obligatorio hacerlo si por el contexto pueden >> diferenciarse, asi, por el contexto, muchas palabras no necesitarian acento >> grafico. > > En esta parte tienes razón pero donde las tildes son absolutamente > necesarias es en la diferenciación de tiempo y en otros casos.. > > por ejemplo: > te tomo > té tomo > te tomó > té tomó > >> Y no solo hablo de acentos, hay verbos que son de madre para conjugarlos y >> que la "sabiduria" popular ofrece quizas la mejor conjugacion jamas ofrecida >> por un catedratico. >> > > la RAE ha flexibilizado su posición al respecto, pero yo sigo leyendo > "sabiduria" en vez de "sabiduría" y ojo que en ocasiones la sabiduría > popular no es tan sabia. > >> Hace algun tiempo lei un trabajo de Gracia Marquez, no recuerdo el titulo, o >> era un discurso, bueno la verdad no lo recuerdo, me parecio muy interesante, >> pero si recuerdo esto: ...simplifiquemos la gramatica antes de que la >> gramatica termine por simplificarnos a nosotros...  Voy a realizar una >> busqueda a ver que aparece sobre esto. >> > > Disculpe estimado, pero a mi personalmente se me hace difícil leerte > sin las tildes y a García Márquez más aún pero por otros motivos. > XD. > > >> Espero, amigo mios, que no lo tomen a mal, si ese fuere el caso, pues >> empiezo a acentuarlo todo!!! :) >> > No sería mala practica cuando el tema no sea técnico, aunque también > en lenguaje técnico es importante el expresar de manera correcta > nuestras ideas, consultas o soluciones. Lo que les enseño a los niños > con los cuales trabajo es que al escribir estamos escribiendo para que > los otros me entiendan, es un esfuerzo que debo hacer "yo" para poder > comunicarme.  Tienes razón, siempre y cuando lo correcto no sea definido por un grupo de reglas arcaicas. Como deseo que no se te haga difícil leerme, al menos no por las tildes, además de que ya había observado de que todos acentuaban las palabras( y me sentí algo incómodo cuando me dijiste que no me entendías), y es obvio que lenguaje evoluciona (aún recuerdo mi primer grado y la "Ll", y la "Ch" ), acentuaré todas las palabras, trantando de no cometer errores. Precisamente ese esfuerzo que uno hace puede llegar incluso a entorpecer la comunicación. Es posible ver escrita la palabra sabiduria, lo que si es imposible es leerla. Simplemente tienes grabada su pronunciación y hasta se te haría difícil pronunciarla de otra manera: sabiúria o peor aún sábiduria. El hablar popular se impone, eso es inevitable. Cuando algo es popular ya ha sido aceptado, me refiero con popular a como habla un pueblo y no un sector de mal hablados. El idioma se decanta con el tiempo surgen nuevas palabras,  y otras entran en desuso. Lo que hay que hacer es tratar de comunicarse correctamente en nuestro tiempo y con nuestras palabras. Es precisamente por eso que estoy de acuerdo contigo. Saludos, Boris. --- La mejor vacuna contra el virus A(H1N1) es la higiene personal ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From crux.deb en gmail.com Mon Mar 29 23:36:14 2010 From: crux.deb en gmail.com (Omar Murray (CruxoM)) Date: Mon, 29 Mar 2010 18:36:14 -0300 Subject: [Python-es] sobre los acentos In-Reply-To: References: <1064.10.14.19.12.1269883282.squirrel@correo.ucf.edu.cu> <1571.10.14.19.12.1269886209.squirrel@correo.ucf.edu.cu> Message-ID: <201003291836.15018.crux.deb@gmail.com> On Lunes 29 Marzo 2010 17:28:58 Jose Caballero escribió: > y lo de las tildes, sobre estas ultimas tengo mi propia opinion al > > > >> respecto > > Y yo tengo mi propia opinión sobre la identación, pero si no sigo las > reglas al pie de la letra el intérprete de python no entiende mi código. > Esta es una respuesta breve, pero exquisita... -- oM Omar G. Murray [CruxoM] crux.deb en gmail.com JID: Crux en jabber.freenet.de Ekiga: omurray en ekiga.net http://mysteriouswaystg.blogspot.com ********************************************* Powered by Ubuntu 9.10 Karmic Koala GNU/Linux - kernel 2.6.31 From pyarnau en gmail.com Tue Mar 30 01:14:11 2010 From: pyarnau en gmail.com (Arnau Sanchez) Date: Tue, 30 Mar 2010 01:14:11 +0200 Subject: [Python-es] =?iso-8859-1?q?=5BOT=5D_Ayuda_con_art=EDculos_para_Tu?= =?iso-8859-1?q?xInfo_=28revista_swl_=2EAR=29?= In-Reply-To: <24ea26601003290910jd7fe0bi46cc14629d5945a2@mail.gmail.com> References: <24ea26601003290910jd7fe0bi46cc14629d5945a2@mail.gmail.com> Message-ID: <4BB13443.3010500@gmail.com> On 29/03/10 18:10, Olemis Lang (Simelix) wrote: > Como mencioné en mi presentación, escribo un curso de Python para la > revista TuxInfo. Hay varios artículos que ya están publicados en > números anteriores. La cuestión es que recientemente mi participación > en varios proyectos de SWL (de gran utilidad para mí) me ha tomado > gran parte de mi tiempo y la cadena de publicaciones se ha visto > cortada. > > La mejor parte es que el texto de los artículos restantes ya está casi > redactado (al 80%). Solo hace falta añadir imágenes, buscar código de > ejemplos que ilustren el tema que se trata, revisar un poquito y cosas > de este tipo. Los temas restantes serán IMO entre los más interesantes > y tratarán sobre programación funcional, corrutinas , ... ¿Y cuántos artículos hay pendientes de revisar en total? From pych3m4 en gmail.com Tue Mar 30 12:01:46 2010 From: pych3m4 en gmail.com (Chema Cortes) Date: Tue, 30 Mar 2010 12:01:46 +0200 Subject: [Python-es] Actualizar base de datos msaccess In-Reply-To: <4BAD21AA.8010208@gmail.com> References: <4BAA8A77.9040703@gmail.com> <4BAAC842.1010503@ch3m4.org> <4BAB1443.3080204@gmail.com> <2c9fb0dd1003260327s76bcbf73sdafbc21a2850033f@mail.gmail.com> <4BAD21AA.8010208@gmail.com> Message-ID: <2c9fb0dd1003300301j5bcfb482pb02a8037a3ac570e@mail.gmail.com> El día 26 de marzo de 2010 22:05, damufo escribió: > He cambiado la cadena de conexión y he usado la que me indicas. > Dicha cadena, funciona y se conecta bien. > Lo del consumo de memoria sigue ahí. Anexo una imagen donde tras una hora y > algo de ejecución ya estaba por los 718 MB de consumo (como ya comenté esto > llega as mas de 1,5 Gigas). > Lo siguiente que me queda es hacer cada cierto número de registros una > desconexión de la base de datos y reconectar. Que te parece? > Alguna otra opinión? Me sigue pareciendo extraño. Sin ver el resto de código no puedo aventurar dónde se está consumiendo los recursos. Tengo un caso similar en el que leo cerca de 100.000 registros desde servidores remotos y que introduzco luego en un postgres local y en un fichero mdb, no me tarda más de 20 minutos en jython (jdbc:odbc) y no pasa de los 512Mb de consumo de memoria. Antes lo hacía también con adodbapi, pero cambié a jdbc cuando empezaron a darme problemas tener diferentes versiones del cliente de informix. Tal vez podrías probar con jython, aunque no creo que se note ninguna mejora. From listas en soft-com.es Tue Mar 30 12:53:00 2010 From: listas en soft-com.es (=?ISO-8859-1?Q?Oswaldo_Hern=E1ndez?=) Date: Tue, 30 Mar 2010 12:53:00 +0200 Subject: [Python-es] [wx.python] In-Reply-To: References: Message-ID: <4BB1D80C.9030202@soft-com.es> monoBOT escribió: > estoy creando un programilla con wx.python, en un panel he puesto una > serie de textos (ctrltext) que el usuario podrá llenar. > > Luego con el boton de guardar sale un mensaje de diálogo que permite al > usuario guardar o salir, mi problema es que como los textos están en el > panel y el diálogo lo monto con None las variables de los textos no me > las coge y no se como puedo cogerlas. > > y si les pones self delante dice que el marco no tiene variables con > ese nombre. > > como se soluciona? En primer lugar, te recomiendo que cuando envíes código simplifiques y elimines todo lo que no tiene que ver con tu problema, lo que has enviado se hace difícil de leer. En un primer vistazo veo lo siguiente: - En el método __init__ creas objetos pero no guardas las referencias y por lo tanto luego no puedes acceder a ellos. La forma habitual de hacerlo es crear una propiedad en la instancia que guarde la referencia para poder asi utilizarla mas tarde: self.entranombre = wx.TextCtrl(ventana, -1, nombre_en_fichero) - Estas haciendo el enlace del evento 'grabar' al estilo antiguo, lo recomendable es utilizar el Bind directamente sobre el objeto del que quieres capturar el evento: botongrabar.Bind(wx.EVT_BUTTON, self.grabar) - Estas usando sizers, pero no haces Layout para que el frame se autoajuste. Saludos, -- Oswaldo Hernández From monobot.soft en gmail.com Tue Mar 30 13:32:30 2010 From: monobot.soft en gmail.com (monoBOT) Date: Tue, 30 Mar 2010 12:32:30 +0100 Subject: [Python-es] [wx.python] In-Reply-To: <4BB1D80C.9030202@soft-com.es> References: <4BB1D80C.9030202@soft-com.es> Message-ID: Muchas gracias por tu respuesta, pero siento ser tan torpe que no entiendo esto que me dices: - En el método __init__ creas objetos pero no guardas las referencias y por > lo tanto luego no puedes acceder a ellos. La forma habitual de hacerlo es > crear una propiedad en la instancia que guarde la referencia para poder asi > utilizarla mas tarde: > > self.entranombre = wx.TextCtrl(ventana, -1, nombre_en_fichero) > Lo he intentado poniendo self.entranombre... pero seguro que hay algo que se me escapa, lo siento no lo entiendo. te refieres a meter las variables como argumentos en el constructor del dialogo? como se haría? > > - Estas haciendo el enlace del evento 'grabar' al estilo antiguo, lo > recomendable es utilizar el Bind directamente sobre el objeto del que > quieres capturar el evento: > > botongrabar.Bind(wx.EVT_BUTTON, self.grabar) > es como explican en los libros :-) gracias por el truquillo. -- monobotblog.alvarezalonso.es ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From damufo en gmail.com Tue Mar 30 13:36:48 2010 From: damufo en gmail.com (damufo) Date: Tue, 30 Mar 2010 13:36:48 +0200 Subject: [Python-es] Actualizar base de datos msaccess In-Reply-To: <2c9fb0dd1003300301j5bcfb482pb02a8037a3ac570e@mail.gmail.com> References: <4BAA8A77.9040703@gmail.com> <4BAAC842.1010503@ch3m4.org> <4BAB1443.3080204@gmail.com> <2c9fb0dd1003260327s76bcbf73sdafbc21a2850033f@mail.gmail.com> <4BAD21AA.8010208@gmail.com> <2c9fb0dd1003300301j5bcfb482pb02a8037a3ac570e@mail.gmail.com> Message-ID: <4BB1E250.8050708@gmail.com> En 2010/03/30 12:01, Chema Cortes escribiu: > El día 26 de marzo de 2010 22:05, damufo escribió: > >> He cambiado la cadena de conexión y he usado la que me indicas. >> Dicha cadena, funciona y se conecta bien. >> Lo del consumo de memoria sigue ahí. Anexo una imagen donde tras una hora y >> algo de ejecución ya estaba por los 718 MB de consumo (como ya comenté esto >> llega as mas de 1,5 Gigas). >> Lo siguiente que me queda es hacer cada cierto número de registros una >> desconexión de la base de datos y reconectar. Que te parece? >> Alguna otra opinión? > > Me sigue pareciendo extraño. Sin ver el resto de código no puedo > aventurar dónde se está consumiendo los recursos. > > Tengo un caso similar en el que leo cerca de 100.000 registros desde > servidores remotos y que introduzco luego en un postgres local y en un > fichero mdb, no me tarda más de 20 minutos en jython (jdbc:odbc) y no > pasa de los 512Mb de consumo de memoria. Antes lo hacía también con > adodbapi, pero cambié a jdbc cuando empezaron a darme problemas tener > diferentes versiones del cliente de informix. Tal vez podrías probar > con jython, aunque no creo que se note ninguna mejora. Hola Chema: Muchas gracias por la ayuda. Anexo el código. Otra cosa, la base de datos está en access 97. Por lñas pruebas que tengo hecho cuando se conecta a access 97 a través de jet en lugar de odbc la cosa vá mas rápido. Esto lo recuerdo de cuando usé VB6. Se acepta cualquier sugerencia sobre el código. > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > ------------ próxima parte ------------ An embedded and charset-unspecified text was scrubbed... Name: importar_tabla.txt URL: From olemis+py en gmail.com Tue Mar 30 14:20:31 2010 From: olemis+py en gmail.com (Olemis Lang (Simelix)) Date: Tue, 30 Mar 2010 08:20:31 -0400 Subject: [Python-es] =?iso-8859-1?q?=5BOT=5D_Ayuda_con_art=EDculos_para_Tu?= =?iso-8859-1?q?xInfo_=28revista_swl_=2EAR=29?= In-Reply-To: <4BB13443.3010500@gmail.com> References: <24ea26601003290910jd7fe0bi46cc14629d5945a2@mail.gmail.com> <4BB13443.3010500@gmail.com> Message-ID: <24ea26601003300520y4a1462f7yd13a994fd0372e35@mail.gmail.com> 2010/3/29 Arnau Sanchez : > On 29/03/10 18:10, Olemis Lang (Simelix) wrote: > >> Como mencioné en mi presentación, escribo un curso de Python para la >> revista TuxInfo. Hay varios artículos que ya están publicados en >> números anteriores. La cuestión es que recientemente mi participación >> en varios proyectos de SWL (de gran utilidad para mí) me ha tomado >> gran parte de mi tiempo y la cadena de publicaciones se ha visto >> cortada. >> >> La mejor parte es que el texto de los artículos restantes ya está casi >> redactado (al 80%). Solo hace falta añadir imágenes, buscar código de >> ejemplos que ilustren el tema que se trata, revisar un poquito y cosas >> de este tipo. Los temas restantes serán IMO entre los más interesantes >> y tratarán sobre programación funcional, corrutinas , ... > > ¿Y cuántos artículos hay pendientes de revisar en total? Buena pregunta. Eso depende de varias cosas. El objetivo central de la serie de artículos sobre Python consiste en demostrar e ilustrar el soporte multi-paradigma de Python. Para ello he tratado de apoyarme en (varios) ejemplos relacionados con el protocolo de iteradores, debido a que es un concepto de uso muy frecuente y que tiene alguna relación con todos los paradigmas de programación. Hasta el momento ya he abordado la programación imperativa, la estructurada, la orientada a objetos Hay al menos otros dos objetivos, pero no quiero cargar mucha la lista con todo (si alguien se decide me contacta al pv y seré más explícito ;o) . Si hubiera varias personas interesadas entre todos podríamos colaborar puesto a que podría crear un repos en Bitbucket e ir añadiendo versiones, o podríamos usar Google Docs + Google Wave, o cualquier otro medio similar si fuera preciso ;o) Por ahora el tema que falta, en general, es la programación funcional (eso incluye expansión de listas -a.k.a list comprehensions-, expresiones y funciones generadoras, corrutinas, ...) . Tengo escrito bastante acerca de esto (supongo que dé para dos o tres artículos) pero la revista tiene sus requisitos de espacio por artículo . Por tanto esa es una de las cosas que dependen de lo que se haga finalmente (de la longitud de los ejemplos que se pongan, del texto que alguien desee añadir para aclarar algo, de que alguien pueda tener interés y escribir más para profundizar en algo específico, ...) y por tanto creo que no puedo ser muy preciso ... :-$ Lo que haría falta es darle el toque final y enriquecer lo que está hecho (que es bastante ;o). La revista cuenta con un excelente (y, en tono de broma, pobre de mí si digo lo contrario :P) corrector que se encarga de poner los puntos sobre las íes (y más cosas) para garantizar la calidad del texto final que se publica, así que no se trata de hacer eso, sino más bien de agregar contenido ;o) PD: Disculpas por este mensaje tan largo ... :-/ -- Regards, Olemis. Blog ES: http://simelo-es.blogspot.com/ Blog EN: http://simelo-en.blogspot.com/ Featured article: TracRpc: API v2: Fixed JSON-RPC (multicall & IDs on error). Exception handling. - http://bitbucket.org/osimons/trac-rpc-mq/changeset/b9552972b5c3/ From listas en soft-com.es Tue Mar 30 18:42:44 2010 From: listas en soft-com.es (=?ISO-8859-1?Q?Oswaldo_Hern=E1ndez?=) Date: Tue, 30 Mar 2010 18:42:44 +0200 Subject: [Python-es] [wx.python] In-Reply-To: References: <4BB1D80C.9030202@soft-com.es> Message-ID: <4BB22A04.9040705@soft-com.es> monoBOT escribió: > Muchas gracias por tu respuesta, pero siento ser tan torpe que no > entiendo esto que me dices: > > - En el método __init__ creas objetos pero no guardas las > referencias y por lo tanto luego no puedes acceder a ellos. La forma > habitual de hacerlo es crear una propiedad en la instancia que > guarde la referencia para poder asi utilizarla mas tarde: > > self.entranombre = wx.TextCtrl(ventana, -1, nombre_en_fichero) > > > Lo he intentado poniendo self.entranombre... pero seguro que hay algo > que se me escapa, lo siento no lo entiendo. > > te refieres a meter las variables como argumentos en el constructor del > dialogo? > como se haría? > Te adjunto un ejemplo funcional de frame para que observes el funcionamiento, de todas formas formas tu fallo no es wx, sino que no pillas el funcionamiento de clases e instancias en python, date un repaso en eso. Saludos, -- Oswaldo Hernández ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: Frame.py Type: text/x-python Size: 2429 bytes Desc: no disponible URL: From monobot.soft en gmail.com Tue Mar 30 19:30:30 2010 From: monobot.soft en gmail.com (monoBOT) Date: Tue, 30 Mar 2010 18:30:30 +0100 Subject: [Python-es] [wx.python] In-Reply-To: <4BB22A04.9040705@soft-com.es> References: <4BB1D80C.9030202@soft-com.es> <4BB22A04.9040705@soft-com.es> Message-ID: Muchas gracias ... problema resuelto. donde puedo leer algo sobre el funcionamiento de las clases? ... gracias de nuevo. El 30 de marzo de 2010 17:42, Oswaldo Hernández escribió: > monoBOT escribió: > > Muchas gracias por tu respuesta, pero siento ser tan torpe que no entiendo >> esto que me dices: >> >> - En el método __init__ creas objetos pero no guardas las >> referencias y por lo tanto luego no puedes acceder a ellos. La forma >> habitual de hacerlo es crear una propiedad en la instancia que >> guarde la referencia para poder asi utilizarla mas tarde: >> >> self.entranombre = wx.TextCtrl(ventana, -1, nombre_en_fichero) >> >> >> Lo he intentado poniendo self.entranombre... pero seguro que hay algo que >> se me escapa, lo siento no lo entiendo. >> >> te refieres a meter las variables como argumentos en el constructor del >> dialogo? >> como se haría? >> >> > Te adjunto un ejemplo funcional de frame para que observes el > funcionamiento, de todas formas formas tu fallo no es wx, sino que no pillas > el funcionamiento de clases e instancias en python, date un repaso en eso. > > Saludos, > -- > Oswaldo Hernández > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > -- Héctor Alvarez Arquitecto Advertencia legal: De acuerdo a la vigente Ley Orgánica 15/1999 de Protección de Datos de carácter Personal le informamos que: Este correo electrónico contiene información privada y estrictamente confidencial. Si usted NO ES el destinatario, NO ESTA AUTORIZADO a leerlo, directa o indirectamente, usar, revelar, distribuir, imprimir o copiar ninguna de las partes y/o anexos de éste mensaje. Si por error ha recibido este mensaje, le rogamos lo notifique a su emisor respondiendo a éste e-mail y proceda a borrar de su sistema inmediatamente el mensaje así como todas sus copias. ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From inf200523 en ucf.edu.cu Wed Mar 31 17:41:52 2010 From: inf200523 en ucf.edu.cu (Boris Perez Canedo) Date: Wed, 31 Mar 2010 11:41:52 -0400 (EDT) Subject: [Python-es] Ayuda con py2exe y pywin32 para compilar servicios Message-ID: <1565.10.14.19.12.1270050112.squirrel@correo.ucf.edu.cu> Hola a todos, Estoy tratando de convertir mi aplicación en un servicio de windows uando: win32serviceutil.ServiceFramework y luego utilizo py2exe para compilar. Sigo el ejemplo publicado en: http://islascruz.org/html/index.php?gadget=StaticPage&action=Page&id=6 La cuestion es que compila y cuando hago "myservice.exe -install" todo parece ir bien, chequeo si el servicio aparece en la lista, y está, pero cuando intento correrlo me sale un mensaje que dice qlgo asi como que el servicio se inició y luego se detuvo.  Tengo entendido que el sevicio debe estar corriendo constantemente, incluso sin hacer nada. Si lo corro en IDE de python puedo ver que se mantiene corriendo y funciona correctamente, no entiendo por qué no ocurre lo mismo cuando es compilado, instalado e iniciado. Este es el código que intento hacer funcionar: # fichero RunningAsService.py import win32serviceutil import win32service import win32event import os import sys import time from ThreadedXMLRPCServer import ThreadedXMLRPCServer_BasicAuth, SecureXMLRPCServer, ServerFunction from processServerConfig import ReadServerFile from ProcessAuth import ReadAuthFile import RunSystem #aqui hay una clase que es la que corre a secure y a server en diferentes hilos.(tomada del tutorial) #secure es una instancia de SecureXMLRPCServer #server lo es de ThreadedXMLRPCServer_BasicAuth # la configuracion para secure y server la leo de un fichero xml que contiene entre otras cosas los #puertos, una lista de ip autorizados, una lista de usuarios autorizados,..., y el path para los ficheros cert.pem # y key.pem usados por secure para ssl def main():           sys.path.insert(0,os.getcwd())# viene en el ejemplo del link, creo es para poder detener el servicio           import RunSystem           secure = ...#creo mi instancia           server = ...#creo mi instancia           service = RunSystem.RunServers(secure,None,server)# corren en hilos separados class XmlRPCService(win32serviceutil.ServiceFramework):     _svc_name_ = 'ServiceTest'     _scv_display_name_ ='Servicio XML-RPC de prueba'     def __init__(self, args):         win32serviceutil.ServiceFramework.__init__(self, args)         self.hWaitStop = win32event.CreateEvent(None, 0, 0, None)     def SvcStop(self):         self.ReportServiceStatus(win32service.SERVICE_STOP_PENDING)         sys.stopservice = "true"# según el tutorial es necesario para poder detener el servicio, ya que no hay foma        # de accederlo desde aquí         win32event.SetEvent(self.hWaitStop)     def SvcDoRun(self):         main() Nota: para correrlo en el IDE de python no utilizo esta clase, simplemente invoco al main(), que es lo que haria el método SvcDoRun() cuando ya este compilado el servicio. ####################del módulo RunSystem.py, para correr los servidores endiferentes hilos class RunServers:     def __init__(self, server1, report_server,server2 = None):         self.server1 = server1         self.server2 = server2         self.report_server = report_server         thread.start_new(self.run1, tuple())         thread.start_new(self.run2, tuple())         thread.start_new(self.run_report_server, tuple())         while True:# se mantiene corriendo hasta que sea detenido usando herramientas administrativas servicios             if getattr(sys,'stopservice', False):# para detener el servicio(ver def SvcStop(self) )                 sys.exit()                 time.sleep(0.3)# no entiendo esto para que es     def run1(self):         if self.server1:             self.server1.serve_forever()     def run2(self):         if self.server1:             self.server2.serve_forever()     def run_report_server(self):         if self.report_server:             self.report_server.serve_forever()     def run_date_checker(self):         print "Hello"#estoy lo voy a utilizar luego para correr otro hilo(por ahora no se utiliza) ##### ###### El setup.py que utilizo para compilar el servicio es el siguiente setup(name = 'XMLRPCService', version = '1.0.0.0',service = ['RunningAsService'],include = ['win32serviceutil','win32service',                                                    'win32event','ThreadedXMLRPCServer',                                                   'processServerConfig','ProcessAuth',                                                    'RunSystem','os','re','time','sys','base64',                                                     'SocketServer','ssl','xmlrpclib','pythoncom','SimpleXMLRPCServer','thread'] ) Tengo mis dudas sobre los parámetros de setup. Tengo entendido que service debe contener los módulos que implementan clases de servicio(win32serviceutil.ServiceFramework), pero no se si tengo que ponerlas también en el include, tampoco me queda claro si por ejemplo, al incluir un módulo que importa, por ejemplo, a SimpleXMLRPCServer no es necesario ya poner SimpleXMLRPCServer en la lista include o si todo lo que importe de una forma u otra tiene que aparecer explícitamente en esta lista. Disculpen haber escrito tanto.  Gracias de antemano. Boris. --- La mejor vacuna contra el virus A(H1N1) es la higiene personal ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From olemis+py en gmail.com Wed Mar 31 20:33:58 2010 From: olemis+py en gmail.com (Olemis Lang (Simelix)) Date: Wed, 31 Mar 2010 14:33:58 -0400 Subject: [Python-es] Fwd: Comando de scrapy para generar pipeline In-Reply-To: References: Message-ID: Hola a todo(a)s ! ¿Alguien sabe si hay un comando en scrapy como `genspider` pero para generar el código de un pipeline ? Gracias por adelantado ! -- Regards, Olemis. Blog ES: http://simelo-es.blogspot.com/ Blog EN: http://simelo-en.blogspot.com/ Featured article: Comparación de sistemas de control de versiones (a.k.a.VCS o SCM) - http://feedproxy.google.com/~r/simelo-es/~3/FIwvfJbY074/comparacion-de-sistemas-de-control-de.html From jlbetancourt en estudiantes.uci.cu Wed Mar 31 20:43:29 2010 From: jlbetancourt en estudiantes.uci.cu (Jorge Luis Betancourt Gonzalez) Date: Wed, 31 Mar 2010 14:43:29 -0400 (CDT) Subject: [Python-es] Obtener el usuario (owner) de un fichero Message-ID: <1635301671.339141270061009629.JavaMail.root@ucimail4.uci.cu> Hola lista: Necesito obtener el propietario de un fichero determinado (el nombre de usuario). La cuestión es que necesito obtener una lista de ficheros de un directorio (hecho con os.listdir()) de ahí extraer algunos ficheros de texto plano (.txt) y basándome en el propietario de ese fichero entonces moverlo para otra estructura que sigue el patrón: usuarioA/ -- fichero1.txt -- fichero2.txt usuarioB/ -- fichero3.txt -- fichero4.txt Sin embargo, el problema de esto es ¿Cómo obtengo el owner de un fichero determinado? ¿Alguien me puede dar un norte al respecto? slds -- "It is only in the mysterious equation of love that any logical reasons can be found." "Good programmers often confuse halloween (31 OCT) with christmas (25 DEC)" From darkrho en gmail.com Wed Mar 31 21:07:03 2010 From: darkrho en gmail.com (Rolando Espinoza La Fuente) Date: Wed, 31 Mar 2010 14:37:03 -0430 Subject: [Python-es] Fwd: Comando de scrapy para generar pipeline In-Reply-To: References: Message-ID: On Wed, Mar 31, 2010 at 2:03 PM, Olemis Lang (Simelix) wrote: > Hola a todo(a)s ! > > ¿Alguien sabe si hay un comando en scrapy como `genspider` pero para > generar el código de un pipeline ? No. Las plantillas disponibles son para proyecto y spider. Por qué necesitarías un comando para generar un pipeline? Lo básico es: class MyPipeline(object): def process_item(self, spider, item): # do something with item ~Rolando From olemis+py en gmail.com Wed Mar 31 21:20:52 2010 From: olemis+py en gmail.com (Olemis Lang (Simelix)) Date: Wed, 31 Mar 2010 15:20:52 -0400 Subject: [Python-es] Fwd: Comando de scrapy para generar pipeline In-Reply-To: References: Message-ID: 2010/3/31 Rolando Espinoza La Fuente : > On Wed, Mar 31, 2010 at 2:03 PM, Olemis Lang (Simelix) > wrote: >> Hola a todo(a)s ! >> >> ¿Alguien sabe si hay un comando en scrapy como `genspider` pero para >> generar el código de un pipeline ? > > No. Las plantillas disponibles son para proyecto y spider. > > Por qué necesitarías un comando para generar un pipeline? > Porque no me dí cuenta que ya tenía `pipelines.py` :-$ Bueno, para ya aprovechar este hilo, quiero parametrizar un pipeline que utilice un ItemExporter . Q: - ¿Es posible reutilizar scrapy.contrib.pipeline.fileexport.FileExportPipeline ? - En caso positivo, ¿Cómo añado el nuevo exporter para que sea consistente con EXPORT_FILE | EXPORT_FORMAT ? - ¿Cómo logro leer, desde el exporter o el pipeline, otros settings que necesitaré ? Gracias por adelantado ! -- Regards, Olemis. Blog ES: http://simelo-es.blogspot.com/ Blog EN: http://simelo-en.blogspot.com/ Featured article: Tutorial: Cómo crear enlaces directos en Windows con Python - http://feedproxy.google.com/~r/simelo-es/~3/lF373i_fqYs/tutorial-como-crear-enlaces-directos-en.html From pyarnau en gmail.com Wed Mar 31 21:33:48 2010 From: pyarnau en gmail.com (Arnau Sanchez) Date: Wed, 31 Mar 2010 21:33:48 +0200 Subject: [Python-es] Obtener el usuario (owner) de un fichero In-Reply-To: <1635301671.339141270061009629.JavaMail.root@ucimail4.uci.cu> References: <1635301671.339141270061009629.JavaMail.root@ucimail4.uci.cu> Message-ID: <4BB3A39C.20508@gmail.com> On 31/03/10 20:43, Jorge Luis Betancourt Gonzalez wrote: > Sin embargo, el problema de esto es ¿Cómo obtengo el owner de un fichero > determinado? ¿Alguien me puede dar un norte al respecto? http://docs.python.org/library/os.html#os.stat From darkrho en gmail.com Wed Mar 31 22:08:34 2010 From: darkrho en gmail.com (Rolando Espinoza La Fuente) Date: Wed, 31 Mar 2010 15:38:34 -0430 Subject: [Python-es] Fwd: Comando de scrapy para generar pipeline In-Reply-To: References: Message-ID: 2010/3/31 Olemis Lang (Simelix) : [...] > > Bueno, para ya aprovechar este hilo, quiero parametrizar un pipeline > que utilice un ItemExporter . > > Q: >  - ¿Es posible reutilizar > scrapy.contrib.pipeline.fileexport.FileExportPipeline ? Según veo, el FileExportPipeline no soporta añadir exporters dinámicamente. Pero es buena idea. >  - En caso positivo, ¿Cómo añado el nuevo exporter para que sea >     consistente con EXPORT_FILE | EXPORT_FORMAT ? >  - ¿Cómo logro leer, desde el exporter o el pipeline, otros settings que >      necesitaré ? Si quieres seguir el api de los exporters, podrías extender un existente o el scrapy.contrib.exporter.BaseItemExporter Y luego hacer un pipeline similar al FileExport pero sólo para tu exporter. Pero puedes irte directo por el camino del pipeline, algo como # imports class MyPipeline(object): def __init__(self): # initialize resources self.file = open("items.dat", "w+") dispatcher.connect(self.engine_stopped, signals.engine_stopped) def process_item(self, spider, item): # format line from item... line = ",".join(item.values()) self.file.write(line + "\n") return item def engine_stopped(self): # close resources and cleanup self.file.close() Sobre el settings, te refieres a algo como: from scrapy.conf import settings flag = settings.getbool('CUSTOM_FLAG') value = settings.get('CUSTOM_VALUE', 'default_value') Saludos ~Rolando