From minoztro en gmail.com Thu May 1 01:02:27 2008 From: minoztro en gmail.com (Milton Galo Patricio Inostroza Aguilera) Date: Wed, 30 Apr 2008 19:02:27 -0400 Subject: agregar un campo a object - ex [id de objetos] Message-ID: <172699c50804301602i7bce46c4g5f071c6e130ee6ae@mail.gmail.com> Estimados: Hace ya un tiempo que estoy construyendo un depurador omnisciente [1] para python. Todo ha ido de maravillas hasta que me he topado con el siguiente requerimiento: * Cada objeto que se cree deberá tener un identificador único dentro del programa De buenas a primeras pensé en la funcion id(), pero como ya se discutió anteriormente en esta lista y leyendo la documentación oficial, la funcion id() no garantiza repetir el id para diferentes objetos (considerando obviamente que el objeto que antes tenia ese id ya no existe y fue destruido por el gc, entonces el sistema podría asignar ese id a un nuevo objeto que se construya). Consultando en el canal en español y en ingles de python, he recibido bastantes criticas por lo que deseo hacer y en realidad no he recibido demasiadas ayudas, exceptuando a Mario y Chema. Es por lo anterior que deseo me guíen para poder realizar lo que quiero: agregar un atributo a la clase object que esta escrita en el archivo object.c para que cada objeto que herede de éste tenga ese atributo especial, que en mi caso sera un identificador único. El asunto del identificador único no es sólo un capricho si no que es necesario para poder mantener siempre una identificación de cada objeto que esta cambiando y de que forma lo esta haciendo, independientemente si ese objeto es destruido la idea es poder mantener su historial. Bueno como todo parte por casa me he imprimido el python/C API Reference Manual y Extending and Embedding the Python Interpreter y pretendo leerlos. Agradecería mucho cualquier ayuda de ustedes...quizás estoy equivocado al querer modificar la implementación de object...esto ya es un mundo nuevo para mi y necesito el apoyo y orientación de ustedes, espero comentarios, saludos Ejemplo de lo que necesito: 1 def fun(): 2 a = [] # 3 a.append(3) lo que hace el depurador hasta el momento es: 1) detecta el call de fun, para esto utilizo settrace 1) se registra la funcion 2) se inspecciona el bytecode del frame a través de frame.f_code 3) se crea un mapa del bytecode con los índices para poder manejar los cambios del f_lasti 2) detecta la linea 2 a través del evento line del settrace 2.1) se pregunta en el mapa creado, por el f_lasti actual si es que en la anterior instrucción se encontró un store_fast, de ser así, se registra el nombre de la variable local y luego si id = numero que esta en el bytecode que es la posición que ocupa en co_varnames {acá aun no se toma en cuenta las variables libres y las que están ligadas} 2.2) registra la variable local 2.3) Se detecta una modificación en el valor de la variable local a, entonces se registra ese evento y se debe enviar el nuevo valor de la variable a. Si el valor es un int, string, float, etc podemos mandar el valor solamente....pero si es una lista, tupla u otro objeto no puedo enviar el valor si no que el identificador único que se debe generar al momento de construir en este caso el objeto lista. settrace no captura la construcción de una lista y eso me parece razonable ya que creo que esos son objetos y eventos internos del lenguaje. Acá reside el problema del id único para ese tipo de objetos. 2.4) en la linea 3 existe otro problema parecido ya que no soy notificado a través de settrace del llamado de esa función, pero creo que debo ir de un problema a la vez. Es importante señalar que cuando hablo de registrar o registrar la modificación de una variable, en realidad lo que se esta haciendo es enviar a través de un socket utilizando la librería xdrlib los datos a una aplicación escrita en Java que se llama TOD {Trace-Oriented Debugger} [2] que es un depurador omnisciente escrito en Java..entonces estamos aprovechando la base de datos que se implementó en ese proyecto para registrar nuestros datos. Bueno no me quiero extender más....espero haberme explicado, saludos y gracias por la ayuda [1] http://www.lambdacs.com/debugger/ [2] http://pleiad.dcc.uchile.cl/research/software/tod -- Milton Inostroza Aguilera ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From cloudneozero en gmail.com Thu May 1 04:09:10 2008 From: cloudneozero en gmail.com (Ark) Date: Wed, 30 Apr 2008 21:09:10 -0500 Subject: Preguntas de iniciado In-Reply-To: <48182859.4050304@diselpro.com> References: <9685383c0804290454w1443abfegdb0b1cd2f302eb7f@mail.gmail.com> <932c33150804290923hb132108x541472b10cfaaf58@mail.gmail.com> <1209487451.7344.19.camel@cucusa> <48182859.4050304@diselpro.com> Message-ID: <9dd22c9c0804301909m448014cbn72833dedb23450cc@mail.gmail.com> Realmente si lo que deseas es aprender lógica de programación, o un paradigma como el orientado a objetos (u otro) lo ideal es un lenguaje de alto nivel. La idea es entender conceptos abstractos, que son independientes de la máquina en los que se apliquen y un lenguaje como C hará que te veas pensando en muchas ocasiones en la arquitectura de tu máquina, y no tanto en entender lo que es el polimorfismo, la herencia, y otros de cada paradigma. Como ejemplo, en la universidad en la que estudio se cambió de C para estudiante de primer semestre a Scheme, un lenguaje funcional del paradigma declarativo, y más adelante se enseña C y otros paradigmas. Ark _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From py en ch3m4.org Thu May 1 04:07:14 2008 From: py en ch3m4.org (Chema Cortes) Date: Thu, 1 May 2008 04:07:14 +0200 Subject: agregar un campo a object - ex [id de objetos] In-Reply-To: <172699c50804301602i7bce46c4g5f071c6e130ee6ae@mail.gmail.com> References: <172699c50804301602i7bce46c4g5f071c6e130ee6ae@mail.gmail.com> Message-ID: <200805010407.21873.py@ch3m4.org> El Thursday 01 May 2008 01:02:27 Milton Galo Patricio Inostroza Aguilera escribió: > Estimados: > > Hace ya un tiempo que estoy construyendo un depurador omnisciente > [1] para python. Todo ha ido de maravillas hasta que me he topado con > el siguiente requerimiento: > > * Cada objeto que se cree deberá tener un identificador único dentro > del programa > > [...] > > Ejemplo de lo que necesito: > > 1 def fun(): > 2 a = [] # > 3 a.append(3) > > lo que hace el depurador hasta el momento es: > > 1) detecta el call de fun, para esto utilizo settrace > 1) se registra la funcion > 2) se inspecciona el bytecode del frame a través de frame.f_code > 3) se crea un mapa del bytecode con los índices para poder manejar > los cambios del f_lasti > > 2) detecta la linea 2 a través del evento line del settrace > 2.1) se pregunta en el mapa creado, por el f_lasti actual si es > que en la anterior instrucción se encontró un store_fast, > de ser así, se registra el nombre de la variable local y > luego si id = numero que esta en el bytecode que es la posición que > ocupa en co_varnames {acá aun no se toma en cuenta las variables > libres y las que están ligadas} > 2.2) registra la variable local > 2.3) Se detecta una modificación en el valor de la variable local > a, entonces se registra ese evento y se debe enviar el nuevo valor de > la variable a. Si el valor es un int, string, float, etc podemos > mandar el valor solamente....pero si es una lista, tupla u otro objeto > no puedo enviar el valor si no que el identificador único que se debe > generar al momento de construir en este caso el objeto lista. En algunos mensajes míos en esta lista podrás ver, en lo relativo al lenguaje python, que siempre he sido contrario al concepto de ver las "variables" como "almacenes" de datos. La variable 'a' no toma un valor; lo que hace en realidad es referenciar un objeto que está en memoria, sin determinar cuándo se creó (ni cuándo se destruirá). Si yo hago: a=b=1 no estoy creando dos objetos; lo curioso es que ni siquiera se está creando uno, ya que en python hay una serie de objetos que siempre existen, aunque no se usen, como son los números enteros desde -1 a 256 y los elementos vacíos () [] {} En cuanto a lo que quieres hacer, aunque lo entiendo, veo complicado su control. Por ejemplo, el cambio de los elementos de una lista no se puede entender como que la lista cambia. Por ejemplo: l1=[1,2,3] l2=[l1] l1.append(4) En el último paso ha cambiado l1, pero ¿se puede decir que haya cambiado también l2? Por otro lado, el object.c define la base de las nuevas clases, las que unifican tipos y clases. Aún existen las viejas clases, que van por otro lado: class P: pass issubclass(P,object) --> False No sabría cómo concretar mi ayuda. Aún así se me ocurren un par de cosas: - considera las listas de igual modo que el paso de variables por referencia, no como a objetos normales (eg: similar al Object& de C++) - guarda siempre una referencia a todo objeto, de este modo podrás seguir usando el id() sin riesgo a que se repita (a costa de requerir más memoria). Es más, ¿por qué no desactivas totalmente el recolector de basura durante el depurado? (gc.disable()). No hace falta que te advierta de la cantidad de memoria que vas a necesitar. ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part. URL: ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From kalith.9 en gmail.com Thu May 1 14:50:24 2008 From: kalith.9 en gmail.com (kalith kalith) Date: Fri, 2 May 2008 08:20:24 +1930 Subject: Python OO Message-ID: <3da702830805010550u38f4777fp7746e676c5f6e5e2@mail.gmail.com> Buenas... Estoy empezando con la programacion OO, nunca antes lo habia hecho, he encontrado 2 o 3 tutoriales mas la doc oficial, pero me pregunto, si hay un libro de programacion orientada a objetos en python, o algun manual bien consistente.. asi como hay millones de c++... bueno si alguien tiene un link de referencia o algo, se agradece ... _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From gheize en gmail.com Thu May 1 16:44:57 2008 From: gheize en gmail.com (Guillermo Heizenreder) Date: Thu, 01 May 2008 11:44:57 -0300 Subject: Python OO In-Reply-To: <3da702830805010550u38f4777fp7746e676c5f6e5e2@mail.gmail.com> References: <3da702830805010550u38f4777fp7746e676c5f6e5e2@mail.gmail.com> Message-ID: <1209653097.5755.3.camel@nercof-desktop> El vie, 02-05-2008 a las 08:20 +0000, kalith kalith escribió: > Estoy empezando con la programacion OO, nunca antes lo habia hecho, he > encontrado 2 o 3 tutoriales mas la doc oficial, pero me pregunto, si > hay un libro de programacion orientada a objetos en python, o algun > manual bien consistente.. asi como hay millones de c++... bueno si > alguien tiene un link de referencia o algo, se agradece Libro entero no conozco, pero el capítulo 5 de Dive into Python [1] trata sobre eso, además este artículo [2] es muy interesante. Saludos! [1]http://diveintopython.org/ [2]http://blog.rvburke.com/2006/11/22/programacion-orientada-a-objetos-en-python/ -- +--------------------------------- | Heizenreder Guillermo | http://gheize.wordpress.com/ | http://code.google.com/u/gheize/ | http://tipslinux.blogspot.com/ +--------------------------------- ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From kalith.9 en gmail.com Thu May 1 16:56:09 2008 From: kalith.9 en gmail.com (kalith kalith) Date: Fri, 2 May 2008 10:26:09 +1930 Subject: Python OO In-Reply-To: <1209653097.5755.3.camel@nercof-desktop> References: <3da702830805010550u38f4777fp7746e676c5f6e5e2@mail.gmail.com> <1209653097.5755.3.camel@nercof-desktop> Message-ID: <3da702830805010756t51cc6ebdt9586975290f179af@mail.gmail.com> thx ^^ voy checando :D _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From francisco.palm en gmail.com Thu May 1 16:58:09 2008 From: francisco.palm en gmail.com (Francisco Palm) Date: Fri, 2 May 2008 10:28:09 +1930 Subject: Python OO In-Reply-To: <3da702830805010550u38f4777fp7746e676c5f6e5e2@mail.gmail.com> References: <3da702830805010550u38f4777fp7746e676c5f6e5e2@mail.gmail.com> Message-ID: 2008/5/2 kalith kalith : > Buenas... > > Estoy empezando con la programacion OO, nunca antes lo habia hecho, he > encontrado 2 o 3 tutoriales mas la doc oficial, pero me pregunto, si hay un > libro de programacion orientada a objetos en python, o algun manual bien > consistente.. asi como hay millones de c++... bueno si alguien tiene un link > de referencia o algo, se agradece ... La cuestión es que desde "el nuevo modelo de objetos de python" todo-todo-todo-toditito-de-todo en python es orientado a objetos. Entonces, acá el dilema es: - ¿Quieres aprender a programar orientado a objetos?: busca recursos generales sobre el tema - Quieres saber como lo que sabes sobre objetos se aplica a Python: toma el tutorial de python y el libro "inmersión en python" junto con tus apuntes del tema y trabaja por tu cuenta tratando de implementar lo que sabes en Python (te sorprenderás lo fácil que resulta). - Quieres sacarle el jugo a Python?: busca recursos sobre programación avanzada de objetos en python: metaprogramación, generadores, iteradores, manipulación de funciones, clases y módulos como objetos, etc. De cualquier manera, existe un libro reciente en inglés exclusivo sobre el tema: http://www.prenhall.com/goldwasser/ Te puedes buscar el código fuente de todos los ejemplos allí: http://www.prenhall.com/goldwasser/sourcecode.zip Saludos F. Palm -- -------------------------------------- fpalm en ula.ve francisco.palm en gmail.com cel: 0414 5109177 tel: 0274 6352001 ---- Yo creo que todavía no es demasiado tarde para construir una utopía que nos permita compartir la tierra. Gabriel García Márquez. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From kalith.9 en gmail.com Thu May 1 19:24:57 2008 From: kalith.9 en gmail.com (kalith kalith) Date: Fri, 2 May 2008 12:54:57 +1930 Subject: Python OO In-Reply-To: References: <3da702830805010550u38f4777fp7746e676c5f6e5e2@mail.gmail.com> Message-ID: <3da702830805011024s29c9bae1nb0673e6f80075818@mail.gmail.com> pues la verdad me gustaria sacarle lo mas que se pueda al lenguaje, llevarlo a sus extremos de posibilidades.. el libro tiene una pinta genial... pero son mas de 200Bs.F que no tengo.. ni targeta de credito tengo, soy menor de edad... pero muchas gracias Francisco Palm respuestas asi dan gusto... _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pepe en diselpro.com Thu May 1 23:37:53 2008 From: pepe en diselpro.com (Pepe Aracil) Date: Thu, 01 May 2008 23:37:53 +0200 Subject: Preguntas de iniciado In-Reply-To: <9dd22c9c0804301909m448014cbn72833dedb23450cc@mail.gmail.com> References: <9685383c0804290454w1443abfegdb0b1cd2f302eb7f@mail.gmail.com> <932c33150804290923hb132108x541472b10cfaaf58@mail.gmail.com> <1209487451.7344.19.camel@cucusa> <48182859.4050304@diselpro.com> <9dd22c9c0804301909m448014cbn72833dedb23450cc@mail.gmail.com> Message-ID: <481A3831.1040608@diselpro.com> Hola Ark. En mi caso no se trata de aprender paradigmas nuevos, se trata de un asunto práctico. Si aprendo java podré portar unas aplicaciones a j2me. Python es el lenguaje más productivo que he conocido con diferencia si tuviera que hacer un programa de uso intensivo de cpu como tratamiento de imágen, no dudaría en hacerlo primero 100% en python y posteriormente reescribir SOLO las partes criticas en C (solo si pyrex no da la talla). Estoy convencido que ganaría un 300% mas de productividad que si lo programase en C desde el principio. A todos los que me dicen que el lenguaje no es lo importante, que es una mera herramienta, yo les respondo que me lo paso doblemente bien, cuando analizo el problema y cuando lo implemento en python. ;-P Con lo taliban de python que soy, comprenderás mejor lo de mis nauseas con javagg!! Salud. Ark escribió: > Realmente si lo que deseas es aprender lógica de programación, o un > paradigma como el orientado a objetos (u otro) lo ideal es un lenguaje de > alto nivel. La idea es entender conceptos abstractos, que son > independientes de la máquina en los que se apliquen y un lenguaje como C > hará que te veas pensando en muchas ocasiones en la arquitectura de tu > máquina, y no tanto en entender lo que es el polimorfismo, la herencia, y > otros de cada paradigma. > > Como ejemplo, en la universidad en la que estudio se cambió de C para > estudiante de primer semestre a Scheme, un lenguaje funcional del paradigma > declarativo, y más adelante se enseña C y otros paradigmas. > > Ark > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From minoztro en gmail.com Fri May 2 01:37:20 2008 From: minoztro en gmail.com (Milton Galo Patricio Inostroza Aguilera) Date: Thu, 1 May 2008 19:37:20 -0400 Subject: diferencias entre PyArg_ParseTuple y PyArg_ParseTupleAndKeywords? Message-ID: <172699c50805011637j70cf7202j91a612d3a8842eb1@mail.gmail.com> Estimados: Me he animado a aprender a programar modulos en c para python {para poder luego entender la implementacion misma del lenguaje}...y me he encontrado con estas dos funciones. En realidad no noto cual es la diferencia de uso de estas dos funciones, si bien es cierto que tienen una declaracion distintas (argumentos), en la utilizacion de estas no puedo ver la diferencia entre una y otra...muestro un ejemplo {que es el que esta en el manual de extending and embedding python}: static PyObject * keywdarg_parrot(PyObject *self, PyObject *args, PyObject *keywds) { int voltage; char *state = "a"; char *action = "a"; char *type = "a"; static char *kwlist[] = {"state", "action", "type","voltage", NULL}; if (!PyArg_ParseTupleAndKeywords(args, keywds, "i|sss",kwlist, &voltage,&state,&action,&type)) printf("%s %i \n",action,voltage); printf("%s %s \n",state,type); Py_INCREF(Py_None); return Py_None; } si en vez de utilizar el PyArg_ParseTupleAndKeywords, utilizo PyArg_ParseTuple de la siguiente manera: if(!PyArg_ParseTuple(args,"i|sss",&voltage,&state,&action,&type)) return NULL; El resultado es el mismo...entonces no se por donde pasa la diferencia de uso de estas dos funciones...y me queda otra duda cual es la mision de kwlist, tampoco la entiendo mucho..porque si en vez de poner los nombre de las variables y pongo cualquier cosa, el modulo cuando lo importo desde python funciona igualmente bien, la modificacion que realice a kwlist es la siguiente: static char *kwlist[] = {"algo", "algodos", "algotres","algocuatro", NULL}; Gracias por vuestra ayuda, saludos -- Milton Inostroza Aguilera ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From cloudneozero en gmail.com Fri May 2 02:40:06 2008 From: cloudneozero en gmail.com (Ark) Date: Thu, 1 May 2008 19:40:06 -0500 Subject: Preguntas de iniciado In-Reply-To: <481A3831.1040608@diselpro.com> References: <9685383c0804290454w1443abfegdb0b1cd2f302eb7f@mail.gmail.com> <932c33150804290923hb132108x541472b10cfaaf58@mail.gmail.com> <1209487451.7344.19.camel@cucusa> <48182859.4050304@diselpro.com> <9dd22c9c0804301909m448014cbn72833dedb23450cc@mail.gmail.com> <481A3831.1040608@diselpro.com> Message-ID: <9dd22c9c0805011740y4eb78a1dn8680a431e55998f4@mail.gmail.com> jaja, es verdad, depende de para que se valla a usar. Python aumenta enormemente la productividad en parte por la misma razón por la que es excelente para aprender a programar, porque simplemente no se interpone en el camino del programador. Las ideas se pueden llevar fácilmente de la etapa de diseño a la de imlpementación con gran ayuda de parte del lenguaje y para aquel que argumente el rendimiento de python pues se le hace notar la posibilidad de escribir extensiones en C (o más fácil en pyrex) para las partes críticas. Ark _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From marcosamorisa en gmail.com Fri May 2 04:11:52 2008 From: marcosamorisa en gmail.com (Marcos) Date: Thu, 01 May 2008 23:11:52 -0300 Subject: Muy Nuevo Message-ID: <481A7868.4010601@gmail.com> hola , que tal? soy MUY nuevo en esto de la programacion y estuve leyendo que el mejor lenguaje para empezar a programar es Python estan de acuerdo?? como puedo empezar ?? saludos _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From inigo_aldazabal en ehu.es Fri May 2 09:26:54 2008 From: inigo_aldazabal en ehu.es (Inigo Aldazabal Mensa) Date: Fri, 2 May 2008 09:26:54 +0200 Subject: Python OO In-Reply-To: <3da702830805010550u38f4777fp7746e676c5f6e5e2@mail.gmail.com> References: <3da702830805010550u38f4777fp7746e676c5f6e5e2@mail.gmail.com> Message-ID: <200805020926.54577.inigo_aldazabal@ehu.es> El Jueves, 1 de Mayo de 2008 14:50, kalith kalith escribió: > Buenas... > > Estoy empezando con la programacion OO, nunca antes lo habia hecho, he > encontrado 2 o 3 tutoriales mas la doc oficial, pero me pregunto, si hay > un libro de programacion orientada a objetos en python, o algun manual > bien consistente.. asi como hay millones de c++... bueno si alguien > tiene un link de referencia o algo, se agradece ... La parte final de "How to Think Like a Computer Scientist: Learning with Python."[1] está dedicada a OO. Buscando el enlace veo que hay una versión mas actual llamada "How to Think Like a (Python) Programmer"[2], al parecer una revisión/actualización del anterior. También puedes mirar el artículo "Programación orientada a objetos en Python"[3]. [1] http://www.greenteapress.com/thinkpython/thinkCSpy/ [2] http://www.greenteapress.com/thinkpython/ [3] http://blog.rvburke.com/2006/11/22/programacion-orientada-a-objetos-en-python/ > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From cgalisteo en k-rolus.net Fri May 2 13:50:13 2008 From: cgalisteo en k-rolus.net (Carlos Galisteo) Date: Fri, 2 May 2008 13:50:13 +0200 Subject: Muy Nuevo In-Reply-To: <481A7868.4010601@gmail.com> References: <481A7868.4010601@gmail.com> Message-ID: <20080502115012.GA26344@k-rolus.net> On Thu, May 01, 2008 at 11:11:52PM -0300, Marcos wrote: > soy MUY nuevo en esto de la programacion y estuve leyendo que el mejor > lenguaje para empezar a programar es Python Pues hombre...yo no hablaría en términos tan absolutos. En mi opinión es, sin duda, uno de los mejores, pero hay muchas posibles opciones, como se ha comentado en recientes hilos de esta misma lista, sobre todo depende de tus intereses. -- --- Carlos Galisteo Jabber_Id::cgalisteo en jabber.org PGP_key::http://k-rolus.net/~cgalisteo/cgalisteo.gpg Key_Fingerprint::F888 6FBA 9145 B5A2 C187 66D6 5B8C 027A 69AD BE65 --- _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From cdgarciaq en yahoo.com Fri May 2 14:12:35 2008 From: cdgarciaq en yahoo.com (Cesar Garcia) Date: Fri, 2 May 2008 05:12:35 -0700 (PDT) Subject: Python OO Message-ID: <608401.90472.qm@web51701.mail.re2.yahoo.com> Buen Dia a Todos Lista !!! Empece a practicar python en programación aun no he terminado, pero tengo una coleccion de 42 libros desde el mas básico hasta el mas avanzado en Ingles, los que desean estos libros me pueden escribir a mi mail personal cdgarciaq en yahoo.com son 162 mb aprox. Saludos ________________________________ Atte. César García ________________________________ ----- Mensaje original ---- De: Francisco Palm Para: Lista de discusión sobre python en castellano Enviado: viernes, 2 de mayo, 2008 1:58:09 Asunto: Re: [Python-es] Python OO 2008/5/2 kalith kalith : > Buenas... > > Estoy empezando con la programacion OO, nunca antes lo habia hecho, he > encontrado 2 o 3 tutoriales mas la doc oficial, pero me pregunto, si hay un > libro de programacion orientada a objetos en python, o algun manual bien > consistente.. asi como hay millones de c++... bueno si alguien tiene un link > de referencia o algo, se agradece ... La cuestión es que desde "el nuevo modelo de objetos de python" todo-todo-todo-toditito-de-todo en python es orientado a objetos. Entonces, acá el dilema es: - ¿Quieres aprender a programar orientado a objetos?: busca recursos generales sobre el tema - Quieres saber como lo que sabes sobre objetos se aplica a Python: toma el tutorial de python y el libro "inmersión en python" junto con tus apuntes del tema y trabaja por tu cuenta tratando de implementar lo que sabes en Python (te sorprenderás lo fácil que resulta). - Quieres sacarle el jugo a Python?: busca recursos sobre programación avanzada de objetos en python: metaprogramación, generadores, iteradores, manipulación de funciones, clases y módulos como objetos, etc. De cualquier manera, existe un libro reciente en inglés exclusivo sobre el tema: http://www.prenhall.com/goldwasser/ Te puedes buscar el código fuente de todos los ejemplos allí: http://www.prenhall.com/goldwasser/sourcecode.zip Saludos F. Palm -- -------------------------------------- fpalm en ula.ve francisco.palm en gmail.com cel: 0414 5109177 tel: 0274 6352001 ---- Yo creo que todavía no es demasiado tarde para construir una utopía que nos permita compartir la tierra. Gabriel García Márquez. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From minoztro en gmail.com Fri May 2 15:40:09 2008 From: minoztro en gmail.com (Milton Galo Patricio Inostroza Aguilera) Date: Fri, 2 May 2008 09:40:09 -0400 Subject: Muy Nuevo In-Reply-To: <481A7868.4010601@gmail.com> References: <481A7868.4010601@gmail.com> Message-ID: <172699c50805020640t58f84945t94fe4c1c80c7b042@mail.gmail.com> El día 1 de mayo de 2008 22:11, Marcos escribió: > hola , que tal? > > > soy MUY nuevo en esto de la programacion y estuve leyendo que el mejor > lenguaje para empezar a programar es Python > > estan de acuerdo?? yo me entretengo mucho con Python > > como puedo empezar ?? Aca esta la pagina de la documentacion oficial [1], y para documentacion en español tenemos [2], ahora cualquier duda puntual que desees preguntar puedes utilizar google y si no encuentras respuestas a tus dudas puedes escribir a la lista. [1] http://www.python.org/doc/ [2] http://wiki.python.org/moin/Languages/Spanish?highlight=(CategoryLanguage) > > > > > saludos que tengas un buen dia > _______________________________________________ > Lista de correo Python-es http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Milton Inostroza Aguilera ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From marcosamorisa en gmail.com Fri May 2 20:35:55 2008 From: marcosamorisa en gmail.com (Marcos) Date: Fri, 02 May 2008 15:35:55 -0300 Subject: gracias Message-ID: <481B5F0B.1080705@gmail.com> Muchs gracias ahora lo voy a empezar a leer. Ya esube leyendo C tambien printf("SALUDOS"); _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From kalith.9 en gmail.com Fri May 2 23:38:48 2008 From: kalith.9 en gmail.com (kalith kalith) Date: Sat, 3 May 2008 17:08:48 +1930 Subject: Muy Nuevo In-Reply-To: <172699c50805020640t58f84945t94fe4c1c80c7b042@mail.gmail.com> References: <481A7868.4010601@gmail.com> <172699c50805020640t58f84945t94fe4c1c80c7b042@mail.gmail.com> Message-ID: <3da702830805021438o8e93d04p78b38f30502c88c7@mail.gmail.com> python es sencillamente genial.. para empezar o para hacerte programador lo que quieras... una cosa es que mmm la flexibilidad que te da python no la tienes en otros lenguajes... lete algo sobre listas (o arreglos) en python y luego te lees algo de C... terminaras amando python y ofreciendole un cordero al año de sacrificio.. como dijeron por ahi xD... na en broma pero python es genial... _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From gagsl-py2 en yahoo.com.ar Sat May 3 01:47:44 2008 From: gagsl-py2 en yahoo.com.ar (Gabriel Genellina) Date: Fri, 02 May 2008 20:47:44 -0300 Subject: diferencias entre PyArg_ParseTuple y PyArg_ParseTupleAndKeywords? References: <172699c50805011637j70cf7202j91a612d3a8842eb1@mail.gmail.com> Message-ID: En Thu, 01 May 2008 20:37:20 -0300, Milton Galo Patricio Inostroza Aguilera escribió: > Me he animado a aprender a programar modulos en c para python {para > poder luego entender la implementacion misma del lenguaje}...y me he > encontrado con estas dos funciones. > > En realidad no noto cual es la diferencia de uso de estas dos > funciones, si bien es cierto que tienen una declaracion distintas > (argumentos), en la utilizacion de estas no puedo ver la diferencia > entre una y otra...muestro un ejemplo {que es el que esta en el manual > de extending and embedding python}: PyArg_ParseTuple solo procesa argumentos posicionales. Es decir, a la funcion hay que pasarle una tupla con los argumentos en el orden exacto en que estan declarados. La funcion en C tiene normalmente esta forma: PyObject * funcion(PyObject *self, PyObject *args) { ... } En Python es como si hubiera sido declarada asi: def funcion(*args): PyArg_ParseTupleAndKeywords procesa argumentos posicionales y nominales. Los argumentos posicionales se pasan en una tupla; los nominales en un diccionario. En C la funcion normalmente esta declarada asi: PyObject * funcion(PyObject *self, PyObject *args, PyObject *kwds) { ... } En Python es como si la declaracion hubiera sido: def funcion(*args, **keywds): Si la funcion espera argumentos por posicion exclusivamente (es decir, usa PyArg_ParseTuple), NO se le pueden pasar por nombre. Ejemplo: py> help(file.seek) Help on method_descriptor: seek(...) seek(offset[, whence]) -> None. Move to new file position. Argument offset is a byte count. Optional argument whence [...] Ahi dice que el primer argumento de seek se llama offset. Pero no se lo podemos pasar por nombre: py> open("un/archivo/que/exista").seek(offset=123) Traceback (most recent call last): File "", line 1, in TypeError: seek() takes no keyword arguments Mirando la documentacion exclusivamente, NO hay forma de saber si una funcion espera ser llamada con argumentos posicionales o nominales. > static PyObject * > keywdarg_parrot(PyObject *self, PyObject *args, PyObject *keywds) > { > int voltage; > char *state = "a"; > char *action = "a"; > char *type = "a"; > > static char *kwlist[] = {"state", "action", "type","voltage", NULL}; > if (!PyArg_ParseTupleAndKeywords(args, keywds, "i|sss",kwlist, > &voltage,&state,&action,&type)) > > printf("%s %i \n",action,voltage); > printf("%s %s \n",state,type); > Py_INCREF(Py_None); > return Py_None; > } > > > si en vez de utilizar el PyArg_ParseTupleAndKeywords, utilizo > PyArg_ParseTuple de la siguiente manera: > > if(!PyArg_ParseTuple(args,"i|sss",&voltage,&state,&action,&type)) > return NULL; > > El resultado es el mismo...entonces no se por donde pasa la diferencia El resultado es el mismo *sólo* si la llamada la haces con una tupla que contiene los argumentos en ese mismo orden. Trasladado mas o menos en Python, el primer caso es: def funcion(*args, **kwargs): state = 'a' action = 'a' type = 'a' voltage = args.pop(0) assert not args, "argumento posicional inesperado: %r" % args # el if está porque es opcional if 'state' in kwargs: state = kwargs.pop('state') if 'action' in kwargs: action = kwargs.pop('action') if 'type' in kwargs: type = kwargs.pop('type') assert not kwargs, "argumento nominal inesperado: %r" % kwargs y el segundo: def funcion(*args): state = 'a' action = 'a' type = 'a' voltage = args.pop(0) # estos otros son opcionales if args: state = args.pop(0) if args: action = args.pop(0) if args: type = args.pop(0) assert not args, "argumento posicional inesperado: %r" % args (con la diferencia de que esos pop() NO modifican la tupla/diccionario originales) > de uso de estas dos funciones...y me queda otra duda cual es la mision > de kwlist, tampoco la entiendo mucho..porque si en vez de poner los > nombre de las variables y pongo cualquier cosa, el modulo cuando lo > importo desde python funciona igualmente bien, la modificacion que > realice a kwlist es la siguiente: > > static char *kwlist[] = {"algo", "algodos", "algotres","algocuatro", > NULL}; Lo que esta a la derecha de la | es opcional; asi que si tu formato era el mismo de arriba ("i|sss") entonces solo el primer argumento "algo" era obligatorio; si se lo pasaste en la tupla args entonces todos los demás eran opcionales y podian no existir. Ademas en el primer ejemplo veo que no estas verificando bien el codigo de retorno de PyArg_ParseXXX (que probablemente devolvio NULL) asi que si te dio error, no te enteraste. -- Gabriel Genellina ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From gagsl-py2 en yahoo.com.ar Sat May 3 02:51:38 2008 From: gagsl-py2 en yahoo.com.ar (Gabriel Genellina) Date: Fri, 02 May 2008 21:51:38 -0300 Subject: agregar un campo a object - ex [id de objetos] References: <172699c50804301602i7bce46c4g5f071c6e130ee6ae@mail.gmail.com> <200805010407.21873.py@ch3m4.org> Message-ID: En Wed, 30 Apr 2008 23:07:14 -0300, Chema Cortes escribió: > El Thursday 01 May 2008 01:02:27 Milton Galo Patricio Inostroza Aguilera > escribió: >> Estimados: >> >> * Cada objeto que se cree deberá tener un identificador único dentro >> del programa >> [... respuesta de Chema Cortes con la que estoy totalmente de acuerdo ...] > Por otro lado, el object.c define la base de las nuevas clases, las que > unifican tipos y clases. Aún existen las viejas clases, que van por otro > lado: > > class P: > pass > > issubclass(P,object) --> False Las clases viejas no *heredan* de object, pero igualmente son *instancias* de object como todo objeto en Python. py> isinstance(P, object) True Asi que en principio, para hacer lo que Milton quiere (y no estoy diciendo que sea una buena idea...) se le puede agregar un campo nuevo a PyObject (en object.h; probablemente en _PyObject_HEAD_EXTRA y _PyObject_EXTRA_INIT), modificar _PyObject_New y alrededores, recompilar Python, y rogar que todo siga funcionando :) > No sabría cómo concretar mi ayuda. Aún así se me ocurren un par de cosas: > > - considera las listas de igual modo que el paso de variables por > referencia, > no como a objetos normales (eg: similar al Object& de C++) > > - guarda siempre una referencia a todo objeto, de este modo podrás seguir > usando el id() sin riesgo a que se repita (a costa de requerir más > memoria). No sirve porque cambia el comportamiento del programa. Aun cuando uno "no deberia" depender de eso, hay mucho codigo que asume que los objetos locales desaparecen ni bien se van de ámbito, por poner un ejemplo. O aunque sea, que "eventualmente" los objetos se destruyen. Y eso ya no pasaría mas. > Es más, ¿por qué no desactivas totalmente el recolector de basura > durante el > depurado? (gc.disable()). No hace falta que te advierta de la cantidad de > memoria que vas a necesitar. Tampoco sirve de mucho. Todos los objetos se destruyen ni bien se libera su ultima referencia; el gc sólo busca ciclos de referencias entre objetos que no esten referenciados desde fuera del propio ciclo (y entonces simplemente libera una de las referencias; eso provoca una liberacion en cascada del ciclo completo). Pero no es realmente el gc quien destruye los objetos. py> class X: ... def __del__(self): print "destruyendo", self ... py> x = X() py> del x destruyendo <__main__.X instance at 0x00A3BE90> py> import gc py> gc.disable() py> x = X() py> del x destruyendo <__main__.X instance at 0x00B19788> -- Gabriel Genellina ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From minoztro en gmail.com Sat May 3 03:54:22 2008 From: minoztro en gmail.com (Milton Galo Patricio Inostroza Aguilera) Date: Fri, 2 May 2008 21:54:22 -0400 Subject: diferencias entre PyArg_ParseTuple y PyArg_ParseTupleAndKeywords? In-Reply-To: References: <172699c50805011637j70cf7202j91a612d3a8842eb1@mail.gmail.com> Message-ID: <172699c50805021854k2307754cwdc1b5d7ebb131dad@mail.gmail.com> 2008/5/2 Gabriel Genellina : > En Thu, 01 May 2008 20:37:20 -0300, Milton Galo Patricio Inostroza Aguilera > escribió: > > > > > Me he animado a aprender a programar modulos en c para python {para > > poder luego entender la implementacion misma del lenguaje}...y me he > > encontrado con estas dos funciones. > > > > En realidad no noto cual es la diferencia de uso de estas dos > > funciones, si bien es cierto que tienen una declaracion distintas > > (argumentos), en la utilizacion de estas no puedo ver la diferencia > > entre una y otra...muestro un ejemplo {que es el que esta en el manual > > de extending and embedding python}: > > > > PyArg_ParseTuple solo procesa argumentos posicionales. Es decir, a la > funcion hay que pasarle una tupla con los argumentos en el orden exacto en > que estan declarados. La funcion en C tiene normalmente esta forma: > > PyObject * > funcion(PyObject *self, PyObject *args) > { > ... > } > > En Python es como si hubiera sido declarada asi: > > def funcion(*args): > > PyArg_ParseTupleAndKeywords procesa argumentos posicionales y nominales. > Los argumentos posicionales se pasan en una tupla; los nominales en un > diccionario. En C la funcion normalmente esta declarada asi: > > PyObject * > funcion(PyObject *self, PyObject *args, PyObject *kwds) > { > ... > } > > En Python es como si la declaracion hubiera sido: > > def funcion(*args, **keywds): > > Si la funcion espera argumentos por posicion exclusivamente (es decir, usa > PyArg_ParseTuple), NO se le pueden pasar por nombre. Ejemplo: > > py> help(file.seek) > Help on method_descriptor: > > seek(...) > seek(offset[, whence]) -> None. Move to new file position. > > Argument offset is a byte count. Optional argument whence [...] > > Ahi dice que el primer argumento de seek se llama offset. Pero no se lo > podemos pasar por nombre: > > py> open("un/archivo/que/exista").seek(offset=123) > Traceback (most recent call last): > File "", line 1, in > TypeError: seek() takes no keyword arguments > > Mirando la documentacion exclusivamente, NO hay forma de saber si una > funcion espera ser llamada con argumentos posicionales o nominales. > > > > > static PyObject * > > keywdarg_parrot(PyObject *self, PyObject *args, PyObject *keywds) > > { > > int voltage; > > char *state = "a"; > > char *action = "a"; > > char *type = "a"; > > > > static char *kwlist[] = {"state", "action", "type","voltage", NULL}; > > if (!PyArg_ParseTupleAndKeywords(args, keywds, "i|sss",kwlist, > > > &voltage,&state,&action,&type)) > > > > printf("%s %i \n",action,voltage); > > printf("%s %s \n",state,type); > > Py_INCREF(Py_None); > > return Py_None; > > } > > > > > > si en vez de utilizar el PyArg_ParseTupleAndKeywords, utilizo > > PyArg_ParseTuple de la siguiente manera: > > > > if(!PyArg_ParseTuple(args,"i|sss",&voltage,&state,&action,&type)) > > return NULL; > > > > El resultado es el mismo...entonces no se por donde pasa la diferencia > > > > El resultado es el mismo *sólo* si la llamada la haces con una tupla que > contiene los argumentos en ese mismo orden. Trasladado mas o menos en > Python, el primer caso es: > > def funcion(*args, **kwargs): > state = 'a' > action = 'a' > type = 'a' > > voltage = args.pop(0) > assert not args, "argumento posicional inesperado: %r" % args > # el if está porque es opcional > if 'state' in kwargs: state = kwargs.pop('state') > if 'action' in kwargs: action = kwargs.pop('action') > if 'type' in kwargs: type = kwargs.pop('type') > assert not kwargs, "argumento nominal inesperado: %r" % kwargs > > y el segundo: > > def funcion(*args): > state = 'a' > action = 'a' > type = 'a' > > voltage = args.pop(0) > # estos otros son opcionales > if args: state = args.pop(0) > if args: action = args.pop(0) > if args: type = args.pop(0) > assert not args, "argumento posicional inesperado: %r" % args > > (con la diferencia de que esos pop() NO modifican la tupla/diccionario > originales) > > > > > de uso de estas dos funciones...y me queda otra duda cual es la mision > > de kwlist, tampoco la entiendo mucho..porque si en vez de poner los > > nombre de las variables y pongo cualquier cosa, el modulo cuando lo > > importo desde python funciona igualmente bien, la modificacion que > > realice a kwlist es la siguiente: > > > > static char *kwlist[] = {"algo", "algodos", "algotres","algocuatro", > NULL}; > > > > Lo que esta a la derecha de la | es opcional; asi que si tu formato era el > mismo de arriba ("i|sss") entonces solo el primer argumento "algo" era > obligatorio; si se lo pasaste en la tupla args entonces todos los demás eran > opcionales y podian no existir. Ufff, excelente explicacion...me ha quedado muy claro, muchas gracias :) Ademas en el primer ejemplo veo que no estas > verificando bien el codigo de retorno de PyArg_ParseXXX (que probablemente > devolvio NULL) asi que si te dio error, no te enteraste. > oumm, la verificacion la estoy haciendo igual como en el manual oficial [1] y en la referencia dice que PyArg_ParseTuple retorna un false o un simil [2]. Como crees tu que sea mejor, ya que veo que tienes mas experiencia y la idea es siempre aprender de los que saben mas :) [1] http://docs.python.org/ext/backToExample.html Going back to our example function, you should now be able to understand this statement: if (!PyArg_ParseTuple(args, "s", &command)) return NULL; [2] http://docs.python.org/api/arg-parsing.html#l2h-210 > -- > Gabriel Genellina > > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Milton Inostroza Aguilera ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From minoztro en gmail.com Sat May 3 04:14:55 2008 From: minoztro en gmail.com (Milton Galo Patricio Inostroza Aguilera) Date: Fri, 2 May 2008 22:14:55 -0400 Subject: agregar un campo a object - ex [id de objetos] In-Reply-To: References: <172699c50804301602i7bce46c4g5f071c6e130ee6ae@mail.gmail.com> <200805010407.21873.py@ch3m4.org> Message-ID: <172699c50805021914p3a3a22d2rd34c125dc6725f64@mail.gmail.com> El día 2 de mayo de 2008 20:51, Gabriel Genellina escribió: > En Wed, 30 Apr 2008 23:07:14 -0300, Chema Cortes escribió: > > > > > > El Thursday 01 May 2008 01:02:27 Milton Galo Patricio Inostroza Aguilera > > escribió: > > > > > Estimados: > > > > > > > > > * Cada objeto que se cree deberá tener un identificador único dentro > > > del programa > > > > > > > > > > [... respuesta de Chema Cortes con la que estoy totalmente de acuerdo ...] > > > > > Por otro lado, el object.c define la base de las nuevas clases, las que > > unifican tipos y clases. Aún existen las viejas clases, que van por otro > > lado: > > > > class P: > > pass > > > > issubclass(P,object) --> False > > > > Las clases viejas no *heredan* de object, pero igualmente son *instancias* > de object como todo objeto en Python. > > py> isinstance(P, object) > True > > Asi que en principio, para hacer lo que Milton quiere (y no estoy diciendo > que sea una buena idea...) se le puede agregar un campo nuevo a PyObject (en > object.h; probablemente en _PyObject_HEAD_EXTRA y _PyObject_EXTRA_INIT), > modificar _PyObject_New y alrededores, recompilar Python, y rogar que todo > siga funcionando :) Aja!!...entonces es posible tratar de hacer lo que "no se debe hacer"...gracias por la guia...pero creo que lo mas respetuoso es primero programar un tipo de datos el cual implemente el asunto del identificador, ver como funciona....y luego ser irrespetuoso y hacer modificaciones que estamos claros que no son buenas hacerlas, pero asi se va aprendiendo en este mundo de la programacion > > > > > No sabría cómo concretar mi ayuda. Aún así se me ocurren un par de cosas: > > > > - considera las listas de igual modo que el paso de variables por > referencia, > > no como a objetos normales (eg: similar al Object& de C++) > > > > - guarda siempre una referencia a todo objeto, de este modo podrás seguir > > usando el id() sin riesgo a que se repita (a costa de requerir más > memoria). > > > > No sirve porque cambia el comportamiento del programa. Aun cuando uno "no > deberia" depender de eso, hay mucho codigo que asume que los objetos locales > desaparecen ni bien se van de ámbito, por poner un ejemplo. O aunque sea, > que "eventualmente" los objetos se destruyen. Y eso ya no pasaría mas. > > > > > Es más, ¿por qué no desactivas totalmente el recolector de basura durante > el > > depurado? (gc.disable()). No hace falta que te advierta de la cantidad de > > memoria que vas a necesitar. > > > > Tampoco sirve de mucho. Todos los objetos se destruyen ni bien se libera su > ultima referencia; el gc sólo busca ciclos de referencias entre objetos que > no esten referenciados desde fuera del propio ciclo (y entonces simplemente > libera una de las referencias; eso provoca una liberacion en cascada del > ciclo completo). Pero no es realmente el gc quien destruye los objetos. > > py> class X: > ... def __del__(self): print "destruyendo", self > ... > py> x = X() > py> del x > destruyendo <__main__.X instance at 0x00A3BE90> > py> import gc > py> gc.disable() > py> x = X() > py> del x > destruyendo <__main__.X instance at 0x00B19788> interesante > > -- > Gabriel Genellina > > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Milton Inostroza Aguilera ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pych3m4 en gmail.com Sat May 3 04:19:05 2008 From: pych3m4 en gmail.com (Chema Cortes) Date: Sat, 3 May 2008 04:19:05 +0200 Subject: agregar un campo a object - ex [id de objetos] In-Reply-To: References: <172699c50804301602i7bce46c4g5f071c6e130ee6ae@mail.gmail.com> <200805010407.21873.py@ch3m4.org> Message-ID: <2c9fb0dd0805021919w4f11f6d6qc3b2dc4a218fa587@mail.gmail.com> El día 3 de mayo de 2008 2:51, Gabriel Genellina escribió: > En Wed, 30 Apr 2008 23:07:14 -0300, Chema Cortes escribió: > > - guarda siempre una referencia a todo objeto, de este modo podrás seguir > > usando el id() sin riesgo a que se repita (a costa de requerir más > memoria). > > > > No sirve porque cambia el comportamiento del programa. Aun cuando uno "no > deberia" depender de eso, hay mucho codigo que asume que los objetos locales > desaparecen ni bien se van de ámbito, por poner un ejemplo. O aunque sea, > que "eventualmente" los objetos se destruyen. Y eso ya no pasaría mas. Un depurador nunca es completamente inocuo. La cuestión es saber limitarse a solucionar aquél código que realmente se pueda monitorizar. > > Es más, ¿por qué no desactivas totalmente el recolector de basura durante > el > > depurado? (gc.disable()). No hace falta que te advierta de la cantidad de > > memoria que vas a necesitar. > > > > Tampoco sirve de mucho. Todos los objetos se destruyen ni bien se libera su > ultima referencia; el gc sólo busca ciclos de referencias entre objetos que > no esten referenciados desde fuera del propio ciclo (y entonces simplemente > libera una de las referencias; eso provoca una liberacion en cascada del > ciclo completo). Pero no es realmente el gc quien destruye los objetos. Totalmente en lo cierto. No sirve como solución. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From gagsl-py2 en yahoo.com.ar Sat May 3 04:38:40 2008 From: gagsl-py2 en yahoo.com.ar (Gabriel Genellina) Date: Fri, 02 May 2008 23:38:40 -0300 Subject: diferencias entre PyArg_ParseTuple y PyArg_ParseTupleAndKeywords? References: <172699c50805011637j70cf7202j91a612d3a8842eb1@mail.gmail.com> <172699c50805021854k2307754cwdc1b5d7ebb131dad@mail.gmail.com> Message-ID: En Fri, 02 May 2008 22:54:22 -0300, Milton Galo Patricio Inostroza Aguilera escribió: > 2008/5/2 Gabriel Genellina : >> Ademas en el primer ejemplo veo que no estas >> verificando bien el codigo de retorno de PyArg_ParseXXX (que >> probablemente >> devolvio NULL) asi que si te dio error, no te enteraste. > > oumm, la verificacion la estoy haciendo igual como en el manual > oficial [1] y en la referencia dice que PyArg_ParseTuple retorna un > false o un simil [2]. Como crees tu que sea mejor, ya que veo que > tienes mas experiencia y la idea es siempre aprender de los que saben > mas :) Esta bien, es como dice el manual, pero asi no esta escrito el codigo que mandaste en el mensaje original. Probablemente la linea "return NULL;" se borro. (Por eso alguna gente sugiere siempre usar las llaves { } en los if/while/for, para que no te pase eso) -- Gabriel Genellina ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From minoztro en gmail.com Sat May 3 04:46:19 2008 From: minoztro en gmail.com (Milton Galo Patricio Inostroza Aguilera) Date: Fri, 2 May 2008 22:46:19 -0400 Subject: diferencias entre PyArg_ParseTuple y PyArg_ParseTupleAndKeywords? In-Reply-To: References: <172699c50805011637j70cf7202j91a612d3a8842eb1@mail.gmail.com> <172699c50805021854k2307754cwdc1b5d7ebb131dad@mail.gmail.com> Message-ID: <172699c50805021946jada42e1ne6c4fb71d135158@mail.gmail.com> > > Esta bien, es como dice el manual, pero asi no esta escrito el codigo que > mandaste en el mensaje original. Probablemente la linea "return NULL;" se > borro. (Por eso alguna gente sugiere siempre usar las llaves { } en los > if/while/for, para que no te pase eso) Ok, de acuerdo. > > -- > Gabriel Genellina > > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Milton Inostroza Aguilera ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From kalith.9 en gmail.com Sat May 3 14:32:30 2008 From: kalith.9 en gmail.com (kalith kalith) Date: Sun, 4 May 2008 08:02:30 +1930 Subject: Saber si es un archivo de texto Message-ID: <3da702830805030532j4a888c71yc56661526fa83507@mail.gmail.com> Buenas... Estoy desarrollando un pequeño script, y tengo una duda... el script involucra usar un archivo de texto con unas palabras que lo va a pasar como argumento (argv) pero quiero determinar si en realidad lo que se esta pasando es un archivo de texto.. porque pues cuando se le pasa algo que no es un archivo de texto pues da error... mmm habia pensado en hacerle algo asi if 'txt' in argv[x]: pero me di cuenta que pues si usas linux un archivo de texto no tienep orque llevar un .txt y pues que realmente no es la solucion... asi que como le hago para determinar si el argumento que le estoy pasando es realmente un archivo de texto... Gracias _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From necudeco en gmail.com Sat May 3 15:49:43 2008 From: necudeco en gmail.com (necudeco) Date: Sat, 3 May 2008 08:49:43 -0500 Subject: Saber si es un archivo de texto In-Reply-To: <3da702830805030532j4a888c71yc56661526fa83507@mail.gmail.com> References: <3da702830805030532j4a888c71yc56661526fa83507@mail.gmail.com> Message-ID: <2ccb93070805030649x583e937fm1d7a76ca6f557b6f@mail.gmail.com> usa el comando de sistema file para averiguar el tipo de cada archivo On Sat, May 3, 2008 at 7:32 AM, kalith kalith wrote: > Buenas... > > Estoy desarrollando un pequeño script, y tengo una duda... el script > involucra usar un archivo de texto con unas palabras que lo va a pasar > como > argumento (argv) pero quiero determinar si en realidad lo que se esta > pasando es un archivo de texto.. porque pues cuando se le pasa algo que no > es un archivo de texto pues da error... mmm habia pensado en hacerle algo > asi > > if 'txt' in argv[x]: > > pero me di cuenta que pues si usas linux un archivo de texto no tienep > orque > llevar un .txt y pues que realmente no es la solucion... asi que como le > hago para determinar si el argumento que le estoy pasando es realmente un > archivo de texto... > > Gracias > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- NeCuDeCo Asociacion Peruana de Software Libre http://necudeco.com http://apesol.org Your Jugdment Day is NOW sudo kills -9 $richard_penguin_signature _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From kalith.9 en gmail.com Sat May 3 16:21:58 2008 From: kalith.9 en gmail.com (kalith kalith) Date: Sun, 4 May 2008 09:51:58 +1930 Subject: Saber si es un archivo de texto In-Reply-To: <2ccb93070805030649x583e937fm1d7a76ca6f557b6f@mail.gmail.com> References: <3da702830805030532j4a888c71yc56661526fa83507@mail.gmail.com> <2ccb93070805030649x583e937fm1d7a76ca6f557b6f@mail.gmail.com> Message-ID: <3da702830805030721r61a38e1dv70e9bcda16cc5622@mail.gmail.com> estuve probando esto, y no me da los resultados esperados... probe asi x = open('bla.txt', 'r') if type(x) == file: print 1 else: print 0 siempre el resultado me da 0... que creen que pueda ser... _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From rafaelcantos en hotmail.com Sat May 3 16:24:33 2008 From: rafaelcantos en hotmail.com (Rafael Cantos) Date: Sat, 3 May 2008 14:24:33 +0000 Subject: =?windows-1252?q?Comprobar_si_una_cadena_tiene_texto?= =?windows-1252?q?_o_n=FAmeros?= Message-ID: Buenas. ¿Hay alguna forma de saber si una cadena, contiene texto o un número? Saludos y gracias. Rafa Rafael Cantos Villanueva Estudiante de Ingeniería Técnica en Informática de Gestión, universidad de Córdoba. http://www.rafaelcantos.es E-MAIL: rafaelcantos en hotmail.com _________________________________________________________________ Tecnología, moda, motor, viajes,?suscríbete a nuestros boletines para estar siempre a la última http://newsletters.msn.com/hm/maintenanceeses.asp?L=ES&C=ES&P=WCMaintenance&Brand=WL&RU=http%3a%2f%2fmail.live.com ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From sonajadiabolica en gmail.com Sat May 3 16:29:02 2008 From: sonajadiabolica en gmail.com (aNgel rEsendiz g.) Date: Sat, 3 May 2008 09:29:02 -0500 Subject: =?ISO-8859-1?Q?Re:__Comprobar_si_u?= =?ISO-8859-1?Q?na_cadena_tiene_texto_o_n=FAmeros?= In-Reply-To: References: Message-ID: <8d9e208f0805030729s3116c69fo72e1289a80abc5f5@mail.gmail.com> > ¿Hay alguna forma de saber si una cadena, contiene texto o un número? Puedes utilizar isdigit: >>> '1a2b3c'.isdigit() False >>> '123'.isdigit() True Saludos. -- aNgel rEsendiz.! _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From necudeco en gmail.com Sat May 3 16:29:46 2008 From: necudeco en gmail.com (necudeco) Date: Sat, 3 May 2008 09:29:46 -0500 Subject: Saber si es un archivo de texto In-Reply-To: <3da702830805030721r61a38e1dv70e9bcda16cc5622@mail.gmail.com> References: <3da702830805030532j4a888c71yc56661526fa83507@mail.gmail.com> <2ccb93070805030649x583e937fm1d7a76ca6f557b6f@mail.gmail.com> <3da702830805030721r61a38e1dv70e9bcda16cc5622@mail.gmail.com> Message-ID: <2ccb93070805030729l5c0122c9seee28846b42493b3@mail.gmail.com> no me explique bien.. en bash has esto file archivo.txt te va a devolver el tipo de archivo eso lo puedes llamar desde python usando system, exec u cualquier otra funciona para ejecutar comandos del sistema. Saludos 2008/5/3 kalith kalith : > estuve probando esto, y no me da los resultados esperados... > > probe asi > > x = open('bla.txt', 'r') > > if type(x) == file: > print 1 > else: > print 0 > > siempre el resultado me da 0... que creen que pueda ser... > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- NeCuDeCo Asociacion Peruana de Software Libre http://necudeco.com http://apesol.org Your Jugdment Day is NOW sudo kills -9 $richard_penguin_signature _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pyarnau en gmail.com Sat May 3 16:51:06 2008 From: pyarnau en gmail.com (Arnau Sanchez) Date: Sat, 03 May 2008 16:51:06 +0200 Subject: Saber si es un archivo de texto In-Reply-To: <3da702830805030532j4a888c71yc56661526fa83507@mail.gmail.com> References: <3da702830805030532j4a888c71yc56661526fa83507@mail.gmail.com> Message-ID: <481C7BDA.902@gmail.com> kalith kalith escribió: > pero me di cuenta que pues si usas linux un archivo de texto no tienep orque > llevar un .txt y pues que realmente no es la solucion... asi que como le > hago para determinar si el argumento que le estoy pasando es realmente un > archivo de texto... > Sin recurrir a aplicaciones externas (file), hay que tratar de adivinarlo (con algoritmos heurísticos más o menos simples). Ejemplo: http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/173220 Por otro lado, a no ser que tu script tenga realmente que comportarse de forma diferente para ficheros binarios, no lo trataría de forma específica. Si el usuario pasa un binario en vez de un fichero de texto, es su problema. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From markuz en islascruz.org Sat May 3 17:05:36 2008 From: markuz en islascruz.org (Marco Antonio Islas Cruz) Date: Sat, 03 May 2008 10:05:36 -0500 Subject: Comprobar si una cadena tiene texto o =?ISO-8859-1?Q?n=FAmeros?= In-Reply-To: <8d9e208f0805030729s3116c69fo72e1289a80abc5f5@mail.gmail.com> References: <8d9e208f0805030729s3116c69fo72e1289a80abc5f5@mail.gmail.com> Message-ID: <1209827136.7729.3.camel@cucusa> Utilizar isdigit te dira si la cadena en si es un numero real, pero si es un flotante o tiene algun otro caracter diferente al rango 0-9 entonces devolvera false. Si lo qu ete interesa es saber si tiene numeros o no, indiferentemente de si tiene otros caracteres podrias usar alguna expresion regular o iterar sobre sus valores y buscar algun caracter, u obtener solo los digitos: >>> a = 'abc1def2ghi3' >>> [k for k in a if k.isdigit()] ['1', '2', '3'] >>> Espero no estar entendiendo mal el asunto. a proposito, una cadena siempre contiene texto :-). On Sat, 2008-05-03 at 09:29 -0500, aNgel rEsendiz g. wrote: > > ¿Hay alguna forma de saber si una cadena, contiene texto o un número? > > Puedes utilizar isdigit: > > >>> '1a2b3c'.isdigit() > False > >>> '123'.isdigit() > True > > Saludos. -- <--Linux... Because I'm Free--> Marco Antonio Islas Cruz "Markuz" Linux User #280229 markuz en islascruz.org markuz en unixmexico.org markuz en linuxpozarica.com marco.islas en gmail.com islacruz en yahoo.com http://www.islascruz.org http://sourceforge.net/projects/gpkg/ http://www.linuxpozarica.com ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part URL: ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From markuz en islascruz.org Sat May 3 17:09:52 2008 From: markuz en islascruz.org (Marco Antonio Islas Cruz) Date: Sat, 03 May 2008 10:09:52 -0500 Subject: Saber si es un archivo de texto In-Reply-To: <481C7BDA.902@gmail.com> References: <3da702830805030532j4a888c71yc56661526fa83507@mail.gmail.com> <481C7BDA.902@gmail.com> Message-ID: <1209827392.7729.5.camel@cucusa> On Sat, 2008-05-03 at 16:51 +0200, Arnau Sanchez wrote: > kalith kalith escribió: > > pero me di cuenta que pues si usas linux un archivo de texto no tienep orque > > llevar un .txt y pues que realmente no es la solucion... asi que como le > > hago para determinar si el argumento que le estoy pasando es realmente un > > archivo de texto... > > > Sin recurrir a aplicaciones externas (file), hay que tratar de > adivinarlo (con algoritmos heurísticos más o menos simples). Ejemplo: > > http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/173220 > > Por otro lado, a no ser que tu script tenga realmente que comportarse de > forma diferente para ficheros binarios, no lo trataría de forma > específica. Si el usuario pasa un binario en vez de un fichero de texto, > es su problema. Exacto, son bugs de capa 8, y contra eso no se puede. > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes -- <--Linux... Because I'm Free--> Marco Antonio Islas Cruz "Markuz" Linux User #280229 markuz en islascruz.org markuz en unixmexico.org markuz en linuxpozarica.com marco.islas en gmail.com islacruz en yahoo.com http://www.islascruz.org http://sourceforge.net/projects/gpkg/ http://www.linuxpozarica.com ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part URL: ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From fvillarroel en yahoo.com Sun May 4 04:36:05 2008 From: fvillarroel en yahoo.com (FERNANDO VILLARROEL) Date: Sat, 3 May 2008 19:36:05 -0700 (PDT) Subject: UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 Message-ID: <122041.71704.qm@web34305.mail.mud.yahoo.com> Hola a todos. Estoy nuevamente con Turbogeras esta ves probando su nueva version 2.0 Nuevamente genere formularios usando crud. Turbogears viene por default con SqlAlchemy para acceder a los distintos motores, en mi caso yo sigo usando Postgres, ahora al intentar insertar un nuevo registro obtengo el siuiente error: UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 47: ordinal not in range(128) Encontre una explicacion para esto en: http://www.onlamp.com/pub/a/python/excerpt/pythonckbk_chap1/index.html Pero como lo resuelvo en mi proyecto de TG. Atento a sus comentarios. Fernando Villarroel ____________________________________________________________________________________ Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From rafaelcantos en hotmail.com Sun May 4 11:46:56 2008 From: rafaelcantos en hotmail.com (Rafael Cantos) Date: Sun, 4 May 2008 09:46:56 +0000 Subject: =?windows-1252?q?RE=3A_Comprobar_si_una_cadena_tiene_texto_o_n?= =?windows-1252?q?=FAmeros?= In-Reply-To: <20080503145056.187AE15EF9CC@devnull.aditel.org> References: <20080503145056.187AE15EF9CC@devnull.aditel.org> Message-ID: Muchas gracias aNgel. Saludos. Rafa ¿Hay alguna forma de saber si una cadena, contiene texto o un número? Puedes utilizar isdigit:>>> '1a2b3c'.isdigit()False>>> '123'.isdigit()TrueSaludos.-- > aNgel rEsendiz.! _________________________________________________________________ Tecnología, moda, motor, viajes,?suscríbete a nuestros boletines para estar siempre a la última Guapos y guapas, clips musicales y estrenos de cine. ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From kalith.9 en gmail.com Sun May 4 15:49:04 2008 From: kalith.9 en gmail.com (kalith kalith) Date: Mon, 5 May 2008 09:19:04 +1930 Subject: Saber si es un archivo de texto In-Reply-To: <1209827392.7729.5.camel@cucusa> References: <3da702830805030532j4a888c71yc56661526fa83507@mail.gmail.com> <481C7BDA.902@gmail.com> <1209827392.7729.5.camel@cucusa> Message-ID: <3da702830805040649v1842ef29rc4e8cb57062edd7e@mail.gmail.com> gracias a todos por las respuestas :D... una cosa si bien dicen que son errores de capa 8 pero me gusta hacer los programas los mas amigables... siempre pensando en que el usuario final es torpe y se equivoca mucho... ademas es feo que si se equivocan ven tu programa con unos errores ahi... lo hice con try: blabla except IOError: blabla y me funciona bien gracias a todos :D _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From necudeco en gmail.com Sun May 4 16:05:43 2008 From: necudeco en gmail.com (necudeco) Date: Sun, 4 May 2008 09:05:43 -0500 Subject: Saber si es un archivo de texto In-Reply-To: <3da702830805040649v1842ef29rc4e8cb57062edd7e@mail.gmail.com> References: <3da702830805030532j4a888c71yc56661526fa83507@mail.gmail.com> <481C7BDA.902@gmail.com> <1209827392.7729.5.camel@cucusa> <3da702830805040649v1842ef29rc4e8cb57062edd7e@mail.gmail.com> Message-ID: <2ccb93070805040705t1bd17096me8c521176d1eca4@mail.gmail.com> Jaja que curiosa contradiccion. Por un lado quieres que los programas sean amigables para que tus usuarios esten a gusto y por otro lado , los llamas idiotas Jejeje 2008/5/4 kalith kalith : > gracias a todos por las respuestas :D... una cosa si bien dicen que son > errores de capa 8 pero me gusta hacer los programas los mas amigables... > siempre pensando en que el usuario final es torpe y se equivoca mucho... > ademas es feo que si se equivocan ven tu programa con unos errores ahi... > > lo hice con > try: > blabla > except IOError: > blabla > > y me funciona bien > > gracias a todos :D > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- NeCuDeCo Asociacion Peruana de Software Libre http://necudeco.com http://apesol.org Your Jugdment Day is NOW sudo kills -9 $richard_penguin_signature _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From kalith.9 en gmail.com Sun May 4 17:28:43 2008 From: kalith.9 en gmail.com (kalith kalith) Date: Mon, 5 May 2008 10:58:43 +1930 Subject: Saber si es un archivo de texto In-Reply-To: <2ccb93070805040705t1bd17096me8c521176d1eca4@mail.gmail.com> References: <3da702830805030532j4a888c71yc56661526fa83507@mail.gmail.com> <481C7BDA.902@gmail.com> <1209827392.7729.5.camel@cucusa> <3da702830805040649v1842ef29rc4e8cb57062edd7e@mail.gmail.com> <2ccb93070805040705t1bd17096me8c521176d1eca4@mail.gmail.com> Message-ID: <3da702830805040828l50c96c76n875b48077f6a7299@mail.gmail.com> :P una cosa es querer que el usuario final este comodo con el programa que use y otra es aceptar la realidad... me gusta que las cositas pequeño que desarrollo, pues a pesar de su sencilles trato de que las posibilidades de error sean las menos posible prevyendo lo q t digo que el usuario generlamente hace cosas q no debe... bueno en fin.. solucione el problema _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From ramonsr en ipicfg.rimed.cu Sun May 4 17:32:19 2008 From: ramonsr en ipicfg.rimed.cu (ramonsr) Date: Sun, 4 May 2008 11:32:19 -0400 Subject: Saber si es un archivo de texto References: <3da702830805030532j4a888c71yc56661526fa83507@mail.gmail.com><481C7BDA.902@gmail.com> <1209827392.7729.5.camel@cucusa><3da702830805040649v1842ef29rc4e8cb57062edd7e@mail.gmail.com><2ccb93070805040705t1bd17096me8c521176d1eca4@mail.gmail.com> <3da702830805040828l50c96c76n875b48077f6a7299@mail.gmail.com> Message-ID: <003d01c8adfc$0aeac120$12140a0a@IPICFG> Hola: Soy principiante en python necesito docmuentacion si la tienes por favor enviamela . gacias :)) ----- Original Message ----- From: "kalith kalith" To: "Lista de discusión sobre python en castellano" Sent: Sunday, May 04, 2008 11:28 AM Subject: Re: [Python-es] Saber si es un archivo de texto :P una cosa es querer que el usuario final este comodo con el programa que use y otra es aceptar la realidad... me gusta que las cositas pequeño que desarrollo, pues a pesar de su sencilles trato de que las posibilidades de error sean las menos posible prevyendo lo q t digo que el usuario generlamente hace cosas q no debe... bueno en fin.. solucione el problema _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes -- Este mensaje ha sido analizado por MailScanner en busca de virus y otros contenidos peligrosos, y se considera que está limpio. ** Nodo Comunicaciones IPI Cienfuegos ** ** WebPage:http://www.ipicfg.rimed.cu ** -- Este mensaje ha sido analizado por MailScanner en busca de virus y otros contenidos peligrosos, y se considera que está limpio. ** Nodo Comunicaciones IPI Cienfuegos ** ** WebPage:http://www.ipicfg.rimed.cu ** _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From ramonsr en ipicfg.rimed.cu Sun May 4 17:35:20 2008 From: ramonsr en ipicfg.rimed.cu (ramonsr) Date: Sun, 4 May 2008 11:35:20 -0400 Subject: (sin asunto) Message-ID: <007601c8adfc$76b02bc0$12140a0a@IPICFG> Hola a todos : soy un principiante ,,,,,,,,necesito docs sobre prog en python. -- Este mensaje ha sido analizado por MailScanner en busca de virus y otros contenidos peligrosos, y se considera que está limpio. ** Nodo Comunicaciones IPI Cienfuegos ** ** WebPage:http://www.ipicfg.rimed.cu ** _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From minoztro en gmail.com Sun May 4 17:49:55 2008 From: minoztro en gmail.com (Milton Galo Patricio Inostroza Aguilera) Date: Sun, 4 May 2008 11:49:55 -0400 Subject: (sin asunto) In-Reply-To: <007601c8adfc$76b02bc0$12140a0a@IPICFG> References: <007601c8adfc$76b02bc0$12140a0a@IPICFG> Message-ID: <172699c50805040849j7d782b15ke5b1446597008b00@mail.gmail.com> 2008/5/4 ramonsr : > Hola a todos : > > soy un principiante ,,,,,,,,necesito docs sobre prog en python. docs.python.org ahh!! y nunca olvides poner en el asunto de tu mensaje lo que quieres preguntar. > -- > Este mensaje ha sido analizado por MailScanner > en busca de virus y otros contenidos peligrosos, > y se considera que está limpio. > ** Nodo Comunicaciones IPI Cienfuegos ** > ** WebPage:http://www.ipicfg.rimed.cu ** > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Milton Inostroza Aguilera ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From markuz en islascruz.org Sun May 4 17:57:50 2008 From: markuz en islascruz.org (Marco Antonio Islas Cruz) Date: Sun, 04 May 2008 10:57:50 -0500 Subject: Saber si es un archivo de texto In-Reply-To: <2ccb93070805040705t1bd17096me8c521176d1eca4@mail.gmail.com> References: <3da702830805030532j4a888c71yc56661526fa83507@mail.gmail.com> <481C7BDA.902@gmail.com> <1209827392.7729.5.camel@cucusa> <3da702830805040649v1842ef29rc4e8cb57062edd7e@mail.gmail.com> <2ccb93070805040705t1bd17096me8c521176d1eca4@mail.gmail.com> Message-ID: <1209916670.2939.0.camel@cucusa> Por ahi alguien que no recuerdo quien dijo que si tu crees que tus usuarios son idiotas entonces los que usen tus programas seran idiotas. (algo asi). On Sun, 2008-05-04 at 09:05 -0500, necudeco wrote: > Jaja que curiosa contradiccion. > > Por un lado quieres que los programas sean amigables para que tus usuarios > esten a gusto > y por otro lado , los llamas idiotas > > Jejeje > > 2008/5/4 kalith kalith : > > > gracias a todos por las respuestas :D... una cosa si bien dicen que son > > errores de capa 8 pero me gusta hacer los programas los mas amigables... > > siempre pensando en que el usuario final es torpe y se equivoca mucho... > > ademas es feo que si se equivocan ven tu programa con unos errores ahi... > > > > lo hice con > > try: > > blabla > > except IOError: > > blabla > > > > y me funciona bien > > > > gracias a todos :D > > _______________________________________________ > > Lista de correo Python-es > > http://listas.aditel.org/listinfo/python-es > > FAQ: http://listas.aditel.org/faqpyes > > > > > -- <--Linux... Because I'm Free--> Marco Antonio Islas Cruz "Markuz" Linux User #280229 markuz en islascruz.org markuz en unixmexico.org markuz en linuxpozarica.com marco.islas en gmail.com islacruz en yahoo.com http://www.islascruz.org http://sourceforge.net/projects/gpkg/ http://www.linuxpozarica.com ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part URL: ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From markuz en islascruz.org Sun May 4 18:00:22 2008 From: markuz en islascruz.org (Marco Antonio Islas Cruz) Date: Sun, 04 May 2008 11:00:22 -0500 Subject: (sin asunto) In-Reply-To: <007601c8adfc$76b02bc0$12140a0a@IPICFG> References: <007601c8adfc$76b02bc0$12140a0a@IPICFG> Message-ID: <1209916822.2939.3.camel@cucusa> Busca en python.org la documenacion, lee el tutorial y siempre ten a la mano la Referencia. Te recomiendo: * How to think like a computer scientist learning with python * Dive into python On Sun, 2008-05-04 at 11:35 -0400, ramonsr wrote: > Hola a todos : > > soy un principiante ,,,,,,,,necesito docs sobre prog en python. -- <--Linux... Because I'm Free--> Marco Antonio Islas Cruz "Markuz" Linux User #280229 markuz en islascruz.org markuz en unixmexico.org markuz en linuxpozarica.com marco.islas en gmail.com islacruz en yahoo.com http://www.islascruz.org http://sourceforge.net/projects/gpkg/ http://www.linuxpozarica.com ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part URL: ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From ikarush en gmail.com Sun May 4 21:52:35 2008 From: ikarush en gmail.com (Daniel =?ISO-8859-1?Q?Gonz=E1lez_Cervi=F1o?=) Date: Sun, 04 May 2008 21:52:35 +0200 Subject: Problema al escribir ficheros. Message-ID: <1209930755.13530.3.camel@jules> Hola a todos. Llevo un buen rato intentando ejecutar un codigo tan sencillo como este: f = open ('fichero', 'rw') f.write ('cadena') y me salta la siguiente excepcion : Traceback (most recent call last): File "", line 1, in IOError: [Errno 9] Bad file descriptor El fichero en cuestion, tiene permisos 777 , intente tambien "inicializar el descriptor" f.seek ( 0 ,0 ) Y el caso es que no se por donde seguir mirando.. Un saludo - Daniel González Cerviño. Tel 653965048 ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From minoztro en gmail.com Sun May 4 22:41:24 2008 From: minoztro en gmail.com (Milton Galo Patricio Inostroza Aguilera) Date: Sun, 4 May 2008 16:41:24 -0400 Subject: Problema al escribir ficheros. In-Reply-To: <1209930755.13530.3.camel@jules> References: <1209930755.13530.3.camel@jules> Message-ID: <172699c50805041341u2334400el1fbac254db803658@mail.gmail.com> El día 4 de mayo de 2008 15:52, Daniel González Cerviño escribió: > Hola a todos. > > Llevo un buen rato intentando ejecutar un codigo tan sencillo como este: > > f = open ('fichero', 'rw') > f.write ('cadena') leete esto [1], y creo que como solucion le puedes decir a python la extension del archivo...es decir fichero.txt o lo que necesites [1] http://bugs.python.org/issue1422 Basicamente yo probe lo siguiente: >>> f = open ('fichero', 'w') >>> f.write("mensaje1") >>> f.write("mensaje2") >>> f.write("mensaje3") >>> f.close() >>> f = open ('fichero', 'r') >>> f.read() 'mensaje3mensaje2mensaje1' ahora si pruebas los dos modos 'wr' juntos te lanzara la exception que ya conoces > > y me salta la siguiente excepcion : > > Traceback (most recent call last): > File "", line 1, in > IOError: [Errno 9] Bad file descriptor > > El fichero en cuestion, tiene permisos 777 , > intente tambien "inicializar el descriptor" f.seek ( 0 ,0 ) > Y el caso es que no se por donde seguir mirando.. > > Un saludo > > > - > Daniel González Cerviño. > Tel 653965048 > > > > > > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Milton Inostroza Aguilera ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From ikarush en gmail.com Mon May 5 00:35:06 2008 From: ikarush en gmail.com (=?ISO-8859-1?Q?Daniel_Gonz=E1lez?=) Date: Mon, 5 May 2008 00:35:06 +0200 Subject: Problema al escribir ficheros. In-Reply-To: <172699c50805041341u2334400el1fbac254db803658@mail.gmail.com> References: <1209930755.13530.3.camel@jules> <172699c50805041341u2334400el1fbac254db803658@mail.gmail.com> Message-ID: Gracias > > f = open ('fichero', 'rw') > > f.write ('cadena') > > leete esto [1], y creo que como solucion le puedes decir a python la > extension del archivo...es decir fichero.txt o lo que necesites > > [1] http://bugs.python.org/issue1422 > > > Basicamente yo probe lo siguiente: > > >>> f = open ('fichero', 'w') > >>> f.write("mensaje1") > >>> f.write("mensaje2") > >>> f.write("mensaje3") > >>> f.close() > >>> f = open ('fichero', 'r') > >>> f.read() > 'mensaje3mensaje2mensaje1' > > > ahora si pruebas los dos modos 'wr' juntos te lanzara la exception que > ya conoces > > > > y me salta la siguiente excepcion : > > > > Traceback (most recent call last): > > File "", line 1, in > > IOError: [Errno 9] Bad file descriptor > > > > El fichero en cuestion, tiene permisos 777 , > > intente tambien "inicializar el descriptor" f.seek ( 0 ,0 ) > > Y el caso es que no se por donde seguir mirando.. > > > > Un saludo > > > > > > - > > Daniel González Cerviño. > > Tel 653965048 > > > > > > > > > > > > > > _______________________________________________ > > Lista de correo Python-es > > http://listas.aditel.org/listinfo/python-es > > FAQ: http://listas.aditel.org/faqpyes > > > > > > -- > Milton Inostroza Aguilera > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Daniel Gonzalez Cerviño tel 653965048 ikarush en gmail.com _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From punchikk en yahoo.com Mon May 5 06:12:51 2008 From: punchikk en yahoo.com (punchik punchik) Date: Sun, 4 May 2008 21:12:51 -0700 (PDT) Subject: correr archivos python en servidor Message-ID: <550152.4391.qm@web32006.mail.mud.yahoo.com> hola, soy novato en python, he estado tratando de correr varios scripts en mi servidor web pero no me funciona, en todos me sale el mismo error, alguien tiene idea de porque sucede esto? mi servidor es dreamhost y si soporta scripts de python, no entiendo porque no lo reconoce, tendre que activar algo ? alguna idea?.. el error es el siguiente: gracias 500 internal server error Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator, webmaster en metalex.net and inform them of the time the error occurred, and anything you might have done that may have caused the error. More information about this error may be available in the server error log. Additionally, a 404 Not Found error was encountered --------------------------------- Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From markuz en islascruz.org Mon May 5 06:23:57 2008 From: markuz en islascruz.org (Marco Antonio Islas Cruz) Date: Sun, 04 May 2008 23:23:57 -0500 Subject: correr archivos python en servidor In-Reply-To: <550152.4391.qm@web32006.mail.mud.yahoo.com> References: <550152.4391.qm@web32006.mail.mud.yahoo.com> Message-ID: <1209961437.14592.5.camel@cucusa> Los scripts en Python, asi como cualquier otro CGI deben enviar la salida con formato HTML, incluyendo los headers. PHP lo hace, solo que no te das cuenta de que lo hace. Investiga sobre los headers del protocolo http. On Sun, 2008-05-04 at 21:12 -0700, punchik punchik wrote: > hola, soy novato en python, he estado tratando de correr varios scripts en mi servidor web pero no me funciona, en todos me sale el mismo error, alguien tiene idea de porque sucede esto? mi servidor es dreamhost y si soporta scripts de python, no entiendo porque no lo reconoce, tendre que activar algo ? alguna idea?.. el error es el siguiente: > > gracias > > > 500 internal server error > Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. > Please contact the server administrator, webmaster en metalex.net and inform them of the time the error occurred, and anything you might have done that may have caused the error. > More information about this error may be available in the server error log. > Additionally, a 404 Not Found error was encountered > > > > > --------------------------------- > Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now. > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes -- <--Linux... Because I'm Free--> Marco Antonio Islas Cruz "Markuz" Linux User #280229 markuz en islascruz.org markuz en unixmexico.org markuz en linuxpozarica.com marco.islas en gmail.com islacruz en yahoo.com http://www.islascruz.org http://sourceforge.net/projects/gpkg/ http://www.linuxpozarica.com ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part URL: ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From punchikk en yahoo.com Mon May 5 06:28:50 2008 From: punchikk en yahoo.com (punchik punchik) Date: Sun, 4 May 2008 21:28:50 -0700 (PDT) Subject: correr archivos python en servidor In-Reply-To: <1209961437.14592.5.camel@cucusa> References: <1209961437.14592.5.camel@cucusa> Message-ID: <24653.89055.qm@web32001.mail.mud.yahoo.com> el archivo python si envia la salida con formato html.. aca esta el codigo: #!/usr/bin/python import cgitb cgitb.enable() print "Content-type: text/html" print import time print "" print "" print "Penzilla.net: What is the Time? Example" print "" print "" print "

Penzilla.net What is the Time?(wittime.py) Example:

" print "

Penzilla thinks that it is: %s

" % time.ctime() print "" print "" Marco Antonio Islas Cruz wrote: Los scripts en Python, asi como cualquier otro CGI deben enviar la salida con formato HTML, incluyendo los headers. PHP lo hace, solo que no te das cuenta de que lo hace. Investiga sobre los headers del protocolo http. On Sun, 2008-05-04 at 21:12 -0700, punchik punchik wrote: > hola, soy novato en python, he estado tratando de correr varios scripts en mi servidor web pero no me funciona, en todos me sale el mismo error, alguien tiene idea de porque sucede esto? mi servidor es dreamhost y si soporta scripts de python, no entiendo porque no lo reconoce, tendre que activar algo ? alguna idea?.. el error es el siguiente: > > gracias > > > 500 internal server error > Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. > Please contact the server administrator, webmaster en metalex.net and inform them of the time the error occurred, and anything you might have done that may have caused the error. > More information about this error may be available in the server error log. > Additionally, a 404 Not Found error was encountered > > > > > --------------------------------- > Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now. > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes -- <--Linux... Because I'm Free--> Marco Antonio Islas Cruz "Markuz" Linux User #280229 markuz en islascruz.org markuz en unixmexico.org markuz en linuxpozarica.com marco.islas en gmail.com islacruz en yahoo.com http://www.islascruz.org http://sourceforge.net/projects/gpkg/ http://www.linuxpozarica.com _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes --------------------------------- Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From fvillarroel en yahoo.com Mon May 5 07:06:30 2008 From: fvillarroel en yahoo.com (FERNANDO VILLARROEL) Date: Sun, 4 May 2008 22:06:30 -0700 (PDT) Subject: SqlAlchemy & Postgres & TG2.0 Message-ID: <483069.27922.qm@web34308.mail.mud.yahoo.com> Hola amigos, Haber luego de varios dias dandole vuelta a un error que obtengo al probar con TurboGears 2.0 : UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 47: ordinal not in range(128) Me doy cuenta que el problema es el paso de atributos; es decir al momento de efectuar un Insert desde un formulario generado con Crud, el atributo Id que corresponde precisamente a la primary_key de la tabla no tiene valor; mirando el log de Postgres : 2008-05-05 00:48:22 CLT SENTENCIA: INSERT INTO test (id, nombre) VALUES (NULL, 'Carlos') No se a que se debe ya que segui las instrucciones del how to: http://docs.turbogears.org/2.0/RoughDocs/BootStrap Y ademas personalice el formulario respectivo para que me solicite todos los datos; ya que leyendo adverti que para los atributos que son primary_key en el formulario quedan desabilitados por defecto. El asunto que la tabla que estoy probando tiene dos atributos (id, nombre) y en el formulario (new_form) me solicta ambos datos. Pero id llega con valor NULL al motor. Estoy mapeando el schema desde TG: model/__init__py. class Test(object): pass def init_model(engine): """Call me before using any of the tables or classes in the model.""" test = Table("test", metadata, autoload=True, autoload_with=engine) mapper(Test, test) y en testform.py donde personalizo los datos a solicitar para editar o insertar: # Use dbsprockets makeForm # http://code.google.com/p/dbsprockets/wiki/Primitives from holamundo.model import DBSession, Test from dbsprockets.primitives import makeForm #new_form = makeForm(Test, action="create", omittedFields=['id']) #edit_form = makeForm(Test, action="update", hiddenFields=['id']) # Use Widget Form from tw import forms from tw.api import WidgetsList from tw.forms import validators class TestForm(forms.TableForm): """ToscaWidgets form builder""" class fields(WidgetsList): """fields definitions. Replace to your Fields""" name="Test" id = forms.TextField(label="Id", validator = validators.Int(not_empty=True)) nombre = forms.TextField(label="Nombre", validator = validators.UnicodeString(not_empty=True, max=10)) new_form = TestForm("new_form", action="create") edit_form = TestForm("edit_form", action="update") Espero se entienda y alguien me de alguna idea. Fernando. ____________________________________________________________________________________ Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From morillas en gmail.com Mon May 5 08:00:28 2008 From: morillas en gmail.com (Luis Miguel Morillas) Date: Mon, 5 May 2008 08:00:28 +0200 Subject: SqlAlchemy & Postgres & TG2. In-Reply-To: <483069.27922.qm@web34308.mail.mud.yahoo.com> References: <483069.27922.qm@web34308.mail.mud.yahoo.com> Message-ID: <68d25cbc0805042300n3535602bx531f3152a6565ac0@mail.gmail.com> El día 5 de mayo de 2008 7:06, FERNANDO VILLARROEL escribió: > Hola amigos, > > Haber luego de varios dias dandole vuelta a un error > que obtengo al probar con TurboGears 2.0 : > > UnicodeDecodeError: 'ascii' codec can't decode byte > 0xc2 in position 47: ordinal not in range(128) > Tienes un problema con unicode. Python usa por defecto como encoding ascii. La cadena que intentas usar tiene un carácter 0xc2 que no tiene correspondencia en ese encoding y lanza la excepción. Dile al sistema el encoding que estás usando cuando tiene que convertir a unicode. El carácter que estás usando supongo que es una  por el mensaje que muestras. Si usas unicode('cadena con Â', iso-8859-1) ya no dará el error. Aquí tienes una minimini guía, que al final tiene bibliografía http://crysol.inf-cr.uclm.es/node/454 > Me doy cuenta que el problema es el paso de atributos; > es decir al momento de efectuar un Insert desde un > formulario generado con Crud, el atributo Id que > corresponde precisamente a la primary_key de la tabla > no tiene valor; mirando el log de Postgres : > > 2008-05-05 00:48:22 CLT SENTENCIA: INSERT INTO test > (id, nombre) VALUES (NULL, 'Carlos') > > No se a que se debe ya que segui las instrucciones del > how to: > > http://docs.turbogears.org/2.0/RoughDocs/BootStrap > > Y ademas personalice el formulario respectivo para que > me solicite todos los datos; ya que leyendo adverti > que para los atributos que son primary_key en el > formulario quedan desabilitados por defecto. El asunto > que la tabla que estoy probando tiene dos atributos > (id, nombre) y en el formulario (new_form) me solicta > ambos datos. Pero id llega con valor NULL al motor. > > Estoy mapeando el schema desde TG: > > model/__init__py. > > class Test(object): > pass > > > def init_model(engine): > """Call me before using any of the tables or > classes in the model.""" > > test = Table("test", metadata, > autoload=True, autoload_with=engine) > mapper(Test, test) > > > > y en testform.py donde personalizo los datos a > solicitar para editar o insertar: > > # Use dbsprockets makeForm > # http://code.google.com/p/dbsprockets/wiki/Primitives > from holamundo.model import DBSession, Test > > from dbsprockets.primitives import makeForm > #new_form = makeForm(Test, action="create", > omittedFields=['id']) > #edit_form = makeForm(Test, action="update", > hiddenFields=['id']) > > # Use Widget Form > from tw import forms > from tw.api import WidgetsList > from tw.forms import validators > > class TestForm(forms.TableForm): > """ToscaWidgets form builder""" > class fields(WidgetsList): > """fields definitions. Replace to your > Fields""" > name="Test" > id = forms.TextField(label="Id", validator = > validators.Int(not_empty=True)) > nombre = forms.TextField(label="Nombre", > validator = validators.UnicodeString(not_empty=True, > max=10)) > > new_form = TestForm("new_form", action="create") > edit_form = TestForm("edit_form", action="update") > > > > Espero se entienda y alguien me de alguna idea. > > Fernando. > > > > ____________________________________________________________________________________ > Be a better friend, newshound, and > know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Saludos, -- Luis Miguel _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From a.porrua en gmail.com Mon May 5 10:03:12 2008 From: a.porrua en gmail.com (antonio) Date: Mon, 05 May 2008 10:03:12 +0200 Subject: correr archivos python en servidor In-Reply-To: <24653.89055.qm@web32001.mail.mud.yahoo.com> References: <24653.89055.qm@web32001.mail.mud.yahoo.com> Message-ID: <1209974592.6382.7.camel@nos> A mi me suena a que el script da un error, pero el código que has enviado es correcto... Haz lo siguiente si no has hecho ya. 1. Comprueba el log del servidor. 2. Comprueba los permisos de ejecución del script. 3. Comprueba que la ruta a python es correcta. 4. Comprueba que el script no da error. 5. Haz un exorcismo al servidor xDD El dom, 04-05-2008 a las 21:28 -0700, punchik punchik escribió: > el archivo python si envia la salida con formato html.. aca esta el codigo: > > > > #!/usr/bin/python > import cgitb > cgitb.enable() > print "Content-type: text/html" > print > import time > print "" > print "" > print "Penzilla.net: What is the Time? Example" > print "" > print "" > print "

Penzilla.net What is the Time?(wittime.py) Example:

" > print "

Penzilla thinks that it is: %s

" % time.ctime() > print "" > print "" > > Marco Antonio Islas Cruz wrote: > Los scripts en Python, asi como cualquier otro CGI deben enviar la > salida con formato HTML, incluyendo los headers. PHP lo hace, solo que > no te das cuenta de que lo hace. > > Investiga sobre los headers del protocolo http. > > On Sun, 2008-05-04 at 21:12 -0700, punchik punchik wrote: > > hola, soy novato en python, he estado tratando de correr varios scripts en mi servidor web pero no me funciona, en todos me sale el mismo error, alguien tiene idea de porque sucede esto? mi servidor es dreamhost y si soporta scripts de python, no entiendo porque no lo reconoce, tendre que activar algo ? alguna idea?.. el error es el siguiente: > > > > gracias > > > > > > 500 internal server error > > Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. > > Please contact the server administrator, webmaster en metalex.net and inform them of the time the error occurred, and anything you might have done that may have caused the error. > > More information about this error may be available in the server error log. > > Additionally, a 404 Not Found error was encountered > > > > > > > > > > --------------------------------- > > Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now. > > _______________________________________________ > > Lista de correo Python-es > > http://listas.aditel.org/listinfo/python-es > > FAQ: http://listas.aditel.org/faqpyes ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From damufo en gmail.com Mon May 5 11:43:12 2008 From: damufo en gmail.com (damufo) Date: Mon, 05 May 2008 11:43:12 +0200 Subject: lanzar =?iso-8859-15?q?aplicaci=F3n_y_simular_teclado?= Message-ID: <481ED6B0.7010509@gmail.com> Hola: En win xp Tengo una aplicación .exe que lanza un formulario que me pide un texto (siempre el mismo), Se me ha ocurrido que para automatizar esto pueda lanzar el formulario y simular la salida del teclado para que se cubra el texto de forma automatica. Lo de lanzar la aplicación lo hago así import subprocess exe = "programa.exe" pr = subprocess.Popen(exe, stdin=None, stdout = subprocess.PIPE, stderr=subprocess.PIPE) pr.wait() Esto genera un formulario con el cursor en el campo de texto en el que quiero escribir, aquí es donde quería simular la salida del teclado pero no se como hacerlo. He buscado y no debo estar usando las palabras adecuadas. He visto algo de comunicate(), stdout() pero no se si voy bien. Alguna orientación de por donde puedo buscar? Gracias ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From rmiranda en estudiantes.uci.cu Mon May 5 13:40:10 2008 From: rmiranda en estudiantes.uci.cu (Raydel Miranda Gomez) Date: Mon, 5 May 2008 07:40:10 -0400 Subject: =?iso-8859-1?Q?RE=3A_=5BPython-es=5D__RE=3A_Comprobar_si_una_cadena_tiene?= =?iso-8859-1?Q?_texto_o_n=FAmeros?= References: <20080503145056.187AE15EF9CC@devnull.aditel.org> Message-ID: import re pattern = re.compile("\d+(\.{1}\d+){0-1}") cadena = "2342asdads1223" cadena_1 = 12312 cadena_2 = 12.09 pattern.match(cadena), devuelve un objeto None, pues la expresion regular dicta: \d+ --> uno a mas digitios (\.{1}\d+){0-1} --> {0-1} lo que esta entre parentesis puede aparecer solo una vez, si aparece dentro del paretesis: (\.{1}\d+) un punto y 1 mas digitos. por supuesto, las cadenas : cadena_1 y cadena_2, van a a matchear. Eso te ahorra el tedioso trabajo de iterar, si el numero es muy grande vas a consumir mucha mas memoria y tiempo. Esta solucion, tambien itera por supuesto, pero cuando python itera por nosotros lo hace mucho mas rapido. ---------------------------------------- Raydel Miranda Gómez Universidad de las Ciencias Informáticas Facultad de Software Libre Desarrollador de Nova Coordinador de la comunidad de Python Despues de terminado el juego , el peon y el rey, regresan a la misma caja. (proverbio italiano) ________________________________ De: python-es-bounces en aditel.org en nombre de Rafael Cantos Enviado el: dom 04.05.2008 5:46 Para: python-es en aditel.org Asunto: [Python-es] RE: Comprobar si una cadena tiene texto o números Muchas gracias aNgel. Saludos. Rafa ¿Hay alguna forma de saber si una cadena, contiene texto o un número? Puedes utilizar isdigit:>>> '1a2b3c'.isdigit()False>>> '123'.isdigit()TrueSaludos.-- > aNgel rEsendiz.! _________________________________________________________________ Tecnología, moda, motor, viajes,...suscríbete a nuestros boletines para estar siempre a la última Guapos y guapas, clips musicales y estrenos de cine. ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From fjserrano en citic.es Mon May 5 14:49:57 2008 From: fjserrano en citic.es (javier serrano) Date: Mon, 05 May 2008 14:49:57 +0200 Subject: Serializacion de objetos usando XML Message-ID: <481F0275.2070300@citic.es> Hola a todos, este es mi primer mensaje aunque ya llevo un tiempo trabajando con python y twisted. Mi pregunta es: ¿Conocéis alguna librería que permita serializar una clase a xml? Es decir, una vez que tengo un objeto, pasarle dicho objeto a la libreria/funcion y que me devuelva un xml con los atributos de ese objeto, posteriormente podria guardarse en un fichero y luego recuperarlo como un objeto una vez deserializado. Gracias por adelantado _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From ottomachado en infomed.sld.cu Mon May 5 15:27:15 2008 From: ottomachado en infomed.sld.cu (Otto Machado) Date: Mon, 5 May 2008 09:27:15 -0400 Subject: error con authentication In-Reply-To: <483069.27922.qm@web34308.mail.mud.yahoo.com> References: <483069.27922.qm@web34308.mail.mud.yahoo.com> Message-ID: <003701c8aeb3$c043ffc0$40cbff40$@sld.cu> Hola amigos> Me sucede que tengo una primera pagina web de autenticación que tiene un combobox que es llenado dinámicamente(contiene centros de estudio), en el onchange de ese combo, se invoca una función Java Script que lo que hace es llamar a otra pagina que otro combo dinamico(contiene la lista de usuarios), pero este ultimo se llena en dependencia con lo que se haya llenado el primero, bueno se selecciona el usuario y entonces se escribe la contraseña, en la primera pagina tengo un formulario que contiene el combo de los usuarios(que físicamente no esta en esta pagina porque esta en la segunda) y el texto de la contraseña, en el action del formulario llamo a una función que esta en el script de Python, el botón autenticar por supuesto es de tipo submit, pero el problema esta en que la función necesita el usuario y el password, y solo le esta enviando el password porque no encuentra el combo como un elemento de esa pagina, sin embargo yo trato en un segmento Java script buscar el elmento con el id 'cmb1' y me dice el valor correctamente, que puedo hacer? Gracias por adelantado. Diana _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From ottomachado en infomed.sld.cu Mon May 5 15:31:11 2008 From: ottomachado en infomed.sld.cu (Otto Machado) Date: Mon, 5 May 2008 09:31:11 -0400 Subject: Serializacion de objetos usando XML In-Reply-To: <481F0275.2070300@citic.es> References: <481F0275.2070300@citic.es> Message-ID: <003801c8aeb4$496262b0$dc272810$@sld.cu> El modulo cPickle se usa para serializar objetos, nunca lo he probado con XML, pero debe servir, porque tiene un método dumps que contiene 2 argumentos uno el objeto a serializar y otro el tipo de serializacion(binario, ASCII). Espero te sirva. Diana -----Mensaje original----- De: python-es-bounces en aditel.org [mailto:python-es-bounces en aditel.org] En nombre de javier serrano Enviado el: lunes, 05 de mayo de 2008 8:50 Para: python-es en aditel.org Asunto: [Python-es] Serializacion de objetos usando XML Hola a todos, este es mi primer mensaje aunque ya llevo un tiempo trabajando con python y twisted. Mi pregunta es: ¿Conocéis alguna librería que permita serializar una clase a xml? Es decir, una vez que tengo un objeto, pasarle dicho objeto a la libreria/funcion y que me devuelva un xml con los atributos de ese objeto, posteriormente podria guardarse en un fichero y luego recuperarlo como un objeto una vez deserializado. Gracias por adelantado _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From jjcarles en terra.es Mon May 5 17:41:26 2008 From: jjcarles en terra.es (Joan Carles Jimenez) Date: Mon, 5 May 2008 17:41:26 +0200 Subject: API C de Python Message-ID: <200805051741.26790.jjcarles@terra.es> Hola. No se si esta es la lista adecuada para la siguiente duda. Si no es así, perdonadme. Estoy probando la API C de python (para poder hacer modulos propios para python). Quiero ejecutar comandos de Python desde C y estoy utilizando la instrucción "PyRun_SimpleString(command)", pero me encuentro con dos problemas: 1) No se como capturar el resultado. Por ejemplo: PyRun_SimpleString("a=1"); PyRun_SimpleString("print a"); (me interesaria capturar la salida de "print a") 2) No se como capturar un posible error si la instrucción de python no fuera correcta. ¿Estoy encarando mal el problema? ¿Existe alguna alternativa a PyRun_SimpleString? Si esta no es la lista correcta, ¿conoceis alguna lista donde me puedan resolver este tipo de dudas (que no sean puramente Python? Gracias por adelantado. -- Joan Carles Jimenez jjcarles en terra.es _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From markuz en islascruz.org Mon May 5 06:44:14 2008 From: markuz en islascruz.org (Marco Antonio Islas Cruz) Date: Sun, 04 May 2008 23:44:14 -0500 Subject: correr archivos python en servidor In-Reply-To: <24653.89055.qm@web32001.mail.mud.yahoo.com> References: <24653.89055.qm@web32001.mail.mud.yahoo.com> Message-ID: <1209962654.14592.9.camel@cucusa> Noup, no confundas http con HTML. HTML es un lenguaje para el marcado de texto, en cambio, http es un protocolo. No digo que no envies el texto en HTML, pero asegurate de enviar los encabezados en http. Otro problema que podrias tener serian los permisos del archivo en el servidor. Algunos servidores no trabajaran si tienes mal los permisos de tu script. Que tengas buenas noches (desde mexico) On Sun, 2008-05-04 at 21:28 -0700, punchik punchik wrote: > el archivo python si envia la salida con formato html.. aca esta el codigo: > > > > #!/usr/bin/python > import cgitb > cgitb.enable() > print "Content-type: text/html" > print > import time > print "" > print "" > print "Penzilla.net: What is the Time? Example" > print "" > print "" > print "

Penzilla.net What is the Time?(wittime.py) Example:

" > print "

Penzilla thinks that it is: %s

" % time.ctime() > print "" > print "" > > Marco Antonio Islas Cruz wrote: > Los scripts en Python, asi como cualquier otro CGI deben enviar la > salida con formato HTML, incluyendo los headers. PHP lo hace, solo que > no te das cuenta de que lo hace. > > Investiga sobre los headers del protocolo http. > > On Sun, 2008-05-04 at 21:12 -0700, punchik punchik wrote: > > hola, soy novato en python, he estado tratando de correr varios scripts en mi servidor web pero no me funciona, en todos me sale el mismo error, alguien tiene idea de porque sucede esto? mi servidor es dreamhost y si soporta scripts de python, no entiendo porque no lo reconoce, tendre que activar algo ? alguna idea?.. el error es el siguiente: > > > > gracias > > > > > > 500 internal server error > > Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. > > Please contact the server administrator, webmaster en metalex.net and inform them of the time the error occurred, and anything you might have done that may have caused the error. > > More information about this error may be available in the server error log. > > Additionally, a 404 Not Found error was encountered > > > > > > > > > > --------------------------------- > > Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now. > > _______________________________________________ > > Lista de correo Python-es > > http://listas.aditel.org/listinfo/python-es > > FAQ: http://listas.aditel.org/faqpyes -- <--Linux... Because I'm Free--> Marco Antonio Islas Cruz "Markuz" Linux User #280229 markuz en islascruz.org markuz en unixmexico.org markuz en linuxpozarica.com marco.islas en gmail.com islacruz en yahoo.com http://www.islascruz.org http://sourceforge.net/projects/gpkg/ http://www.linuxpozarica.com ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part URL: ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From falted en pytables.org Mon May 5 19:49:05 2008 From: falted en pytables.org (Francesc Alted) Date: Mon, 5 May 2008 19:49:05 +0200 Subject: Serializacion de objetos usando XML In-Reply-To: <481F0275.2070300@citic.es> References: <481F0275.2070300@citic.es> Message-ID: <200805051949.05553.falted@pytables.org> A Monday 05 May 2008, javier serrano escrigué: > Hola a todos, este es mi primer mensaje aunque ya llevo un tiempo > trabajando con python y twisted. > > Mi pregunta es: > ¿Conocéis alguna librería que permita serializar una clase a xml? > > Es decir, una vez que tengo un objeto, pasarle dicho objeto a la > libreria/funcion y que me devuelva un xml con los atributos de ese > objeto, posteriormente podria > guardarse en un fichero y luego recuperarlo como un objeto una vez > deserializado. > > Gracias por adelantado > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes Supongo que deben de haber unos tropecientos paquetes que hacen eso. Sin embargo, hace tiempo que usé las utilidades Gnosis y la verdad es que iban muy bien para esas cosas. Aquí tienes un resumen de qué puedes hacer con ellas: http://gnosis.cx/download/Gnosis_Utils.ANNOUNCE Saludos, -- Francesc Alted _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From kalith.9 en gmail.com Mon May 5 20:36:42 2008 From: kalith.9 en gmail.com (kalith kalith) Date: Tue, 6 May 2008 14:06:42 +1930 Subject: correr archivos python en servidor In-Reply-To: <1209962654.14592.9.camel@cucusa> References: <24653.89055.qm@web32001.mail.mud.yahoo.com> <1209962654.14592.9.camel@cucusa> Message-ID: <3da702830805051136j6257813aob1f0cfc0861afbef@mail.gmail.com> una cosa q yo pregunto corrijanme si me equivoco no hay q instalar un mod en apache para correr scripts en python :S -- Seamos realistas y hagamos lo imposible _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From minoztro en gmail.com Mon May 5 20:33:15 2008 From: minoztro en gmail.com (Milton Galo Patricio Inostroza Aguilera) Date: Mon, 5 May 2008 14:33:15 -0400 Subject: API C de Python In-Reply-To: <200805051741.26790.jjcarles@terra.es> References: <200805051741.26790.jjcarles@terra.es> Message-ID: <172699c50805051133j5174404br48fdbecf5eee925f@mail.gmail.com> 2008/5/5 Joan Carles Jimenez : > Hola. > > No se si esta es la lista adecuada para la siguiente duda. Si no es así, > perdonadme. Estoy probando la API C de python (para poder hacer modulos Huyy yo tampoco se eso y he hecho algunas preguntas sobre este tema > propios para python). Quiero ejecutar comandos de Python desde C y estoy > utilizando la instrucción "PyRun_SimpleString(command)", pero me encuentro > con dos problemas: Soy novato en este ámbito de Python, pero veamos en que te puedo ayudar > > 1) No se como capturar el resultado. Por ejemplo: > PyRun_SimpleString("a=1"); > PyRun_SimpleString("print a"); > (me interesaria capturar la salida de "print a") a que te refieres con capturar la salida?...segun la documentacion esta funcion retorna un 0 si es exitosa o un -1 cuando algo falla > > 2) No se como capturar un posible error si la instrucción de python no fuera > correcta. if (!PyRun_SimpleString("import no existe")) { return alguna_exception ´o simplemente NULL } > > ¿Estoy encarando mal el problema? ¿Existe alguna alternativa a > PyRun_SimpleString? Si esta no es la lista correcta, ¿conoceis alguna lista > donde me puedan resolver este tipo de dudas (que no sean puramente Python? si pudieras explicar el contexto general de tu problema...seria mejor > > Gracias por adelantado. buen dia > > > -- > Joan Carles Jimenez > jjcarles en terra.es > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Milton Inostroza Aguilera ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From jjcarles en terra.es Mon May 5 21:31:14 2008 From: jjcarles en terra.es (Joan Carles Jimenez) Date: Mon, 5 May 2008 21:31:14 +0200 Subject: API C de Python In-Reply-To: <172699c50805051133j5174404br48fdbecf5eee925f@mail.gmail.com> References: <200805051741.26790.jjcarles@terra.es> <172699c50805051133j5174404br48fdbecf5eee925f@mail.gmail.com> Message-ID: <200805052131.14752.jjcarles@terra.es> > a que te refieres con capturar la salida?...segun la documentacion > esta funcion retorna un 0 si es exitosa o un -1 cuando algo falla A ver si me explico mejor. Cuando me refiero a capturar la salida, me refiero a la salida de la instruccion python. Es decir, si ejecuto las siguientes lineas ... PyRun_SimpleString("a='hola '"); PyRun_SimpleString("b='mundo'); PyRun_SimpleString("c=a+b"); PyRun_SimpleString("print c"); ..., quiero recuperar la salida de la instrucción 'print c', que seria 'hola mundo'. En python seria: >>> a='hola ' >>> b='mundo' >>> c=a+b >>> print c hola mundo Es ese "hola mundo" el que quiero guardar en una variable de C Gracias. -- Joan Carles Jimenez jjcarles en terra.es ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From punchikk en yahoo.com Mon May 5 21:33:06 2008 From: punchikk en yahoo.com (punchik punchik) Date: Mon, 5 May 2008 12:33:06 -0700 (PDT) Subject: correr archivos python en servidor In-Reply-To: <3da702830805051136j6257813aob1f0cfc0861afbef@mail.gmail.com> References: <3da702830805051136j6257813aob1f0cfc0861afbef@mail.gmail.com> Message-ID: <215142.93179.qm@web32005.mail.mud.yahoo.com> hola, gracias por las respuestas. He probado con muchos scripts cgi python y todos me da el mismo error, siguiendo los consejos de la lista he comprobado la ruta, tambien los permisos , los cuales estan todos activados. luego mirando el archivo error.log me sale este mensaje: [Sun May 04 20:54:57 2008] [error] [client 201.230.77.75] Premature end of script headers: time.py, referer: http://www.kiplix.net/moco.html en la pagina web de dreamhost dice que no necesito instalar ningun mod para correr python , que ya viene preinstalado,,, he buscado informacion en internet sobre "Premature end of script headers" pero no he encontrado nada claro, en una web lei que el problema podria deberse a que el archivo python a sido grabado usando un editor de texto de windows que normalmente graba los archivos de texto con "\r\n" para marcar el final de una linea y que deberia grabarse como un file formato "unix" que solo usa "/n" , bueno he probado grabando con distintos editores de texto y tambien desde macosx pero sigo teniendo el mismo problema. Alguien tiene alguna idea? gracias kalith kalith wrote: una cosa q yo pregunto corrijanme si me equivoco no hay q instalar un mod en apache para correr scripts en python :S -- Seamos realistas y hagamos lo imposible _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes --------------------------------- Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From markuz en islascruz.org Mon May 5 21:54:08 2008 From: markuz en islascruz.org (Marco Antonio Islas Cruz) Date: Mon, 05 May 2008 14:54:08 -0500 Subject: correr archivos python en servidor In-Reply-To: <215142.93179.qm@web32005.mail.mud.yahoo.com> References: <215142.93179.qm@web32005.mail.mud.yahoo.com> Message-ID: <1210017248.7765.8.camel@cucusa> Aqui esta el problema: <> On Mon, 2008-05-05 at 12:33 -0700, punchik punchik wrote: > hola, gracias por las respuestas. He probado con muchos scripts cgi python y todos me da el mismo error, siguiendo los consejos de la lista he comprobado la ruta, tambien los permisos , los cuales estan todos activados. luego mirando el archivo error.log me sale este mensaje: > [Sun May 04 20:54:57 2008] [error] [client 201.230.77.75] Premature end of script headers: time.py, referer: http://www.kiplix.net/moco.html > > en la pagina web de dreamhost dice que no necesito instalar ningun mod para correr python , que ya viene preinstalado,,, > he buscado informacion en internet sobre "Premature end of script headers" pero no he encontrado nada claro, en una web lei que el problema podria deberse a que el archivo python a sido grabado usando un editor de texto de windows que normalmente graba los archivos de texto con "\r\n" para marcar el final de una linea y que deberia grabarse como un file formato "unix" que solo usa "/n" , bueno he probado grabando con distintos editores de texto y tambien desde macosx pero sigo teniendo el mismo problema. > > Alguien tiene alguna idea? > > gracias > > > kalith kalith wrote: > una cosa q yo pregunto corrijanme si me equivoco no hay q instalar un mod en > apache para correr scripts en python :S -- <--Linux... Because I'm Free--> Marco Antonio Islas Cruz "Markuz" Linux User #280229 markuz en islascruz.org markuz en unixmexico.org markuz en linuxpozarica.com marco.islas en gmail.com islacruz en yahoo.com http://www.islascruz.org http://sourceforge.net/projects/gpkg/ http://www.linuxpozarica.com ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part URL: ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From fvillarroel en yahoo.com Mon May 5 22:44:34 2008 From: fvillarroel en yahoo.com (FERNANDO VILLARROEL) Date: Mon, 5 May 2008 13:44:34 -0700 (PDT) Subject: SqlAlchemy & Postgres & TG2. In-Reply-To: <68d25cbc0805042300n3535602bx531f3152a6565ac0@mail.gmail.com> References: <68d25cbc0805042300n3535602bx531f3152a6565ac0@mail.gmail.com> Message-ID: <65048.71988.qm@web34307.mail.mud.yahoo.com> Hola Gracias Miguel. El asunto es que no se como personalizar el formato en la aplicacion TG2.0, he leido que se puede resolver usando un script en sitecustomize.py import sys sys.setdefaultencoding("UTF-8") Pero que no es la mejor solucion al tema tampoco. He visto el link que me enviaste y el tema es claro, pero no le encuentro la vuelta en la aplicacion TG2.0 para que funcione. Bueno de momento continuo investigando, a menos que alguien connosca la receta. Atte. Fernando > Tienes un problema con unicode. Python usa por > defecto como encoding > ascii. La cadena que intentas usar tiene un carácter > 0xc2 que no tiene > correspondencia en ese encoding y lanza la > excepción. Dile al sistema > el encoding que estás usando cuando tiene que > convertir a unicode. El > carácter que estás usando supongo que es una  por > el mensaje que > muestras. Si usas unicode('cadena con Â', > iso-8859-1) ya no dará el > error. > Aquí tienes una minimini guía, que al final tiene > bibliografía > http://crysol.inf-cr.uclm.es/node/454 > > > Saludos, > > -- > > Luis Miguel > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > ____________________________________________________________________________________ Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From morillas en gmail.com Mon May 5 23:25:17 2008 From: morillas en gmail.com (Luis Miguel Morillas) Date: Mon, 5 May 2008 23:25:17 +0200 Subject: SqlAlchemy & Postgres & TG2 In-Reply-To: <65048.71988.qm@web34307.mail.mud.yahoo.com> References: <68d25cbc0805042300n3535602bx531f3152a6565ac0@mail.gmail.com> <65048.71988.qm@web34307.mail.mud.yahoo.com> Message-ID: <68d25cbc0805051425k429690e7i8f6242df058338fd@mail.gmail.com> El día 5 de mayo de 2008 22:44, FERNANDO VILLARROEL escribió: > Hola Gracias Miguel. > > El asunto es que no se como personalizar el formato en > la aplicacion TG2.0, he leido que se puede resolver > usando un script en > > sitecustomize.py > > import sys > sys.setdefaultencoding("UTF-8") No. Eso no tienes que hacerlo nunca. Harías que la aplicación sólo funcionara es un python configurado con esas características. > > Pero que no es la mejor solucion al tema tampoco. He > visto el link que me enviaste y el tema es claro, pero > no le encuentro la vuelta en la aplicacion TG2.0 para > que funcione. > > Bueno de momento continuo investigando, a menos que > alguien connosca la receta. > No hay que investigar mucho. Usa Unicode siempre y ya está :-) ¿dónde tienes el problema? > Atte. > > Fernando > > > Tienes un problema con unicode. Python usa por > > defecto como encoding > > ascii. La cadena que intentas usar tiene un carácter > > 0xc2 que no tiene > > correspondencia en ese encoding y lanza la > > excepción. Dile al sistema > > el encoding que estás usando cuando tiene que > > convertir a unicode. El > > carácter que estás usando supongo que es una  por > > el mensaje que > > muestras. Si usas unicode('cadena con Â', > > iso-8859-1) ya no dará el > > error. > > Aquí tienes una minimini guía, que al final tiene > > bibliografía > > http://crysol.inf-cr.uclm.es/node/454 > > > > > > > Saludos, > > > > -- > > > > Luis Miguel > > _______________________________________________ > > Lista de correo Python-es > > http://listas.aditel.org/listinfo/python-es > > FAQ: http://listas.aditel.org/faqpyes > > > > > > > ____________________________________________________________________________________ > Be a better friend, newshound, and > know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Saludos, -- Luis Miguel _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From fvillarroel en yahoo.com Mon May 5 23:43:40 2008 From: fvillarroel en yahoo.com (FERNANDO VILLARROEL) Date: Mon, 5 May 2008 14:43:40 -0700 (PDT) Subject: SqlAlchemy & Postgres & TG2 In-Reply-To: <68d25cbc0805051425k429690e7i8f6242df058338fd@mail.gmail.com> References: <68d25cbc0805051425k429690e7i8f6242df058338fd@mail.gmail.com> Message-ID: <831832.36109.qm@web34303.mail.mud.yahoo.com> Hola, Bueno si mi problema es donde le digo a la aplicacion TG2.0 que tipo de unicode debe usar. En realidad que use utf-8 en lugar de ASCII que es el default O se debe debe definir en la aplicacion TG2.0 --- Luis Miguel Morillas wrote: > > No hay que investigar mucho. Usa Unicode siempre y > ya está :-) ¿dónde > tienes el problema? > > > ____________________________________________________________________________________ Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From patovala en pupilabox.net.ec Mon May 5 20:33:32 2008 From: patovala en pupilabox.net.ec (Patricio Valarezo Lozano) Date: Mon, 05 May 2008 13:33:32 -0500 Subject: implicaciones de usar property, setters y getters Message-ID: <481F52FC.7070100@pupilabox.net.ec> Hola, quisiera por favor que alguien me pudiera explicar la verdadera necesidad de usar property para definir getters y setters o para poder acceder a funciones privadas, me explico mejor: Estoy revisando un código que usa Elixir(1) para definir un mapper a una base de datos, usa el siguiente código: class Person(Entity): id = Field(Integer, primary_key=True) name = Field(String(50), required=True) biography = Field(Text) photo = Field(Binary, deferred=True) _email = Field(String(20), colname='email', synonym='email') def _set_email(self, email): self._email = email def _get_email(self): return self._email email = property(_get_email, _set_email) Aquí ha declarado _email como privado (por el _ ) y luego define _set_email y _get_email para poder acceder a esta propiedad, luego define con property las propiedades y las asigna a email, ahora se podría acceder a _email mediante .email, estoy en lo correcto?. Mi pregunta realmente es Por qué molestarse haciendo todo esto si a podría definir email = Field(...) como definió photo y los otros atributos??. He leído en alguna parte que en Python lo de setters y getters no es muy bien visto (puesto que proviene de programadores acostumbrados al java y sus beans). tomando en cuenta que Python es un lenguaje que da al programador una gran libertad, quisiera que me dijeran cual es la ventaja real de usar _atributo y luego acceder con property? de que me estaría perdiendo si no lo hiciera así? saludos y gracias por sus comentarios Patricio Valarezo. (1) http://elixir.ematia.de/apidocs/elixir.fields.html -- patoVala Linux User#280504 Hablando en http://www.elprimoalcahuete.com "Someone whom you reject today, will reject you tomorrow." _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From minoztro en gmail.com Tue May 6 01:45:08 2008 From: minoztro en gmail.com (Milton Galo Patricio Inostroza Aguilera) Date: Mon, 5 May 2008 19:45:08 -0400 Subject: API C de Python In-Reply-To: <200805052131.14752.jjcarles@terra.es> References: <200805051741.26790.jjcarles@terra.es> <172699c50805051133j5174404br48fdbecf5eee925f@mail.gmail.com> <200805052131.14752.jjcarles@terra.es> Message-ID: <172699c50805051645w5660a7e4m5f8753dad0bf70ce@mail.gmail.com> El día 5 de mayo de 2008 15:31, Joan Carles Jimenez escribió: > > a que te refieres con capturar la salida?...segun la documentacion > > esta funcion retorna un 0 si es exitosa o un -1 cuando algo falla > > A ver si me explico mejor. Cuando me refiero a capturar la salida, me refiero > a la salida de la instruccion python. Es decir, si ejecuto las siguientes > lineas ... > > PyRun_SimpleString("a='hola '"); > PyRun_SimpleString("b='mundo'); > PyRun_SimpleString("c=a+b"); bueno aca debieras hacer un Py_BuildValue para la variable a, luego para la variable b y después hacer un PyString_Concat...pero pienso que es muy especifica la solución que te estoy dando, así que no se si te servirá > PyRun_SimpleString("print c"); lo otro que se me ocurre es mirar en las variables locales...en python lo hacemos con locals, pero en el api de C no encontré tal equivalencia, solo encontré la equivalencia de dir, pero no sirve... > > ..., quiero recuperar la salida de la instrucción 'print c', que seria 'hola > mundo'. > > En python seria: > > >>> a='hola ' > >>> b='mundo' > >>> c=a+b > >>> print c > hola mundo aca si preguntas en locals()['c'] tienes tu valor...en C busque toda la tarde y no fui capaz de encontrarlo =/...quizás los que saben más pueden ayudar :D > > Es ese "hola mundo" el que quiero guardar en una variable de C > > Gracias. > > -- > > > Joan Carles Jimenez > jjcarles en terra.es > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Milton Inostroza Aguilera ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pych3m4 en gmail.com Tue May 6 02:51:02 2008 From: pych3m4 en gmail.com (Chema Cortes) Date: Tue, 6 May 2008 02:51:02 +0200 Subject: implicaciones de usar property, setters y getters In-Reply-To: <481F52FC.7070100@pupilabox.net.ec> References: <481F52FC.7070100@pupilabox.net.ec> Message-ID: <2c9fb0dd0805051751u51323d52k50a8517fe5e857dd@mail.gmail.com> El día 5 de mayo de 2008 20:33, Patricio Valarezo Lozano escribió: > Hola, quisiera por favor que alguien me pudiera explicar la verdadera > necesidad de usar property para definir getters y setters o para poder > acceder a funciones privadas, me explico mejor: > > Estoy revisando un código que usa Elixir(1) para definir un mapper a una > base de datos, usa el siguiente código: > > > class Person(Entity): > id = Field(Integer, primary_key=True) > name = Field(String(50), required=True) > biography = Field(Text) > photo = Field(Binary, deferred=True) > _email = Field(String(20), colname='email', synonym='email') > > def _set_email(self, email): > self._email = email > def _get_email(self): > return self._email > email = property(_get_email, _set_email) > > > Aquí ha declarado _email como privado (por el _ ) y luego define _set_email > y _get_email para poder acceder a esta propiedad, luego define con property > las propiedades y las asigna a email, ahora se podría acceder a _email > mediante .email, estoy en lo correcto?. Mi pregunta realmente es Por > qué molestarse haciendo todo esto si a podría definir email = Field(...) > como definió photo y los otros atributos??. Yo diría que es equivalente, un ejemplo trivial donde mostrar cómo se podrían especializar los accesores. > He leído en alguna parte que en Python lo de setters y getters no es muy > bien visto (puesto que proviene de programadores acostumbrados al java y sus > beans). tomando en cuenta que Python es un lenguaje que da al programador > una gran libertad, quisiera que me dijeran cual es la ventaja real de usar > _atributo y luego acceder con property? de que me estaría perdiendo si no lo > hiciera así? Bueno, lo de usar métodos accesores para acceder a los atributos de un objeto es bastante más viejo que los javabeans (eg: visual basic 5). En realidad es parte del paradigma de la programación orientada a objetos, un modo de exponer datos encapsulados que se encontraban en los interfaces privados o protegidos. El agruparlos en "propiedades" (properties) es más por mejorar la legibilidad que por otra cosa, ya que en python existían los "descriptores" que podían hacer esta misma función (de hecho property() no es más que un data-descriptor especializado). El uso de accesores permite definir atributos de sólo lectura, de "sólo una escritura" ("one-shot var") o con control de acceso. También permiten crear "disparadores" ("triggers") para cuando cambia un atributo, o "acopladores", para hacer encajar un interfaz en otro. Un ejemplo de esto último sería cuando tienes una base de datos con datos en unidades diferentes a las que usa la aplicación. Con los accesores podrías hacer que las conversiones de unidades se hicieran de modo transparente. Otra razón, no menos importante, tiene que ver con la refactorización del código. Si todo acceso se hace a través de accesores, es más fácil luego llevar el atributo a otro sitio. PD: seguramente Field() también sea un data-descriptor con métodos __set__/__get__ . _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From gagsl-py2 en yahoo.com.ar Tue May 6 07:39:22 2008 From: gagsl-py2 en yahoo.com.ar (Gabriel Genellina) Date: Tue, 06 May 2008 02:39:22 -0300 Subject: API C de Python References: <200805051741.26790.jjcarles@terra.es> <172699c50805051133j5174404br48fdbecf5eee925f@mail.gmail.com> <200805052131.14752.jjcarles@terra.es> Message-ID: En Mon, 05 May 2008 16:31:14 -0300, Joan Carles Jimenez escribió: >> a que te refieres con capturar la salida?...segun la documentacion >> esta funcion retorna un 0 si es exitosa o un -1 cuando algo falla > > A ver si me explico mejor. Cuando me refiero a capturar la salida, me > refiero > a la salida de la instruccion python. Es decir, si ejecuto las siguientes > lineas ... > > PyRun_SimpleString("a='hola '"); > PyRun_SimpleString("b='mundo'); > PyRun_SimpleString("c=a+b"); > PyRun_SimpleString("print c"); > > ..., quiero recuperar la salida de la instrucción 'print c', que seria > 'hola > mundo'. Ese `print c` hace basicamente sys.stdout.write(str(c)) seguido de un fin de linea. Asi que, igual que si fuera codigo Python puro, tendrias que reemplazar sys.stdout por un objeto tuyo que "atrape" todo lo que se imprime. Pero lo veo realmente muy rebuscado - que es lo que realmente estas queriendo hacer? -- Gabriel Genellina ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From gagsl-py2 en yahoo.com.ar Tue May 6 07:50:26 2008 From: gagsl-py2 en yahoo.com.ar (Gabriel Genellina) Date: Tue, 06 May 2008 02:50:26 -0300 Subject: =?iso-8859-15?q?lanzar_aplicaci=F3n_y_simular_teclado?= References: <481ED6B0.7010509@gmail.com> Message-ID: En Mon, 05 May 2008 06:43:12 -0300, damufo escribió: > En win xp > Tengo una aplicación .exe que lanza un formulario que me pide un texto > (siempre el mismo), Se me ha ocurrido que para automatizar esto pueda > lanzar el formulario y simular la salida del teclado para que se cubra > el texto de forma automatica. [codigo usando subprocess.Popen y PIPE] Eso sirve para controlar aplicaciones de consola, que usan la entrada estandar. Pero las aplicaciones de ventana la ignoran totalmente. En este caso te conviene usar pywinauto, una libreria diseñada para automatizar aplicaciones; aparte de simular ingreso por teclado, se puede simular un click en un boton, o una seleccion de menu, lo que quieras. (Nota sobre las dependencias: si estas usando Python 2.5 no hace falta instalar ctypes por separado) -- Gabriel Genellina ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From jjcarles en terra.es Tue May 6 11:35:02 2008 From: jjcarles en terra.es (Joan Carles Jimenez) Date: Tue, 6 May 2008 11:35:02 +0200 Subject: API C de Python In-Reply-To: <172699c50805051645w5660a7e4m5f8753dad0bf70ce@mail.gmail.com> References: <200805051741.26790.jjcarles@terra.es> <200805052131.14752.jjcarles@terra.es> <172699c50805051645w5660a7e4m5f8753dad0bf70ce@mail.gmail.com> Message-ID: <200805061135.02796.jjcarles@terra.es> Hola de nuevo. > bueno aca debieras hacer un Py_BuildValue para la variable a, luego > para la variable b y después hacer un PyString_Concat...pero pienso > que es muy especifica la solución que te estoy dando, así que no se si > te servirá La opción que me comentas ya la habia pensado, pero como bien dices, es muy específica. Mi idea es hacer una miniconsola de python en formato gráfico utilizando QT, para integrarla en un proyecto mas grande. La miniconsola tiene dos areas diferenciadas: una "text area" donde el usuario introduce los comandos de python y otra "text area" donde se muestra la salida (o el resultado) del comando introducido por el usuario (que es donde tengo el problema). Gracias por la ayuda. -- Joan Carles Jimenez jjcarles en terra.es ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From damufo en gmail.com Tue May 6 11:42:09 2008 From: damufo en gmail.com (damufo) Date: Tue, 06 May 2008 11:42:09 +0200 Subject: lanzar =?ISO-8859-15?Q?aplicaci=F3n_y_si?= =?ISO-8859-15?Q?mular_teclado?= In-Reply-To: References: <481ED6B0.7010509@gmail.com> Message-ID: <482027F1.9090209@gmail.com> Gabriel Genellina escribiu: > En Mon, 05 May 2008 06:43:12 -0300, damufo escribió: > >> En win xp >> Tengo una aplicación .exe que lanza un formulario que me pide un texto >> (siempre el mismo), Se me ha ocurrido que para automatizar esto pueda >> lanzar el formulario y simular la salida del teclado para que se cubra >> el texto de forma automatica. > > [codigo usando subprocess.Popen y PIPE] > > Eso sirve para controlar aplicaciones de consola, que usan la entrada > estandar. Pero las aplicaciones de ventana la ignoran totalmente. > En este caso te conviene usar pywinauto, una libreria diseñada para > automatizar aplicaciones; aparte de simular ingreso por teclado, se > puede simular un click en un boton, o una seleccion de menu, lo que > quieras. > > (Nota sobre las dependencias: si estas usando Python 2.5 no hace falta > instalar ctypes por separado) Muchas gracias Gabriel, es justo lo que necesitaba, co tres simples lineas he conseguido el objetivo. from pywinauto import application app = application.Application.start("mi_aplicacion.exe") app.Dialog.TypeKeys("texto a introducir") app.Dialog.TypeKeys("%a") # esto es: ALT + a ah!! uso python 2.5 y solo he tenido que instalar el pywinauto y el sendkeys. -- dani ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From acurro en wanadoo.es Tue May 6 12:39:55 2008 From: acurro en wanadoo.es (Alberto Curro) Date: Tue, 06 May 2008 12:39:55 +0200 Subject: API C de Python In-Reply-To: <200805061135.02796.jjcarles@terra.es> References: <200805051741.26790.jjcarles@terra.es> <200805052131.14752.jjcarles@terra.es> <172699c50805051645w5660a7e4m5f8753dad0bf70ce@mail.gmail.com> <200805061135.02796.jjcarles@terra.es> Message-ID: <4820357B.6090301@wanadoo.es> Joan Carles Jimenez escribió: > Hola de nuevo. > > >> bueno aca debieras hacer un Py_BuildValue para la variable a, luego >> para la variable b y después hacer un PyString_Concat...pero pienso >> que es muy especifica la solución que te estoy dando, así que no se si >> te servirá >> > > La opción que me comentas ya la habia pensado, pero como bien dices, es muy > específica. Mi idea es hacer una miniconsola de python en formato gráfico > utilizando QT, para integrarla en un proyecto mas grande. La miniconsola > tiene dos areas diferenciadas: una "text area" donde el usuario introduce los > comandos de python y otra "text area" donde se muestra la salida (o el > resultado) del comando introducido por el usuario (que es donde tengo el > problema). > Hasta donde yo veo, lo que pretendes es capturar la salida de un comando de línea de comandos (en este caso, el intérprete Python). Entonces el mensaje inicial está confundido. El api C de Python hasta donde sé se usa para integrar "objetos" desarrollados en C dentro del propio Python, con las ganancias de velocidad, etc. Yo partiría de buscar ejemplos de captura con QT de la salida de comandos en la consola. Ejemplos debes tener a cientos, y más con QT. KDevelop lo hace, por ejemplo, con las salidas del compilador. Si haces un print (c) con Python, como te comentan en otro mensaje, estás haciendo un sys.stdout.write(). Y ese resultado sale por consola. Captura esa salida, no el objeto Python, salvo que te haya entendido mal y pretendas construir un debugger simple de objetos Python. Espero haber sido de ayuda. Un saludo > Gracias por la ayuda. > > > > > > ------------------------------------------------------------------------ > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From rafaelcantos en hotmail.com Tue May 6 13:18:07 2008 From: rafaelcantos en hotmail.com (Rafael Cantos) Date: Tue, 6 May 2008 11:18:07 +0000 Subject: =?iso-8859-1?q?Problema_de_comparaci=F3n_con_None?= Message-ID: buenas otra vez Ahora el problema me surge en una comparación, de la siguiente forma: Tengo una clase, llamada Registro, en la cuál se estiban y desestiban objetos de python tipo lista, con distintos tipos dentro. Desde otra clase, llamada Controlador, llamo a un método de Registro para que me devuelva el objeto desestibado con picle (se me había olvidado decir que uso pickle) y realizo una comparación así: if registro[0][0] != None: ... donde registro es el objeto desestibado. Al hacer esto, me devuelve el siguiente error: NoneType is unsubcriptable. ¿Qué es lo que puede fallar? Saludos y gracias. Rafa Rafael Cantos Villanueva Estudiante de Ingeniería Técnica en Informática de Gestión, universidad de Córdoba. http://www.rafaelcantos.es E-MAIL: rafaelcantos en hotmail.com _________________________________________________________________ La vida de los famosos al desnudo en MSN Entretenimiento http://entretenimiento.es.msn.com/_______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From the.blue.valkyrie en gmail.com Tue May 6 13:53:09 2008 From: the.blue.valkyrie en gmail.com (=?ISO-8859-1?Q?Cristina_Yenyxe_Gonz=E1lez_Garc=EDa?=) Date: Tue, 6 May 2008 13:53:09 +0200 Subject: =?ISO-8859-1?Q?Re:__Problema_de_comparaci=F3n_con_None?= In-Reply-To: References: Message-ID: El día 6 de mayo de 2008 13:18, Rafael Cantos escribió: > > buenas otra vez Hola. > > > Ahora el problema me surge en una comparación, de la siguiente forma: > Tengo una clase, llamada Registro, en la cuál se estiban y desestiban objetos de python tipo lista, con distintos tipos dentro. > Desde otra clase, llamada Controlador, llamo a un método de Registro para que me devuelva el objeto desestibado con picle (se me había olvidado decir que uso pickle) y realizo una comparación así: > if registro[0][0] != None: > ... > donde registro es el objeto desestibado. > Al hacer esto, me devuelve el siguiente error: > NoneType is unsubcriptable. > ¿Qué es lo que puede fallar? > En inglés, "subscript" significa "subíndice", por lo que te está diciendo que no puedes extraer un subíndice de un objeto de tipo NoneType. Es decir, que registro y/o registro[0] son None, y por tanto no se puede obtener ninguna posición a partir de ellos. Tendrías que añadir otra comprobación intermedia. Por otro lado, cuando estés comprobando que algo no es None lo recomendable sería utilizar "if X is not None" o incluso "if X" (este último solo en caso de que tampoco te sirvan los valores 0, [] o {}, que se evalúan a falso). > Saludos y gracias. Un saludo. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pachi en rvburke.com Tue May 6 13:21:16 2008 From: pachi en rvburke.com (Rafael Villar Burke) Date: Tue, 06 May 2008 13:21:16 +0200 Subject: Problema de =?ISO-8859-1?Q?comparaci=F3n_con_?= =?ISO-8859-1?Q?None?= In-Reply-To: References: Message-ID: <48203F2C.3030001@rvburke.com> Rafael Cantos wrote: > buenas otra vez > > Ahora el problema me surge en una comparación, de la siguiente forma: > Tengo una clase, llamada Registro, en la cuál se estiban y desestiban objetos de python tipo lista, con distintos tipos dentro. > Desde otra clase, llamada Controlador, llamo a un método de Registro para que me devuelva el objeto desestibado con picle (se me había olvidado decir que uso pickle) y realizo una comparación así: > if registro[0][0] != None: > ... > donde registro es el objeto desestibado. > Al hacer esto, me devuelve el siguiente error: > NoneType is unsubcriptable. > ¿Qué es lo que puede fallar? > > Podría ser que la varibale registro es None e intentas acceder a él como si fuese "indizable". Para evitarlo podrías comprobar que registro is not None. Saludos, Rafael Villar Burke _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From listas en soft-com.es Tue May 6 13:55:26 2008 From: listas en soft-com.es (=?ISO-8859-1?Q?Oswaldo_Hern=E1ndez?=) Date: Tue, 06 May 2008 13:55:26 +0200 Subject: Problema de =?ISO-8859-1?Q?comparaci=F3n_con_?= =?ISO-8859-1?Q?None?= In-Reply-To: References: Message-ID: <4820472E.1040706@soft-com.es> Rafael Cantos escribió: > buenas otra vez > > Ahora el problema me surge en una comparación, de la siguiente forma: > Tengo una clase, llamada Registro, en la cuál se estiban y desestiban objetos de python tipo lista, con distintos tipos dentro. > Desde otra clase, llamada Controlador, llamo a un método de Registro para que me devuelva el objeto desestibado con picle (se me había olvidado decir que uso pickle) y realizo una comparación así: > if registro[0][0] != None: > ... > donde registro es el objeto desestibado. > Al hacer esto, me devuelve el siguiente error: > NoneType is unsubcriptable. > ¿Qué es lo que puede fallar? > Tiene toda la pinta de que el objeto registro es None y por eso te da el error al intentar acceder el elemento [0][0]. Saludos, -- ***************************************** Oswaldo Hernández oswaldo (@) soft-com (.) es ***************************************** PD: Antes de imprimir este mensaje, asegúrese de que es necesario. El medio ambiente está en nuestra mano. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From listas en soft-com.es Tue May 6 16:43:44 2008 From: listas en soft-com.es (=?ISO-8859-1?Q?Oswaldo_Hern=E1ndez?=) Date: Tue, 06 May 2008 16:43:44 +0200 Subject: Excepciones en plpython Message-ID: <48206EA0.6060105@soft-com.es> Hola, Estoy haciendo una funciones en plpython (PostgreSQL) y no consiguo capturar correctamente las excepciones de la base de datos, es decir, En una funcion: try: plpy.execute("select .......") except Exception, e: plpy.error("Error ejecucion:<%s>, %s" % (e.__class__, str(e)) Si se produce un error del lado de la base de datos (sql erroneo, etc ..) siempre me tira la misma excepción, sea cual sea el error: "Error execute <>, error return without exception set", Al ejecutarlo en psql muestra los siguientes mensajes: WARNING: plpython: in function pytest3: DETALLE: : Unknown error in PLy_spi_execute_query por lo que he intentado: except plpy.SPIError, e: pero lo ignora y salta con la excepcion generica y el mensaje mecionado. ¿Alguien sabe como capturar correctamente las excepciones de PostgreSQL? Gracias. -- ***************************************** Oswaldo Hernández oswaldo (@) soft-com (.) es ***************************************** PD: Antes de imprimir este mensaje, asegúrese de que es necesario. El medio ambiente está en nuestra mano. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pych3m4 en gmail.com Tue May 6 19:29:42 2008 From: pych3m4 en gmail.com (Chema Cortes) Date: Tue, 6 May 2008 19:29:42 +0200 Subject: Excepciones en plpython In-Reply-To: <48206EA0.6060105@soft-com.es> References: <48206EA0.6060105@soft-com.es> Message-ID: <2c9fb0dd0805061029sc94b13am2363a875ae9ebada@mail.gmail.com> El 2008/5/6 Oswaldo Hernández escribió: > Estoy haciendo una funciones en plpython (PostgreSQL) y no consiguo > capturar correctamente las excepciones de la base de datos, es decir, > > En una funcion: > > try: > plpy.execute("select .......") > except Exception, e: > plpy.error("Error ejecucion:<%s>, %s" % (e.__class__, str(e)) > > Si se produce un error del lado de la base de datos (sql erroneo, etc ..) > siempre me tira la misma excepción, sea cual sea el error: > "Error execute <>, error return without > exception set", Según la documentación, plpy.error() siempre lanza una excepción python, responsable del final de la transacción que se está ejecutando al no ser interceptada. No creo que sea éso lo que quieras hacer. > Al ejecutarlo en psql muestra los siguientes mensajes: > WARNING: plpython: in function pytest3: > DETALLE: : Unknown error in > PLy_spi_execute_query > > por lo que he intentado: > except plpy.SPIError, e: > > pero lo ignora y salta con la excepcion generica y el mensaje mecionado. > > ¿Alguien sabe como capturar correctamente las excepciones de PostgreSQL? _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From listas en soft-com.es Tue May 6 22:04:44 2008 From: listas en soft-com.es (=?ISO-8859-1?Q?Oswaldo_Hern=E1ndez?=) Date: Tue, 06 May 2008 22:04:44 +0200 Subject: Excepciones en plpython In-Reply-To: <2c9fb0dd0805061029sc94b13am2363a875ae9ebada@mail.gmail.com> References: <48206EA0.6060105@soft-com.es> <2c9fb0dd0805061029sc94b13am2363a875ae9ebada@mail.gmail.com> Message-ID: <4820B9DC.4040409@soft-com.es> Chema Cortes escribió: > El 2008/5/6 Oswaldo Hernández escribió: > >> Estoy haciendo una funciones en plpython (PostgreSQL) y no consiguo >> capturar correctamente las excepciones de la base de datos, es decir, >> >> En una funcion: >> >> try: >> plpy.execute("select .......") >> except Exception, e: >> plpy.error("Error ejecucion:<%s>, %s" % (e.__class__, str(e)) >> >> Si se produce un error del lado de la base de datos (sql erroneo, etc ..) >> siempre me tira la misma excepción, sea cual sea el error: >> "Error execute <>, error return without >> exception set", > > Según la documentación, plpy.error() siempre lanza una excepción > python, responsable del final de la transacción que se está ejecutando > al no ser interceptada. No creo que sea éso lo que quieras hacer. > Hola Chema, No, el problema es que no puedo cancelar las excepciones de Postgres. El except las captura, pero si quieres cancelarla no puedes, siempre aborta y lanza la excepción. Esto solo pasa con las excepciones del SPI, con las excepciones normales de python si funciona bien. CREATE OR REPLACE FUNCTION pruebas.pytest3() RETURNS integer AS $BODY$ try: rws = plpy.execute("select 1/0") except Exception, e: plpy.notice("Error:", str(e)) return 1 $BODY$ LANGUAGE 'plpythonu' VOLATILE SECURITY DEFINER Esta funcion deberia capturar la excepcion de Postgres, emitir un notice y hacer un return 1 sin mas consecuencias, sin embargo el resultado es: select pruebas.pytest3() WARNING: plpython: in function pytest3: DETALLE: : Unknown error in PLy_spi_execute_query NOTICE: ('Error:', 'error return without exception set') ERROR: división por cero CONTEXTO: sentencia SQL: «select 1/0» He localizado el codigo de plpython y hay unos comentarios del autor sobre este tema. (linea: 270) Gracias por tu respuesta. Saludos, -- ***************************************** Oswaldo Hernández oswaldo (@) soft-com (.) es ***************************************** PD: Antes de imprimir este mensaje, asegúrese de que es necesario. El medio ambiente está en nuestra mano. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From roylan04012 en pri.jovenclub.cu Tue May 6 21:23:48 2008 From: roylan04012 en pri.jovenclub.cu (Roylan Suarez Reyes) Date: Tue, 6 May 2008 15:23:48 -0400 Subject: problemas con el modulo urllib Message-ID: <2212a408dd81158a398f5d2e63c6996a@mx1.vn.pri.jovenclub.cu> Hola colegas Estoy haciendo algunas pruebas por aca y tengo el siguiente problema >>> import urllib >>> sock = urllib.urlopen("www.vn.pri.jovenclub.cu") Traceback (most recent call last): File "", line 1, in ? File "/usr/lib/python2.4/urllib.py", line 82, in urlopen return opener.open(url) File "/usr/lib/python2.4/urllib.py", line 190, in open return getattr(self, name)(url) File "/usr/lib/python2.4/urllib.py", line 313, in open_http h.endheaders() File "/usr/lib/python2.4/httplib.py", line 798, in endheaders self._send_output() File "/usr/lib/python2.4/httplib.py", line 679, in _send_output self.send(msg) File "/usr/lib/python2.4/httplib.py", line 646, in send self.connect() File "/usr/lib/python2.4/httplib.py", line 614, in connect socket.SOCK_STREAM): IOError: [Errno socket error] (-2, 'Name or service not known') alguien me puede dar una sugerencia? -- -- Roylan Suarez Reyes Admin. Redes JC. Vinales roylan04012 en pri.jovenclub.cu Telef: 793210 ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From roylan04012 en pri.jovenclub.cu Tue May 6 23:50:12 2008 From: roylan04012 en pri.jovenclub.cu (Roylan Suarez Reyes) Date: Tue, 6 May 2008 17:50:12 -0400 Subject: ayuda con modulo urllib Message-ID: Hola colegas Estoy haciendo algunas pruebas por aca y tengo el siguiente problema >>> import urllib >>> sock = urllib.urlopen("www.vn.pri.jovenclub.cu") Traceback (most recent call last): File "", line 1, in ? File "/usr/lib/python2.4/urllib.py", line 82, in urlopen return opener.open(url) File "/usr/lib/python2.4/urllib.py", line 190, in open return getattr(self, name)(url) File "/usr/lib/python2.4/urllib.py", line 313, in open_http h.endheaders() File "/usr/lib/python2.4/httplib.py", line 798, in endheaders self._send_output() File "/usr/lib/python2.4/httplib.py", line 679, in _send_output self.send(msg) File "/usr/lib/python2.4/httplib.py", line 646, in send self.connect() File "/usr/lib/python2.4/httplib.py", line 614, in connect socket.SOCK_STREAM): IOError: [Errno socket error] (-2, 'Name or service not known') alguien me puede dar una sugerencia? -- -- Roylan Suarez Reyes Admin. Redes JC. Vinales roylan04012 en pri.jovenclub.cu Telef: 793210 ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From carly21 en adinet.com.uy Tue May 6 23:53:43 2008 From: carly21 en adinet.com.uy (Carlos Do Carmo) Date: Tue, 6 May 2008 18:53:43 -0300 (UYT) Subject: (sin asunto) Message-ID: <30439723.1210110823909.JavaMail.tomcat@fe-ps04> Buenas, Soy nuevo en la lista, y con Python, estube lleyendo varios tutoriales, y la verdad es un lenguaje impresionante, estoy en la estaba de empezar a realizar algunos programitas de prueba, para hacer quiero realizarlo en linux (soy nuevo tambien con linux), estuble leyendo que puedo usar wxPython. aqui viene la bomba, no tengo ni idea como instalar wxPython, si me pueden dar una mano, y decirme que puedo usar para programar con Python, por lo tanto seguire buscando en google a ver si doy con algo concreto que me explique. gracias estoy con kubuntu 8.04 saludos ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From punchikk en yahoo.com Wed May 7 00:11:27 2008 From: punchikk en yahoo.com (punchik punchik) Date: Tue, 6 May 2008 15:11:27 -0700 (PDT) Subject: problemas con cgi.py Message-ID: <888487.54213.qm@web32005.mail.mud.yahoo.com> hola amigos, he logrado correr archivos python en el servidor , era un problema con los permisos . Debi haber configurado todos los file atributtes de python con el numero 755.... Ahora tengo un nuevo problema: No puedo importar el modulo cgi desde mi script de python, cada vez que lo intento me sale este error: Penzilla.net What is the Time?(wittime.py) Example: -->--> --> Traceback (most recent call last): File "uno.py", line 5, in ? import cgi File "/usr/lib/python2.3/cgi.py", line 39, in ? import urllib File "/usr/lib/python2.3/urllib.py", line 28, in ? import time File "/home/.stoli/ketaplex/ketaplex.net/cgi-bin/time.py", line 16, in ? print "

Penzilla thinks that it is: %s

" % time.ctime() AttributeError: 'module' alguien tiene una idea de a que se debe y como solucionarlo? pareciera que el modulo cgi no esta funcionando correctamente no? alguna idea? gracias. p. --------------------------------- Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From ingcomrbr en gmail.com Wed May 7 00:14:55 2008 From: ingcomrbr en gmail.com (Ramon Becerra Reynoso) Date: Tue, 6 May 2008 17:14:55 -0500 Subject: Comenzando en Python Message-ID: No se que distro este utilizando tu, pero si Utilizas Ubuntu ya vienen instaladas las librerias de PyGTK que es Python con GTK, te lo recomiento ese porque es el que yo utilizo, la verdad no me pide nada a ningunas otras librerias. Pero ya es cuestion de que tu decidas. Saludos. El día 6 de mayo de 2008 16:53, Carlos Do Carmo escribió: > Buenas, > Soy nuevo en la lista, y con Python, estube lleyendo varios > tutoriales, y la verdad es un lenguaje impresionante, estoy en la > estaba de empezar a realizar algunos programitas de prueba, para hacer > quiero realizarlo en linux (soy nuevo tambien con linux), estuble > leyendo que puedo usar wxPython. > aqui viene la bomba, no tengo ni idea como instalar wxPython, si me > pueden dar una mano, y decirme que puedo usar para programar con > Python, por lo tanto seguire buscando en google a ver si doy con algo > concreto que me explique. > > gracias > > estoy con kubuntu 8.04 > saludos > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Atentamente: IC. Ramón Becerra Reynoso. Asesor Linux - Desarrollador Python, Java, PHP, GTK / Open Source Linux Registered User #462438 - http://counter.li.org/ Cel: (33) 14489015 MSN: ingcomrbr en hotmail.com Homepage: http://www.ramonbecerra.com/ ================================================ No basta saber, se debe también aplicar. No suficiente querer, se debe también hacer. ================================================ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From fvillarroel en yahoo.com Wed May 7 00:27:39 2008 From: fvillarroel en yahoo.com (FERNANDO VILLARROEL) Date: Tue, 6 May 2008 15:27:39 -0700 (PDT) Subject: SqlAlchemy & Postgres & TG2 Unicode In-Reply-To: <831832.36109.qm@web34303.mail.mud.yahoo.com> References: <831832.36109.qm@web34303.mail.mud.yahoo.com> Message-ID: <160280.34884.qm@web34306.mail.mud.yahoo.com> Hola Luis, Como me dijiste debo simplemente usar unicode siempre, pero ahy esta mi problema: 1) Python usa por default ASCII verdad? 2) SqlAlchemy y TG maneja los datos como Unicode Entonces como le digo que siempre use unicode, haber si me puedes explicar ya que estoy testeando TG2.0 y mi experiencia con forms y el ambiente es casi cero. Fernando --- FERNANDO VILLARROEL wrote: > Hola, > > Bueno si mi problema es donde le digo a la > aplicacion > TG2.0 que tipo de unicode debe usar. En realidad que > use utf-8 en lugar de ASCII que es el default > > > O se debe debe definir en la aplicacion TG2.0 > --- Luis Miguel Morillas wrote: > > > > > > No hay que investigar mucho. Usa Unicode siempre y > > ya está :-) ¿dónde > > tienes el problema? > > > > > > > > > > > > ____________________________________________________________________________________ > Be a better friend, newshound, and > know-it-all with Yahoo! Mobile. Try it now. > http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > ____________________________________________________________________________________ Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From cloudneozero en gmail.com Wed May 7 00:58:44 2008 From: cloudneozero en gmail.com (Ark) Date: Tue, 6 May 2008 17:58:44 -0500 Subject: (sin asunto) In-Reply-To: <30439723.1210110823909.JavaMail.tomcat@fe-ps04> References: <30439723.1210110823909.JavaMail.tomcat@fe-ps04> Message-ID: <9dd22c9c0805061558n1230a3d9n2ef9ca80ba68d326@mail.gmail.com> Bueno, sobre wxpython, pues si tienes kubuntu deberias revisar los paquetes con el synaptic por ejemplo buscando python-wxpython. Yo tengo debian y la versión de wx que viene es la 2.6, sin embargo recomiendo la 2.8. Igual, tienes muchas más opciones, en lo personal no me gusta mucho wxpython, y me parece algo difícil para empezar además. Recomiendo PyGTK, que se puede instalar desde synaptic, y que además tiene muy buena documentación, mejor que la que he encontrado para wxpython. La tercera opción seria PyQt, así que hay muchas opciones. Ark _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From patovala en pupilabox.net.ec Tue May 6 18:50:48 2008 From: patovala en pupilabox.net.ec (Patricio Valarezo Lozano) Date: Tue, 06 May 2008 11:50:48 -0500 Subject: implicaciones de usar property, setters y getters In-Reply-To: <2c9fb0dd0805051751u51323d52k50a8517fe5e857dd@mail.gmail.com> References: <481F52FC.7070100@pupilabox.net.ec> <2c9fb0dd0805051751u51323d52k50a8517fe5e857dd@mail.gmail.com> Message-ID: <48208C68.1070807@pupilabox.net.ec> Chema Cortes wrote: > El día 5 de mayo de 2008 20:33, Patricio Valarezo Lozano > escribió: >> Hola, quisiera por favor que alguien me pudiera explicar la verdadera >> necesidad de usar property para definir getters y setters o para poder >> acceder a funciones privadas, me explico mejor: >> >> Estoy revisando un código que usa Elixir(1) para definir un mapper a una >> base de datos, usa el siguiente código: >> >> >> class Person(Entity): >> id = Field(Integer, primary_key=True) >> name = Field(String(50), required=True) >> biography = Field(Text) >> photo = Field(Binary, deferred=True) >> _email = Field(String(20), colname='email', synonym='email') >> >> def _set_email(self, email): >> self._email = email >> def _get_email(self): >> return self._email >> email = property(_get_email, _set_email) >> >> >> Aquí ha declarado _email como privado (por el _ ) y luego define _set_email >> y _get_email para poder acceder a esta propiedad, luego define con property >> las propiedades y las asigna a email, ahora se podría acceder a _email >> mediante .email, estoy en lo correcto?. Mi pregunta realmente es Por >> qué molestarse haciendo todo esto si a podría definir email = Field(...) >> como definió photo y los otros atributos??. > > Yo diría que es equivalente, un ejemplo trivial donde mostrar cómo se > podrían especializar los accesores. > >> He leído en alguna parte que en Python lo de setters y getters no es muy >> bien visto (puesto que proviene de programadores acostumbrados al java y sus >> beans). tomando en cuenta que Python es un lenguaje que da al programador >> una gran libertad, quisiera que me dijeran cual es la ventaja real de usar >> _atributo y luego acceder con property? de que me estaría perdiendo si no lo >> hiciera así? > > Bueno, lo de usar métodos accesores para acceder a los atributos de un > objeto es bastante más viejo que los javabeans (eg: visual basic 5). > En realidad es parte del paradigma de la programación orientada a > objetos, un modo de exponer datos encapsulados que se encontraban en > los interfaces privados o protegidos. El agruparlos en "propiedades" > (properties) es más por mejorar la legibilidad que por otra cosa, ya > que en python existían los "descriptores" que podían hacer esta misma > función (de hecho property() no es más que un data-descriptor > especializado). > > El uso de accesores permite definir atributos de sólo lectura, de > "sólo una escritura" ("one-shot var") o con control de acceso. También > permiten crear "disparadores" ("triggers") para cuando cambia un > atributo, o "acopladores", para hacer encajar un interfaz en otro. Un > ejemplo de esto último sería cuando tienes una base de datos con datos > en unidades diferentes a las que usa la aplicación. Con los accesores > podrías hacer que las conversiones de unidades se hicieran de modo > transparente. > > Otra razón, no menos importante, tiene que ver con la refactorización > del código. Si todo acceso se hace a través de accesores, es más fácil > luego llevar el atributo a otro sitio. > > > PD: seguramente Field() también sea un data-descriptor con métodos > __set__/__get__ . > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > Muchas gracias por tu aporte, me podrías sugerir algun articulo que aclare un poco mas lo de descriptores en python? gracias PV -- patoVala Linux User#280504 Hablando en http://www.elprimoalcahuete.com "Someone whom you reject today, will reject you tomorrow." _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From minoztro en gmail.com Wed May 7 02:21:49 2008 From: minoztro en gmail.com (Milton Galo Patricio Inostroza Aguilera) Date: Tue, 6 May 2008 20:21:49 -0400 Subject: implicaciones de usar property, setters y getters In-Reply-To: <48208C68.1070807@pupilabox.net.ec> References: <481F52FC.7070100@pupilabox.net.ec> <2c9fb0dd0805051751u51323d52k50a8517fe5e857dd@mail.gmail.com> <48208C68.1070807@pupilabox.net.ec> Message-ID: <172699c50805061721t3bd4cb12g7d7b1a0eaf9206e8@mail.gmail.com> El día 6 de mayo de 2008 12:50, Patricio Valarezo Lozano escribió: > > Chema Cortes wrote: > > > El día 5 de mayo de 2008 20:33, Patricio Valarezo Lozano > > escribió: > > > > > Hola, quisiera por favor que alguien me pudiera explicar la verdadera > > > necesidad de usar property para definir getters y setters o para poder > > > acceder a funciones privadas, me explico mejor: > > > > > > Estoy revisando un código que usa Elixir(1) para definir un mapper a > una > > > base de datos, usa el siguiente código: > > > > > > > > > class Person(Entity): > > > id = Field(Integer, primary_key=True) > > > name = Field(String(50), required=True) > > > biography = Field(Text) > > > photo = Field(Binary, deferred=True) > > > _email = Field(String(20), colname='email', synonym='email') > > > > > > def _set_email(self, email): > > > self._email = email > > > def _get_email(self): > > > return self._email > > > email = property(_get_email, _set_email) > > > > > > > > > Aquí ha declarado _email como privado (por el _ ) y luego define > _set_email > > > y _get_email para poder acceder a esta propiedad, luego define con > property > > > las propiedades y las asigna a email, ahora se podría acceder a _email > > > mediante .email, estoy en lo correcto?. Mi pregunta realmente es > Por > > > qué molestarse haciendo todo esto si a podría definir email = Field(...) > > > como definió photo y los otros atributos??. > > > > > > > Yo diría que es equivalente, un ejemplo trivial donde mostrar cómo se > > podrían especializar los accesores. > > > > > > > He leído en alguna parte que en Python lo de setters y getters no es > muy > > > bien visto (puesto que proviene de programadores acostumbrados al java y > sus > > > beans). tomando en cuenta que Python es un lenguaje que da al > programador > > > una gran libertad, quisiera que me dijeran cual es la ventaja real de > usar > > > _atributo y luego acceder con property? de que me estaría perdiendo si > no lo > > > hiciera así? > > > > > > > Bueno, lo de usar métodos accesores para acceder a los atributos de un > > objeto es bastante más viejo que los javabeans (eg: visual basic 5). > > En realidad es parte del paradigma de la programación orientada a > > objetos, un modo de exponer datos encapsulados que se encontraban en > > los interfaces privados o protegidos. El agruparlos en "propiedades" > > (properties) es más por mejorar la legibilidad que por otra cosa, ya > > que en python existían los "descriptores" que podían hacer esta misma > > función (de hecho property() no es más que un data-descriptor > > especializado). > > > > El uso de accesores permite definir atributos de sólo lectura, de > > "sólo una escritura" ("one-shot var") o con control de acceso. También > > permiten crear "disparadores" ("triggers") para cuando cambia un > > atributo, o "acopladores", para hacer encajar un interfaz en otro. Un > > ejemplo de esto último sería cuando tienes una base de datos con datos > > en unidades diferentes a las que usa la aplicación. Con los accesores > > podrías hacer que las conversiones de unidades se hicieran de modo > > transparente. > > > > Otra razón, no menos importante, tiene que ver con la refactorización > > del código. Si todo acceso se hace a través de accesores, es más fácil > > luego llevar el atributo a otro sitio. > > > > > > PD: seguramente Field() también sea un data-descriptor con métodos > > __set__/__get__ . > > _______________________________________________ > > Lista de correo Python-es http://listas.aditel.org/listinfo/python-es > > FAQ: http://listas.aditel.org/faqpyes > > > > > > Muchas gracias por tu aporte, me podrías sugerir algun articulo que aclare > un poco mas lo de descriptores en python? este es muy bueno [1] [1] http://www.cafepy.com/article/python_attributes_and_methods/python_attributes_and_methods.html > > gracias > > PV > > > -- > patoVala > Linux User#280504 > Hablando en http://www.elprimoalcahuete.com > "Someone whom you reject today, will reject you tomorrow." > _______________________________________________ > > Lista de correo Python-es http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Milton Inostroza Aguilera ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From reynaldomic en gmail.com Wed May 7 04:29:53 2008 From: reynaldomic en gmail.com (Reynaldo) Date: Tue, 06 May 2008 21:29:53 -0500 Subject: ayuda con modulo urllib In-Reply-To: References: Message-ID: <48211421.2000504@gmail.com> Roylan Suarez Reyes escribió: > Hola colegas > > Estoy haciendo algunas pruebas por aca y tengo el siguiente problema > > >>>> import urllib >>>> sock = urllib.urlopen("www.vn.pri.jovenclub.cu") >>>> > > Traceback (most recent call last): > File "", line 1, in ? > File "/usr/lib/python2.4/urllib.py", line 82, in urlopen > return opener.open(url) > File "/usr/lib/python2.4/urllib.py", line 190, in open > return getattr(self, name)(url) > File "/usr/lib/python2.4/urllib.py", line 313, in open_http > h.endheaders() > File "/usr/lib/python2.4/httplib.py", line 798, in endheaders > self._send_output() > File "/usr/lib/python2.4/httplib.py", line 679, in _send_output > self.send(msg) > File "/usr/lib/python2.4/httplib.py", line 646, in send > self.connect() > File "/usr/lib/python2.4/httplib.py", line 614, in connect > socket.SOCK_STREAM): > IOError: [Errno socket error] (-2, 'Name or service not known') > > > alguien me puede dar una sugerencia? > falla porque no puede establece conexión con la url, por eso el nombre o servicio desconocido. prueba hacer ping a la url Saludos, Reynaldo ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From fjserrano en citic.es Wed May 7 08:38:46 2008 From: fjserrano en citic.es (javier serrano) Date: Wed, 07 May 2008 08:38:46 +0200 Subject: ayuda con modulo urllib In-Reply-To: <48211421.2000504@gmail.com> References: <48211421.2000504@gmail.com> Message-ID: <48214E76.6050309@citic.es> Reynaldo wrote: > Roylan Suarez Reyes escribió: >> Hola colegas >> >> Estoy haciendo algunas pruebas por aca y tengo el siguiente problema >> >> >>>>> import urllib >>>>> sock = urllib.urlopen("www.vn.pri.jovenclub.cu") >>>>> >> >> Traceback (most recent call last): >> File "", line 1, in ? >> File "/usr/lib/python2.4/urllib.py", line 82, in urlopen >> return opener.open(url) >> File "/usr/lib/python2.4/urllib.py", line 190, in open >> return getattr(self, name)(url) >> File "/usr/lib/python2.4/urllib.py", line 313, in open_http >> h.endheaders() >> File "/usr/lib/python2.4/httplib.py", line 798, in endheaders >> self._send_output() >> File "/usr/lib/python2.4/httplib.py", line 679, in _send_output >> self.send(msg) >> File "/usr/lib/python2.4/httplib.py", line 646, in send >> self.connect() >> File "/usr/lib/python2.4/httplib.py", line 614, in connect >> socket.SOCK_STREAM): >> IOError: [Errno socket error] (-2, 'Name or service not known') >> >> >> alguien me puede dar una sugerencia? >> > falla porque no puede establece conexión con la url, por eso el nombre > o servicio desconocido. prueba hacer ping a la url > > Saludos, > Reynaldo > ------------------------------------------------------------------------ > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes Puede que no puedas abrir la pagina desde tu equipo, intenta abrirla desde el navegador, puede que te de error por no poner el http:// delante de la direccion ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From tanymono en yahoo.com.ar Wed May 7 10:38:53 2008 From: tanymono en yahoo.com.ar (Tany Villalba) Date: Wed, 7 May 2008 05:38:53 -0300 (ART) Subject: LIst por valor (tvv) Message-ID: <679103.67269.qm@web52610.mail.re2.yahoo.com> Buen dia amigos una consulta: estoy creando una lista de esta forma blista=[] blista.append(3) nuevol=blista igualo esa lista a otra, pero qeu pasa que cuando agrego cualquier nuevo elemento a blista tambien aparece en nuevol, se que se copio solo por referencia, pero no es lo que deseo por favor como puedo copiar solo los valores. Gracias ---------------------- Tany Villalba Villaba. Cusco - Peru --------------------------------- Tarjeta de crédito Yahoo! de Banco Supervielle.Solicitá tu nueva Tarjeta de crédito. De tu PC directo a tu casa. Visitá www.tuprimeratarjeta.com.ar _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From sergifaber en gmail.com Wed May 7 11:05:42 2008 From: sergifaber en gmail.com (Sergi Faber) Date: Wed, 7 May 2008 11:05:42 +0200 Subject: LIst por valor (tvv) In-Reply-To: <679103.67269.qm@web52610.mail.re2.yahoo.com> References: <679103.67269.qm@web52610.mail.re2.yahoo.com> Message-ID: <74d1a1630805070205r73ec053t5bb7b7b2559e1e14@mail.gmail.com> 2008/5/7 Tany Villalba : > Buen dia amigos una consulta: > > estoy creando una lista de esta forma > > blista=[] > blista.append(3) > nuevol=blista > > igualo esa lista a otra, pero qeu pasa que cuando agrego cualquier nuevo > elemento a blista tambien aparece en nuevol, se que se copio solo por > referencia, pero no es lo que deseo por favor como puedo copiar solo los > valores. nuevol=blista[:] Saludos, -- Sergi Faber _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From falted en pytables.org Wed May 7 12:04:53 2008 From: falted en pytables.org (Francesc Alted) Date: Wed, 7 May 2008 12:04:53 +0200 Subject: LIst por valor (tvv) In-Reply-To: <679103.67269.qm@web52610.mail.re2.yahoo.com> References: <679103.67269.qm@web52610.mail.re2.yahoo.com> Message-ID: <200805071204.54213.falted@pytables.org> A Wednesday 07 May 2008, Tany Villalba escrigué: > Buen dia amigos una consulta: > > estoy creando una lista de esta forma > > blista=[] > blista.append(3) > nuevol=blista > > igualo esa lista a otra, pero qeu pasa que cuando agrego cualquier > nuevo elemento a blista tambien aparece en nuevol, se que se copio > solo por referencia, pero no es lo que deseo por favor como puedo > copiar solo los valores. Esto pregunta ya es un clásico (aunque no he visto una entrada todavia en los FAQ en castellano). Chema Cortés ya ha respondido a esto unas cuantas veces, y la última está aquí: http://listas.aditel.org/archivos/python-es/2008-May/020715.html Básicamente, has de aprender la diferencia entre objetos y las referencias a objetos. Leyendo el post de Chema y practicando un poco interactivamente, supongo que se te quedará claro. Por cierto, en la solución de Sergi lo que se hace es *copiar* la lista, por lo que las referencias apuntan a objectos *distintos*. -- Francesc Alted _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From acurro en wanadoo.es Wed May 7 13:31:29 2008 From: acurro en wanadoo.es (Alberto Curro) Date: Wed, 07 May 2008 13:31:29 +0200 Subject: ayuda con modulo urllib In-Reply-To: References: Message-ID: <48219311.5010603@wanadoo.es> Roylan Suarez Reyes escribió: > Hola colegas > > Estoy haciendo algunas pruebas por aca y tengo el siguiente problema > > >>>> import urllib >>>> sock = urllib.urlopen("www.vn.pri.jovenclub.cu") >>>> > > Traceback (most recent call last): > File "", line 1, in ? > File "/usr/lib/python2.4/urllib.py", line 82, in urlopen > return opener.open(url) > File "/usr/lib/python2.4/urllib.py", line 190, in open > return getattr(self, name)(url) > File "/usr/lib/python2.4/urllib.py", line 313, in open_http > h.endheaders() > File "/usr/lib/python2.4/httplib.py", line 798, in endheaders > self._send_output() > File "/usr/lib/python2.4/httplib.py", line 679, in _send_output > self.send(msg) > File "/usr/lib/python2.4/httplib.py", line 646, in send > self.connect() > File "/usr/lib/python2.4/httplib.py", line 614, in connect > socket.SOCK_STREAM): > IOError: [Errno socket error] (-2, 'Name or service not known') > > El 'Name or service not known' es la clave de tu problema. Quizás el host exista (prueba con ping, como te dice Reynaldo), pero no has establecido el servicio que esperas de ese host (http:// ?). Un saludo > alguien me puede dar una sugerencia? > > ------------------------------------------------------------------------ > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From acurro en wanadoo.es Wed May 7 13:42:26 2008 From: acurro en wanadoo.es (Alberto Curro) Date: Wed, 07 May 2008 13:42:26 +0200 Subject: ayuda con modulo urllib In-Reply-To: <48219311.5010603@wanadoo.es> References: <48219311.5010603@wanadoo.es> Message-ID: <482195A2.9010700@wanadoo.es> Alberto Curro escribió: > Roylan Suarez Reyes escribió: >> Hola colegas >> >> Estoy haciendo algunas pruebas por aca y tengo el siguiente problema >> >> >>>>> import urllib >>>>> sock = urllib.urlopen("www.vn.pri.jovenclub.cu") >>>>> >> >> Traceback (most recent call last): >> File "", line 1, in ? >> File "/usr/lib/python2.4/urllib.py", line 82, in urlopen >> return opener.open(url) >> File "/usr/lib/python2.4/urllib.py", line 190, in open >> return getattr(self, name)(url) >> File "/usr/lib/python2.4/urllib.py", line 313, in open_http >> h.endheaders() >> File "/usr/lib/python2.4/httplib.py", line 798, in endheaders >> self._send_output() >> File "/usr/lib/python2.4/httplib.py", line 679, in _send_output >> self.send(msg) >> File "/usr/lib/python2.4/httplib.py", line 646, in send >> self.connect() >> File "/usr/lib/python2.4/httplib.py", line 614, in connect >> socket.SOCK_STREAM): >> IOError: [Errno socket error] (-2, 'Name or service not known') >> >> > > El 'Name or service not known' es la clave de tu problema. Quizás > el host exista (prueba con ping, como te dice Reynaldo), pero no has > establecido el servicio que esperas de ese host (http:// ?). > Perdón, me corrijo a mí mismo. Está llamando a httplib.py, por lo que no le has indicado el servicio (http://) pero él lo ha establecido por defecto. ¿Tienes un servidor web funcionando ahí? ¿Lo has comprobado con un navegador estándar? Un saludo > Un saludo > >> alguien me puede dar una sugerencia? >> >> ------------------------------------------------------------------------ >> >> _______________________________________________ >> Lista de correo Python-es http://listas.aditel.org/listinfo/python-es >> FAQ: http://listas.aditel.org/faqpyes > > ------------------------------------------------------------------------ > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From roylan04012 en pri.jovenclub.cu Wed May 7 13:44:07 2008 From: roylan04012 en pri.jovenclub.cu (Roylan Suarez Reyes) Date: Wed, 7 May 2008 7:44:07 -0400 Subject: ayuda con modulo urllib In-Reply-To: <48211421.2000504@gmail.com> References: <48211421.2000504@gmail.com> Message-ID: On Tue, 06 May 2008 21:29:53 -0500, Reynaldo wrote: > Roylan Suarez Reyes escribió: >> Hola colegas >> >> Estoy haciendo algunas pruebas por aca y tengo el siguiente problema >> >> >>>>> import urllib >>>>> sock = urllib.urlopen("www.vn.pri.jovenclub.cu") >>>>> >> >> Traceback (most recent call last): >> File "", line 1, in ? >> File "/usr/lib/python2.4/urllib.py", line 82, in urlopen >> return opener.open(url) >> File "/usr/lib/python2.4/urllib.py", line 190, in open >> return getattr(self, name)(url) >> File "/usr/lib/python2.4/urllib.py", line 313, in open_http >> h.endheaders() >> File "/usr/lib/python2.4/httplib.py", line 798, in endheaders >> self._send_output() >> File "/usr/lib/python2.4/httplib.py", line 679, in _send_output >> self.send(msg) >> File "/usr/lib/python2.4/httplib.py", line 646, in send >> self.connect() >> File "/usr/lib/python2.4/httplib.py", line 614, in connect >> socket.SOCK_STREAM): >> IOError: [Errno socket error] (-2, 'Name or service not known') >> >> >> alguien me puede dar una sugerencia? >> > falla porque no puede establece conexión con la url, por eso el nombre o > servicio desconocido. prueba hacer ping a la url Hola administrador en pc3:~$ ping www.vn.pri.jovenclub.cu PING mx1.vn.pri.jovenclub.cu (172.16.7.11) 56(84) bytes of data. 64 bytes from mx1.vn.pri.jovenclub.cu (172.16.7.11): icmp_seq=1 ttl=64 time=0.12 7 ms 64 bytes from mx1.vn.pri.jovenclub.cu (172.16.7.11): icmp_seq=2 ttl=64 time=0.13 0 ms la url esta en el server de mi red... salu2 > Saludos, > Reynaldo > > -- -- Roylan Suarez Reyes Admin. Redes JC. Vinales roylan04012 en pri.jovenclub.cu Telef: 793210 ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From roylan04012 en pri.jovenclub.cu Wed May 7 13:48:55 2008 From: roylan04012 en pri.jovenclub.cu (Roylan Suarez Reyes) Date: Wed, 7 May 2008 7:48:55 -0400 Subject: ayuda con modulo urllib In-Reply-To: <48214E76.6050309@citic.es> References: <48214E76.6050309@citic.es> Message-ID: On Wed, 07 May 2008 08:38:46 +0200, javier serrano wrote: > Reynaldo wrote: >> Roylan Suarez Reyes escribió: >>> Hola colegas >>> >>> Estoy haciendo algunas pruebas por aca y tengo el siguiente problema >>> >>> >>>>>> import urllib >>>>>> sock = urllib.urlopen("www.vn.pri.jovenclub.cu") >>>>>> >>> >>> Traceback (most recent call last): >>> File "", line 1, in ? >>> File "/usr/lib/python2.4/urllib.py", line 82, in urlopen >>> return opener.open(url) >>> File "/usr/lib/python2.4/urllib.py", line 190, in open >>> return getattr(self, name)(url) >>> File "/usr/lib/python2.4/urllib.py", line 313, in open_http >>> h.endheaders() >>> File "/usr/lib/python2.4/httplib.py", line 798, in endheaders >>> self._send_output() >>> File "/usr/lib/python2.4/httplib.py", line 679, in _send_output >>> self.send(msg) >>> File "/usr/lib/python2.4/httplib.py", line 646, in send >>> self.connect() >>> File "/usr/lib/python2.4/httplib.py", line 614, in connect >>> socket.SOCK_STREAM): >>> IOError: [Errno socket error] (-2, 'Name or service not known') >>> >>> >>> alguien me puede dar una sugerencia? >>> >> falla porque no puede establece conexión con la url, por eso el nombre >> o servicio desconocido. prueba hacer ping a la url >> >> Saludos, >> Reynaldo >> ------------------------------------------------------------------------ >> > Puede que no puedas abrir la pagina desde tu equipo, intenta abrirla > desde el navegador, puede que te de error por no poner el http:// > delante de la direccion Hola sebastian, aunque le ponga el http:// delate continua dando el mismo error. >>> import urllib >>> sock = urllib.urlopen("http://www.vn.pri.jovenclub.cu") Traceback (most recent call last): File "", line 1, in ? File "/usr/lib/python2.4/urllib.py", line 82, in urlopen return opener.open(url) .... ..... IOError: [Errno socket error] (-2, 'Name or service not known') salu2 > > -- -- Roylan Suarez Reyes Admin. Redes JC. Vinales roylan04012 en pri.jovenclub.cu Telef: 793210 ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From roylan04012 en pri.jovenclub.cu Wed May 7 14:01:15 2008 From: roylan04012 en pri.jovenclub.cu (Roylan Suarez Reyes) Date: Wed, 7 May 2008 8:01:15 -0400 Subject: ayuda con modulo urllib In-Reply-To: <482195A2.9010700@wanadoo.es> References: <482195A2.9010700@wanadoo.es> Message-ID: <65303bb3780ac432ac565c228bb0139e@mx1.vn.pri.jovenclub.cu> On Wed, 07 May 2008 13:42:26 +0200, Alberto Curro wrote: > Alberto Curro escribió: >> Roylan Suarez Reyes escribió: >>> Hola colegas >>> >>> Estoy haciendo algunas pruebas por aca y tengo el siguiente problema >>> >>> >>>>>> import urllib >>>>>> sock = urllib.urlopen("www.vn.pri.jovenclub.cu") >>>>>> >>> >>> Traceback (most recent call last): >>> File "", line 1, in ? >>> File "/usr/lib/python2.4/urllib.py", line 82, in urlopen >>> return opener.open(url) >>> File "/usr/lib/python2.4/urllib.py", line 190, in open >>> return getattr(self, name)(url) >>> File "/usr/lib/python2.4/urllib.py", line 313, in open_http >>> h.endheaders() >>> File "/usr/lib/python2.4/httplib.py", line 798, in endheaders >>> self._send_output() >>> File "/usr/lib/python2.4/httplib.py", line 679, in _send_output >>> self.send(msg) >>> File "/usr/lib/python2.4/httplib.py", line 646, in send >>> self.connect() >>> File "/usr/lib/python2.4/httplib.py", line 614, in connect >>> socket.SOCK_STREAM): >>> IOError: [Errno socket error] (-2, 'Name or service not known') >>> >>> >> >> El 'Name or service not known' es la clave de tu problema. Quizás >> el host exista (prueba con ping, como te dice Reynaldo), pero no has >> establecido el servicio que esperas de ese host (http:// ?). >> > > Perdón, me corrijo a mí mismo. Está llamando a httplib.py, por lo que > > no le has indicado el servicio (http://) pero él lo ha establecido por > defecto. ¿Tienes un servidor web funcionando ahí? ¿Lo has comprobado > con > un navegador estándar? Si, el sitio es valido, es la pagina principal de nuestra red y la accedo cada dia... salu2 > > Un saludo > >> Un saludo >> >>> alguien me puede dar una sugerencia? >>> >>> > ------------------------------------------------------------------------ >>> >>> _______________________________________________ >>> Lista de correo Python-es http://listas.aditel.org/listinfo/python-es >>> FAQ: http://listas.aditel.org/faqpyes >> >> ------------------------------------------------------------------------ >> >> _______________________________________________ >> Lista de correo Python-es >> http://listas.aditel.org/listinfo/python-es >> FAQ: http://listas.aditel.org/faqpyes > > > -- -- Roylan Suarez Reyes Admin. Redes JC. Vinales roylan04012 en pri.jovenclub.cu Telef: 793210 ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From minoztro en gmail.com Wed May 7 15:17:27 2008 From: minoztro en gmail.com (Milton Galo Patricio Inostroza Aguilera) Date: Wed, 7 May 2008 09:17:27 -0400 Subject: ayuda con modulo urllib In-Reply-To: <65303bb3780ac432ac565c228bb0139e@mx1.vn.pri.jovenclub.cu> References: <482195A2.9010700@wanadoo.es> <65303bb3780ac432ac565c228bb0139e@mx1.vn.pri.jovenclub.cu> Message-ID: <172699c50805070617u24b2db4cid35e471470d8b130@mail.gmail.com> El día 7 de mayo de 2008 8:01, Roylan Suarez Reyes escribió: > > On Wed, 07 May 2008 13:42:26 +0200, Alberto Curro wrote: > > Alberto Curro escribió: > >> Roylan Suarez Reyes escribió: > >>> Hola colegas > >>> > >>> Estoy haciendo algunas pruebas por aca y tengo el siguiente problema > >>> > >>> > >>>>>> import urllib > >>>>>> sock = urllib.urlopen("www.vn.pri.jovenclub.cu") > >>>>>> > >>> > >>> Traceback (most recent call last): > >>> File "", line 1, in ? > >>> File "/usr/lib/python2.4/urllib.py", line 82, in urlopen > >>> return opener.open(url) > >>> File "/usr/lib/python2.4/urllib.py", line 190, in open > >>> return getattr(self, name)(url) > >>> File "/usr/lib/python2.4/urllib.py", line 313, in open_http > >>> h.endheaders() > >>> File "/usr/lib/python2.4/httplib.py", line 798, in endheaders > >>> self._send_output() > >>> File "/usr/lib/python2.4/httplib.py", line 679, in _send_output > >>> self.send(msg) > >>> File "/usr/lib/python2.4/httplib.py", line 646, in send > >>> self.connect() > >>> File "/usr/lib/python2.4/httplib.py", line 614, in connect > >>> socket.SOCK_STREAM): > >>> IOError: [Errno socket error] (-2, 'Name or service not known') > >>> > >>> > >> > >> El 'Name or service not known' es la clave de tu problema. Quizás > >> el host exista (prueba con ping, como te dice Reynaldo), pero no has > >> establecido el servicio que esperas de ese host (http:// ?). > >> > > > > Perdón, me corrijo a mí mismo. Está llamando a httplib.py, por lo que > > > > no le has indicado el servicio (http://) pero él lo ha establecido por > > defecto. ¿Tienes un servidor web funcionando ahí? ¿Lo has comprobado > > con > > un navegador estándar? > > Si, el sitio es valido, es la pagina principal de nuestra red y la accedo cada dia... minostro en cw-41:~$ ping http://www.vn.pri.jovenclub.cu/ ping: unknown host http://www.vn.pri.jovenclub.cu/ yo no puedo ver la url...están seguros que es visible? > > salu2 > > > > > > Un saludo > > > >> Un saludo > >> > >>> alguien me puede dar una sugerencia? > >>> > >>> > > ------------------------------------------------------------------------ > >>> > >>> _______________________________________________ > >>> Lista de correo Python-es http://listas.aditel.org/listinfo/python-es > >>> FAQ: http://listas.aditel.org/faqpyes > >> > >> ------------------------------------------------------------------------ > >> > >> _______________________________________________ > >> Lista de correo Python-es > >> http://listas.aditel.org/listinfo/python-es > >> FAQ: http://listas.aditel.org/faqpyes > > > > > > > > > -- > -- > Roylan Suarez Reyes > Admin. Redes JC. Vinales > roylan04012 en pri.jovenclub.cu > Telef: 793210 > > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Milton Inostroza Aguilera ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From willian.radicaled en gmail.com Wed May 7 15:29:01 2008 From: willian.radicaled en gmail.com (RadicalEd) Date: Wed, 7 May 2008 08:29:01 -0500 Subject: problemas con el modulo urllib In-Reply-To: <2212a408dd81158a398f5d2e63c6996a@mx1.vn.pri.jovenclub.cu> References: <2212a408dd81158a398f5d2e63c6996a@mx1.vn.pri.jovenclub.cu> Message-ID: Siempre comienza con http://, ósea: sock = urllib.urlopen("http://www.vn.pri.jovenclub.cu") On Tue, May 6, 2008 at 2:23 PM, Roylan Suarez Reyes < roylan04012 en pri.jovenclub.cu> wrote: > Hola colegas > > Estoy haciendo algunas pruebas por aca y tengo el siguiente problema > > >>> import urllib > >>> sock = urllib.urlopen("www.vn.pri.jovenclub.cu") > > Traceback (most recent call last): > File "", line 1, in ? > File "/usr/lib/python2.4/urllib.py", line 82, in urlopen > return opener.open(url) > File "/usr/lib/python2.4/urllib.py", line 190, in open > return getattr(self, name)(url) > File "/usr/lib/python2.4/urllib.py", line 313, in open_http > h.endheaders() > File "/usr/lib/python2.4/httplib.py", line 798, in endheaders > self._send_output() > File "/usr/lib/python2.4/httplib.py", line 679, in _send_output > self.send(msg) > File "/usr/lib/python2.4/httplib.py", line 646, in send > self.connect() > File "/usr/lib/python2.4/httplib.py", line 614, in connect > socket.SOCK_STREAM): > IOError: [Errno socket error] (-2, 'Name or service not known') > > > alguien me puede dar una sugerencia? > > > -- > -- > Roylan Suarez Reyes > Admin. Redes JC. Vinales > roylan04012 en pri.jovenclub.cu > Telef: 793210 > > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- The knowledge is the most dangerous weapon & SoloCodigo is the most important programing webforum. http://foros.solocodigo.com _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From acurro en wanadoo.es Wed May 7 15:38:26 2008 From: acurro en wanadoo.es (Alberto Curro) Date: Wed, 07 May 2008 15:38:26 +0200 Subject: ayuda con modulo urllib In-Reply-To: <172699c50805070617u24b2db4cid35e471470d8b130@mail.gmail.com> References: <482195A2.9010700@wanadoo.es> <65303bb3780ac432ac565c228bb0139e@mx1.vn.pri.jovenclub.cu> <172699c50805070617u24b2db4cid35e471470d8b130@mail.gmail.com> Message-ID: <4821B0D2.5040800@wanadoo.es> Milton Galo Patricio Inostroza Aguilera escribió: > El día 7 de mayo de 2008 8:01, Roylan Suarez Reyes > escribió: > >> On Wed, 07 May 2008 13:42:26 +0200, Alberto Curro wrote: >> > Alberto Curro escribió: >> >> Roylan Suarez Reyes escribió: >> >>> Hola colegas >> >>> >> >>> Estoy haciendo algunas pruebas por aca y tengo el siguiente problema >> >>> >> >>> >> >>>>>> import urllib >> >>>>>> sock = urllib.urlopen("www.vn.pri.jovenclub.cu") >> >>>>>> >> >>> >> >>> Traceback (most recent call last): >> >>> File "", line 1, in ? >> >>> File "/usr/lib/python2.4/urllib.py", line 82, in urlopen >> >>> return opener.open(url) >> >>> File "/usr/lib/python2.4/urllib.py", line 190, in open >> >>> return getattr(self, name)(url) >> >>> File "/usr/lib/python2.4/urllib.py", line 313, in open_http >> >>> h.endheaders() >> >>> File "/usr/lib/python2.4/httplib.py", line 798, in endheaders >> >>> self._send_output() >> >>> File "/usr/lib/python2.4/httplib.py", line 679, in _send_output >> >>> self.send(msg) >> >>> File "/usr/lib/python2.4/httplib.py", line 646, in send >> >>> self.connect() >> >>> File "/usr/lib/python2.4/httplib.py", line 614, in connect >> >>> socket.SOCK_STREAM): >> >>> IOError: [Errno socket error] (-2, 'Name or service not known') >> >>> >> >>> >> >> >> >> El 'Name or service not known' es la clave de tu problema. Quizás >> >> el host exista (prueba con ping, como te dice Reynaldo), pero no has >> >> establecido el servicio que esperas de ese host (http:// ?). >> >> >> > >> > Perdón, me corrijo a mí mismo. Está llamando a httplib.py, por lo que >> > >> > no le has indicado el servicio (http://) pero él lo ha establecido por >> > defecto. ¿Tienes un servidor web funcionando ahí? ¿Lo has comprobado >> > con >> > un navegador estándar? >> >> Si, el sitio es valido, es la pagina principal de nuestra red y la accedo cada dia... >> > > minostro en cw-41:~$ ping http://www.vn.pri.jovenclub.cu/ > ping: unknown host http://www.vn.pri.jovenclub.cu/ > > > yo no puedo ver la url...están seguros que es visible? > SI has hecho ping como indicas, normal que no te funcione :) ping www.wanadoo.es funciona ping http://www.wanadoo.es NO el comando ping no diferencia el uso del servicio http, por lo que lo que lo incorpora en el nombre y busca en el servidor DNS el nombre completo (incluido el http://) y no te va a funcionar. De todos modos, yo he probado a hacer ping desde aquí a las máquinas que indica Roylan, y tampoco funciona. Ni a la máquina www ni a la mx1. Roylán, no estarás accediendo con el navegador mediante un proxy que te redirige desde la red LAN a otra máquina? Abre el navegador, escribe http://www.cualesmiip.com. Ahí te dirán tu IP, y lo más importante, si navegas a través de un proxy. En caso afirmativo, hay en la lista algún mensaje de gente que usaba urllib con proxy y tienes indicaciones de qué cambiar para que funcione. Échale un vistazo al histórico. Un saludo ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From roylan04012 en pri.jovenclub.cu Wed May 7 15:38:43 2008 From: roylan04012 en pri.jovenclub.cu (Roylan Suarez Reyes) Date: Wed, 7 May 2008 9:38:43 -0400 Subject: ayuda con modulo urllib In-Reply-To: <172699c50805070617u24b2db4cid35e471470d8b130@mail.gmail.com> References: <172699c50805070617u24b2db4cid35e471470d8b130@mail.gmail.com> Message-ID: <5c084fe8c7ea31be3142a6d4e531a1f5@mx1.vn.pri.jovenclub.cu> On Wed, 7 May 2008 09:17:27 -0400, "Milton Galo Patricio Inostroza Aguilera" wrote: > El día 7 de mayo de 2008 8:01, Roylan Suarez Reyes > escribió: >> >> On Wed, 07 May 2008 13:42:26 +0200, Alberto Curro > wrote: >> > Alberto Curro escribió: >> >> Roylan Suarez Reyes escribió: >> >>> Hola colegas >> >>> >> >>> Estoy haciendo algunas pruebas por aca y tengo el siguiente > problema >> >>> >> >>> >> >>>>>> import urllib >> >>>>>> sock = urllib.urlopen("www.vn.pri.jovenclub.cu") >> >>>>>> >> >>> >> >>> Traceback (most recent call last): >> >>> File "", line 1, in ? >> >>> File "/usr/lib/python2.4/urllib.py", line 82, in urlopen >> >>> return opener.open(url) >> >>> File "/usr/lib/python2.4/urllib.py", line 190, in open >> >>> return getattr(self, name)(url) >> >>> File "/usr/lib/python2.4/urllib.py", line 313, in open_http >> >>> h.endheaders() >> >>> File "/usr/lib/python2.4/httplib.py", line 798, in endheaders >> >>> self._send_output() >> >>> File "/usr/lib/python2.4/httplib.py", line 679, in _send_output >> >>> self.send(msg) >> >>> File "/usr/lib/python2.4/httplib.py", line 646, in send >> >>> self.connect() >> >>> File "/usr/lib/python2.4/httplib.py", line 614, in connect >> >>> socket.SOCK_STREAM): >> >>> IOError: [Errno socket error] (-2, 'Name or service not known') >> >>> >> >>> >> >> >> >> El 'Name or service not known' es la clave de tu problema. > Quizás >> >> el host exista (prueba con ping, como te dice Reynaldo), pero no has >> >> establecido el servicio que esperas de ese host (http:// ?). >> >> >> > >> > Perdón, me corrijo a mí mismo. Está llamando a httplib.py, por > lo que >> > >> > no le has indicado el servicio (http://) pero él lo ha establecido > por >> > defecto. ¿Tienes un servidor web funcionando ahí? ¿Lo has > comprobado >> > con >> > un navegador estándar? >> >> Si, el sitio es valido, es la pagina principal de nuestra red y la > accedo cada dia... > > minostro en cw-41:~$ ping http://www.vn.pri.jovenclub.cu/ > ping: unknown host http://www.vn.pri.jovenclub.cu/ > > > yo no puedo ver la url...están seguros que es visible? si, pero no para el mundo....es visible solo para nuestra red!! salu2 > > >> >> salu2 >> >> >> > >> > Un saludo >> > >> >> Un saludo >> >> >> >>> alguien me puede dar una sugerencia? >> >>> >> >>> >> > > ------------------------------------------------------------------------ >> >>> >> >>> _______________________________________________ >> >>> Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es >> >>> FAQ: http://listas.aditel.org/faqpyes >> >> >> >> > ------------------------------------------------------------------------ >> >> >> >> _______________________________________________ >> >> Lista de correo Python-es >> >> http://listas.aditel.org/listinfo/python-es >> >> FAQ: http://listas.aditel.org/faqpyes >> > >> > >> > >> >> >> -- >> -- >> Roylan Suarez Reyes >> Admin. Redes JC. Vinales >> roylan04012 en pri.jovenclub.cu >> Telef: 793210 >> >> >> _______________________________________________ >> Lista de correo Python-es >> http://listas.aditel.org/listinfo/python-es >> FAQ: http://listas.aditel.org/faqpyes >> > > > > -- -- Roylan Suarez Reyes Admin. Redes JC. Vinales roylan04012 en pri.jovenclub.cu Telef: 793210 ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From ramonsr en ipicfg.rimed.cu Wed May 7 15:43:45 2008 From: ramonsr en ipicfg.rimed.cu (ramonsr) Date: Wed, 7 May 2008 09:43:45 -0400 Subject: Necesito doc sobre POO en pythin Message-ID: <00bc01c8b048$5f217060$12140a0a@IPICFG> Holas soy principiante en python y necesito docs de POO detallados . Estoy migrando de delphi para python . -- Este mensaje ha sido analizado por MailScanner en busca de virus y otros contenidos peligrosos, y se considera que está limpio. ** Nodo Comunicaciones IPI Cienfuegos ** ** WebPage:http://www.ipicfg.rimed.cu ** _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From maengora en gmail.com Wed May 7 16:26:35 2008 From: maengora en gmail.com (=?ISO-8859-1?Q?Manuel_Enrique_Gonz=E1lez_Ram=EDrez?=) Date: Wed, 7 May 2008 09:26:35 -0500 Subject: SqlAlchemy & Postgres & TG2 Unicod In-Reply-To: <160280.34884.qm@web34306.mail.mud.yahoo.com> References: <831832.36109.qm@web34303.mail.mud.yahoo.com> <160280.34884.qm@web34306.mail.mud.yahoo.com> Message-ID: # -*- coding: iso-8859-1 -*- 2008/5/6 FERNANDO VILLARROEL : > Hola Luis, > > Como me dijiste debo simplemente usar unicode siempre, > pero ahy esta mi problema: > > 1) Python usa por default ASCII verdad? > 2) SqlAlchemy y TG maneja los datos como Unicode > > Entonces como le digo que siempre use unicode, haber > si me puedes explicar ya que estoy testeando TG2.0 y > mi experiencia con forms y el ambiente es casi cero. > > Fernando > > --- FERNANDO VILLARROEL wrote: > > > Hola, > > > > Bueno si mi problema es donde le digo a la > > aplicacion > > TG2.0 que tipo de unicode debe usar. En realidad que > > use utf-8 en lugar de ASCII que es el default > > > > > > O se debe debe definir en la aplicacion TG2.0 > > --- Luis Miguel Morillas wrote: > > > > > > > > > > No hay que investigar mucho. Usa Unicode siempre y > > > ya está :-) ¿dónde > > > tienes el problema? > > > > > > > > > > > > > > > > > > > > > > > ____________________________________________________________________________________ > > Be a better friend, newshound, and > > know-it-all with Yahoo! Mobile. Try it now. > > > http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ > > _______________________________________________ > > Lista de correo Python-es > > http://listas.aditel.org/listinfo/python-es > > FAQ: http://listas.aditel.org/faqpyes > > > > > > > ____________________________________________________________________________________ > Be a better friend, newshound, and > know-it-all with Yahoo! Mobile. Try it now. > http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From minoztro en gmail.com Wed May 7 16:49:39 2008 From: minoztro en gmail.com (Milton Galo Patricio Inostroza Aguilera) Date: Wed, 7 May 2008 10:49:39 -0400 Subject: Necesito doc sobre POO en pythin In-Reply-To: <00bc01c8b048$5f217060$12140a0a@IPICFG> References: <00bc01c8b048$5f217060$12140a0a@IPICFG> Message-ID: <172699c50805070749u1311884bg82dff297d2db89c4@mail.gmail.com> 2008/5/7 ramonsr : > Holas soy principiante en python y necesito docs de POO detallados . Estoy migrando de delphi para python . http://docs.python.org/ > > -- > Este mensaje ha sido analizado por MailScanner > en busca de virus y otros contenidos peligrosos, > y se considera que está limpio. > ** Nodo Comunicaciones IPI Cienfuegos ** > ** WebPage:http://www.ipicfg.rimed.cu ** > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Milton Inostroza Aguilera ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From yourpadre en gmail.com Wed May 7 16:57:13 2008 From: yourpadre en gmail.com (Miguel Beltran R.) Date: Wed, 7 May 2008 09:57:13 -0500 Subject: UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 In-Reply-To: <122041.71704.qm@web34305.mail.mud.yahoo.com> References: <122041.71704.qm@web34305.mail.mud.yahoo.com> Message-ID: Me parece que TG esta usando codificación UTF-8 por default y tu base esta en ascii. minimo deberias cambiar tu base a latin1 o latin15. El día 3 de mayo de 2008 21:36, FERNANDO VILLARROEL escribió: > Hola a todos. > > Estoy nuevamente con Turbogeras esta ves probando su > nueva version 2.0 > > Nuevamente genere formularios usando crud. > > Turbogears viene por default con SqlAlchemy para > acceder a los distintos motores, en mi caso yo sigo > usando Postgres, ahora al intentar insertar un nuevo > registro obtengo el siuiente error: > > UnicodeDecodeError: 'ascii' codec can't decode byte > 0xc2 in position 47: ordinal not in range(128) > > Encontre una explicacion para esto en: > > http://www.onlamp.com/pub/a/python/excerpt/pythonckbk_chap1/index.html > > Pero como lo resuelvo en mi proyecto de TG. > > Atento a sus comentarios. > > Fernando Villarroel > > > ____________________________________________________________________________________ > Be a better friend, newshound, and > know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- ________________________________________ Lo bueno de vivir un dia mas es saber que nos queda un dia menos de vida _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From minoztro en gmail.com Wed May 7 17:34:40 2008 From: minoztro en gmail.com (Milton Galo Patricio Inostroza Aguilera) Date: Wed, 7 May 2008 11:34:40 -0400 Subject: UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 In-Reply-To: <122041.71704.qm@web34305.mail.mud.yahoo.com> References: <122041.71704.qm@web34305.mail.mud.yahoo.com> Message-ID: <172699c50805070834h2c0b1ac1naf9a4a87829e368@mail.gmail.com> El día 3 de mayo de 2008 22:36, FERNANDO VILLARROEL escribió: > Hola a todos. > > Estoy nuevamente con Turbogeras esta ves probando su > nueva version 2.0 > > Nuevamente genere formularios usando crud. > > Turbogears viene por default con SqlAlchemy para > acceder a los distintos motores, en mi caso yo sigo > usando Postgres, ahora al intentar insertar un nuevo estas definiendo tus campos como String??...puedes probar con ponerlos en Unicode > registro obtengo el siuiente error: > > UnicodeDecodeError: 'ascii' codec can't decode byte > 0xc2 in position 47: ordinal not in range(128) > > Encontre una explicacion para esto en: > > http://www.onlamp.com/pub/a/python/excerpt/pythonckbk_chap1/index.html > > Pero como lo resuelvo en mi proyecto de TG. > > Atento a sus comentarios. > > Fernando Villarroel > > > > ____________________________________________________________________________________ > Be a better friend, newshound, and > know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Milton Inostroza Aguilera ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From lasizoillo en gmail.com Wed May 7 17:43:23 2008 From: lasizoillo en gmail.com (lasizoillo) Date: Wed, 7 May 2008 17:43:23 +0200 Subject: implicaciones de usar property, setters y getters In-Reply-To: <481F52FC.7070100@pupilabox.net.ec> References: <481F52FC.7070100@pupilabox.net.ec> Message-ID: <49414f570805070843p6308a730i9bae0ee327dd81d1@mail.gmail.com> Buenas: El día 5 de mayo de 2008 20:33, Patricio Valarezo Lozano escribió: > Hola, quisiera por favor que alguien me pudiera explicar la verdadera > necesidad de usar property para definir getters y setters o para poder > acceder a funciones privadas, me explico mejor: > La verdadera necesidad es hacer cosas en la lectura/escritura/(borrado) de los atributos. Algunos ejemplos: - Hacer un atributo de solo lectura. Ejemplo: impides al programador modificar el login de un usuario, porque hay una regla de negocio que impide hacerlo (y así queda descrita en el código). - Modificar almacenado de un dato: Ejemplo: Al guardar una imagen en un registro, guardo la imagen en el sistema de ficheros y en el campo la ruta para encontrarla. Al leer, la funcion recupera de la base de datos la ruta a la imagen y la devuelve despues de leerla del sistema de ficheros. - Validaciones: Asegurar que un tanto por ciento es un número positivo comprendido entre 0 y 100, que una dirección de correo es correcta, ... ... > Estoy revisando un código que usa Elixir(1) para definir un mapper a una > base de datos, usa el siguiente código: > > > class Person(Entity): > id = Field(Integer, primary_key=True) > name = Field(String(50), required=True) > biography = Field(Text) > photo = Field(Binary, deferred=True) > _email = Field(String(20), colname='email', synonym='email') > > def _set_email(self, email): > self._email = email > def _get_email(self): > return self._email > email = property(_get_email, _set_email) > > Este código me parece bastante absurdo. Le vería sentido si hicieras una validación de que el mail fuese correcto en el setter, por poner un ejemplo. Viendo codigo real, seguro que ves ejemplos mejores de cuando utilizar dicha funcionalidad ;-) Un saludo: Javi _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From yassergs en ispejv.rimed.cu Wed May 7 12:19:07 2008 From: yassergs en ispejv.rimed.cu (Yasser Gonzalez Soto) Date: Wed, 7 May 2008 12:19:07 +0200 Subject: (sin asunto) Message-ID: <001701c8b02b$c8887ed0$ce03010a@l2pc1> Gracias por la Bienvenida. En cuanto tenga alguna preginta les escribiré -- Este mensaje ha sido analizado por MailScanner en busca de virus y otros contenidos peligrosos, y se considera que está limpio. For all your IT requirements visit: http://www.transtec.co.uk _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From rafaelcantos en hotmail.com Wed May 7 19:21:17 2008 From: rafaelcantos en hotmail.com (Rafael Cantos) Date: Wed, 7 May 2008 17:21:17 +0000 Subject: =?iso-8859-1?q?RE=3A_Problema_de_comparaci=F3n_con_N?= =?iso-8859-1?q?one?= In-Reply-To: <20080506200948.645A615EF98A@devnull.aditel.org> References: <20080506200948.645A615EF98A@devnull.aditel.org> Message-ID: Buenas. Al final era lo que apuntabais, el segundo subíndice no existía. Muchas gracias a todos. Saludos. Rafa buenas otra vezAhora el problema me surge en una comparación, de la siguiente forma:Tengo una clase, llamada Registro, en la cuál se estiban y desestiban objetos de python tipo lista, con distintos tipos dentro.Desde otra clase, llamada Controlador, llamo a un método de Registro para que me devuelva el objeto desestibado con picle (se me había olvidado decir que uso pickle) y realizo una comparación así:if registro[0][0] != None:...donde registro es el objeto desestibado.Al hacer esto, me devuelve el siguiente error:NoneType is unsubcriptable.¿Qué es lo que puede fallar?Saludos y gracias.RafaRafael Cantos Villanueva Estudiante de Ingeniería Técnica en Informática de Gestión, universidad de Córdoba. http://www.rafaelcantos.es E-MAIL: rafaelcantos en hotmail.com _________________________________________________________________ MSN Noticias http://noticias.msn.es/comunidad.aspx_______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From rafaelcantos en hotmail.com Wed May 7 21:48:08 2008 From: rafaelcantos en hotmail.com (Rafael Cantos) Date: Wed, 7 May 2008 19:48:08 +0000 Subject: Crear un fichero en el HOME con python Message-ID: buenas. ¿Hay alguna forma de obtener el valor de una variable de entorno del sistema con python? En concreto quiero obtener $HOME y por ahora no lo he conseguido. Saludos y gracias. Rafa Rafael Cantos Villanueva Estudiante de Ingeniería Técnica en Informática de Gestión, universidad de Córdoba. http://www.rafaelcantos.es E-MAIL: rafaelcantos en hotmail.com _________________________________________________________________ MSN Noticias http://noticias.msn.es/comunidad.aspx_______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From jcaballero.hep en gmail.com Wed May 7 21:53:13 2008 From: jcaballero.hep en gmail.com (Jose Caballero) Date: Wed, 7 May 2008 15:53:13 -0400 Subject: Crear un fichero en el HOME con python In-Reply-To: References: Message-ID: os.environ[ 'HOME' ] El día 7 de mayo de 2008 15:48, Rafael Cantos escribió: > > buenas. > > ¿Hay alguna forma de obtener el valor de una variable de entorno del > sistema con python? En concreto quiero obtener $HOME y por ahora no lo he > conseguido. > > Saludos y gracias. > > Rafa > Rafael Cantos Villanueva Estudiante de Ingeniería Técnica en Informática > de Gestión, universidad de Córdoba. http://www.rafaelcantos.es E-MAIL: > rafaelcantos en hotmail.com > _________________________________________________________________ > MSN Noticias > > http://noticias.msn.es/comunidad.aspx_______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From eber_ramirez en ltv.org.mx Wed May 7 22:01:04 2008 From: eber_ramirez en ltv.org.mx (eber_ramirez en ltv.org.mx) Date: Wed, 7 May 2008 15:01:04 -0500 Subject: =?iso-8859-1?q?Mejorar_este_c=F3digo?= In-Reply-To: <482027F1.9090209@gmail.com> References: <481ED6B0.7010509@gmail.com> <482027F1.9090209@gmail.com> Message-ID: <5FCFCC3A814387468EEF6661618F2F6303430B3C@mexexch03.MEX.WTBTS.NET> Este es el primer programa que hago en Python, así que agradeceré sugerencias para mejorar el código. Seleccioné Tkinter porque pienso usar el programa en la PC (WinXP & Linux) y en la Pocket PC, y en esta última plataforma no requiere instalarse nada más. Por supuesto que todavía requiere que se agreguen capturas de errores, como cuando el usuario no introduce los tipos de datos requeridos y cosas así, pero por lo menos, agradeceré me den sus recomendaciones sobre el uso de 'Entry', 'grid' y todas esas cosas. Ah, me he basado en el libro: "Python 2.1 Bible" de Dave Brueck and Stephen Tanner, cap. 19 "Tinkering with Tkinter", ejemplo19-5. Aquí va el código. Gracias de antemano. # Version 0.1 # Miercoles 7 de mayo de 2008 # gerberito en gmail.com # Calculo del momento resistente (MR) de una seccion # rectangular de concreto sin acero a compresion # utilizando el Reglamento de construcciones del # Distrito Federal, Normas Tecnicas Complementarias # edicion 2004, Mexico. from Tkinter import * import math import tkMessageBox #Creamos la clase que es la base del programa class Calcula_MR: def __init__(self): self.CreaObjetos() def CreaObjetos(self): self.programa = Tk( ) # 'Ventana principal' de Tkinter's self.programa.title ('Momento Resistente - Sin acero a compresion') #MarcoPrincipal=Frame(self.programa) #Primero creamos el cuadro de dialogo para introducir datos. # FR = Factor de reduccion, por default 0.9 # b = ancho de la seccion en cm # d = peralte efectivo de la seccion en cm # f'c = resistencia del concreto a la compresion a los 28 dias en kg/cm2 # fy = Limite de fluencia del acero en kg/cm2 # As = Area de acero en tension en cm2 # Ahora creamos las zonas donde el usuario introduce datos # Primero ponemos las etiquetas de los datos que ocuparemos fila = 1 for label in 'FR ', 'b ', 'd ', 'fc ', 'fy ', 'As ': Etiqueta=Label(self.programa, text=label+'=', borderwidth=6) Etiqueta.grid(row=fila,column=0) #Label(self.programa,text=label+'=', borderwidth=6).grid(row=fila, column=0) fila = fila + 1 #Ahora las unidades en las que se trabaja fila = 1 for label in ' ', 'cm ', 'cm ', 'kg/cm2 ', 'kg/cm2 ', 'cm2 ': Etiqueta=Label(self.programa, text=label, borderwidth=6) Etiqueta.grid(row=fila,column=2) #Label(self.programa,text=label, borderwidth=6).grid(row=fila, column=2) fila = fila + 1 # Finalmente los 'entry's para introducir los valores #self.FR_t=Entry(self.programa, width=10) #self.FR_t.grid(row=1,column=1) #self.FR_t.insert(INSERT, '0.9') #self.As_t=Entry(self.programa, width=10) #self.As_t.grid(row=6,column=1) #self.As_t.insert(INSERT,'2.54') self.FR_t=StringVar() Entry(self.programa, width=10, textvariable=self.FR_t).grid(row=1, column=1) self.FR_t.set('0.9') self.b_t=StringVar() Entry(self.programa, width=10, textvariable=self.b_t).grid(row=2, column=1) self.b_t.set('20') self.d_t=StringVar() Entry(self.programa, width=10, textvariable=self.d_t).grid(row=3, column=1) self.d_t.set('40') self.fc_t=StringVar() Entry(self.programa, width=10, textvariable=self.fc_t).grid(row=4, column=1) self.fc_t.set('250') self.fy_t=StringVar() Entry(self.programa, width=10, textvariable=self.fy_t).grid(row=5, column=1) self.fy_t.set('4200') self.As_t=StringVar() Entry(self.programa, width=10, textvariable=self.As_t).grid(row=6, column=1) self.As_t.set('2.54') Button(self.programa, text='Calcula',command=self.Calculos).grid(row=9,column=0,columnspan=3, sticky=W+E+N+S) Button(self.programa, text='Acerca de...',command=self.About).grid(row=10,column=0,columnspan=3, sticky=W+E+N+S) Label(self.programa, text='CALCULA MR EN SECCIONES DE CONCRETO', borderwidth=6).grid(row=0, column=0, columnspan=3) self.Resultados=StringVar() Label(self.programa, width=30, textvariable=self.Resultados).grid(row=7, column=0, columnspan=3) self.Resultados.set(' ') def Calculos(self): #Extraemos los datos de los "entry's" FR=float(self.FR_t.get()) b=float(self.b_t.get()) d=float(self.d_t.get()) fc=float(self.fc_t.get()) fy=float(self.fy_t.get()) As=float(self.As_t.get()) #Iniciamos los calculos p=As/(b*d) q=p*fy/(fc*0.8*0.85) MR=FR*As*fy*d*(1-0.5*q)/100000 #Convertimos el resultado a Ton-m # Desplegamos el resultado self.Resultados.set('p = %f\nq = %f\nMR = %f T-m' % (p,q,MR)) def About(self): # El comercial que no debe faltar. tkMessageBox.showinfo("CALCULOS", "Este Programa calcula el Momento Resistente \nde una seccion rectangular de concreto sin acero a compresion,\n Reglamento de Construcciones del DF NTC2004, Mexico.\n gerberito en gmail.com") def Arranca(self): self.programa.mainloop() if (__name__=="__main__"): Calcula_MR().Arranca() Este correo electrónico y cualquier archivo transmitido con él son confidenciales y son solamente para el uso del individuo o entidad a la que van dirigidos. Si recibió este correo electrónico por error por favor notifique al administrador del sistema. Este mensaje contiene información confidencial y es dirigido a la persona implicada. Si usted no es esa persona no debería diseminar, distribuir o copiar este mensaje de correo electrónico. This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error please notify the system manager. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From gheize en gmail.com Wed May 7 22:14:23 2008 From: gheize en gmail.com (Guillermo Heizenreder) Date: Wed, 07 May 2008 17:14:23 -0300 Subject: Crear un fichero en el HOME con python In-Reply-To: References: Message-ID: <1210191263.3032.2.camel@nercof-desktop> El mié, 07-05-2008 a las 19:48 +0000, Rafael Cantos escribió: > ¿Hay alguna forma de obtener el valor de una variable de entorno del > sistema con python? En concreto quiero obtener $HOME y por ahora no lo > he conseguido. La que conozco es la siguiente: [nercof] [~]$ python Python 2.5.2 (r252:60911, Apr 21 2008, 11:12:42) [GCC 4.2.3 (Ubuntu 4.2.3-2ubuntu7)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import os >>> home = os.environ['HOME'] >>> home '/home/nercof' >>> -- +--------------------------------- | Heizenreder Guillermo | http://gheize.wordpress.com/ | http://code.google.com/u/gheize/ | http://tipslinux.blogspot.com/ +--------------------------------- ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From tanymono en yahoo.com.ar Wed May 7 23:37:31 2008 From: tanymono en yahoo.com.ar (Tany Villalba) Date: Wed, 7 May 2008 18:37:31 -0300 (ART) Subject: Entorno con Layers Message-ID: <798558.3542.qm@web52603.mail.re2.yahoo.com> Hola amigos: Gracias por responder a mi consulta de listas me fue muy util consegui resolver mi problema. Ahora queria hacer una consulta de tipo general, que es que debo desarrollar un software manejado por layers, es decir por ejemplo cargar una imagen inmensa en el layer cero y colocar layers encima donde dibujare grafos, ademas de esto debe tener opciones de ampliar todos los layers como si se tratase de la parte de photoshop donde se muestra solo una pedazo de la imagen donde estamos trabajando pero puedo desplazarme hacia cualquier otra parte del grafico, ademas de poder ampliarlo o reducirlo para poder ver la imagen completa. La conuslta es con que tipo de libreria de python puedo lograr este manejo, lo consultao porque debo inicar a estudiar esta herramienta. Saludos ---------------------- Tany Villalba Villaba. Cusco - Peru --------------------------------- Los referentes más importantes en compra/venta de autos se juntaron: Demotores y Yahoo!.Ahora comprar o vender tu auto es más fácil. Visitá http://ar.autos.yahoo.com/ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From cgalisteo en k-rolus.net Wed May 7 23:57:08 2008 From: cgalisteo en k-rolus.net (Carlos) Date: Wed, 7 May 2008 23:57:08 +0200 Subject: Crear un fichero en el HOME con python In-Reply-To: <1210191263.3032.2.camel@nercof-desktop> References: <1210191263.3032.2.camel@nercof-desktop> Message-ID: > >>> import os > >>> home = os.environ['HOME'] > >>> home > '/home/nercof' Esta forma es más que correcta, pero en este caso concreto, también podrías referirte al home de un usuario como '~' y simplificarlo un poco si te sirve (depende de lo que quieras hacer con ello). Un saludo. -- --- Carlos Galisteo http://blog.k-rolus.net PGP_key::http://k-rolus.net/~cgalisteo/cgalisteo.gpg Key_Fingerprint::F888 6FBA 9145 B5A2 C187 66D6 5B8C 027A 69AD BE65 --- ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From gagsl-py2 en yahoo.com.ar Thu May 8 00:03:11 2008 From: gagsl-py2 en yahoo.com.ar (Gabriel Genellina) Date: Wed, 07 May 2008 19:03:11 -0300 Subject: problemas con cgi.py References: <888487.54213.qm@web32005.mail.mud.yahoo.com> Message-ID: En Tue, 06 May 2008 19:11:27 -0300, punchik punchik escribió: > No puedo importar el modulo cgi desde mi script de python, cada vez > que lo intento me sale este error: > Penzilla.net What is the Time?(wittime.py) Example: -->--> --> > > > Traceback (most recent call last): File "uno.py", line 5, in ? > import cgi File "/usr/lib/python2.3/cgi.py", line 39, in ? > import urllib File "/usr/lib/python2.3/urllib.py", line 28, in ? > import time File > "/home/.stoli/ketaplex/ketaplex.net/cgi-bin/time.py", line 16, in ? > print "

Penzilla thinks that it is: %s

" % time.ctime() > AttributeError: 'module' Puede ser que tengas un time.py de ejemplo en algun lado, que este ocultando al time.py "oficial" de la libreria estandar? -- Gabriel Genellina ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pyarnau en gmail.com Thu May 8 00:04:05 2008 From: pyarnau en gmail.com (Arnau Sanchez) Date: Thu, 08 May 2008 00:04:05 +0200 Subject: Crear un fichero en el HOME con python In-Reply-To: References: Message-ID: <48222755.4000107@gmail.com> Rafael Cantos escribió: > ¿Hay alguna forma de obtener el valor de una variable de entorno del sistema con python? En concreto quiero obtener $HOME y por ahora no lo he conseguido. > Ya ha salido os.environ. Si lo que quieres es concretamente el home, la otra posibilidad es expanduser: import os.path os.path.expanduser("~") Funciona en Unix y en Windows (usa HOME o combinación de HOMEDRIVE y HOMEPATH) _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From rafaelcantos en hotmail.com Thu May 8 00:21:40 2008 From: rafaelcantos en hotmail.com (Rafael Cantos) Date: Wed, 7 May 2008 22:21:40 +0000 Subject: Crear un fichero en el HOME con python In-Reply-To: <20080507201442.1D77915EF977@devnull.aditel.org> References: <20080507201442.1D77915EF977@devnull.aditel.org> Message-ID: Buenas. Muchas gracias Jose y Guillermo. Lo había conseguido de una forma un poco artesanal: home = os.system("echo $HOME") fichero = home + "/" + "mi_cichero" f = open(fichero, "w") ... fichero.close() saludos y gracias otra vez. Rafa os.environ[ 'HOME' ]El día 7 de mayo de 2008 15:48, Rafael Cantos References: <172699c50805070834h2c0b1ac1naf9a4a87829e368@mail.gmail.com> Message-ID: <120503.6354.qm@web34302.mail.mud.yahoo.com> Hola, Gracias por sus respuestas, finalmente el problema viene por el lado de CRUD, ademas los formularios que retornaba CRUD retornaba por ejemplo para un ID y Nombre un diccionario con la siguiente estructura: {'nombre': u'fernando', 'id': [u'1', u'1']} Debiendo ser. {'nombre': u'fernando', 'id': u'1'} Lo que googleando pude ver que se trataria de un Bug de CRUD. Ojo se aprecia claramente que los datos estan como Unicode. Tambien probe cambiar validators por UnicodeString, pero sin resultados positivos tampoco. Bueno efectivamente tambien el coding por default de Python en mi caso es Ascii. La verdad me dio muchos problemas la version TG2.0 Finalemnte ahora estoy probando con pylons, de hecho TG2.0 lo usa como base. Alguien ha usado pylons, como se ve respecto de TG2.0, a mi en lo particular con unas pocas horas de uso me ha ido mucho mejor que con TG20 Saludos --- Milton Galo Patricio Inostroza Aguilera wrote: > El día 3 de mayo de 2008 22:36, FERNANDO VILLARROEL > escribió: > > Hola a todos. > > > > Estoy nuevamente con Turbogeras esta ves probando > su > > nueva version 2.0 > > > > Nuevamente genere formularios usando crud. > > > > Turbogears viene por default con SqlAlchemy para > > acceder a los distintos motores, en mi caso yo > sigo > > usando Postgres, ahora al intentar insertar un > nuevo > > estas definiendo tus campos como String??...puedes > probar con ponerlos > en Unicode > > > registro obtengo el siuiente error: > > > > UnicodeDecodeError: 'ascii' codec can't decode > byte > > 0xc2 in position 47: ordinal not in range(128) > > > > Encontre una explicacion para esto en: > > > > > http://www.onlamp.com/pub/a/python/excerpt/pythonckbk_chap1/index.html > > > > Pero como lo resuelvo en mi proyecto de TG. > > > > Atento a sus comentarios. > > > > Fernando Villarroel > > > > > > > > > ____________________________________________________________________________________ > > Be a better friend, newshound, and > > know-it-all with Yahoo! Mobile. Try it now. > http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ > > _______________________________________________ > > Lista de correo Python-es > > http://listas.aditel.org/listinfo/python-es > > FAQ: http://listas.aditel.org/faqpyes > > > > > > -- > Milton Inostroza Aguilera > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes ____________________________________________________________________________________ Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From punchikk en yahoo.com Thu May 8 02:24:12 2008 From: punchikk en yahoo.com (punchik punchik) Date: Wed, 7 May 2008 17:24:12 -0700 (PDT) Subject: consejo sobre diccionario cgi python Message-ID: <861485.35547.qm@web32007.mail.mud.yahoo.com> hola, companeros : he hecho una diccionario en python y queria su consejo . Es algo sencillo: las personas envian una palabra desde un formulario html hacia el script de python y este regresa una web con el significado. He hecho un codigo poniendo las palabras con las definiciones en hash tables dentro del mismo archivo python en el servidor. Esto esta bien si son pocas palabras y definiciones, pero si tengo que agregar miles de palabras con su respectivas definiciones? no queria complicarme mucho usando bases de datos. que me aconsejorian? hay alguna forma de que los hash tables lean de archivos externos? o algun consejo para organizar u editar estos datos? muchas gracias #!/usr/bin/python import cgi, cgitb print "Content-Type: text/html" print d = {"concepcionante": "la concecion del dia es tal y tal", "water": "watermelocoli"} form = cgi.FieldStorage() name = form.getvalue('Name') print name print d[name] puncjhik --------------------------------- Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From punchikk en yahoo.com Thu May 8 02:27:03 2008 From: punchikk en yahoo.com (punchik punchik) Date: Wed, 7 May 2008 17:27:03 -0700 (PDT) Subject: problemas con cgi.py In-Reply-To: References: Message-ID: <530704.59436.qm@web32008.mail.mud.yahoo.com> si gracias , eso era justamente, tenia un archivo time.py que yo habia agregado y al parecer interferia con el que time.py de python. muchas gracias Gabriel Genellina wrote: En Tue, 06 May 2008 19:11:27 -0300, punchik punchik escribió: > No puedo importar el modulo cgi desde mi script de python, cada vez > que lo intento me sale este error: > Penzilla.net What is the Time?(wittime.py) Example: -->--> --> > > > Traceback (most recent call last): File "uno.py", line 5, in ? > import cgi File "/usr/lib/python2.3/cgi.py", line 39, in ? > import urllib File "/usr/lib/python2.3/urllib.py", line 28, in ? > import time File > "/home/.stoli/ketaplex/ketaplex.net/cgi-bin/time.py", line 16, in ? > print " Penzilla thinks that it is: %s " % time.ctime() > AttributeError: 'module' Puede ser que tengas un time.py de ejemplo en algun lado, que este ocultando al time.py "oficial" de la libreria estandar? -- Gabriel Genellina _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes --------------------------------- Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From markuz en islascruz.org Thu May 8 00:26:03 2008 From: markuz en islascruz.org (Marco Antonio Islas Cruz) Date: Wed, 07 May 2008 17:26:03 -0500 Subject: Crear un fichero en el HOME con python In-Reply-To: References: <1210191263.3032.2.camel@nercof-desktop> Message-ID: <1210199163.7194.19.camel@cucusa> Aunque si usan windows, HOME como tal no existe, puedes usar 'UserData' On Wed, 2008-05-07 at 23:57 +0200, Carlos wrote: > > >>> import os > > >>> home = os.environ['HOME'] > > >>> home > > '/home/nercof' > > Esta forma es más que correcta, pero en este caso concreto, también > podrías referirte al home de un usuario como '~' y simplificarlo un > poco si te sirve (depende de lo que quieras hacer con ello). > > Un saludo. > > > > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes -- <--Linux... Because I'm Free--> Marco Antonio Islas Cruz "Markuz" Linux User #280229 markuz en islascruz.org markuz en unixmexico.org markuz en linuxpozarica.com marco.islas en gmail.com islacruz en yahoo.com http://www.islascruz.org http://sourceforge.net/projects/gpkg/ http://www.linuxpozarica.com ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part URL: ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From inigo_aldazabal en ehu.es Thu May 8 10:11:25 2008 From: inigo_aldazabal en ehu.es (Inigo Aldazabal Mensa) Date: Thu, 8 May 2008 10:11:25 +0200 Subject: Crear un fichero en el HOME con python In-Reply-To: References: <20080507201442.1D77915EF977@devnull.aditel.org> Message-ID: <200805081011.25619.inigo_aldazabal@ehu.es> El Jueves, 8 de Mayo de 2008 00:21, Rafael Cantos escribió: > Buenas. > > Muchas gracias Jose y Guillermo. Lo había conseguido de una forma un > poco artesanal: home = os.system("echo $HOME") > fichero = home + "/" + "mi_cichero" > f = open(fichero, "w") > ... > fichero.close() Como decía Arnau, utilizando os.path además te aseguras que se unan bien los paths sin problemas, independientemente del sitema operativo import os.path home = os.path.expanduser( "~" ) fichero = os.path.join( home, "mi_fichero" ) ... ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From rafaelcantos en hotmail.com Thu May 8 10:48:25 2008 From: rafaelcantos en hotmail.com (Rafael Cantos) Date: Thu, 8 May 2008 08:48:25 +0000 Subject: Crear un fichero en el HOME con python In-Reply-To: <20080508002720.8B6F615EF97A@devnull.aditel.org> References: <20080508002720.8B6F615EF97A@devnull.aditel.org> Message-ID: Buenas Con os.environ me basta, gracias. Aunque me surge una pregunta, ¿sólo es válido para Linux? saludos Rafa import oshome = os.environ['HOME']home'/home/nercof'Esta forma es más que correcta, pero en este caso concreto, tambiénpodrÃas referirte al home de un usuario como '~' y simplificarlo unpoco si te sirve (depende de lo que quieras hacer con ello).Un saludo.-- ---Carlos Galisteo References: <20080507201442.1D77915EF977@devnull.aditel.org> <200805081011.25619.inigo_aldazabal@ehu.es> Message-ID: <1210237122.6525.2.camel@nos> El jue, 08-05-2008 a las 10:11 +0200, Inigo Aldazabal Mensa escribió: > El Jueves, 8 de Mayo de 2008 00:21, Rafael Cantos escribió: > > Buenas. > > > > Muchas gracias Jose y Guillermo. Lo había conseguido de una forma un > > poco artesanal: home = os.system("echo $HOME") > > fichero = home + "/" + "mi_cichero" > > f = open(fichero, "w") > > ... > > fichero.close() > > Como decía Arnau, utilizando os.path además te aseguras que se unan bien > los paths sin problemas, independientemente del sitema operativo > > import os.path > home = os.path.expanduser( "~" ) > fichero = os.path.join( home, "mi_fichero" ) > ... os.environ['HOME'] no funciona en CGI. ?os.path.expanduser("~") no lo conocía, ya lo probaré. ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From a.porrua en gmail.com Thu May 8 13:40:51 2008 From: a.porrua en gmail.com (antonio) Date: Thu, 08 May 2008 13:40:51 +0200 Subject: minervahosting Message-ID: <1210246851.9593.13.camel@nos> Minerva hosting dice en su publicidad, entre otras cosas que ofrecen CGI-BIN, python, y mysql... Pues el soporte que dan a python es PESIMÍSIMO. Tuve un problema y me contestaron: > ?Si es un script en python no va a funcionar, no está integrado con > Apache. Puedes lanzarlo desde un cron si creas un script ssh para > consola. Lo cual ya indica un poco el nivel que tienen al respecto. Lo que colmo el vaso es que ofreciendo python y mysql no tienen ningún modulo python para acceder a mysql, y cuando pedí que lo instalaran me contestaron: > ?La configuración de python la controla cPanel y no podemos alterarla. > Lo usa internamente y tienes disponible lo que él instala, que > entiendo es la configuración por defecto. > > Creo que ya te hemos dicho que nadie nos ha pedido nunca nada > relacionado con python, nuestra experiencia es escasa, creo que > deberías buscar otro hosting si piensas hacer algo sofisticado con > python. > > Comprende que nosotros no podemos estar ahora alterando la > configuración de python con el riesgo de estropear algo, cuando es > algo que nadie pide ni usa. luego yo: > ?No pido nada que no digáis que ofrecéis. > > Para "estropear algo" instalando un paquete del repositorio oficial de > la distro, hay o que ser muy inútil, o que tener mucha mala leche. > > ¿Me estás dando un NO definitivo o si me cabreo un poco, me quejo otro > poco, e informo a la comunidad de python sobre el *soporte* que da > MinervaHosting a Python (cuando lo ofrece explicitamente) vas a > terminar > instalando MySQLdb? > Porque en ese caso nos podemos ahorrar mucho tiempo. Pues, resulta que no lo van a instalar, así que como no era una amenaza sino un aviso, os doy un poco la brasa con este asunto: Si vais a contratar un hosting, aunque no valláis a hacer cgi con python ahora, si existe la posibilidad de que en un futuro hagáis alguna cosa, no os hospedéis en minervahosting. ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From ottavioaugusto en yahoo.com.ar Thu May 8 16:05:00 2008 From: ottavioaugusto en yahoo.com.ar (Octavio Bruzzone) Date: Thu, 8 May 2008 11:05:00 -0300 Subject: Pregunta por PyMC Message-ID: <200805081105.00136.ottavioaugusto@yahoo.com.ar> Hola gente de la lista, Soy de esa minoria de estadisticos que en vez de recurrir a cosas horribles como el SAS, SPSS, R, etc, usa el maravilloso python que dicho sea de paso es muchisimo mas poderoso para mis tareas diarias (¿hay algo para lo que el python no sea bueno?). En fin, yendo al grano, quisiera saber si alguno de ustedes esta trabajando en estadistica bayesiana, y de ser asi usa el modulo pymc para Markov Chain Montecarlo, para poder consultarlo. Hay poca documentacion al respecto y es bastante incoherente, pero parece muy potente, y si funciona, puedo mantener todo mi codigo estadistico en Python, sin tener que meter nada de R y otros engendros similares. Muchas gracias. Octavio. __________________________________________________ Correo Yahoo! Espacio para todos tus mensajes, antivirus y antispam ¡gratis! ¡Abrí tu cuenta ya! - http://correo.yahoo.com.ar _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From oinos en web.de Thu May 8 18:53:16 2008 From: oinos en web.de (=?ISO-8859-1?Q?Pablo_Rodr=EDguez?=) Date: Thu, 08 May 2008 18:53:16 +0200 Subject: problema con un programilla Message-ID: <48232FFC.3080304@web.de> Hola a todos, modificando un programilla que me encontré en internet, he hecho bastantes cosas, pero con las últimas modificaciones he debido de introducir o eliminar algo que hace que Está en http://ousia.justfree.com/iracconshow.txt. No tengo ni idea de lo que pasa. Con winpdb, me dice que en la primera línea (18) espera en el punto de ruptura. ¿Alguien sería tan amable de decirme qué es lo que falla y cómo podría solucionarlo? (Seguro que es una tontería, pero no sé qué es.) Gracias y saludos, Pablo _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From cgalisteo en k-rolus.net Thu May 8 19:26:39 2008 From: cgalisteo en k-rolus.net (Carlos) Date: Thu, 8 May 2008 19:26:39 +0200 Subject: problema con un programilla In-Reply-To: <48232FFC.3080304@web.de> References: <48232FFC.3080304@web.de> Message-ID: 2008/5/8 Pablo Rodríguez : > ¿Alguien sería tan amable de decirme qué es lo que falla y cómo podría > solucionarlo? (Seguro que es una tontería, pero no sé qué es.) #!/usr/bin/env python debe ir en la primera linea del fichero para que sepa que debe pasarlo por el interprete de Python. Prueba así o invocándolo desde python para ver si así te funciona. No he mirado mucho más el código xq es lo primero que me ha llamado la atención. Si sigue si ir avisa -- --- Carlos Galisteo http://blog.k-rolus.net PGP_key::http://k-rolus.net/~cgalisteo/cgalisteo.gpg Key_Fingerprint::F888 6FBA 9145 B5A2 C187 66D6 5B8C 027A 69AD BE65 --- ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pyarnau en gmail.com Thu May 8 19:54:01 2008 From: pyarnau en gmail.com (Arnau Sanchez) Date: Thu, 08 May 2008 19:54:01 +0200 Subject: LIst por valor (tvv) In-Reply-To: <200805071204.54213.falted@pytables.org> References: <679103.67269.qm@web52610.mail.re2.yahoo.com> <200805071204.54213.falted@pytables.org> Message-ID: <48233E39.5010905@gmail.com> Francesc Alted escribió: > Esto pregunta ya es un clásico (aunque no he visto una entrada todavia > en los FAQ en castellano). Oído cocina: http://k-rolus.net/~cgalisteo/python-es-faq/index.html?updated#index43h3 Lo único destacable que añado es una referencia a: http://python.net/~goodger/projects/pycon/2007/idiomatic/handout.html donde se explica la cuestión con dibujitos. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pyarnau en gmail.com Thu May 8 20:32:06 2008 From: pyarnau en gmail.com (Arnau Sanchez) Date: Thu, 08 May 2008 20:32:06 +0200 Subject: Mejorar este =?ISO-8859-1?Q?c=F3digo?= In-Reply-To: <5FCFCC3A814387468EEF6661618F2F6303430B3C@mexexch03.MEX.WTBTS.NET> References: <481ED6B0.7010509@gmail.com> <482027F1.9090209@gmail.com> <5FCFCC3A814387468EEF6661618F2F6303430B3C@mexexch03.MEX.WTBTS.NET> Message-ID: <48234726.20200@gmail.com> eber_ramirez en ltv.org.mx escribió: > Este es el primer programa que hago en Python, así que agradeceré sugerencias para mejorar el código. > Pues está muy bien para ser tu primera aproximación al lenguaje. Ya que los pides, aquí van algunos comentarios (la mayoría bastante establecidos en la "tradición", otros puramente personales): > # Version 0.1 > # Miercoles 7 de mayo de 2008 > # gerberito en gmail.com > En vez de comentarios, deberías usar las docstring del módulo: """ Programa XYZ: Hace esto y lo otro ... """ > from Tkinter import * > Es muy común importar los módulos de tkinter de este modo, pero el principio general es no hacer "from xyz import *", ya que ensucia el espacio de nombres. Podrías hacer esto: import Tkinter as tk tk.Button(...) > #Creamos la clase que es la base del programa > class Calcula_MR: > def __init__(self): > self.CreaObjetos() > > def CreaObjetos(self): > self.programa = Tk( ) # 'Ventana principal' de Tkinter's > Las funciones vacías no deberían llevar espacio en los paréntesis: Tk() > self.programa.title ('Momento Resistente - Sin acero a compresion') No dejes un espacio entre la función y el paréntesis self.programa.title(...) > #MarcoPrincipal=Frame(self.programa) > > #Primero creamos el cuadro de dialogo para introducir datos. > # FR = Factor de reduccion, por default 0.9 > # b = ancho de la seccion en cm > # d = peralte efectivo de la seccion en cm > # f'c = resistencia del concreto a la compresion a los 28 dias en kg/cm2 > # fy = Limite de fluencia del acero en kg/cm2 > # As = Area de acero en tension en cm2 > Como antes: estos comentarios van en los docstrings del método/función. De esta forma tu aplicación quedará perfectamente documentada. > # Ahora creamos las zonas donde el usuario introduce datos > > # Primero ponemos las etiquetas de los datos que ocuparemos > fila = 1 > for label in 'FR ', 'b ', 'd ', 'fc ', 'fy ', 'As ': > Etiqueta=Label(self.programa, text=label+'=', borderwidth=6) > Etiqueta.grid(row=fila,column=0) > #Label(self.programa,text=label+'=', borderwidth=6).grid(row=fila, column=0) > fila = fila + 1 > Ese uso de "fila" es sospechoso. Usa enumerate: for fila, label in ("label1", "label2"): # fila empieza a contar por 0 Ver de paso Idiomatic Python: http://python.net/~goodger/projects/pycon/2007/idiomatic/handout.html > #Ahora las unidades en las que se trabaja > fila = 1 > for label in ' ', 'cm ', 'cm ', 'kg/cm2 ', 'kg/cm2 ', 'cm2 ': > Etiqueta=Label(self.programa, text=label, borderwidth=6) > Etiqueta.grid(row=fila,column=2) > #Label(self.programa,text=label, borderwidth=6).grid(row=fila, column=2) > fila = fila + 1 > Está claro que los nombres y las unidades van unidas, ¿por qué hacer dos bucles? puedes hacer for index, (label, unit) in enumerate([("label1", "unit1"), (....)]): o si quieres manter dos arrays separados, usa zip: for index, (label, unit) in enumerate(zip(labels, units)): > self.FR_t=StringVar() > Entry(self.programa, width=10, textvariable=self.FR_t).grid(row=1, column=1) > self.FR_t.set('0.9') > > self.b_t=StringVar() > Entry(self.programa, width=10, textvariable=self.b_t).grid(row=2, column=1) > self.b_t.set('20') > > self.d_t=StringVar() > Entry(self.programa, width=10, textvariable=self.d_t).grid(row=3, column=1) > self.d_t.set('40') > Aquí hay un patrón muy claro, deberías crear una lista e iterar en un bucle. Quizá tengas algún problema al asignar la variable a self, ya que tendrás el nombre de la variable en una cadena: dale un vistazo a setattr. Otro tema sería que, en vez de meter esas variables directamente en la instancia, crearas otra, para separar un poco las cosas: class Container: pass variables = Container() variables.d_t = 3 ó si tenemos el nombre de variable en una cadena... s = "d_t", hacemos: setattr(variables, s, 3) En este caso puedes acceder a las variables (como cadena) y su valor pidiendo con "vars" el diccionario de la clase: vars(variables) También podrías meterla directamente en un diccionario, pero es discutible si es estético: variables["d_t"] > def Calculos(self): > #Extraemos los datos de los "entry's" > FR=float(self.FR_t.get()) > b=float(self.b_t.get()) > d=float(self.d_t.get()) > fc=float(self.fc_t.get()) > fy=float(self.fy_t.get()) > As=float(self.As_t.get()) > Mucha repetición: puedes abstraerlo en un bucle. --- Esto en cuanto a lo que atañe al uso del lenguaje. Como concepto general te recomendaría modularizar: separa la lógica de la presentación (frontend). Si alguien quiere usar tu script (la parte de cálculo) desde el suyo propio , o cambiar a gtk, por ejemplo, tendrá que retocarlo bastante, ya que la interacción con Tk está por todas partes. A este respecto, y uses el sistema operativo que uses, no dejes de darle un vistazo a este repaso de la filosofía UNIX: http://www.faqs.org/docs/artu/ch01s06.html _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From eber_ramirez en ltv.org.mx Thu May 8 21:44:52 2008 From: eber_ramirez en ltv.org.mx (eber_ramirez en ltv.org.mx) Date: Thu, 8 May 2008 14:44:52 -0500 Subject: =?iso-8859-1?Q?RE=3A_=5BPython-es=5D_Mejorar_este_c=F3digo?= In-Reply-To: <48234726.20200@gmail.com> References: <481ED6B0.7010509@gmail.com> <482027F1.9090209@gmail.com><5FCFCC3A814387468EEF6661618F2F6303430B3C@mexexch03.MEX.WTBTS.NET> <48234726.20200@gmail.com> Message-ID: <5FCFCC3A814387468EEF6661618F2F6303474572@mexexch03.MEX.WTBTS.NET> > Este es el primer programa que hago en Python, así que agradeceré sugerencias para mejorar el código. > Pues está muy bien para ser tu primera aproximación al lenguaje. Ya que los pides, aquí van algunos comentarios (la mayoría bastante establecidos en la "tradición", otros puramente personales): > # Version 0.1 > # Miercoles 7 de mayo de 2008 > # gerberito en gmail.com > En vez de comentarios, deberías usar las docstring del módulo: """ Programa XYZ: Hace esto y lo otro ... """ > from Tkinter import * > Es muy común importar los módulos de tkinter de este modo, pero el principio general es no hacer "from xyz import *", ya que ensucia el espacio de nombres. Podrías hacer esto: import Tkinter as tk tk.Button(...) > #Creamos la clase que es la base del programa > class Calcula_MR: > def __init__(self): > self.CreaObjetos() > > def CreaObjetos(self): > self.programa = Tk( ) # 'Ventana principal' de Tkinter's > Las funciones vacías no deberían llevar espacio en los paréntesis: Tk() > self.programa.title ('Momento Resistente - Sin acero a compresion') No dejes un espacio entre la función y el paréntesis self.programa.title(...) > #MarcoPrincipal=Frame(self.programa) > > #Primero creamos el cuadro de dialogo para introducir datos. > # FR = Factor de reduccion, por default 0.9 > # b = ancho de la seccion en cm > # d = peralte efectivo de la seccion en cm > # f'c = resistencia del concreto a la compresion a los 28 dias en kg/cm2 > # fy = Limite de fluencia del acero en kg/cm2 > # As = Area de acero en tension en cm2 > Como antes: estos comentarios van en los docstrings del método/función. De esta forma tu aplicación quedará perfectamente documentada. > # Ahora creamos las zonas donde el usuario introduce datos > > # Primero ponemos las etiquetas de los datos que ocuparemos > fila = 1 > for label in 'FR ', 'b ', 'd ', 'fc ', 'fy ', 'As ': > Etiqueta=Label(self.programa, text=label+'=', borderwidth=6) > Etiqueta.grid(row=fila,column=0) > #Label(self.programa,text=label+'=', borderwidth=6).grid(row=fila, column=0) > fila = fila + 1 > Ese uso de "fila" es sospechoso. Usa enumerate: for fila, label in ("label1", "label2"): # fila empieza a contar por 0 Ver de paso Idiomatic Python: http://python.net/~goodger/projects/pycon/2007/idiomatic/handout.html > #Ahora las unidades en las que se trabaja > fila = 1 > for label in ' ', 'cm ', 'cm ', 'kg/cm2 ', 'kg/cm2 ', 'cm2 ': > Etiqueta=Label(self.programa, text=label, borderwidth=6) > Etiqueta.grid(row=fila,column=2) > #Label(self.programa,text=label, borderwidth=6).grid(row=fila, column=2) > fila = fila + 1 > Está claro que los nombres y las unidades van unidas, ¿por qué hacer dos bucles? puedes hacer for index, (label, unit) in enumerate([("label1", "unit1"), (....)]): o si quieres manter dos arrays separados, usa zip: for index, (label, unit) in enumerate(zip(labels, units)): > self.FR_t=StringVar() > Entry(self.programa, width=10, textvariable=self.FR_t).grid(row=1, column=1) > self.FR_t.set('0.9') > > self.b_t=StringVar() > Entry(self.programa, width=10, textvariable=self.b_t).grid(row=2, column=1) > self.b_t.set('20') > > self.d_t=StringVar() > Entry(self.programa, width=10, textvariable=self.d_t).grid(row=3, column=1) > self.d_t.set('40') > Aquí hay un patrón muy claro, deberías crear una lista e iterar en un bucle. Quizá tengas algún problema al asignar la variable a self, ya que tendrás el nombre de la variable en una cadena: dale un vistazo a setattr. Otro tema sería que, en vez de meter esas variables directamente en la instancia, crearas otra, para separar un poco las cosas: class Container: pass variables = Container() variables.d_t = 3 ó si tenemos el nombre de variable en una cadena... s = "d_t", hacemos: setattr(variables, s, 3) En este caso puedes acceder a las variables (como cadena) y su valor pidiendo con "vars" el diccionario de la clase: vars(variables) También podrías meterla directamente en un diccionario, pero es discutible si es estético: variables["d_t"] > def Calculos(self): > #Extraemos los datos de los "entry's" > FR=float(self.FR_t.get()) > b=float(self.b_t.get()) > d=float(self.d_t.get()) > fc=float(self.fc_t.get()) > fy=float(self.fy_t.get()) > As=float(self.As_t.get()) > Mucha repetición: puedes abstraerlo en un bucle. --- Esto en cuanto a lo que atañe al uso del lenguaje. Como concepto general te recomendaría modularizar: separa la lógica de la presentación (frontend). Si alguien quiere usar tu script (la parte de cálculo) desde el suyo propio , o cambiar a gtk, por ejemplo, tendrá que retocarlo bastante, ya que la interacción con Tk está por todas partes. A este respecto, y uses el sistema operativo que uses, no dejes de darle un vistazo a este repaso de la filosofía UNIX: http://www.faqs.org/docs/artu/ch01s06.html ========================================================= Wow! Arnau, muchas gracias. Voy a leer los documentos señalados e implementar los ajustes sugeridos. Esto era justo lo que necesitaba para ir por el camino correcto con Python. En cuanto tenga todo "listo" vuelvo a poner en la lista el código. Nuevamente, muchas gracias. Eber Ramírez Este correo electrónico y cualquier archivo transmitido con él son confidenciales y son solamente para el uso del individuo o entidad a la que van dirigidos. Si recibió este correo electrónico por error por favor notifique al administrador del sistema. Este mensaje contiene información confidencial y es dirigido a la persona implicada. Si usted no es esa persona no debería diseminar, distribuir o copiar este mensaje de correo electrónico. This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error please notify the system manager. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From dani en danigm.net Fri May 9 03:22:38 2008 From: dani en danigm.net (Daniel Garcia Moreno) Date: Fri, 09 May 2008 03:22:38 +0200 Subject: rutas relativas y easy_install Message-ID: <1210296158.11887.5.camel@localhost.localdomain> Hola, tengo una aplicación en python, que requiere cargar recursos, como imágenes y sonidos. Hasta ahora la he programado de la siguiente manera: el código está en un directorio, y en otro directorio están los recursos (data), y para acceder a los recursos utilizo os.join('..','data','recurso.png') Ahora he empezado a probar easy_install, para poder instalar la aplicación de forma más simple, pero me he dado cuenta de que cuando la instalo, y la intento ejecutar, como se llama desde otro directorio, pues ../data no existe, por lo que me lanza una excepción. Mi pregunta es: ¿Cuál es la manera correcta de definir las rutas? ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 197 bytes Desc: Esta parte del mensaje está firmada digitalmente URL: ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From minoztro en gmail.com Fri May 9 05:42:11 2008 From: minoztro en gmail.com (Milton Galo Patricio Inostroza Aguilera) Date: Thu, 8 May 2008 23:42:11 -0400 Subject: rutas relativas y easy_install In-Reply-To: <1210296158.11887.5.camel@localhost.localdomain> References: <1210296158.11887.5.camel@localhost.localdomain> Message-ID: <172699c50805082042s3a221160pfd51b3d2f924869a@mail.gmail.com> El día 8 de mayo de 2008 21:22, Daniel Garcia Moreno escribió: [..] > Ahora he empezado a probar easy_install, para poder instalar la > aplicación de forma más simple, pero me he dado cuenta de que cuando la > instalo, y la intento ejecutar, como se llama desde otro directorio, > pues ../data no existe, por lo que me lanza una excepción. > > Mi pregunta es: ¿Cuál es la manera correcta de definir las rutas? Mira en realidad nunca he realizado lo que tu estas haciendo especificamente pero una vez en la universidad tuve que programar en algo que se llama tres capas...lo que hacemos es crear tres niveles BD, RN y GUI...entonces lo que hacia es crear una carpeta por cada nivel y dentro de cada carpeta creaba un fichero __init__.py {generalmente vacio} y luego podia importar de un paquete {o si le quieres llamar carpeta} a otro sin problemas por ejemplo para llamar a un fichero de la capa BD desde la RN solo hac'ia: from BD.nombre_fichero import alguna_clase y asi matienes ordenaditos tus niveles....pero en realidad no se si esto es lo que necesitas....si es asi te puedo explicar mejor e incluso enviar una estructura que ya funcione. > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Milton Inostroza Aguilera ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From dani en danigm.net Fri May 9 08:47:30 2008 From: dani en danigm.net (Daniel Garcia Moreno) Date: Fri, 09 May 2008 08:47:30 +0200 Subject: rutas relativas y easy_install In-Reply-To: <172699c50805082042s3a221160pfd51b3d2f924869a@mail.gmail.com> References: <1210296158.11887.5.camel@localhost.localdomain> <172699c50805082042s3a221160pfd51b3d2f924869a@mail.gmail.com> Message-ID: <1210315650.6001.4.camel@localhost.localdomain> El jue, 08-05-2008 a las 23:42 -0400, Milton Galo Patricio Inostroza Aguilera escribió: > El día 8 de mayo de 2008 21:22, Daniel Garcia Moreno escribió: > > [..] > > > Ahora he empezado a probar easy_install, para poder instalar la > > aplicación de forma más simple, pero me he dado cuenta de que cuando la > > instalo, y la intento ejecutar, como se llama desde otro directorio, > > pues ../data no existe, por lo que me lanza una excepción. > > > > Mi pregunta es: ¿Cuál es la manera correcta de definir las rutas? > > Mira en realidad nunca he realizado lo que tu estas haciendo > especificamente pero una vez en la universidad tuve que programar en > algo que se llama tres capas...lo que hacemos es crear tres niveles > BD, RN y GUI...entonces lo que hacia es crear una carpeta por cada > nivel y dentro de cada carpeta creaba un fichero __init__.py > {generalmente vacio} y luego podia importar de un paquete {o si le > quieres llamar carpeta} a otro sin problemas > > por ejemplo para llamar a un fichero de la capa BD desde la RN solo hac'ia: > > from BD.nombre_fichero import alguna_clase > > y asi matienes ordenaditos tus niveles....pero en realidad no se si > esto es lo que necesitas....si es asi te puedo explicar mejor e > incluso enviar una estructura que ya funcione. No es esto lo que yo quiero hacer. Yo quiero añadir imágenes, y son rutas hacia imágenes que están en código, y quiero que esas imágenes también se instalen. He estado mirando la documentación de setuptools, y no se como se podría hacer que incluya también ficheros que no son .py en el setup.py. He intentado con el package_data, pero creo que no los añade. ¿Es posible instalar con setuptools un directorio con imágenes, o tendría que copiar el directorio con un script, y poner las rutas relativas a esta copia? ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 197 bytes Desc: Esta parte del mensaje está firmada digitalmente URL: ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From falted en pytables.org Fri May 9 10:44:45 2008 From: falted en pytables.org (Francesc Alted) Date: Fri, 9 May 2008 10:44:45 +0200 Subject: LIst por valor (tvv) In-Reply-To: <48233E39.5010905@gmail.com> References: <679103.67269.qm@web52610.mail.re2.yahoo.com> <200805071204.54213.falted@pytables.org> <48233E39.5010905@gmail.com> Message-ID: <200805091044.45899.falted@pytables.org> A Thursday 08 May 2008, Arnau Sanchez escrigué: > Francesc Alted escribió: > > Esto pregunta ya es un clásico (aunque no he visto una entrada > > todavia en los FAQ en castellano). > > Oído cocina: > > http://k-rolus.net/~cgalisteo/python-es-faq/index.html?updated#index4 >3h3 > > Lo único destacable que añado es una referencia a: > > http://python.net/~goodger/projects/pycon/2007/idiomatic/handout.html > > donde se explica la cuestión con dibujitos. Uops, muy bueno el documento de David Goodger. Apto tanto para novatos como para los que tenemos experiencia. Y además muy actualizado con las nuevas características de las últimas versiones de Python :) Un saludo, -- Francesc Alted _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pych3m4 en gmail.com Fri May 9 14:06:27 2008 From: pych3m4 en gmail.com (Chema Cortes) Date: Fri, 9 May 2008 14:06:27 +0200 Subject: rutas relativas y easy_install In-Reply-To: <1210315650.6001.4.camel@localhost.localdomain> References: <1210296158.11887.5.camel@localhost.localdomain> <172699c50805082042s3a221160pfd51b3d2f924869a@mail.gmail.com> <1210315650.6001.4.camel@localhost.localdomain> Message-ID: <2c9fb0dd0805090506n11fda40xcdd6a1b218507f3@mail.gmail.com> El día 9 de mayo de 2008 8:47, Daniel Garcia Moreno escribió: > He estado mirando la documentación de setuptools, y > no se como se podría hacer que incluya también ficheros que no son .py > en el setup.py. He intentado con el package_data, pero creo que no los > añade. ¿Lo crees así o lo has probado y no funciona? En la documentación está bien explicado. Si no te va, cuenta algo más sobre qué error da o qué pasa: http://peak.telecommunity.com/DevCenter/setuptools#including-data-files Probablemente, el problema que tienes es que pretendes sacar las imágenes del paquete que estás instalando, algo poco recomendable. ¿Realmente es así como lo quieres hacer? _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From markuz en islascruz.org Fri May 9 15:58:19 2008 From: markuz en islascruz.org (Marco Antonio Islas Cruz) Date: Fri, 09 May 2008 08:58:19 -0500 Subject: rutas relativas y easy_install In-Reply-To: <1210315650.6001.4.camel@localhost.localdomain> References: <1210296158.11887.5.camel@localhost.localdomain> <172699c50805082042s3a221160pfd51b3d2f924869a@mail.gmail.com> <1210315650.6001.4.camel@localhost.localdomain> Message-ID: <1210341499.7347.2.camel@cucusa> Yo uso las autotools, y genero un template (template.py.in) que resulta en template.py, de donde cargo las rutas. Lo bueno con esto es que puedes darle flexibilidad al usuario de que configure la aplicacion a su gusto. On Fri, 2008-05-09 at 08:47 +0200, Daniel Garcia Moreno wrote: > El jue, 08-05-2008 a las 23:42 -0400, Milton Galo Patricio Inostroza > Aguilera escribió: > > El día 8 de mayo de 2008 21:22, Daniel Garcia Moreno escribió: > > > > [..] > > > > > Ahora he empezado a probar easy_install, para poder instalar la > > > aplicación de forma más simple, pero me he dado cuenta de que cuando la > > > instalo, y la intento ejecutar, como se llama desde otro directorio, > > > pues ../data no existe, por lo que me lanza una excepción. > > > > > > Mi pregunta es: ¿Cuál es la manera correcta de definir las rutas? > > > > Mira en realidad nunca he realizado lo que tu estas haciendo > > especificamente pero una vez en la universidad tuve que programar en > > algo que se llama tres capas...lo que hacemos es crear tres niveles > > BD, RN y GUI...entonces lo que hacia es crear una carpeta por cada > > nivel y dentro de cada carpeta creaba un fichero __init__.py > > {generalmente vacio} y luego podia importar de un paquete {o si le > > quieres llamar carpeta} a otro sin problemas > > > > por ejemplo para llamar a un fichero de la capa BD desde la RN solo hac'ia: > > > > from BD.nombre_fichero import alguna_clase > > > > y asi matienes ordenaditos tus niveles....pero en realidad no se si > > esto es lo que necesitas....si es asi te puedo explicar mejor e > > incluso enviar una estructura que ya funcione. > > No es esto lo que yo quiero hacer. Yo quiero añadir imágenes, y son > rutas hacia imágenes que están en código, y quiero que esas imágenes > también se instalen. He estado mirando la documentación de setuptools, y > no se como se podría hacer que incluya también ficheros que no son .py > en el setup.py. He intentado con el package_data, pero creo que no los > añade. > > ¿Es posible instalar con setuptools un directorio con imágenes, o > tendría que copiar el directorio con un script, y poner las rutas > relativas a esta copia? > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes -- <--Linux... Because I'm Free--> Marco Antonio Islas Cruz "Markuz" Linux User #280229 markuz en islascruz.org markuz en unixmexico.org markuz en linuxpozarica.com marco.islas en gmail.com islacruz en yahoo.com http://www.islascruz.org http://sourceforge.net/projects/gpkg/ http://www.linuxpozarica.com ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part URL: ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From oinos en web.de Fri May 9 19:19:49 2008 From: oinos en web.de (=?ISO-8859-1?Q?Pablo_Rodr=EDguez?=) Date: Fri, 09 May 2008 19:19:49 +0200 Subject: problema con un programilla In-Reply-To: References: <48232FFC.3080304@web.de> Message-ID: <482487B5.60408@web.de> Carlos wrote: > 2008/5/8 Pablo Rodríguez : > >> ¿Alguien sería tan amable de decirme qué es lo que falla y cómo podría >> solucionarlo? (Seguro que es una tontería, pero no sé qué es.) > > #!/usr/bin/env python debe ir en la primera linea del fichero para que > sepa que debe pasarlo por el interprete de Python. > > Prueba así o invocándolo desde python para ver si así te funciona. No > he mirado mucho más el código xq es lo primero que me ha llamado la > atención. Si sigue si ir avisa Muchísimas gracias, Carlos. Nunca se me habría ocurrido que podría ser eso. Ahora funciona con toda normalidad. Pablo _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From kalith.9 en gmail.com Sun May 11 16:17:09 2008 From: kalith.9 en gmail.com (kalith kalith) Date: Mon, 12 May 2008 09:47:09 +1930 Subject: Que hace el self Message-ID: <3da702830805110717h340f36e9k894c7b4221ba905@mail.gmail.com> Bueno estoy muy nuevo en esto de la poo nunca antes lo habia hecho aun se me dificultan muchos en realidad que es lo que hace el self...?? teniendo el siguiente ejemplo: >>> class F: ... i = 5 ... def dime_i(self): ... return F.i ... def dime_mi_i(self): ... return self.i >>> a = F() >>> a.dime_i() 5 >>> a.dime_mi_i() 5 >>> a.i = 6 >>> a.dime_i() 5 >>> a.dime_mi_i() 6 >>> a.i 6 porque el que cambia es a.dime_mi_i() Gracias =) -- Seamos realistas y hagamos lo imposible _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From minoztro en gmail.com Sun May 11 17:23:59 2008 From: minoztro en gmail.com (Milton Galo Patricio Inostroza Aguilera) Date: Sun, 11 May 2008 11:23:59 -0400 Subject: Que hace el self In-Reply-To: <3da702830805110717h340f36e9k894c7b4221ba905@mail.gmail.com> References: <3da702830805110717h340f36e9k894c7b4221ba905@mail.gmail.com> Message-ID: <172699c50805110823q208c2fa5o7ae70e7d815850aa@mail.gmail.com> El día 11 de mayo de 2008 10:17, kalith kalith escribió: > Bueno estoy muy nuevo en esto de la poo nunca antes lo habia hecho aun se me > dificultan muchos en realidad que es lo que hace el self...?? > > teniendo el siguiente ejemplo: > >>>> class F: > ... i = 5 > ... def dime_i(self): > ... return F.i > ... def dime_mi_i(self): > ... return self.i >>>> a = F() >>>> a.dime_i() > 5 >>>> a.dime_mi_i() > 5 >>>> a.i = 6 aca lo que estas haciendo es creando un atributo a la instancia a de la clase F...fijate que es importante entender que este atributo i no existe en tu instancia a, esto es lo lindo de python... >>>> a.dime_i() > 5 claro esto esta bien porque no estas imprimiento el atributo i de la instancia a sino que estas imprimiendo el i de la clase >>>> a.dime_mi_i() > 6 mira si tu haces a.dime_mi_i() antes de haber hecho la asignacion a.i=6 python hubiera impreso 5...ve este ejemplo: >>> class F: ... a = 1 ... def __init__(self): ... self.b = 5 ... def impresion(self): ... print self.a ... >>> f = F() >>> f.impresion() 1 >>> f.a 1 >>> f.__dict__ {'b': 5} >>> f.a = 5 >>> f.impresion() 5 >>> f.__dict__ {'a': 5, 'b': 5} >>> F.__dict__ {'a': 1, '__module__': '__main__', 'impresion': , '__doc__': None, '__init__': } >>> basicamente porque python cuando le pides un atributo busca en el diccionario local de la instancia y si no lo encuentra busca en el diccionario local de la clase y si no lo encuentro busca en el diccionario local de la(s) superclase(s)...y bueno si no lo encuentra en ninguna de estas partes lanza una exception de attributeError...creo que es bueno que leas esto [1] [1] http://www.cafepy.com/article/python_attributes_and_methods/python_attributes_and_methods.html >>>> a.i > 6 basicamente si miras este ejemplo: >>> class F: ... a = 1 ... def __init__(self): ... self.a = 5 ... >>> F.__dict__ {'a': 1, '__module__': '__main__', '__doc__': None, '__init__': } >>> f = F() >>> f.__dict__ {'a': 5} >>> > > > > porque el que cambia es > > a.dime_mi_i() > Gracias =) porque en este estas imprimiendo un atributo de la instancia...si te fijas cada objeto que te muestro anteriormente tiene un diccionario {no todos los objetos python lo tienen} y si te das cuenta los diccionarios de la instancia de la clase con el de la clase son distintos. Explicarte formalmente que es lo que sucede no lo se...quizas los mas expertos puedan ayudar a profundizar mas mi explicacion. saludos y espero haberte ayudado en algo, > > -- > > Seamos realistas y hagamos lo imposible > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Milton Inostroza Aguilera ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From francisco.palm en gmail.com Sun May 11 17:34:08 2008 From: francisco.palm en gmail.com (Francisco Palm) Date: Mon, 12 May 2008 11:04:08 +1930 Subject: Que hace el self In-Reply-To: <3da702830805110717h340f36e9k894c7b4221ba905@mail.gmail.com> References: <3da702830805110717h340f36e9k894c7b4221ba905@mail.gmail.com> Message-ID: En tu caso el campo "i" es un campo -de la clase- que compartirían todas las instancias de la clase. En este caso, self.i y F.i son la misma cosa. Fíjate, con la definición de F que das: >>> a = F() >>> b = F() >>> F.i = 8 >>> a.i 8 >>> b.i 8 Pero ojo!!! si le asignas un valor directamente a una instancia, el campo i de la instancia pasa apuntar a un espacio de memoria distinto >>> a.i = 10 >>> b.i 8 >>> F.i 8 Ahora si se define la clase: class f: def __init__(self): self.i = 5 def dime_i(self): return F.i def dime_mi_i(self): return self.i Entonces: >>> c = f() >>> f.i = 8 >>> c.i 5 "f.i" es un nuevo campo que se añade dinámicamente a la clase. Mientras que "c.i" es un campo de la instancia (lo mismo que conseguimos arriba al realizar la asignación: "a.i = 10" Con un poco de metaprogramación podemos añadir campos a la clase en tiempo de ejecución. Y las instancias pueden acceder a esos valores!!! >>> f.y = 10 >>> c.y 10 >>> d = f() >>> c.y 10 Saludos F. Palm 2008/5/12 kalith kalith : > Bueno estoy muy nuevo en esto de la poo nunca antes lo habia hecho aun se me > dificultan muchos en realidad que es lo que hace el self...?? > > teniendo el siguiente ejemplo: > >>>> class F: > ... i = 5 > ... def dime_i(self): > ... return F.i > ... def dime_mi_i(self): > ... return self.i >>>> a = F() >>>> a.dime_i() > 5 >>>> a.dime_mi_i() > 5 >>>> a.i = 6 >>>> a.dime_i() > 5 >>>> a.dime_mi_i() > 6 >>>> a.i > 6 > > > > porque el que cambia es > > a.dime_mi_i() > Gracias =) > > -- > > Seamos realistas y hagamos lo imposible > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- -------------------------------------- fpalm en ula.ve francisco.palm en gmail.com cel: 0414 5109177 tel: 0274 6352001 ---- Yo creo que todavía no es demasiado tarde para construir una utopía que nos permita compartir la tierra. Gabriel García Márquez. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From kalith.9 en gmail.com Sun May 11 18:09:38 2008 From: kalith.9 en gmail.com (kalith kalith) Date: Mon, 12 May 2008 11:39:38 +1930 Subject: Que hace el self In-Reply-To: References: <3da702830805110717h340f36e9k894c7b4221ba905@mail.gmail.com> Message-ID: <3da702830805110909n801327bp10297e74ccd6a7db@mail.gmail.com> Gracias a ambos por sus respuestas =) cada dia veo la poo mas dificil :x -- Seamos realistas y hagamos lo imposible _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From reynaldomic en gmail.com Sun May 11 19:05:46 2008 From: reynaldomic en gmail.com (Reynaldo) Date: Sun, 11 May 2008 12:05:46 -0500 Subject: Que hace el self In-Reply-To: <3da702830805110909n801327bp10297e74ccd6a7db@mail.gmail.com> References: <3da702830805110717h340f36e9k894c7b4221ba905@mail.gmail.com> <3da702830805110909n801327bp10297e74ccd6a7db@mail.gmail.com> Message-ID: <4827276A.3040309@gmail.com> kalith kalith escribió: > Gracias a ambos por sus respuestas =) > > cada dia veo la poo mas dificil :x > Esta referencia [1] quizá ayude en algo a suavizar la curva de aprendizaje, [1] http://cobweb.ecn.purdue.edu/~ece495f/Resources/quick_python_oo_review.pdf _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From cfranceschini en bib.unne.edu.ar Sun May 11 21:05:10 2008 From: cfranceschini en bib.unne.edu.ar (Lic. Cristian Franceschini) Date: Sun, 11 May 2008 16:05:10 -0300 Subject: Necesito doc sobre POO en pythin In-Reply-To: <00bc01c8b048$5f217060$12140a0a@IPICFG> References: <00bc01c8b048$5f217060$12140a0a@IPICFG> Message-ID: <19b6da380805111205w55eb22c7xc146f4ee7733ee3e@mail.gmail.com> Lo mejor que ví hasta ahora acerca de oop en python: http://www.cafepy.com/article/python_types_and_objects/ http://www.cafepy.com/article/python_attributes_and_methods/ slds 2008/5/7 ramonsr : > Holas soy principiante en python y necesito docs de POO detallados . Estoy migrando de delphi para python . > > -- > Este mensaje ha sido analizado por MailScanner > en busca de virus y otros contenidos peligrosos, > y se considera que está limpio. > ** Nodo Comunicaciones IPI Cienfuegos ** > ** WebPage:http://www.ipicfg.rimed.cu ** > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From kalith.9 en gmail.com Mon May 12 00:48:10 2008 From: kalith.9 en gmail.com (kalith kalith) Date: Mon, 12 May 2008 18:18:10 +1930 Subject: Necesito doc sobre POO en pythin In-Reply-To: <19b6da380805111205w55eb22c7xc146f4ee7733ee3e@mail.gmail.com> References: <00bc01c8b048$5f217060$12140a0a@IPICFG> <19b6da380805111205w55eb22c7xc146f4ee7733ee3e@mail.gmail.com> Message-ID: <3da702830805111548sc3f8f1qd79d265956173a45@mail.gmail.com> yo tb ando en lo mismo.. mm lastima q este en ingles mi ingles suckea bastante... -- Seamos realistas y hagamos lo imposible _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From py en ch3m4.org Mon May 12 01:19:00 2008 From: py en ch3m4.org (Chema Cortes) Date: Mon, 12 May 2008 01:19:00 +0200 Subject: Que hace el self In-Reply-To: <172699c50805110823q208c2fa5o7ae70e7d815850aa@mail.gmail.com> References: <3da702830805110717h340f36e9k894c7b4221ba905@mail.gmail.com> <172699c50805110823q208c2fa5o7ae70e7d815850aa@mail.gmail.com> Message-ID: <200805120119.12768.py@ch3m4.org> El Sunday 11 May 2008 17:23:59 Milton Galo Patricio Inostroza Aguilera escribió: > basicamente porque python cuando le pides un atributo busca en el > diccionario local de la instancia y si no lo encuentra busca en el > diccionario local de la clase y si no lo encuentro busca en el > diccionario local de la(s) superclase(s)...y bueno si no lo encuentra > en ninguna de estas partes lanza una exception de > attributeError...creo que es bueno que leas esto [1] > > [1] > http://www.cafepy.com/article/python_attributes_and_methods/python_attribut >es_and_methods.html Supongo que lo has querido simplificar, pero en realidad antes de mirar en el diccionario local de la instancia se mira en el diccionario de la clase por si el atributo es un descriptor de datos. En la referencia que has puesto está explicado en detalle todo el mecanismo de búsqueda de atributos (apartado "Attribute Search Summary"). ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part. URL: ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From py en ch3m4.org Mon May 12 01:31:36 2008 From: py en ch3m4.org (Chema Cortes) Date: Mon, 12 May 2008 01:31:36 +0200 Subject: Que hace el self In-Reply-To: <3da702830805110909n801327bp10297e74ccd6a7db@mail.gmail.com> References: <3da702830805110717h340f36e9k894c7b4221ba905@mail.gmail.com> <3da702830805110909n801327bp10297e74ccd6a7db@mail.gmail.com> Message-ID: <200805120131.41234.py@ch3m4.org> El Sunday 11 May 2008 18:09:38 kalith kalith escribió: > cada dia veo la poo mas dificil :x Todo es acostumbrarse. La realidad es que pensamos bastante en objetos para simplificar las soluciones de nuestra vida cotidiana. Cuando preparas una pizza, por ejemplo, partes de una pizza base a la que añades o quitas componentes. Lo mismo pasa con las clases y las instancias: la clase es una base para generar la instancia, a la que pones y quitas atributos !a pedir de boca! ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part. URL: ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From minoztro en gmail.com Mon May 12 01:44:50 2008 From: minoztro en gmail.com (Milton Galo Patricio Inostroza Aguilera) Date: Sun, 11 May 2008 19:44:50 -0400 Subject: Que hace el self In-Reply-To: <200805120119.12768.py@ch3m4.org> References: <3da702830805110717h340f36e9k894c7b4221ba905@mail.gmail.com> <172699c50805110823q208c2fa5o7ae70e7d815850aa@mail.gmail.com> <200805120119.12768.py@ch3m4.org> Message-ID: <172699c50805111644g796b41a8r287f374c8bb6ff2d@mail.gmail.com> El día 11 de mayo de 2008 19:19, Chema Cortes escribió: > El Sunday 11 May 2008 17:23:59 Milton Galo Patricio Inostroza Aguilera > escribió: > >> basicamente porque python cuando le pides un atributo busca en el >> diccionario local de la instancia y si no lo encuentra busca en el >> diccionario local de la clase y si no lo encuentro busca en el >> diccionario local de la(s) superclase(s)...y bueno si no lo encuentra >> en ninguna de estas partes lanza una exception de >> attributeError...creo que es bueno que leas esto [1] >> >> [1] >> http://www.cafepy.com/article/python_attributes_and_methods/python_attribut >>es_and_methods.html > > Supongo que lo has querido simplificar, pero en realidad antes de mirar en el > diccionario local de la instancia se mira en el diccionario de la clase por > si el atributo es un descriptor de datos. En la referencia tienes toda la razon chema...fue un error mio. que has puesto > está explicado en detalle todo el mecanismo de búsqueda de atributos > (apartado "Attribute Search Summary"). > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Milton Inostroza Aguilera ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From kalith.9 en gmail.com Mon May 12 02:39:00 2008 From: kalith.9 en gmail.com (kalith kalith) Date: Mon, 12 May 2008 20:09:00 +1930 Subject: arreglo a cadena Message-ID: <3da702830805111739o4214ec83kc5566e1f8d7702c7@mail.gmail.com> Bueno estos dias ando preguntando todo... tngo esto A = list(raw_input('Ingrese la palabra: ')) A[0] = 'j' print A genial me hizo el cambio a la palabra ahora quiero unir otra vez esa lista en una cadena como le haria =\ -- Seamos realistas y hagamos lo imposible _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From francisco.palm en gmail.com Mon May 12 03:16:54 2008 From: francisco.palm en gmail.com (Francisco Palm) Date: Mon, 12 May 2008 20:46:54 +1930 Subject: arreglo a cadena In-Reply-To: <3da702830805111739o4214ec83kc5566e1f8d7702c7@mail.gmail.com> References: <3da702830805111739o4214ec83kc5566e1f8d7702c7@mail.gmail.com> Message-ID: >>> A = list(raw_input('Ingrese la palabra: ')) Ingrese la palabra: jope >>> type(A) >>> A ['j', 'o', 'p', 'e'] >>> ''.join(A) 'jope' >>> Lo que hice fue llamar al método "join" de la cadena vacia ''. Si quiero unirlo por guiones: >>> '-'.join(A) 'j-o-p-e' Y así... Saludos F. Palm 2008/5/12 kalith kalith : > Bueno estos dias ando preguntando todo... > > tngo esto > > A = list(raw_input('Ingrese la palabra: ')) > > A[0] = 'j' > > print A > > genial me hizo el cambio a la palabra > > ahora quiero unir otra vez esa lista en una cadena como le haria =\ > > -- > Seamos realistas y hagamos lo imposible > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- -------------------------------------- fpalm en ula.ve francisco.palm en gmail.com cel: 0414 5109177 tel: 0274 6352001 ---- Yo creo que todavía no es demasiado tarde para construir una utopía que nos permita compartir la tierra. Gabriel García Márquez. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From minoztro en gmail.com Mon May 12 03:20:53 2008 From: minoztro en gmail.com (Milton Galo Patricio Inostroza Aguilera) Date: Sun, 11 May 2008 21:20:53 -0400 Subject: arreglo a cadena In-Reply-To: <3da702830805111739o4214ec83kc5566e1f8d7702c7@mail.gmail.com> References: <3da702830805111739o4214ec83kc5566e1f8d7702c7@mail.gmail.com> Message-ID: <172699c50805111820g2124f73fldac5800a83a4f00c@mail.gmail.com> El día 11 de mayo de 2008 20:39, kalith kalith escribió: > Bueno estos dias ando preguntando todo... > > tngo esto > > A = list(raw_input('Ingrese la palabra: ')) > > A[0] = 'j' > > print A > > genial me hizo el cambio a la palabra > > ahora quiero unir otra vez esa lista en una cadena como le haria =\ una solucion menos "elegante" o pythonica seria la siguiente: cadena = '' for i in A: cadena = cadena + i Es bueno ver diversas opciones cuando se esta empezando en python. > > -- > Seamos realistas y hagamos lo imposible > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Milton Inostroza Aguilera ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From punchikk en yahoo.com Mon May 12 09:49:22 2008 From: punchikk en yahoo.com (punchik punchik) Date: Mon, 12 May 2008 00:49:22 -0700 (PDT) Subject: insertar variable python dentro de codigo sql Message-ID: <440840.98215.qm@web32007.mail.mud.yahoo.com> hola companeros, tengo un pequeno problema de novato, estoy tratando de insertar una variable python (que ha sido llenada desde un formulario) en codigo sql . Tengo una base de datos que esta conformada por palabras y sus descripciones, entonces lo que quiero hacer es insertar la palabra en el formulario html y que luego el script cgi de python busque en mi base de datos la descripcion correspondiente a esa palabra. El codigo me funciona bien si pongo la palabra directamente en el codigo de python pero como puedo hacer para pasar una palabra desde un formulario y que ha sido metida en una variable ? name es la variable que ha sido llenado desde el formulario html aca esta el codigo: #!/usr/bin/python import cgi, cgitb, MySQLdb print "Content-Type: text/html" # HTML is following print # blank line, end of headers form = cgi.FieldStorage() name = form.getvalue('Name') print name db=MySQLdb.connect(host='ketaplex.ketaplex.net',user='ketaplex',passwd='audifunu',db='nosexridethelanguage') cursor=db.cursor() #como hago para insertar name? sql='select descripcion from diccionario where palabra = name' #sql='Select * From diccionario' cursor.execute(sql) resultado=cursor.fetchall() print 'Datos de Usuarios' for registro in resultado: print registro[0],'->',registro[1] --------------------------------- Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From jjimenezlopez en gmail.com Mon May 12 10:12:29 2008 From: jjimenezlopez en gmail.com (=?ISO-8859-1?Q?Jose_Jim=E9nez_L=F3pez?=) Date: Mon, 12 May 2008 10:12:29 +0200 Subject: insertar variable python dentro de codigo sql In-Reply-To: <440840.98215.qm@web32007.mail.mud.yahoo.com> References: <440840.98215.qm@web32007.mail.mud.yahoo.com> Message-ID: <1BAC1C78-A7ED-42DA-827A-98C2446AF980@gmail.com> Hola, concatenando la cadena de la consulta con la variable, quedaría asi: sql = 'select descripcion from diccionario where palabra =' + name También puedes hacerlo de esta otra forma: sql = 'select descripcion from diccionario where palabra = %s' % name Como te resulte más cómodo :) Saludos. El 12/05/2008, a las 9:49, punchik punchik escribió: > hola companeros, tengo un pequeno problema de novato, estoy tratando > de insertar una variable python (que ha sido llenada desde un > formulario) en codigo sql . Tengo una base de datos que esta > conformada por palabras y sus descripciones, entonces lo que quiero > hacer es insertar la palabra en el formulario html y que luego el > script cgi de python busque en mi base de datos la descripcion > correspondiente a esa palabra. > El codigo me funciona bien si pongo la palabra directamente en el > codigo de python pero como puedo hacer para pasar una palabra desde > un formulario y que ha sido metida en una variable ? > > name es la variable que ha sido llenado desde el formulario html > aca esta el codigo: > > #!/usr/bin/python > > import cgi, cgitb, MySQLdb > > print "Content-Type: text/html" # HTML is following > print # blank line, end of headers > > form = cgi.FieldStorage() > name = form.getvalue('Name') > print name > > db > = > MySQLdb > .connect > (host > = > 'ketaplex > .ketaplex > .net',user='ketaplex',passwd='audifunu',db='nosexridethelanguage') > cursor=db.cursor() > #como hago para insertar name? > sql='select descripcion from diccionario where palabra = name' > > #sql='Select * From diccionario' > cursor.execute(sql) > resultado=cursor.fetchall() > print 'Datos de Usuarios' > for registro in resultado: > print registro[0],'->',registro[1] > > > > > > > --------------------------------- > Be a better friend, newshound, and know-it-all with Yahoo! Mobile. > Try it now. > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes --- Jose Jiménez López jjimenezlopez en gmail.com www.josejimenez.net _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From punchikk en yahoo.com Mon May 12 10:39:28 2008 From: punchikk en yahoo.com (punchik punchik) Date: Mon, 12 May 2008 01:39:28 -0700 (PDT) Subject: insertar variable python dentro de codigo sql In-Reply-To: <1BAC1C78-A7ED-42DA-827A-98C2446AF980@gmail.com> References: <1BAC1C78-A7ED-42DA-827A-98C2446AF980@gmail.com> Message-ID: <328429.66509.qm@web32006.mail.mud.yahoo.com> hola , gracias por las respuestas, pero no me funciona ninguna de las dos opciones si hago : sql = 'select descripcion from diccionario where palabra = "hola" ' donde "hola" es una palabra que esta en mi base de datos , si me funciona y me aparece el significado asociado a esa palabra, pero cuando intento hacerlo desde forms no me funciona . Ya probe concatenando de las dos maneras y nada. Que podra ser? Otra pregunta , hay otro peligro {aparte de que me borren mi base de datos } con poner el password de mi base de datos? gracias Jose Jiménez López wrote: Hola, concatenando la cadena de la consulta con la variable, quedaría asi: sql = 'select descripcion from diccionario where palabra =' + name También puedes hacerlo de esta otra forma: sql = 'select descripcion from diccionario where palabra = %s' % name Como te resulte más cómodo :) Saludos. El 12/05/2008, a las 9:49, punchik punchik escribió: > hola companeros, tengo un pequeno problema de novato, estoy tratando > de insertar una variable python (que ha sido llenada desde un > formulario) en codigo sql . Tengo una base de datos que esta > conformada por palabras y sus descripciones, entonces lo que quiero > hacer es insertar la palabra en el formulario html y que luego el > script cgi de python busque en mi base de datos la descripcion > correspondiente a esa palabra. > El codigo me funciona bien si pongo la palabra directamente en el > codigo de python pero como puedo hacer para pasar una palabra desde > un formulario y que ha sido metida en una variable ? > > name es la variable que ha sido llenado desde el formulario html > aca esta el codigo: > > #!/usr/bin/python > > import cgi, cgitb, MySQLdb > > print "Content-Type: text/html" # HTML is following > print # blank line, end of headers > > form = cgi.FieldStorage() > name = form.getvalue('Name') > print name > > db > = > MySQLdb > .connect > (host > = > 'ketaplex > .ketaplex > .net',user='ketaplex',passwd='audifunu',db='nosexridethelanguage') > cursor=db.cursor() > #como hago para insertar name? > sql='select descripcion from diccionario where palabra = name' > > #sql='Select * From diccionario' > cursor.execute(sql) > resultado=cursor.fetchall() > print 'Datos de Usuarios' > for registro in resultado: > print registro[0],'->',registro[1] > > > > > > > --------------------------------- > Be a better friend, newshound, and know-it-all with Yahoo! Mobile. > Try it now. > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes --- Jose Jiménez López jjimenezlopez en gmail.com www.josejimenez.net _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes --------------------------------- Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From jjimenezlopez en gmail.com Mon May 12 11:33:10 2008 From: jjimenezlopez en gmail.com (=?ISO-8859-1?Q?Jose_Jim=E9nez_L=F3pez?=) Date: Mon, 12 May 2008 11:33:10 +0200 Subject: insertar variable python dentro de codigo sql In-Reply-To: <328429.66509.qm@web32006.mail.mud.yahoo.com> References: <328429.66509.qm@web32006.mail.mud.yahoo.com> Message-ID: <2AA36892-4037-4542-9DF7-DDE864BC8B9C@gmail.com> El 12/05/2008, a las 10:39, punchik punchik escribió: > hola , gracias por las respuestas, pero no me funciona ninguna de > las dos opciones > > si hago : > sql = 'select descripcion from diccionario where palabra = "hola" ' ponle también las comillas cuando concatenes con la variable: sql = 'select descripcion from diccionario where palabra = "' + name + '"' > > > donde "hola" es una palabra que esta en mi base de datos , si me > funciona y me aparece el significado asociado a esa palabra, pero > cuando intento hacerlo desde forms no me funciona . Ya probe > concatenando de las dos maneras y nada. > > Que podra ser? > > Otra pregunta , hay otro peligro {aparte de que me borren mi base > de datos } con poner el password de mi base de datos? ummm... no se si te entiendo... te refieres a ponerla en el correo? hay algo más grave que te borren la bd? xD no deberías, cuando copies y pegues código sustituye los datos como nombres de usuario o contraseñas por otros que no sean reales. > > > gracias > > > Jose Jiménez López wrote: > Hola, > > concatenando la cadena de la consulta con la variable, quedaría asi: > > sql = 'select descripcion from diccionario where palabra =' + name > > También puedes hacerlo de esta otra forma: > > sql = 'select descripcion from diccionario where palabra = %s' % name > > Como te resulte más cómodo :) > > Saludos. > > El 12/05/2008, a las 9:49, punchik punchik escribió: > >> hola companeros, tengo un pequeno problema de novato, estoy tratando >> de insertar una variable python (que ha sido llenada desde un >> formulario) en codigo sql . Tengo una base de datos que esta >> conformada por palabras y sus descripciones, entonces lo que quiero >> hacer es insertar la palabra en el formulario html y que luego el >> script cgi de python busque en mi base de datos la descripcion >> correspondiente a esa palabra. >> El codigo me funciona bien si pongo la palabra directamente en el >> codigo de python pero como puedo hacer para pasar una palabra desde >> un formulario y que ha sido metida en una variable ? >> >> name es la variable que ha sido llenado desde el formulario html >> aca esta el codigo: >> >> #!/usr/bin/python >> >> import cgi, cgitb, MySQLdb >> >> print "Content-Type: text/html" # HTML is following >> print # blank line, end of headers >> >> form = cgi.FieldStorage() >> name = form.getvalue('Name') >> print name >> >> db >> = >> MySQLdb >> .connect >> (host >> = >> 'ketaplex >> .ketaplex >> .net',user='ketaplex',passwd='audifunu',db='nosexridethelanguage') >> cursor=db.cursor() >> #como hago para insertar name? >> sql='select descripcion from diccionario where palabra = name' >> >> #sql='Select * From diccionario' >> cursor.execute(sql) >> resultado=cursor.fetchall() >> print 'Datos de Usuarios' >> for registro in resultado: >> print registro[0],'->',registro[1] >> >> >> >> >> >> >> --------------------------------- >> Be a better friend, newshound, and know-it-all with Yahoo! Mobile. >> Try it now. >> _______________________________________________ >> Lista de correo Python-es >> http://listas.aditel.org/listinfo/python-es >> FAQ: http://listas.aditel.org/faqpyes > > --- > Jose Jiménez López > jjimenezlopez en gmail.com > www.josejimenez.net > > > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > > > > --------------------------------- > Be a better friend, newshound, and know-it-all with Yahoo! Mobile. > Try it now. > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes --- Jose Jiménez López jjimenezlopez en gmail.com www.josejimenez.net _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pych3m4 en gmail.com Mon May 12 15:04:23 2008 From: pych3m4 en gmail.com (Chema Cortes) Date: Mon, 12 May 2008 15:04:23 +0200 Subject: Forzar en sqlite afinidad text para Decimal Message-ID: <2c9fb0dd0805120604n756f61afk4163d434ff6db4a4@mail.gmail.com> Quisiera completar los conversores y adaptadores que vienen con sqlite3 para añadir algunos tipos python más. Uno de los más interesantes es el tipo "Decimal", definido así: sqlite3.register_converter("decimal",lambda s:decimal.Decimal(s)) sqlite3.register_adapter(Decimal,lambda x:str(x)) que consistiría en convertir el tipo decimal a texto antes de guardarlo en la tabla. El problema es que, implícitamente, sqlite aplica una "afinidad" de datos "numeric" y prueba a convertir el dato a número antes del almacenamiento efectivo, perdiéndose toda la precisión del tipo decimal. Necesito forzar la afinidad "text" (o que no use ninguna) para que guarde el dato tal cual. Se me ocurren dos cosas: - que el adaptador devuelva una cadena que sea imposible convertir a número (eg: añadiendo caracteres no numéricos) - que el tipo del campo tenga añadido la palabra "text" No tengo demasiada experiencia con sqlite, por lo que no sé si existe algún modo mejor de forzar la afinidad de datos. De entre estas dos opciones, creo que la última es la más "elegante", aunque también es la más fácil de cometer errores al olvidar de añadir la partícula "text". ¿Alguna recomendación sobre forzar afinidades, teniendo en cuenta que también quisiera añadir funciones de agregación que trabajen con decimales? Añado código para ilustrar mejor el tema: from decimal import Decimal import sqlite3 if True: #Adaptador/conversor "decimal" --> decimal.Decimal def register_decimal(): def decimal_converter(s): print s,type(s) return Decimal(s) def decimal_adapter(d): return str(d) sqlite3.register_converter("decimal",decimal_converter) sqlite3.register_adapter(Decimal,decimal_adapter) class Suma: def __init__(self): self.count = Decimal() def step(self, value): print value,type(value) self.count += Decimal(value) print self.count def finalize(self): return str(self.count) register_decimal() con=sqlite3.connect(":memory:",detect_types=sqlite3.PARSE_DECLTYPES|sqlite3.PARSE_COLNAMES) con.create_aggregate("suma",1,Suma) cur=con.cursor() cur.execute("create table test(a decimal text)") cur.execute("insert into test values(?)",(0,)) cur.execute("insert into test values(?)",(Decimal("1231231312.12312313"),)) cur.execute("insert into test values(?)",(Decimal("-12e5"),)) cur.execute("insert into test values(?)",(1.2,)) cur.execute("insert into test values(?)",(Decimal(1)/3,)) cur.execute('select * from test') print cur.fetchall() cur.execute('select suma(a) as "res [decimal]" from test') print cur.fetchall() _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From ccfranceschini en gmail.com Mon May 12 16:05:08 2008 From: ccfranceschini en gmail.com (Cristian Franceschini) Date: Mon, 12 May 2008 11:05:08 -0300 Subject: Necesito doc sobre POO en pythin In-Reply-To: <3da702830805111548sc3f8f1qd79d265956173a45@mail.gmail.com> References: <00bc01c8b048$5f217060$12140a0a@IPICFG> <19b6da380805111205w55eb22c7xc146f4ee7733ee3e@mail.gmail.com> <3da702830805111548sc3f8f1qd79d265956173a45@mail.gmail.com> Message-ID: <19b6da380805120705m314be225y471bec6d215b1721@mail.gmail.com> Lo mejor que ví hasta ahora acerca de oop en python: http://www.cafepy.com/article/python_types_and_objects/ http://www.cafepy.com/article/python_attributes_and_methods/ slds El día 11 de mayo de 2008 19:48, kalith kalith escribió: > yo tb ando en lo mismo.. mm lastima q este en ingles mi ingles suckea > bastante... > -- > Seamos realistas y hagamos lo imposible > > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From punchikk en yahoo.com Mon May 12 17:12:12 2008 From: punchikk en yahoo.com (punchik punchik) Date: Mon, 12 May 2008 08:12:12 -0700 (PDT) Subject: insertar variable python dentro de codigo sql In-Reply-To: <2AA36892-4037-4542-9DF7-DDE864BC8B9C@gmail.com> References: <2AA36892-4037-4542-9DF7-DDE864BC8B9C@gmail.com> Message-ID: <882996.2887.qm@web32007.mail.mud.yahoo.com> gracias , funciono perfecto :D Jose Jiménez López wrote: El 12/05/2008, a las 10:39, punchik punchik escribió: > hola , gracias por las respuestas, pero no me funciona ninguna de > las dos opciones > > si hago : > sql = 'select descripcion from diccionario where palabra = "hola" ' ponle también las comillas cuando concatenes con la variable: sql = 'select descripcion from diccionario where palabra = "' + name + '"' > > > donde "hola" es una palabra que esta en mi base de datos , si me > funciona y me aparece el significado asociado a esa palabra, pero > cuando intento hacerlo desde forms no me funciona . Ya probe > concatenando de las dos maneras y nada. > > Que podra ser? > > Otra pregunta , hay otro peligro {aparte de que me borren mi base > de datos } con poner el password de mi base de datos? ummm... no se si te entiendo... te refieres a ponerla en el correo? hay algo más grave que te borren la bd? xD no deberías, cuando copies y pegues código sustituye los datos como nombres de usuario o contraseñas por otros que no sean reales. > > > gracias > > > Jose Jiménez López wrote: > Hola, > > concatenando la cadena de la consulta con la variable, quedaría asi: > > sql = 'select descripcion from diccionario where palabra =' + name > > También puedes hacerlo de esta otra forma: > > sql = 'select descripcion from diccionario where palabra = %s' % name > > Como te resulte más cómodo :) > > Saludos. > > El 12/05/2008, a las 9:49, punchik punchik escribió: > >> hola companeros, tengo un pequeno problema de novato, estoy tratando >> de insertar una variable python (que ha sido llenada desde un >> formulario) en codigo sql . Tengo una base de datos que esta >> conformada por palabras y sus descripciones, entonces lo que quiero >> hacer es insertar la palabra en el formulario html y que luego el >> script cgi de python busque en mi base de datos la descripcion >> correspondiente a esa palabra. >> El codigo me funciona bien si pongo la palabra directamente en el >> codigo de python pero como puedo hacer para pasar una palabra desde >> un formulario y que ha sido metida en una variable ? >> >> name es la variable que ha sido llenado desde el formulario html >> aca esta el codigo: >> >> #!/usr/bin/python >> >> import cgi, cgitb, MySQLdb >> >> print "Content-Type: text/html" # HTML is following >> print # blank line, end of headers >> >> form = cgi.FieldStorage() >> name = form.getvalue('Name') >> print name >> >> db >> = >> MySQLdb >> .connect >> (host >> = >> 'ketaplex >> .ketaplex >> .net',user='ketaplex',passwd='audifunu',db='nosexridethelanguage') >> cursor=db.cursor() >> #como hago para insertar name? >> sql='select descripcion from diccionario where palabra = name' >> >> #sql='Select * From diccionario' >> cursor.execute(sql) >> resultado=cursor.fetchall() >> print 'Datos de Usuarios' >> for registro in resultado: >> print registro[0],'->',registro[1] >> >> >> >> >> >> >> --------------------------------- >> Be a better friend, newshound, and know-it-all with Yahoo! Mobile. >> Try it now. >> _______________________________________________ >> Lista de correo Python-es >> http://listas.aditel.org/listinfo/python-es >> FAQ: http://listas.aditel.org/faqpyes > > --- > Jose Jiménez López > jjimenezlopez en gmail.com > www.josejimenez.net > > > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > > > > --------------------------------- > Be a better friend, newshound, and know-it-all with Yahoo! Mobile. > Try it now. > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes --- Jose Jiménez López jjimenezlopez en gmail.com www.josejimenez.net _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes --------------------------------- Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From oinos en web.de Mon May 12 18:04:07 2008 From: oinos en web.de (=?ISO-8859-1?Q?Pablo_Rodr=EDguez?=) Date: Mon, 12 May 2008 18:04:07 +0200 Subject: problemas con opciones Message-ID: <48286A77.8060808@web.de> Hola, en un programa que estoy mejorando (http://ousia.justfree.com/iracconshow.txt), no consigo que un par de opciones me funcionen. Declaro una variable como verdadera o falsa de modo predeterminado y no la cambia (como en -k o --keep-files), o no cambia el archivo final (con -o u --output-file). No me da error, pero no hace nada, tanto si lo especifico como si no lo hago. Sé muy poco de programación. ¿Alguien me podría decir qué tengo que hacer para corregir las opciones que he dicho modifiquen las variables? Gracias y saludos, Pablo _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pyarnau en gmail.com Mon May 12 19:06:39 2008 From: pyarnau en gmail.com (Arnau Sanchez) Date: Mon, 12 May 2008 19:06:39 +0200 Subject: problemas con opciones In-Reply-To: <48286A77.8060808@web.de> References: <48286A77.8060808@web.de> Message-ID: <4828791F.4020903@gmail.com> Pablo Rodríguez escribió: > Hola, > > en un programa que estoy mejorando > (http://ousia.justfree.com/iracconshow.txt), no consigo que un par de > opciones me funcionen. > > Declaro una variable como verdadera o falsa de modo predeterminado y no > la cambia (como en -k o --keep-files), o no cambia el archivo final (con > -o u --output-file). No me da error, pero no hace nada, tanto si lo > especifico como si no lo hago. > > Sé muy poco de programación. ¿Alguien me podría decir qué tengo que > hacer para corregir las opciones que he dicho modifiquen las variables? > Pablo, tendrás que ser más preciso, yo al menos no entiendo bien el problema. He probado a ejecutar el script con -k y sí entra en el la opción correspondiente (back.keepfiles = True). Si luego eso funciona como debe o no, no lo sé, porque el script necesita una serie de ficheros (pdf, sound-file, timeline, etc) que no tenemos. Te recomendaría que nos pasaras tanto los enlaces a los ficheros necesarios para reproducir el problema, como los comandos que ejecutas, la salida correspondiente y lo que esperas. Por otra parte, creo que el enfoque del script no es el más adecuado (esa cantidad de "filebuffer.append" que hay asustan). Se diría que lo que se necesita ahí es un lenguaje de plantillas (templating): http://wiki.python.org/moin/Templating De este modo tendrías ficheros separados, código y plantilla, y quedaría mucho más limpio. De hecho, la lógica es tan simple (casi todo lo que hay son condicionales "if self.buttons"), que llegado el caso podrías crearte el sistema tú mismo, sin depender de librerías externas. Sería, de paso, un buen ejercicio para ganar soltura con el lenguaje. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From omarfecu en gmail.com Mon May 12 20:47:32 2008 From: omarfecu en gmail.com (Omar Fernandez) Date: Mon, 12 May 2008 13:47:32 -0500 Subject: ayuda Message-ID: Buenas tardes, estoy haciendo una aplicacion para mi empresa con python y el framework django y utilizo la base de datos my sql, el unico problemas es que soy nuevo en la programacion de python, pero gracias a tutoriales y a personas como ustedes e salido adelante y ya estoy instalando python y django y en la instalacion de mysql tengo problemas, estoy siguiento una guia que encontre en la web pero cuando le doy python setup.py install respectivamente en la carpeta de mysql+python me sale este error: python was built with version 7.1 of visual studio, and extencions need to be built with the same version of the compiler, but it isn't installed. este mensaje sale cuando intenta construir la siguiente extension: building '_mysql' extension. Gracias por la colaboracion, espero respuestas. Ing. Omar Fernández Cuartas _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From abraham.zamudio en gmail.com Mon May 12 21:18:29 2008 From: abraham.zamudio en gmail.com (Abraham Zamudio) Date: Mon, 12 May 2008 14:18:29 -0500 Subject: ayuda In-Reply-To: References: Message-ID: <594dda620805121218y65acbf25s8865e18772933190@mail.gmail.com> el problema debe ser windows . 2008/5/12 Omar Fernandez : > Buenas tardes, estoy haciendo una aplicacion para mi empresa con python y > el > framework django y utilizo la base de datos my sql, el unico problemas es > que soy nuevo en la programacion de python, pero gracias a tutoriales y > a > personas como ustedes e salido adelante y ya estoy instalando python y > django y en la instalacion de mysql tengo problemas, estoy siguiento una > guia que encontre en la web pero cuando le doy python setup.py install > respectivamente en la carpeta de mysql+python me sale este error: > python was built with version 7.1 of visual studio, and extencions need to > be built with the same version of the compiler, but it isn't installed. > > este mensaje sale cuando intenta construir la siguiente extension: > building > '_mysql' extension. > > Gracias por la colaboracion, espero respuestas. > > Ing. Omar Fernández Cuartas > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Abraham Zamudio Ch. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From omarfecu en gmail.com Mon May 12 21:25:49 2008 From: omarfecu en gmail.com (Omar Fernandez) Date: Mon, 12 May 2008 14:25:49 -0500 Subject: ayuda In-Reply-To: <594dda620805121218y65acbf25s8865e18772933190@mail.gmail.com> References: <594dda620805121218y65acbf25s8865e18772933190@mail.gmail.com> Message-ID: estoy utilizando windows xp con sp2, si tiene una solucion le agradezco mucho, mire que es para una aplicacion para mi empresa y estoy todo emparado para el desarrollo. de antemano muchas gracias por la colaboracion 2008/5/12 Abraham Zamudio : > el problema debe ser windows . > > 2008/5/12 Omar Fernandez : > > > Buenas tardes, estoy haciendo una aplicacion para mi empresa con python > y > > el > > framework django y utilizo la base de datos my sql, el unico problemas > es > > que soy nuevo en la programacion de python, pero gracias a tutoriales > y > > a > > personas como ustedes e salido adelante y ya estoy instalando python y > > django y en la instalacion de mysql tengo problemas, estoy siguiento una > > guia que encontre en la web pero cuando le doy python setup.py install > > respectivamente en la carpeta de mysql+python me sale este error: > > python was built with version 7.1 of visual studio, and extencions need > to > > be built with the same version of the compiler, but it isn't installed. > > > > este mensaje sale cuando intenta construir la siguiente extension: > > building > > '_mysql' extension. > > > > Gracias por la colaboracion, espero respuestas. > > > > Ing. Omar Fernández Cuartas > > _______________________________________________ > > Lista de correo Python-es > > http://listas.aditel.org/listinfo/python-es > > FAQ: http://listas.aditel.org/faqpyes > > > > > > -- > Abraham Zamudio Ch. > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From abraham.zamudio en gmail.com Mon May 12 21:35:17 2008 From: abraham.zamudio en gmail.com (Abraham Zamudio) Date: Mon, 12 May 2008 14:35:17 -0500 Subject: ayuda In-Reply-To: References: <594dda620805121218y65acbf25s8865e18772933190@mail.gmail.com> Message-ID: <594dda620805121235k4013df1ev8bdabff4c10b45e7@mail.gmail.com> pero porqe deseas instalarlo de las fuentes ... si tu S.O. no es linux .... para windows hay versiones en exe MySQL-python-1.2.2.win32-py2.4.exe MySQL-python-1.2.2.win32-py2.5.exe para la version de python qe uses. 2008/5/12 Omar Fernandez : > estoy utilizando windows xp con sp2, si tiene una solucion le agradezco > mucho, mire que es para una aplicacion para mi empresa y estoy todo > emparado > para el desarrollo. > > de antemano muchas gracias por la colaboracion > > 2008/5/12 Abraham Zamudio : > > > el problema debe ser windows . > > > > 2008/5/12 Omar Fernandez : > > > > > Buenas tardes, estoy haciendo una aplicacion para mi empresa con > python > > y > > > el > > > framework django y utilizo la base de datos my sql, el unico problemas > > es > > > que soy nuevo en la programacion de python, pero gracias a tutoriales > > y > > > a > > > personas como ustedes e salido adelante y ya estoy instalando python y > > > django y en la instalacion de mysql tengo problemas, estoy siguiento > una > > > guia que encontre en la web pero cuando le doy python setup.py install > > > respectivamente en la carpeta de mysql+python me sale este error: > > > python was built with version 7.1 of visual studio, and extencions > need > > to > > > be built with the same version of the compiler, but it isn't > installed. > > > > > > este mensaje sale cuando intenta construir la siguiente extension: > > > building > > > '_mysql' extension. > > > > > > Gracias por la colaboracion, espero respuestas. > > > > > > Ing. Omar Fernández Cuartas > > > _______________________________________________ > > > Lista de correo Python-es > > > http://listas.aditel.org/listinfo/python-es > > > FAQ: http://listas.aditel.org/faqpyes > > > > > > > > > > > -- > > Abraham Zamudio Ch. > > _______________________________________________ > > Lista de correo Python-es > > http://listas.aditel.org/listinfo/python-es > > FAQ: http://listas.aditel.org/faqpyes > > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Abraham Zamudio Ch. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From yourpadre en gmail.com Mon May 12 21:41:11 2008 From: yourpadre en gmail.com (Miguel Beltran R.) Date: Mon, 12 May 2008 14:41:11 -0500 Subject: OT: como calcular CRC? Message-ID: Hola lista perdon por el off-topic Ya he estado leyendo en google como se saca el CRC pero tengo una duda cuando se revuelve estos tipos de datos fecha (dd/MM/aaaa), hora (hh:mm:ss), cadenas y numeros. Tengo por ejemplo año 2008, apellido paterno "LOPEZ", apellido materno "DEL CAMPO", nombre "FRANCISCO", fecha 14/05/2008, hora 16:33:57 como es la forma correcta de sacar su CRC? lo necesito porque como voy a mandar los datos por un formulario web quiero que al recibirce se cheque que llego bien. Y de paso por seguridad que no estan modificados los datos en algun momento? -- ________________________________________ Lo bueno de vivir un dia mas es saber que nos queda un dia menos de vida _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From jcenteno-Haqe5LDjPh0GXtTpemXPTA en public.gmane.org Mon May 12 22:51:22 2008 From: jcenteno-Haqe5LDjPh0GXtTpemXPTA en public.gmane.org (Jenaro Centeno Gomez) Date: Mon, 12 May 2008 15:51:22 -0500 Subject: OT: como calcular CRC? In-Reply-To: References: Message-ID: <4828ADCA.9090406@aldia.com.mx> Y no te funcionaría para esto una suma md5? Miguel Beltran R. escribió: > Hola lista perdon por el off-topic > > Ya he estado leyendo en google como se saca el CRC pero tengo una duda > cuando se revuelve estos tipos de datos fecha (dd/MM/aaaa), hora > (hh:mm:ss), cadenas y numeros. > > Tengo por ejemplo año 2008, apellido paterno "LOPEZ", apellido materno > "DEL CAMPO", nombre "FRANCISCO", fecha 14/05/2008, hora 16:33:57 > > como es la forma correcta de sacar su CRC? lo necesito porque como voy > a mandar los datos por un formulario web quiero que al recibirce se > cheque que llego bien. Y de paso por seguridad que no estan > modificados los datos en algun momento? > > ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: jcenteno.vcf Type: text/x-vcard Size: 512 bytes Desc: no disponible URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 252 bytes Desc: OpenPGP digital signature URL: From punchikk en yahoo.com Mon May 12 23:15:11 2008 From: punchikk en yahoo.com (punchik punchik) Date: Mon, 12 May 2008 14:15:11 -0700 (PDT) Subject: reordenar archivos de texto segun orden alfabetico Message-ID: <399780.14794.qm@web32006.mail.mud.yahoo.com> hola gente, tengo un archivo de texto con palabras y sus respectivas definiciones, el cual uso para llenar una base de datos . mi archivo de texto seria algo asi: tasa me gusta mi tasa gato el gato es un animal mesa la mesa es una cosa bicicleta es algo con dos ruedas bueno la cosa es que tengo miles de palabras con definiciones en mi archivo de texto que esta en desorden... mi pregunta es, hay alguna manera de reordenar las lineas de mi archivo segun su orden alfabetico en python? por ejemplo , las palabras que comienzen con a estarian primero en la lista y las que empiezen con z estaria al final.....me gustaria saber si ya hay algun script que pueda hacer esto, o alguna funcion dentro de python para hacerlo,pero si hay forma de hacerlo de alguna otra manera tambien me gustaria saber como. muchas gracias pun. --------------------------------- Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From jjimenezlopez en gmail.com Mon May 12 23:26:26 2008 From: jjimenezlopez en gmail.com (=?ISO-8859-1?Q?Jose_Jim=E9nez_L=F3pez?=) Date: Mon, 12 May 2008 23:26:26 +0200 Subject: reordenar archivos de texto segun orden alfabetico In-Reply-To: <399780.14794.qm@web32006.mail.mud.yahoo.com> References: <399780.14794.qm@web32006.mail.mud.yahoo.com> Message-ID: <01CA5239-C509-4084-901E-42673406CE4C@gmail.com> Hola de nuevo pun, las listas tienen un método sort, puedes parsear el archivo de texto y meter cada palabra como un elemento de la lista, y despues hacer un: palabras.sort() Aquí tienes un ejemplo, echale un vistazo: http://wiki.python.org/moin/HowTo/Sorting#head-d121eed08556ad7cb2a02a886788656dadb709bd Saludos. El 12/05/2008, a las 23:15, punchik punchik escribió: > hola gente, tengo un archivo de texto con palabras y sus respectivas > definiciones, el cual uso para llenar una base de datos . > > mi archivo de texto seria algo asi: > > > tasa me gusta mi tasa > gato el gato es un animal > mesa la mesa es una cosa > bicicleta es algo con dos ruedas > > > bueno la cosa es que tengo miles de palabras con definiciones en mi > archivo de texto que esta en desorden... mi pregunta es, hay alguna > manera de reordenar las lineas de mi archivo segun su orden > alfabetico en python? por ejemplo , las palabras que comienzen con a > estarian primero en la lista y las que empiezen con z estaria al > final.....me gustaria saber si ya hay algun script que pueda hacer > esto, o alguna funcion dentro de python para hacerlo,pero si hay > forma de hacerlo de alguna otra manera tambien me gustaria saber como. > > muchas gracias > > > pun. > > > > > --------------------------------- > Be a better friend, newshound, and know-it-all with Yahoo! Mobile. > Try it now. > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes --- Jose Jiménez López jjimenezlopez en gmail.com www.josejimenez.net _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From listas en soft-com.es Mon May 12 23:26:24 2008 From: listas en soft-com.es (=?ISO-8859-1?Q?Oswaldo_Hern=E1ndez?=) Date: Mon, 12 May 2008 23:26:24 +0200 Subject: Forzar en sqlite afinidad text para Decimal In-Reply-To: <2c9fb0dd0805120604n756f61afk4163d434ff6db4a4@mail.gmail.com> References: <2c9fb0dd0805120604n756f61afk4163d434ff6db4a4@mail.gmail.com> Message-ID: <4828B600.6050000@soft-com.es> Chema Cortes escribió: > Quisiera completar los conversores y adaptadores que vienen con > sqlite3 para añadir algunos tipos python más. Uno de los más > interesantes es el tipo "Decimal", definido así: > > sqlite3.register_converter("decimal",lambda s:decimal.Decimal(s)) > sqlite3.register_adapter(Decimal,lambda x:str(x)) > > > que consistiría en convertir el tipo decimal a texto antes de > guardarlo en la tabla. El problema es que, implícitamente, sqlite > aplica una "afinidad" de datos "numeric" y prueba a convertir el dato > a número antes del almacenamiento efectivo, perdiéndose toda la > precisión del tipo decimal. > > Necesito forzar la afinidad "text" (o que no use ninguna) para que > guarde el dato tal cual. Se me ocurren dos cosas: > > - que el adaptador devuelva una cadena que sea imposible convertir a > número (eg: añadiendo caracteres no numéricos) > - que el tipo del campo tenga añadido la palabra "text" > > No tengo demasiada experiencia con sqlite, por lo que no sé si existe > algún modo mejor de forzar la afinidad de datos. De entre estas dos > opciones, creo que la última es la más "elegante", aunque también es > la más fácil de cometer errores al olvidar de añadir la partícula > "text". > > ¿Alguna recomendación sobre forzar afinidades, teniendo en cuenta que > también quisiera añadir funciones de agregación que trabajen con > decimales? > > Hola Chema, He estado probando el codigo que envias y la cosa pinta bastante chunga. La primera solución que dices funciona bien, pero perderas la portabilidad de los datos. Creo que la mejor solución es la segunda aunque haya que epecificar 'text'. Otra opcion que tienes es olvidarte del converter y utilizar solo el adaptador declarando la columna como tipo 'text' y haciendo el cast en el select. Saludos, -- ***************************************** Oswaldo Hernández oswaldo (@) soft-com (.) es ***************************************** PD: Antes de imprimir este mensaje, asegúrese de que es necesario. El medio ambiente está en nuestra mano. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From yvviltres en estudiantes.uci.cu Mon May 12 23:36:26 2008 From: yvviltres en estudiantes.uci.cu (Yunierki Verdecia Viltres) Date: Mon, 12 May 2008 17:36:26 -0400 Subject: servicios de windows en python Message-ID: Hola Me pregunto si a traves de python se pueden hacer servicios como los de windows que estan corriendo todo el tiempo en una pc, los cuales tu los puedes poner en pausa, detenerlo reiniciarlo y. Es posible hacer uno? si alguien sabe por favor necesito que me guie en como hacer uno. Saludos... ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From alvherre-UrU3iCXxUysMNcg9MzyYcQC/G2K4zDHf en public.gmane.org Mon May 12 23:57:20 2008 From: alvherre-UrU3iCXxUysMNcg9MzyYcQC/G2K4zDHf en public.gmane.org (Alvaro Herrera) Date: Mon, 12 May 2008 17:57:20 -0400 Subject: OT: como calcular CRC? In-Reply-To: References: Message-ID: <20080512215720.GG19344@alvh.no-ip.org> Miguel Beltran R. escribió: Hola, > como es la forma correcta de sacar su CRC? lo necesito porque como voy > a mandar los datos por un formulario web quiero que al recibirce se > cheque que llego bien. Y de paso por seguridad que no estan > modificados los datos en algun momento? Hmm, me parece ficticio el problema; o bien, poco útil la solución que propones. ¿Qué impide que un atacante no cambie el CRC al mismo tiempo que cambia los datos que circulan en el "formulario web"? Lo otro es que no me queda claro a qué lado quieres hacer la verificación del CRC. ¿Vas a pasárselo al browser para que lo chequee con Javascript? Además, ¿qué harás si el string cambia de codificación en algún momento? (Por ej. latin1 -> utf8 o vice versa) -- Alvaro Herrera http://www.CommandPrompt.com/ The PostgreSQL Company - Command Prompt, Inc. -- TIP 1: para suscribirte y desuscribirte, visita http://archives.postgresql.org/pgsql-es-ayuda From rmiranda en estudiantes.uci.cu Tue May 13 00:22:41 2008 From: rmiranda en estudiantes.uci.cu (Raydel Miranda Gomez) Date: Mon, 12 May 2008 18:22:41 -0400 (CDT) Subject: servicios de windows en python In-Reply-To: References: Message-ID: <511500.397711210630961395.JavaMail.root@zimbra2.uci.cu> Si si es posible hacer eso, y en linux es mas fácil todavía. Esos servicios en linux, estan escritos usando el lenguaje bash, y , dice la biblia que todo lo que hagas en bash lo puedes hacer con python. lamentablemente no tengo ejemplos para mostrarte ahora, pero si, es completamente posible. Solo tienes que estudiar como se implementan esas soluciones y onerlo en práctica. Suerte. Para ti que estas en la UCI. En el sitio: softwarelibre.uci.cu hay un buen foro de python, estas invitado. ----- Mensaje original ----- De: "Yunierki Verdecia Viltres" Para: python-es en aditel.org Enviados: Lunes, 12 de Mayo de 2008 16:36:26 GMT -05:00 Colombia Asunto: [Python-es] servicios de windows en python Hola Me pregunto si a traves de python se pueden hacer servicios como los de windows que estan corriendo todo el tiempo en una pc, los cuales tu los puedes poner en pausa, detenerlo reiniciarlo y. Es posible hacer uno? si alguien sabe por favor necesito que me guie en como hacer uno. Saludos... _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pych3m4 en gmail.com Tue May 13 03:37:39 2008 From: pych3m4 en gmail.com (Chema Cortes) Date: Tue, 13 May 2008 03:37:39 +0200 Subject: Forzar en sqlite afinidad text para Decimal In-Reply-To: <4828B600.6050000@soft-com.es> References: <2c9fb0dd0805120604n756f61afk4163d434ff6db4a4@mail.gmail.com> <4828B600.6050000@soft-com.es> Message-ID: <2c9fb0dd0805121837o40d5b8c8r6e9d1a40eada83a5@mail.gmail.com> El día 12 de mayo de 2008 23:26, Oswaldo Hernández escribió: > Hola Chema, > > He estado probando el codigo que envias y la cosa pinta bastante chunga. > La primera solución que dices funciona bien, pero perderas la portabilidad > de los datos. > Creo que la mejor solución es la segunda aunque haya que epecificar 'text'. No preciso demasiada rigidez en la portabilidad de los datos para lo que quiero hacer. Estoy en estos momentos trabajando con temas de ETL (Extract-Transform-Load) donde los gestores de bases de datos son dispares, así que siempre tengo que andar con convertidores y acopladores para casi todo. Probaba con sqlite porque vi que algún experto en ETL afirmaba que la "permisibilidad" de sqlite con los tipos de datos lo hacía ideal como herramienta intermediaria. En sqlite quedarían los datos "limpios" y preparados para transportar y cargar en el cubo (Data Warehouse). Sólo pretendía añadir al sqlite algunos de los tipos de datos de los que carece. Pysqlite añade date y timestamp; con añadir decimal y boolean cubriría casi todas mis necesidades. > Otra opcion que tienes es olvidarte del converter y utilizar solo el > adaptador declarando la columna como tipo 'text' y haciendo el cast en el > select. Era otra alternativa posible, aunque creo que me quedaré con la de especificar "decimal text" en la columna. Me parece raro que no haya ningún modo de configurar globalmente el que no se apliquen las afinidades. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pych3m4 en gmail.com Tue May 13 04:10:49 2008 From: pych3m4 en gmail.com (Chema Cortes) Date: Tue, 13 May 2008 04:10:49 +0200 Subject: reordenar archivos de texto segun orden alfabetico In-Reply-To: <399780.14794.qm@web32006.mail.mud.yahoo.com> References: <399780.14794.qm@web32006.mail.mud.yahoo.com> Message-ID: <2c9fb0dd0805121910p109a6b2cj3bbb521689a360c@mail.gmail.com> El día 12 de mayo de 2008 23:15, punchik punchik escribió: > hola gente, tengo un archivo de texto con palabras y sus respectivas definiciones, el cual uso para llenar una base de datos . > > mi archivo de texto seria algo asi: > > > tasa me gusta mi tasa > gato el gato es un animal > mesa la mesa es una cosa > bicicleta es algo con dos ruedas > > > bueno la cosa es que tengo miles de palabras con definiciones en mi archivo de texto que esta en desorden... mi pregunta es, hay alguna manera de reordenar las lineas de mi archivo segun su orden alfabetico en python? por ejemplo , las palabras que comienzen con a estarian primero en la lista y las que empiezen con z estaria al final.....me gustaria saber si ya hay algun script que pueda hacer esto, o alguna funcion dentro de python para hacerlo,pero si hay forma de hacerlo de alguna otra manera tambien me gustaria saber como. Para ordenar se emplea la función sorted(), algo tan simple como: lista_definiciones=sorted(file("definiciones.txt")) Ya que quieres saber "cómo"... - file("definiciones.txt") abre el fichero y devuelve un interador para ir leyendo el fichero línea por línea. - sorted() ordena la secuencia que le pasas como argumento. Al pasarle un iterador, lo convierte en una lista y la devuelve ordenada. Si quieres guardar todo en un fichero, se puede hacer así: file("definiciones_ordenadas.txt","w").writelines(lista_definiciones) Se puede hacer mejor, por ejemplo ordenando sin tener en cuenta mayúsculas ni minúsculas: lista_definiciones=sorted(file("definiciones.txt"), key=str.lower) _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From celord en gmail.com Tue May 13 04:46:34 2008 From: celord en gmail.com (=?ISO-8859-1?Q?C=E9sar_Garc=EDa?=) Date: Mon, 12 May 2008 20:46:34 -0600 Subject: Ayuda para iniciar script Message-ID: Hola a todos, saludos... esta es mi primera intervención, mi pregunta es la siguiente: Quisiera hacer un script que haga lo siguiente: 1) Conectarse por VNC a un host en especifico 2) Que haga un para de clicks ya estando conectado 3) (opcional) que tome un screenshot cada cierto tiempo me pregunto cuales módulos deberé comenzar a estudiar para poder lograr esto...y sus opiniones si esto es muy avanzado para un novato en python como yo. Gracias. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From cgalisteo en k-rolus.net Tue May 13 09:44:38 2008 From: cgalisteo en k-rolus.net (Carlos) Date: Tue, 13 May 2008 09:44:38 +0200 Subject: problemas con opciones In-Reply-To: <48286A77.8060808@web.de> References: <48286A77.8060808@web.de> Message-ID: On Mon, May 12, 2008 at 6:04 PM, Pablo Rodríguez wrote: > Hola, Hola Pablo. > en un programa que estoy mejorando > (http://ousia.justfree.com/iracconshow.txt), no consigo que un par de > opciones me funcionen. Yo de momento te recomendaría que usaras optparse [1] si no te aclaras bien con getopt, en mi opinión es mucho más sencillo e intuitivo. Un saludo. [1]http://docs.python.org/lib/module-optparse.html -- --- Carlos Galisteo http://blog.k-rolus.net PGP_key::http://k-rolus.net/~cgalisteo/cgalisteo.gpg Key_Fingerprint::F888 6FBA 9145 B5A2 C187 66D6 5B8C 027A 69AD BE65 --- ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From cgalisteo en k-rolus.net Tue May 13 09:58:52 2008 From: cgalisteo en k-rolus.net (Carlos) Date: Tue, 13 May 2008 09:58:52 +0200 Subject: servicios de windows en python In-Reply-To: <511500.397711210630961395.JavaMail.root@zimbra2.uci.cu> References: <511500.397711210630961395.JavaMail.root@zimbra2.uci.cu> Message-ID: 2008/5/13 Raydel Miranda Gomez : > > Si si es posible hacer eso, y en linux es mas fácil todavía. Esos servicios en linux, estan escritos usando el lenguaje bash, y , dice la biblia que todo lo que hagas en bash lo puedes hacer con python. ¿Como que los servicios en GNU/Linux están escritos en bash? Como mucho *los scripts de arranque* de los servicios pueden estar escritos en bash (y tampoco necesariamente), pero los demonios (que es como se llaman) están escritos cada uno en el lenguaje que sea, y me atrevería a decir que prácticamente ninguno en bash. ¿Os imaginais Apache, MySQL, Postfix o cualquiera de estos si estuviera escrito en bash? Independientemente de ésto, la pregunta era sobre servicios de Windows, tema que no domino en absoluto, pero en google parece haber muchísima información de como hacerlo [1]. [1]http://www.google.es/search?q=python+windows+service -- --- Carlos Galisteo http://blog.k-rolus.net PGP_key::http://k-rolus.net/~cgalisteo/cgalisteo.gpg Key_Fingerprint::F888 6FBA 9145 B5A2 C187 66D6 5B8C 027A 69AD BE65 --- ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From listas en soft-com.es Tue May 13 10:26:20 2008 From: listas en soft-com.es (=?ISO-8859-1?Q?Oswaldo_Hern=E1ndez?=) Date: Tue, 13 May 2008 10:26:20 +0200 Subject: Forzar en sqlite afinidad text para Decimal In-Reply-To: <2c9fb0dd0805121837o40d5b8c8r6e9d1a40eada83a5@mail.gmail.com> References: <2c9fb0dd0805120604n756f61afk4163d434ff6db4a4@mail.gmail.com> <4828B600.6050000@soft-com.es> <2c9fb0dd0805121837o40d5b8c8r6e9d1a40eada83a5@mail.gmail.com> Message-ID: <482950AC.5010700@soft-com.es> Chema Cortes escribió: > > Era otra alternativa posible, aunque creo que me quedaré con la de > especificar "decimal text" en la columna. Me parece raro que no haya > ningún modo de configurar globalmente el que no se apliquen las > afinidades. Si es raro, pero me parece haber visto en alguna parte que lo hacen por mantener la compatibilidad. Revisando la definicion de afinidad [1], veo que dice exactamente: If the datatype of the column contains any of the strings "CHAR", "CLOB", or "TEXT" then that column has TEXT affinity. por lo no es necesario definir la columna como 'decimal text' en dos palabras. Con que contenga 'text' es suficiente, por lo que definiendo el tipo como 'textdecimal' o 'decimal_text' funciona. Algo es algo. Saludos, [1] -- ***************************************** Oswaldo Hernández oswaldo (@) soft-com (.) es ***************************************** PD: Antes de imprimir este mensaje, asegúrese de que es necesario. El medio ambiente está en nuestra mano. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From listas en soft-com.es Tue May 13 10:29:58 2008 From: listas en soft-com.es (=?ISO-8859-1?Q?Oswaldo_Hern=E1ndez?=) Date: Tue, 13 May 2008 10:29:58 +0200 Subject: servicios de windows en python In-Reply-To: References: Message-ID: <48295186.3040700@soft-com.es> Yunierki Verdecia Viltres escribió: > Hola > Me pregunto si a traves de python se pueden hacer servicios como los de > windows que estan corriendo todo el tiempo en una pc, los cuales tu los > puedes poner en pausa, detenerlo reiniciarlo y. Es posible hacer uno? si > alguien sabe por favor necesito que me guie en como hacer uno. > Saludos... > > Si, perfectamente. Instalate las extensiones win32 y ahi mismo tienes algunos ejemplos de servicios. Saludos, -- ***************************************** Oswaldo Hernández oswaldo (@) soft-com (.) es ***************************************** PD: Antes de imprimir este mensaje, asegúrese de que es necesario. El medio ambiente está en nuestra mano. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From yourpadre en gmail.com Tue May 13 16:47:05 2008 From: yourpadre en gmail.com (Miguel Beltran R.) Date: Tue, 13 May 2008 09:47:05 -0500 Subject: Fwd: [GLO] OT: como calcular CRC? In-Reply-To: References: Message-ID: ---------- Forwarded message ---------- From: Miguel Beltran R. Date: 2008/5/12 Subject: Re: [GLO] OT: como calcular CRC? To: glo en glo.org.mx Lo que quiero hacer es que la aplicacion cliente: * Grabe los datos de manera local y tenga un campo (que dije CRC, pero mas bien seria un checksum entonces?) en el que sepa si modificaron alguno de los otros datos. * En realizadad la aplicación debe de mandar los datos por internet en tiempo real, se conectan por http al servidor y envian los datos a un formulario, en el servidor checo que esten correctos (eso es otro rollo). Aqui tengo duda, entonces es seguro que cuando la aplicación mande lo datos no me va a cambiar ningun dato. * Los datos se guardados localmente son por si no se puede por internet en tiempo "real", se mande la información cuando este en linea de nuevo. -- ________________________________________ Lo bueno de vivir un dia mas es saber que nos queda un dia menos de vida _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From yvviltres en estudiantes.uci.cu Tue May 13 17:50:00 2008 From: yvviltres en estudiantes.uci.cu (Yunierki Verdecia Viltres) Date: Tue, 13 May 2008 11:50:00 -0400 Subject: servicios de windows en python In-Reply-To: References: <511500.397711210630961395.JavaMail.root@zimbra2.uci.cu> Message-ID: Carlos En realidad el servicio me hace falta hacerlo para Linux. Como no sabia como se llamaban esos servicios Linux pregunte por los de Windows, lo que pasa es que ahora estoy empezando con Linux y domino muy poco del tema. Si pudieras decirme por donde empezar para hacer un servicio en Linux te lo agradecería mucho. Saludos -----Mensaje original----- De: python-es-bounces en aditel.org [mailto:python-es-bounces en aditel.org] En nombre de Carlos Enviado el: martes, 13 de mayo de 2008 2:59 Para: Lista de discusión sobre python en castellano Asunto: Re: [Python-es] servicios de windows en python 2008/5/13 Raydel Miranda Gomez : > > Si si es posible hacer eso, y en linux es mas fácil todavía. Esos servicios en linux, estan escritos usando el lenguaje bash, y , dice la biblia que todo lo que hagas en bash lo puedes hacer con python. ¿Como que los servicios en GNU/Linux están escritos en bash? Como mucho *los scripts de arranque* de los servicios pueden estar escritos en bash (y tampoco necesariamente), pero los demonios (que es como se llaman) están escritos cada uno en el lenguaje que sea, y me atrevería a decir que prácticamente ninguno en bash. ¿Os imaginais Apache, MySQL, Postfix o cualquiera de estos si estuviera escrito en bash? Independientemente de ésto, la pregunta era sobre servicios de Windows, tema que no domino en absoluto, pero en google parece haber muchísima información de como hacerlo [1]. [1]http://www.google.es/search?q=python+windows+service -- --- Carlos Galisteo http://blog.k-rolus.net PGP_key::http://k-rolus.net/~cgalisteo/cgalisteo.gpg Key_Fingerprint::F888 6FBA 9145 B5A2 C187 66D6 5B8C 027A 69AD BE65 --- ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From cgalisteo en k-rolus.net Tue May 13 19:09:53 2008 From: cgalisteo en k-rolus.net (Carlos) Date: Tue, 13 May 2008 19:09:53 +0200 Subject: servicios de windows en python In-Reply-To: References: <511500.397711210630961395.JavaMail.root@zimbra2.uci.cu> Message-ID: 2008/5/13 Yunierki Verdecia Viltres : > En realidad el servicio me hace falta hacerlo para Linux. Como no sabia como se llamaban esos servicios Linux pregunte por los de Windows, lo que pasa es que ahora estoy empezando con Linux y domino muy poco del tema. Si pudieras decirme por donde empezar para hacer un servicio en Linux te lo agradecería mucho. Comprenderás que tu pregunta es demasiado amplia. Te aconsejaría que dominaras un poco más el tema a nivel teórico antes de meterte a desarrollar algo. Puedes echar un ojo a la wikipedia [1] y sobre el tema de como implementarlo en Python puedes mirar [2]. Si tienes dudas concretas con la implementación vuelve a preguntar. [1]http://es.wikipedia.org/wiki/Demonio_(Informática) [2]http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/278731 -- --- Carlos Galisteo http://blog.k-rolus.net PGP_key::http://k-rolus.net/~cgalisteo/cgalisteo.gpg Key_Fingerprint::F888 6FBA 9145 B5A2 C187 66D6 5B8C 027A 69AD BE65 --- ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From a.porrua en gmail.com Wed May 14 09:43:17 2008 From: a.porrua en gmail.com (antonio) Date: Wed, 14 May 2008 09:43:17 +0200 Subject: Fwd: [GLO] OT: como calcular CRC? In-Reply-To: References: Message-ID: <1210750997.6510.4.camel@nos> El mar, 13-05-2008 a las 09:47 -0500, Miguel Beltran R. escribió: > ---------- Forwarded message ---------- > From: Miguel Beltran R. > Date: 2008/5/12 > Subject: Re: [GLO] OT: como calcular CRC? > To: glo en glo.org.mx > > > Lo que quiero hacer es que la aplicacion cliente: > > * Grabe los datos de manera local y tenga un campo (que dije CRC, pero > mas bien seria un checksum entonces?) en el que sepa si modificaron > alguno de los otros datos. > > * En realizadad la aplicación debe de mandar los datos por internet en > tiempo real, se conectan por http al servidor y envian los datos a un > formulario, en el servidor checo que esten correctos (eso es otro > rollo). Aqui tengo duda, entonces es seguro que cuando la aplicación > mande lo datos no me va a cambiar ningun dato. > > * Los datos se guardados localmente son por si no se puede por > internet en tiempo "real", se mande la información cuando este en > linea de nuevo. El CRC como el md5 el sha, se emplean para saber que los datos no están corruptos. Si vas a emplear http, no tienes que preocuparte de esas cosas, puesto que ya se encarga el tcpip. De todas maneras, y por si no he entendido que quieres hacer, no importa de que manera hagas el CRC siempre que lo hagas del mismo modo. Si decides dd/mm/aa pues dd/mm/aa en todos los sitios. ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From gagsl-py2 en yahoo.com.ar Wed May 14 09:57:55 2008 From: gagsl-py2 en yahoo.com.ar (Gabriel Genellina) Date: Wed, 14 May 2008 04:57:55 -0300 Subject: Fwd: [GLO] OT: como calcular CRC? References: Message-ID: En Tue, 13 May 2008 11:47:05 -0300, Miguel Beltran R. escribió: > Lo que quiero hacer es que la aplicacion cliente: > > * Grabe los datos de manera local y tenga un campo (que dije CRC, pero > mas bien seria un checksum entonces?) en el que sepa si modificaron > alguno de los otros datos. Y qué me impediría modificar cualquier campo *y* el CRC/campo de validación para que se correspondan? > * En realizadad la aplicación debe de mandar los datos por internet en > tiempo real, se conectan por http al servidor y envian los datos a un > formulario, en el servidor checo que esten correctos (eso es otro > rollo). Aqui tengo duda, entonces es seguro que cuando la aplicación > mande lo datos no me va a cambiar ningun dato. Y qué me impediría a mi escribir otro programa que mande un conjunto de datos diferente por http al servidor (habiendo calculado su crc correspondiente)? Ese tipo de validaciones sólo sirven para que un usuario "casual" no pueda tocar los valores muuuuuuuuy facilmente, pero no proveen seguridad real. -- Gabriel Genellina ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From miracomovengo en gmail.com Wed May 14 10:47:02 2008 From: miracomovengo en gmail.com (Jose) Date: Wed, 14 May 2008 10:47:02 +0200 Subject: Preguntas de iniciado In-Reply-To: <9dd22c9c0805011740y4eb78a1dn8680a431e55998f4@mail.gmail.com> References: <9685383c0804290454w1443abfegdb0b1cd2f302eb7f@mail.gmail.com> <932c33150804290923hb132108x541472b10cfaaf58@mail.gmail.com> <1209487451.7344.19.camel@cucusa> <48182859.4050304@diselpro.com> <9dd22c9c0804301909m448014cbn72833dedb23450cc@mail.gmail.com> <481A3831.1040608@diselpro.com> <9dd22c9c0805011740y4eb78a1dn8680a431e55998f4@mail.gmail.com> Message-ID: <73e8f67f0805140147x207ec661r7749a88925a07aad@mail.gmail.com> Siento la tardanza en mi contestación... Yo creo que Python puede ser un buen lenguaje para aprender siempre que se vaya a programar con el paradigma declarativo (aunque para aprender a programar yo usé Pascal y no me ha costado nada el paso a otros lenguajes). Pero para programación a objetos, creo que no es lo mejor para aprender. Python da mucha mucha flexibilidad en este sentido y creo que antes debes haber programado orientado a objetos en lenguajes un poco más restrictivos. Luego sí es verdad que, una vez que sabes programar orientado a objetos, te quitas toda la parafernalia de estrucutura y demás de lenguajes como Java. Es mi opinión... Saludos, lista! El día 2 de mayo de 2008 2:40, Ark escribió: > jaja, es verdad, depende de para que se valla a usar. Python aumenta > enormemente la productividad en parte por la misma razón por la que es > excelente para aprender a programar, porque simplemente no se interpone en > el camino del programador. Las ideas se pueden llevar fácilmente de la > etapa de diseño a la de imlpementación con gran ayuda de parte del lenguaje > y para aquel que argumente el rendimiento de python pues se le hace notar > la > posibilidad de escribir extensiones en C (o más fácil en pyrex) para las > partes críticas. > > Ark > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From jrvilda en gmail.com Wed May 14 11:52:08 2008 From: jrvilda en gmail.com (Josu Rodriguez) Date: Wed, 14 May 2008 11:52:08 +0200 Subject: Problemas para ejecutar un comando externo Message-ID: Hola buenas, he estado leiendo desde la documentacion a varios foros en los que se habla de lo mismo, incluso en este. os.popen, os.popen2, os.system etc, pero no consigo ejecutar un comando. Yo creo que el problema es por el tema de las comillas por que si no no lo entiendo. El comando es para descomprimir unos ficheros desde un rar con contraseña y despues ejecutarlos, pero el primer paso n o lo consigo. El comando es: %programfiles%"\winrar\rar.exe" e "comprimidos\ficheros\" -ppassword "c:\ficheros de prueba" he intentado con comando=os.popen('%programfiles%"\\winrar\\rar.exe" e "comprimidos\\ficheros\\" -ppassword "c:\\ficheros de prueba"') comado.read() pero no me devuelve nada. Un saludo y gracias -- Josu Rodriguez Vilda _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From francisco.palm en gmail.com Wed May 14 14:51:35 2008 From: francisco.palm en gmail.com (Francisco Palm) Date: Thu, 15 May 2008 08:21:35 +1930 Subject: Preguntas de iniciado In-Reply-To: <73e8f67f0805140147x207ec661r7749a88925a07aad@mail.gmail.com> References: <9685383c0804290454w1443abfegdb0b1cd2f302eb7f@mail.gmail.com> <932c33150804290923hb132108x541472b10cfaaf58@mail.gmail.com> <1209487451.7344.19.camel@cucusa> <48182859.4050304@diselpro.com> <9dd22c9c0804301909m448014cbn72833dedb23450cc@mail.gmail.com> <481A3831.1040608@diselpro.com> <9dd22c9c0805011740y4eb78a1dn8680a431e55998f4@mail.gmail.com> <73e8f67f0805140147x207ec661r7749a88925a07aad@mail.gmail.com> Message-ID: La preocupación por los supuestos peligros producto de la flexibilidad de los lenguajes dinámicos es un mito sostenido las empresas de software que pretenden convertir el arte de la programación en una industria de producción en masa. Pero tal y como señala Paul Graham (http://www.paulgraham.com/knuth.html), programar es un arte. Y cuando los programadores entienden esto, en contra de las ansias de beneficios rápidos y sistemáticos de los accionistas de las empresas, logran disfrutar su trabajo y hacerlo más rápido y con mayor calidad. El problema es que los programadores artistas no tienen influencia en los pensum de estudio de las universidades como si lo tienen las grandes empresas como Sun y Microsoft, haciendo creer a la gente que cuestiones ridículas como los getters y setter de Java son buenas prácticas. Es llamativo como profesores universitarios que no han desarrollado un sistema completo enseñan como si fuese una religión los mecanismos de encapsulación de un modo que entorpece terriblemente la productividad de los programadores. Python es un excelente lenguaje programación orientada a objetos, como también lo es Ruby, y representan un verdadero salto evolutivo en comparación con despropósitos como C++ y Java. Lo único que oculta esa verdad es el enorme poder econñomico manifestado a travñes de estrategia de lobby que siga permeando tanto al academia como a las empresas. Saludos F. Palm 2008/5/15 Jose : > Siento la tardanza en mi contestación... > > Yo creo que Python puede ser un buen lenguaje para aprender siempre que se > vaya a programar con el paradigma declarativo (aunque para aprender a > programar yo usé Pascal y no me ha costado nada el paso a otros lenguajes). > > Pero para programación a objetos, creo que no es lo mejor para aprender. > Python da mucha mucha flexibilidad en este sentido y creo que antes debes > haber programado orientado a objetos en lenguajes un poco más restrictivos. > Luego sí es verdad que, una vez que sabes programar orientado a objetos, te > quitas toda la parafernalia de estrucutura y demás de lenguajes como Java. > > Es mi opinión... > > Saludos, lista! > > > > El día 2 de mayo de 2008 2:40, Ark escribió: > > > > > jaja, es verdad, depende de para que se valla a usar. Python aumenta > > enormemente la productividad en parte por la misma razón por la que es > > excelente para aprender a programar, porque simplemente no se interpone en > > el camino del programador. Las ideas se pueden llevar fácilmente de la > > etapa de diseño a la de imlpementación con gran ayuda de parte del lenguaje > > y para aquel que argumente el rendimiento de python pues se le hace notar > > la > > posibilidad de escribir extensiones en C (o más fácil en pyrex) para las > > partes críticas. > > > > Ark > > _______________________________________________ > > Lista de correo Python-es > > http://listas.aditel.org/listinfo/python-es > > FAQ: http://listas.aditel.org/faqpyes > > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- -------------------------------------- fpalm en ula.ve francisco.palm en gmail.com cel: 0414 5109177 tel: 0274 6352001 ---- Yo creo que todavía no es demasiado tarde para construir una utopía que nos permita compartir la tierra. Gabriel García Márquez. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From willian.radicaled en gmail.com Wed May 14 14:53:40 2008 From: willian.radicaled en gmail.com (RadicalEd) Date: Wed, 14 May 2008 07:53:40 -0500 Subject: Problemas para ejecutar un comando externo In-Reply-To: References: Message-ID: Prueba con os.execl(), asi: >>> import os >>> os.execl('C:/Archivos de programa/WinRaR/WinRaR.exe') On Wed, May 14, 2008 at 4:52 AM, Josu Rodriguez wrote: > Hola buenas, > > he estado leiendo desde la documentacion a varios foros en los que se habla > de lo mismo, incluso en este. > os.popen, os.popen2, os.system etc, pero no consigo ejecutar un comando. > Yo creo que el problema es por el tema de las comillas por que si no no lo > entiendo. > > El comando es para descomprimir unos ficheros desde un rar con contraseña y > despues ejecutarlos, pero el primer paso n o lo consigo. > > El comando es: > %programfiles%"\winrar\rar.exe" e "comprimidos\ficheros\" -ppassword > "c:\ficheros de prueba" > > he intentado con > comando=os.popen('%programfiles%"\\winrar\\rar.exe" e > "comprimidos\\ficheros\\" -ppassword "c:\\ficheros de prueba"') > comado.read() > > pero no me devuelve nada. > > Un saludo y gracias > > -- > > Josu Rodriguez Vilda > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- The knowledge is the most dangerous weapon & SoloCodigo is the most important programing webforum. http://foros.solocodigo.com _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pyarnau en gmail.com Wed May 14 18:34:45 2008 From: pyarnau en gmail.com (Arnau Sanchez) Date: Wed, 14 May 2008 18:34:45 +0200 Subject: Problemas para ejecutar un comando externo In-Reply-To: References: Message-ID: <482B14A5.3090606@gmail.com> Josu Rodriguez escribió: > Hola buenas, > > he estado leiendo desde la documentacion a varios foros en los que se habla > de lo mismo, incluso en este. > os.popen, os.popen2, os.system etc, pero no consigo ejecutar un comando. > Yo creo que el problema es por el tema de las comillas por que si no no lo > entiendo. > > El comando es para descomprimir unos ficheros desde un rar con contraseña y > despues ejecutarlos, pero el primer paso n o lo consigo. > > El comando es: > %programfiles%"\winrar\rar.exe" e "comprimidos\ficheros\" -ppassword > "c:\ficheros de prueba" > > he intentado con > comando=os.popen('%programfiles%"\\winrar\\rar.exe" e > "comprimidos\\ficheros\\" -ppassword "c:\\ficheros de prueba"') > comado.read() > La respuesta sobre este tema siempre es la misma: "subprocess": http://pythonesfaq.k-rolus.net/#index52h3 Si lo que se explica no te sirve vuelve a escribir. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From oinos en web.de Wed May 14 19:25:44 2008 From: oinos en web.de (=?ISO-8859-1?Q?Pablo_Rodr=EDguez?=) Date: Wed, 14 May 2008 19:25:44 +0200 Subject: problemas con opciones In-Reply-To: <4828791F.4020903@gmail.com> References: <48286A77.8060808@web.de> <4828791F.4020903@gmail.com> Message-ID: <482B2098.1050506@web.de> Arnau Sanchez wrote: > Pablo Rodríguez escribió: >> Hola, >> >> en un programa que estoy mejorando >> (http://ousia.justfree.com/iracconshow.txt), no consigo que un par de >> opciones me funcionen. >> >> Declaro una variable como verdadera o falsa de modo predeterminado y no >> la cambia (como en -k o --keep-files), o no cambia el archivo final (con >> -o u --output-file). No me da error, pero no hace nada, tanto si lo >> especifico como si no lo hago. >> >> Sé muy poco de programación. ¿Alguien me podría decir qué tengo que >> hacer para corregir las opciones que he dicho modifiquen las variables? >> > Pablo, tendrás que ser más preciso, yo al menos no entiendo bien el > problema. He probado a ejecutar el script con -k y sí entra en el la > opción correspondiente (back.keepfiles = True). Si luego eso funciona > como debe o no, no lo sé, porque el script necesita una serie de > ficheros (pdf, sound-file, timeline, etc) que no tenemos. Te > recomendaría que nos pasaras tanto los enlaces a los ficheros necesarios > para reproducir el problema, como los comandos que ejecutas, la salida > correspondiente y lo que esperas. Gracias por la respuesta, Arnau y perdón por ser tan impreciso (supongo que se debe a la ignorancia). Y siento no haber podido responder antes (pero es la primera vez que enciendo el portátil desde el lunes por la tarde). Antes de escribir he estado intentado corregir los errores por mí mismo, y se ve que todos los errores eran de sintaxis. Siento no haberlo descubierto cuando lo estuve trabajando. La opción -o no funcionaba, porque me olvidé de ponerle dos puntos después de invocarla. -k o --keep-files funcionó no sé muy bien cómo, pero -b o --with-buttons no funcionaba porque ponía doble igual en vez de uno. Así si que era imposible que funcionase. > Por otra parte, creo que el enfoque del script no es el más adecuado > (esa cantidad de "filebuffer.append" que hay asustan). Se diría que lo > que se necesita ahí es un lenguaje de plantillas (templating): > > http://wiki.python.org/moin/Templating > > De este modo tendrías ficheros separados, código y plantilla, y quedaría > mucho más limpio. De hecho, la lógica es tan simple (casi todo lo que > hay son condicionales "if self.buttons"), que llegado el caso podrías > crearte el sistema tú mismo, sin depender de librerías externas. Sería, > de paso, un buen ejercicio para ganar soltura con el lenguaje. Tomo nota de las plantillas y a ver si consigo aclararme para hacerlo mejor, aunque no sé si entiendo muy bién cuál es la idea general. Gracias por la ayuda, Pablo _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From oinos en web.de Wed May 14 19:28:12 2008 From: oinos en web.de (=?ISO-8859-1?Q?Pablo_Rodr=EDguez?=) Date: Wed, 14 May 2008 19:28:12 +0200 Subject: problemas con opciones In-Reply-To: References: <48286A77.8060808@web.de> Message-ID: <482B212C.3020709@web.de> Carlos wrote: > On Mon, May 12, 2008 at 6:04 PM, Pablo Rodríguez wrote: >> Hola, > > Hola Pablo. > >> en un programa que estoy mejorando >> (http://ousia.justfree.com/iracconshow.txt), no consigo que un par de >> opciones me funcionen. > > Yo de momento te recomendaría que usaras optparse [1] si no te aclaras > bien con getopt, en mi opinión es mucho más sencillo e intuitivo. > > Un saludo. > > > [1]http://docs.python.org/lib/module-optparse.html Gracias por la respuesta, Carlos. getopt no ha sido una opción. Yo me lo encontré en el programa original. Pero gracias por la referencia. Pablo _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From foxandxss en gmail.com Thu May 15 00:12:24 2008 From: foxandxss en gmail.com (Jesus Rodriguez) Date: Thu, 15 May 2008 00:12:24 +0200 Subject: =?iso-8859-1?q?=BFAlgo_como_pynotify_pero_para_windo?= =?iso-8859-1?q?ws=3F?= Message-ID: <2a1edb210805141512t4b286077y9578a67e71fc3a7b@mail.gmail.com> Buenas, me gustaría hacer una pequeña base de datos de citas tipo fortune (que no se si conocereis), y me gustaría que cada x rato mostrara un popup con una cita aleatoria. La cosa es que de windows estoy pegaete, y no sé si hay alguna libreria como la ya citada para mostrar pop-ups. Gracias. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From jcaballero.hep en gmail.com Thu May 15 15:26:04 2008 From: jcaballero.hep en gmail.com (Jose Caballero) Date: Thu, 15 May 2008 09:26:04 -0400 Subject: Problemas para ejecutar un comando externo In-Reply-To: <482B14A5.3090606@gmail.com> References: <482B14A5.3090606@gmail.com> Message-ID: 2008/5/14 Arnau Sanchez : > Josu Rodriguez escribió: > >> Hola buenas, >> >> he estado leiendo desde la documentacion a varios foros en los que se >> habla >> de lo mismo, incluso en este. >> os.popen, os.popen2, os.system etc, pero no consigo ejecutar un comando. >> Yo creo que el problema es por el tema de las comillas por que si no no lo >> entiendo. >> >> El comando es para descomprimir unos ficheros desde un rar con contraseña >> y >> despues ejecutarlos, pero el primer paso n o lo consigo. >> >> El comando es: >> %programfiles%"\winrar\rar.exe" e "comprimidos\ficheros\" -ppassword >> "c:\ficheros de prueba" >> >> he intentado con >> comando=os.popen('%programfiles%"\\winrar\\rar.exe" e >> "comprimidos\\ficheros\\" -ppassword "c:\\ficheros de prueba"') >> comado.read() >> >> > La respuesta sobre este tema siempre es la misma: "subprocess": > > http://pythonesfaq.k-rolus.net/#index52h3 > > Si lo que se explica no te sirve vuelve a escribir. > Hola Arnau, ¿cuál sería la mejor opción si se está obligado a trabajar con la versión 2.3? Saludos, Jose _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From maengora en gmail.com Thu May 15 16:46:52 2008 From: maengora en gmail.com (=?ISO-8859-1?Q?Manuel_Enrique_Gonz=E1lez_Ram=EDrez?=) Date: Thu, 15 May 2008 09:46:52 -0500 Subject: Comparar bases de datos Message-ID: Hola a tod en s. Antecedentes: - Tengo un base de datos MySQL que manejo desde python (wx) - Existe otra aplicación que maneja una base de datos dBase 1. Necesito poder cargar los datos dBase en mi base de datos de la siguiente manera: 1.a. Los registros que coincidan dBase contra MySQL no se deben cambiar, sin embargo debe aparecer una relación de cuántos fueron esos registros que coincidieron. 1.b. Los registros que NO coincidan dBase contra MySQL deben ser agregadas a MySQL y se debe tener el datos de cuántos y cuales registro fueron añadidos. Consulta: Mi pregunta es bien sencilla.... ¿Cómo lo hago??? si la estructura de dBase es diferente (pero algunos campos como nombres, apellidos, cédulas, etc, coinciden) a la de MySQL. Eso es lo que llaman en la oficina cruzar las bases de datos. Cualquier ayuda se las agradezco. Gracias _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pyarnau en gmail.com Thu May 15 19:00:46 2008 From: pyarnau en gmail.com (Arnau Sanchez) Date: Thu, 15 May 2008 19:00:46 +0200 Subject: Problemas para ejecutar un comando externo In-Reply-To: References: <482B14A5.3090606@gmail.com> Message-ID: <482C6C3E.9080902@gmail.com> Jose Caballero escribió: > ¿cuál sería la mejor opción si se está obligado a trabajar con la versión > 2.3? > No me atrevería a decir cuál es la mejor, depende. El factor decisivo suele ser si quieres capturar la salida del comando; si es que no, usaría algún os.spawn*: retcode = os.spawnvp(os.P_WAIT, "touch", ["touch", "/etc/services"]) Si es que sí, quizá popen2.popen2: outfd, infd = popen2.popen2(["cat", "/etc/services"]) outputdata = outfd.read() outfd.close() infd.close() El módulo "commands" no está mal, pero es sólo UNIX. (Pero no me hagas mucho caso, hace mucho que sólo uso subprocess) _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pych3m4 en gmail.com Thu May 15 19:21:14 2008 From: pych3m4 en gmail.com (Chema Cortes) Date: Thu, 15 May 2008 19:21:14 +0200 Subject: Comparar bases de datos In-Reply-To: References: Message-ID: <2c9fb0dd0805151021g19a7d4d2xbf2a247ec3af167f@mail.gmail.com> El día 15 de mayo de 2008 16:46, Manuel Enrique González Ramírez escribió: > Antecedentes: > - Tengo un base de datos MySQL que manejo desde python (wx) > - Existe otra aplicación que maneja una base de datos dBase > > > 1. Necesito poder cargar los datos dBase en mi base de datos de la siguiente > manera: > 1.a. Los registros que coincidan dBase contra MySQL no se deben cambiar, sin > embargo debe aparecer una relación de cuántos fueron esos registros que > coincidieron. > 1.b. Los registros que NO coincidan dBase contra MySQL deben ser agregadas a > MySQL y se debe tener el datos de cuántos y cuales registro fueron añadidos. > > Consulta: > Mi pregunta es bien sencilla.... ¿Cómo lo hago??? si la estructura de dBase > es diferente (pero algunos campos como nombres, apellidos, cédulas, etc, > coinciden) a la de MySQL. > > Eso es lo que llaman en la oficina cruzar las bases de datos. Es un pregunta sencilla, pero la respuesta no lo es tanto. Si ambas bases de datos van a mantener su estructura, la solución pasa por hacerte un programa a medida que te soluciones el tema. Para cosas más complejas, te recomendaría un Integrador de Datos, como el "Pentaho Data Integrator" (http://kettle.pentaho.com). Básicamente hace lo que pides de una forma bastante simple. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From jcaballero.hep en gmail.com Thu May 15 19:48:39 2008 From: jcaballero.hep en gmail.com (Jose Caballero) Date: Thu, 15 May 2008 13:48:39 -0400 Subject: Problemas para ejecutar un comando externo In-Reply-To: <482C6C3E.9080902@gmail.com> References: <482B14A5.3090606@gmail.com> <482C6C3E.9080902@gmail.com> Message-ID: muchas gracias, Arnau. Desgraciadamente tengo que trabajar con 2.3, no puedo pasar a una versión superior. Hasta ahora siempre he utilizado os.spawnvpe, porque necesito capturar el ID del nuevo proceso, pero quería saber si hay alguna forma mejor. Gracias por la respuesta. Jose El día 15 de mayo de 2008 13:00, Arnau Sanchez escribió: > Jose Caballero escribió: > >> ¿cuál sería la mejor opción si se está obligado a trabajar con la versión >> 2.3? >> >> > No me atrevería a decir cuál es la mejor, depende. El factor decisivo suele > ser si quieres capturar la salida del comando; si es que no, usaría algún > os.spawn*: > > retcode = os.spawnvp(os.P_WAIT, "touch", ["touch", "/etc/services"]) > > Si es que sí, quizá popen2.popen2: > > outfd, infd = popen2.popen2(["cat", "/etc/services"]) > outputdata = outfd.read() > outfd.close() > infd.close() > > El módulo "commands" no está mal, pero es sólo UNIX. > > (Pero no me hagas mucho caso, hace mucho que sólo uso subprocess) > > _______________________________________________ > Lista de correo Python-es http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From minibota en gmail.com Thu May 15 19:56:44 2008 From: minibota en gmail.com (=?ISO-8859-1?Q?Pavel_Mu=F1oz?=) Date: Thu, 15 May 2008 11:56:44 -0600 Subject: Comparar bases de datos In-Reply-To: <2c9fb0dd0805151021g19a7d4d2xbf2a247ec3af167f@mail.gmail.com> References: <2c9fb0dd0805151021g19a7d4d2xbf2a247ec3af167f@mail.gmail.com> Message-ID: <118999020805151056g27ff6a28rfa589f3d8c6d687c@mail.gmail.com> Muy de acuerdo con Chema... lo que necesitas es un software para ETL (Extract, Transform, Load data); Kettle es exactamente un ETL, muy bueno. 2008/5/15 Chema Cortes : > El día 15 de mayo de 2008 16:46, Manuel Enrique González Ramírez > escribió: > > > Antecedentes: > > - Tengo un base de datos MySQL que manejo desde python (wx) > > - Existe otra aplicación que maneja una base de datos dBase > > > > > > 1. Necesito poder cargar los datos dBase en mi base de datos de la > siguiente > > manera: > > 1.a. Los registros que coincidan dBase contra MySQL no se deben cambiar, > sin > > embargo debe aparecer una relación de cuántos fueron esos registros que > > coincidieron. > > 1.b. Los registros que NO coincidan dBase contra MySQL deben ser > agregadas a > > MySQL y se debe tener el datos de cuántos y cuales registro fueron > añadidos. > > > > Consulta: > > Mi pregunta es bien sencilla.... ¿Cómo lo hago??? si la estructura de > dBase > > es diferente (pero algunos campos como nombres, apellidos, cédulas, etc, > > coinciden) a la de MySQL. > > > > Eso es lo que llaman en la oficina cruzar las bases de datos. > > Es un pregunta sencilla, pero la respuesta no lo es tanto. Si ambas > bases de datos van a mantener su estructura, la solución pasa por > hacerte un programa a medida que te soluciones el tema. > > Para cosas más complejas, te recomendaría un Integrador de Datos, como > el "Pentaho Data Integrator" (http://kettle.pentaho.com). Básicamente > hace lo que pides de una forma bastante simple. > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From jrvilda en gmail.com Thu May 15 23:01:33 2008 From: jrvilda en gmail.com (Josu Rodriguez) Date: Thu, 15 May 2008 23:01:33 +0200 Subject: Problemas para ejecutar un comando externo In-Reply-To: References: <482B14A5.3090606@gmail.com> <482C6C3E.9080902@gmail.com> Message-ID: Muchas gracias a todos Al final casi lo tengo con subprocess, pero.... Por que no acepta variables de sistema en el comando Ej. %programfiles% o %windir% ¿cual seria el comando para obtener estas variables? Un saludo _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From jcaballero.hep en gmail.com Thu May 15 23:07:02 2008 From: jcaballero.hep en gmail.com (Jose Caballero) Date: Thu, 15 May 2008 17:07:02 -0400 Subject: Problemas para ejecutar un comando externo In-Reply-To: References: <482B14A5.3090606@gmail.com> <482C6C3E.9080902@gmail.com> Message-ID: ¿Por "variables del sistema" te refieres a "variables de entorno"? Si es eso, prueba con os.environ[] 2008/5/15 Josu Rodriguez : > Muchas gracias a todos > > > Al final casi lo tengo con subprocess, pero.... > > Por que no acepta variables de sistema en el comando Ej. %programfiles% o > %windir% > ¿cual seria el comando para obtener estas variables? > > Un saludo > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From willian.radicaled en gmail.com Thu May 15 23:38:56 2008 From: willian.radicaled en gmail.com (RadicalEd) Date: Thu, 15 May 2008 16:38:56 -0500 Subject: =?ISO-8859-1?Q?Re:__=BFAlgo_como_pynotify_pero_para_windows=3F?= In-Reply-To: <2a1edb210805141512t4b286077y9578a67e71fc3a7b@mail.gmail.com> References: <2a1edb210805141512t4b286077y9578a67e71fc3a7b@mail.gmail.com> Message-ID: No conozco, pero puedes generar ventanas con wxPython o TkInter para ese proceso. On Wed, May 14, 2008 at 5:12 PM, Jesus Rodriguez wrote: > Buenas, me gustaría hacer una pequeña base de datos de citas tipo fortune > (que no se si conocereis), y me gustaría que cada x rato mostrara un popup > con una cita aleatoria. La cosa es que de windows estoy pegaete, y no sé si > hay alguna libreria como la ya citada para mostrar pop-ups. > > > Gracias. > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- The knowledge is the most dangerous weapon & SoloCodigo is the most important programing webforum. http://foros.solocodigo.com _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From hector en graciasensefils.net Fri May 16 02:54:48 2008 From: hector en graciasensefils.net (Hector =?iso-8859-1?Q?Mu=F1oz?=) Date: Fri, 16 May 2008 02:54:48 +0200 (CEST) Subject: split Message-ID: <37617.87.219.32.97.1210899288.squirrel@correu.laquimera.org> Hola hola! Tengo una lista sacada de un string tratado con split: original="25 Aug 2007" cadena=original.split(" ") cuando imprimo cadena me imprime ['25','Aug','2007'] Me interesa únicamente la parte del mes (es decir Aug) y cuando intento acceder cadena[1] me dice que está fuera de rango. ¿Alguien sabe qué puede estar pasando? Gracias! -- jabberID: triptik en geekcoders.net blog: http://blog.geekcoders.net _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From kalith.9 en gmail.com Fri May 16 04:00:31 2008 From: kalith.9 en gmail.com (kalith kalith) Date: Fri, 16 May 2008 21:30:31 +1930 Subject: split In-Reply-To: <37617.87.219.32.97.1210899288.squirrel@correu.laquimera.org> References: <37617.87.219.32.97.1210899288.squirrel@correu.laquimera.org> Message-ID: <3da702830805151900s5b61aab9rc29adc415dc676e7@mail.gmail.com> cadena=original.split() hacelo asi que seguro te funciona =) _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From szyszeja en gmail.com Fri May 16 04:44:24 2008 From: szyszeja en gmail.com (Leonidas Szyszeja) Date: Thu, 15 May 2008 23:44:24 -0300 Subject: Resalatado de syntaxis en ERIC In-Reply-To: References: Message-ID: <482CF508.7010405@gmail.com> hola Por suerte estoy aprendiendo python. Usando kate (kubuntu) como editor , el resaltado me proporciona una gran ayuda. Un amigo me recomendó pycrust, me encanto en autocompletado. Me puse a investigar un poco y me encontré con eric(kde). Por ahora voy bien, me baje el paquete eric-api-files(sirve para autocompletar) Lo que me falta es el resaltado. Si bien tiene la opcion y se puede se puede configurar desde SETTINGS / PREFERENCES / EDITOR / HIGHLIGHTING STYLES no logro configurar el color de los módulos/metodos/y propiedades. Estos lo hacia en kate, retocando ~/.kde/share/apps/katepart/syntax/python.xml No se si existe algun archivo para la configuracion del resaltado u otra forma. Se que es un poco rebuscada mi pregunta .. perdon gracias y SueRTE _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From lgmerino en yahoo.com Fri May 16 09:06:57 2008 From: lgmerino en yahoo.com (Luis Garcia Merino) Date: Fri, 16 May 2008 00:06:57 -0700 (PDT) Subject: Comparar bases de datos Message-ID: <855519.87474.qm@web56511.mail.re3.yahoo.com> ---- Original Message ---- From: Manuel Enrique González Ramírez To: Lista de discusión sobre python en castellano Sent: Thursday, May 15, 2008 4:46:52 PM Subject: [Python-es] Comparar bases de datos Hola a tod en s. Antecedentes: - Tengo un base de datos MySQL que manejo desde python (wx) - Existe otra aplicación que maneja una base de datos dBase 1. Necesito poder cargar los datos dBase en mi base de datos de la siguiente manera: 1.a. Los registros que coincidan dBase contra MySQL no se deben cambiar, sin embargo debe aparecer una relación de cuántos fueron esos registros que coincidieron. 1.b. Los registros que NO coincidan dBase contra MySQL deben ser agregadas a MySQL y se debe tener el datos de cuántos y cuales registro fueron añadidos. Consulta: Mi pregunta es bien sencilla.... ¿Cómo lo hago??? si la estructura de dBase es diferente (pero algunos campos como nombres, apellidos, cédulas, etc, coinciden) a la de MySQL. Eso es lo que llaman en la oficina cruzar las bases de datos. Cualquier ayuda se las agradezco. Gracias _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes ---- Original Message ---- Buenos días, si lo que quieres es leer/escribir un archivo de dBase con Python puedes utilizar: http://www.fiby.at/dbfpy/ Un ejemplo sencillo. Este ejemplo muestra en pantalla todos los campos y el valor de todos los registros del archivo altas.dbf: import dbf dbase = dbf.Dbf() dbase.openFile('altas.dbf', readOnly=1) for i in range(len(dbase)): registro = dbase[i] for campo in dbase.fieldNames(): print '%s:\t %s'%(campo, registro[campo]) print dbase.close() Si conoces la estructura de ambas bases de datos puedes hacer un pequeño script que lea el dBase, compruebe cada registro en MySQL y si lo tiene que guardar que lo guarde y sino que pase al siguiente registro... Se consideran buenas prácticas utilizar http://www.google.com antes de escribir a la lista. Un saludo, Luis _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From listas en soft-com.es Fri May 16 10:15:03 2008 From: listas en soft-com.es (=?ISO-8859-1?Q?Oswaldo_Hern=E1ndez?=) Date: Fri, 16 May 2008 10:15:03 +0200 Subject: Problemas para ejecutar un comando externo In-Reply-To: References: <482B14A5.3090606@gmail.com> <482C6C3E.9080902@gmail.com> Message-ID: <482D4287.8020903@soft-com.es> Josu Rodriguez escribió: > Muchas gracias a todos > > > Al final casi lo tengo con subprocess, pero.... > > Por que no acepta variables de sistema en el comando Ej. %programfiles% o > %windir% > ¿cual seria el comando para obtener estas variables? > subprocess.popen tiene un parámetro 'shell', deberas activarlo para que el comando se ejecute en una shell del sistema. Saludos, -- ***************************************** Oswaldo Hernández oswaldo (@) soft-com (.) es ***************************************** PD: Antes de imprimir este mensaje, asegúrese de que es necesario. El medio ambiente está en nuestra mano. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From jileon en parcan.es Fri May 16 10:18:29 2008 From: jileon en parcan.es (Juan Ignacio Rodriguez de Leon) Date: Fri, 16 May 2008 09:18:29 +0100 Subject: Comparar bases de datos In-Reply-To: References: Message-ID: <482D4355.6040304@parcan.es> Manuel Enrique González Ramírez wrote: > Mi pregunta es bien sencilla.... ¿Cómo lo hago??? Con mucho cuidado... _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From punchikk en yahoo.com Fri May 16 11:23:52 2008 From: punchikk en yahoo.com (punchik punchik) Date: Fri, 16 May 2008 02:23:52 -0700 (PDT) Subject: pregunta sobre mysql Message-ID: <862591.93485.qm@web32001.mail.mud.yahoo.com> hola companeros, tengo dos pequenas dudas con respecto a mysql: dentro de mi base de datos he creado una tabla llamada diccionario de la siguiente manera. CREATE TABLE diccionario( -> palabra VARCHAR(20), -> descripccion VARCHAR(20); VARCHAR solo me permite longitud entre 1 y 255 por lo cual si tengo una descripcion demasiada larga me lo corta y solo aparece la primera parte. mi pregunta seria: que tipo de variable tengo que definir para poder tener descripciones bastante largas? y mi segunda pregunta es: he cargado dentro de mi tabla las palabras y descripciones que estan en una archivo de texto usando el siguiente comando: LOAD DATA LOCAL INFILE "nosexridethelanguage.txt" INTO TABLE diccionario; este comando toma TAB o el espacio de tabulacion para crear la separacion entre palabra y descripcion y toma el RETURN o ENTER para separar los registros. como podria hacer para que no tome return o enter como separacion entre registro ? ya que tengo descripciones bastante largas me gustaria tener mi archivo de texto ordenado, por lo cual me gustaria que no tome el return o enter como separador de registro y que tome algun otro caracter, o numero: alguien tiene idea de como podria hacer esto? muchas gracias pun. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From damufo en gmail.com Fri May 16 11:36:27 2008 From: damufo en gmail.com (damufo) Date: Fri, 16 May 2008 11:36:27 +0200 Subject: Detectar bloqueo de =?iso-8859-15?q?may=FAsculas?= Message-ID: <482D559B.3060401@gmail.com> Hola lista: Me gustaría saber si a alguien se el ocurre como detectar en python si tengo las mayúsculas bloqueadas (activas) (Bloq mayus, caps lock) He estado mirado por la red y no he encontado nada. Estoy usando pywinauto, y necesito escribir un texto y antes tengo que detectar si están las maysculas activadas o no. Saludos y gracias ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From willian.radicaled en gmail.com Fri May 16 15:17:03 2008 From: willian.radicaled en gmail.com (RadicalEd) Date: Fri, 16 May 2008 08:17:03 -0500 Subject: split In-Reply-To: <3da702830805151900s5b61aab9rc29adc415dc676e7@mail.gmail.com> References: <37617.87.219.32.97.1210899288.squirrel@correu.laquimera.org> <3da702830805151900s5b61aab9rc29adc415dc676e7@mail.gmail.com> Message-ID: A mi me funciono perfecto. 2008/5/15 kalith kalith : > cadena=original.split() > > hacelo asi que seguro te funciona =) > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- The knowledge is the most dangerous weapon & SoloCodigo is the most important programing webforum. http://foros.solocodigo.com _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From minoztro en gmail.com Fri May 16 15:27:11 2008 From: minoztro en gmail.com (Milton Galo Patricio Inostroza Aguilera) Date: Fri, 16 May 2008 09:27:11 -0400 Subject: split In-Reply-To: <37617.87.219.32.97.1210899288.squirrel@correu.laquimera.org> References: <37617.87.219.32.97.1210899288.squirrel@correu.laquimera.org> Message-ID: <172699c50805160627j7b7fbb03vdcde9293d6cde3f4@mail.gmail.com> 2008/5/15 Hector Muñoz : > > Hola hola! Hola Hector! > > Tengo una lista sacada de un string tratado con split: > > original="25 Aug 2007" > > cadena=original.split(" ") > cuando imprimo cadena me imprime ['25','Aug','2007'] mira yo intenté esto: minostro en cw-41:~$ python Python 2.5.2 (r252:60911, Apr 21 2008, 11:12:42) [GCC 4.2.3 (Ubuntu 4.2.3-2ubuntu7)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> original="25 Aug 2007" >>> cadena=original.split(" ") >>> print cadena ['25', 'Aug', '2007'] >>> cadena[1] 'Aug' >>> > > Me interesa únicamente la parte del mes (es decir Aug) y cuando intento > acceder cadena[1] me dice que está fuera de rango. bastante extraño en realidad...a mi me funcionó correctamente > > ¿Alguien sabe qué puede estar pasando? Problema de capa 8 ;)...te aconsejaría que para próximas consultas siempre pegues el código desde la salida de consola de python {si es posible} y muestre el error que te tira Python...así podremos saber realmente lo que está pasando > > Gracias! > > -- > jabberID: triptik en geekcoders.net > blog: http://blog.geekcoders.net > > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Milton Inostroza Aguilera ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From maengora en gmail.com Fri May 16 15:35:50 2008 From: maengora en gmail.com (=?ISO-8859-1?Q?Manuel_Enrique_Gonz=E1lez_Ram=EDrez?=) Date: Fri, 16 May 2008 08:35:50 -0500 Subject: Comparar bases de datos In-Reply-To: <482D4355.6040304@parcan.es> References: <482D4355.6040304@parcan.es> Message-ID: 2008/5/16 Juan Ignacio Rodriguez de Leon : > Manuel Enrique González Ramírez wrote: > > Mi pregunta es bien sencilla.... ¿Cómo lo hago??? >> > > Con mucho cuidado... > > > _______________________________________________ > Lista de correo Python-es http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > Luis agradezco tu respuesta. Y por lo de google ya había buscado antes de enviar la consulta a la lista y también había encontrado y descargado el dbfpy, quizás no me hice entender bien en la pregunta, lo que consultaba era si ya existía un método ya estructurado para hacer lo que necesito y creo que la respuesta más acertada a lo que busco fue la de Chema quien me recomendó el "Pentaho Data Integrator" que estoy mirando y estudiando. Luis nuevamente gracias por tu sugerencia, pero lo de google me sobraba. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From maengora en gmail.com Fri May 16 15:46:18 2008 From: maengora en gmail.com (=?ISO-8859-1?Q?Manuel_Enrique_Gonz=E1lez_Ram=EDrez?=) Date: Fri, 16 May 2008 08:46:18 -0500 Subject: pregunta sobre mysql In-Reply-To: <862591.93485.qm@web32001.mail.mud.yahoo.com> References: <862591.93485.qm@web32001.mail.mud.yahoo.com> Message-ID: El día 16 de mayo de 2008 4:23, punchik punchik escribió: > hola companeros, tengo dos pequenas dudas con respecto a mysql: > dentro de mi base de datos he creado una tabla llamada diccionario de la > siguiente manera. > > CREATE TABLE diccionario( > -> palabra VARCHAR(20), > -> descripccion VARCHAR(20); > > > VARCHAR solo me permite longitud entre 1 y 255 por lo cual si tengo una > descripcion demasiada larga me lo corta y solo aparece la primera parte. mi > pregunta seria: que tipo de variable tengo que definir para poder tener > descripciones bastante largas? > Hola. Para la tabla existen otras definiciones diferentes a la de VARCHAR, como son TYNITEXT, TEXT, MEDIUMTEXT y seguramente la que te puede servir si el texto es demasiado largo LONGTEXT. Te recomiendo un paseo por esta web http://www.mysql-hispano.org/ > > y mi segunda pregunta es: > he cargado dentro de mi tabla las palabras y descripciones que estan en > una archivo de texto usando el siguiente comando: > > LOAD DATA LOCAL INFILE "nosexridethelanguage.txt" INTO TABLE diccionario; > > este comando toma TAB o el espacio de tabulacion para crear la separacion > entre palabra y descripcion y toma el RETURN o ENTER para separar los > registros. > > como podria hacer para que no tome return o enter como separacion entre > registro ? > ya que tengo descripciones bastante largas me gustaria tener mi archivo de > texto ordenado, por lo cual me gustaria que no tome el return o enter como > separador de registro y que tome algun otro caracter, o numero: > alguien tiene idea de como podria hacer esto? > En cuánto a la segunda pregunta... te refieres al momento de cargar los datos desde el archivo o al hacerlo directamente desde python??? Bueno, cómo sea esto te puede servir: http://www.conclase.net/c/mysql/index.php?sen=LOAD_DATA > > > muchas gracias > > pun. > > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From josep en k-demar.org Fri May 16 19:08:46 2008 From: josep en k-demar.org (Josep) Date: Fri, 16 May 2008 19:08:46 +0200 Subject: ejecutar codigo python como root (a veces) Message-ID: <200805161908.46932.josep@k-demar.org> Tengo un pequeño problema que no sé cómo resolver, estoy haciendo una pequeña aplicación para configurar diversas cosas en un sistema debian, evidentemente con Python, quisiera poder hacer la aplicación que permita configurar diversos ficheros del usuario pero también, en algun momento, quisiera configurar algunos que necesitan permisos de root ahí es donde me pierdo me gustaria que mi código python pudiera acceder por ejemplo a leer y modificar las configuraciones de las x, o de la wifi o... lo que sea, evidentemente con permisos de administrador. Mi programa debería pedir la contraseña de root en cuanto se escogiera la opción que lo necesita y luego seguir trabajando... no sé si me explico bien, me gustaria no tener que pedir la contraseña de root al inicio de la aplicación sino sólo cuando fuera necesario.... ¿hay alguna manera de hacerlo? _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From markuz en islascruz.org Fri May 16 19:55:14 2008 From: markuz en islascruz.org (Marco Antonio Islas Cruz) Date: Fri, 16 May 2008 12:55:14 -0500 Subject: ejecutar codigo python como root (a veces) In-Reply-To: <200805161908.46932.josep@k-demar.org> References: <200805161908.46932.josep@k-demar.org> Message-ID: <1210960514.7576.5.camel@cucusa> Facil: Esos programitas que tienen que correr como root los puedes tener por separado, y simplemente valerte de "su" para ejecutarlos, si usas su root -c ./miprograma.py este correra como root, y obviamente, te preguntara el pass de root antes de poder hacer algo. Es a mi gusto la forma mas rapido de hacerlo. On Fri, 2008-05-16 at 19:08 +0200, Josep wrote: > Tengo un pequeño problema que no sé cómo resolver, > estoy haciendo una pequeña aplicación para configurar diversas cosas en un > sistema debian, > evidentemente con Python, > quisiera poder hacer la aplicación que permita configurar diversos ficheros > del usuario > pero también, en algun momento, quisiera configurar algunos que necesitan > permisos de root > ahí es donde me pierdo > me gustaria que mi código python pudiera acceder por ejemplo a leer y > modificar las configuraciones de las x, o de la wifi o... lo que sea, > evidentemente con permisos de administrador. > Mi programa debería pedir la contraseña de root en cuanto se escogiera la > opción que lo necesita y luego seguir trabajando... > no sé si me explico bien, > me gustaria no tener que pedir la contraseña de root al inicio de la > aplicación sino sólo cuando fuera necesario.... > ¿hay alguna manera de hacerlo? > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes -- <--Linux... Because I'm Free--> Marco Antonio Islas Cruz "Markuz" Linux User #280229 markuz en islascruz.org markuz en unixmexico.org markuz en linuxpozarica.com marco.islas en gmail.com islacruz en yahoo.com http://www.islascruz.org http://sourceforge.net/projects/gpkg/ http://www.linuxpozarica.com ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part URL: ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From minoztro en gmail.com Fri May 16 22:45:33 2008 From: minoztro en gmail.com (Milton Galo Patricio Inostroza Aguilera) Date: Fri, 16 May 2008 16:45:33 -0400 Subject: dudas frame.f_exc_* Message-ID: <172699c50805161345p718a71bauff78e1142a57baf0@mail.gmail.com> Estimados: Estoy tratando de sacar los valores de los siguientes atributos de frame: f_exc_type, f_exc_value, f_exc_traceback Pero siempre me encuentro con que están con el valor None, incluso cuando pongo un valor 1/0...que estoy haciendo mal?...según la documentación: f_exc_type, f_exc_value, f_exc_traceback, represent the last exception raised in the parent frame provided another exception was ever raised in the current frame y mi código de prueba es el siguiente: def algo(a,b,c): a = [2, 3, 4] print id(a) a.append(5) 1/0 algo(3,2,5) lo que quiero hacer es capturar la exception para poder registrarla de alguna forma..estoy utlizando settrace: def trace(frame, event, arg): code = frame.f_code if event == 'call': print code.co_name print frame.f_locals print frame.f_exc_value print frame.f_exc_traceback print frame.f_exc_value raw_input() return trace elif event == 'line': print frame.f_exc_value print frame.f_exc_traceback print frame.f_exc_value return trace elif event == 'return': print code.co_name print frame.f_exc_value print frame.f_exc_traceback print frame.f_exc_value print arg raw_input() el código completo está acá [1] [1] http://pastebin.com/m4ef02aad Estuve también viendo que curiosamente el nombre de la función que me muestra en su locals el error es el método apport_excepthook, pero pregunté y me dicen que este no es de la librería estandar....en settrace preguntando por este nombre de code {code.co_name}, puedo ver su locals extraer el traceback y saber en que línea de código python se produjo la caída y el índice del bytecode {esto salvo algunas excepciones que detallan en la documentación}....Como se puede hacer algo de forma más limpia, estandar y eficiente?.....apport_excepthook siempre contendrá en su locals el traceback y el detalle de la excepción? gracias por sus comentarios y ayudas, -- Milton Inostroza Aguilera ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From cdgarciaq en yahoo.com Sat May 17 00:13:07 2008 From: cdgarciaq en yahoo.com (Cesar Garcia) Date: Fri, 16 May 2008 15:13:07 -0700 (PDT) Subject: 42 Libros de Python con Ejemplos y mas Message-ID: <94450.50667.qm@web51702.mail.re2.yahoo.com> Hola Amigos !!! Bueno, ya lo subi al Utorrent, buscalo como 42 books python son 162 mb descargalo.. no te cobro nada Espero que les sirva Saludos   ________________________________   Atte.  César García      ________________________________   Atte.  César García    ________________________________ ----- Mensaje original ---- De: ramonsr Para: Lista de discusión sobre python en castellano Enviado: domingo, 4 de mayo, 2008 10:32:19 Asunto: Re: [Python-es] Saber si es un archivo de texto Hola: Soy principiante en python necesito docmuentacion si la tienes por favor enviamela . gacias :)) ----- Original Message ----- From: "kalith kalith" To: "Lista de discusión sobre python en castellano" Sent: Sunday, May 04, 2008 11:28 AM Subject: Re: [Python-es] Saber si es un archivo de texto :P una cosa es querer que el usuario final este comodo con el programa que use y otra es aceptar la realidad... me gusta que las cositas pequeño que desarrollo, pues a pesar de su sencilles trato de que las posibilidades de error sean las menos posible prevyendo lo q t digo que el usuario generlamente hace cosas q no debe... bueno en fin.. solucione el problema _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes -- Este mensaje ha sido analizado por MailScanner en busca de virus y otros contenidos peligrosos, y se considera que está limpio. ** Nodo Comunicaciones IPI Cienfuegos ** ** WebPage:http://www.ipicfg.rimed.cu ** -- Este mensaje ha sido analizado por MailScanner en busca de virus y otros contenidos peligrosos, y se considera que está limpio. ** Nodo Comunicaciones IPI Cienfuegos ** ** WebPage:http://www.ipicfg.rimed.cu ** _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From gagsl-py2 en yahoo.com.ar Sat May 17 01:34:35 2008 From: gagsl-py2 en yahoo.com.ar (Gabriel Genellina) Date: Fri, 16 May 2008 20:34:35 -0300 Subject: dudas frame.f_exc_* References: <172699c50805161345p718a71bauff78e1142a57baf0@mail.gmail.com> Message-ID: En Fri, 16 May 2008 17:45:33 -0300, Milton Galo Patricio Inostroza Aguilera escribió: > Estimados: > > Estoy tratando de sacar los valores de los siguientes atributos de > frame: > > f_exc_type, f_exc_value, f_exc_traceback > > > Pero siempre me encuentro con que están con el valor None, incluso > cuando pongo un valor 1/0...que estoy haciendo mal?...según la > documentación: > > f_exc_type, f_exc_value, f_exc_traceback, represent the last exception > raised in the parent frame provided another exception was ever raised > in the current frame > > y mi código de prueba es el siguiente: > > def algo(a,b,c): > a = [2, 3, 4] > print id(a) > a.append(5) > 1/0 > > algo(3,2,5) > > lo que quiero hacer es capturar la exception para poder registrarla de > alguna forma..estoy utlizando settrace: Si es solo para registrarla, podrias usar sys.except_hook, o un try/except genérico alrededor de todo tu programa: def main(argv): ... return 0 if __name__=='__main__': import sys try: sys.exit(main(sys.argv)) except SystemExit: pass except Exception,e: ...registrarla... Usar settrace pone muy lento el programa, pero si de verdad lo vas a usar, las excepciones generan el evento "exception" def trace(frame, event, arg): if event == 'exception': print '[trace]', event, frame.f_code.co_name, frame.f_lineno, arg return trace > Estuve también viendo que curiosamente el nombre de la función que me > muestra en su locals el error es el método apport_excepthook, pero > pregunté y me dicen que este no es de la librería estandar....en > settrace preguntando por este nombre de code {code.co_name}, puedo ver > su locals extraer el traceback y saber en que línea de código python > se produjo la caída y el índice del bytecode {esto salvo algunas > excepciones que detallan en la documentación}....Como se puede hacer > algo de forma más limpia, estandar y eficiente?.....apport_excepthook > siempre contendrá en su locals el traceback y el detalle de la > excepción? apport_excepthook muy probablemente es parte de apport https://wiki.ubuntu.com/Apport. La excepcion actual esta en sys.exc_info(), tambien son los argumentos a sys.excepthook, o la pudiste haber atrapado con un try/except, asi que extraer esa info desde las variables locales de una supuesta funcion de una libreria especifica de Ubuntu... no se, no me parece buena idea... -- Gabriel Genellina ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From invite+mxaswnea en facebookmail.com Sat May 17 16:19:12 2008 From: invite+mxaswnea en facebookmail.com (=?UTF-8?B?R2FicmllbCBHdWlsbGVybW8gR8OzbWV6IFB1ZW50ZXM=?=) Date: Sat, 17 May 2008 07:19:12 -0700 Subject: Chequea mi perfil en Facebook Message-ID: <8b214038c72422ba0f7a8d7d81200344@register.facebook.com> He creado un perfil en Facebook donde puedo publicar mis imágenes, vídeos y eventos, y quiero agregarte como amigo/a para que puedas verlo. Primero, necesitas registrarte en Facebook. Una vez registrado/a, puedes también crear tu propio perfil. Gracias, Gabriel Esta es la dirección: http://www.facebook.com/p.php?i=1108502068&k=ZXB5Z5U5466MYABIPJ36Q&r&v=2 ___________________ este correo puede contener material promocional. si no deseas recivir futuros correo comerciales de facebook, por favor haz click sobre el vinculo debajo. oficiales de facebook estan localizado a 156 University Ave., Palo Alto, CA 94301. http://www.facebook.com/o.php?u=636918330&k=d00e13 ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From tony.montana.v en gmail.com Sat May 17 16:29:30 2008 From: tony.montana.v en gmail.com (Martin Riggs) Date: Sat, 17 May 2008 16:29:30 +0200 Subject: Chequea mi perfil en Facebook In-Reply-To: <8b214038c72422ba0f7a8d7d81200344@register.facebook.com> References: <8b214038c72422ba0f7a8d7d81200344@register.facebook.com> Message-ID: <9e91ad7d0805170729p5559cc87o116bca87a4ea76b8@mail.gmail.com> Lo que faltaba, manda cojones. -- "More than just performance" Born to run UNIX _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From claudiophv en gmail.com Sat May 17 17:13:57 2008 From: claudiophv en gmail.com (Claudio Herrera) Date: Sat, 17 May 2008 12:13:57 -0300 Subject: Chequea mi perfil en Facebook In-Reply-To: <9e91ad7d0805170729p5559cc87o116bca87a4ea76b8@mail.gmail.com> References: <8b214038c72422ba0f7a8d7d81200344@register.facebook.com> <9e91ad7d0805170729p5559cc87o116bca87a4ea76b8@mail.gmail.com> Message-ID: <6ba30e020805170813v4a8cf776xcb7ba896472e56ba@mail.gmail.com> ¬¬ El día 17 de mayo de 2008 11:29, Martin Riggs escribió: > Lo que faltaba, manda cojones. > > -- > "More than just performance" > Born to run UNIX > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From kalith.9 en gmail.com Sat May 17 17:33:35 2008 From: kalith.9 en gmail.com (kalith kalith) Date: Sun, 18 May 2008 11:03:35 +1930 Subject: Ayuda con sockets Message-ID: <3da702830805170833r2f7e206bt687b946860c4b832@mail.gmail.com> Buenas... estoy probando con sockets y quiero mandar ciertos comandos del sistema al servidor.. pero no encuentro como hacerle vi varios codigos en otros lenguajes y la parte clave segun explican este en estos comandos en ruby $stdout.reopen(sock) $stdin.reopen(sock) en perl open(STDIN, ">&SOCKET"); open(STDOUT,">&SOCKET"); open(STDERR,">&SOCKET"); estaria agradecido -- Seamos realistas y hagamos lo imposible _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From minoztro en gmail.com Sat May 17 19:20:27 2008 From: minoztro en gmail.com (Milton Galo Patricio Inostroza Aguilera) Date: Sat, 17 May 2008 13:20:27 -0400 Subject: dudas frame.f_exc_* In-Reply-To: References: <172699c50805161345p718a71bauff78e1142a57baf0@mail.gmail.com> Message-ID: <172699c50805171020r52fd7b8eqd5297aeaed072ce2@mail.gmail.com> El día 16 de mayo de 2008 19:34, Gabriel Genellina escribió: > En Fri, 16 May 2008 17:45:33 -0300, Milton Galo Patricio Inostroza Aguilera > escribió: > >> Estimados: >> >> Estoy tratando de sacar los valores de los siguientes atributos de >> frame: >> >> f_exc_type, f_exc_value, f_exc_traceback >> >> >> Pero siempre me encuentro con que están con el valor None, incluso >> cuando pongo un valor 1/0...que estoy haciendo mal?...según la >> documentación: >> >> f_exc_type, f_exc_value, f_exc_traceback, represent the last exception >> raised in the parent frame provided another exception was ever raised >> in the current frame >> >> y mi código de prueba es el siguiente: >> >> def algo(a,b,c): >> a = [2, 3, 4] >> print id(a) >> a.append(5) >> 1/0 >> >> algo(3,2,5) >> >> lo que quiero hacer es capturar la exception para poder registrarla de >> alguna forma..estoy utlizando settrace: > > Si es solo para registrarla, podrias usar sys.except_hook, o un try/except > genérico alrededor de todo tu programa: > > def main(argv): > ... > return 0 > > if __name__=='__main__': > import sys > try: > sys.exit(main(sys.argv)) > except SystemExit: > pass > except Exception,e: > ...registrarla... > > Usar settrace pone muy lento el programa, pero si de verdad lo vas a usar, > las excepciones generan el evento "exception" > > def trace(frame, event, arg): > if event == 'exception': > print '[trace]', event, frame.f_code.co_name, frame.f_lineno, arg > return trace está es la que más me satisface...gracias!! > >> Estuve también viendo que curiosamente el nombre de la función que me >> muestra en su locals el error es el método apport_excepthook, pero >> pregunté y me dicen que este no es de la librería estandar....en >> settrace preguntando por este nombre de code {code.co_name}, puedo ver >> su locals extraer el traceback y saber en que línea de código python >> se produjo la caída y el índice del bytecode {esto salvo algunas >> excepciones que detallan en la documentación}....Como se puede hacer >> algo de forma más limpia, estandar y eficiente?.....apport_excepthook >> siempre contendrá en su locals el traceback y el detalle de la >> excepción? > > apport_excepthook muy probablemente es parte de apport > https://wiki.ubuntu.com/Apport. La excepcion actual esta en sys.exc_info(), > tambien son los argumentos a sys.excepthook, o la pudiste haber atrapado con > un try/except, asi que extraer esa info desde las variables locales de una > supuesta funcion de una libreria especifica de Ubuntu... no se, no me parece > buena idea... sip a mi tampoco, por eso estaba preguntando... :-) buen fin de semana > > -- > Gabriel Genellina > > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Milton Inostroza Aguilera ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From maengora en gmail.com Sun May 18 03:23:59 2008 From: maengora en gmail.com (=?ISO-8859-1?Q?Manuel_Enrique_Gonz=E1lez_Ram=EDrez?=) Date: Sat, 17 May 2008 20:23:59 -0500 Subject: Chequea mi perfil en Facebook In-Reply-To: <6ba30e020805170813v4a8cf776xcb7ba896472e56ba@mail.gmail.com> References: <8b214038c72422ba0f7a8d7d81200344@register.facebook.com> <9e91ad7d0805170729p5559cc87o116bca87a4ea76b8@mail.gmail.com> <6ba30e020805170813v4a8cf776xcb7ba896472e56ba@mail.gmail.com> Message-ID: Este tipo parece un comercial de mi pais (....está en el lugar equivocado) 2008/5/17 Claudio Herrera : > ¬¬ > > El día 17 de mayo de 2008 11:29, Martin Riggs > escribió: > > > Lo que faltaba, manda cojones. > > > > -- > > "More than just performance" > > Born to run UNIX > > _______________________________________________ > > Lista de correo Python-es > > http://listas.aditel.org/listinfo/python-es > > FAQ: http://listas.aditel.org/faqpyes > > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From claudiophv en gmail.com Sun May 18 04:07:29 2008 From: claudiophv en gmail.com (Claudio Herrera) Date: Sat, 17 May 2008 23:07:29 -0300 Subject: Chequea mi perfil en Facebook In-Reply-To: References: <8b214038c72422ba0f7a8d7d81200344@register.facebook.com> <9e91ad7d0805170729p5559cc87o116bca87a4ea76b8@mail.gmail.com> <6ba30e020805170813v4a8cf776xcb7ba896472e56ba@mail.gmail.com> Message-ID: <6ba30e020805171907l6966939codeeeea55314cccc3@mail.gmail.com> jajajaj por dios..! hagan algo... 2008/5/17 Manuel Enrique González Ramírez : > Este tipo parece un comercial de mi pais (....está en el lugar equivocado) > > 2008/5/17 Claudio Herrera : > > > ¬¬ > > > > El día 17 de mayo de 2008 11:29, Martin Riggs > > escribió: > > > > > Lo que faltaba, manda cojones. > > > > > > -- > > > "More than just performance" > > > Born to run UNIX > > > _______________________________________________ > > > Lista de correo Python-es > > > http://listas.aditel.org/listinfo/python-es > > > FAQ: http://listas.aditel.org/faqpyes > > > > > _______________________________________________ > > Lista de correo Python-es > > http://listas.aditel.org/listinfo/python-es > > FAQ: http://listas.aditel.org/faqpyes > > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From punchikk en yahoo.com Sun May 18 06:10:36 2008 From: punchikk en yahoo.com (punchik punchik) Date: Sat, 17 May 2008 21:10:36 -0700 (PDT) Subject: pregunta sobre palabra registro Message-ID: <467318.99031.qm@web32008.mail.mud.yahoo.com> hola amigos, les cuesto que logre hacer mi primera base de datos usando python , mysql y forms y todo funciona perfecto , solamente me ha quedado una pequena duda. Aqui les va: he usado algunos codigos que encontre en internet los cuales adapte a mis necesidades y me queda una duda con respecto a la palabra registro: En ningun lugar de mi codigo en python he declarado una variable registro, pero aun asi la palabra registro me imprime el registro, mi pregunta es : es esta una palabra clave de python? o quizas de la libreria mySQLdb? alguien podria decirme de donde viene esta palabra? y porque esta en espanol? de lo contrario tendra alguien algun link donde pueda informarme mas al respecto de esta palabra? muchas gracias pun _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From gagsl-py2 en yahoo.com.ar Sun May 18 07:26:10 2008 From: gagsl-py2 en yahoo.com.ar (Gabriel Genellina) Date: Sun, 18 May 2008 02:26:10 -0300 Subject: pregunta sobre palabra registro References: <467318.99031.qm@web32008.mail.mud.yahoo.com> Message-ID: En Sun, 18 May 2008 01:10:36 -0300, punchik punchik escribió: > he usado algunos codigos que encontre en internet los cuales adapte a mis necesidades y me queda una duda con respecto a la palabra registro: > En ningun lugar de mi codigo en python he declarado una variable registro, pero aun asi la palabra registro me imprime el registro, mi pregunta es : es esta una palabra clave de python? o quizas de la libreria mySQLdb? > alguien podria decirme de donde viene esta palabra? y porque esta en espanol? Lo unico que puedo decirte sin ver el codigo es que "registro" no es una palabra reservada de Python, ni hay ninguna magia que yo conozca que invente variables... Asi que en alguna parte de tu codigo debe estar. -- Gabriel Genellina ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From punchikk en yahoo.com Sun May 18 07:28:28 2008 From: punchikk en yahoo.com (punchik punchik) Date: Sat, 17 May 2008 22:28:28 -0700 (PDT) Subject: consejo sobre framework python Message-ID: <228924.93991.qm@web32007.mail.mud.yahoo.com> hola , estoy interesado en aprender algun framework de desarrollo web basado en python, buscando informacion al respecto encontre que existen mucho frameworks en python... estuve tambien mirando los mails de esta lista y vi que ya preguntaron algo parecido y que recomendaban ver este video para salir de dudas: http://oodt.jpl.nasa.gov/better-web-app.mov bueno el link parece que ya no funciona mas. Que framework de desarrollo web basado en python me recomendarian ? tengo poco tiempo en python y mysql . bueno muchas gracias. pun, _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From cloudneozero en gmail.com Sun May 18 07:45:21 2008 From: cloudneozero en gmail.com (Ark) Date: Sun, 18 May 2008 00:45:21 -0500 Subject: consejo sobre framework python In-Reply-To: <228924.93991.qm@web32007.mail.mud.yahoo.com> References: <228924.93991.qm@web32007.mail.mud.yahoo.com> Message-ID: <9dd22c9c0805172245k3e908900v2426c6dc9baa51da@mail.gmail.com> mmm, aunque no conozco mucho de desarrollo web, si he oido los comentarios de algunos amigos recomendando Django como framework de desarrollo web para python. http://en.wikipedia.org/wiki/Django_%28web_framework%29 Los comentarios que he escuchado son positivos, y he visto comparaciones entre Django y Ruby on Rails, es más, si buscas en YouTube, creo que Ruby on Rails Versus Django, verás a la interesante conclusión que llegan allí sobre los dos frameworks. Ark _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From punchikk en yahoo.com Sun May 18 08:01:29 2008 From: punchikk en yahoo.com (punchik punchik) Date: Sat, 17 May 2008 23:01:29 -0700 (PDT) Subject: consejo sobre framework python In-Reply-To: <9dd22c9c0805172245k3e908900v2426c6dc9baa51da@mail.gmail.com> References: <9dd22c9c0805172245k3e908900v2426c6dc9baa51da@mail.gmail.com> Message-ID: <245802.33103.qm@web32001.mail.mud.yahoo.com> gracias por la respuesta, a mi tambien me habian recomendado django antes, bueno buscando en you tube encontre esto: http://mx.youtube.com/watch?v=PLUS00QrYWw una comparacion entre ruby on rails y django , quizas es porque mi ingles no es muy bueno pero parece que los dos tienen caracteristicas similares . object relational mapping , dont repeat yourself y nbc, que no se que sera o quizas he oido mal.. jaja bueno empezare con django ahora mismo. gracias pun. Ark wrote: mmm, aunque no conozco mucho de desarrollo web, si he oido los comentarios de algunos amigos recomendando Django como framework de desarrollo web para python. http://en.wikipedia.org/wiki/Django_%28web_framework%29 Los comentarios que he escuchado son positivos, y he visto comparaciones entre Django y Ruby on Rails, es más, si buscas en YouTube, creo que Ruby on Rails Versus Django, verás a la interesante conclusión que llegan allí sobre los dos frameworks. Ark _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From punchikk en yahoo.com Sun May 18 08:16:46 2008 From: punchikk en yahoo.com (punchik punchik) Date: Sat, 17 May 2008 23:16:46 -0700 (PDT) Subject: consejo sobre framework python In-Reply-To: <520060.72703.qm@web32008.mail.mud.yahoo.com> References: <520060.72703.qm@web32008.mail.mud.yahoo.com> Message-ID: <402368.24397.qm@web32007.mail.mud.yahoo.com> disculpen otra vez la molestia, pero mirando las cosas que ofrece mi hosting veo que no ofrece django , pero si tiene ruby on rails, ademas no tengo acceso a shell en root como para instalar django yo mismo . Mi duda es : hay algun problema con esto? si hago una aplicacion web en django necesito que mi hosting tenga django como tiene ruby on rails para que funcione mi aplicacion desarrollada en django? aca estan las caracteristicas de mi hosting https://dreamhost.com/hosting.html bueno gracias pun. punchik punchik wrote: gracias por la respuesta, a mi tambien me habian recomendado django antes, bueno buscando en you tube encontre esto: http://mx.youtube.com/watch?v=PLUS00QrYWw una comparacion entre ruby on rails y django , quizas es porque mi ingles no es muy bueno pero parece que los dos tienen caracteristicas similares . object relational mapping , dont repeat yourself y nbc, que no se que sera o quizas he oido mal.. jaja bueno empezare con django ahora mismo. gracias pun. Ark wrote: mmm, aunque no conozco mucho de desarrollo web, si he oido los comentarios de algunos amigos recomendando Django como framework de desarrollo web para python. http://en.wikipedia.org/wiki/Django_%28web_framework%29 Los comentarios que he escuchado son positivos, y he visto comparaciones entre Django y Ruby on Rails, es más, si buscas en YouTube, creo que Ruby on Rails Versus Django, verás a la interesante conclusión que llegan allí sobre los dos frameworks. Ark _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From juatman_2000 en yahoo.es Sun May 18 11:20:11 2008 From: juatman_2000 en yahoo.es (Juanma Puertas) Date: Sun, 18 May 2008 02:20:11 -0700 (PDT) Subject: consejo sobre framework python Message-ID: <9969.23515.qm@web34801.mail.mud.yahoo.com> Hola. Parece que si no tienes acceso para instalar Django tú mismo, es mejor que busques un alojamiento que lo tenga, o un VPS (Servidor Privado Virtual) para poder instalar lo que necesites. En mi caso, pago 25 Euros el trimestre por un VPS en Axarnet, y la verdad es que dan un buen servicio técnico. Saludos. :-) pun escribió: (..) si hago una aplicacion web en django necesito que mi hosting tenga django como tiene ruby on rails para que funcione mi aplicacion desarrollada en django? ______________________________________________ Enviado desde Correo Yahoo! La bandeja de entrada más inteligente. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From rafaelcantos en hotmail.com Sun May 18 12:36:56 2008 From: rafaelcantos en hotmail.com (Rafael Cantos) Date: Sun, 18 May 2008 10:36:56 +0000 Subject: Crear paquete deb a partir de un programa en python Message-ID: Buenas otra vez. No sé si será esto out-topic, perono sé donde preguntarlo. ¿Cómo se crea un paquete deb a partir de una aplicación python? nunca he creado un paquete en debian, y no sé si hay algun tutorial que lo explique. Saludos. Rafa Rafael Cantos Villanueva Estudiante de Ingeniería Técnica en Informática de Gestión, universidad de Córdoba. http://www.rafaelcantos.es E-MAIL: rafaelcantos en hotmail.com _________________________________________________________________ MSN Video. http://video.msn.com/?mkt=es-es_______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From cgalisteo en k-rolus.net Sun May 18 13:53:12 2008 From: cgalisteo en k-rolus.net (Carlos Galisteo) Date: Sun, 18 May 2008 13:53:12 +0200 Subject: Crear paquete deb a partir de un programa en python In-Reply-To: References: Message-ID: <20080518115311.GA2579@Himawari> On Sun, May 18, 2008 at 10:36:56AM +0000, Rafael Cantos wrote: > ¿Cómo se crea un paquete deb a partir de una aplicación python? nunca he creado un paquete en debian, y no sé si hay algun tutorial que lo explique. No se si habrá algun tutorial específico de como empaquetar aplicaciones hechas en Python, pero tutoriales de empaquetado hay miles por la red. Lo único que tienes que tener en cuenta es que el fichero debian/rules es un MakeFile, donde tendras que hacer las acciones necesarias para cada target. Normalmente en todos los ejemplos que encuentres usarán autotools, y tendrás que remplazar todo eso por el procedimiento que utilice tu aplicacion (setup.py install p.ej.). Te aconsejaría que te bajaras los paquetes fuente de aplicaciones ya empaquetadas (apt-get source) y estudies como están hechos, si una vez que lo tengas más claro puedes preguntar aquí o en debian-devel-es en lists.debian.org. Un saludo. -- --- Carlos Galisteo Jabber_Id::cgalisteo en jabber.org PGP_key::http://k-rolus.net/~cgalisteo/cgalisteo.gpg Key_Fingerprint::F888 6FBA 9145 B5A2 C187 66D6 5B8C 027A 69AD BE65 --- _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From sergio en wikier.org Sun May 18 13:33:50 2008 From: sergio en wikier.org (Sergio =?ISO-8859-1?Q?Fern=E1ndez?=) Date: Sun, 18 May 2008 13:33:50 +0200 Subject: Crear paquete deb a partir de un programa en python In-Reply-To: References: Message-ID: <1211110431.2964.7.camel@localhost.localdomain> > ¿Cómo se crea un paquete deb a partir de una aplicación python? nunca > he creado un paquete en debian, y no sé si hay algun tutorial que lo > explique. Tienes mucha documentación, tanto general de como crear paquetes .deb [1], como cosas particulares para Python [2][3][4]. Un saludo, [1] http://tldp.org/HOWTO/html_single/Debian-Binary-Package-Building-HOWTO/ [2] http://www.debian.org/doc/packaging-manuals/python-policy/ch-module_packages.html [3] http://people.debian.org/~srivasta/manoj-policy/x513.html [4] http://python-modules.alioth.debian.org/python-central_howto.txt > > Saludos. > > Rafa > Rafael Cantos Villanueva Estudiante de Ingeniería Técnica en Informática de Gestión, universidad de Córdoba. http://www.rafaelcantos.es E-MAIL: rafaelcantos en hotmail.com > _________________________________________________________________ > MSN Video. > http://video.msn.com/?mkt=es-es_______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes -- __ ___ _ _ \ \ / (_) |_(_)___ _ _ \ \/\/ /| | / / / -_) '_| Sergio Fernández \_/\_/ |_|_\_\_\___|_| http://www.wikier.org/ ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From sergio en wikier.org Sun May 18 13:29:05 2008 From: sergio en wikier.org (Sergio =?ISO-8859-1?Q?Fern=E1ndez?=) Date: Sun, 18 May 2008 13:29:05 +0200 Subject: consejo sobre framework python In-Reply-To: <402368.24397.qm@web32007.mail.mud.yahoo.com> References: <402368.24397.qm@web32007.mail.mud.yahoo.com> Message-ID: <1211110145.2964.2.camel@localhost.localdomain> Hola, > disculpen otra vez la molestia, pero mirando las cosas que ofrece mi > hosting veo que no ofrece django , pero si tiene ruby on rails, > ademas no tengo acceso a shell en root como para instalar django yo > mismo En Dreamhost tienes soporte para Python, así que puedes correr una instancia de Django. Ahora bien, tal como tienen documentado [1], hay gente que ha tenido algunos problemas (CPU, etc), así que yo me plantearia otro hosting. Un saludo, [1] http://wiki.dreamhost.com/index.php/Django -- __ ___ _ _ \ \ / (_) |_(_)___ _ _ \ \/\/ /| | / / / -_) '_| Sergio Fernández \_/\_/ |_|_\_\_\___|_| http://www.wikier.org/ ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From kalith.9 en gmail.com Sun May 18 16:35:22 2008 From: kalith.9 en gmail.com (kalith kalith) Date: Mon, 19 May 2008 10:05:22 +1930 Subject: Pasar shell por socket Message-ID: <3da702830805180735v1bfa6a65s5e881669378f2568@mail.gmail.com> Buenas.. hace unos dias escribi sobre problemas con sockets bueno aun sigo teniendolos la verdad.. deseo hacer una aplicacion q me permita controlar mi desktop desde mi laptop... y lo deseo hacer desde una shell (no me vallan a hablar de vcn ni ssh) simplemente quiero hacerla para aprender y de paso que me sea de utilidad.. el hecho es que puedo pasar cualquier comando de sistema ejemplo import a a = os.system('date') s.send((a)) pero me gustaria poder pasar la shell completa poder hacer esto s.send((os.system('bash'))) pero la verdad que no permite hacerlo.. estuve buscando info y me decia q con unos comandos stdin y stdout se podia hacer.. alguien me podria ayudar gracias =) -- Seamos realistas y hagamos lo imposible _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From gagsl-py2 en yahoo.com.ar Sun May 18 17:44:43 2008 From: gagsl-py2 en yahoo.com.ar (Gabriel Genellina) Date: Sun, 18 May 2008 12:44:43 -0300 Subject: Pasar shell por socket References: <3da702830805180735v1bfa6a65s5e881669378f2568@mail.gmail.com> Message-ID: En Sun, 18 May 2008 11:35:22 -0300, kalith kalith escribió: > Buenas.. hace unos dias escribi sobre problemas con sockets bueno aun sigo > teniendolos la verdad.. deseo hacer una aplicacion q me permita controlar mi > desktop desde mi laptop... y lo deseo hacer desde una shell (no me vallan a > hablar de vcn ni ssh) simplemente quiero hacerla para aprender y de paso que > me sea de utilidad.. el hecho es que puedo pasar cualquier comando de > sistema ejemplo > import a > a = os.system('date') > > s.send((a)) > > pero me gustaria poder pasar la shell completa poder hacer esto > > s.send((os.system('bash'))) pero la verdad que no permite hacerlo.. estuve > buscando info y me decia q con unos comandos stdin y stdout se podia hacer.. > alguien me podria ayudar gracias =) Podrías basarte en el ejemplo "echo" del modulo socket; pero el server, en lugar de copiar lo mismo que recibe, deberia ejecutarlo como un comando (usando subprocess) y enviar su salida como respuesta. El cliente no hace falta escribirlo, puede ser telnet. -- Gabriel Genellina ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From kalith.9 en gmail.com Sun May 18 18:29:16 2008 From: kalith.9 en gmail.com (kalith kalith) Date: Mon, 19 May 2008 11:59:16 +1930 Subject: Delivery Status Notification (Failure) In-Reply-To: <001636e9100fbf2b31044d83bb1f@googlemail.com> References: <001636e9100fbf2b31044d83bb1f@googlemail.com> Message-ID: <3da702830805180929o1ffc2475m3d08b92930e35500@mail.gmail.com> Estuve buscando sobre echo y no halle nada http://www.python.org/doc/current/lib/module-socket.html mmm lo que quiero hacer es lo siguiente.. tener en mi laptop un puerto a la escucha ejemplo el 9000... y q desde mi dekstop corra el script con mi ip y el puerto y entonces en mi laptop se sirva una shell de mi desktop... creo q se llama shell inversa o algo asi estuve viendo una en perl... miren lo q tngo #!/usr/bin/env python import socket, commands s0cket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) try: s0cket.connect(('127.0.0.1', 9000)) except: print "No se pudo establecer la conexion" s0cket.send((commands.getoutput('date'))) pos logro que corriendo ese script en mi desktop y sustituyendo 127.0.0.1por la direccion ip de mi laptop y teniendo en mi laptop con una genial herramienta q encontre hace dos dias llamada netcat el puerto en escucha (nv -lvvp 9000) me mande la hora y fecha de mi desktop a mi laptop.. todo bien pero lo q quiero es q me mande una shell para controlar mi desktop desde mi laptop pero de esa forma, de manera inversa.. -- Seamos realistas y hagamos lo imposible _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From gagsl-py2 en yahoo.com.ar Sun May 18 18:52:05 2008 From: gagsl-py2 en yahoo.com.ar (Gabriel Genellina) Date: Sun, 18 May 2008 13:52:05 -0300 Subject: Delivery Status Notification (Failure) References: <001636e9100fbf2b31044d83bb1f@googlemail.com> <3da702830805180929o1ffc2475m3d08b92930e35500@mail.gmail.com> Message-ID: En Sun, 18 May 2008 13:29:16 -0300, kalith kalith escribió: > Estuve buscando sobre echo y no halle nada > http://www.python.org/doc/current/lib/module-socket.html Yo hablaba de este ejemplo: http://docs.python.org/lib/socket-example.html Aca mando una version que ejecuta comandos. La diferencia es que para leer uso makefile() (porque es mucho mas sencillo, sino, habria que ir leyendo y acumulando lo que viene hasta que llega una linea completa...) Y en lugar de responder con lo mismo que recibe, la ejecuta y manda la respuesta en su lugar. import sys import socket from subprocess import Popen, PIPE, STDOUT PORT = 50007 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.bind(('', PORT)) print "escuchando en", PORT s.listen(1) conn, addr = s.accept() print "conexion:", addr f = conn.makefile() while 1: conn.sendall("py$") line = f.readline() if not line: break p = Popen(line, shell=True, stdout=PIPE, stderr=STDOUT) resp = p.communicate()[0] conn.sendall(resp) conn.close() -- Gabriel Genellina ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From kalith.9 en gmail.com Sun May 18 19:09:02 2008 From: kalith.9 en gmail.com (kalith kalith) Date: Mon, 19 May 2008 12:39:02 +1930 Subject: Delivery Status Notification (Failure) In-Reply-To: References: <001636e9100fbf2b31044d83bb1f@googlemail.com> <3da702830805180929o1ffc2475m3d08b92930e35500@mail.gmail.com> Message-ID: <3da702830805181009h1e0ca93coa48e6fe32aea6cfa@mail.gmail.com> algo asi vi en el ejemplo de perl q encontre... mmm ahora pregunto se puede poner la shell me refiero a bash en un comando y hacerlo q mande sin necesidad de usar tanta cosa... mira este script q encontre esta en ruby.. es exactamente lo q quiero hacer require 'socket' sock=nil until sock begin sock=TCPSocket.new('127.0.0.1', 9000) rescue Errno::ECONNREFUSED end end sock.print("Sistema de control cacero\n") $stdout.reopen(sock) $stdin.reopen(sock) sock.print("Administra tus PC desde tus laptos") while sock system('/bin/sh') end -- Seamos realistas y hagamos lo imposible _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From gagsl-py2 en yahoo.com.ar Sun May 18 19:25:41 2008 From: gagsl-py2 en yahoo.com.ar (Gabriel Genellina) Date: Sun, 18 May 2008 14:25:41 -0300 Subject: Delivery Status Notification (Failure) References: <001636e9100fbf2b31044d83bb1f@googlemail.com> <3da702830805180929o1ffc2475m3d08b92930e35500@mail.gmail.com> <3da702830805181009h1e0ca93coa48e6fe32aea6cfa@mail.gmail.com> Message-ID: En Sun, 18 May 2008 14:09:02 -0300, kalith kalith escribió: > algo asi vi en el ejemplo de perl q encontre... mmm ahora pregunto se puede > poner la shell me refiero a bash en un comando y hacerlo q mande sin > necesidad de usar tanta cosa... mira este script q encontre esta en ruby.. > es exactamente lo q quiero hacer Ah, pense que dijiste que querias aprender. $stdout.reopen(sock) en Python sería os.dup2(sock.fileno(), sys.stdout.fileno()) -- Gabriel Genellina ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From kalith.9 en gmail.com Sun May 18 19:50:23 2008 From: kalith.9 en gmail.com (kalith kalith) Date: Mon, 19 May 2008 13:20:23 +1930 Subject: Delivery Status Notification (Failure) In-Reply-To: References: <001636e9100fbf2b31044d83bb1f@googlemail.com> <3da702830805180929o1ffc2475m3d08b92930e35500@mail.gmail.com> <3da702830805181009h1e0ca93coa48e6fe32aea6cfa@mail.gmail.com> Message-ID: <3da702830805181050j785094br10b1b900087e8129@mail.gmail.com> si quiero aprender.. pero es dificil cuando no t salen las cosas se q es algo sencillo seria molestia si t pidiera algo de doc sobre el comando q me pasast es q no entiendo bn lo q hace -- Seamos realistas y hagamos lo imposible _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From shakaran en gmail.com Mon May 19 10:03:35 2008 From: shakaran en gmail.com (=?ISO-8859-1?Q?=C1ngel_Guzm=E1n_Maeso?=) Date: Mon, 19 May 2008 10:03:35 +0200 Subject: =?iso-8859-1?q?=5BPyGtk=5D_Splash_para_aplicaci=F3n?= Message-ID: <82b2af8e0805190103s37eba1e3k8f43b39eeeee716c@mail.gmail.com> Hola, estoy empezando con python y estoy asombrado con su potencial. Estoy tratando de hacer una aplicación ayudándome de PyGtk y necesito que tenga un splash. Googleando he encontrado muy poca información al respecto, solo un par de blogs que explicaban muy por encima con wxwidget y con Gtk puro. Con las lineas de Gtk me he peleado y he conseguido hacer algo como lo siguiente: --- #!/usr/bin/env python # -*- coding: utf-8 -*- import pygtk pygtk.require('2.0') import gtk import gobject class Splash: def start(self): print "Creando SPLASH..." self.v=gtk.Window(gtk.WINDOW_TOPLEVEL) self.v.set_position(gtk.WIN_POS_CENTER) self.v.set_modal(True) self.v.set_size_request(150,100) self.v.set_title('MiAplicación') self.v.AppPaintable=True image = gtk.Image() image.set_from_file("logo.gif") box=gtk.VBox() box.pack_start(image,False,False, 0) self.v.add(box) image.show() box.show() label = gtk.Label("MiAplicación 0.0.0.1") box.pack_start(label,True,False, 0) label.show() self.v.show() self.timeout=gobject.timeout_add(5000, self.AutoClose) #MiAplicacion() #self.AutoClose() def AutoClose(self): self.v.destroy() return False class MiAplicacion: def __init__(self): window = gtk.Window(gtk.WINDOW_TOPLEVEL) # Muchas operaciones # Carga de BD # Carga de interfaces # etc # Para simularlo, nada como un gran bucle de 10 millones print "Empezando bucle" i=1 while i<10000000: i=i+1 print "Bucle terminado" window.show() def main(): gtk.main() if __name__ == "__main__": print "Cargando GUI ..." s=Splash().start() print "Cargando aplicación" Miaplicacion() main() --- El problema es que el splash se lanza, pero solo cuando se ha cargado todo el proceso de la aplicación, por lo tanto, no hace su principal objetivo, que es permanecer hasta que la aplicación se cargue. En el código he probado a lanzar la clase de la aplicación desde dentro del splash y que se cerrara con un timeout o cuando la clase de la aplicación se terminara de cargar. Debe estar fallando algo muy simple pero no lo veo. Tampoco tengo referencias de ninguna aplicación de código libre que este programada con PyGtk y use un Splash, por lo que no he podido mirar nada y aprender de ella. Otro problema que tengo, es que no se como quitar las demás partes de la ventana (titulo, y botones de maximizar, minimizar y cerrar) de la ventana del splash. Cualquier comentario es bienvenido. Saludos. -- Shakaran Mi juego de rol online: www.apogeus.es _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From gagsl-py2 en yahoo.com.ar Mon May 19 10:08:48 2008 From: gagsl-py2 en yahoo.com.ar (Gabriel Genellina) Date: Mon, 19 May 2008 05:08:48 -0300 Subject: Delivery Status Notification (Failure) References: <001636e9100fbf2b31044d83bb1f@googlemail.com> <3da702830805180929o1ffc2475m3d08b92930e35500@mail.gmail.com> <3da702830805181009h1e0ca93coa48e6fe32aea6cfa@mail.gmail.com> <3da702830805181050j785094br10b1b900087e8129@mail.gmail.com> Message-ID: En Sun, 18 May 2008 14:50:23 -0300, kalith kalith escribió: > si quiero aprender.. pero es dificil cuando no t salen las cosas se q es > algo sencillo seria molestia si t pidiera algo de doc sobre el comando q me > pasast es q no entiendo bn lo q hace os.dup2(descriptor_nuevo, descriptor_destino) trabaja con descriptores de archivo al nivel del sistema operativo (no objetos `file` de Python). Reemplaza el descriptor_destino con el descriptor_nuevo (y si el destino estuviera abierto, primero lo cierra) de manera que tanto descriptor_destino como descriptor_nuevo referencian al mismo archivo Para obtener el descriptor de archivo de un objeto `file`, se usa el metodo fileno() Entonces esta linea: os.dup2(sock.fileno(), sys.stdout.fileno()) significa que sys.stdout va a escribir directamente en el socket `sock`. Haciendo algo parecido para sys.stdin y sys.stderr, redirigimos las entradas y salidas del proceso para que apunten a ese socket. Y como esa es una caracteristica que heredan los procesos hijos, si despues ejecutamos un shell como subproceso, el shell va a leer los comandos desde el socket y escribir su salida tambien ahi. Pero hay poco y nada de Python en toda esta magia - es cosa del S.O. en realidad. -- Gabriel Genellina ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From yourpadre en gmail.com Mon May 19 16:45:29 2008 From: yourpadre en gmail.com (Miguel Beltran R.) Date: Mon, 19 May 2008 09:45:29 -0500 Subject: consejo sobre framework python In-Reply-To: <228924.93991.qm@web32007.mail.mud.yahoo.com> References: <228924.93991.qm@web32007.mail.mud.yahoo.com> Message-ID: ftp://ftp.celestial.com/tmp/better-web-app.mov El día 18 de mayo de 2008 0:28, punchik punchik escribió: > hola , estoy interesado en aprender algun framework de desarrollo web basado en python, buscando informacion al respecto encontre que existen mucho frameworks en python... estuve tambien mirando los mails de esta lista y vi que ya preguntaron algo parecido y que recomendaban ver este video para salir de dudas: > > http://oodt.jpl.nasa.gov/better-web-app.mov > > bueno el link parece que ya no funciona mas. > > Que framework de desarrollo web basado en python me recomendarian ? tengo poco tiempo en python y mysql . bueno muchas gracias. > > pun, > > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- ________________________________________ Lo bueno de vivir un dia mas es saber que nos queda un dia menos de vida _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From yourpadre en gmail.com Mon May 19 17:04:42 2008 From: yourpadre en gmail.com (Miguel Beltran R.) Date: Mon, 19 May 2008 10:04:42 -0500 Subject: =?ISO-8859-1?Q?Re:__[PyGtk]_Splash_para_aplicaci=F3n?= In-Reply-To: <82b2af8e0805190103s37eba1e3k8f43b39eeeee716c@mail.gmail.com> References: <82b2af8e0805190103s37eba1e3k8f43b39eeeee716c@mail.gmail.com> Message-ID: no estoy seguro, pero me imagino que lo que necesitas es meter el spash en un Thread El día 19 de mayo de 2008 3:03, Ángel Guzmán Maeso escribió: > Hola, estoy empezando con python y estoy asombrado con su potencial. > > Estoy tratando de hacer una aplicación ayudándome de PyGtk y necesito que > tenga un splash. Googleando he encontrado muy poca información al respecto, > solo un par de blogs que explicaban muy por encima con wxwidget y con Gtk > puro. > > Con las lineas de Gtk me he peleado y he conseguido hacer algo como lo > siguiente: > > --- > > #!/usr/bin/env python > # -*- coding: utf-8 -*- > > import pygtk > pygtk.require('2.0') > import gtk > import gobject > > class Splash: > def start(self): > print "Creando SPLASH..." > self.v=gtk.Window(gtk.WINDOW_TOPLEVEL) > self.v.set_position(gtk.WIN_POS_CENTER) > self.v.set_modal(True) > self.v.set_size_request(150,100) > self.v.set_title('MiAplicación') > self.v.AppPaintable=True > > image = gtk.Image() > image.set_from_file("logo.gif") > > box=gtk.VBox() > box.pack_start(image,False,False, 0) > self.v.add(box) > image.show() > box.show() > > label = gtk.Label("MiAplicación 0.0.0.1") > box.pack_start(label,True,False, 0) > label.show() > > self.v.show() > self.timeout=gobject.timeout_add(5000, self.AutoClose) > > #MiAplicacion() > #self.AutoClose() > > def AutoClose(self): > self.v.destroy() > return False > > class MiAplicacion: > > def __init__(self): > window = gtk.Window(gtk.WINDOW_TOPLEVEL) > > # Muchas operaciones > # Carga de BD > # Carga de interfaces > # etc > # Para simularlo, nada como un gran bucle de 10 millones > print "Empezando bucle" > i=1 > while i<10000000: > i=i+1 > > print "Bucle terminado" > window.show() > > > > def main(): > gtk.main() > > > if __name__ == "__main__": > print "Cargando GUI ..." > s=Splash().start() > print "Cargando aplicación" > Miaplicacion() > main() > > --- > > El problema es que el splash se lanza, pero solo cuando se ha cargado todo > el proceso de la aplicación, por lo tanto, no > hace su principal objetivo, que es permanecer hasta que la aplicación se > cargue. > En el código he probado a lanzar la clase de la aplicación desde dentro del > splash y que se cerrara con un timeout o > cuando la clase de la aplicación se terminara de cargar. > > Debe estar fallando algo muy simple pero no lo veo. Tampoco tengo > referencias de ninguna aplicación de código libre > que este programada con PyGtk y use un Splash, por lo que no he podido mirar > nada y aprender de ella. > > Otro problema que tengo, es que no se como quitar las demás partes de la > ventana (titulo, y botones de maximizar, minimizar y cerrar) de > la ventana del splash. > > Cualquier comentario es bienvenido. > > Saludos. > > > -- > Shakaran > Mi juego de rol online: www.apogeus.es > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- ________________________________________ Lo bueno de vivir un dia mas es saber que nos queda un dia menos de vida _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From yassergs en ispejv.rimed.cu Mon May 19 11:24:26 2008 From: yassergs en ispejv.rimed.cu (Yasser Gonzalez Soto) Date: Mon, 19 May 2008 11:24:26 +0200 Subject: pygame Message-ID: <00c601c8b992$220054f0$ce03010a@l2pc1> Alguien de ustedes usa Pygame? -- Este mensaje ha sido analizado por MailScanner en busca de virus y otros contenidos peligrosos, y se considera que está limpio. For all your IT requirements visit: http://www.transtec.co.uk _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From cgalisteo en k-rolus.net Mon May 19 17:40:18 2008 From: cgalisteo en k-rolus.net (Carlos) Date: Mon, 19 May 2008 17:40:18 +0200 Subject: pygame In-Reply-To: <00c601c8b992$220054f0$ce03010a@l2pc1> References: <00c601c8b992$220054f0$ce03010a@l2pc1> Message-ID: On Mon, May 19, 2008 at 11:24 AM, Yasser Gonzalez Soto wrote: > Alguien de ustedes usa Pygame? No, pero aquí te dejo un enlace que te puede ser de ayuda: http://www.sindominio.net/ayuda/preguntas-inteligentes.html -- --- Carlos Galisteo http://blog.k-rolus.net PGP_key::http://k-rolus.net/~cgalisteo/cgalisteo.gpg Key_Fingerprint::F888 6FBA 9145 B5A2 C187 66D6 5B8C 027A 69AD BE65 --- ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From dani en danigm.net Mon May 19 17:53:44 2008 From: dani en danigm.net (Daniel Garcia Moreno) Date: Mon, 19 May 2008 17:53:44 +0200 Subject: pygame In-Reply-To: <00c601c8b992$220054f0$ce03010a@l2pc1> References: <00c601c8b992$220054f0$ce03010a@l2pc1> Message-ID: <1211212424.5641.0.camel@localhost.localdomain> El lun, 19-05-2008 a las 11:24 +0200, Yasser Gonzalez Soto escribió: > Alguien de ustedes usa Pygame? yo ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 197 bytes Desc: Esta parte del mensaje está firmada digitalmente URL: ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From mobile en ibinsa.com Mon May 19 20:11:51 2008 From: mobile en ibinsa.com (Gabriel Ibanez) Date: Mon, 19 May 2008 20:11:51 +0200 Subject: ayuda con modulo urllib References: Message-ID: <010f01c8b9db$d0644df0$0a01a8c0@mobile> Holas, Te falta el http saludos -Gabriel- ----- Original Message ----- From: "Roylan Suarez Reyes" To: "La lista de python en castellano" Sent: Tuesday, May 06, 2008 11:50 PM Subject: [Python-es] ayuda con modulo urllib Hola colegas Estoy haciendo algunas pruebas por aca y tengo el siguiente problema >>> import urllib >>> sock = urllib.urlopen("www.vn.pri.jovenclub.cu") Traceback (most recent call last): File "", line 1, in ? File "/usr/lib/python2.4/urllib.py", line 82, in urlopen return opener.open(url) File "/usr/lib/python2.4/urllib.py", line 190, in open return getattr(self, name)(url) File "/usr/lib/python2.4/urllib.py", line 313, in open_http h.endheaders() File "/usr/lib/python2.4/httplib.py", line 798, in endheaders self._send_output() File "/usr/lib/python2.4/httplib.py", line 679, in _send_output self.send(msg) File "/usr/lib/python2.4/httplib.py", line 646, in send self.connect() File "/usr/lib/python2.4/httplib.py", line 614, in connect socket.SOCK_STREAM): IOError: [Errno socket error] (-2, 'Name or service not known') alguien me puede dar una sugerencia? -- -- Roylan Suarez Reyes Admin. Redes JC. Vinales roylan04012 en pri.jovenclub.cu Telef: 793210 -------------------------------------------------------------------------------- _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From kalith.9 en gmail.com Mon May 19 20:13:47 2008 From: kalith.9 en gmail.com (kalith kalith) Date: Tue, 20 May 2008 13:43:47 +1930 Subject: Delivery Status Notification (Failure) In-Reply-To: References: <001636e9100fbf2b31044d83bb1f@googlemail.com> <3da702830805180929o1ffc2475m3d08b92930e35500@mail.gmail.com> <3da702830805181009h1e0ca93coa48e6fe32aea6cfa@mail.gmail.com> <3da702830805181050j785094br10b1b900087e8129@mail.gmail.com> Message-ID: <3da702830805191113m4b9b88e4h60f355554ce96429@mail.gmail.com> la verdad que todavia no la hago funcionar.. aca dejo el code no se que hago mal.. #!/usr/bin/env python import socket, os, sys s0cket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) try: s0cket.connect(('127.0.0.1', 9000)) except: print "No se pudo establecer la conexion" Mensaje = "Sistema de control casero" s0cket.send((Mensaje)) os.dup2(s0cket.fileno(), sys.stdout.fileno()) while 1: os.system('/bin/sh') -- Seamos realistas y hagamos lo imposible _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From mobile en ibinsa.com Mon May 19 20:15:16 2008 From: mobile en ibinsa.com (Gabriel Ibanez) Date: Mon, 19 May 2008 20:15:16 +0200 Subject: pygame References: <00c601c8b992$220054f0$ce03010a@l2pc1> Message-ID: <034201c8b9dc$4a5cf990$0a01a8c0@mobile> Prefiero Pyglet. ----- Original Message ----- From: "Yasser Gonzalez Soto" To: Sent: Monday, May 19, 2008 11:24 AM Subject: [Python-es] pygame Alguien de ustedes usa Pygame? -- Este mensaje ha sido analizado por MailScanner en busca de virus y otros contenidos peligrosos, y se considera que está limpio. For all your IT requirements visit: http://www.transtec.co.uk _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From mlacunza en gmail.com Mon May 19 20:18:56 2008 From: mlacunza en gmail.com (Mario Lacunza) Date: Mon, 19 May 2008 13:18:56 -0500 Subject: pygame In-Reply-To: References: <00c601c8b992$220054f0$ce03010a@l2pc1> Message-ID: <771741b20805191118w139125f9v2ba1f396cfe9a4a@mail.gmail.com> El día 19 de mayo de 2008 10:40, Carlos escribió: > On Mon, May 19, 2008 at 11:24 AM, Yasser Gonzalez Soto > wrote: > > Alguien de ustedes usa Pygame? > > No, pero aquí te dejo un enlace que te puede ser de ayuda: > > http://www.sindominio.net/ayuda/preguntas-inteligentes.html > > Mas bien deberias leerlo tu.... q yo sepa no esta preguntando nada fuera de lo comun.... tal vez lo ideal seria q le recomendaras buscar la lista de Pygame o algo util no ese link.. como decimos aca: "la vaca se olvida cuando fue ternera??" -- Saludos / Best regards Mario Lacunza Consultor de Sistemas - Webmaster Email: mlacunza [AT] gmail [DOT] com Lima - Peru _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pych3m4 en gmail.com Mon May 19 20:25:17 2008 From: pych3m4 en gmail.com (Chema Cortes) Date: Mon, 19 May 2008 20:25:17 +0200 Subject: ayuda con modulo urllib In-Reply-To: References: <48211421.2000504@gmail.com> Message-ID: <2c9fb0dd0805191125m463680a5n899752133438a04e@mail.gmail.com> El día 7 de mayo de 2008 13:44, Roylan Suarez Reyes escribió: > On Tue, 06 May 2008 21:29:53 -0500, Reynaldo wrote: >> Roylan Suarez Reyes escribió: >>>>>> import urllib >>>>>> sock = urllib.urlopen("www.vn.pri.jovenclub.cu") >>>>>> >>> >>> Traceback (most recent call last): >>> File "", line 1, in ? >>> File "/usr/lib/python2.4/urllib.py", line 82, in urlopen >>> return opener.open(url) >>> File "/usr/lib/python2.4/urllib.py", line 190, in open >>> return getattr(self, name)(url) >>> File "/usr/lib/python2.4/urllib.py", line 313, in open_http >>> h.endheaders() >>> File "/usr/lib/python2.4/httplib.py", line 798, in endheaders >>> self._send_output() >>> File "/usr/lib/python2.4/httplib.py", line 679, in _send_output >>> self.send(msg) >>> File "/usr/lib/python2.4/httplib.py", line 646, in send >>> self.connect() >>> File "/usr/lib/python2.4/httplib.py", line 614, in connect >>> socket.SOCK_STREAM): >>> IOError: [Errno socket error] (-2, 'Name or service not known') >>> >>> >>> alguien me puede dar una sugerencia? >>> >> falla porque no puede establece conexión con la url, por eso el nombre o >> servicio desconocido. prueba hacer ping a la url > > Hola > > administrador en pc3:~$ ping www.vn.pri.jovenclub.cu > PING mx1.vn.pri.jovenclub.cu (172.16.7.11) 56(84) bytes of data. > 64 bytes from mx1.vn.pri.jovenclub.cu (172.16.7.11): icmp_seq=1 ttl=64 time=0.12 7 ms > 64 bytes from mx1.vn.pri.jovenclub.cu (172.16.7.11): icmp_seq=2 ttl=64 time=0.13 0 ms > > la url esta en el server de mi red... ¿No es algo raro que hagas ping a www.* y devuelva como nombre mx1.*? (O sea, preguntas por un servidor web y te devuelve el nombre de un servidor de correo). Trata de probar con la ip, con el http:// delante. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From gagsl-py2 en yahoo.com.ar Mon May 19 20:27:35 2008 From: gagsl-py2 en yahoo.com.ar (Gabriel Genellina) Date: Mon, 19 May 2008 15:27:35 -0300 Subject: Delivery Status Notification (Failure) References: <001636e9100fbf2b31044d83bb1f@googlemail.com> <3da702830805180929o1ffc2475m3d08b92930e35500@mail.gmail.com> <3da702830805181009h1e0ca93coa48e6fe32aea6cfa@mail.gmail.com> <3da702830805181050j785094br10b1b900087e8129@mail.gmail.com> <3da702830805191113m4b9b88e4h60f355554ce96429@mail.gmail.com> Message-ID: En Mon, 19 May 2008 15:13:47 -0300, kalith kalith escribió: > la verdad que todavia no la hago funcionar.. aca dejo el code no se que > hago > mal.. > #!/usr/bin/env python > > import socket, os, sys > > s0cket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) (Perdón pero el nombre s0cket es *ho*rri*ble* !) > try: > s0cket.connect(('127.0.0.1', 9000)) > except: > print "No se pudo establecer la conexion" Este es el servidor o el cliente? El servidor no llama a connect, sino bind + listen + accept. El ejemplo "echo" es casi lo mínimo-mínimo que debe tener un servidor. > Mensaje = "Sistema de control casero" > > s0cket.send((Mensaje)) Usa sendall en lugar de send; send no garantiza que se envíe todo el texto. > os.dup2(s0cket.fileno(), sys.stdout.fileno()) Hay que hacer lo mismo para stdin y stderr. > while 1: > os.system('/bin/sh') -- Gabriel Genellina ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From kalith.9 en gmail.com Mon May 19 21:38:27 2008 From: kalith.9 en gmail.com (kalith kalith) Date: Tue, 20 May 2008 15:08:27 +1930 Subject: Delivery Status Notification (Failure) In-Reply-To: References: <001636e9100fbf2b31044d83bb1f@googlemail.com> <3da702830805180929o1ffc2475m3d08b92930e35500@mail.gmail.com> <3da702830805181009h1e0ca93coa48e6fe32aea6cfa@mail.gmail.com> <3da702830805181050j785094br10b1b900087e8129@mail.gmail.com> <3da702830805191113m4b9b88e4h60f355554ce96429@mail.gmail.com> Message-ID: <3da702830805191238t2e6515d2ke558cff25b7e2fa5@mail.gmail.com> el code q puse es en dado caso el cliente porq pues es una conexion inversa quiero q mi desktop se conecte a mi laptop pero q en la laptop se sirva la shell... mm disculpa se q a lo mejor ya estaras cansado pero sigo sin entender lo de os.dup2(s0cket.fileno(), sys.stdout.fileno()) -- Seamos realistas y hagamos lo imposible _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From gagsl-py2 en yahoo.com.ar Mon May 19 22:07:28 2008 From: gagsl-py2 en yahoo.com.ar (Gabriel Genellina) Date: Mon, 19 May 2008 17:07:28 -0300 Subject: Delivery Status Notification (Failure) References: <001636e9100fbf2b31044d83bb1f@googlemail.com> <3da702830805180929o1ffc2475m3d08b92930e35500@mail.gmail.com> <3da702830805181009h1e0ca93coa48e6fe32aea6cfa@mail.gmail.com> <3da702830805181050j785094br10b1b900087e8129@mail.gmail.com> <3da702830805191113m4b9b88e4h60f355554ce96429@mail.gmail.com> <3da702830805191238t2e6515d2ke558cff25b7e2fa5@mail.gmail.com> Message-ID: En Mon, 19 May 2008 16:38:27 -0300, kalith kalith escribió: > el code q puse es en dado caso el cliente porq pues es una conexion > inversa > quiero q mi desktop se conecte a mi laptop pero q en la laptop se sirva > la > shell... Yo primero haría la version "directa"... > mm disculpa se q a lo mejor ya estaras cansado pero sigo sin entender lo > de > os.dup2(s0cket.fileno(), sys.stdout.fileno()) Como decia, no es cosa de Python, sino del S.O.; a ver si esta explicacion se entiende mas: http://www.linuxinfor.com/spanish/man2/dup.html -- Gabriel Genellina ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From cgalisteo en k-rolus.net Mon May 19 23:34:47 2008 From: cgalisteo en k-rolus.net (Carlos) Date: Mon, 19 May 2008 23:34:47 +0200 Subject: pygame In-Reply-To: <771741b20805191118w139125f9v2ba1f396cfe9a4a@mail.gmail.com> References: <00c601c8b992$220054f0$ce03010a@l2pc1> <771741b20805191118w139125f9v2ba1f396cfe9a4a@mail.gmail.com> Message-ID: On Mon, May 19, 2008 at 8:18 PM, Mario Lacunza wrote: > Mas bien deberias leerlo tu.... Por supuesto, nadie está libre de cometer fallos, de hecho procuro refrescarlo de vez en cuando. >> q yo sepa no esta preguntando nada fuera de >> lo comun.... Lo que me dice que tú tampoco has leido el enlace (no es que sea obligatorio), porque ademas de ser o no offtopic (que no lo es, efectivamente) creo que incumple casi todas las demás recomendaciones, tanto formales como de contenido. De hecho a no ser que está haciendo una encuesta sobre la popularidad de Pygame, que yo sepa todavía no ha preguntado nada. >tal vez lo ideal seria q le recomendaras buscar la lista de >Pygame o algo util no ese link Dado que no tengo gran idea de Pygame, y entiendo que antes de preguntar ya ha buscado por su cuenta, he intentado ayudarle a ser más efectivo haciendo preguntas, que también le puede ser de utilidad. No solo de conocimientos técnicos vive el hombre (ni la mujer). > como decimos aca: "la vaca se olvida cuando fue ternera??" ¿Me estás llamando vaca? Vaya...tengo que hacer más ejercicio :P Yasser, polémicas aparte, si mi respuesta te ha parecido "agresiva" los siento, no era mi intención. Lo que no quita para que si quieres obtener respuestas útiles debas intentar hacer preguntas más apropiadas. Un saludo. -- --- Carlos Galisteo http://blog.k-rolus.net PGP_key::http://k-rolus.net/~cgalisteo/cgalisteo.gpg Key_Fingerprint::F888 6FBA 9145 B5A2 C187 66D6 5B8C 027A 69AD BE65 --- ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From minoztro en gmail.com Mon May 19 23:47:36 2008 From: minoztro en gmail.com (Milton Galo Patricio Inostroza Aguilera) Date: Mon, 19 May 2008 17:47:36 -0400 Subject: pygame In-Reply-To: References: <00c601c8b992$220054f0$ce03010a@l2pc1> <771741b20805191118w139125f9v2ba1f396cfe9a4a@mail.gmail.com> Message-ID: <172699c50805191447y7c9c4f8bh6a02ff9cb1cccdb7@mail.gmail.com> El día 19 de mayo de 2008 17:34, Carlos escribió: > Yasser, polémicas aparte, si mi respuesta te ha parecido "agresiva" > los siento, no era mi intención. Lo que no quita para que si quieres > obtener respuestas útiles debas intentar hacer preguntas más > apropiadas. Creo que ese es el punto. Siempre hemos conservado una buena convivencia. > > Un saludo. cerrar el hilo por favor, atentamente > > > -- > --- > Carlos Galisteo > http://blog.k-rolus.net > PGP_key::http://k-rolus.net/~cgalisteo/cgalisteo.gpg > Key_Fingerprint::F888 6FBA 9145 B5A2 C187 66D6 5B8C 027A 69AD BE65 > --- > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Milton Inostroza Aguilera ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From markuz en islascruz.org Mon May 19 17:22:44 2008 From: markuz en islascruz.org (Marco Antonio Islas Cruz) Date: Mon, 19 May 2008 10:22:44 -0500 Subject: [PyGtk] Splash para =?ISO-8859-1?Q?aplicaci=F3n?= In-Reply-To: <82b2af8e0805190103s37eba1e3k8f43b39eeeee716c@mail.gmail.com> References: <82b2af8e0805190103s37eba1e3k8f43b39eeeee716c@mail.gmail.com> Message-ID: <1211210564.7625.5.camel@cucusa> Facil, 1. Ejecutas tu aplicacion 2. Creas el splash screen y al mostrarlo ejecutas lo que va a hacer que inicie tu ventana principal. 3. En el codigo de tu ventana principal preocupate por no bloquear el ciclo principal de GTK, con un ciclo while puedes bloquearlo, recuerda que estas en un solo hilo y solo un proceso de tu aplicacion se ejecuta a la vez. 1. Puedes valerte de gobject.idle_add para ejecutar una funcion cada que no tenga que hacer nada gtk. 2. Puedes utilizar un thread para hacer la parte pesada, siempre y cuando no tenga nada que ver con GTK+ puesto que Gtk solo debe ser manejado en un solo hilo. Esto es algo asi que tendras 2 procesos corriendo al mismo tiempo, uno que te entretenga al cliente y otro que te inicialice la aplicacion. Si la parte pesada de tu aplicacion es algo con una lista o cosas asi, te recomiendo que uses gobject.idle_add en lugar de threads. Saludos. On Mon, 2008-05-19 at 10:03 +0200, Ángel Guzmán Maeso wrote: > Hola, estoy empezando con python y estoy asombrado con su potencial. > > Estoy tratando de hacer una aplicación ayudándome de PyGtk y necesito que > tenga un splash. Googleando he encontrado muy poca información al respecto, > solo un par de blogs que explicaban muy por encima con wxwidget y con Gtk > puro. > > Con las lineas de Gtk me he peleado y he conseguido hacer algo como lo > siguiente: > > --- > > #!/usr/bin/env python > # -*- coding: utf-8 -*- > > import pygtk > pygtk.require('2.0') > import gtk > import gobject > > class Splash: > def start(self): > print "Creando SPLASH..." > self.v=gtk.Window(gtk.WINDOW_TOPLEVEL) > self.v.set_position(gtk.WIN_POS_CENTER) > self.v.set_modal(True) > self.v.set_size_request(150,100) > self.v.set_title('MiAplicación') > self.v.AppPaintable=True > > image = gtk.Image() > image.set_from_file("logo.gif") > > box=gtk.VBox() > box.pack_start(image,False,False, 0) > self.v.add(box) > image.show() > box.show() > > label = gtk.Label("MiAplicación 0.0.0.1") > box.pack_start(label,True,False, 0) > label.show() > > self.v.show() > self.timeout=gobject.timeout_add(5000, self.AutoClose) > > #MiAplicacion() > #self.AutoClose() > > def AutoClose(self): > self.v.destroy() > return False > > class MiAplicacion: > > def __init__(self): > window = gtk.Window(gtk.WINDOW_TOPLEVEL) > > # Muchas operaciones > # Carga de BD > # Carga de interfaces > # etc > # Para simularlo, nada como un gran bucle de 10 millones > print "Empezando bucle" > i=1 > while i<10000000: > i=i+1 > > print "Bucle terminado" > window.show() > > > > def main(): > gtk.main() > > > if __name__ == "__main__": > print "Cargando GUI ..." > s=Splash().start() > print "Cargando aplicación" > Miaplicacion() > main() > > --- > > El problema es que el splash se lanza, pero solo cuando se ha cargado todo > el proceso de la aplicación, por lo tanto, no > hace su principal objetivo, que es permanecer hasta que la aplicación se > cargue. > En el código he probado a lanzar la clase de la aplicación desde dentro del > splash y que se cerrara con un timeout o > cuando la clase de la aplicación se terminara de cargar. > > Debe estar fallando algo muy simple pero no lo veo. Tampoco tengo > referencias de ninguna aplicación de código libre > que este programada con PyGtk y use un Splash, por lo que no he podido mirar > nada y aprender de ella. > > Otro problema que tengo, es que no se como quitar las demás partes de la > ventana (titulo, y botones de maximizar, minimizar y cerrar) de > la ventana del splash. > > Cualquier comentario es bienvenido. > > Saludos. > > -- <--Linux... Because I'm Free--> Marco Antonio Islas Cruz "Markuz" Linux User #280229 markuz en islascruz.org markuz en unixmexico.org markuz en linuxpozarica.com marco.islas en gmail.com islacruz en yahoo.com http://www.islascruz.org http://sourceforge.net/projects/gpkg/ http://www.linuxpozarica.com ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part URL: ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From cdgarciaq en yahoo.com Tue May 20 15:17:42 2008 From: cdgarciaq en yahoo.com (Cesar Garcia) Date: Tue, 20 May 2008 06:17:42 -0700 (PDT) Subject: Libros de Python para descargar Message-ID: <700002.45036.qm@web51711.mail.re2.yahoo.com> Amigos !! Jean Carlos a colgado el los Todos los Libros de Python en el el sigueinte link ESpero que les Sirva Saludos Ah El Link http://150.185.173.5/Descargas/42%20PYTHON%20BOOKS%20+%20EXAMPLES.tar.gz ________________________________ Atte. César García ________________________________ ----- Mensaje original ---- De: Mario Lacunza Para: Lista de discusión sobre python en castellano Enviado: lunes, 19 de mayo, 2008 13:18:56 Asunto: Re: [Python-es] pygame El día 19 de mayo de 2008 10:40, Carlos escribió: > On Mon, May 19, 2008 at 11:24 AM, Yasser Gonzalez Soto > wrote: > > Alguien de ustedes usa Pygame? > > No, pero aquí te dejo un enlace que te puede ser de ayuda: > > http://www.sindominio.net/ayuda/preguntas-inteligentes.html > > Mas bien deberias leerlo tu.... q yo sepa no esta preguntando nada fuera de lo comun.... tal vez lo ideal seria q le recomendaras buscar la lista de Pygame o algo util no ese link.. como decimos aca: "la vaca se olvida cuando fue ternera??" -- Saludos / Best regards Mario Lacunza Consultor de Sistemas - Webmaster Email: mlacunza [AT] gmail [DOT] com Lima - Peru _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From florencio.cano en gmail.com Tue May 20 15:54:18 2008 From: florencio.cano en gmail.com (Florencio Cano) Date: Tue, 20 May 2008 15:54:18 +0200 Subject: Manipular aplicaciones no preparadas usando Python en Windows Message-ID: ¿Conoceis alguna manera de manipular aplicaciones, como por ejemplo el Emule o el Messenger, usando Python? ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From shakaran en gmail.com Tue May 20 16:36:48 2008 From: shakaran en gmail.com (=?ISO-8859-1?Q?=C1ngel_Guzm=E1n_Maeso?=) Date: Tue, 20 May 2008 16:36:48 +0200 Subject: =?iso-8859-1?q?Re=3A_=5BPyGtk=5D_Splash_para_aplicac?= =?iso-8859-1?q?i=F3n_=28Marco_Antonio_Islas_Cruz=29?= Message-ID: <82b2af8e0805200736t7c0f6b9bh5188c1d5d5fa46f5@mail.gmail.com> Hola Marcos, he intentado hacer lo siguiente basandome en tus aplicaciones y parece que funciona. Pero cuando el splash se lanza tengo una imagen, un label y otra imagen de fondo para la ventana y si pasas por encima del splash otra ventana y la quitas entonces se "congela" la imagen y se "borran" la labels, quedandose solo la imagen de fondo. Es algo raro, que parece como si no se refrescara el splash o algo por el estilo, no se si sea problema mio o de GTK o como le puse que mientras hiciera el bucle enorme, pues no le de tiempo a refrescar el splash al portatil. Bueno pongo el código. ----- #!/usr/bin/env python # -*- coding: utf-8 -*- import pygtk pygtk.require('2.0') import gtk import gobject import pango class Splash: def create_app (self,splash, myargs): try: MiAplicacion() except: gtk.main_quit() raise splash.destroy() def __init__(self): splash=gtk.Window(gtk.WINDOW_TOPLEVEL) splash.set_decorated(False) splash.set_position(gtk.WIN_POS_CENTER) splash.set_size_request(250,250) splash.set_app_paintable(True) splash.set_modal(True) # Creo los contenidos del splash imagename = 'background.jpg' image = gtk.Image() image.set_from_file("logo.png") box=gtk.VBox() box.pack_start(image,True,True, 0) splash.add(box) label=gtk.Label() label.set_markup("Mi aplicación 0.0.0.1 ") box.pack_start(label,True,False, 0) label=gtk.Label() label.set_markup("Empresa S.L.") eb=gtk.EventBox() # Fondo para el label eb.add(label) eb.modify_bg(gtk.STATE_NORMAL, gtk.gdk.color_parse("#6e896a")) box.pack_start(eb,True,True,0) #Fondo para la imagen (es lo que solo se muestra cuando se queda pillado) pixbuf = gtk.gdk.pixbuf_new_from_file(imagename) pixmap, mask = pixbuf.render_pixmap_and_mask() width, height = pixmap.get_size() del pixbuf splash.resize(width, height) splash.realize() splash.window.set_back_pixmap(pixmap,False) del pixmap splash.window.set_type_hint (gtk.gdk.WINDOW_TYPE_HINT_SPLASHSCREEN) # needed because the window_type hint above does not work on Win32 :-/ splash.show_all() # Para mostrar el splash y llamo a la aplicacion gobject.idle_add (self.create_app, splash,None) class MiAplicacion: def __init__(self): self.window = gtk.Window(gtk.WINDOW_TOPLEVEL) self.window.set_gravity(gtk.gdk.GRAVITY_CENTER) self.window.set_title("Empresa S.L.") # Simulacion mientras la aplicacion carga (entonces el splash se queda # "congelado" si pasas otra ventana por encima y la quitas print "Empezando bucle" i=1 while i<1000000: i=i+1 #if i%10000: # print i print "Bucle terminado" self.window.show_all() # Muestra la ventana (sin tamaño por defecto es 200x200) def main(): try: gtk.main() except KeyboardInterrupt: print "Salida por teclado" return 0 if __name__ == "__main__": print "Cargando GUI ..." Splash() print "Cargando aplicación" main() --- Ahora ya funciona el splash, pero tiene la "pega" de que parece que se cuelga. ¿A que se deberá esto? Aunque no viene a cuento, pero es la primera vez que uso listas de correo, y no se muy bien como funcionan para responder al mismo tema (creo que este tema se enviara como si fuera otro) pero es que no se responder al mismo hilo porque no se como funciona (antes solo habia utilizado foros). Si alguien me lo puede indicar se lo agradecería. PD: Marcos, enhorabuena por tu reproductor Christine, lo estoy utilizando y me gusta mucho. Saludos Message: 5 > Date: Mon, 19 May 2008 10:22:44 -0500 > From: Marco Antonio Islas Cruz > Subject: Re: [Python-es] [PyGtk] Splash para aplicación > To: Lista de discusión sobre python en castellano > > Message-ID: <1211210564.7625.5.camel en cucusa> > Content-Type: text/plain; charset="utf-8" > > Facil, > > 1. Ejecutas tu aplicacion > 2. Creas el splash screen y al mostrarlo ejecutas lo que va a hacer > que inicie tu ventana principal. > 3. En el codigo de tu ventana principal preocupate por no bloquear > el ciclo principal de GTK, con un ciclo while puedes bloquearlo, > recuerda que estas en un solo hilo y solo un proceso de tu > aplicacion se ejecuta a la vez. > 1. Puedes valerte de gobject.idle_add para ejecutar una > funcion cada que no tenga que hacer nada gtk. > 2. Puedes utilizar un thread para hacer la parte pesada, > siempre y cuando no tenga nada que ver con GTK+ puesto > que Gtk solo debe ser manejado en un solo hilo. > > Esto es algo asi que tendras 2 procesos corriendo al mismo tiempo, uno > que te entretenga al cliente y otro que te inicialice la aplicacion. Si > la parte pesada de tu aplicacion es algo con una lista o cosas asi, te > recomiendo que uses gobject.idle_add en lugar de threads. > > Saludos. > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From damufo en gmail.com Tue May 20 16:38:49 2008 From: damufo en gmail.com (damufo) Date: Tue, 20 May 2008 16:38:49 +0200 Subject: Manipular aplicaciones no preparadas usando Python en Windows In-Reply-To: References: Message-ID: <4832E279.6060900@gmail.com> Puede que pywinauto y sendkeys te pueda ayudar. Florencio Cano escribiu: > ¿Conoceis alguna manera de manipular aplicaciones, como por ejemplo el > Emule o el Messenger, usando Python? > > > ------------------------------------------------------------------------ > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From listas.rglm en gmail.com Tue May 20 16:23:54 2008 From: listas.rglm en gmail.com (Raul Lopez) Date: Tue, 20 May 2008 12:23:54 -0200 Subject: OT - Saludo Message-ID: <4832DEFA.10409@gmail.com> Me estoy incorporando a la lista y envio un saludo para todos. Raul. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pyarnau en gmail.com Tue May 20 18:31:37 2008 From: pyarnau en gmail.com (Arnau Sanchez) Date: Tue, 20 May 2008 18:31:37 +0200 Subject: [PyGtk] Splash para =?ISO-8859-1?Q?aplicaci=F3?= =?ISO-8859-1?Q?n_=28Marco_Antonio_Islas_Cruz=29?= In-Reply-To: <82b2af8e0805200736t7c0f6b9bh5188c1d5d5fa46f5@mail.gmail.com> References: <82b2af8e0805200736t7c0f6b9bh5188c1d5d5fa46f5@mail.gmail.com> Message-ID: <4832FCE9.2000305@gmail.com> Ángel Guzmán Maeso escribió: > splash otra ventana y la quitas entonces se "congela" la imagen y se > "borran" la labels, quedandose solo la imagen de fondo. Se quedan parado porque, durante el while, el bucle de eventos de GTK (el encargado de redibujar cuando toca), no se entera de la película. Creo que cuando Marco decía "con un ciclo while puedes bloquearlo" te describía lo que sucedería, no lo que tenías que hacer :-) Como apunta él, las soluciones son gobject.idle_add y threads. Consulta esta entrada... http://pythonesfaq.k-rolus.net/#index72h3 ... donde se habla de usar "idle_add" en conjunción con generadores. No es evidente cuál es la mejor opción, ambas soluciones tienen ventajas e inconvenientes. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From maengora en gmail.com Tue May 20 19:08:16 2008 From: maengora en gmail.com (=?ISO-8859-1?Q?Manuel_Enrique_Gonz=E1lez_Ram=EDrez?=) Date: Tue, 20 May 2008 12:08:16 -0500 Subject: Problemas al migrar Message-ID: Cordial saludo a tod en s. He comenzado a migrar totalmente a linux y en dicha migración he procurado instalar las wx de python para continuar mejorando mis aplicaciones y por su puesto y más importante continuar mi aprendizaje de python. Esto es lo que me ha sucedido. Desde hace mucho tiempo (desde que salio la versión) tengo instaldo el OpenSuse 10.2 (y esperando a que salga la 11, falta poco), hace días cuando decidí migrar totalmente a linux (o sea, pasar todas mis cosas y utilizar solo linux), descargue las wx que se encuentran en http://www.wxpython.org(las rpm). Hice lo siguiente: 1. Descomprimi (todo bien) 2. Ejecute el config. ./configure (todo bien) 3.. Luego el make (todo bien hasta el momento) 4. Por último el make install Todo parece haber quedado correctamente instalado, pero al ejecutar el boa (python Boa.py) me aparece un mensaje en el que se dice que no encuentra el módulo wx, lo mismo me ocurre si desde la consola ejecuto: $python >>>import wx Me genera el mismo error. Qué me estará faltando??? Gracias por la ayuda que me puedan brindar. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From minoztro en gmail.com Tue May 20 20:54:20 2008 From: minoztro en gmail.com (Milton Galo Patricio Inostroza Aguilera) Date: Tue, 20 May 2008 14:54:20 -0400 Subject: Problemas al migrar In-Reply-To: References: Message-ID: <172699c50805201154q332e5453i771f85743f1c3a9c@mail.gmail.com> > Todo parece haber quedado correctamente instalado, pero al ejecutar el boa > (python Boa.py) me aparece un mensaje en el que se dice que no encuentra el > módulo wx, lo mismo me ocurre si desde la consola ejecuto: > $python >>>>import wx > Me genera el mismo error. puedes pegar el error de la consola Python por favor. > > Qué me estará faltando??? > > Gracias por la ayuda que me puedan brindar. > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Milton Inostroza Aguilera ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From yourpadre en gmail.com Tue May 20 21:26:42 2008 From: yourpadre en gmail.com (Miguel Beltran R.) Date: Tue, 20 May 2008 14:26:42 -0500 Subject: Problemas al migrar In-Reply-To: References: Message-ID: cuando instalaste las wx hubiera sido mejor con un rpm official No uso Suse, pero con el programa que incluye para instalar busca python-wxpython Y ya mas a tu problema creo que tal vez no se instalaron en el lugar correcto los archivos. En slack 12.1 estan en /usr/lib/python2.5 revisa que tengas /usr/lib//site-packages/wx* Si no tienes algo de wx* entonces lo instalaste en otro directorio y tienes que agregarlo al PATH para que python lo encuentre El día 20 de mayo de 2008 12:08, Manuel Enrique González Ramírez escribió: > Cordial saludo a tod en s. > > He comenzado a migrar totalmente a linux y en dicha migración he procurado > instalar las wx de python para continuar mejorando mis aplicaciones y por su > puesto y más importante continuar mi aprendizaje de python. > > Esto es lo que me ha sucedido. > > Desde hace mucho tiempo (desde que salio la versión) tengo instaldo el > OpenSuse 10.2 (y esperando a que salga la 11, falta poco), hace días cuando > decidí migrar totalmente a linux (o sea, pasar todas mis cosas y utilizar > solo linux), descargue las wx que se encuentran en > http://www.wxpython.org(las rpm). > > Hice lo siguiente: > 1. Descomprimi (todo bien) > 2. Ejecute el config. ./configure (todo bien) > 3.. Luego el make (todo bien hasta el momento) > 4. Por último el make install > > Todo parece haber quedado correctamente instalado, pero al ejecutar el boa > (python Boa.py) me aparece un mensaje en el que se dice que no encuentra el > módulo wx, lo mismo me ocurre si desde la consola ejecuto: > $python >>>>import wx > Me genera el mismo error. > > Qué me estará faltando??? > > Gracias por la ayuda que me puedan brindar. > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- ________________________________________ Lo bueno de vivir un dia mas es saber que nos queda un dia menos de vida _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From oinos en web.de Tue May 20 23:08:35 2008 From: oinos en web.de (=?ISO-8859-1?Q?Pablo_Rodr=EDguez?=) Date: Tue, 20 May 2008 23:08:35 +0200 Subject: pregunta sobre opciones Message-ID: <48333DD3.5070800@web.de> Usando getopt, intento definir una situación de opciones incompatibles (más bien son no necesarias). Lo hago con un condicional: if opt in ("-s", "--start-playing") and ("-b", "--with-buttons"): El problema es que así me salta siempre que selecciono una de las dos opciones y si lo defino así, no salta nunca: if opt in ("-s", "--start-playing") and opt in ("-b", "--with-buttons"): ¿Cómo puedo hacer para que las dos opciones sean incompatibles? Gracias y saludos, Pablo _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pyarnau en gmail.com Tue May 20 23:30:29 2008 From: pyarnau en gmail.com (Arnau Sanchez) Date: Tue, 20 May 2008 23:30:29 +0200 Subject: pregunta sobre opciones In-Reply-To: <48333DD3.5070800@web.de> References: <48333DD3.5070800@web.de> Message-ID: <483342F5.3060600@gmail.com> Pablo Rodríguez escribió: > Usando getopt, intento definir una situación de opciones incompatibles > (más bien son no necesarias). Lo hago con un condicional: > > if opt in ("-s", "--start-playing") and ("-b", "--with-buttons"): > > El problema es que así me salta siempre que selecciono una de las dos > opciones y si lo defino así, no salta nunca: > > if opt in ("-s", "--start-playing") and opt in ("-b", "--with-buttons"): > > ¿Cómo puedo hacer para que las dos opciones sean incompatibles? > En cada iteración, "opt" tiene un valor, el que sea, pero no puede ser que a la vez -s y -b. Tendrías que recorrer todo el bucle, guardar los valores en alguna variable y al final hacer las comprobaciones necesarias. Como getopt es tan engorroso en ésta y otras cuestiones, casi todo el mundo usa optparse: http://docs.python.org/lib/module-optparse.html from optparse import OptionParser usage = """Usage: myscript [options] do this and that""" parser = OptionParser(usage) parser.add_option("-f", "--file", dest="filename", help="write report to FILE", metavar="FILE") parser.add_option("-q", "--quiet", action="store_false", dest="verbose", default=True, help="don't print status messages to stdout") options, args = parser.parse_args() A lo que podríamos añadir, en algo parecido a lo que quieres: # no tiene sentido, es solo un ejemplo if options.filename and options.verbose: sys.stderr.write("Incompatible options: ....\n") parser.print_help() sys.exit(1) _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From leonardocaballero en gmail.com Tue May 20 23:45:04 2008 From: leonardocaballero en gmail.com (Leonardo Caballero) Date: Wed, 21 May 2008 17:15:04 +1930 Subject: Plone + i18n + Ploneboard y otros productos Message-ID: <40977a820805201445g7a62b5aby9f851411e5b904b0@mail.gmail.com> Hola compañero(a)s Tengo unas dudas con respecto Plone + i18n + Ploneboard y otros productos espero que me puedan ayudar: Mi instalación es: - Linux macagua 2.6.23-1-686 #1 SMP Fri Oct 12 14:30:49 UTC 2007 i686 GNU/Linux - Debian GNU/Linux Etch 4.0 - Plone-3.0.6-UnifiedInstaller.tar.gz [0] - Plone-3.0.6 + Python-2.4.4 + Zope 3 Y tengo algunos productos instalados como: - Ploneboard [1] resulta que no toma la internacionalización No se pero hasta ahora no me toma el .po y esta instalado Por ejemplo cuanto creo una cuenta y te llega la confirmación al email llega en ingles [0] https://launchpad.net/plone/3.0/3.0.6/+download/Plone-3.0.6-UnifiedInstaller.tar.gz [1] http://plone.org/products/ploneboard -- Atentamente T.S.U. Leonardo Caballero E-Mail: leonardocaballero at gmail.com, lcaballero at linuxmail.org http://counter.li.org/cgi-bin/runscript/display-person.cgi?user=369081 Corriendo Debian Etch 4.0 "El Conocimiento Humano le Pertenece al Mundo" _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From shakaran en gmail.com Wed May 21 02:14:10 2008 From: shakaran en gmail.com (=?ISO-8859-1?Q?=C1ngel_Guzm=E1n_Maeso?=) Date: Wed, 21 May 2008 02:14:10 +0200 Subject: =?iso-8859-1?q?Re=3A_Re=3A_=5BPyGtk=5D_Splash_para_a?= =?iso-8859-1?q?plicaci=F3n?= Message-ID: <82b2af8e0805201714i40a04a09qe6d0179c11fcb465@mail.gmail.com> Como apunta él, las soluciones son gobject.idle_add y threads. Consulta esta entrada... http://pythonesfaq.k-rolus.net/#index72h3 ... donde se habla de usar "idle_add" en conjunción con generadores. No es evidente cuál es la mejor opción, ambas soluciones tienen ventajas e inconvenientes. --- Me he leído esa FAQ(y toda la lista de FAQ's) y no me ha quedado muy claro, ya que en la pagina de Gnome (sobre los generadores) viene mucha parte en modo "pseudocódigo" y no lo puedo ver un ejemplo real funcionando. Como soy un principiante, aun no entiendo muchos conceptos y tampoco he trabajado nunca con hilos (solo tengo algunas pequeñas nociones) y menos aun se como trabajan en Python. El ejemplo de la página de gnome para la barra de progreso, lo he intentado extrapolar para mi código de ejemplo, pero no he conseguido hacer que funcione, ya que necesita otro método "next" que no se indica en el pseudo código y no se como va. Pongo de nuevo el código con las cosas nuevas que he modificado y si podéis ponerme un ejemplo funcional o retocar lo poco que sea en mi código lo agradecería. Espero que no sea molestía por sugerir o hacerme el código, porque le pongo interés pero me faltan ejemplos prácticos para llevarlo a cabo, solo necesito que me deis mas cuerda para que pueda tirar.Gracias ---- #!/usr/bin/env python # -*- coding: utf-8 -*- import pygtk pygtk.require('2.0') import gtk import gobject import pango class Splash: def create_app (self,splash, myargs): try: MiAplicacion() except: gtk.main_quit() raise splash.destroy() def __init__(self): splash=gtk.Window(gtk.WINDOW_TOPLEVEL) splash.set_decorated(False) splash.set_position(gtk.WIN_POS_CENTER) splash.set_size_request(250,250) splash.set_app_paintable(True) splash.set_modal(True) # Creo los contenidos del splash imagename = 'background.jpg' image = gtk.Image() image.set_from_file("logo.png") box=gtk.VBox() box.pack_start(image,True,True, 0) splash.add(box) label=gtk.Label() label.set_markup("Mi aplicación 0.0.0.1 ") box.pack_start(label,True,False, 0) label=gtk.Label() label.set_markup("Empresa S.L.") eb=gtk.EventBox() # Fondo para el label eb.add(label) eb.modify_bg(gtk.STATE_NORMAL, gtk.gdk.color_parse("#6e896a")) box.pack_start(eb,True,True,0) #Fondo para la imagen (es lo que solo se muestra cuando se queda pillado) pixbuf = gtk.gdk.pixbuf_new_from_file(imagename) pixmap, mask = pixbuf.render_pixmap_and_mask() width, height = pixmap.get_size() del pixbuf splash.resize(width, height) splash.realize() splash.window.set_back_pixmap(pixmap,False) del pixmap splash.window.set_type_hint (gtk.gdk.WINDOW_TYPE_HINT_SPLASHSCREEN) # needed because the window_type hint above does not work on Win32 :-/ splash.show_all() # Para mostrar el splash y llamo a la aplicacion gobject.idle_add (self.create_app.next, splash,None) # MODIFICADO==> .next (no esta el def hecho) class MiAplicacion: def __init__(self): self.window = gtk.Window(gtk.WINDOW_TOPLEVEL) self.window.set_gravity(gtk.gdk.GRAVITY_CENTER) self.window.set_title("Empresa S.L.") # Simulacion mientras la aplicacion carga (entonces el splash se queda # "congelado" si pasas otra ventana por encima y la quitas print "Empezando bucle" i=1 while i<1000000: i=i+1 yield True # #MODIFICADO: Yield, lo traduzco como "producir", asi que lo pongo mientras produce el while #if i%10000: # print i yield False # Al terminar dejo de producir, pero no se si el metodo def "next" deba llamarse #en el anterior while print "Bucle terminado" self.window.show_all() # Muestra la ventana (sin tamaño por defecto es 200x200) def main(): try: gtk.main() except KeyboardInterrupt: print "Salida por teclado" return 0 if __name__ == "__main__": print "Cargando GUI ..." Splash() print "Cargando aplicación" main() _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pych3m4 en gmail.com Wed May 21 03:06:29 2008 From: pych3m4 en gmail.com (Chema Cortes) Date: Wed, 21 May 2008 03:06:29 +0200 Subject: Problemas al migrar In-Reply-To: References: Message-ID: <2c9fb0dd0805201806j1befccedkc7c45bf206a1d0df@mail.gmail.com> El día 20 de mayo de 2008 19:08, Manuel Enrique González Ramírez escribió: > Desde hace mucho tiempo (desde que salio la versión) tengo instaldo el > OpenSuse 10.2 (y esperando a que salga la 11, falta poco), hace días cuando > decidí migrar totalmente a linux (o sea, pasar todas mis cosas y utilizar > solo linux), descargue las wx que se encuentran en > http://www.wxpython.org(las rpm). > > Hice lo siguiente: > 1. Descomprimi (todo bien) > 2. Ejecute el config. ./configure (todo bien) > 3.. Luego el make (todo bien hasta el momento) > 4. Por último el make install Dices haber descargado las rpm, pero luego hablas de configurar y compilar. Suponiendo que hayas compilado el código fuente (tar.gz), la instalación se hace habitualmente sobre el directorio /usr/local, un directorio con toda su jerarquía que será respetada por las sucesivas actualizaciones del sistema. Verás ahí algunos directorios como '/usr/local/bin' con los scripts de wxpython. Dentro de '/usr/local/lib' debe andar el paquete wxpython que has compilado. Para que el python del sistema lo pueda ver, deberás añadirlo a la ruta de búsquedas de módulos. Se puede hacer con la variable de entorno PYTHONPATH; o más recomendable creando un fichero .pth (por ejemplo 'wx.pth') dentro de /usr/lib/python2.5/site-packages con la ruta al paquete wxpython una sóla línea (/usr/local/lib/..../wx-2.8-gtk2-unicode). > Todo parece haber quedado correctamente instalado, pero al ejecutar el boa > (python Boa.py) me aparece un mensaje en el que se dice que no encuentra el > módulo wx, lo mismo me ocurre si desde la consola ejecuto: Supongo que sabrás qué versión de wx requería boa??,...porque suele ser estricto con las versiones de wx que soporta. Es mejor que vuelvas a probar a instalar wxpython desde el YaST de SuSE para dejarle que controle las dependencias. No es bueno andar "ensuciando" el sistema tan pronto; al menos espera un tiempo a tenerle más confianza. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From jgonzalez en grupopitaco.com Wed May 21 10:15:54 2008 From: jgonzalez en grupopitaco.com (=?iso-8859-1?Q?Javier_Gonz=E1lez?=) Date: Wed, 21 May 2008 10:15:54 +0200 Subject: lista de impresoras del sistema Message-ID: <001701c8bb1a$e419a990$0a01a8c0@pcjavi> Hola a todos, necesitaria conseguir el listado de los nombres de todas las impresoras instaladas en el sistema para que asi el usuario pueda predefinir cada una de ellas para una determinado tipo de impresion de documento, la cuestion es que no se como obtener ese listado, alguien sabe como hacerlo? gracias a todos, a modo informativo, uso python 2.5, winxp, y wx. Imagino que debe haber una funcin del api de windows que me de ese listado, pero la verdad es que no se cual es. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pych3m4 en gmail.com Wed May 21 10:38:21 2008 From: pych3m4 en gmail.com (Chema Cortes) Date: Wed, 21 May 2008 10:38:21 +0200 Subject: Forzar en sqlite afinidad text para Decimal In-Reply-To: <482950AC.5010700@soft-com.es> References: <2c9fb0dd0805120604n756f61afk4163d434ff6db4a4@mail.gmail.com> <4828B600.6050000@soft-com.es> <2c9fb0dd0805121837o40d5b8c8r6e9d1a40eada83a5@mail.gmail.com> <482950AC.5010700@soft-com.es> Message-ID: <2c9fb0dd0805210138y56e030eas17caafbf742a08a0@mail.gmail.com> El 2008/5/13 Oswaldo Hernández : > Chema Cortes escribió: > >> >> Era otra alternativa posible, aunque creo que me quedaré con la de >> especificar "decimal text" en la columna. Me parece raro que no haya >> ningún modo de configurar globalmente el que no se apliquen las >> afinidades. > > Si es raro, pero me parece haber visto en alguna parte que lo hacen por > mantener la compatibilidad. > > Revisando la definicion de afinidad [1], veo que dice exactamente: > If the datatype of the column contains any of the strings "CHAR", "CLOB", or > "TEXT" then that column has TEXT affinity. > > por lo no es necesario definir la columna como 'decimal text' en dos > palabras. Con que contenga 'text' es suficiente, por lo que definiendo el > tipo como 'textdecimal' o 'decimal_text' funciona. He encontrado otra solución consistente en almacenar el dato como "buffer" en lugar de "texto": def decimal_adapter(dec): return buffer(str(dec)) def decimal_converter(buf): return Decimal(str(buf)) Sqlite tratará el dato como "blob" almacenándolo tal cuál, sin intentar convertirlo a numérico. PD: en lugar de buffer() se podría haber usado sqlite3.Binary() _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From python en ammsoft.com Wed May 21 10:52:56 2008 From: python en ammsoft.com (Amm-Python) Date: Wed, 21 May 2008 10:52:56 +0200 Subject: lista de impresoras del sistema In-Reply-To: <001701c8bb1a$e419a990$0a01a8c0@pcjavi> References: <001701c8bb1a$e419a990$0a01a8c0@pcjavi> Message-ID: <002301c8bb20$113b36a0$640010ac@nombref31twj9b> El truco está en usar win32print de las "Win32 Extensions" de Mark Hammond Ejemplo: http://listas.aditel.org/archivos/python-es/2003-September/002973.html Las Win32 Extensions las puedes encontrar aquí: http://starship.python.net/crew/mhammond/win32/Downloads.html Saludos, Toni Martínez > -----Mensaje original----- > De: python-es-bounces en aditel.org > [mailto:python-es-bounces en aditel.org] En nombre de Javier González > Enviado el: dimecres, 21 / maig / 2008 10:16 > Para: La lista de python en castellano > Asunto: [Python-es] lista de impresoras del sistema > > > Hola a todos, necesitaria conseguir el listado de los > nombres de todas las impresoras instaladas en el sistema > para que asi el usuario pueda predefinir cada una de ellas > para una determinado tipo de impresion de documento, la > cuestion es que no se como obtener ese listado, alguien sabe > como hacerlo? gracias a todos, a modo informativo, uso > python 2.5, winxp, y wx. Imagino que debe haber una funcin > del api de windows que me de ese listado, pero la verdad es > que no se cual es. > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From roylan04012 en pri.jovenclub.cu Wed May 21 15:47:31 2008 From: roylan04012 en pri.jovenclub.cu (Roylan Suarez Reyes) Date: Wed, 21 May 2008 08:47:31 -0500 (COT) Subject: ayuda con modulo urllib In-Reply-To: <010f01c8b9db$d0644df0$0a01a8c0@mobile> References: <010f01c8b9db$d0644df0$0a01a8c0@mobile> Message-ID: <61662.192.168.2.14.1211377651.squirrel@correo.pri.jovenclub.cu> > Holas, > > Te falta el http > Hola esto esta raro... >>> import http Traceback (most recent call last): File "", line 1, in ? ImportError: No module named http salu2 > saludos > > -Gabriel- > > ----- Original Message ----- > From: "Roylan Suarez Reyes" > To: "La lista de python en castellano" > Sent: Tuesday, May 06, 2008 11:50 PM > Subject: [Python-es] ayuda con modulo urllib > > > Hola colegas > > Estoy haciendo algunas pruebas por aca y tengo el siguiente problema > >>>> import urllib >>>> sock = urllib.urlopen("www.vn.pri.jovenclub.cu") > > Traceback (most recent call last): > File "", line 1, in ? > File "/usr/lib/python2.4/urllib.py", line 82, in urlopen > return opener.open(url) > File "/usr/lib/python2.4/urllib.py", line 190, in open > return getattr(self, name)(url) > File "/usr/lib/python2.4/urllib.py", line 313, in open_http > h.endheaders() > File "/usr/lib/python2.4/httplib.py", line 798, in endheaders > self._send_output() > File "/usr/lib/python2.4/httplib.py", line 679, in _send_output > self.send(msg) > File "/usr/lib/python2.4/httplib.py", line 646, in send > self.connect() > File "/usr/lib/python2.4/httplib.py", line 614, in connect > socket.SOCK_STREAM): > IOError: [Errno socket error] (-2, 'Name or service not known') > > > alguien me puede dar una sugerencia? > -- > -- > Roylan Suarez Reyes > Admin. Redes JC. Vinales > roylan04012 en pri.jovenclub.cu > Telef: 793210 > > > > > -------------------------------------------------------------------------------- > > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From miracomovengo en gmail.com Wed May 21 14:57:05 2008 From: miracomovengo en gmail.com (Jose) Date: Wed, 21 May 2008 14:57:05 +0200 Subject: ayuda con modulo urllib In-Reply-To: <61662.192.168.2.14.1211377651.squirrel@correo.pri.jovenclub.cu> References: <010f01c8b9db$d0644df0$0a01a8c0@mobile> <61662.192.168.2.14.1211377651.squirrel@correo.pri.jovenclub.cu> Message-ID: <73e8f67f0805210557i57a240b8u216126ded5b3272e@mail.gmail.com> El nombre del módulo es httplib Un saludo! 2008/5/21 Roylan Suarez Reyes : > > Holas, > > > > Te falta el http > > > > Hola esto esta raro... > > >>> import http > Traceback (most recent call last): > File "", line 1, in ? > ImportError: No module named http > > salu2 > > > > > > > saludos > > > > > -Gabriel- > > > > ----- Original Message ----- > > From: "Roylan Suarez Reyes" > > To: "La lista de python en castellano" > > Sent: Tuesday, May 06, 2008 11:50 PM > > Subject: [Python-es] ayuda con modulo urllib > > > > > > Hola colegas > > > > Estoy haciendo algunas pruebas por aca y tengo el siguiente problema > > > >>>> import urllib > >>>> sock = urllib.urlopen("www.vn.pri.jovenclub.cu") > > > > Traceback (most recent call last): > > File "", line 1, in ? > > File "/usr/lib/python2.4/urllib.py", line 82, in urlopen > > return opener.open(url) > > File "/usr/lib/python2.4/urllib.py", line 190, in open > > return getattr(self, name)(url) > > File "/usr/lib/python2.4/urllib.py", line 313, in open_http > > h.endheaders() > > File "/usr/lib/python2.4/httplib.py", line 798, in endheaders > > self._send_output() > > File "/usr/lib/python2.4/httplib.py", line 679, in _send_output > > self.send(msg) > > File "/usr/lib/python2.4/httplib.py", line 646, in send > > self.connect() > > File "/usr/lib/python2.4/httplib.py", line 614, in connect > > socket.SOCK_STREAM): > > IOError: [Errno socket error] (-2, 'Name or service not known') > > > > > > alguien me puede dar una sugerencia? > > -- > > -- > > Roylan Suarez Reyes > > Admin. Redes JC. Vinales > > roylan04012 en pri.jovenclub.cu > > Telef: 793210 > > > > > > > > > > > -------------------------------------------------------------------------------- > > > > > > _______________________________________________ > > Lista de correo Python-es > > http://listas.aditel.org/listinfo/python-es > > FAQ: http://listas.aditel.org/faqpyes > > > > _______________________________________________ > > Lista de correo Python-es > > http://listas.aditel.org/listinfo/python-es > > FAQ: http://listas.aditel.org/faqpyes > > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From maengora en gmail.com Wed May 21 15:26:18 2008 From: maengora en gmail.com (=?ISO-8859-1?Q?Manuel_Enrique_Gonz=E1lez_Ram=EDrez?=) Date: Wed, 21 May 2008 08:26:18 -0500 Subject: Problemas al migrar In-Reply-To: <2c9fb0dd0805201806j1befccedkc7c45bf206a1d0df@mail.gmail.com> References: <2c9fb0dd0805201806j1befccedkc7c45bf206a1d0df@mail.gmail.com> Message-ID: Hola Chema. Nuevamente gracias por aclararme algunas cosas y a los demás también. Parace ser como tu lo expresas que no tuve en cuenta el directorio al momento de compilar. Voy a tratar de corregir esta situación siguiendo tus consejos y si algo vuelvo y preguntar. Por si las moscas estos son los mensajes de error: >>> import wx Traceback (most recent call last): File "", line 1, in ImportError: No module named wx >>> maengora en maengora-desktop:~/boa-constructor-0.6.1> python Boa.py Starting Boa Constructor v0.6.1 importing wxPython Traceback (most recent call last): File "Boa.py", line 241, in import wx ImportError: No module named wx maengora en maengora-desktop:~/boa-constructor-0.6.1> El python2.5 lo encontre en /usr/lib/python2.5 y dentro de site-package no está el wx, claro porque lo descomprimí y lo compile desde otro directorio. Gracias. El día 20 de mayo de 2008 20:06, Chema Cortes escribió: > El día 20 de mayo de 2008 19:08, Manuel Enrique González Ramírez > escribió: > > > Desde hace mucho tiempo (desde que salio la versión) tengo instaldo el > > OpenSuse 10.2 (y esperando a que salga la 11, falta poco), hace días > cuando > > decidí migrar totalmente a linux (o sea, pasar todas mis cosas y utilizar > > solo linux), descargue las wx que se encuentran en > > http://www.wxpython.org(las rpm). > > > > Hice lo siguiente: > > 1. Descomprimi (todo bien) > > 2. Ejecute el config. ./configure (todo bien) > > 3.. Luego el make (todo bien hasta el momento) > > 4. Por último el make install > > Dices haber descargado las rpm, pero luego hablas de configurar y compilar. > > Suponiendo que hayas compilado el código fuente (tar.gz), la > instalación se hace habitualmente sobre el directorio /usr/local, un > directorio con toda su jerarquía que será respetada por las sucesivas > actualizaciones del sistema. Verás ahí algunos directorios como > '/usr/local/bin' con los scripts de wxpython. Dentro de > '/usr/local/lib' debe andar el paquete wxpython que has compilado. > Para que el python del sistema lo pueda ver, deberás añadirlo a la > ruta de búsquedas de módulos. Se puede hacer con la variable de > entorno PYTHONPATH; o más recomendable creando un fichero .pth (por > ejemplo 'wx.pth') dentro de /usr/lib/python2.5/site-packages con la > ruta al paquete wxpython una sóla línea > (/usr/local/lib/..../wx-2.8-gtk2-unicode). > > > Todo parece haber quedado correctamente instalado, pero al ejecutar el > boa > > (python Boa.py) me aparece un mensaje en el que se dice que no encuentra > el > > módulo wx, lo mismo me ocurre si desde la consola ejecuto: > > Supongo que sabrás qué versión de wx requería boa??,...porque suele > ser estricto con las versiones de wx que soporta. > > Es mejor que vuelvas a probar a instalar wxpython desde el YaST de > SuSE para dejarle que controle las dependencias. No es bueno andar > "ensuciando" el sistema tan pronto; al menos espera un tiempo a > tenerle más confianza. > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From jm.galvez en oneandzero.net Wed May 21 17:17:02 2008 From: jm.galvez en oneandzero.net (jm.galvez en oneandzero.net) Date: Wed, 21 May 2008 17:17:02 +0200 Subject: =?iso-8859-1?q?Configuraci=F3n_Cherrypy_Apache2?= Message-ID: <000a01c8bb55$bbc42f70$2100a8c0@Principal> Buenas gente. El problema que tengo es que cuando ejecuto la aplicación en el servidor cherrypy desde ese ordenador funciona perfectamente en el navegador. Un ejemplo http://localhost:8080. Pero cuando eso mismo lo hago desde otra maquina de mi misma red me sale un error. "No se puede conectar. Firefox no puede establecer una conexión con el servidor en ***.***.*.*:8080". Supongo que sera porque el apache intercepta la petición y no sabe donde mandarla. He estado buscando la solución en www.cherrypy.org pero no me queda claro del todo. Alguién me podría indicar alguna página donde se explicara un poco mejor paso por paso. Gracías a todos. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From roylan04012 en pri.jovenclub.cu Wed May 21 18:49:50 2008 From: roylan04012 en pri.jovenclub.cu (Roylan Suarez Reyes) Date: Wed, 21 May 2008 11:49:50 -0500 (COT) Subject: ayuda con modulo urllib In-Reply-To: <73e8f67f0805210557i57a240b8u216126ded5b3272e@mail.gmail.com> References: <010f01c8b9db$d0644df0$0a01a8c0@mobile> <61662.192.168.2.14.1211377651.squirrel@correo.pri.jovenclub.cu> <73e8f67f0805210557i57a240b8u216126ded5b3272e@mail.gmail.com> Message-ID: <62318.192.168.2.14.1211388590.squirrel@correo.pri.jovenclub.cu> > El nombre del módulo es httplib > gracias, problema resuelto, en el ejemplo no estaba importado este modulo salu2 > Un saludo! > > > > 2008/5/21 Roylan Suarez Reyes : > >> > Holas, >> > >> > Te falta el http >> > >> >> Hola esto esta raro... >> >> >>> import http >> Traceback (most recent call last): >> File "", line 1, in ? >> ImportError: No module named http >> >> salu2 >> >> >> >> >> >> > saludos >> > >> >> > -Gabriel- >> > >> > ----- Original Message ----- >> > From: "Roylan Suarez Reyes" >> > To: "La lista de python en castellano" >> > Sent: Tuesday, May 06, 2008 11:50 PM >> > Subject: [Python-es] ayuda con modulo urllib >> > >> > >> > Hola colegas >> > >> > Estoy haciendo algunas pruebas por aca y tengo el siguiente problema >> > >> >>>> import urllib >> >>>> sock = urllib.urlopen("www.vn.pri.jovenclub.cu") >> > >> > Traceback (most recent call last): >> > File "", line 1, in ? >> > File "/usr/lib/python2.4/urllib.py", line 82, in urlopen >> > return opener.open(url) >> > File "/usr/lib/python2.4/urllib.py", line 190, in open >> > return getattr(self, name)(url) >> > File "/usr/lib/python2.4/urllib.py", line 313, in open_http >> > h.endheaders() >> > File "/usr/lib/python2.4/httplib.py", line 798, in endheaders >> > self._send_output() >> > File "/usr/lib/python2.4/httplib.py", line 679, in _send_output >> > self.send(msg) >> > File "/usr/lib/python2.4/httplib.py", line 646, in send >> > self.connect() >> > File "/usr/lib/python2.4/httplib.py", line 614, in connect >> > socket.SOCK_STREAM): >> > IOError: [Errno socket error] (-2, 'Name or service not known') >> > >> > >> > alguien me puede dar una sugerencia? >> > -- >> > -- >> > Roylan Suarez Reyes >> > Admin. Redes JC. Vinales >> > roylan04012 en pri.jovenclub.cu >> > Telef: 793210 >> > >> > >> > >> > >> > >> -------------------------------------------------------------------------------- >> > >> > >> > _______________________________________________ >> > Lista de correo Python-es >> > http://listas.aditel.org/listinfo/python-es >> > FAQ: http://listas.aditel.org/faqpyes >> > >> > _______________________________________________ >> > Lista de correo Python-es >> > http://listas.aditel.org/listinfo/python-es >> > FAQ: http://listas.aditel.org/faqpyes >> >> >> _______________________________________________ >> Lista de correo Python-es >> http://listas.aditel.org/listinfo/python-es >> FAQ: http://listas.aditel.org/faqpyes >> > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From lasizoillo en gmail.com Wed May 21 17:57:17 2008 From: lasizoillo en gmail.com (lasizoillo) Date: Wed, 21 May 2008 17:57:17 +0200 Subject: =?ISO-8859-1?Q?Re:__Configuraci=F3n_Cherrypy_Apache2?= In-Reply-To: <000a01c8bb55$bbc42f70$2100a8c0@Principal> References: <000a01c8bb55$bbc42f70$2100a8c0@Principal> Message-ID: <49414f570805210857rae871d0j24fb0f6c2f3fd9f7@mail.gmail.com> El día 21 de mayo de 2008 17:17, escribió: > Buenas gente. El problema que tengo es que cuando ejecuto la aplicación en el servidor cherrypy desde ese ordenador funciona perfectamente en el navegador. Un ejemplo http://localhost:8080. Pero cuando eso mismo lo hago desde otra maquina de mi misma red me sale un error. > "No se puede conectar. Firefox no puede establecer una conexión con el servidor en ***.***.*.*:8080". > Supongo que sera porque el apache intercepta la petición y no sabe donde mandarla. He estado buscando la solución en www.cherrypy.org pero no me queda claro del todo. Alguién me podría indicar alguna página donde se explicara un poco mejor paso por paso. > Gracías a todos. > Suena más probable que el servidor solo esté escuchando en el interfaz localhost (binding a esa interfaz de red). Puedes comprobar esto facilmente con el siguiente comando: netstat -an Dicho comando funciona tanto en windows como unix/linux. Te debe dar una salida como la siguiente: tcp 0 0 0.0.0.0:8080 0.0.0.0:* ESCUCHAR Eso significaria que escucha en todos los interfaces. Si te da algo como: tcp 0 0 127.0.0.1:8080 0.0.0.0:* ESCUCHAR es que solo escucha en el interfaz local y no te va a funcionar desde otra máquina. Espero que vayan por ahi los tiros porque sería lo más simple ;-) Un saludo: Javi _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pyarnau en gmail.com Wed May 21 20:01:50 2008 From: pyarnau en gmail.com (Arnau Sanchez) Date: Wed, 21 May 2008 20:01:50 +0200 Subject: =?ISO-8859-1?Q?Re=3A_=5BPython-es=5D_Re=3A_Re=3A_=5BPyGt?= =?ISO-8859-1?Q?k=5D_Splash_para_aplicaci=F3n?= In-Reply-To: <82b2af8e0805201714i40a04a09qe6d0179c11fcb465@mail.gmail.com> References: <82b2af8e0805201714i40a04a09qe6d0179c11fcb465@mail.gmail.com> Message-ID: <4834638E.5080801@gmail.com> Ángel Guzmán Maeso escribió: > Me he leído esa FAQ(y toda la lista de FAQ's) y no me ha quedado muy claro, > ya que en la pagina de Gnome (sobre los generadores) > viene mucha parte en modo "pseudocódigo" y no lo puedo ver un ejemplo real > funcionando. ¿Pseudo-código? supongo que quieres decir que es sólo un fragmento, porque lo que aparece en el pygtk-faq es código real. > Como soy un principiante, aun no entiendo > muchos conceptos y tampoco he trabajado nunca con hilos (solo tengo algunas > pequeñas nociones) y menos aun se como trabajan en Python. > "create_app.next" no existe porque "create_app" no es un generador, no hace yield en ningún momento y es, por tanto, una función común y corriente. No sirve que luego desde dentro llames a un generador (aunque hacer de __init__ un generador, uff, duele sólo pensarlo, Python nunca te dejará hacer eso). Sea como sea, dos (o más) generadores se pueden enlazar así: def generador1(): for x in generador2(): yield x def generador2(): yield 1 yield 2 Pero no es necesario en tu caso, pues podrías organizarlo en un único generador: obj = MiClase() task = obj.initgen() # obj.initgen es un generador que hace el trabajo duro de inicialización gobject.idle_add(task.next, ...) ¿Por qué pones esos try/except? el gtk.main_quit ya debería llamarse automáticamente cuando se produzca una excepción. > while i<1000000: > i=i+1 > yield True # #MODIFICADO: Yield, lo traduzco como "producir", > asi que lo pongo mientras produce el while > #if i%10000: > # print i > > yield False # Al terminar dejo de producir, pero no se si el metodo > def "next" deba llamarse > #en el anterior while > print "Bucle terminado" > self.window.show_all() # Muestra la ventana (sin tamaño por > defecto es 200x200) > Todo lo que haya después del "yield False" no se ejecutará nunca, una vez has devuelto "False" ese generador pasa a mejor vida. Si tienes algo que ejecutar, hazlo antes. Si esto no te convence, puedes probarlo con threads; será complicado pero aprenderás mucho. arnau pd: dicho esto, odio con toda mi alma los splash, ¿por qué un programa se cree tan importante como para inutilizar, aunque sea temporalmente, el escritorio? :-p _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From jm.galvez en oneandzero.net Wed May 21 20:40:02 2008 From: jm.galvez en oneandzero.net (jm.galvez en oneandzero.net) Date: Wed, 21 May 2008 20:40:02 +0200 Subject: =?iso-8859-1?Q?RE:_=5BPython-es=5D_Configuraci=F3n_Cherrypy_Apache2?= Message-ID: <000d01c8bb72$17ab0950$2100a8c0@Principal> Gracías a todos por la ayuda. Ya he conseguido solucionarlo. El problema estaba en el fichero de configuración. Que no lo estaba haciendolo bien con "cherrypy.config.update". Message: 5 Date: Wed, 21 May 2008 17:17:02 +0200 From: Subject: [Python-es] Configuración Cherrypy Apache2 To: "La lista de python en castellano" Message-ID: <000a01c8bb55$bbc42f70$2100a8c0 en Principal> Content-Type: text/plain; charset="iso-8859-1" Buenas gente. El problema que tengo es que cuando ejecuto la aplicación en el servidor cherrypy desde ese ordenador funciona perfectamente en el navegador. Un ejemplo http://localhost:8080. Pero cuando eso mismo lo hago desde otra maquina de mi misma red me sale un error. "No se puede conectar. Firefox no puede establecer una conexión con el servidor en ***.***.*.*:8080". Supongo que sera porque el apache intercepta la petición y no sabe donde mandarla. He estado buscando la solución en www.cherrypy.org pero no me queda claro del todo. Alguién me podría indicar alguna página donde se explicara un poco mejor paso por paso. Gracías a todos. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From jlaparicio.vcl en infomed.sld.cu Wed May 21 19:28:53 2008 From: jlaparicio.vcl en infomed.sld.cu (Josh) Date: Wed, 21 May 2008 19:28:53 +0200 Subject: Sobre IPs Message-ID: Saludos a los listeros: El tema que me trae es el siguiente: Estoy haciendo un programa que analiza rangos de IP, pero por ejemplo, al fallar 201.220.222.1, da error y no sigue analizando IPs de ese mismo rango como 201.220.222.134 que si funcionan, pero que no llegan a mostrarse por el error. Mi duda: ¿Puedo hacer algo para que cuando el gethostbyaddr() falle, muestre un mensaje como "Host no encontrado" y pase a analizar las demás IPs? Salu2; Josh. -- Usando el revolucionario cliente de correo de Opera: http://www.opera.com/mail/ ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From ematus en gmail.com Thu May 22 02:08:42 2008 From: ematus en gmail.com (Eduardo Matus) Date: Wed, 21 May 2008 20:08:42 -0400 Subject: Sobre IPs In-Reply-To: References: Message-ID: <984ad6a0805211708p17d7da68g39726dd80cc4119f@mail.gmail.com> revisa sobre las excepciones... vendria a ser algo como esto... try: # veo si existe la ip except wrote: > Saludos a los listeros: > El tema que me trae es el siguiente: > > Estoy haciendo un programa que analiza rangos de IP, pero por ejemplo, al > fallar 201.220.222.1, da error y no sigue analizando IPs de ese mismo > rango como 201.220.222.134 que si funcionan, pero que no llegan a > mostrarse por el error. Mi duda: ¿Puedo hacer algo para que cuando el > gethostbyaddr() falle, muestre un mensaje como "Host no encontrado" y pase a > analizar las demás IPs? > > Salu2; > Josh. > > -- > Usando el revolucionario cliente de correo de Opera: > http://www.opera.com/mail/ > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From kalith.9 en gmail.com Thu May 22 02:58:43 2008 From: kalith.9 en gmail.com (kalith kalith) Date: Thu, 22 May 2008 20:28:43 +1930 Subject: Gato y el raton Message-ID: <3da702830805211758k3f284c3cnc0fdbd35e200849b@mail.gmail.com> Buenas... se me asigno hacer un juego del gato y el raton.. en realidad es en C pero pues voy a hacerlo en python como estereotipo.. consta de un gato y dos ratones en una matriz.. los ratones tienen q aparecer aleatoriamente en una matriz de 4x4 y el gato encontrar el camino mas cerca y comerselo a ambos =) tngo dos duas primero como genero aleatoriamente para q los dos ratones caigan en posiciones distintas.. se puede hacer usando random? otra cosa no pido code simplemente una estrategia de como hace q el gato se coma los ratones osea mi pensamiento es hacer muchas listas ejemplo si el gato esta en en X posicion y el raton en Y posicion ir comparando seria factible esto o seria demasiado codigo bueno lo q me puedan ayudar es bien recibido saludos y gracias -- Seamos realistas y hagamos lo imposible _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From jcaballero.hep en gmail.com Thu May 22 04:08:08 2008 From: jcaballero.hep en gmail.com (Jose Caballero) Date: Wed, 21 May 2008 22:08:08 -0400 Subject: Gato y el raton In-Reply-To: <3da702830805211758k3f284c3cnc0fdbd35e200849b@mail.gmail.com> References: <3da702830805211758k3f284c3cnc0fdbd35e200849b@mail.gmail.com> Message-ID: http://buscon.rae.es/dpdI/SrvltGUIBusDPD?lema=signos%20ortogr%C3%A1ficos El día 21 de mayo de 2008 20:58, kalith kalith escribió: > Buenas... > > se me asigno hacer un juego del gato y el raton.. en realidad es en C pero > pues voy a hacerlo en python como estereotipo.. consta de un gato y dos > ratones en una matriz.. los ratones tienen q aparecer aleatoriamente en una > matriz de 4x4 y el gato encontrar el camino mas cerca y comerselo a ambos > =) > tngo dos duas primero como genero aleatoriamente para q los dos ratones > caigan en posiciones distintas.. se puede hacer usando random? otra cosa no > pido code simplemente una estrategia de como hace q el gato se coma los > ratones osea mi pensamiento es hacer muchas listas ejemplo si el gato esta > en en X posicion y el raton en Y posicion ir comparando seria factible esto > o seria demasiado codigo bueno lo q me puedan ayudar es bien recibido > saludos y gracias > > -- > Seamos realistas y hagamos lo imposible > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From oinos en web.de Thu May 22 07:48:58 2008 From: oinos en web.de (=?ISO-8859-1?Q?Pablo_Rodr=EDguez?=) Date: Thu, 22 May 2008 07:48:58 +0200 Subject: pregunta sobre opciones In-Reply-To: <483342F5.3060600@gmail.com> References: <48333DD3.5070800@web.de> <483342F5.3060600@gmail.com> Message-ID: <4835094A.8020408@web.de> Arnau Sanchez wrote: > Pablo Rodríguez escribió: >> Usando getopt, intento definir una situación de opciones incompatibles >> (más bien son no necesarias). Lo hago con un condicional: >> >> [...] >> > En cada iteración, "opt" tiene un valor, el que sea, pero no puede ser > que a la vez -s y -b. Tendrías que recorrer todo el bucle, guardar los > valores en alguna variable y al final hacer las comprobaciones necesarias. > > Como getopt es tan engorroso en ésta y otras cuestiones, casi todo el > mundo usa optparse: > > http://docs.python.org/lib/module-optparse.html Muchas gracias, Arnau, por la referencia y por el código. Pablo > from optparse import OptionParser > usage = """Usage: myscript [options] > > do this and that""" > parser = OptionParser(usage) > parser.add_option("-f", "--file", dest="filename", > help="write report to FILE", metavar="FILE") > parser.add_option("-q", "--quiet", > action="store_false", dest="verbose", default=True, > help="don't print status messages to stdout") > > options, args = parser.parse_args() > > A lo que podríamos añadir, en algo parecido a lo que quieres: > > # no tiene sentido, es solo un ejemplo > if options.filename and options.verbose: > sys.stderr.write("Incompatible options: ....\n") > parser.print_help() > sys.exit(1) _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From listas en soft-com.es Thu May 22 10:38:33 2008 From: listas en soft-com.es (=?ISO-8859-1?Q?Oswaldo_Hern=E1ndez?=) Date: Thu, 22 May 2008 10:38:33 +0200 Subject: serve_forever Message-ID: <48353109.1010701@soft-com.es> Hola, En una aplicacion utilizo el modulo SocketServer.ThreadingTCPServer el cual me funciona muy bien. El problema con el que me encuentro es con el metodo serve_forever. Este metodo, como su nombre indica, maneja las conexiones entrantes de una forma muy bien explicada en su doc: """Handle one request at a time until doomsday.""" Bueno, el problema con el que me encuentro es ese, como detener el servidor desde otro thread. No encuantro ningúm metodo para ello en el modulo. He probado a cerrar el socket del servidor, pero no termina de funcionar bien puesto que hasta que el servidor necesite utilizarlo no salta la excepción, posiblemente sea debido a que el cierre se realiza desde otro thread. Finalmente he conseguido hacerlo de una forma un tanto chapucera, pero la pregunta es: ¿Alguien sabe como finalizar el servidor de una forma limpia? Gracias. -- ***************************************** Oswaldo Hernández oswaldo (@) soft-com (.) es ***************************************** PD: Antes de imprimir este mensaje, asegúrese de que es necesario. El medio ambiente está en nuestra mano. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From lgmerino en yahoo.com Thu May 22 10:51:09 2008 From: lgmerino en yahoo.com (Luis Garcia Merino) Date: Thu, 22 May 2008 01:51:09 -0700 (PDT) Subject: serve_forever Message-ID: <903261.63338.qm@web56504.mail.re3.yahoo.com> ----- Original Message ---- From: Oswaldo Hernández To: Lista de discusión sobre python en castellano Sent: Thursday, May 22, 2008 10:38:33 AM Subject: [Python-es] serve_forever Hola, En una aplicacion utilizo el modulo SocketServer.ThreadingTCPServer el cual me funciona muy bien. El problema con el que me encuentro es con el metodo serve_forever. Este metodo, como su nombre indica, maneja las conexiones entrantes de una forma muy bien explicada en su doc: """Handle one request at a time until doomsday.""" Bueno, el problema con el que me encuentro es ese, como detener el servidor desde otro thread. No encuantro ningúm metodo para ello en el modulo. He probado a cerrar el socket del servidor, pero no termina de funcionar bien puesto que hasta que el servidor necesite utilizarlo no salta la excepción, posiblemente sea debido a que el cierre se realiza desde otro thread. Finalmente he conseguido hacerlo de una forma un tanto chapucera, pero la pregunta es: ¿Alguien sabe como finalizar el servidor de una forma limpia? Gracias. -- ***************************************** Oswaldo Hernández oswaldo (@) soft-com (.) es ***************************************** PD: Antes de imprimir este mensaje, asegúrese de que es necesario. El medio ambiente está en nuestra mano. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes Buenos días, no lo he hecho, pero supongo que puedes programar el servidor para que al recibir determinada orden a través del socket se termine la ejecución con server_close()... imagino que también podría hacerse con kill y subprocess... aunque creo que la primera opción es más "limpia", pero no sé si lo suficientemente limpia para ti :) Un saludo, Luis _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From listas en soft-com.es Thu May 22 11:29:55 2008 From: listas en soft-com.es (=?ISO-8859-1?Q?Oswaldo_Hern=E1ndez?=) Date: Thu, 22 May 2008 11:29:55 +0200 Subject: serve_forever In-Reply-To: <903261.63338.qm@web56504.mail.re3.yahoo.com> References: <903261.63338.qm@web56504.mail.re3.yahoo.com> Message-ID: <48353D13.5030309@soft-com.es> >Luis Garcia Merino escribió: >> ----- Original Message ---- >> From: Oswaldo Hernández >> To: Lista de discusión sobre python en castellano >> Sent: Thursday, May 22, 2008 10:38:33 AM >> Subject: [Python-es] serve_forever >> >> Hola, >> >> En una aplicacion utilizo el modulo SocketServer.ThreadingTCPServer el cual me funciona muy bien. >> >> El problema con el que me encuentro es con el metodo serve_forever. Este metodo, como su nombre >> indica, maneja las conexiones entrantes de una forma muy bien explicada en su doc: >> >> """Handle one request at a time until doomsday.""" >> >> Bueno, el problema con el que me encuentro es ese, como detener el servidor desde otro thread. No >> encuantro ningúm metodo para ello en el modulo. >> >> He probado a cerrar el socket del servidor, pero no termina de funcionar bien puesto que hasta que >> el servidor necesite utilizarlo no salta la excepción, posiblemente sea debido a que el cierre se >> realiza desde otro thread. >> >> Finalmente he conseguido hacerlo de una forma un tanto chapucera, pero la pregunta es: >> >> ¿Alguien sabe como finalizar el servidor de una forma limpia? >> > > >no lo he hecho, pero supongo que puedes programar el servidor para que al recibir determinada orden >a través del socket se termine la ejecución con server_close()... imagino que también podría >hacerse con kill y subprocess... aunque creo que la primera opción es más "limpia", pero no sé si >lo suficientemente limpia para ti :) ThreadingTCPServer crea automaticamente un nuevo thread con su manejador cuando recibe una conexión, este manejador puede recibir el mensaje de cierre y finalizrse a si mismo, pero continuo con el mismo problema de finalizar el thread del servidor. Sobre el kill, no ver forma de hacer kill a un thread. Saludos, -- ***************************************** Oswaldo Hernández oswaldo (@) soft-com (.) es ***************************************** PD: Antes de imprimir este mensaje, asegúrese de que es necesario. El medio ambiente está en nuestra mano. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From abermudez en hispasec.com Thu May 22 12:16:39 2008 From: abermudez en hispasec.com (Alejandro Bermudez Aragurz) Date: Thu, 22 May 2008 12:16:39 +0200 Subject: serve_forever In-Reply-To: <48353D13.5030309@soft-com.es> References: <903261.63338.qm@web56504.mail.re3.yahoo.com> <48353D13.5030309@soft-com.es> Message-ID: <48354807.2040807@hispasec.com> Oswaldo Hernández escribió: > >Luis Garcia Merino escribió: >>> ----- Original Message ---- >>> From: Oswaldo Hernández >>> To: Lista de discusión sobre python en castellano >>> >>> Sent: Thursday, May 22, 2008 10:38:33 AM >>> Subject: [Python-es] serve_forever >>> >>> Hola, >>> >>> En una aplicacion utilizo el modulo SocketServer.ThreadingTCPServer >>> el cual me funciona muy bien. >>> >>> El problema con el que me encuentro es con el metodo serve_forever. >>> Este metodo, como su nombre indica, maneja las conexiones entrantes >>> de una forma muy bien explicada en su doc: >>> >>> """Handle one request at a time until doomsday.""" >>> >>> Bueno, el problema con el que me encuentro es ese, como detener el >>> servidor desde otro thread. No encuantro ningúm metodo para ello en >>> el modulo. >>> >>> He probado a cerrar el socket del servidor, pero no termina de >>> funcionar bien puesto que hasta que el servidor necesite utilizarlo >>> no salta la excepción, posiblemente sea debido a que el cierre se >>> realiza desde otro thread. >>> >>> Finalmente he conseguido hacerlo de una forma un tanto chapucera, >>> pero la pregunta es: >>> >>> ¿Alguien sabe como finalizar el servidor de una forma limpia? >>> > > > > > > >no lo he hecho, pero supongo que puedes programar el servidor para > que al recibir determinada orden >a través del socket se termine la > ejecución con server_close()... imagino que también podría >hacerse > con kill y subprocess... aunque creo que la primera opción es más > "limpia", pero no sé si >lo suficientemente limpia para ti :) > > > ThreadingTCPServer crea automaticamente un nuevo thread con su > manejador cuando recibe una conexión, este manejador puede recibir el > mensaje de cierre y finalizrse a si mismo, pero continuo con el mismo > problema de finalizar el thread del servidor. > > Sobre el kill, no ver forma de hacer kill a un thread. > > Saludos, > > > Yo lo solucione de una forma muy "guarra": Tienes una clase thread(o heredada de esta) donde se arranca el servidor. Desde otra clase(o en el main del modulo, a omo lo quieras organizar), se arranca el hilo anteriomente mencionado, y se queda en bucle infinito esperando señal de apagado(la presencia de un archivo, pulsacion de ctrl+c, etc). Cuando eso ocurre, matas tu propio proceso con kill. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From listas en soft-com.es Thu May 22 13:21:12 2008 From: listas en soft-com.es (=?ISO-8859-1?Q?Oswaldo_Hern=E1ndez?=) Date: Thu, 22 May 2008 13:21:12 +0200 Subject: serve_forever In-Reply-To: <48354807.2040807@hispasec.com> References: <903261.63338.qm@web56504.mail.re3.yahoo.com> <48353D13.5030309@soft-com.es> <48354807.2040807@hispasec.com> Message-ID: <48355728.7090009@soft-com.es> Alejandro Bermudez Aragurz escribió: > Oswaldo Hernández escribió: >> >Luis Garcia Merino escribió: >>>> ----- Original Message ---- >>>> From: Oswaldo Hernández >>>> To: Lista de discusión sobre python en castellano >>>> >>>> Sent: Thursday, May 22, 2008 10:38:33 AM >>>> Subject: [Python-es] serve_forever >>>> >>>> Hola, >>>> >>>> En una aplicacion utilizo el modulo SocketServer.ThreadingTCPServer >>>> el cual me funciona muy bien. >>>> >>>> El problema con el que me encuentro es con el metodo serve_forever. >>>> Este metodo, como su nombre indica, maneja las conexiones entrantes >>>> de una forma muy bien explicada en su doc: >>>> >>>> """Handle one request at a time until doomsday.""" >>>> >>>> Bueno, el problema con el que me encuentro es ese, como detener el >>>> servidor desde otro thread. No encuantro ningúm metodo para ello en >>>> el modulo. >>>> >>>> He probado a cerrar el socket del servidor, pero no termina de >>>> funcionar bien puesto que hasta que el servidor necesite utilizarlo >>>> no salta la excepción, posiblemente sea debido a que el cierre se >>>> realiza desde otro thread. >>>> >>>> Finalmente he conseguido hacerlo de una forma un tanto chapucera, >>>> pero la pregunta es: >>>> >>>> ¿Alguien sabe como finalizar el servidor de una forma limpia? >>>> >> >> > >> > >> >no lo he hecho, pero supongo que puedes programar el servidor para >> que al recibir determinada orden >a través del socket se termine la >> ejecución con server_close()... imagino que también podría >hacerse >> con kill y subprocess... aunque creo que la primera opción es más >> "limpia", pero no sé si >lo suficientemente limpia para ti :) >> >> >> ThreadingTCPServer crea automaticamente un nuevo thread con su >> manejador cuando recibe una conexión, este manejador puede recibir el >> mensaje de cierre y finalizrse a si mismo, pero continuo con el mismo >> problema de finalizar el thread del servidor. >> >> Sobre el kill, no ver forma de hacer kill a un thread. >> >> Saludos, >> >> >> > Yo lo solucione de una forma muy "guarra": > > Tienes una clase thread(o heredada de esta) donde se arranca el > servidor. > > Desde otra clase(o en el main del modulo, a omo lo quieras > organizar), se arranca el hilo anteriomente mencionado, y se queda en > bucle infinito esperando señal de apagado(la presencia de un archivo, > pulsacion de ctrl+c, etc). Cuando eso ocurre, matas tu propio proceso > con kill. El problema que tengo es que la aplicación es un servicio de windows, y debo respetar las normas de arranque y parada del servicio, y por lo tanto, finalizar los procesos de la forma mas limpia posible. Lo tengo solucionado de una forma no se si tan guarra como la tuya ;) La pregunta va principalmente por si se me escapa algo, no se, que ThreadingTCPServer tenga algo para finalizar que no este documentado, se le pueda enviar algun tipo de señal para que se detenga ????. -- ***************************************** Oswaldo Hernández oswaldo (@) soft-com (.) es ***************************************** PD: Antes de imprimir este mensaje, asegúrese de que es necesario. El medio ambiente está en nuestra mano. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From rglm en montevideo.com.uy Thu May 22 12:50:25 2008 From: rglm en montevideo.com.uy (Raul Lopez) Date: Thu, 22 May 2008 08:50:25 -0200 Subject: Gato y el raton In-Reply-To: <3da702830805211758k3f284c3cnc0fdbd35e200849b@mail.gmail.com> References: <3da702830805211758k3f284c3cnc0fdbd35e200849b@mail.gmail.com> Message-ID: <48354FF1.9090202@montevideo.com.uy> Hola Kalith. Mas alla de que el tema es medio OT, y de que no me quita el suenio la RAE te dire que en mi humilde opinion creo que la estrategia que utilizaria seria crear una clase para instanciar el objeto gato y una clase para instanciar los ratones. La ubicacion inicial del objeto gato estaria dada en efecto por alguna funcion que me genere coordenadas en forma randomica y el estado de salud de los ratones seria un atributo de la clase raton. Si el gato en su busqueda se ubica en un elemento de la matriz en que se encuentra un raton, le cambias al objeto raton el atributo de saludable a comido. Espero te sea de utilidad. Un saludo, Raul. PD: Si, ademas me faltaron todos los tildes.... kalith kalith escribió: > Buenas... > > se me asigno hacer un juego del gato y el raton.. en realidad es en C pero > pues voy a hacerlo en python como estereotipo.. consta de un gato y dos > ratones en una matriz.. los ratones tienen q aparecer aleatoriamente en una > matriz de 4x4 y el gato encontrar el camino mas cerca y comerselo a ambos =) > tngo dos duas primero como genero aleatoriamente para q los dos ratones > caigan en posiciones distintas.. se puede hacer usando random? otra cosa no > pido code simplemente una estrategia de como hace q el gato se coma los > ratones osea mi pensamiento es hacer muchas listas ejemplo si el gato esta > en en X posicion y el raton en Y posicion ir comparando seria factible esto > o seria demasiado codigo bueno lo q me puedan ayudar es bien recibido > saludos y gracias > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pepe en diselpro.com Thu May 22 14:35:55 2008 From: pepe en diselpro.com (Pepe Aracil) Date: Thu, 22 May 2008 14:35:55 +0200 Subject: serve_forever In-Reply-To: <48355728.7090009@soft-com.es> References: <903261.63338.qm@web56504.mail.re3.yahoo.com> <48353D13.5030309@soft-com.es> <48354807.2040807@hispasec.com> <48355728.7090009@soft-com.es> Message-ID: <483568AB.4060509@diselpro.com> Hola Si te miras los fuentes del módulo Socketserver y en concreto de la clase BaseServer, veras esto: -- code -- def serve_forever(self): """Handle one request at a time until doomsday.""" while 1: self.handle_request() ------ Solo tienes que crear una clase derivada de TCPServer y sobreescribir el método server_forever. ------ code -- def serve_forever(self): """Handle one request at a time until exit_flag.""" while not exit_flag: self.handle_request() ------ Salud. Oswaldo Hernández escribió: > Alejandro Bermudez Aragurz escribió: >> Oswaldo Hernández escribió: >>> >Luis Garcia Merino escribió: >>>>> ----- Original Message ---- >>>>> From: Oswaldo Hernández >>>>> To: Lista de discusión sobre python en castellano >>>>> >>>>> Sent: Thursday, May 22, 2008 10:38:33 AM >>>>> Subject: [Python-es] serve_forever >>>>> >>>>> Hola, >>>>> >>>>> En una aplicacion utilizo el modulo SocketServer.ThreadingTCPServer >>>>> el cual me funciona muy bien. >>>>> >>>>> El problema con el que me encuentro es con el metodo serve_forever. >>>>> Este metodo, como su nombre indica, maneja las conexiones entrantes >>>>> de una forma muy bien explicada en su doc: >>>>> >>>>> """Handle one request at a time until doomsday.""" >>>>> >>>>> Bueno, el problema con el que me encuentro es ese, como detener el >>>>> servidor desde otro thread. No encuantro ningúm metodo para ello en >>>>> el modulo. >>>>> >>>>> He probado a cerrar el socket del servidor, pero no termina de >>>>> funcionar bien puesto que hasta que el servidor necesite utilizarlo >>>>> no salta la excepción, posiblemente sea debido a que el cierre se >>>>> realiza desde otro thread. >>>>> >>>>> Finalmente he conseguido hacerlo de una forma un tanto chapucera, >>>>> pero la pregunta es: >>>>> >>>>> ¿Alguien sabe como finalizar el servidor de una forma limpia? >>>>> >>> >>> > >>> > >>> >no lo he hecho, pero supongo que puedes programar el servidor para >>> que al recibir determinada orden >a través del socket se termine la >>> ejecución con server_close()... imagino que también podría >hacerse >>> con kill y subprocess... aunque creo que la primera opción es más >>> "limpia", pero no sé si >lo suficientemente limpia para ti :) >>> >>> >>> ThreadingTCPServer crea automaticamente un nuevo thread con su >>> manejador cuando recibe una conexión, este manejador puede recibir el >>> mensaje de cierre y finalizrse a si mismo, pero continuo con el mismo >>> problema de finalizar el thread del servidor. >>> >>> Sobre el kill, no ver forma de hacer kill a un thread. >>> >>> Saludos, >>> >>> >>> >> Yo lo solucione de una forma muy "guarra": >> >> Tienes una clase thread(o heredada de esta) donde se arranca el >> servidor. >> >> Desde otra clase(o en el main del modulo, a omo lo quieras >> organizar), se arranca el hilo anteriomente mencionado, y se queda en >> bucle infinito esperando señal de apagado(la presencia de un archivo, >> pulsacion de ctrl+c, etc). Cuando eso ocurre, matas tu propio proceso >> con kill. > > El problema que tengo es que la aplicación es un servicio de windows, y > debo respetar las normas de arranque y parada del servicio, y por lo > tanto, finalizar los procesos de la forma mas limpia posible. > Lo tengo solucionado de una forma no se si tan guarra como la tuya ;) > > La pregunta va principalmente por si se me escapa algo, no se, que > ThreadingTCPServer tenga algo para finalizar que no este documentado, se > le pueda enviar algun tipo de señal para que se detenga ????. > > > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From listas en soft-com.es Thu May 22 15:42:28 2008 From: listas en soft-com.es (=?ISO-8859-1?Q?Oswaldo_Hern=E1ndez?=) Date: Thu, 22 May 2008 15:42:28 +0200 Subject: serve_forever In-Reply-To: <483568AB.4060509@diselpro.com> References: <903261.63338.qm@web56504.mail.re3.yahoo.com> <48353D13.5030309@soft-com.es> <48354807.2040807@hispasec.com> <48355728.7090009@soft-com.es> <483568AB.4060509@diselpro.com> Message-ID: <48357844.1030701@soft-com.es> Pepe Aracil escribió: > Hola > > Si te miras los fuentes del módulo Socketserver > y en concreto de la clase BaseServer, veras esto: > > -- code -- > def serve_forever(self): > """Handle one request at a time until doomsday.""" > while 1: > self.handle_request() > ------ > > Solo tienes que crear una clase derivada de TCPServer y > sobreescribir el método server_forever. > > ------ code -- > def serve_forever(self): > """Handle one request at a time until exit_flag.""" > while not exit_flag: > self.handle_request() > ------ > > > Asi es como lo tengo hecho, pero el problema es que no funciona hasta que hay una nueva peticion de conexión. Como apaño ademas de establecer el flag tengo que crear un socket en el otro proceso y hacer una conexión al server, y entonces ya funciona lo del flag y termina. Estos son los fragmentos del codigo real: def serve_forever(self): while 1: self.Log.debug("handle_request, %s" % self.FinalizarProceso) if self.FinalizarProceso: break self.handle_request() self.Log.debug("serve_forever, finalizado") En el proceso llamado para finalizar los threads: Server.socket.close() # esperar 2 segundos time.sleep(2) # abir conexion al socket para que pare s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) try: s.connect(("localhost", 4069)) s.send('Cierrate hijo de p...!') s.close() except: raise -- ***************************************** Oswaldo Hernández oswaldo (@) soft-com (.) es ***************************************** PD: Antes de imprimir este mensaje, asegúrese de que es necesario. El medio ambiente está en nuestra mano. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pepe en diselpro.com Thu May 22 17:58:51 2008 From: pepe en diselpro.com (Pepe Aracil) Date: Thu, 22 May 2008 17:58:51 +0200 Subject: serve_forever In-Reply-To: <48357844.1030701@soft-com.es> References: <903261.63338.qm@web56504.mail.re3.yahoo.com> <48353D13.5030309@soft-com.es> <48354807.2040807@hispasec.com> <48355728.7090009@soft-com.es> <483568AB.4060509@diselpro.com> <48357844.1030701@soft-com.es> Message-ID: <4835983B.9060305@diselpro.com> Y si le pones un timeout al socket? tcpserver_instance.socket.settimeout(5) En teoria el método handle_request se sale directamente si captura una excepcion del tipo socket.error y creo que un timeout de socket genera este tipo de excepcion (no lo he probado) Saludos. Oswaldo Hernández escribió: > Pepe Aracil escribió: >> Hola >> >> Si te miras los fuentes del módulo Socketserver >> y en concreto de la clase BaseServer, veras esto: >> >> -- code -- >> def serve_forever(self): >> """Handle one request at a time until doomsday.""" >> while 1: >> self.handle_request() >> ------ >> >> Solo tienes que crear una clase derivada de TCPServer y >> sobreescribir el método server_forever. >> >> ------ code -- >> def serve_forever(self): >> """Handle one request at a time until exit_flag.""" >> while not exit_flag: >> self.handle_request() >> ------ >> >> >> > > Asi es como lo tengo hecho, pero el problema es que no funciona hasta > que hay una nueva peticion de conexión. > > Como apaño ademas de establecer el flag tengo que crear un socket en el > otro proceso y hacer una conexión al server, y entonces ya funciona lo > del flag y termina. > > Estos son los fragmentos del codigo real: > > def serve_forever(self): > while 1: > self.Log.debug("handle_request, %s" % self.FinalizarProceso) > > if self.FinalizarProceso: > break > > self.handle_request() > > self.Log.debug("serve_forever, finalizado") > > > En el proceso llamado para finalizar los threads: > > Server.socket.close() > # esperar 2 segundos > > time.sleep(2) > > # abir conexion al socket para que pare > s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) > try: > s.connect(("localhost", 4069)) > s.send('Cierrate hijo de p...!') > s.close() > except: > > raise > > > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From jlaparicio.vcl en infomed.sld.cu Thu May 22 18:10:05 2008 From: jlaparicio.vcl en infomed.sld.cu (Josh) Date: Thu, 22 May 2008 18:10:05 +0200 Subject: Sobre IPs In-Reply-To: <984ad6a0805211708p17d7da68g39726dd80cc4119f@mail.gmail.com> References: <984ad6a0805211708p17d7da68g39726dd80cc4119f@mail.gmail.com> Message-ID: Hola: Me sirvió. No puse excepción en específico, para que usara cualquier error. ¡Qué trabajoso procesar cada IP! Pero bueno, ya todo está matado. Gracias por la ayuda. Salu2; Josh. En Thu, 22 May 2008 02:08:42 +0200, Eduardo Matus escribió: > revisa sobre las excepciones... > vendria a ser algo como esto... > try: > # veo si existe la ip > except print 'ip no existe' > > On Wed, May 21, 2008 at 1:28 PM, Josh > wrote: > >> Saludos a los listeros: >> El tema que me trae es el siguiente: >> >> Estoy haciendo un programa que analiza rangos de IP, pero por ejemplo, >> al >> fallar 201.220.222.1, da error y no sigue analizando IPs de ese mismo >> rango como 201.220.222.134 que si funcionan, pero que no llegan a >> mostrarse por el error. Mi duda: ¿Puedo hacer algo para que cuando el >> gethostbyaddr() falle, muestre un mensaje como "Host no encontrado" y >> pase a >> analizar las demás IPs? >> >> Salu2; >> Josh. >> >> -- >> Usando el revolucionario cliente de correo de Opera: >> http://www.opera.com/mail/ >> >> _______________________________________________ >> Lista de correo Python-es >> http://listas.aditel.org/listinfo/python-es >> FAQ: http://listas.aditel.org/faqpyes >> > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes -- Usando el revolucionario cliente de correo de Opera: http://www.opera.com/mail/ ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From punchikk en yahoo.com Fri May 23 10:53:25 2008 From: punchikk en yahoo.com (punchik punchik) Date: Fri, 23 May 2008 01:53:25 -0700 (PDT) Subject: escalar datos gps para que encaje con el tamano de mi canas Message-ID: <625366.7049.qm@web32003.mail.mud.yahoo.com> hola amigos , tengo dos dudas: estoy haciendo un juego en python para symbian en el que controlo un avantar con datos gps de un telefono. Los datos que obtengo de mi gps son coordenadas UTM (XY) . Las unidades son metros. si recibo por ejemplo en mi telefono los siguientes datos gps: 8661206 45227107 - x 281474 314742278 - y la primera pregutna seria : cual seria la formula u operacion matematica para que esos datos representen la posicion 100 * 100 de mi canvas (teniendo un canvas de 200 * 200)? osea para que el avatar aparesca en medio de mi pantalla . mi segunda duda es esta: Lo que estoy buscando es escalar los datos de manera que cada pixel de mi canvas represente 100 metros ? o mejor dicho si camino 100 metros mi avatar se mueva 1 pixel.o por ejemplo: 281474 314742278 281474 314741278 --- seria 10 pixeles mas abajo Alguna idea de como hacer esta conversion? muchas gracias.. punchikk _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From mcasalboni en gmail.com Fri May 23 12:10:57 2008 From: mcasalboni en gmail.com (Manuel Casalboni) Date: Fri, 23 May 2008 12:10:57 +0200 Subject: Gato y el raton In-Reply-To: <48354FF1.9090202@montevideo.com.uy> References: <3da702830805211758k3f284c3cnc0fdbd35e200849b@mail.gmail.com> <48354FF1.9090202@montevideo.com.uy> Message-ID: <3c476fec0805230310g584c68a9ld05f4efdec398e74@mail.gmail.com> Buenas... primero, disculpe por mi español, soy italiano y lo hablo solo un poco. Pienso que uno de los problemas que tienes sea hacer que los ratone no se vayan a demorar en la misma posicion... Me parece claro que lo mejor es generar coordenades random, pero cuando vas a generar el segundo raton tienes que averiguar si aparece en la misma posicion del primero, si esto pasa, siplemente puedes cambiar una de las dos coordinadas... Te hare un ejemplo usando un meta codigo. Raton_1 = Random (x, y) Raton_2 = Random (x, y) If Raton_1 == Raton_2 { Raton_2[x] += 1 If Raton_2[x] == Esta_Fuera_De_La_Matriz { Raton_2[x] = Raton[x] - 2 } } Esta es solo una idea de codico que claramente tienes que traducir en el linguage que vas a utilizar. Manuel. 2008/5/22, Raul Lopez : > Hola Kalith. > > Mas alla de que el tema es medio OT, y de que no me quita el suenio la > RAE te dire que en mi humilde opinion creo que la estrategia que > utilizaria seria crear una clase para instanciar el objeto gato y una > clase para instanciar los ratones. La ubicacion inicial del objeto gato > estaria dada en efecto por alguna funcion que me genere coordenadas en > forma randomica y el estado de salud de los ratones seria un atributo de > la clase raton. Si el gato en su busqueda se ubica en un elemento de la > matriz en que se encuentra un raton, le cambias al objeto raton el > atributo de saludable a comido. > > Espero te sea de utilidad. > > Un saludo, Raul. > > PD: Si, ademas me faltaron todos los tildes.... > > kalith kalith escribió: >> Buenas... >> >> se me asigno hacer un juego del gato y el raton.. en realidad es en C pero >> pues voy a hacerlo en python como estereotipo.. consta de un gato y dos >> ratones en una matriz.. los ratones tienen q aparecer aleatoriamente en >> una >> matriz de 4x4 y el gato encontrar el camino mas cerca y comerselo a ambos >> =) >> tngo dos duas primero como genero aleatoriamente para q los dos ratones >> caigan en posiciones distintas.. se puede hacer usando random? otra cosa >> no >> pido code simplemente una estrategia de como hace q el gato se coma los >> ratones osea mi pensamiento es hacer muchas listas ejemplo si el gato esta >> en en X posicion y el raton en Y posicion ir comparando seria factible >> esto >> o seria demasiado codigo bueno lo q me puedan ayudar es bien recibido >> saludos y gracias >> > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From ogunsett en gmail.com Fri May 23 12:29:16 2008 From: ogunsett en gmail.com (Oscar Gunsett) Date: Fri, 23 May 2008 07:29:16 -0300 Subject: escalar datos gps para que encaje con el tamano de mi canas In-Reply-To: <625366.7049.qm@web32003.mail.mud.yahoo.com> References: <625366.7049.qm@web32003.mail.mud.yahoo.com> Message-ID: Divide y reinaras. Es un juego de escalas. o sea si 100 m son 1 pixel entonces xm/100m = m pixeles. diria mi abuela regla de 3 simple. En tu ejemplo ultimo: (314742278 - 314741278) / 100 = 1000 / 100 = 10 pixels. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From a.porrua en gmail.com Fri May 23 12:35:28 2008 From: a.porrua en gmail.com (antonio) Date: Fri, 23 May 2008 12:35:28 +0200 Subject: Gato y el raton In-Reply-To: <3c476fec0805230310g584c68a9ld05f4efdec398e74@mail.gmail.com> References: <3da702830805211758k3f284c3cnc0fdbd35e200849b@mail.gmail.com> <48354FF1.9090202@montevideo.com.uy> <3c476fec0805230310g584c68a9ld05f4efdec398e74@mail.gmail.com> Message-ID: <1211538928.11762.9.camel@nos> El vie, 23-05-2008 a las 12:10 +0200, Manuel Casalboni escribió: > Buenas... > primero, disculpe por mi español, soy italiano y lo hablo solo un poco. > Pienso que uno de los problemas que tienes sea hacer que los ratone no > se vayan a demorar en la misma posicion... > Me parece claro que lo mejor es generar coordenades random, pero > cuando vas a generar el segundo raton tienes que averiguar si aparece > en la misma posicion del primero, si esto pasa, siplemente puedes > cambiar una de las dos coordinadas... > Te hare un ejemplo usando un meta codigo. > > Raton_1 = Random (x, y) > > Raton_2 = Random (x, y) > > If Raton_1 == Raton_2 > { > Raton_2[x] += 1 > If Raton_2[x] == Esta_Fuera_De_La_Matriz > { > Raton_2[x] = Raton[x] - 2 > } > } > > Esta es solo una idea de codico que claramente tienes que traducir en > el linguage que vas a utilizar. > > Manuel. > > 2008/5/22, Raul Lopez : > > Hola Kalith. > > > > Mas alla de que el tema es medio OT, y de que no me quita el suenio la > > RAE te dire que en mi humilde opinion creo que la estrategia que > > utilizaria seria crear una clase para instanciar el objeto gato y una > > clase para instanciar los ratones. La ubicacion inicial del objeto gato > > estaria dada en efecto por alguna funcion que me genere coordenadas en > > forma randomica y el estado de salud de los ratones seria un atributo de > > la clase raton. Si el gato en su busqueda se ubica en un elemento de la > > matriz en que se encuentra un raton, le cambias al objeto raton el > > atributo de saludable a comido. > > > > Espero te sea de utilidad. > > > > Un saludo, Raul. > > > > PD: Si, ademas me faltaron todos los tildes.... > > > > kalith kalith escribió: > >> Buenas... > >> > >> se me asigno hacer un juego del gato y el raton.. en realidad es en C pero > >> pues voy a hacerlo en python como estereotipo.. consta de un gato y dos > >> ratones en una matriz.. los ratones tienen q aparecer aleatoriamente en > >> una > >> matriz de 4x4 y el gato encontrar el camino mas cerca y comerselo a ambos > >> =) > >> tngo dos duas primero como genero aleatoriamente para q los dos ratones > >> caigan en posiciones distintas.. se puede hacer usando random? otra cosa > >> no > >> pido code simplemente una estrategia de como hace q el gato se coma los > >> ratones osea mi pensamiento es hacer muchas listas ejemplo si el gato esta > >> en en X posicion y el raton en Y posicion ir comparando seria factible > >> esto > >> o seria demasiado codigo bueno lo q me puedan ayudar es bien recibido > >> saludos y gracias MATRIZXMIN=0 MATRIZXMAX=10 MATRIZYMIN=0 MATRIZYMAX=10 gatox=randrange?(MATRIZXMIN,MATRIZXMAX) ??gatoy=randrange?(MATRIZXMIN,MATRIZXMAX) raton1x=randrange(MATRIZXMIN,MATRIZXMAX) ?raton1y=randrange(MATRIZXMIN,MATRIZXMAX) while(gatox==raton1x and gatoy==raton1y): ? raton1x=randrange(MATRIZXMIN,MATRIZXMAX) ?raton1y=randrange(MATRIZXMIN,MATRIZXMAX) raton2x=randrange(MATRIZXMIN,MATRIZXMAX) ?raton2y=randrange(MATRIZXMIN,MATRIZXMAX) while((raton1x=raton2x and raton1y=raton2y) or (gatox=raton2x andgatoy=raton2y)): ? raton2x=randrange(MATRIZXMIN,MATRIZXMAX) ?raton2y=randrange(MATRIZXMIN,MATRIZXMAX) La ruta Optima: la ruta óptima es ir al ratón más cercano y luego al otro independientemente de que haya paredes u obstaculos ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From erjorge en gmail.com Fri May 23 13:50:11 2008 From: erjorge en gmail.com (Jorge Gant Ballesteros) Date: Fri, 23 May 2008 13:50:11 +0200 Subject: Dialogo de impresoras de Windows Message-ID: <3041714f0805230450g1549bc3fr403c172c2726ab28@mail.gmail.com> Hola a Todos: Me gustaría saber si existe alguna forma de lanzar el diálogo de impresoras de windows, obteniendo comunicación claro está con python. Estoy mirando con win32print y es muy útil pero querría saber si puedo ahorrarme el trabajo de construirme el dialogo yo. Más que nada no por vago sino para que de más apariencia de estándar. Gracias _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From rglm en montevideo.com.uy Fri May 23 13:40:49 2008 From: rglm en montevideo.com.uy (Raul Lopez) Date: Fri, 23 May 2008 09:40:49 -0200 Subject: Gato y el raton In-Reply-To: <1211538928.11762.9.camel@nos> References: <3da702830805211758k3f284c3cnc0fdbd35e200849b@mail.gmail.com> <48354FF1.9090202@montevideo.com.uy> <3c476fec0805230310g584c68a9ld05f4efdec398e74@mail.gmail.com> <1211538928.11762.9.camel@nos> Message-ID: <4836AD41.1060406@montevideo.com.uy> Hola. Una idea... para encontrar al primer raton, recorreria la matriz haciendo un espiral hacia afuera a partir del punto en que quedo posicionado el gato, y luego repetiria el procedimiento para el segundo raton. Saludos, Raul. antonio escribió: > El vie, 23-05-2008 a las 12:10 +0200, Manuel Casalboni escribió: >> Buenas... >> primero, disculpe por mi español, soy italiano y lo hablo solo un poco. >> Pienso que uno de los problemas que tienes sea hacer que los ratone no >> se vayan a demorar en la misma posicion... >> Me parece claro que lo mejor es generar coordenades random, pero >> cuando vas a generar el segundo raton tienes que averiguar si aparece >> en la misma posicion del primero, si esto pasa, siplemente puedes >> cambiar una de las dos coordinadas... >> Te hare un ejemplo usando un meta codigo. >> >> Raton_1 = Random (x, y) >> >> Raton_2 = Random (x, y) >> >> If Raton_1 == Raton_2 >> { >> Raton_2[x] += 1 >> If Raton_2[x] == Esta_Fuera_De_La_Matriz >> { >> Raton_2[x] = Raton[x] - 2 >> } >> } >> >> Esta es solo una idea de codico que claramente tienes que traducir en >> el linguage que vas a utilizar. >> >> Manuel. >> >> 2008/5/22, Raul Lopez : >>> Hola Kalith. >>> >>> Mas alla de que el tema es medio OT, y de que no me quita el suenio la >>> RAE te dire que en mi humilde opinion creo que la estrategia que >>> utilizaria seria crear una clase para instanciar el objeto gato y una >>> clase para instanciar los ratones. La ubicacion inicial del objeto gato >>> estaria dada en efecto por alguna funcion que me genere coordenadas en >>> forma randomica y el estado de salud de los ratones seria un atributo de >>> la clase raton. Si el gato en su busqueda se ubica en un elemento de la >>> matriz en que se encuentra un raton, le cambias al objeto raton el >>> atributo de saludable a comido. >>> >>> Espero te sea de utilidad. >>> >>> Un saludo, Raul. >>> >>> PD: Si, ademas me faltaron todos los tildes.... >>> >>> kalith kalith escribió: >>>> Buenas... >>>> >>>> se me asigno hacer un juego del gato y el raton.. en realidad es en C pero >>>> pues voy a hacerlo en python como estereotipo.. consta de un gato y dos >>>> ratones en una matriz.. los ratones tienen q aparecer aleatoriamente en >>>> una >>>> matriz de 4x4 y el gato encontrar el camino mas cerca y comerselo a ambos >>>> =) >>>> tngo dos duas primero como genero aleatoriamente para q los dos ratones >>>> caigan en posiciones distintas.. se puede hacer usando random? otra cosa >>>> no >>>> pido code simplemente una estrategia de como hace q el gato se coma los >>>> ratones osea mi pensamiento es hacer muchas listas ejemplo si el gato esta >>>> en en X posicion y el raton en Y posicion ir comparando seria factible >>>> esto >>>> o seria demasiado codigo bueno lo q me puedan ayudar es bien recibido >>>> saludos y gracias > > MATRIZXMIN=0 > MATRIZXMAX=10 > MATRIZYMIN=0 > MATRIZYMAX=10 > gatox=randrange?(MATRIZXMIN,MATRIZXMAX) > ??gatoy=randrange?(MATRIZXMIN,MATRIZXMAX) > > raton1x=randrange(MATRIZXMIN,MATRIZXMAX) > ?raton1y=randrange(MATRIZXMIN,MATRIZXMAX) > while(gatox==raton1x and gatoy==raton1y): > ? raton1x=randrange(MATRIZXMIN,MATRIZXMAX) > ?raton1y=randrange(MATRIZXMIN,MATRIZXMAX) > > raton2x=randrange(MATRIZXMIN,MATRIZXMAX) > ?raton2y=randrange(MATRIZXMIN,MATRIZXMAX) > while((raton1x=raton2x and raton1y=raton2y) or (gatox=raton2x > andgatoy=raton2y)): > ? raton2x=randrange(MATRIZXMIN,MATRIZXMAX) > ?raton2y=randrange(MATRIZXMIN,MATRIZXMAX) > > La ruta Optima: > > la ruta óptima es ir al ratón más cercano y luego al otro > independientemente de que haya paredes u obstaculos > > > > > ------------------------------------------------------------------------ > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From ottomachado en infomed.sld.cu Fri May 23 15:16:13 2008 From: ottomachado en infomed.sld.cu (Otto Machado) Date: Fri, 23 May 2008 09:16:13 -0400 Subject: duda sobre el metodo sort In-Reply-To: <3c476fec0805230310g584c68a9ld05f4efdec398e74@mail.gmail.com> References: <3da702830805211758k3f284c3cnc0fdbd35e200849b@mail.gmail.com> <48354FF1.9090202@montevideo.com.uy> <3c476fec0805230310g584c68a9ld05f4efdec398e74@mail.gmail.com> Message-ID: <001201c8bcd7$3bebf890$b3c3e9b0$@sld.cu> Hola amigos Tengo un diccionario donde las llaves son del tipo fecha: '2005/6/1', ahora bien, necesito ordenar la lista de las keys() con el sort, pero al ordenarlas me sucede que al compararlo como string me lo ordena asi por ejemplo:['2005/6/1','2005/6/13', '2005/6/15', '2005/6/2', '2005/6/6'], supongo que sea porque primer digito del 13 es el 1 y lo compara con el 6 y es menor, ahora bien probe poniendo una lista del tipo '2005/06/01'y si lo hace bien pero es que yo uso para conformar la fecha la función fromtimestamp de datetime y accedo al campo year= 2005, month=6 o day=1, y esta lo devuelve asi. Que me aconsejan?. Gracias Diana _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From minoztro en gmail.com Fri May 23 16:02:17 2008 From: minoztro en gmail.com (Milton Galo Patricio Inostroza Aguilera) Date: Fri, 23 May 2008 10:02:17 -0400 Subject: duda sobre el metodo sort In-Reply-To: <001201c8bcd7$3bebf890$b3c3e9b0$@sld.cu> References: <3da702830805211758k3f284c3cnc0fdbd35e200849b@mail.gmail.com> <48354FF1.9090202@montevideo.com.uy> <3c476fec0805230310g584c68a9ld05f4efdec398e74@mail.gmail.com> <001201c8bcd7$3bebf890$b3c3e9b0$@sld.cu> Message-ID: <172699c50805230702v5b701910sb4500721da0cde2b@mail.gmail.com> 2008/5/23 Otto Machado : > Hola amigos Hola Otto > > Tengo un diccionario donde las llaves son del tipo fecha: '2005/6/1', ahora seguro que es tipo fecha?...yo lo que veo es ahí es un string con un formato específico. > bien, necesito ordenar la lista de las keys() con el sort, pero al > ordenarlas me sucede que al compararlo como string me lo ordena asi por > ejemplo:['2005/6/1','2005/6/13', '2005/6/15', '2005/6/2', '2005/6/6'], Creo que es mejor almacenar un objeto de tipo fecha en tu llave de diccionario >>> Dict = {} >>> Dict[datetime(2008,10,30)] = 1 >>> Dict[datetime(2008,9,30)] = 2 >>> Dict[datetime(2008,8,30)] = 3 >>> Dict[datetime(2008,7,30)] = 4 >>> Dict {datetime.datetime(2008, 8, 30, 0, 0): 3, datetime.datetime(2008, 10, 30, 0, 0): 1, datetime.datetime(2008, 7, 30, 0, 0): 4, datetime.datetime(2008, 9, 30, 0, 0): 2} >>> key = Dict.keys() >>> print key [datetime.datetime(2008, 8, 30, 0, 0), datetime.datetime(2008, 10, 30, 0, 0), datetime.datetime(2008, 7, 30, 0, 0), datetime.datetime(2008, 9, 30, 0, 0)] >>> key.sort() >>> print key [datetime.datetime(2008, 7, 30, 0, 0), datetime.datetime(2008, 8, 30, 0, 0), datetime.datetime(2008, 9, 30, 0, 0), datetime.datetime(2008, 10, 30, 0, 0)] > supongo que sea porque primer digito del 13 es el 1 y lo compara con el 6 y > es menor, ahora bien probe poniendo una lista del tipo '2005/06/01'y si lo > hace bien pero es que yo uso para conformar la fecha la función > fromtimestamp de datetime y accedo al campo year= 2005, month=6 o day=1, y > esta lo devuelve asi. > Que me aconsejan?. Fijate que a utilizar un objeto puedo acceder luego a todos sus métodos...quizás el día de mañana puedas necesitar sacar otra información de tu llave de tipo fecha y si lo haces como un string eso se te volverá un infierno. > Gracias > Diana > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Milton Inostroza Aguilera ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From shakaran en gmail.com Fri May 23 16:06:25 2008 From: shakaran en gmail.com (=?ISO-8859-1?Q?=C1ngel_Guzm=E1n_Maeso?=) Date: Fri, 23 May 2008 16:06:25 +0200 Subject: =?ISO-8859-1?Q?Re:__Re:_Re:_[PyGtk]_Splash_para_aplicaci=F3n?= Message-ID: <82b2af8e0805230706u3bd4407cnb6dbf95d185d3744@mail.gmail.com> Gracias arnau (y a los demas tambien ;)). Gracias a las explicaciones de todos ha funcionado el código perfectamente y como esperaba. Dejo el código aqui, por si alguien lo necesitara (o lo viene buscando de google) #!/usr/bin/env python # -*- coding: utf-8 -*- import pygtk pygtk.require('2.0') import gtk import gobject class Splash: def close(self): self.splash.destroy() def __init__(self): self.splash=gtk.Window(gtk.WINDOW_TOPLEVEL) self.splash.set_decorated(False) #Contenido del splash aqui self.splash.show_all() class MiAplicacion: def initgen(self): s=Splash() #Iniciar el splash self.window = gtk.Window(gtk.WINDOW_TOPLEVEL) self.window.set_title("Ventana principal") print "Empezando bucle" i=1 while i<10000000: i=i+1 yield True #if i%10000: # print i print "Bucle terminado" self.window.show_all() # s.close() # Cerrar el splash yield False if __name__ == "__main__": obj=MiAplicacion() task=obj.initgen() gobject.idle_add(task.next) gtk.main() --- pd: dicho esto, odio con toda mi alma los splash, ¿por qué un programa se cree tan importante como para inutilizar, aunque sea temporalmente, el escritorio? :-p Te entiendo ;) pero necesito dar constancia de que el programa se esta cargando, si no luego abren 15 instancias de la aplicacion (es una aplicación para gestión de ventas que le hago a mi padre y tios, y aun no se maneja mucho) Umn...eso me da para otras dos preguntas, ahora las enviare XD (antes voy a buscar) _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From shakaran en gmail.com Fri May 23 16:17:30 2008 From: shakaran en gmail.com (=?ISO-8859-1?Q?=C1ngel_Guzm=E1n_Maeso?=) Date: Fri, 23 May 2008 16:17:30 +0200 Subject: =?iso-8859-1?q?Evitar_dos_instancias_de_aplicaci=F3n?= Message-ID: <82b2af8e0805230717t70a6c976gbdf8b2daa13c36c8@mail.gmail.com> Cuando una aplicación hecha con pygtk se abre una vez, y luego intentas abrirla de nuevo. ¿Como detecto que ya se esta ejecutando en ese momento otra instancia para cerrar la nueva instancia? Mi primera idea y algo mediocre, es crear un archivo "EnUso" cuando se abra la aplicación, y cuando se vuelva a abrir la siguiente, que se mire si existe el archivo. Los problemas de esta solución es que si el ordenador se apaga o se bloquea inesperadamente con la aplicación abierta, entonces al reniciar el archivo "EnUso" no se habra borrado y generara conflicto (y tampoco me parece bien, que cada vez que se inicie el ordenador, se vaya a borrar ese fichero). La segunda idea, es detectar en memoria de algun modo que existe una instancia (mediante algun comando de consola o si pygtk o python proporciona algun método), pero desconozco como hacer esto y por las búsquedas que he hecho en google no he encontrado nada útil. ¿Alguna sugerencia? _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From shakaran en gmail.com Fri May 23 16:29:46 2008 From: shakaran en gmail.com (=?ISO-8859-1?Q?=C1ngel_Guzm=E1n_Maeso?=) Date: Fri, 23 May 2008 16:29:46 +0200 Subject: =?iso-8859-1?q?Ordenar_datos_alfab=E9ticamente_o_num?= =?iso-8859-1?q?=E9ricamente_en_un_TreeViewColumn?= Message-ID: <82b2af8e0805230729r15311257pcb296bcac5a9b917@mail.gmail.com> Tengo una base de datos y cuando muestro los datos en la aplicación los muestro en un ListStore con cinco TreeViewColumn. El problema es que tengo columnas que contienen datos numéricos (peso, stock), y otras solo alfanuméricos (codigo, descripción, etc) En el caso de las primeras, el tipo de dato del ListStore son int y cuando se ordenan los datos, se ordenan correctamente de mayor a menor y menor a mayor (haciendo click en la cabecera). Para columnas como descripción, se ordena también correctamente, ya que es un orden alfabético y el tipo de dato es string Pero para columnas como código, que tienen un tipo string, quiero poder ordenarlas numéricamente y alfabéticamente y al ser el tipo string solo se ordenan alfabéticamente. Por ejemplo: Ordenado numéricamente 000 (empieza por 0, por la derecha) 001 (empieza por 1, por la derecha y sucesivamente...) 2 3 4 5 6 7 8 9 10 Ordenado alfabéticamente 000 (empieza por 0, por la izquierda) 001 (empieza por 0, por la izquierda le sigue otro cero y luego un uno) 10 (empieza por 1, por la izquierda le sigue otro cero) =>Aqui se aprecia el cambio en contraste a numéricamente 2 3 4 5 6 7 8 9 Esto es algo como lo que hace OpenOffice Calc o Excel, que cuando ordenas una columna puede ser alfabéticamente o numéricamente, pero no se como se puede hacer. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From python en ammsoft.com Fri May 23 16:41:11 2008 From: python en ammsoft.com (Amm-Python) Date: Fri, 23 May 2008 16:41:11 +0200 Subject: Dialogo de impresoras de Windows In-Reply-To: <3041714f0805230450g1549bc3fr403c172c2726ab28@mail.gmail.com> References: <3041714f0805230450g1549bc3fr403c172c2726ab28@mail.gmail.com> Message-ID: <003a01c8bce3$1ab72f30$640010ac@nombref31twj9b> Depende del "GUI toolkit" que estés utilizando. Por lo que siempre es aconsejable que cuando tengas una duda lo especifiques. Por ejemplo, si usas wxWidgets puedes hacerlo así: pd = wx.PrintData() pdd = wx.PrintDialogData() pdd.SetPrintData(pd) printerDialog = wx.PrintDialog(self, pdd) status = printerDialog.ShowModal() if status == wx.ID_OK: pdd = printerDialog.GetPrintDialogData() pd = pdd.GetPrintData() printer = pd.GetPrinterName() printerDialog.Destroy() En principio la demo de wxPython aclara casi todas estas consultas. Saludos, Toni Martínez > -----Mensaje original----- > De: python-es-bounces en aditel.org > [mailto:python-es-bounces en aditel.org] En nombre de Jorge Gant > Ballesteros > Enviado el: divendres, 23 / maig / 2008 13:50 > Para: python-es en aditel.org > Asunto: [Python-es] Dialogo de impresoras de Windows > > > Hola a Todos: > > Me gustaría saber si existe alguna forma de lanzar el diálogo > de impresoras de windows, obteniendo comunicación claro está > con python. Estoy mirando con win32print y es muy útil pero > querría saber si puedo ahorrarme el trabajo de construirme el > dialogo yo. Más que nada no por vago sino para que de más > apariencia de estándar. > > Gracias > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From eber_ramirez en ltv.org.mx Fri May 23 17:02:19 2008 From: eber_ramirez en ltv.org.mx (eber_ramirez en ltv.org.mx) Date: Fri, 23 May 2008 10:02:19 -0500 Subject: =?iso-8859-1?q?Mejorar_este_c=F3digo_-_2a_parte?= Message-ID: <5FCFCC3A814387468EEF6661618F2F630362F02A@mexexch03.MEX.WTBTS.NET> Aquí pongo el link con la versión del código ajustado, siguiendo las amables recomendaciones que me dio Arnau en el mensaje del 8 de mayo de 2008, a la 1:32 pm en esta lista. https://sourceforge.net/project/showfiles.php?group_id=228647 Hace unos días intenté colocar todo el código en un mensaje para la lista pero, por el tamaño del mismo, ya no fue posible que se publicara. Seguiré agradeciendo los comentarios de todos para mejorarlo, sobre todo en lo que respecta a hacerlo más "pitónico" (http://python.net/~goodger/projects/pycon/2007/idiomatic/handout.html). Debo mencionar que de los ajustes que Arnau me recomendó, encontré particularmente complicado el simplificar esta porción del código. ------------------------------------------------------------------------------------------------- A continuación presento el primer intento y que se me recomendó simplificar. >> def Calculos(self): >> #Extraemos los datos de los "entry's" >> FR=float(self.FR_t.get()) >> b=float(self.b_t.get()) >> d=float(self.d_t.get()) >> fc=float(self.fc_t.get()) >> fy=float(self.fy_t.get()) >> As=float(self.As_t.get()) >> >Mucha repetición: puedes abstraerlo en un bucle. ------------------------------------------------------------------------------------------------- Tendrán que ver el nuevo código completo para comprender cabalmente la idea, pero así quedó la nueva solución. x.MRSAC(self.reglamento, ER_float(self.Datos_entrada[0].get()), ER_float(self.Datos_entrada[1].get()), ER_float(self.Datos_entrada[2].get()), ER_float(self.Datos_entrada[3].get()), ER_float(self.Datos_entrada[4].get()), ER_float(self.Datos_entrada[5].get())) ------------------------------------------------------------------------------------------------- A priori, parece que no ha cambiado gran cosa (excepto que aumentaron los paréntesis), sin embargo, creo que está más cerca de lograr una simplificación drástica, metiéndolo en un bucle como Arnau sugiere, pero no encontré como. Saludos a todos y espero nuevamente sus atinados comentarios. Gracias. Eber Este correo electrónico y cualquier archivo transmitido con él son confidenciales y son solamente para el uso del individuo o entidad a la que van dirigidos. Si recibió este correo electrónico por error por favor notifique al administrador del sistema. Este mensaje contiene información confidencial y es dirigido a la persona implicada. Si usted no es esa persona no debería diseminar, distribuir o copiar este mensaje de correo electrónico. This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error please notify the system manager. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pyarnau en gmail.com Fri May 23 22:54:13 2008 From: pyarnau en gmail.com (Arnau Sanchez) Date: Fri, 23 May 2008 22:54:13 +0200 Subject: Mejorar este =?ISO-8859-1?Q?c=F3digo_-_2a_?= =?ISO-8859-1?Q?parte?= In-Reply-To: <5FCFCC3A814387468EEF6661618F2F630362F02A@mexexch03.MEX.WTBTS.NET> References: <5FCFCC3A814387468EEF6661618F2F630362F02A@mexexch03.MEX.WTBTS.NET> Message-ID: <48372EF5.1000600@gmail.com> eber_ramirez en ltv.org.mx escribió: > encontré particularmente complicado el simplificar esta porción del código. FR=float(self.FR_t.get()) b=float(self.b_t.get()) d=float(self.d_t.get()) fc=float(self.fc_t.get()) fy=float(self.fy_t.get()) As=float(self.As_t.get()) Hay varias formas de plantear esto... yo agruparía las entries en un único objeto, ya sea una clase/struct o un diccionario; te muestro aquí como se podría hacer con un diccionario, es lo más simple. Pongamos que este diccionario sea "self.entries" y que contiene pares (nombre, entry). Podemos obtener los valores de las variables así: variables = dict((k, float(entry.get())) for (k, entry) in self.entries.iteritems()) y luego en los cálculos usarlas tal que así: variables["fc_t"] * variables["As_t"] En la solución con clase/struct accederías de forma más elegante: variables.fc_t * variables.As_t Ver http://pythonesfaq.k-rolus.net/#index33h3 pd: no es necesario/conveniente que cambies el nombre al hilo, mejor que las conversaciones queden agrupadas. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From eber_ramirez en ltv.org.mx Fri May 23 23:09:33 2008 From: eber_ramirez en ltv.org.mx (eber_ramirez en ltv.org.mx) Date: Fri, 23 May 2008 16:09:33 -0500 Subject: =?iso-8859-1?Q?RE=3A_=5BPython-es=5D_Mejorar_este_c=F3digo_-_2a_parte?= In-Reply-To: <48372EF5.1000600@gmail.com> References: <5FCFCC3A814387468EEF6661618F2F630362F02A@mexexch03.MEX.WTBTS.NET> <48372EF5.1000600@gmail.com> Message-ID: <5FCFCC3A814387468EEF6661618F2F6303678041@mexexch03.MEX.WTBTS.NET> > encontré particularmente complicado el simplificar esta porción del código. FR=float(self.FR_t.get()) b=float(self.b_t.get()) d=float(self.d_t.get()) fc=float(self.fc_t.get()) fy=float(self.fy_t.get()) As=float(self.As_t.get()) Hay varias formas de plantear esto... yo agruparía las entries en un único objeto, ya sea una clase/struct o un diccionario; te muestro aquí como se podría hacer con un diccionario, es lo más simple. Pongamos que este diccionario sea "self.entries" y que contiene pares (nombre, entry). Podemos obtener los valores de las variables así: variables = dict((k, float(entry.get())) for (k, entry) in self.entries.iteritems()) y luego en los cálculos usarlas tal que así: variables["fc_t"] * variables["As_t"] En la solución con clase/struct accederías de forma más elegante: variables.fc_t * variables.As_t Ver http://pythonesfaq.k-rolus.net/#index33h3 pd: no es necesario/conveniente que cambies el nombre al hilo, mejor que las conversaciones queden agrupadas. --------------------------------------------------- Arnau, nuevamente muchas gracias por tus comentarios. Sigo en el proceso de aprendizaje de Python y del uso de la lista. Lo implementaré y te comento los resultados. --------------------------------------------------- Este correo electrónico y cualquier archivo transmitido con él son confidenciales y son solamente para el uso del individuo o entidad a la que van dirigidos. Si recibió este correo electrónico por error por favor notifique al administrador del sistema. Este mensaje contiene información confidencial y es dirigido a la persona implicada. Si usted no es esa persona no debería diseminar, distribuir o copiar este mensaje de correo electrónico. This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error please notify the system manager. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From gagsl-py2 en yahoo.com.ar Sat May 24 00:31:38 2008 From: gagsl-py2 en yahoo.com.ar (Gabriel Genellina) Date: Fri, 23 May 2008 19:31:38 -0300 Subject: =?iso-8859-15?q?Mejorar_este_c=F3digo_-_2a_parte?= References: <5FCFCC3A814387468EEF6661618F2F630362F02A@mexexch03.MEX.WTBTS.NET> Message-ID: En Fri, 23 May 2008 12:02:19 -0300, escribió: > Aquí pongo el link con la versión del código ajustado, siguiendo las > amables recomendaciones que me dio Arnau en el mensaje del 8 de mayo Creo que http://python.pastebin.com/ seria un lugar mas comodo para poner el codigo. Un par de comentarios: En lugar de 'AsMin = %s cm2\n' % str(round(x.AsMin, 2)) es mas comodo usar 'AsMin = %.2f cm2\n' % x.AsMin La funcion ER_float (que ignora todos los errores y devuelve 0) no me convence demasiado. Si el usuario ingresa 1OO va a calcular como si fuera un 0 - y sin avisar. No parece correcto. Lo que hay que hacer es validar (en la interfase) todos los campos ingresados, y mostrar un error si no son validos (antes siquiera de empezar a calcular). El objeto mas importante -o casi- de todo el programa se llama 'x', a secas, y es global... Podrias darle un nombre mejor que esa mísera letra, no? Y pasarselo a la interfaz para que lo tenga disponible sin necesidad de que sea global. En esta funcion: def MRSAC(self, aa = 'DF', bb=0.9, cc=20.0, dd=40.0, ee=4200.0, ff=250.0, gg=2.54): """ Metodo para MR sin Acero a Compresion El orden correcto de los parametros es Reglamento como string ('DF' o 'ACI'), FR adimensional, b en cm, d en cm, fy en kg/cm2, fc en kg/cm2 y finalmente As en cm2. El calculo de MR es en T-m. Todos los numeros se manejan como float """ # Capturamos cualquier valor que el usuario haya dado self.codigo = aa self.FR = bb self.b = cc self.d = dd self.fy = ee self.fc = ff self.As = gg ¿porque los argumentos tienen esos nombres sin sentido? Por lo menos podrias usar los mismos nombres con que se guardan internamente (codigo, FR...) De esa forma tambien se pueden pasar por nombre, y no hace falta el comentario sobre "el orden correcto de los parametros". Ademas, cualquier editor decente te muestra esos nombres al auto-completar una llamada, asi que es importante que sean representativos. -- Gabriel Genellina ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From jlaparicio.vcl en infomed.sld.cu Fri May 23 18:55:03 2008 From: jlaparicio.vcl en infomed.sld.cu (Josh) Date: Fri, 23 May 2008 18:55:03 +0200 Subject: =?iso-8859-15?q?Mostrar_sumandos_de_un_n=FAmero?= Message-ID: Hola: Mi duda es como hacer un programa en Python que dado un número n, muestre todas las posibles combinaciones de sumandos posibles para obtenerlo. ¡¡¡Difícil, eh!!! Salu2; Josh. -- Usando el revolucionario cliente de correo de Opera: http://www.opera.com/mail/ ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From abraham.zamudio en gmail.com Sat May 24 01:09:08 2008 From: abraham.zamudio en gmail.com (Abraham Zamudio) Date: Fri, 23 May 2008 18:09:08 -0500 Subject: =?ISO-8859-1?Q?Re:__Mostrar_sumandos_de_un_n=FAmero?= In-Reply-To: References: Message-ID: <594dda620805231609o4ec2f433l8e0275230266ba89@mail.gmail.com> jajajaja si pes . ... pero cual es tu algoritmo XDDDDDDDDDDDDDD 2008/5/23 Josh : > Hola: > Mi duda es como hacer un programa en Python que dado un número n, muestre > todas las posibles combinaciones de sumandos posibles para obtenerlo. > ¡¡¡Difícil, eh!!! > Salu2; > Josh. > > -- > Usando el revolucionario cliente de correo de Opera: > http://www.opera.com/mail/ > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Abraham Zamudio Ch. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From a.porrua en gmail.com Sat May 24 01:18:53 2008 From: a.porrua en gmail.com (antonio) Date: Sat, 24 May 2008 01:18:53 +0200 Subject: Mostrar sumandos de un =?ISO-8859-1?Q?n=FAmero?= In-Reply-To: References: Message-ID: <1211584733.7226.5.camel@nos> El vie, 23-05-2008 a las 18:55 +0200, Josh escribió: > Hola: > Mi duda es como hacer un programa en Python que dado un número n, muestre > todas las posibles combinaciones de sumandos posibles para obtenerlo. > ¡¡¡Difícil, eh!!! > Salu2; > Josh. > algo recursivo por ejemplo para calcular todos los sumandos de 5 son: 1+(sumandos de 4) 2+(sumandos de 3 mayores que 1) 3+(sumandos de 2 mayores que 2) 4+(sumandos de 1 mayores que 3) 5+(sumandos de 0 mayores que 4) > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From edgar.cardoz en gmail.com Sat May 24 05:09:34 2008 From: edgar.cardoz en gmail.com (Edgar Israel Casanova Cardoz) Date: Fri, 23 May 2008 22:09:34 -0500 Subject: Mostrar sumandos de un =?ISO-8859-1?Q?n=FAmero?= In-Reply-To: References: Message-ID: <483786EE.1030803@gmail.com> Josh escribió: > Hola: > Mi duda es como hacer un programa en Python que dado un número n, > muestre todas las posibles combinaciones de sumandos posibles para > obtenerlo. > ¡¡¡Difícil, eh!!! > Salu2; > Josh. según entiendo, leemos un numero n y el algoritmo calculará todos los "x" e "y" tales que x + y = n siendo así tendrás un número infinito de combinaciones tales como tantos numeros existen. > > ------------------------------------------------------------------------ > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From punchikk en yahoo.com Sat May 24 07:37:02 2008 From: punchikk en yahoo.com (punchik punchik) Date: Fri, 23 May 2008 22:37:02 -0700 (PDT) Subject: mejor forma de compartir datos en juegos multiusuario. Message-ID: <47423.9774.qm@web32002.mail.mud.yahoo.com> hola companeros , una pregunta : estoy tratando de desarrollar un pequeno juego multiusuario en python, cual es la mejor manera de compartir datos entre varias computadoras corriendo el mismo programa(con conexion a internet ) ? Lo que quiero es que cada programa en cada maquina pueda enviar sus datos gps a las otras computadoras corriendo el mismo programa, de manera que que los jugadores se puedan ver elllo mismos como avatares en el juego asi como todos los demas jugadores. En puredata hay un objeto llamado netsend que permite enviar datos a otra maquina a traves de tcp/ip y udp, hay algo asi en python? De lo contrario habia pensado subir los datos a un servidor mysql y que los demas programas vayan bajando constantemente los datos del servidor. Es esto factible, alguien ha hecho algo asi o saben de algun tutorial sobre eso? que librerias podria usar o si ya hay ejemplos que hagan esto, que idea es mas factible, etc . de lo contrario sus experiencias o recomendaciones. gracias pun _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From a.porrua en gmail.com Sat May 24 11:02:18 2008 From: a.porrua en gmail.com (antonio) Date: Sat, 24 May 2008 11:02:18 +0200 Subject: Mostrar sumandos de un =?ISO-8859-1?Q?n=FAmero?= In-Reply-To: <483786EE.1030803@gmail.com> References: <483786EE.1030803@gmail.com> Message-ID: <1211619738.6520.1.camel@nos> El vie, 23-05-2008 a las 22:09 -0500, Edgar Israel Casanova Cardoz escribió: > Josh escribió: > > Hola: > > Mi duda es como hacer un programa en Python que dado un número n, > > muestre todas las posibles combinaciones de sumandos posibles para > > obtenerlo. > > ¡¡¡Difícil, eh!!! > > Salu2; > > Josh. > según entiendo, leemos un numero n y el algoritmo calculará todos los > "x" e "y" tales que x + y = n > > siendo así tendrás un número infinito de combinaciones tales como tantos > numeros existen. Yo entendí que buscaba los diferentes conjunto de naturales cuyo sumatiorio fuese n. ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From willian.radicaled en gmail.com Sat May 24 16:50:06 2008 From: willian.radicaled en gmail.com (RadicalEd) Date: Sat, 24 May 2008 09:50:06 -0500 Subject: =?ISO-8859-1?Q?Re:__Mostrar_sumandos_de_un_n=FAmero?= In-Reply-To: <1211619738.6520.1.camel@nos> References: <483786EE.1030803@gmail.com> <1211619738.6520.1.camel@nos> Message-ID: No sé, pero algo como esto: x = int(raw_input('Digite un numero: ')) def saber(numero): for h in range(numero): resta = numero - h print ('%d = %d + %d') % (numero,resta, h) saber(x) 2008/5/24 antonio : > El vie, 23-05-2008 a las 22:09 -0500, Edgar Israel Casanova Cardoz > escribió: > > Josh escribió: > > > Hola: > > > Mi duda es como hacer un programa en Python que dado un número n, > > > muestre todas las posibles combinaciones de sumandos posibles para > > > obtenerlo. > > > ¡¡¡Difícil, eh!!! > > > Salu2; > > > Josh. > > según entiendo, leemos un numero n y el algoritmo calculará todos los > > "x" e "y" tales que x + y = n > > > > siendo así tendrás un número infinito de combinaciones tales como tantos > > numeros existen. > > Yo entendí que buscaba los diferentes conjunto de naturales cuyo > sumatiorio fuese n. > > > > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- The knowledge is the most dangerous weapon & SoloCodigo is the most important programing webforum. http://foros.solocodigo.com _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From ottomachado en infomed.sld.cu Sat May 24 18:17:42 2008 From: ottomachado en infomed.sld.cu (Otto Machado) Date: Sat, 24 May 2008 12:17:42 -0400 Subject: encontrar una llave en un diccionario In-Reply-To: <172699c50805230702v5b701910sb4500721da0cde2b@mail.gmail.com> References: <3da702830805211758k3f284c3cnc0fdbd35e200849b@mail.gmail.com> <48354FF1.9090202@montevideo.com.uy> <3c476fec0805230310g584c68a9ld05f4efdec398e74@mail.gmail.com> <001201c8bcd7$3bebf890$b3c3e9b0$@sld.cu> <172699c50805230702v5b701910sb4500721da0cde2b@mail.gmail.com> Message-ID: <000001c8bdb9$c2127c90$463775b0$@sld.cu> Hola amigos: Creo un diccionario cuyas llaves van a ser fechas(datetimes) y quiero que si no tiene una llave, entonces me la añada, es algo asi: diccdetails = {} ....... if date in diccdetails.keys(): diccdetails[date]['Costo'] += float(tmp[9]) diccdetails[date]['Trafico'] += float(tmp[8]) diccdetails[date]['Peticiones'] = diccdetails[date]['Peticiones'] + 1 else: diccdetails[date] = {} diccdetails[date]['Costo'] = float(tmp[9]) diccdetails[date]['Trafico'] = float(tmp[8]) diccdetails[date]['Peticiones'] = 1 quiero saber si conocen alguna forma que sea mas eficiente, porque esta condición se cuestiona para cada línea de un fichero, y se vuelve un poco lenta.Hay alguna forma de verificar si esta o no esa llave que no sea asi? Gracias Diana ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From eber_ramirez en ltv.org.mx Sat May 24 19:03:36 2008 From: eber_ramirez en ltv.org.mx (eber_ramirez en ltv.org.mx) Date: Sat, 24 May 2008 12:03:36 -0500 Subject: =?iso-8859-1?Q?RE=3A_=5BPython-es=5D_Re=3A_Mejorar_este_c=F3digo_-_2a_par?= =?iso-8859-1?Q?te?= In-Reply-To: References: <5FCFCC3A814387468EEF6661618F2F630362F02A@mexexch03.MEX.WTBTS.NET> Message-ID: <5FCFCC3A814387468EEF6661618F2F63036782EA@mexexch03.MEX.WTBTS.NET> > Aquí pongo el link con la versión del código ajustado, siguiendo las > amables recomendaciones que me dio Arnau en el mensaje del 8 de mayo Creo que http://python.pastebin.com/ seria un lugar mas comodo para poner el codigo. Un par de comentarios: En lugar de 'AsMin = %s cm2\n' % str(round(x.AsMin, 2)) es mas comodo usar 'AsMin = %.2f cm2\n' % x.AsMin La funcion ER_float (que ignora todos los errores y devuelve 0) no me convence demasiado. Si el usuario ingresa 1OO va a calcular como si fuera un 0 - y sin avisar. No parece correcto. Lo que hay que hacer es validar (en la interfase) todos los campos ingresados, y mostrar un error si no son validos (antes siquiera de empezar a calcular). El objeto mas importante -o casi- de todo el programa se llama 'x', a secas, y es global... Podrias darle un nombre mejor que esa mísera letra, no? Y pasarselo a la interfaz para que lo tenga disponible sin necesidad de que sea global. En esta funcion: def MRSAC(self, aa = 'DF', bb=0.9, cc=20.0, dd=40.0, ee=4200.0, ff=250.0, gg=2.54): """ Metodo para MR sin Acero a Compresion El orden correcto de los parametros es Reglamento como string ('DF' o 'ACI'), FR adimensional, b en cm, d en cm, fy en kg/cm2, fc en kg/cm2 y finalmente As en cm2. El calculo de MR es en T-m. Todos los numeros se manejan como float """ # Capturamos cualquier valor que el usuario haya dado self.codigo = aa self.FR = bb self.b = cc self.d = dd self.fy = ee self.fc = ff self.As = gg ¿porque los argumentos tienen esos nombres sin sentido? Por lo menos podrias usar los mismos nombres con que se guardan internamente (codigo, FR...) De esa forma tambien se pueden pasar por nombre, y no hace falta el comentario sobre "el orden correcto de los parametros". Ademas, cualquier editor decente te muestra esos nombres al auto-completar una llamada, asi que es importante que sean representativos. -- Gabriel Genellina -------------------------------------------------------------------------- Muchas gracias, Gabriel. Voy a corregir mi programa. Tienes razón con los nombres sin sentido y la mísera x. Solo me queda la duda de por qué el programa no calcula con cero cuando le doy 100, así como me dices, como si fuera un entero y por eso devuelva cero la función ER_float(). Hace los cálculos con 100 y no con cero. Curioso, no? Además las etiquetas fy y f'c están en lugares erróneos. Ya hice la corrección. En cuanto tenga los ajustes les mando el link nuevamente. Muchas gracias, es un placer aprender Python con todos ustedes en esta lista. Eber Este correo electrónico y cualquier archivo transmitido con él son confidenciales y son solamente para el uso del individuo o entidad a la que van dirigidos. Si recibió este correo electrónico por error por favor notifique al administrador del sistema. Este mensaje contiene información confidencial y es dirigido a la persona implicada. Si usted no es esa persona no debería diseminar, distribuir o copiar este mensaje de correo electrónico. This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error please notify the system manager. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From gagsl-py2 en yahoo.com.ar Sat May 24 20:58:04 2008 From: gagsl-py2 en yahoo.com.ar (Gabriel Genellina) Date: Sat, 24 May 2008 15:58:04 -0300 Subject: =?iso-8859-15?Q?=5BPython-es=5D_Re=3A_Mejorar_este_c=F3d?= =?iso-8859-15?Q?igo_-_2a_parte?= References: <5FCFCC3A814387468EEF6661618F2F630362F02A@mexexch03.MEX.WTBTS.NET> <5FCFCC3A814387468EEF6661618F2F63036782EA@mexexch03.MEX.WTBTS.NET> Message-ID: En Sat, 24 May 2008 14:03:36 -0300, escribió: >> Aquí pongo el link con la versión del código ajustado, siguiendo las >> amables recomendaciones que me dio Arnau en el mensaje del 8 de mayo > > La funcion ER_float (que ignora todos los errores y devuelve 0) no me convence demasiado. Si el usuario ingresa 1OO va a calcular como si fuera un 0 - y sin avisar. No parece correcto. Lo que hay que hacer es validar (en la interfase) todos los campos ingresados, y mostrar un error si no son validos (antes siquiera de empezar a calcular). > Muchas gracias, Gabriel. Voy a corregir mi programa. Tienes razón con los nombres sin sentido y la mísera x. Solo me queda la duda de por qué el programa no calcula con cero cuando le doy 100, así como me dices, como si fuera un entero y por eso devuelva cero la función ER_float(). Hace los cálculos con 100 y no con cero. Curioso, no? Además las etiquetas fy y f'c están en lugares erróneos. Ya hice la corrección. En cuanto tenga los ajustes les mando el link nuevamente. Caiste en tu propia trampa: yo no escribi 100 sino 1OO (un uno seguido de dos Oes). *Parece* cien, pero no lo es; tu funcion ER_float ignora silenciosamente el error y lo transforma en un cero, y el programa calcula con ese número incorrecto, cuando en realidad deberia reportar que hubo un error en los datos ingresados. -- Gabriel Genellina ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pyarnau en gmail.com Sat May 24 21:15:16 2008 From: pyarnau en gmail.com (Arnau Sanchez) Date: Sat, 24 May 2008 21:15:16 +0200 Subject: encontrar una llave en un diccionario In-Reply-To: <000001c8bdb9$c2127c90$463775b0$@sld.cu> References: <3da702830805211758k3f284c3cnc0fdbd35e200849b@mail.gmail.com> <48354FF1.9090202@montevideo.com.uy> <3c476fec0805230310g584c68a9ld05f4efdec398e74@mail.gmail.com> <001201c8bcd7$3bebf890$b3c3e9b0$@sld.cu> <172699c50805230702v5b701910sb4500721da0cde2b@mail.gmail.com> <000001c8bdb9$c2127c90$463775b0$@sld.cu> Message-ID: <48386944.3090300@gmail.com> Otto Machado escribió: > diccdetails = {} > ....... > if date in diccdetails.keys(): > diccdetails[date]['Costo'] += float(tmp[9]) > diccdetails[date]['Trafico'] += float(tmp[8]) > diccdetails[date]['Peticiones'] = diccdetails[date]['Peticiones'] + 1 > else: > diccdetails[date] = {} > diccdetails[date]['Costo'] = float(tmp[9]) > diccdetails[date]['Trafico'] = float(tmp[8]) > diccdetails[date]['Peticiones'] = 1 > > quiero saber si conocen alguna forma que sea mas eficiente, porque esta condición se cuestiona para cada línea de un fichero, y se vuelve un poco lenta.Hay alguna forma de verificar si esta o no esa llave que no sea asi? Deberías hacer: "if date in diccdetails:" En tu código estás buscando innecesariamente un elemento en la lista de claves (O(n)) y pierdes toda la eficiencia te da la operación directa sobre el diccionario (O(1)). Ver: http://jaynes.colorado.edu/PythonIdioms.html Si le damos alguna vuelta más al código podría quedar más legible: if date not in details: details[date] = dict(costo=0.0, trafico=0.0, peticiones=0) trafico, costo = map(float, (tmp[8], tmp[9])) details[date]["costo"] += costo details[date]["trafico"] += trafico details[date]["peticiones"] += 1 pd: Y si uno se empeña, podría escribir una versión más DRY (pero menos pythonica): data_details = details.setdefault(date, {}) trafico, costo = map(float, (tmp[8], tmp[9])) def update_details(field, value, init_value): date_details[field] = date_details.get(field, init_value) + value update_details("costo", costo, 0.0) update_details("trafico", trafico, 0.0) update_details("peticiones, 1, 0) ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From abraham.zamudio en gmail.com Sat May 24 21:36:49 2008 From: abraham.zamudio en gmail.com (Abraham Zamudio) Date: Sat, 24 May 2008 14:36:49 -0500 Subject: =?ISO-8859-1?Q?Re:__Mostrar_sumandos_de_un_n=FAmero?= In-Reply-To: References: <483786EE.1030803@gmail.com> <1211619738.6520.1.camel@nos> Message-ID: <594dda620805241236k55632a7em96378bff8b0309db@mail.gmail.com> muyyyyy buenaaaaaaaaa parece qe esta bien . El día 24 de mayo de 2008 9:50, RadicalEd escribió: > No sé, pero algo como esto: > x = int(raw_input('Digite un numero: ')) > def saber(numero): > for h in range(numero): > resta = numero - h > print ('%d = %d + %d') % (numero,resta, h) > > saber(x) > > 2008/5/24 antonio : > > > El vie, 23-05-2008 a las 22:09 -0500, Edgar Israel Casanova Cardoz > > escribió: > > > Josh escribió: > > > > Hola: > > > > Mi duda es como hacer un programa en Python que dado un número n, > > > > muestre todas las posibles combinaciones de sumandos posibles para > > > > obtenerlo. > > > > ¡¡¡Difícil, eh!!! > > > > Salu2; > > > > Josh. > > > según entiendo, leemos un numero n y el algoritmo calculará todos los > > > "x" e "y" tales que x + y = n > > > > > > siendo así tendrás un número infinito de combinaciones tales como > tantos > > > numeros existen. > > > > Yo entendí que buscaba los diferentes conjunto de naturales cuyo > > sumatiorio fuese n. > > > > > > > > > > _______________________________________________ > > Lista de correo Python-es > > http://listas.aditel.org/listinfo/python-es > > FAQ: http://listas.aditel.org/faqpyes > > > > > > -- > The knowledge is the most dangerous > weapon & SoloCodigo is the most important programing webforum. > http://foros.solocodigo.com > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Abraham Zamudio Ch. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From subscripcions en trespams.com Sat May 24 23:38:46 2008 From: subscripcions en trespams.com (Antoni Aloy) Date: Sat, 24 May 2008 23:38:46 +0200 Subject: encontrar una llave en un diccionario In-Reply-To: <48386944.3090300@gmail.com> References: <3da702830805211758k3f284c3cnc0fdbd35e200849b@mail.gmail.com> <000001c8bdb9$c2127c90$463775b0$@sld.cu> <48386944.3090300@gmail.com> Message-ID: <200805242338.46386.subscripcions@trespams.com> El Dissabte, 24-05-08 a les 21:15 escrigueres: > Otto Machado escribió: > > diccdetails = {} > > ....... > > if date in diccdetails.keys(): > > diccdetails[date]['Costo'] += float(tmp[9]) > > diccdetails[date]['Trafico'] += float(tmp[8]) > > diccdetails[date]['Peticiones'] = > > diccdetails[date]['Peticiones'] + 1 else: > > diccdetails[date] = {} > > diccdetails[date]['Costo'] = float(tmp[9]) > > diccdetails[date]['Trafico'] = float(tmp[8]) > > diccdetails[date]['Peticiones'] = 1 > > > > quiero saber si conocen alguna forma que sea mas eficiente, porque esta > > condición se cuestiona para cada línea de un fichero, y se vuelve un poco > > lenta.Hay alguna forma de verificar si esta o no esa llave que no sea > > asi? > > Deberías hacer: > > "if date in diccdetails:" > > En tu código estás buscando innecesariamente un elemento en la lista de > claves (O(n)) y pierdes toda la eficiencia te da la operación directa > sobre el diccionario (O(1)). Ver: > http://jaynes.colorado.edu/PythonIdioms.html > > Si le damos alguna vuelta más al código podría quedar más legible: > > if date not in details: > details[date] = dict(costo=0.0, trafico=0.0, peticiones=0) > trafico, costo = map(float, (tmp[8], tmp[9])) > details[date]["costo"] += costo > details[date]["trafico"] += trafico > details[date]["peticiones"] += 1 > > pd: Y si uno se empeña, podría escribir una versión más DRY (pero menos > pythonica): > > data_details = details.setdefault(date, {}) > trafico, costo = map(float, (tmp[8], tmp[9])) > def update_details(field, value, init_value): > date_details[field] = date_details.get(field, init_value) + value > update_details("costo", costo, 0.0) > update_details("trafico", trafico, 0.0) > update_details("peticiones, 1, 0) Un segundo, estamos tratando con datos que ya estan en un diccionario, no? Entonces porqué no buscarlos directametente sin tener que mirar si existe recuperando las claves. d = {'a':1,'b',2} if not d.get('c'): d['c']='mi valor' else: .... No sé si he leido el mensaje en tranversal, pero si lo he entendido bien es la opción más sencilla -- Antoni Aloy López Binissalem - Mallorca http://trespams.com Soci de bulma #34 ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From francisco.palm en gmail.com Sun May 25 00:28:38 2008 From: francisco.palm en gmail.com (Francisco Palm) Date: Sun, 25 May 2008 17:58:38 +1930 Subject: encontrar una llave en un diccionario In-Reply-To: <000001c8bdb9$c2127c90$463775b0$@sld.cu> References: <3da702830805211758k3f284c3cnc0fdbd35e200849b@mail.gmail.com> <48354FF1.9090202@montevideo.com.uy> <3c476fec0805230310g584c68a9ld05f4efdec398e74@mail.gmail.com> <001201c8bcd7$3bebf890$b3c3e9b0$@sld.cu> <172699c50805230702v5b701910sb4500721da0cde2b@mail.gmail.com> <000001c8bdb9$c2127c90$463775b0$@sld.cu> Message-ID: if not diccdetails.has_key(date): diccdetails[date] = {'Costo':0,'Trafico':0,'Peticiones':0} diccdetails[date]['Costo'] += float(tmp[9]) diccdetails[date]['Trafico'] += float(tmp[8]) diccdetails[date]['Peticiones'] += diccdetails[date]['Peticiones'] + 1 Para algo más óptimo requeriría saber el rsto de la función donde está... Saludos F. Palm 2008/5/25 Otto Machado : > Hola amigos: > > Creo un diccionario cuyas llaves van a ser fechas(datetimes) y quiero que si no tiene una llave, entonces me la añada, es algo asi: > diccdetails = {} > ....... > if date in diccdetails.keys(): > diccdetails[date]['Costo'] += float(tmp[9]) > diccdetails[date]['Trafico'] += float(tmp[8]) > diccdetails[date]['Peticiones'] = diccdetails[date]['Peticiones'] + 1 > else: > diccdetails[date] = {} > diccdetails[date]['Costo'] = float(tmp[9]) > diccdetails[date]['Trafico'] = float(tmp[8]) > diccdetails[date]['Peticiones'] = 1 > > quiero saber si conocen alguna forma que sea mas eficiente, porque esta condición se cuestiona para cada línea de un fichero, y se vuelve un poco lenta.Hay alguna forma de verificar si esta o no esa llave que no sea asi? > Gracias > Diana > > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- -------------------------------------- fpalm en ula.ve francisco.palm en gmail.com cel: 0414 5109177 tel: 0274 6352001 ---- Yo creo que todavía no es demasiado tarde para construir una utopía que nos permita compartir la tierra. Gabriel García Márquez. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From edgar.cardoz en gmail.com Sun May 25 00:33:39 2008 From: edgar.cardoz en gmail.com (Edgar Israel Casanova Cardoz) Date: Sat, 24 May 2008 17:33:39 -0500 Subject: Mostrar sumandos de un =?ISO-8859-1?Q?n=FAmero?= In-Reply-To: <594dda620805241236k55632a7em96378bff8b0309db@mail.gmail.com> References: <483786EE.1030803@gmail.com> <1211619738.6520.1.camel@nos> <594dda620805241236k55632a7em96378bff8b0309db@mail.gmail.com> Message-ID: <483897C3.4070005@gmail.com> Abraham Zamudio escribió: > muyyyyy buenaaaaaaaaa > > parece qe esta bien . > > El día 24 de mayo de 2008 9:50, RadicalEd > escribió: > > Pero ese algoritmo sólo devuelve una combinacion, el problema dice que devuelva TODAS las posibles conbinacinones. Ese algoritmo solo revuelve para un caso no para todo. >> No sé, pero algo como esto: >> x = int(raw_input('Digite un numero: ')) >> def saber(numero): >> for h in range(numero): >> resta = numero - h >> print ('%d = %d + %d') % (numero,resta, h) >> >> saber(x) >> >> 2008/5/24 antonio : >> >> >>> El vie, 23-05-2008 a las 22:09 -0500, Edgar Israel Casanova Cardoz >>> escribió: >>> >>>> Josh escribió: >>>> >>>>> Hola: >>>>> Mi duda es como hacer un programa en Python que dado un número n, >>>>> muestre todas las posibles combinaciones de sumandos posibles para >>>>> obtenerlo. >>>>> ¡¡¡Difícil, eh!!! >>>>> Salu2; >>>>> Josh. >>>>> >>>> según entiendo, leemos un numero n y el algoritmo calculará todos los >>>> "x" e "y" tales que x + y = n >>>> >>>> siendo así tendrás un número infinito de combinaciones tales como >>>> >> tantos >> >>>> numeros existen. >>>> >>> Yo entendí que buscaba los diferentes conjunto de naturales cuyo >>> sumatiorio fuese n. >>> >>> >>> >>> >>> _______________________________________________ >>> Lista de correo Python-es >>> http://listas.aditel.org/listinfo/python-es >>> FAQ: http://listas.aditel.org/faqpyes >>> >>> >> >> -- >> The knowledge is the most dangerous >> weapon & SoloCodigo is the most important programing webforum. >> http://foros.solocodigo.com >> _______________________________________________ >> Lista de correo Python-es >> http://listas.aditel.org/listinfo/python-es >> FAQ: http://listas.aditel.org/faqpyes >> >> > > > > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From rduenasp en gmail.com Sun May 25 00:52:27 2008 From: rduenasp en gmail.com (=?ISO-8859-1?Q?Ricardo_Due=F1as_Parada?=) Date: Sat, 24 May 2008 17:52:27 -0500 Subject: =?ISO-8859-1?Q?Re:__Mostrar_sumandos_de_un_n=FAmero?= In-Reply-To: <483897C3.4070005@gmail.com> References: <483786EE.1030803@gmail.com> <1211619738.6520.1.camel@nos> <594dda620805241236k55632a7em96378bff8b0309db@mail.gmail.com> <483897C3.4070005@gmail.com> Message-ID: <559102030805241552nae13897oceebc6b92f88e5c0@mail.gmail.com> No, imprime todas las combinaciones de numeros enteros. Una sola cosa; es de esperarse que haya combinaciones repetidas, pero en distinto orden, por ejemplo, 3 +2 y 2 + 3. Por esto yo cambiaría el argumento de la función range por range(numero + 1), de esta forma el último valor (la suma con cero) también se incluye, o no tendría en cuenta las combinaciones repetidas. _Ricardo. 2008/5/24 Edgar Israel Casanova Cardoz : > Abraham Zamudio escribió: > > muyyyyy buenaaaaaaaaa > > > > parece qe esta bien . > > > > El día 24 de mayo de 2008 9:50, RadicalEd > > escribió: > > > > > Pero ese algoritmo sólo devuelve una combinacion, el problema dice que > devuelva TODAS las posibles conbinacinones. > > Ese algoritmo solo revuelve para un caso no para todo. > >> No sé, pero algo como esto: > >> x = int(raw_input('Digite un numero: ')) > >> def saber(numero): > >> for h in range(numero): > >> resta = numero - h > >> print ('%d = %d + %d') % (numero,resta, h) > >> > >> saber(x) > >> > >> 2008/5/24 antonio : > >> > >> > >>> El vie, 23-05-2008 a las 22:09 -0500, Edgar Israel Casanova Cardoz > >>> escribió: > >>> > >>>> Josh escribió: > >>>> > >>>>> Hola: > >>>>> Mi duda es como hacer un programa en Python que dado un número n, > >>>>> muestre todas las posibles combinaciones de sumandos posibles para > >>>>> obtenerlo. > >>>>> ¡¡¡Difícil, eh!!! > >>>>> Salu2; > >>>>> Josh. > >>>>> > >>>> según entiendo, leemos un numero n y el algoritmo calculará todos los > >>>> "x" e "y" tales que x + y = n > >>>> > >>>> siendo así tendrás un número infinito de combinaciones tales como > >>>> > >> tantos > >> > >>>> numeros existen. > >>>> > >>> Yo entendí que buscaba los diferentes conjunto de naturales cuyo > >>> sumatiorio fuese n. > >>> > >>> > >>> > >>> > >>> _______________________________________________ > >>> Lista de correo Python-es > >>> http://listas.aditel.org/listinfo/python-es > >>> FAQ: http://listas.aditel.org/faqpyes > >>> > >>> > >> > >> -- > >> The knowledge is the most dangerous > >> weapon & SoloCodigo is the most important programing webforum. > >> http://foros.solocodigo.com > >> _______________________________________________ > >> Lista de correo Python-es > >> http://listas.aditel.org/listinfo/python-es > >> FAQ: http://listas.aditel.org/faqpyes > >> > >> > > > > > > > > > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From ottomachado en infomed.sld.cu Sun May 25 05:03:31 2008 From: ottomachado en infomed.sld.cu (Otto Machado) Date: Sat, 24 May 2008 23:03:31 -0400 Subject: =?iso-8859-1?Q?RE:_=5BPython-es=5D_Mostrar_sumandos_de_un_n=FAmero?= In-Reply-To: References: Message-ID: <000001c8be13$eba05af0$c2e110d0$@sld.cu> Hola Josh: Aquí va algo de la suma de números: def foo(n): for x in xrange(0, n/2): print "%d = %d + %d" % (n, x, n-x) print "%d = %d + %d" % (n, n-x, x) if n%2 is not 0: print "%d = %d + %d" % (n, x+1, n-x-1) print "%d = %d + %d" % (n, n-x-1, x+1) else: print "%d = %d + %d" % (n, x+1, n-x-1) Esta function imprime las combinaciones y solo hay que iterar hasta n/2 (o n/2+1). Salu2, sandor. -----Mensaje original----- De: python-es-bounces en aditel.org [mailto:python-es-bounces en aditel.org] En nombre de Josh Enviado el: viernes, 23 de mayo de 2008 12:55 Para: Lista de Correos Python-es Asunto: [Python-es] Mostrar sumandos de un número Hola: Mi duda es como hacer un programa en Python que dado un número n, muestre todas las posibles combinaciones de sumandos posibles para obtenerlo. ¡¡¡Difícil, eh!!! Salu2; Josh. -- Usando el revolucionario cliente de correo de Opera: http://www.opera.com/mail/ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From lasizoillo en gmail.com Sun May 25 17:34:42 2008 From: lasizoillo en gmail.com (lasizoillo) Date: Sun, 25 May 2008 17:34:42 +0200 Subject: =?ISO-8859-1?Q?Re:__Mostrar_sumandos_de_un_n=FAmero?= In-Reply-To: References: Message-ID: <49414f570805250834u77287cf0o406404a06db4e27@mail.gmail.com> ¿Quieres las particiones[1] o todas las combinaciones? [1] http://usuarios.lycos.es/teoriadenumeros/parti.html El día 23 de mayo de 2008 18:55, Josh escribió: > Hola: > Mi duda es como hacer un programa en Python que dado un número n, muestre > todas las posibles combinaciones de sumandos posibles para obtenerlo. > ¡¡¡Difícil, eh!!! > Salu2; > Josh. > > -- > Usando el revolucionario cliente de correo de Opera: > http://www.opera.com/mail/ > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From gerberito en gmail.com Sun May 25 17:59:46 2008 From: gerberito en gmail.com (ER) Date: Sun, 25 May 2008 10:59:46 -0500 Subject: Mejorar este =?ISO-8859-1?Q?c=F3digo_-_2a_?= =?ISO-8859-1?Q?parte?= Message-ID: <48398CF2.4090705@gmail.com> >>/ Muchas gracias, Gabriel. Voy a corregir mi programa. Tienes razón con los nombres sin sentido y la mísera x. Solo me queda la duda de por qué el programa no calcula con cero cuando le doy 100, así como me dices, como si fuera un entero y por eso devuelva cero la función ER_float(). Hace los cálculos con 100 y no con cero. Curioso, no? Además las etiquetas fy y f'c están en lugares erróneos. Ya hice la corrección. En cuanto tenga los ajustes les mando el link nuevamente. / > Caiste en tu propia trampa: yo no escribi 100 sino 1OO (un uno seguido de dos Oes). *Parece* cien, pero no lo es; tu funcion ER_float ignora silenciosamente el error y lo transforma en un cero, y el programa calcula con ese número incorrecto, cuando en realidad deberia reportar que hubo un error en los datos ingresados. > -- > Gabriel Genellina Gabriel, gracias por la trampa. Pero aunque no había pensado en esa 'cadena' específicamente, sí supuse que el usuario es capaz de introducir cualquier cosa, por eso en el archivo motor.py incluí esta porción de código que evita esas trampas: def verifica(self, ecuacion): self.warning = '' self.computa = True if ecuacion == 'MRSAC': if self.FR != 0.9: self.warning = 'En flexion FR debe ser igual a 0.9\n' if self.b < 10: self.warning += 'Incrementa el ancho de la viga\n' if self.d < 10: self.warning += 'El peralte de la viga luce pequeno\n' if self.fc < 150: self.warning += 'Aumente la resistencia del concreto\n' if self.fy < 4200: self.warning += 'Aumente la resistencia del acero\n' if self.As < 0.6: self.warning += 'As muy pequena\n' for self.i in self.dato_por_defecto: if self.i <= 0: self.computa = False return self.computa Apenas he encendido la computadora nuevemente, así que en cuanto tenga los ajustes sugeridos se los dejo saber. Gracias. Eber _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From gagsl-py2 en yahoo.com.ar Sun May 25 20:43:39 2008 From: gagsl-py2 en yahoo.com.ar (Gabriel Genellina) Date: Sun, 25 May 2008 15:43:39 -0300 Subject: =?iso-8859-15?q?Mejorar_este_c=F3digo_-_2a_parte?= References: <48398CF2.4090705@gmail.com> Message-ID: En Sun, 25 May 2008 12:59:46 -0300, ER escribió: > Gabriel, gracias por la trampa. Pero aunque no había pensado en esa 'cadena' específicamente, sí supuse que el usuario > es capaz de introducir cualquier cosa, por eso en el archivo motor.py incluí esta porción de código que evita esas trampas: Seria mas problematico en los casos en que el 0 fuera un valor válido. Entonces la funcion ER_float podria devolver -1. Y si el -1 fuera un valor válido? Uh... bueno, entonces tal vez sea mas práctico que lance una excepcion indicando que el valor no es válido. ¡Pero eso es justamente lo que hace float() por sí solo! Todo esto era para mostrar que "ocultar" excepciones no es una buena idea, sería como barrer y poner la basura bajo la alfombra. Los errores en los datos de entrada hay que detectarlos y tomar alguna accion (normalmente, notificar al usuario para que los corrija e intente otra vez) pero en general no es correcto hacer de cuenta que no hubieran existido. -- Gabriel Genellina ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From jjimenezlopez en gmail.com Mon May 26 10:14:59 2008 From: jjimenezlopez en gmail.com (=?ISO-8859-1?Q?Jose_Jim=E9nez_L=F3pez?=) Date: Mon, 26 May 2008 10:14:59 +0200 Subject: =?iso-8859-1?q?comprobar_c=F3digo?= Message-ID: Hola, hace ya bastante que vengo programando con Python, y desde hace tiempo me surge una duda/necesidad. No es la primera vez que me pasa, que al ser un lenguaje interpretado, hay partes del código que no se ejecutan siempre, con lo que si hay un error en esa parte, puede aparecer en el momento menos oportuno :) Hay alguna forma de "precompilar" el código para evitar estas cosas? cuando hablo de errores me refiero a lo tipico de equivocarte al escribir el nombre de un método, usar una variable antes de instanciarla, usar un método o una clase sin haberla importado... Espero haberme explicado correctamente :) Saludos, y gracias! --- Jose Jiménez López jjimenezlopez en gmail.com www.josejimenez.net _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From ghankiewicz en rastertech.es Mon May 26 10:24:37 2008 From: ghankiewicz en rastertech.es (Grzegorz Adam Hankiewicz) Date: Mon, 26 May 2008 10:24:37 +0200 Subject: comprobar =?ISO-8859-1?Q?c=F3digo?= In-Reply-To: References: Message-ID: <483A73C5.90308@rastertech.es> Jose Jiménez López escribió: > Hay alguna forma de "precompilar" el código para evitar estas cosas? > cuando hablo de errores me refiero a lo tipico de equivocarte al > escribir el nombre de un método, usar una variable antes de > instanciarla, usar un método o una clase sin haberla importado... Esto suele ayudar http://pychecker.sourceforge.net/ -- Rastertech España S.A. Grzegorz Adam Hankiewicz /Jefe de Producto TeraVial/ C/ Perfumería 21. Nave I. Polígono industrial La Mina 28770 Colmenar Viejo. Madrid (España) Tel. +34 918 467 390 (Ext.17) *·* Fax +34 918 457 889 ghankiewicz en rastertech.es *·* www.rastertech.es _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From oinos en web.de Mon May 26 19:03:05 2008 From: oinos en web.de (=?ISO-8859-1?Q?Pablo_Rodr=EDguez?=) Date: Mon, 26 May 2008 19:03:05 +0200 Subject: ejemplo de plantillas Message-ID: <483AED49.7000502@web.de> Hola a todos, hace unos días hice una pregunta sobre un pequeño programa que genera un script para generar Flash con swfc (que no he actualizado en su versión en red http://ousia.justfree.com/iracconshow.txt). Arnau me sugirió que usase una plantilla para el código de swfc (si no he entendido mal) porque mi código está infestado de filebuffer.append. Me doy cuenta de que algo así debo hacer porque quiero añadir opciones al código de swfc (los filebuffer.append) y esto ya empieza a ser bastante inmanejable. Tengo que reconocer que además de no tener prácticamente idea de programación, no entiendo muy bien qué son las plantillas (intuyo cómo funcionan, pero no he encontrado un ejemplo). En la referencia http://wiki.python.org/moin/Templating, hay demasiadas opciones para un ignorante como yo. Entiendo que debería hacerlas con algo que esté dentro de las bibliotecas estándar de Python (para que todos los requisitos por la parte de Python sean sólo Python y funcione a todo el mundo). He intentado buscar un ejemplo sencillo. En la Python Library Reference 4.1.2 parece que se explican las cadenas para plantillas, pero no consigo entender cómo se puede aplicar eso a lo que he escrito (el ejemplo es demasiado trivial para que lo entienda). ¿Alguien sería tan amable de ponerme un mínimo ejemplo de cómo mandar todos los framebuffer a un fichero externo, cómo sería ese mínimo fichero externo con las opciones? Gracias de antemano y saludos, Pablo _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pyarnau en gmail.com Mon May 26 19:04:52 2008 From: pyarnau en gmail.com (Arnau Sanchez) Date: Mon, 26 May 2008 19:04:52 +0200 Subject: comprobar =?ISO-8859-1?Q?c=F3digo?= In-Reply-To: References: Message-ID: <483AEDB4.6050606@gmail.com> Jose Jiménez López escribió: > hace ya bastante que vengo programando con Python, y desde hace tiempo > me surge una duda/necesidad. No es la primera vez que me pasa, que al > ser un lenguaje interpretado, hay partes del código que no se ejecutan > siempre, con lo que si hay un error en esa parte, puede aparecer en el > momento menos oportuno :) > > Hay alguna forma de "precompilar" el código para evitar estas cosas? > cuando hablo de errores me refiero a lo tipico de equivocarte al > escribir el nombre de un método, usar una variable antes de > instanciarla, usar un método o una clase sin haberla importado... Ya te han comentado que existen programas como "pychecker", aquí se habla de alguno más: http://pythonesfaq.k-rolus.net/#index26h3 http://effbot.org/pyfaq/is-there-a-tool-to-help-find-bugs-or-perform-static-analysis.htm --- Ok, todo esto está muy bien, pero si realmente quieres hacer una aplicación sólida, haz tests (ver módulos unittest/doctest de la librería oficial). Por dar algún enlace: http://agiletesting.blogspot.com/2005/01/python-unit-testing-part-1-unittest.html _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From jjimenezlopez en gmail.com Mon May 26 19:14:18 2008 From: jjimenezlopez en gmail.com (=?ISO-8859-1?Q?Jose_Jim=E9nez_L=F3pez?=) Date: Mon, 26 May 2008 19:14:18 +0200 Subject: =?ISO-8859-1?Q?Re:__comprobar_c=F3digo?= In-Reply-To: <483AEDB4.6050606@gmail.com> References: <483AEDB4.6050606@gmail.com> Message-ID: <27AD004A-C343-42EA-BE91-BD9E3D9304A5@gmail.com> Gracias a los dos por las respuestas. He probado pychecker y pylint, no los he probado en profundidad, pero al ver que pylint se integra (hasta ahora parece que bastante bien) con Eclipse que es el entorno que uso actualmente me quedo con este :) Gracias de nuevo. Saludos. El 26/05/2008, a las 19:04, Arnau Sanchez escribió: > Jose Jiménez López escribió: > >> hace ya bastante que vengo programando con Python, y desde hace >> tiempo me surge una duda/necesidad. No es la primera vez que me >> pasa, que al ser un lenguaje interpretado, hay partes del código >> que no se ejecutan siempre, con lo que si hay un error en esa >> parte, puede aparecer en el momento menos oportuno :) >> Hay alguna forma de "precompilar" el código para evitar estas >> cosas? cuando hablo de errores me refiero a lo tipico de >> equivocarte al escribir el nombre de un método, usar una variable >> antes de instanciarla, usar un método o una clase sin haberla >> importado... > > Ya te han comentado que existen programas como "pychecker", aquí se > habla de alguno más: > > http://pythonesfaq.k-rolus.net/#index26h3 > > http://effbot.org/pyfaq/is-there-a-tool-to-help-find-bugs-or-perform-static-analysis.htm > > --- > > Ok, todo esto está muy bien, pero si realmente quieres hacer una > aplicación sólida, haz tests (ver módulos unittest/doctest de la > librería oficial). Por dar algún enlace: > > http://agiletesting.blogspot.com/2005/01/python-unit-testing-part-1-unittest.html > _______________________________________________ > Lista de correo Python-es http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes --- Jose Jiménez López jjimenezlopez en gmail.com www.josejimenez.net _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pych3m4 en gmail.com Mon May 26 19:55:19 2008 From: pych3m4 en gmail.com (Chema Cortes) Date: Mon, 26 May 2008 19:55:19 +0200 Subject: encontrar una llave en un diccionario In-Reply-To: References: <3da702830805211758k3f284c3cnc0fdbd35e200849b@mail.gmail.com> <48354FF1.9090202@montevideo.com.uy> <3c476fec0805230310g584c68a9ld05f4efdec398e74@mail.gmail.com> <001201c8bcd7$3bebf890$b3c3e9b0$@sld.cu> <172699c50805230702v5b701910sb4500721da0cde2b@mail.gmail.com> <000001c8bdb9$c2127c90$463775b0$@sld.cu> Message-ID: <2c9fb0dd0805261055s23810658u96256bb7a21dc3e4@mail.gmail.com> El día 25 de mayo de 2008 0:28, Francisco Palm escribió: > if not diccdetails.has_key(date): > diccdetails[date] = {'Costo':0,'Trafico':0,'Peticiones':0} > > diccdetails[date]['Costo'] += float(tmp[9]) > diccdetails[date]['Trafico'] += float(tmp[8]) > diccdetails[date]['Peticiones'] += diccdetails[date]['Peticiones'] + 1 Yo todavía lo acortaría más: dic=diccdetails.get(date, {'Costo':0,'Trafico':0,'Peticiones':0} ) dic['Costo'] += float(tmp[9]) dic['Trafico'] += float(tmp[8]) dic['Peticiones'] += 1 _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pych3m4 en gmail.com Mon May 26 20:09:50 2008 From: pych3m4 en gmail.com (Chema Cortes) Date: Mon, 26 May 2008 20:09:50 +0200 Subject: ejemplo de plantillas In-Reply-To: <483AED49.7000502@web.de> References: <483AED49.7000502@web.de> Message-ID: <2c9fb0dd0805261109x5ff8b766ld3e91c0910a3ca20@mail.gmail.com> El día 26 de mayo de 2008 19:03, Pablo Rodríguez escribió: > hace unos días hice una pregunta sobre un pequeño programa que genera un > script para generar Flash con swfc (que no he actualizado en su versión > en red http://ousia.justfree.com/iracconshow.txt). > > Arnau me sugirió que usase una plantilla para el código de swfc (si no > he entendido mal) porque mi código está infestado de filebuffer.append. > > Me doy cuenta de que algo así debo hacer porque quiero añadir opciones > al código de swfc (los filebuffer.append) y esto ya empieza a ser > bastante inmanejable. > > Tengo que reconocer que además de no tener prácticamente idea de > programación, no entiendo muy bien qué son las plantillas (intuyo cómo > funcionan, pero no he encontrado un ejemplo). > > En la referencia http://wiki.python.org/moin/Templating, hay demasiadas > opciones para un ignorante como yo. Entiendo que debería hacerlas con > algo que esté dentro de las bibliotecas estándar de Python (para que > todos los requisitos por la parte de Python sean sólo Python y funcione > a todo el mundo). No he seguido la anterior conversación, pero te puedo sugerir usar algo tan simple como el operador de formato '%'. Toda la "plantilla" la expresas como una cadena multilínea (las que empiezan y acaban por triple comillas), e introduce en ella las variables de sustitución que desees mediante el indicativo %s. Yo suelo introducir las variables de sustitución en diccionarios, algo bastante cómodo si quieres luego reutilizar las mismas variables a lo largo del código. Por ejemplo: host_conf=""" host %(name)s { fixed-address %(ip)s; #%(comment)s hardware ethernet %(mac)s; }""" params={ "name": "homer", "comment":"Servidor Local", "ip":"10.0.0.100", "mac":"02:00:00:00:00:50" } res_txt=host_conf % params file("output.txt","w").write(res_txt) Seguramente te sobre con ésto. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From oinos en web.de Mon May 26 21:26:02 2008 From: oinos en web.de (=?ISO-8859-1?Q?Pablo_Rodr=EDguez?=) Date: Mon, 26 May 2008 21:26:02 +0200 Subject: ejemplo de plantillas In-Reply-To: <2c9fb0dd0805261109x5ff8b766ld3e91c0910a3ca20@mail.gmail.com> References: <483AED49.7000502@web.de> <2c9fb0dd0805261109x5ff8b766ld3e91c0910a3ca20@mail.gmail.com> Message-ID: <483B0ECA.80103@web.de> Gracias por la respuesta, Chema. Chema Cortes wrote: > El día 26 de mayo de 2008 19:03, Pablo Rodríguez escribió: > >> hace unos días hice una pregunta sobre un pequeño programa que genera un >> script para generar Flash con swfc (que no he actualizado en su versión >> en red http://ousia.justfree.com/iracconshow.txt). >> >> Arnau me sugirió que usase una plantilla para el código de swfc (si no >> he entendido mal) porque mi código está infestado de filebuffer.append. >> >> [...] > > No he seguido la anterior conversación, pero te puedo sugerir usar > algo tan simple como el operador de formato '%'. Toda la "plantilla" > la expresas como una cadena multilínea (las que empiezan y acaban por > triple comillas), e introduce en ella las variables de sustitución que > desees mediante el indicativo %s. > > Yo suelo introducir las variables de sustitución en diccionarios, algo > bastante cómodo si quieres luego reutilizar las mismas variables a lo > largo del código. Por ejemplo: > > host_conf=""" host %(name)s { > fixed-address %(ip)s; #%(comment)s > hardware ethernet %(mac)s; > }""" > > params={ "name": "homer", "comment":"Servidor Local", > "ip":"10.0.0.100", "mac":"02:00:00:00:00:50" } > > res_txt=host_conf % params > > file("output.txt","w").write(res_txt) Bien, mi pregunta es sencilla. ¿Puedo sustituir las variables de sustitución por lo que en el resto del código son a su vez otras variables? Y esto me interesa mucho, ¿puedo hacer que la plantilla no esté en el mismo archivo, sino en otro distinto? ¿Cómo sería el ejemplo en este caso? Gracias de nuevo, Pablo _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From mlacunza en gmail.com Mon May 26 22:22:55 2008 From: mlacunza en gmail.com (Mario Lacunza) Date: Mon, 26 May 2008 15:22:55 -0500 Subject: =?ISO-8859-1?Q?Re:__comprobar_c=F3digo?= In-Reply-To: <27AD004A-C343-42EA-BE91-BD9E3D9304A5@gmail.com> References: <483AEDB4.6050606@gmail.com> <27AD004A-C343-42EA-BE91-BD9E3D9304A5@gmail.com> Message-ID: <771741b20805261322l4f737376j2be15cce35eda5f6@mail.gmail.com> Hola, yo tambien uso Eclipse + PyDev, pero lo q no veo es la integracion q mencionas? hay un instalador para Eclipse o como has procedido?? El día 26 de mayo de 2008 12:14, Jose Jiménez López escribió: > Gracias a los dos por las respuestas. > He probado pychecker y pylint, no los he probado en profundidad, pero al > ver que pylint se integra (hasta ahora parece que bastante bien) con Eclipse > que es el entorno que uso actualmente me quedo con este :) > > Gracias de nuevo. Saludos. > > El 26/05/2008, a las 19:04, Arnau Sanchez escribió: > > > Jose Jiménez López escribió: >> >> hace ya bastante que vengo programando con Python, y desde hace tiempo me >>> surge una duda/necesidad. No es la primera vez que me pasa, que al ser un >>> lenguaje interpretado, hay partes del código que no se ejecutan siempre, con >>> lo que si hay un error en esa parte, puede aparecer en el momento menos >>> oportuno :) >>> Hay alguna forma de "precompilar" el código para evitar estas cosas? >>> cuando hablo de errores me refiero a lo tipico de equivocarte al escribir el >>> nombre de un método, usar una variable antes de instanciarla, usar un método >>> o una clase sin haberla importado... >>> >> >> Ya te han comentado que existen programas como "pychecker", aquí se habla >> de alguno más: >> >> http://pythonesfaq.k-rolus.net/#index26h3 >> >> >> http://effbot.org/pyfaq/is-there-a-tool-to-help-find-bugs-or-perform-static-analysis.htm >> >> --- >> >> Ok, todo esto está muy bien, pero si realmente quieres hacer una >> aplicación sólida, haz tests (ver módulos unittest/doctest de la librería >> oficial). Por dar algún enlace: >> >> >> http://agiletesting.blogspot.com/2005/01/python-unit-testing-part-1-unittest.html >> _______________________________________________ >> Lista de correo Python-es http://listas.aditel.org/listinfo/python-es >> FAQ: http://listas.aditel.org/faqpyes >> > > --- > Jose Jiménez López > jjimenezlopez en gmail.com > www.josejimenez.net > > > > > _______________________________________________ > Lista de correo Python-eshttp://listas.aditel.org/listinfo/python-es > > FAQ: http://listas.aditel.org/faqpyes > -- Saludos / Best regards Mario Lacunza Consultor de Sistemas - Webmaster Email: mlacunza [AT] gmail [DOT] com Lima - Peru _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pyarnau en gmail.com Mon May 26 22:46:16 2008 From: pyarnau en gmail.com (Arnau Sanchez) Date: Mon, 26 May 2008 22:46:16 +0200 Subject: ejemplo de plantillas In-Reply-To: <2c9fb0dd0805261109x5ff8b766ld3e91c0910a3ca20@mail.gmail.com> References: <483AED49.7000502@web.de> <2c9fb0dd0805261109x5ff8b766ld3e91c0910a3ca20@mail.gmail.com> Message-ID: <483B2198.6050307@gmail.com> Chema Cortes escribió: > No he seguido la anterior conversación, pero te puedo sugerir usar > algo tan simple como el operador de formato '%'. Toda la "plantilla" > la expresas como una cadena multilínea (las que empiezan y acaban por > triple comillas), e introduce en ella las variables de sustitución que > desees mediante el indicativo %s. En realidad le recomendé plantillas no porque tuviera variables a interpolar (aunque alguna tendrá), sino porque necesita una cierta lógica en la presentación (condicionales y bucles), ¿qué le recomendarías? Yo tras buscar un poco optaría por algo sencillo como Preppy o Tempita. Un ejemplo de la pinta que tendría con Tempita: #http://pythonpaste.org/tempita/ import tempita template = """ Hello {{name}}: {{if name == "Bob"}} Nice to meet you, Bob. {{else}} Who are you? {{endif}} {{for x in range(10)}} Hello {{name}} ({{x}}) {{endfor}} """ tmpl = tempita.Template(template) namespace = dict(name="Bob") print tmpl.substitute(namespace) Por aclararlo un poco, Pablo, lo que en el ejemplo está en la variable "template" lo pondrías en un fichero aparte, que luego leerías: tmpl = tempita.Template(open("example.tempita").read()) namespace = dict(name="Bob") print tmpl.substitute(namespace) _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From jjimenezlopez en gmail.com Mon May 26 23:40:38 2008 From: jjimenezlopez en gmail.com (=?ISO-8859-1?Q?Jose_Jim=E9nez_L=F3pez?=) Date: Mon, 26 May 2008 23:40:38 +0200 Subject: =?ISO-8859-1?Q?Re:__comprobar_c=F3digo?= In-Reply-To: <771741b20805261322l4f737376j2be15cce35eda5f6@mail.gmail.com> References: <483AEDB4.6050606@gmail.com> <27AD004A-C343-42EA-BE91-BD9E3D9304A5@gmail.com> <771741b20805261322l4f737376j2be15cce35eda5f6@mail.gmail.com> Message-ID: Hola, pues una vez que instalas pylint y sus dependencias, en la configuración general de eclipse, en el arbol de la izquierda si despliegas PyDev, te aparece Pylint. Lo puedes ver aquí: http://pydev.sourceforge.net/pylint.html Saludos. El 26/05/2008, a las 22:22, Mario Lacunza escribió: > Hola, > > yo tambien uso Eclipse + PyDev, pero lo q no veo es la integracion q > mencionas? hay un instalador para Eclipse o como has procedido?? > > El día 26 de mayo de 2008 12:14, Jose Jiménez López > > escribió: > >> Gracias a los dos por las respuestas. >> He probado pychecker y pylint, no los he probado en profundidad, >> pero al >> ver que pylint se integra (hasta ahora parece que bastante bien) >> con Eclipse >> que es el entorno que uso actualmente me quedo con este :) >> >> Gracias de nuevo. Saludos. >> >> El 26/05/2008, a las 19:04, Arnau Sanchez escribió: >> >> >> Jose Jiménez López escribió: >>> >>> hace ya bastante que vengo programando con Python, y desde hace >>> tiempo me >>>> surge una duda/necesidad. No es la primera vez que me pasa, que >>>> al ser un >>>> lenguaje interpretado, hay partes del código que no se ejecutan >>>> siempre, con >>>> lo que si hay un error en esa parte, puede aparecer en el momento >>>> menos >>>> oportuno :) >>>> Hay alguna forma de "precompilar" el código para evitar estas >>>> cosas? >>>> cuando hablo de errores me refiero a lo tipico de equivocarte al >>>> escribir el >>>> nombre de un método, usar una variable antes de instanciarla, >>>> usar un método >>>> o una clase sin haberla importado... >>>> >>> >>> Ya te han comentado que existen programas como "pychecker", aquí >>> se habla >>> de alguno más: >>> >>> http://pythonesfaq.k-rolus.net/#index26h3 >>> >>> >>> http://effbot.org/pyfaq/is-there-a-tool-to-help-find-bugs-or-perform-static-analysis.htm >>> >>> --- >>> >>> Ok, todo esto está muy bien, pero si realmente quieres hacer una >>> aplicación sólida, haz tests (ver módulos unittest/doctest de la >>> librería >>> oficial). Por dar algún enlace: >>> >>> >>> http://agiletesting.blogspot.com/2005/01/python-unit-testing-part-1-unittest.html >>> _______________________________________________ >>> Lista de correo Python-es http://listas.aditel.org/listinfo/python- >>> es >>> FAQ: http://listas.aditel.org/faqpyes >>> >> >> --- >> Jose Jiménez López >> jjimenezlopez en gmail.com >> www.josejimenez.net >> >> >> >> >> _______________________________________________ >> Lista de correo Python-eshttp://listas.aditel.org/listinfo/python-es >> >> FAQ: http://listas.aditel.org/faqpyes >> > > > > -- > Saludos / Best regards > > Mario Lacunza > Consultor de Sistemas - Webmaster > > Email: mlacunza [AT] gmail [DOT] com > Lima - Peru > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes --- Jose Jiménez López jjimenezlopez en gmail.com www.josejimenez.net _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pych3m4 en gmail.com Tue May 27 09:50:12 2008 From: pych3m4 en gmail.com (Chema Cortes) Date: Tue, 27 May 2008 09:50:12 +0200 Subject: ejemplo de plantillas In-Reply-To: <483B0ECA.80103@web.de> References: <483AED49.7000502@web.de> <2c9fb0dd0805261109x5ff8b766ld3e91c0910a3ca20@mail.gmail.com> <483B0ECA.80103@web.de> Message-ID: <2c9fb0dd0805270050s71402509ic0c24d80594b7e4f@mail.gmail.com> El día 26 de mayo de 2008 21:26, Pablo Rodríguez escribió: > Bien, mi pregunta es sencilla. > > ¿Puedo sustituir las variables de sustitución por lo que en el resto del > código son a su vez otras variables? El diccionario que aplicas lo creas como mejor te convenga: params={"name":var1, "comments":var2, } res=plantilla % params Otra forma (que no recomiendo utilizar por la falta de control) sería usar directamente el diccionario de variables locales y/o globales: plantilla % locals() > Y esto me interesa mucho, ¿puedo hacer que la plantilla no esté en el > mismo archivo, sino en otro distinto? ¿Cómo sería el ejemplo en este caso? Puedes tener la plantilla donde quieras, por ejemplo en un fichero aparte. Lees la plantilla como fichero de texto y le aplicas el diccionario de parámetros: plantilla = file("plantilla.txt").read() res=plantilla%params file("output.txt").write(res) _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pych3m4 en gmail.com Tue May 27 11:20:19 2008 From: pych3m4 en gmail.com (Chema Cortes) Date: Tue, 27 May 2008 11:20:19 +0200 Subject: ejemplo de plantillas In-Reply-To: <483B2198.6050307@gmail.com> References: <483AED49.7000502@web.de> <2c9fb0dd0805261109x5ff8b766ld3e91c0910a3ca20@mail.gmail.com> <483B2198.6050307@gmail.com> Message-ID: <2c9fb0dd0805270220t16fb0a2av79ffb151722f0363@mail.gmail.com> El día 26 de mayo de 2008 22:46, Arnau Sanchez escribió: > En realidad le recomendé plantillas no porque tuviera variables a interpolar > (aunque alguna tendrá), sino porque necesita una cierta lógica en la > presentación (condicionales y bucles), ¿qué le recomendarías? No he probado los distintos sistemas de plantillas. Siempre me ha resultado más que suficiente python como lenguaje para hacer las plantillas, sin necesitar tener que recurrir a otros lenguajes distintos. El uso de un sistemas de plantillas lo veo más motivado por una búsqueda de compatibilidad o como un modo de reutilizar un trabajo ya hecho. Sí que he visto interesante sistemas de plantillas como Kid, donde la plantilla se transforma en un objeto python "puro" que se puedes ir moldeando e, incluso, especializarlo mediante herencia. Puede usarse para crear plantillas a partir de elementos de otras plantillas maestras, algo que, creo yo, no se necesitaba en este caso. En cuanto a la "lógica de presentación", es un concepto algo engañoso. Dificulta la aplicación de pruebas de validación (pe: cumplimiento del estándar xhtml), así como la posible "refactorización" del código. Debería orientarse sólo a la "presentación" en sí misma, nunca a la generación de contenido. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From minoztro en gmail.com Tue May 27 15:21:33 2008 From: minoztro en gmail.com (Milton Galo Patricio Inostroza Aguilera) Date: Tue, 27 May 2008 09:21:33 -0400 Subject: =?utf-8?q?duda_acerca_de_self_como_argumento_de_m?= =?utf-8?q?=C3=A9todos?= Message-ID: <172699c50805270621s3673129dyf0a916dca8abc376@mail.gmail.com> estimados: Ayer durante una presentación en la Universidad me preguntaron por qué siempre tiene que ir como primer argumento de un método el argumento self, en realidad nunca me lo había cuestionado :-S....bueno en realidad es entendible que debe existir una referencia a la instancia pero por qué esto debe aparecer "explicitamente" en el código que el programador escribe y por qué no simplemente ocultarlo y usar un atributo especial como this?...Yo a priori pienso que es por facilidad de usabilidad y siempre es mejor "visible" que "oculto y mistico". Acabo de hacer un código de juguete, es el siguiente: >>> class test(object): ... def __init__(s): ... s.a = 10 ... >>> testObject = test() >>> testObject.a 10 Sinceramente a mi no me molesta indicar el atributo self ya que encuentro que es más fácil leer el código, además que en python puedes definir atributos de la clase en cualquier parte del cuerpo de la clase. La otra duda es que como a través de test accedo al atributo a?...es decir hacer test.a?..... Y la otra duda {ya comenzando a ser off-topic} como puedo hacer un del(test.a) ? de la instancia se puede hacer de lo más bien, pero no he encontrado como eliminar un atributo de la clase. Gracias por vuestras respuestas, -- Milton Inostroza Aguilera ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From med.swl en gmail.com Tue May 27 15:56:42 2008 From: med.swl en gmail.com (Medardo Rodriguez) Date: Tue, 27 May 2008 09:56:42 -0400 Subject: =?ISO-8859-1?Q?Re:__duda_acerca_de?= =?ISO-8859-1?Q?_self_como_argumento_de_m=E9todos?= In-Reply-To: <172699c50805270621s3673129dyf0a916dca8abc376@mail.gmail.com> References: <172699c50805270621s3673129dyf0a916dca8abc376@mail.gmail.com> Message-ID: <4891add70805270656p5e17133ex307d2fcc3303f4ae@mail.gmail.com> 2008/5/27 Milton Galo Patricio Inostroza Aguilera : > La otra duda es que como a través de test accedo al atributo a?...es > decir hacer test.a?..... «test» es una clase en tu ejemplo. En la teoría de POO (o más general, de análisis de dominio) las clases se pueden ver también como objetos[1]. Los objetos tienen atributos. Veamos un ejemplo más amplio para poder responder mejor: class test(object): attr = 'Esto es un attributo de clase' def __init__(self, attr): self.attr = attr def __str__(self): return str(self.attr) objs = [test(2*i+1) for i in xrange(10)] print test.attr for obj in objs: print obj «test.atrr» es un atributo del objeto «test», que es a su vez la clase. «objs[0].attr» es un atributo de otro objeto que es una de las instancias de «test». Por supuesto que las instancias pueden tener un atributo de nombre «attr» y la clase de éstas no tenerlo. > Y la otra duda {ya comenzando a ser off-topic} como puedo hacer un > del(test.a) ? de la instancia se puede hacer de lo más bien, pero no > he encontrado como eliminar un atributo de la clase. No lo puedes hacer en la clase, simplemente porque en tu ejemplo ésta, en su faceta de objeto, no tiene tal atributo. i lo tuviera, pudieras borrarlo sin problemas. Saludos [1] Lo que establece el concepto de relaciones de metaclases. Python soporta este concepto. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From minoztro en gmail.com Tue May 27 16:38:57 2008 From: minoztro en gmail.com (Milton Galo Patricio Inostroza Aguilera) Date: Tue, 27 May 2008 10:38:57 -0400 Subject: =?utf-8?q?Re=3A_duda_acerca_de_self_como_argumento_d?= =?utf-8?q?e_m=C3=A9todos?= In-Reply-To: <172699c50805270621s3673129dyf0a916dca8abc376@mail.gmail.com> References: <172699c50805270621s3673129dyf0a916dca8abc376@mail.gmail.com> Message-ID: <172699c50805270738r2049ba8fud4bcb41752d13082@mail.gmail.com> El día 27 de mayo de 2008 9:21, Milton Galo Patricio Inostroza Aguilera escribió: > estimados: > > Ayer durante una presentación en la Universidad me preguntaron por > qué siempre tiene que ir como primer argumento de un método el > argumento self, en realidad nunca me lo había cuestionado :-S....bueno > en realidad es entendible que debe existir una referencia a la > instancia pero por qué esto debe aparecer "explicitamente" en el > código que el programador escribe y por qué no simplemente ocultarlo y > usar un atributo especial como this?...Yo a priori pienso que es por > facilidad de usabilidad y siempre es mejor "visible" que "oculto y > mistico". bueno específicamente me dijeron esto: """ la pregunta es saber porque tomaron la decision de dejar el self como parametro explicito. Modula-3 es un lenguaje de los 80, que viene de Modula (fin de los 70s), sucesor de Pascal. O sea, nada transcendental en el reino de los lenguajes OO (comparar con Smalltalk 72/76/80). en todo lenguaje OO que sirve hoy en dia, el self es un parametro implicito. No es necesario ponerlo como parametro explicito, simplemente se puede usar this (Java) o self (Smalltalk) dentro del cuerpo de un metodo. """ > > Acabo de hacer un código de juguete, es el siguiente: > >>>> class test(object): > ... def __init__(s): > ... s.a = 10 > ... >>>> testObject = test() >>>> testObject.a > 10 > > Sinceramente a mi no me molesta indicar el atributo self ya que > encuentro que es más fácil leer el código, además que en python puedes > definir atributos de la clase en cualquier parte del cuerpo de la > clase. > > La otra duda es que como a través de test accedo al atributo a?...es > decir hacer test.a?..... > > Y la otra duda {ya comenzando a ser off-topic} como puedo hacer un > del(test.a) ? de la instancia se puede hacer de lo más bien, pero no > he encontrado como eliminar un atributo de la clase. > > Gracias por vuestras respuestas, > > -- > Milton Inostroza Aguilera > -- Milton Inostroza Aguilera ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From jcaballero.hep en gmail.com Tue May 27 16:52:52 2008 From: jcaballero.hep en gmail.com (Jose Caballero) Date: Tue, 27 May 2008 10:52:52 -0400 Subject: =?ISO-8859-1?Q?Re:__Re:_duda_acerca_?= =?ISO-8859-1?Q?de_self_como_argumento_de_m=E9todos?= In-Reply-To: <172699c50805270738r2049ba8fud4bcb41752d13082@mail.gmail.com> References: <172699c50805270621s3673129dyf0a916dca8abc376@mail.gmail.com> <172699c50805270738r2049ba8fud4bcb41752d13082@mail.gmail.com> Message-ID: Hola, espero que este link te ayude un poco http://effbot.org/pyfaq/why-must-self-be-used-explicitly-in-method-definitions-and-calls.htm Saludos, Jose El día 27 de mayo de 2008 10:38, Milton Galo Patricio Inostroza Aguilera < minoztro en gmail.com> escribió: > El día 27 de mayo de 2008 9:21, Milton Galo Patricio Inostroza > Aguilera escribió: > > estimados: > > > > Ayer durante una presentación en la Universidad me preguntaron por > > qué siempre tiene que ir como primer argumento de un método el > > argumento self, en realidad nunca me lo había cuestionado :-S....bueno > > en realidad es entendible que debe existir una referencia a la > > instancia pero por qué esto debe aparecer "explicitamente" en el > > código que el programador escribe y por qué no simplemente ocultarlo y > > usar un atributo especial como this?...Yo a priori pienso que es por > > facilidad de usabilidad y siempre es mejor "visible" que "oculto y > > mistico". > > bueno específicamente me dijeron esto: > > """ > la pregunta es saber porque tomaron la decision de dejar el self como > parametro explicito. Modula-3 es un lenguaje de los 80, que viene de > Modula (fin de los 70s), sucesor de Pascal. O sea, nada transcendental > en el reino de los lenguajes OO (comparar con Smalltalk 72/76/80). > > en todo lenguaje OO que sirve hoy en dia, el self es un parametro > implicito. No es necesario ponerlo como parametro explicito, > simplemente se puede usar this (Java) o self (Smalltalk) dentro del > cuerpo de un metodo. > """ > > > > > Acabo de hacer un código de juguete, es el siguiente: > > > >>>> class test(object): > > ... def __init__(s): > > ... s.a = 10 > > ... > >>>> testObject = test() > >>>> testObject.a > > 10 > > > > Sinceramente a mi no me molesta indicar el atributo self ya que > > encuentro que es más fácil leer el código, además que en python puedes > > definir atributos de la clase en cualquier parte del cuerpo de la > > clase. > > > > La otra duda es que como a través de test accedo al atributo a?...es > > decir hacer test.a?..... > > > > Y la otra duda {ya comenzando a ser off-topic} como puedo hacer un > > del(test.a) ? de la instancia se puede hacer de lo más bien, pero no > > he encontrado como eliminar un atributo de la clase. > > > > Gracias por vuestras respuestas, > > > > -- > > Milton Inostroza Aguilera > > > > > > -- > Milton Inostroza Aguilera > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From hfoffani en gmail.com Tue May 27 17:54:18 2008 From: hfoffani en gmail.com (Hernan M Foffani) Date: Tue, 27 May 2008 17:54:18 +0200 Subject: =?iso-8859-1?q?Re=3A_duda_acerca_de_self_como_argume?= =?iso-8859-1?q?nto_de_m=E9todos?= Message-ID: <11fab4bc0805270854p2df090aap44ec5cd3a44cc48c@mail.gmail.com> >> Ayer durante una presentación en la Universidad me preguntaron por >> quÃ(c) siempre tiene que ir como primer argumento de un mÃ(c)todo el >> argumento self, en realidad nunca me lo había cuestionado :-S....bueno >> en realidad es entendible que debe existir una referencia a la >> instancia pero por quÃ(c) esto debe aparecer "explicitamente" en el >> código que el programador escribe y por quÃ(c) no simplemente ocultarlo y >> usar un atributo especial como this?...Yo a priori pienso que es por >> facilidad de usabilidad y siempre es mejor "visible" que "oculto y >> mistico". > > bueno específicamente me dijeron esto: > > """ > la pregunta es saber porque tomaron la decision de dejar el self como > parametro explicito. Modula-3 es un lenguaje de los 80, que viene de > Modula (fin de los 70s), sucesor de Pascal. O sea, nada transcendental > en el reino de los lenguajes OO (comparar con Smalltalk 72/76/80). > > en todo lenguaje OO que sirve hoy en dia, el self es un parametro > implicito. No es necesario ponerlo como parametro explicito, > simplemente se puede usar this (Java) o self (Smalltalk) dentro del > cuerpo de un metodo. > """ Python no es Java. http://www.python.org/doc/faq/general/#why-must-self-be-used-explicitly-in-method-definitions-and-calls _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From jm.galvez en oneandzero.net Tue May 27 18:27:40 2008 From: jm.galvez en oneandzero.net (=?iso-8859-1?Q?Jm._G=E1lvez?=) Date: Tue, 27 May 2008 18:27:40 +0200 Subject: Authentication Tool Cherrypy Message-ID: <000601c8c016$9853c760$2100a8c0@Principal> Buenas compañeros. He estado probando el codigo Basic Authentication Tool del libro CherryPy Essentials de Sylvain Hellogouarch. Pero me surgen varios problemas. Como puedo conectar esto con una base de datos en especial Mysql y el siguiente problema es cuando valido el usuario y la constraseña no me deja avanzar me vuelve a repetir que introduzca codigo y usuario. Espero me pueda ayudar alguien. import sha import cherrypy class Root: @cherrypy.expose def index(self): return """ Admin area """ class Admin: @cherrypy.expose def index(self): return "Esto es un area privada" if __name__=='__main__': def get_users(): # 'test':'test' return {'test':'a104a8fe5ccb110ba61c4c0873d3101e10871082fbbd3'} def encrypt_pwd(token): return sha.new(token).hexdigest() conf={'/admin':{'tools.basic_auth.on':True, 'tools.basic_auth.realm':'Some site', 'tools.basic_auth.users':get_users, 'tools.basic_auth.encrypt':encrypt_pwd}} root=Root() root.admin=Admin() cherrypy.quickstart(root,'/',config=conf) Gracías por todo. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From med.swl en gmail.com Tue May 27 18:35:58 2008 From: med.swl en gmail.com (Medardo Rodriguez) Date: Tue, 27 May 2008 12:35:58 -0400 Subject: =?ISO-8859-1?Q?Re:__Re:_duda_acerca_?= =?ISO-8859-1?Q?de_self_como_argumento_de_m=E9todos?= In-Reply-To: <172699c50805270738r2049ba8fud4bcb41752d13082@mail.gmail.com> References: <172699c50805270621s3673129dyf0a916dca8abc376@mail.gmail.com> <172699c50805270738r2049ba8fud4bcb41752d13082@mail.gmail.com> Message-ID: <4891add70805270935r66b456f5p68398e7440cff4de@mail.gmail.com> 2008/5/27 Milton Galo Patricio Inostroza Aguilera : > bueno específicamente me dijeron esto: > > """ > ... > en todo lenguaje OO que sirve hoy en dia, el self es un parametro > implicito ... > """ Esta frase es muy pretenciosa, hasta donde sé hay más de 200 lenguajes OO, y todos le deben servir a alguien. También implica acusar al Python de no servir, y para mi que sirve más como lenguaje que el Java, C#, Delphi para las aplicaciones más comunes hoy. Pero no quiero generar flames con esto, sólo compartir un poco mis experiencias. Como aporte, uno de mis alumnos en mi curso de programación el año pasado me presentó la siguiente página de la Wiki: http://en.wikipedia.org/wiki/Circle-ellipse_problem Es un artículo pseudo-científico. Me insulté mucho, sobre todo por los siguientes dos motivos: * Hacen referencia a una supuesta violación de un axioma de Barbara Liskov[1] que en mi opinión es lo mejor en desarrollo científico de la programación como ciencia de los últimos 20 años. * Basan el análisis en algo muy superficial tomando como base lo ineficiente de algunos lenguajes de programación para expresar modelos tan simples como éste. Mi respuesta fue: «En 8vo grado mi profesor de matemáticas me digo que los círculos son elipses con distancia focal igual a cero. La primera parte de este predicado implica una relación de herencia entre clases: la clase *Circle* hereda de la clase *Ellipse*. La segunda parte es una invariante de clase[2].» No sabía de qué hablaba cuando le mencioné la última estructura. Le dije, «estudia al menos la teoría de Bertrand Meyer que está considerado pionero de la Teoría de Tipos y de la Programación Basada en restricciones.» Luego le enfoqué el problema desde otro punto de vista: el de un editor vectorial, donde una podía adicionar un objeto de la clase *Ellipse* y la barra de estados debería mostrarme el nombre de la clase del objeto selecionado y el ancho y el alto de éste. Le dije, «si arrastro por una de las esquinas a una elipse hasta que su alto y ancho sean iguales ¿qué nombre de clase debería mostrarme?» Sin pensarlo mucho dijo «Círculo». Le dije «un objeto mutó, cambió de clase» y le propuse programar eso en C# (lenguaje que usaba). Se dio cuenta que le sería casi imposible lograrlo y me dijo que no era válido que un objeto mutara de clase. Le dije «bueno, a mi me parece muy normal (y a mi mamá, que no sabe nada de programación, también) que si le cambio el tamaño a una elipse pueda convertirse en un círculo; lo que pasa es que ustedes no ven la programación como una forma de representar la realidad, si no quisieran modificar la realidad a lo arquetípico de Platón para que se adapte a la programación que usan». Acto seguido me senté y muy rápido le programé lo siguiente en Python: #!/usr/bin/env python # -*- coding: UTF-8 -*- # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # Copyright (C) 2008, Medardo Rodriguez # http://en.wikipedia.org/wiki/Circle-ellipse_problem class Shape(object): def __init__(self, x, y): self.x = x self.y = y class SizeableShape(Shape): def __init__(self, x, y, dx, dy): Shape.__init__(self, x, y) self.SetSize(dx, dy) def SetSize(self, dx, dy): self.dx = dx self.dy = dy def _IsSquarish(self): Epsilon = 1E-10 return abs(self.dx - self.dy) < Epsilon class MutableShape(SizeableShape): def _Mutate(self, _class): # analize if some checks are needed here self.__class__ = _class def __SetSize(self, dx, dy): """This is not intended to be used. It's only a common solution for inheritance relationships fulfilling implied conditions. (Ellipse, Circle) and (Rectangle, Square) are two examples.""" SizeableShape.SetSize(self, dx, dy) subclasses = self.__class__.__subclasses__() IsSuperClase = (len(subclasses) > 0) # (Ellipse, Rectangle) NeedMutation = (IsSuperClase == self._IsSquarish()) if NeedMutation: if IsSuperClase: _class = subclasses[0] else: _class = self.__class__.__base__ self._Mutate(_class) class Ellipse(MutableShape): def SetSize(self, dx, dy): MutableShape.SetSize(self, dx, dy) if self._IsSquarish() and (type(self) is Ellipse): self._Mutate(Circle) class Circle(Ellipse): def __init__(self, x, y, radius): diameter = 2*radius Ellipse.__init__(self, x, y, diameter, diameter) def SetSize(self, dx, dy): Ellipse.SetSize(self, dx, dy) if not self._IsSquarish() and (type(self) is Circle): self._Mutate(Ellipse) class Rectangle(MutableShape): def SetSize(self, dx, dy): MutableShape.SetSize(self, dx, dy) if self._IsSquarish() and (type(self) is Rectangle): self._Mutate(Square) class Square(Rectangle): def __init__(self, x, y, width): Rectangle.__init__(self, x, y, width, width) def SetSize(self, dx, dy): Rectangle.SetSize(self, dx, dy) if not self._IsSquarish() and (type(self) is Square): self._Mutate(Rectangle) class Point(Shape): pass if __name__ == '__main__': for code in ('ce = Circle(0, 0, 10)', 'ce.SetSize(5, 6)', 'ce.SetSize(15, 15)'): exec code print '>>> %s' % code for cls in [Circle, Ellipse]: print '%s: %s' % (cls.__name__, isinstance(ce, cls)) print Aún espero por que alguien me haga algo como esto en C#, Java u otro lenguaje popular, de esos que «sirven». Alguna vez poniendo este ejemplo dije «El Python no es perfecto, pero evidentemente es mejor que otros para modelar más cercano a cómo razonamos, y ésta es lo correcto en programación» Saludos [1] http://en.wikipedia.org/wiki/Liskov_substitution_principle [2] http://en.wikipedia.org/wiki/Class_invariant _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From oinos en web.de Tue May 27 18:53:33 2008 From: oinos en web.de (=?ISO-8859-1?Q?Pablo_Rodr=EDguez?=) Date: Tue, 27 May 2008 18:53:33 +0200 Subject: ejemplo de plantillas In-Reply-To: <483B2198.6050307@gmail.com> References: <483AED49.7000502@web.de> <2c9fb0dd0805261109x5ff8b766ld3e91c0910a3ca20@mail.gmail.com> <483B2198.6050307@gmail.com> Message-ID: <483C3C8D.6020308@web.de> Arnau Sanchez wrote: > Chema Cortes escribió: > >> No he seguido la anterior conversación, pero te puedo sugerir usar >> algo tan simple como el operador de formato '%'. Toda la "plantilla" >> la expresas como una cadena multilínea (las que empiezan y acaban por >> triple comillas), e introduce en ella las variables de sustitución que >> desees mediante el indicativo %s. > > En realidad le recomendé plantillas no porque tuviera variables a > interpolar (aunque alguna tendrá), sino porque necesita una cierta > lógica en la presentación (condicionales y bucles), ¿qué le recomendarías? Gracias de veras por la respuesta, Arnau. Lo que no consigo entender muy bien es la ventaja real de usar plantillas. Perdona que lo ponga en duda, pero supongo que no consigo verlo por propia ignorancia. Además tengo ciertas reticencias a cambiar algo sin ver las mejoras. Parte del motivo de las reticencias lo describo más adelante. Entiendo que lo único que conseguiré con las plantillas es quitar los framebuffer.append(''), que hacen un poco más engorrosa la lectura del texto. Desde luego, si sólo es eso, creo que no me compensa (supongo que lo de la lógica de la presentación no es tan visual, pero sigue siendo la misma, con un sufijo y con un prefijo). > Yo tras buscar un poco optaría por algo sencillo como Preppy o Tempita. Esto introduce una dependencia nueva. Por ejemplo, ninguno de los dos está incluido en mi distrubución, Mandriva, y quizá no esté en ninguna de las otras grandes: Ubuntu, Fedora, (pon aquí la que tenga que ser). Por lo que me has puesto abajo (y borro en este mensaje), no tengo duda de que el código quedará mucho mejor (si permite introducir variables reales en las variables de sustitución, si no, no me sirve). Pero para que la gente que pueda usarlo sin más hay que conseguir que las distribuciones más importantes incluyan tempita en su oferta de paquetes. Mi experiencia en este punto es conseguir empaquetar los enlaces de poppler (una biblioteca que muestra PDFs) para Python. En mi distribución, tengo que proporcionar yo el archivo .spec (que tengo ya hecho), y que tengo que conseguir que uno de los desarrolladores de Mandriva tenga a bien patrocinarlo en lo que (curiosamente, desde mi punto de vista) son contribuciones. Concretamente estamos interesados en incluir pypoppler en SuperShow (http://www.rastersoft.com/programas/supershow_es.html), pero el desarrollador principal no puede compilarlo (usa Ubuntu 8.10 y le da un error raro). Yo lo tengo compilado en mi sistema, pero no sé cómo incluir la ventanita de marras, supera ampliamente mis escasos conocimientos. Una pena. Al final, para que mostrar PDFs sea nativo en SuperShow (y pueda usarse en presentaciones en directo), a ver si yo consigo compilarlo en un Ubuntu 8.04 live o si lo compilo en casa de mi hermano que tiene Ubuntu 8.04. Y con mucha suerte funcionará en Ubuntu 8.10. Supongo que sería cuestión de pedir la adición de un paquete a la distribución correspondiente. Pero ya teniéndome que pelear con mi distribución, me parece suficiente (y no deja de ser absurdo pedir cosas para algo que yo no uso). Pues por estos motivos (y perdón por lo largo del mensaje), evitaría a toda costa dependencias que no sean absolutamente necesarias. Y yo no veo una mejora absoluta usando tempita (excepto que se ve mejor). Pero probablemente sea causa de mi desconocimiento. Muchas gracias, Pablo _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pyarnau en gmail.com Tue May 27 19:38:42 2008 From: pyarnau en gmail.com (Arnau Sanchez) Date: Tue, 27 May 2008 19:38:42 +0200 Subject: ejemplo de plantillas In-Reply-To: <483C3C8D.6020308@web.de> References: <483AED49.7000502@web.de> <2c9fb0dd0805261109x5ff8b766ld3e91c0910a3ca20@mail.gmail.com> <483B2198.6050307@gmail.com> <483C3C8D.6020308@web.de> Message-ID: <483C4722.1010300@gmail.com> Pablo Rodríguez escribió: > Lo que no consigo entender muy bien es la ventaja real de usar > plantillas. Perdona que lo ponga en duda, pero supongo que no consigo > verlo por propia ignorancia. Además tengo ciertas reticencias a cambiar > algo sin ver las mejoras. Por supuesto, si no lo ves claro no tires por ese camino. Pero con plantillas o sin ellas, lo que sí te recomendaría es que lo separaras de alguna forma, no puede ser que tu programa principal crezca sin medida. Si optas por Python puro (lo que te permitiría reusar el código) puedes meterlo en un módulo separado e importarlo desde el principal. > Entiendo que lo único que conseguiré con las plantillas es quitar los > framebuffer.append(''), que hacen un poco más engorrosa la lectura del > texto. Desde luego, si sólo es eso, creo que no me compensa (supongo que > lo de la lógica de la presentación no es tan visual, pero sigue siendo > la misma, con un sufijo y con un prefijo). Para evitar tanta repetición, llámale al append de otra forma: def code_generator(arg1, arg2): o = framebuffer.append ... o("linea de codigo") o("\tuna linea de codigo que usa un argumento: %s" % arg2) return framebuffer Ahora que escribo esto...recuerdo que pensé de inmediato en plantillas al ver que la salida contenía tabulaciones (imagínate el trabajo cuando tengas que hacer un reindentado gordo). Pero en fin, que ya hemos desestimado plantillas, lo dejo :-) > Esto introduce una dependencia nueva. Por ejemplo, ninguno de los dos > está incluido en mi distrubución, Mandriva, y quizá no esté en ninguna > de las otras grandes: Ubuntu, Fedora, (pon aquí la que tenga que ser). Es cierto que añadir dependencias a librerías "extrañas" es un problema, pero en este caso sería fácilmente sorteable: tempita es una librería tan pequeña (25Kb, un único fichero), que lo incluirías directamente en tu aplicación. Lo dicho, opta por el camino en el que te sientas más seguro. arnau _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pych3m4 en gmail.com Tue May 27 20:14:16 2008 From: pych3m4 en gmail.com (Chema Cortes) Date: Tue, 27 May 2008 20:14:16 +0200 Subject: =?ISO-8859-1?Q?Re:__duda_acerca_de?= =?ISO-8859-1?Q?_self_como_argumento_de_m=E9todos?= In-Reply-To: <172699c50805270621s3673129dyf0a916dca8abc376@mail.gmail.com> References: <172699c50805270621s3673129dyf0a916dca8abc376@mail.gmail.com> Message-ID: <2c9fb0dd0805271114g81432f1q52b1d6c5038b725f@mail.gmail.com> El día 27 de mayo de 2008 15:21, Milton Galo Patricio Inostroza Aguilera escribió: > Ayer durante una presentación en la Universidad me preguntaron por > qué siempre tiene que ir como primer argumento de un método el > argumento self, en realidad nunca me lo había cuestionado :-S....bueno > en realidad es entendible que debe existir una referencia a la > instancia pero por qué esto debe aparecer "explicitamente" en el > código que el programador escribe y por qué no simplemente ocultarlo y > usar un atributo especial como this?...Yo a priori pienso que es por > facilidad de usabilidad y siempre es mejor "visible" que "oculto y > mistico". En python tenemos el lema Zen de "mejor explícito que implícito". Aunque en este caso también habría que hablar de otro de los lemas Zen, el de la "simplicidad". El uso explícito del argumento self permite que no existan diferencias entre el bytecode de una función o el de un método, algo que simplifica bastante la máquina virtual al no tener que tratar "modos" diferentes de interpretación según el contexto. def f(self): print self.x class C(object): m=f c=C() c.x="Hola" c.m() --> print "Hola" f(c) --> print "Hola" En este ejemplo, exactamente el mismo bytecode funciona como "función" y como "método". El compilador no necesita crear código diferente según se esté definiendo una función o un método. Aún así, en python se complica la llamada al tener que enlazar la instancia con el descriptor: c.m <<>> f.__get__(c,C) Aunque está "implícito", al menos resulta bastante transparente para el programador. En lua, por poner un contraejemplo, incluso las invocaciones a los métodos son explícitas. Este método se llamaría así: c.m(c) Para evitar tanta redundancia, lua tiene una facilidad sintáctica que mejora la legibilidad: c:m() <<>> c.m(c) En fin, todo son gustos. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pych3m4 en gmail.com Tue May 27 20:21:37 2008 From: pych3m4 en gmail.com (Chema Cortes) Date: Tue, 27 May 2008 20:21:37 +0200 Subject: ejemplo de plantillas In-Reply-To: <483C4722.1010300@gmail.com> References: <483AED49.7000502@web.de> <2c9fb0dd0805261109x5ff8b766ld3e91c0910a3ca20@mail.gmail.com> <483B2198.6050307@gmail.com> <483C3C8D.6020308@web.de> <483C4722.1010300@gmail.com> Message-ID: <2c9fb0dd0805271121g6370611ck61eb0fbd11a5ad86@mail.gmail.com> El día 27 de mayo de 2008 19:38, Arnau Sanchez escribió: > Pablo Rodríguez escribió: >> Entiendo que lo único que conseguiré con las plantillas es quitar los >> framebuffer.append(''), que hacen un poco más engorrosa la lectura del >> texto. Desde luego, si sólo es eso, creo que no me compensa (supongo que >> lo de la lógica de la presentación no es tan visual, pero sigue siendo >> la misma, con un sufijo y con un prefijo). > > Para evitar tanta repetición, llámale al append de otra forma: > > def code_generator(arg1, arg2): > o = framebuffer.append > ... > o("linea de codigo") > o("\tuna linea de codigo que usa un argumento: %s" % arg2) > return framebuffer > > Ahora que escribo esto...recuerdo que pensé de inmediato en plantillas al > ver que la salida contenía tabulaciones (imagínate el trabajo cuando tengas > que hacer un reindentado gordo). Pero en fin, que ya hemos desestimado > plantillas, lo dejo :-) Pues yo lo primero que pensé es en que se podía usar el "print >>", algo así: from cStringIO import StringIO res=StringIO() print >>res, "linea de codigo" print >>res, "\tuna linea de codigo que usa un argumento: %s" % arg2 file("salida.txt","w).write(res.getvalue()) De todos modos, estoy de acuerdo en que se debería evitar usar una lista como almacenamiento intermedio de las líneas de texto. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pyarnau en gmail.com Tue May 27 20:38:13 2008 From: pyarnau en gmail.com (Arnau Sanchez) Date: Tue, 27 May 2008 20:38:13 +0200 Subject: ejemplo de plantillas In-Reply-To: <2c9fb0dd0805271121g6370611ck61eb0fbd11a5ad86@mail.gmail.com> References: <483AED49.7000502@web.de> <2c9fb0dd0805261109x5ff8b766ld3e91c0910a3ca20@mail.gmail.com> <483B2198.6050307@gmail.com> <483C3C8D.6020308@web.de> <483C4722.1010300@gmail.com> <2c9fb0dd0805271121g6370611ck61eb0fbd11a5ad86@mail.gmail.com> Message-ID: <483C5515.8030102@gmail.com> Chema Cortes escribió: > Pues yo lo primero que pensé es en que se podía usar el "print >>", algo así: > > from cStringIO import StringIO > > res=StringIO() > > print >>res, "linea de codigo" > print >>res, "\tuna linea de codigo que usa un argumento: %s" % arg2 > file("salida.txt","w).write(res.getvalue()) Pues sí, StringIO es perfecto para algo así (aunque personalmente no me gusta nada el operador ">>" y usaría la función res.write o un alias más corto) > De todos modos, estoy de acuerdo en que se debería evitar usar una > lista como almacenamiento intermedio de las líneas de texto. Ya que estamos dando alternativas, se podría usar un generador. No es muy flexible, pero en fin, ahí queda: def generador(arg1, arg2): yield "una linea" yield "otra linea" file("/tmp/a", "w").writelines("%s\n" % line for line in generador()) _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From yourpadre en gmail.com Tue May 27 21:05:37 2008 From: yourpadre en gmail.com (Miguel Beltran R.) Date: Tue, 27 May 2008 14:05:37 -0500 Subject: Authentication Tool Cherrypy In-Reply-To: <000601c8c016$9853c760$2100a8c0@Principal> References: <000601c8c016$9853c760$2100a8c0@Principal> Message-ID: Que Basic Authentication no es para autenficarse con sitios WEB (http) solamente? 2008/5/27 Jm. Gálvez : > Buenas compañeros. > > He estado probando el codigo Basic Authentication Tool del libro CherryPy Essentials de Sylvain Hellogouarch. > Pero me surgen varios problemas. Como puedo conectar esto con una base de datos en especial Mysql y el siguiente problema es cuando valido el usuario y la constraseña no me deja avanzar me vuelve a repetir que introduzca codigo y usuario. Espero me pueda ayudar alguien. > > import sha > import cherrypy > > class Root: > @cherrypy.expose > def index(self): > return """ > > > Admin area > > > """ > class Admin: > @cherrypy.expose > def index(self): > return "Esto es un area privada" > > if __name__=='__main__': > def get_users(): > # 'test':'test' > return {'test':'a104a8fe5ccb110ba61c4c0873d3101e10871082fbbd3'} > > def encrypt_pwd(token): > return sha.new(token).hexdigest() > > conf={'/admin':{'tools.basic_auth.on':True, > 'tools.basic_auth.realm':'Some site', > 'tools.basic_auth.users':get_users, > 'tools.basic_auth.encrypt':encrypt_pwd}} > > root=Root() > root.admin=Admin() > cherrypy.quickstart(root,'/',config=conf) > > Gracías por todo. > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- ________________________________________ Lo bueno de vivir un dia mas es saber que nos queda un dia menos de vida _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From punchikk en yahoo.com Tue May 27 21:37:00 2008 From: punchikk en yahoo.com (punchik punchik) Date: Tue, 27 May 2008 12:37:00 -0700 (PDT) Subject: subir variable a base de datos usando modulo httplib Message-ID: <632454.59077.qm@web32004.mail.mud.yahoo.com> hola lista! estoy tratando de subir una variable a una base de datos, Para ello he creado 2 scripts, uno que lo ejecuto en mi computadora y el otro que esta el servidor y que agrega la variable a la base de datos. El problema que tengo es que no puedo enviar la variable desde el script de mi computadora hasta el script de mi servidor, pero si pongo la variable en el mismo script que esta en el servidor y ejecuto el script de mi computadora funciona sin ningun problema. Alguien tiene idea de que estoy haciendo mal? noten que si uso la linea que esta comentada (#sql ='insert into datos VALUES("may")') funciona bien , pero lo que quiero es mandar la variable "hello" a mi base de datos. aca estan los dos scripts. *********** script uno - que corre en el servidor #!/usr/bin/python import cgi, cgitb, MySQLdb db=MySQLdb.connect(host='kblablabla.net',user='kblablablaex',passwd='blablabla,db='bblablablas') cursor=db.cursor() #sql ='insert into datos VALUES("may")' sql ='insert into datos VALUES("' + params +'")' cursor.execute(sql) resultado=cursor.fetchall() ************************** ahora script que corre en mi maquina: import httplib import urllib content = "hello" params = urllib.urlencode({'data': content}) headers = {"Content-type": "application/x-www-form-urlencoded", "Accept": "text/plain"} conn = httplib.HTTPConnection("www.kplex.net") conn.request("POST", "/cgi-bin/recibebasedatospython.py", params, headers) response = conn.getresponse() conn.close() _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From cgalisteo en k-rolus.net Tue May 27 22:48:14 2008 From: cgalisteo en k-rolus.net (Carlos) Date: Tue, 27 May 2008 22:48:14 +0200 Subject: subir variable a base de datos usando modulo httplib In-Reply-To: <632454.59077.qm@web32004.mail.mud.yahoo.com> References: <632454.59077.qm@web32004.mail.mud.yahoo.com> Message-ID: 2008/5/27 punchik punchik : > noten que si uso la linea que esta comentada (#sql ='insert into datos VALUES("may")') funciona bien , pero lo que quiero es mandar la >variable "hello" a mi base de datos. No he usado mucho cgi, pero ¿cómo recibe 'params' el servidor? La primera vez que lo referencias es para concatenarlo, lo que te debería dar (si lo he entendido bien) un error por referenciar una variable inexistente. Ya te digo que tampoco tengo muy claro como hacerlo con cgi, pero me parece un caso ideal para usar un web service sencillito por ejemplo con SOAPpy (ahí si que te podría ayudar algo más si lo necesitas). Un saludo. --- Carlos Galisteo http://blog.k-rolus.net PGP_key::http://k-rolus.net/~cgalisteo/cgalisteo.gpg Key_Fingerprint::F888 6FBA 9145 B5A2 C187 66D6 5B8C 027A 69AD BE65 --- ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From kalith.9 en gmail.com Wed May 28 02:42:20 2008 From: kalith.9 en gmail.com (kalith kalith) Date: Wed, 28 May 2008 20:12:20 +1930 Subject: dudas sobre webs y cookies Message-ID: <3da702830805271742y8327ab8y77895b83a8c33ad9@mail.gmail.com> Buenas tardes... Tengo tres pequeñas interrogantes, aqui voy.. 1.- Existe un modulo, api o libreria que te permita interactuar directamente con google la he visto en vb y creo que en perl pero he buscado y nada.. 2.- Si usando la libreria urllib o urllib2 hay forma de comprobar que si la pagina que se hizo la conexion esta on.. me explico q yo conecte y si la pagina la escribi mal o esta down o simplemente no existe me de un error y que si existe me diga q existe y la abra. 3.- Puedo usando la misma urllib2 conectar a paginas como www.rapidshare.como www.mediafire.com y de ahi con el modulo cookies borrar las cookies para hacerlo de nuevo... 4.- python soporta envio de get y post? de antemano muchas gracias por sus respuestas -- Seamos realistas y hagamos lo imposible _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From punchikk en yahoo.com Wed May 28 13:15:34 2008 From: punchikk en yahoo.com (punchik punchik) Date: Wed, 28 May 2008 04:15:34 -0700 (PDT) Subject: subir variable a base de datos usando modulo httplib In-Reply-To: References: Message-ID: <678173.97332.qm@web32007.mail.mud.yahoo.com> which is the difference if we use webservice like soap? is there any benefit? Carlos wrote: 2008/5/27 punchik punchik : > noten que si uso la linea que esta comentada (#sql ='insert into datos VALUES("may")') funciona bien , pero lo que quiero es mandar la >variable "hello" a mi base de datos. No he usado mucho cgi, pero ¿cómo recibe 'params' el servidor? La primera vez que lo referencias es para concatenarlo, lo que te debería dar (si lo he entendido bien) un error por referenciar una variable inexistente. Ya te digo que tampoco tengo muy claro como hacerlo con cgi, pero me parece un caso ideal para usar un web service sencillito por ejemplo con SOAPpy (ahí si que te podría ayudar algo más si lo necesitas). Un saludo. --- Carlos Galisteo http://blog.k-rolus.net PGP_key::http://k-rolus.net/~cgalisteo/cgalisteo.gpg Key_Fingerprint::F888 6FBA 9145 B5A2 C187 66D6 5B8C 027A 69AD BE65 --- _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From med.swl en gmail.com Wed May 28 13:33:13 2008 From: med.swl en gmail.com (Medardo Rodriguez) Date: Wed, 28 May 2008 07:33:13 -0400 Subject: dudas sobre webs y cookies In-Reply-To: <3da702830805271742y8327ab8y77895b83a8c33ad9@mail.gmail.com> References: <3da702830805271742y8327ab8y77895b83a8c33ad9@mail.gmail.com> Message-ID: <4891add70805280433s1a3492a8n42da11df9f443879@mail.gmail.com> On Tue, May 27, 2008 at 8:42 PM, kalith kalith wrote: > 4.- python soporta envio de get y post? En el módulo estándar *httplib* puedes encontrar, entre otras cosas, la clase *HTTPConnection*. Saludos _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From cgalisteo en k-rolus.net Wed May 28 14:01:50 2008 From: cgalisteo en k-rolus.net (Carlos) Date: Wed, 28 May 2008 14:01:50 +0200 Subject: subir variable a base de datos usando modulo httplib In-Reply-To: <678173.97332.qm@web32007.mail.mud.yahoo.com> References: <678173.97332.qm@web32007.mail.mud.yahoo.com> Message-ID: On Wed, May 28, 2008 at 1:15 PM, punchik punchik wrote: > which is the difference if we use webservice like soap? > is there any benefit? ¿Y ese cambio de idioma? Bueno, el principal beneficio que le veo a la opción SOAP es que lo tengo mucho más claro que CGI, pero seguro que se puede hacer de las dos maneras. Seguramente el resto de razones que te pueda dar son igual de subjetivas o más, así que es tu elección :) -- --- Carlos Galisteo http://blog.k-rolus.net PGP_key::http://k-rolus.net/~cgalisteo/cgalisteo.gpg Key_Fingerprint::F888 6FBA 9145 B5A2 C187 66D6 5B8C 027A 69AD BE65 --- ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From yassergs en ispejv.rimed.cu Wed May 28 09:17:10 2008 From: yassergs en ispejv.rimed.cu (Yasser Gonzalez Soto) Date: Wed, 28 May 2008 09:17:10 +0200 Subject: a EXE References: <678173.97332.qm@web32007.mail.mud.yahoo.com> Message-ID: <002101c8c092$d8182b80$ce03010a@l2pc1> Se puede llevar un archivo .py a .exe? -- Este mensaje ha sido analizado por MailScanner en busca de virus y otros contenidos peligrosos, y se considera que está limpio. For all your IT requirements visit: http://www.transtec.co.uk ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From willian.radicaled en gmail.com Wed May 28 15:27:29 2008 From: willian.radicaled en gmail.com (RadicalEd) Date: Wed, 28 May 2008 08:27:29 -0500 Subject: a EXE In-Reply-To: <002101c8c092$d8182b80$ce03010a@l2pc1> References: <678173.97332.qm@web32007.mail.mud.yahoo.com> <002101c8c092$d8182b80$ce03010a@l2pc1> Message-ID: Ya se ha respondido varias veces el tema Utiliza py2exe y busca en la lista, hace poco descubrí uno bueno para Windows se llama cx_Freeze http://www.google.com.co/search?q=cx_Freeze&ie=utf-8&oe=utf-8&aq=t&rls=com.ubuntu:en-US:official&client=firefox-a On Wed, May 28, 2008 at 2:17 AM, Yasser Gonzalez Soto < yassergs en ispejv.rimed.cu> wrote: > Se puede llevar un archivo .py a .exe? > > -- > Este mensaje ha sido analizado por MailScanner > en busca de virus y otros contenidos peligrosos, > y se considera que está limpio. > For all your IT requirements visit: http://www.transtec.co.uk > > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- The knowledge is the most dangerous weapon & SoloCodigo is the most important programing webforum. http://foros.solocodigo.com _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pych3m4 en gmail.com Wed May 28 18:51:28 2008 From: pych3m4 en gmail.com (Chema Cortes) Date: Wed, 28 May 2008 18:51:28 +0200 Subject: subir variable a base de datos usando modulo httplib In-Reply-To: <632454.59077.qm@web32004.mail.mud.yahoo.com> References: <632454.59077.qm@web32004.mail.mud.yahoo.com> Message-ID: <2c9fb0dd0805280951x1f361ccex510fa47fc7e5b561@mail.gmail.com> El día 27 de mayo de 2008 21:37, punchik punchik escribió: > hola lista! estoy tratando de subir una variable a una base de datos, Para ello he creado 2 scripts, uno que lo ejecuto en mi computadora y el otro que esta el servidor y que agrega la variable a la base de datos. > El problema que tengo es que no puedo enviar la variable desde el script de mi computadora hasta el script de mi servidor, pero si pongo la variable en el mismo script que esta en el servidor y ejecuto el script de mi computadora funciona sin ningun problema. Alguien tiene idea de que estoy haciendo mal? > noten que si uso la linea que esta comentada (#sql ='insert into datos VALUES("may")') funciona bien , pero lo que quiero es mandar la variable "hello" a mi base de datos. Lo primero --siendo un poco quisquilloso--, deberías ajustar el asunto de la pregunta al problema real que tienes. Hasta que no ves el código, no se entiende cuál era la pregunta, ya que no tiene nada qué ver ni con base de datos ni con httplib. > aca estan los dos scripts. > > *********** script uno - que corre en el servidor > > #!/usr/bin/python > > import cgi, cgitb, MySQLdb > > db=MySQLdb.connect(host='kblablabla.net',user='kblablablaex',passwd='blablabla,db='bblablablas') > cursor=db.cursor() > > #sql ='insert into datos VALUES("may")' > sql ='insert into datos VALUES("' + params +'")' > > cursor.execute(sql) > resultado=cursor.fetchall() Evidentemente, te falta recibir los datos,...tal que así: form = cgi.FieldStorage() if form.has_key("data"): cursor.execute('insert into datos VALUES(%s)', (form["data"],) ) También puedes ver el modo correcto de pasar argumentos a las queries (que se hace siguiendo la norma db-api2). En cuanto al módulo cgitb, sólo tiene un cometido: que te muestre los errores: import cgitb; cgitb.enable() _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From yourpadre en gmail.com Wed May 28 19:39:04 2008 From: yourpadre en gmail.com (Miguel Beltran R.) Date: Wed, 28 May 2008 12:39:04 -0500 Subject: dudas sobre webs y cookies In-Reply-To: <3da702830805271742y8327ab8y77895b83a8c33ad9@mail.gmail.com> References: <3da702830805271742y8327ab8y77895b83a8c33ad9@mail.gmail.com> Message-ID: Un programa para bajar de rapidshare hecho en python http://mundogeek.net/rapidshare-dl/ 2008/5/27 kalith kalith : > Buenas tardes... > > Tengo tres pequeñas interrogantes, aqui voy.. > > 1.- Existe un modulo, api o libreria que te permita interactuar directamente > con google la he visto en vb y creo que en perl pero he buscado y nada.. > > 2.- Si usando la libreria urllib o urllib2 hay forma de comprobar que si la > pagina que se hizo la conexion esta on.. me explico q yo conecte y si la > pagina la escribi mal o esta down o simplemente no existe me de un error y > que si existe me diga q existe y la abra. > > 3.- Puedo usando la misma urllib2 conectar a paginas como www.rapidshare.como > www.mediafire.com y de ahi con el modulo cookies borrar las cookies para > hacerlo de nuevo... > > 4.- python soporta envio de get y post? > > de antemano muchas gracias por sus respuestas > > -- > Seamos realistas y hagamos lo imposible > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- ________________________________________ Lo bueno de vivir un dia mas es saber que nos queda un dia menos de vida _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From kalith.9 en gmail.com Wed May 28 19:51:04 2008 From: kalith.9 en gmail.com (kalith kalith) Date: Thu, 29 May 2008 13:21:04 +1930 Subject: dudas sobre webs y cookies In-Reply-To: References: <3da702830805271742y8327ab8y77895b83a8c33ad9@mail.gmail.com> Message-ID: <3da702830805281051j6111528ft8c6a2d1bb7ac8417@mail.gmail.com> mm bueno gracias estoy checando el source aunq no lo entiendo del todo.. seguire investigando gracias de nuevo =) -- Seamos realistas y hagamos lo imposible _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From cristhianboujon en gmail.com Wed May 28 23:05:13 2008 From: cristhianboujon en gmail.com (Cristhian Boujon) Date: Wed, 28 May 2008 18:05:13 -0300 Subject: Buenas! Message-ID: print('HOLA LISTA') Saludos, soy nuevo en la lista -- Cristhian A. Boujon _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From rglm en montevideo.com.uy Thu May 29 00:07:49 2008 From: rglm en montevideo.com.uy (Raul Lopez) Date: Wed, 28 May 2008 20:07:49 -0200 Subject: Buenas! In-Reply-To: References: Message-ID: <483DD7B5.6050105@montevideo.com.uy> print "bienvenido" Saludos, Raul Cristhian Boujon escribió: > print('HOLA LISTA') > > Saludos, soy nuevo en la lista > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From cristhianboujon en gmail.com Thu May 29 01:17:04 2008 From: cristhianboujon en gmail.com (Cristhian Boujon) Date: Wed, 28 May 2008 20:17:04 -0300 Subject: recomendacion para GUI de una factura Message-ID: Estoy diseñando un sistemita de facturacion, lo que estoy haciendo en este momento es diseñar la interfaz grafica con glade y pygtk, y me encontre con un pequeño problema al hacer la parte del grid, al principio empecé a hacerlo con un treeview, pero me encontre con unos problemitas. Que me recomiendan? -- Cristhian A. Boujon _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From minoztro en gmail.com Thu May 29 01:29:05 2008 From: minoztro en gmail.com (Milton Galo Patricio Inostroza Aguilera) Date: Wed, 28 May 2008 19:29:05 -0400 Subject: recomendacion para GUI de una factura In-Reply-To: References: Message-ID: <172699c50805281629t21e1f924sece7cf2021f65a19@mail.gmail.com> 2008/5/28 Cristhian Boujon : > Estoy diseñando un sistemita de facturacion, lo que estoy haciendo en este > momento es diseñar la interfaz grafica con glade y pygtk, y me encontre con > un pequeño problema al hacer la parte del grid, al principio empecé a > hacerlo con un treeview, pero me encontre con unos problemitas. Que me > recomiendan? qué problemas?....yo lo implementé con un treeview para la parte del detalle de la factura y no tuve problemas, puedes mirar acá para que te guíes [1] y para que no te fatigues en la búsqueda acá un link directo al código que te puede servir [2], especificamente puedes ver el método --> def fgn_define_vista(self): [1] http://chileforge.cl/scm/cvsweb.php/unstable/?cvsroot=inventarix [2] http://chileforge.cl/scm/cvsweb.php/unstable/src/gui/windowFactura.py?rev=1.22&contenttype=text/x-cvsweb-markup&cvsroot=inventarix > > -- > Cristhian A. Boujon > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Milton Inostroza Aguilera ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From jnempu en gmail.com Thu May 29 01:40:27 2008 From: jnempu en gmail.com (Joksan Nempu Fernandez) Date: Wed, 28 May 2008 19:40:27 -0400 Subject: Multi tareas en pygtk Message-ID: Hola lista: Tengo un pequeño programita que tiene un solo boton y al hacer click en el muestra una ventana donde aparece el numero de la ventana y un pequeño reloj en formato digital utilizando la etiqueta label (00:00:00). Esta ventanita emergente tambien posee un boton que daria el inicio al reloj digital en el label, para eso estoy usando lo siguiente: def comenzarTemporizador(self): while not self.pararthread.isSet() : gtk.gdk.threads_enter() marcarHora() gtk.gdk.threads_leave() def marcarHora(): self.labelreloj = self.app_widget_tree.get_widget ("labelreloj") self.labelreloj.set_text(strftime(" %H: %M:%S ", gmtime())) el metodo de la clase ventana, llamado iniciar, que por supuesto no esta aqui, utiliza el metodo comenzarTemporizador() dando asi, supuestamente, inicio al reloj. Todo va bien hasta que presiono ese boton y el programa queda congelado XD, en el interprete de python no me lanza ningun error :S, solo queda congelado. Alguna solucion? PD: He visto por ahi algunos widgets antiguos que poseia el glade y por lo que vi aparecia un reloj digital, pero lamentablemente en el glade actual no esta o tendre que agregarlo a traves de alguna libreria grafica?. -- Joksan Nempu Fernandez Estudiante Ingeniería Civil en Computación e Informática. Encargado del Laboratorio de Sistemas Distribuidos. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From victoredier en yahoo.com Thu May 29 04:16:01 2008 From: victoredier en yahoo.com (Victor Edier) Date: Wed, 28 May 2008 19:16:01 -0700 (PDT) Subject: a EXE Message-ID: <947814.41579.qm@web30808.mail.mud.yahoo.com> te recomiendo la mejor herramienta, google http://www.google.com.co/search?source=ig&hl=es&rlz=&q=py+a+exe&btnG=Buscar+con+Google&meta=&aq=f ¡¡¡¡¡¡¡¡¡Good luck for every body!!!!!!!!! ----- Mensaje original ---- De: Yasser Gonzalez Soto Para: Lista de discusión sobre python en castellano Enviado: miércoles, 28 de mayo, 2008 2:17:10 Asunto: Re: [Python-es] a EXE Se puede llevar un archivo .py a .exe? -- Este mensaje ha sido analizado por MailScanner en busca de virus y otros contenidos peligrosos, y se considera que está limpio. For all your IT requirements visit: http://www.transtec.co.uk ____________________________________________________________________________________ Yahoo! Deportes Beta ¡No te pierdas lo último sobre el torneo clausura 2008! Entérate aquí http://deportes.yahoo.com _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From willian.radicaled en gmail.com Thu May 29 14:55:08 2008 From: willian.radicaled en gmail.com (RadicalEd) Date: Thu, 29 May 2008 07:55:08 -0500 Subject: Error django Message-ID: Hola lista, estoy probando django con el manual de la página djangobook y estoy en la parte de probar el server propio del django, al ejecutar la función "python manage.py runserver", me sale este error: sudo python manage.py runserver Traceback (most recent call last): File "manage.py", line 11, in execute_manager(settings) File "/var/lib/python-support/python2.5/django/core/management.py", line 1672, in execute_manager execute_from_command_line(action_mapping, argv) File "/var/lib/python-support/python2.5/django/core/management.py", line 1563, in execute_from_command_line from django.utils import translation File "/var/lib/python-support/python2.5/django/utils/translation/__init__.py", line 3, in if settings.USE_I18N: File "/var/lib/python-support/python2.5/django/conf/__init__.py", line 28, in __getattr__ self._import_settings() File "/var/lib/python-support/python2.5/django/conf/__init__.py", line 55, in _import_settings self._target = Settings(settings_module) File "/var/lib/python-support/python2.5/django/conf/__init__.py", line 83, in __init__ raise EnvironmentError, "Could not import settings '%s' (Is it on sys.path? Does it have syntax errors?): %s" % (self.SETTINGS_MODULE, e) EnvironmentError: Could not import settings 'pwd.settings' (Is it on sys.path? Does it have syntax errors?): No module named settings Según entiendo es que no se encuentra el settings, que creo que es el settings.py que genera el admin de django pero ahí está, 'tons, me podrían decir que está mal. Gracias chao -- The knowledge is the most dangerous weapon & SoloCodigo is the most important programing webforum. http://foros.solocodigo.com _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From invite+mxaswnea en facebookmail.com Thu May 29 15:25:08 2008 From: invite+mxaswnea en facebookmail.com (Arturo Llaja) Date: Thu, 29 May 2008 06:25:08 -0700 Subject: Chequea mi perfil en Facebook Message-ID: <1e0fd4262631b989f171813ed8edb34e@register.facebook.com> He creado un perfil en Facebook donde puedo publicar mis imágenes, vídeos y eventos, y quiero agregarte como amigo/a para que puedas verlo. Primero, necesitas registrarte en Facebook. Una vez registrado/a, puedes también crear tu propio perfil. Gracias, Arturo Esta es la dirección: http://www.facebook.com/p.php?i=1267377933&k=54G635T542YMYABIPJ36Q&r&v=2 ___________________ este correo puede contener material promocional. si no deseas recivir futuros correo comerciales de facebook, por favor haz click sobre el vinculo debajo. oficiales de facebook estan localizado a 156 University Ave., Palo Alto, CA 94301. http://www.facebook.com/o.php?u=636918330&k=d00e13 ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From jcea en jcea.es Thu May 29 15:56:15 2008 From: jcea en jcea.es (Jesus Cea) Date: Thu, 29 May 2008 15:56:15 +0200 Subject: Buenas! In-Reply-To: References: Message-ID: <483EB5FF.5010209@jcea.es> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Cristhian Boujon wrote: | print('HOLA LISTA') Vaya, un usuario de Python 3.0 :-). - -- 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.8 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iQCVAwUBSD61+5lgi5GaxT1NAQLyGAQAg6nAvSJIF12wZJGEzWDjb/To+4NhhyQC m+OWO8+unq4DoctG13BWLVepu4TFs4mknj41HdOjFSQn8o2CzpP8UZ2jyNbDWRPS mE+DAF1NCB65Q9VzkFNvNyAgcqQQHL6d3xer4/rHay1x7/K4AcSG6L4R08wDRDt5 R5VgV+6P14Q= =0A7m -----END PGP SIGNATURE----- ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From jcea en jcea.es Thu May 29 15:58:52 2008 From: jcea en jcea.es (Jesus Cea) Date: Thu, 29 May 2008 15:58:52 +0200 Subject: Fwd: [GLO] OT: como calcular CRC? In-Reply-To: References: Message-ID: <483EB69C.20503@jcea.es> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Gabriel Genellina wrote: | Y qué me impediría modificar cualquier campo *y* el CRC/campo de | validación para que se correspondan? En primer, un hash MD5 no es un CRC. El CRC es otra cosa (para empezar no son rsistentes a "ataques"). Sobre el problema que planteas, mira el módulo HMAC. El cliente y el servidor comparten una clave secreta. Obviamente si el cliente es un "adversario", este esquema no tiene sentido. Sin saber de qué te quieres proteger, es imposible precisar más. - -- 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.8 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iQCVAwUBSD62nJlgi5GaxT1NAQIpfgQAgj4IxTehBAYu6cF8ZFU2vmVUItZ4gwlf Xty9mcHEPTNuxG0ztAeKEn+IH3EHAzh1YSV3AmPU52/BSJrhVJ4TtGDCDQsq4zIb cp7UegZs4C4esP+rkHNvNcYISKXirz+rlVZSTqXUHsUgMOWcQECeXQQgBhptlXDD jz4Wg8j3AdQ= =pLuV -----END PGP SIGNATURE----- ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From jcea en jcea.es Thu May 29 16:03:00 2008 From: jcea en jcea.es (Jesus Cea) Date: Thu, 29 May 2008 16:03:00 +0200 Subject: Python search engine (Google Coop) In-Reply-To: <47FD185E.2080505@parcan.es> References: <47FD185E.2080505@parcan.es> Message-ID: <483EB794.8010607@jcea.es> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Juan Ignacio Rodriguez de Leon wrote: | En resumen, agradecería a los que tengan blogs sobre python, páginas de | documentación, enlaces interesantes, etc que me avisaran para incluirlas | en el motor, en esta lista o a mi correo: http://www.jcea.es/ - -- 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.8 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iQCVAwUBSD63lJlgi5GaxT1NAQLivwQAmDElYOp1flJFCNhswj9ih0uB1dAc3JZm DNzJV54LDAULRkRu33tG9G3I+tovuWIpifcULLwW8J59Q5LHrdamaFQ9OZERN/ht le+co9AkUz7Y4PFd0rmNFPZDYRZkBR62VAe9xVAtEdGndfla/snv2+/qDn9PApbR Yw2NbDFKmIQ= =SxAP -----END PGP SIGNATURE----- ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From peralta en aditel.org Thu May 29 15:57:22 2008 From: peralta en aditel.org (Luis Peralta) Date: Thu, 29 May 2008 15:57:22 +0200 Subject: Error django In-Reply-To: References: Message-ID: <861451d60805290657h2affbc7vab8efbf8bbd7d737@mail.gmail.com> 2008/5/29 RadicalEd : > Hola lista, estoy probando django con el manual de la página djangobook y > estoy en la parte de probar el server propio del django, al ejecutar la > función "python manage.py runserver", me sale este error: > > sudo python manage.py runserver ¿Has probado ejecutarlo sin el sudo? El server que te va a lanzar django estará en el puerto 8000, con lo que no necesitas ser root. Y se me ocurre que el sudo puede estar cambiando alguna variable de entorno que afecte al syspath. Por otro lado, fíjate al final de la traza, que te está diciendo que lo que no encuentra es el pwd.settings... Un saludo, -- http://www.ziritione.org _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From miracomovengo en gmail.com Thu May 29 16:21:15 2008 From: miracomovengo en gmail.com (Jose) Date: Thu, 29 May 2008 16:21:15 +0200 Subject: Fwd: [GLO] OT: como calcular CRC? In-Reply-To: <483EB69C.20503@jcea.es> References: <483EB69C.20503@jcea.es> Message-ID: <73e8f67f0805290721n18261f01ja3cdcb497c526db7@mail.gmail.com> Y entonces qué módulo o que me recomendáis para conseguir un CRC? Estoy haciendo una práctica en MPI que reparte un fichero por todas las máquinas del cluster y quiero que una de las máquinas lleve un crc de lo que tienen las demás. Vamos, un RAID5 pero a nivel de aplicación y distribuido en máquinas. Muchas gracias! 2008/5/29 Jesus Cea : > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Gabriel Genellina wrote: > | Y qué me impediría modificar cualquier campo *y* el CRC/campo de > | validación para que se correspondan? > > En primer, un hash MD5 no es un CRC. El CRC es otra cosa (para empezar > no son rsistentes a "ataques"). > > Sobre el problema que planteas, mira el módulo HMAC. > > El cliente y el servidor comparten una clave secreta. Obviamente si el > cliente es un "adversario", este esquema no tiene sentido. > > Sin saber de qué te quieres proteger, es imposible precisar más. > > - -- > 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.8 (GNU/Linux) > Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org > > iQCVAwUBSD62nJlgi5GaxT1NAQIpfgQAgj4IxTehBAYu6cF8ZFU2vmVUItZ4gwlf > Xty9mcHEPTNuxG0ztAeKEn+IH3EHAzh1YSV3AmPU52/BSJrhVJ4TtGDCDQsq4zIb > cp7UegZs4C4esP+rkHNvNcYISKXirz+rlVZSTqXUHsUgMOWcQECeXQQgBhptlXDD > jz4Wg8j3AdQ= > =pLuV > -----END PGP SIGNATURE----- > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From willian.radicaled en gmail.com Thu May 29 16:25:58 2008 From: willian.radicaled en gmail.com (RadicalEd) Date: Thu, 29 May 2008 09:25:58 -0500 Subject: Error django In-Reply-To: <861451d60805290657h2affbc7vab8efbf8bbd7d737@mail.gmail.com> References: <861451d60805290657h2affbc7vab8efbf8bbd7d737@mail.gmail.com> Message-ID: Sin el sudo si, es más comencé sin el sudo y pensé que de pronto eran permisos. Con el root me sale el mismo error Qué viene siendo el pwd.settings, por que me pusé a jugar anoche e hice una copia de settings.py y le pusé pwd.settings y tampoco funciono. On Thu, May 29, 2008 at 8:57 AM, Luis Peralta wrote: > 2008/5/29 RadicalEd : > > Hola lista, estoy probando django con el manual de la página djangobook y > > estoy en la parte de probar el server propio del django, al ejecutar la > > función "python manage.py runserver", me sale este error: > > > > sudo python manage.py runserver > > ¿Has probado ejecutarlo sin el sudo? El server que te va a lanzar > django estará en el puerto 8000, con lo que no necesitas ser root. Y > se me ocurre que el sudo puede estar cambiando alguna variable de > entorno que afecte al syspath. > > Por otro lado, fíjate al final de la traza, que te está diciendo que > lo que no encuentra es el pwd.settings... > > Un saludo, > -- > http://www.ziritione.org > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- The knowledge is the most dangerous weapon & SoloCodigo is the most important programing webforum. http://foros.solocodigo.com _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From mdensi en gmail.com Thu May 29 16:23:20 2008 From: mdensi en gmail.com (Marcelo Densi Martinez) Date: Thu, 29 May 2008 11:23:20 -0300 Subject: python para aplicaciones empresariales ... Message-ID: Muy buenas a todos !!!! Es mi primer contacto con la lista y tambien con python, asi que les pido sepan disculpar mi necedad e ignorancia, aunque les comento que he programado algo en PHP. Mi primera gran duda antes de tirarme a python es si con este lenguaje se puede diseñar e implementar una solución para una empresa y que ésta pueda, por ejemplo: controlar y manejar vía web, Altas, Bajas y modificaciones de datos de clientes, Altas, bajas y modificaciones de articulos, productos, etc, y consultas, listados e impresiones varias, y ademas facturación. Osea, se puede con python diseñar soluciones empresariales a medida ???, para luego instalar en un server linux con Apache la aplicación antes diseñada y que los clientes la utilicen a través de cualquier navegador web ??? Tengo alguna ventaja de utilizar "python" para estos fines y tendria que utilizar otras herramientas ??? Un fuerte abrazo !!! Marcelo D. Martinez Uruguay _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From miracomovengo en gmail.com Thu May 29 16:28:45 2008 From: miracomovengo en gmail.com (Jose) Date: Thu, 29 May 2008 16:28:45 +0200 Subject: Espacio libre en disco Message-ID: <73e8f67f0805290728w1d33684fmc45434a42436d043@mail.gmail.com> Buenas tardes, lista! Existe alguna manera sencilla de saber cuánto espacio hay en el disco duro sin invocar 'df' en el sistema? Muchas gracias! _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From jcaballero.hep en gmail.com Thu May 29 16:35:20 2008 From: jcaballero.hep en gmail.com (Jose Caballero) Date: Thu, 29 May 2008 10:35:20 -0400 Subject: Espacio libre en disco In-Reply-To: <73e8f67f0805290728w1d33684fmc45434a42436d043@mail.gmail.com> References: <73e8f67f0805290728w1d33684fmc45434a42436d043@mail.gmail.com> Message-ID: Hola, prueba a ver si esto te vale: http://docs.python.org/lib/module-statvfs.html Saludos, Jose 2008/5/29 Jose : > Buenas tardes, lista! > > Existe alguna manera sencilla de saber cuánto espacio hay en el disco duro > sin invocar 'df' en el sistema? > > Muchas gracias! > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From miracomovengo en gmail.com Thu May 29 16:46:37 2008 From: miracomovengo en gmail.com (Jose) Date: Thu, 29 May 2008 16:46:37 +0200 Subject: Espacio libre en disco In-Reply-To: References: <73e8f67f0805290728w1d33684fmc45434a42436d043@mail.gmail.com> Message-ID: <73e8f67f0805290746s257b8199t82fa21224d8d7b3@mail.gmail.com> Qué rapidez y qué precisión! Cada vez aprendo más con esta lista... Muchas gracias! 2008/5/29 Jose Caballero : > Hola, > > prueba a ver si esto te vale: > http://docs.python.org/lib/module-statvfs.html > > Saludos, > Jose > > > 2008/5/29 Jose : > > > Buenas tardes, lista! > > > > Existe alguna manera sencilla de saber cuánto espacio hay en el disco > duro > > sin invocar 'df' en el sistema? > > > > Muchas gracias! > > _______________________________________________ > > Lista de correo Python-es > > http://listas.aditel.org/listinfo/python-es > > FAQ: http://listas.aditel.org/faqpyes > > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From extremehill en gmail.com Thu May 29 16:48:41 2008 From: extremehill en gmail.com (extremehill) Date: Thu, 29 May 2008 11:48:41 -0300 Subject: hola mundo Message-ID: print "hola mundo" Muy buena la lista. Felicitaciones. Saludos. -- deb _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From miracomovengo en gmail.com Thu May 29 16:54:06 2008 From: miracomovengo en gmail.com (Jose) Date: Thu, 29 May 2008 16:54:06 +0200 Subject: hola mundo In-Reply-To: References: Message-ID: <73e8f67f0805290754y309d77c9w2d4f1a2fb4e6e6d2@mail.gmail.com> La verdad que tenemos una lista muy dinámica y con mucho nivel... Tengo algunas dudas a ver si alguien me las puede responder: ¿Cuántas personas somos en la lista? ¿Quién administra la lista? ¿Qué es aditel.org? ¿Alguna idea para mejorar (si cabe) la lista? Muchas gracias! El día 29 de mayo de 2008 16:48, extremehill escribió: > print "hola mundo" > > Muy buena la lista. Felicitaciones. > Saludos. > > -- > deb > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From tzulberti en gmail.com Thu May 29 17:25:41 2008 From: tzulberti en gmail.com (Tomas Zulberti) Date: Thu, 29 May 2008 12:25:41 -0300 Subject: python para aplicaciones empresariales ... In-Reply-To: References: Message-ID: 2008/5/29 Marcelo Densi Martinez : > Muy buenas a todos !!!! > > Es mi primer contacto con la lista y tambien con python, asi que > les pido sepan disculpar mi necedad e ignorancia, aunque les comento > que he programado algo en PHP. > > Mi primera gran duda antes de tirarme a python es si con este > lenguaje se puede diseñar e implementar una solución para una empresa > y que ésta pueda, por ejemplo: controlar y manejar vía web, > Altas, Bajas y modificaciones de datos de clientes, > Altas, bajas y modificaciones de articulos, productos, etc, y > consultas, listados e impresiones varias, y > ademas facturación. > Te comento que se puede. Tenes diferentes formas de hacerlo: -> django -> turbogears -> cherrypy -> modpython > Osea, se puede con python diseñar soluciones empresariales a medida > ???, para luego instalar en un server linux con Apache la aplicación > antes diseñada y que los clientes la utilicen a través de cualquier > navegador web ??? > Claramente se puede diseñar tu propia pagina web asique si se podria llegar a hacer eso. > Tengo alguna ventaja de utilizar "python" para estos fines y tendria > que utilizar otras herramientas ??? Saludos, TZ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From jjimenezlopez en gmail.com Thu May 29 17:30:16 2008 From: jjimenezlopez en gmail.com (=?ISO-8859-1?Q?Jose_Jim=E9nez_L=F3pez?=) Date: Thu, 29 May 2008 17:30:16 +0200 Subject: =?ISO-8859-1?Q?Re:__comprobar_c=F3digo?= In-Reply-To: <771741b20805261322l4f737376j2be15cce35eda5f6@mail.gmail.com> References: <483AEDB4.6050606@gmail.com> <27AD004A-C343-42EA-BE91-BD9E3D9304A5@gmail.com> <771741b20805261322l4f737376j2be15cce35eda5f6@mail.gmail.com> Message-ID: <25502F94-43B5-4B57-87D1-AF69F3331A5E@gmail.com> Hola, Conseguiste instalarlo y que te funcionara? yo lo instalé en un eclipse en Mac OS X, y todo funcionó bien, ahora lo estoy intentando instalar en una Ubunto, he seguido los mismos pasos pero me funciona en Eclipse, lo tengo bien configurado pero simplemente no me muestra los errores. Desde consola puedo hacer un pylint archivo.py y funciona correctamente. Gracias! El 26/05/2008, a las 22:22, Mario Lacunza escribió: > Hola, > > yo tambien uso Eclipse + PyDev, pero lo q no veo es la integracion q > mencionas? hay un instalador para Eclipse o como has procedido?? > > El día 26 de mayo de 2008 12:14, Jose Jiménez López > > escribió: > >> Gracias a los dos por las respuestas. >> He probado pychecker y pylint, no los he probado en profundidad, >> pero al >> ver que pylint se integra (hasta ahora parece que bastante bien) >> con Eclipse >> que es el entorno que uso actualmente me quedo con este :) >> >> Gracias de nuevo. Saludos. >> >> El 26/05/2008, a las 19:04, Arnau Sanchez escribió: >> >> >> Jose Jiménez López escribió: >>> >>> hace ya bastante que vengo programando con Python, y desde hace >>> tiempo me >>>> surge una duda/necesidad. No es la primera vez que me pasa, que >>>> al ser un >>>> lenguaje interpretado, hay partes del código que no se ejecutan >>>> siempre, con >>>> lo que si hay un error en esa parte, puede aparecer en el momento >>>> menos >>>> oportuno :) >>>> Hay alguna forma de "precompilar" el código para evitar estas >>>> cosas? >>>> cuando hablo de errores me refiero a lo tipico de equivocarte al >>>> escribir el >>>> nombre de un método, usar una variable antes de instanciarla, >>>> usar un método >>>> o una clase sin haberla importado... >>>> >>> >>> Ya te han comentado que existen programas como "pychecker", aquí >>> se habla >>> de alguno más: >>> >>> http://pythonesfaq.k-rolus.net/#index26h3 >>> >>> >>> http://effbot.org/pyfaq/is-there-a-tool-to-help-find-bugs-or-perform-static-analysis.htm >>> >>> --- >>> >>> Ok, todo esto está muy bien, pero si realmente quieres hacer una >>> aplicación sólida, haz tests (ver módulos unittest/doctest de la >>> librería >>> oficial). Por dar algún enlace: >>> >>> >>> http://agiletesting.blogspot.com/2005/01/python-unit-testing-part-1-unittest.html >>> _______________________________________________ >>> Lista de correo Python-es http://listas.aditel.org/listinfo/python- >>> es >>> FAQ: http://listas.aditel.org/faqpyes >>> >> >> --- >> Jose Jiménez López >> jjimenezlopez en gmail.com >> www.josejimenez.net >> >> >> >> >> _______________________________________________ >> Lista de correo Python-eshttp://listas.aditel.org/listinfo/python-es >> >> FAQ: http://listas.aditel.org/faqpyes >> > > > > -- > Saludos / Best regards > > Mario Lacunza > Consultor de Sistemas - Webmaster > > Email: mlacunza [AT] gmail [DOT] com > Lima - Peru > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes --- Jose Jiménez López jjimenezlopez en gmail.com www.josejimenez.net _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From miracomovengo en gmail.com Thu May 29 17:46:09 2008 From: miracomovengo en gmail.com (Jose) Date: Thu, 29 May 2008 17:46:09 +0200 Subject: =?ISO-8859-1?Q?Re:__comprobar_c=F3digo?= In-Reply-To: <25502F94-43B5-4B57-87D1-AF69F3331A5E@gmail.com> References: <483AEDB4.6050606@gmail.com> <27AD004A-C343-42EA-BE91-BD9E3D9304A5@gmail.com> <771741b20805261322l4f737376j2be15cce35eda5f6@mail.gmail.com> <25502F94-43B5-4B57-87D1-AF69F3331A5E@gmail.com> Message-ID: <73e8f67f0805290846w69e0dec5td029c529e8ebd5e4@mail.gmail.com> A mí me pasa lo mismo. He instalado pylint y por línea de comandos no hay problema pero con Eclipse no me salen los errores... Y he seguido un tutorial de configuración y nada. Si consigues solucionarlo, coméntalo. Yo haré lo mismo. Gracias! El día 29 de mayo de 2008 17:30, Jose Jiménez López escribió: > Hola, > > Conseguiste instalarlo y que te funcionara? yo lo instalé en un eclipse en > Mac OS X, y todo funcionó bien, ahora lo estoy intentando instalar en una > Ubunto, he seguido los mismos pasos pero me funciona en Eclipse, lo tengo > bien configurado pero simplemente no me muestra los errores. > Desde consola puedo hacer un pylint archivo.py y funciona correctamente. > > Gracias! > > El 26/05/2008, a las 22:22, Mario Lacunza escribió: > > Hola, >> >> yo tambien uso Eclipse + PyDev, pero lo q no veo es la integracion q >> mencionas? hay un instalador para Eclipse o como has procedido?? >> >> El día 26 de mayo de 2008 12:14, Jose Jiménez López < >> jjimenezlopez en gmail.com> >> escribió: >> >> Gracias a los dos por las respuestas. >>> He probado pychecker y pylint, no los he probado en profundidad, pero al >>> ver que pylint se integra (hasta ahora parece que bastante bien) con >>> Eclipse >>> que es el entorno que uso actualmente me quedo con este :) >>> >>> Gracias de nuevo. Saludos. >>> >>> El 26/05/2008, a las 19:04, Arnau Sanchez escribió: >>> >>> >>> Jose Jiménez López escribió: >>> >>>> >>>> hace ya bastante que vengo programando con Python, y desde hace tiempo >>>> me >>>> >>>>> surge una duda/necesidad. No es la primera vez que me pasa, que al ser >>>>> un >>>>> lenguaje interpretado, hay partes del código que no se ejecutan >>>>> siempre, con >>>>> lo que si hay un error en esa parte, puede aparecer en el momento menos >>>>> oportuno :) >>>>> Hay alguna forma de "precompilar" el código para evitar estas cosas? >>>>> cuando hablo de errores me refiero a lo tipico de equivocarte al >>>>> escribir el >>>>> nombre de un método, usar una variable antes de instanciarla, usar un >>>>> método >>>>> o una clase sin haberla importado... >>>>> >>>>> >>>> Ya te han comentado que existen programas como "pychecker", aquí se >>>> habla >>>> de alguno más: >>>> >>>> http://pythonesfaq.k-rolus.net/#index26h3 >>>> >>>> >>>> >>>> http://effbot.org/pyfaq/is-there-a-tool-to-help-find-bugs-or-perform-static-analysis.htm >>>> >>>> --- >>>> >>>> Ok, todo esto está muy bien, pero si realmente quieres hacer una >>>> aplicación sólida, haz tests (ver módulos unittest/doctest de la >>>> librería >>>> oficial). Por dar algún enlace: >>>> >>>> >>>> >>>> http://agiletesting.blogspot.com/2005/01/python-unit-testing-part-1-unittest.html >>>> _______________________________________________ >>>> Lista de correo Python-es http://listas.aditel.org/listinfo/python-es >>>> FAQ: http://listas.aditel.org/faqpyes >>>> >>>> >>> --- >>> Jose Jiménez López >>> jjimenezlopez en gmail.com >>> www.josejimenez.net >>> >>> >>> >>> >>> _______________________________________________ >>> Lista de correo Python-eshttp://listas.aditel.org/listinfo/python-es >>> >>> FAQ: http://listas.aditel.org/faqpyes >>> >>> >> >> >> -- >> Saludos / Best regards >> >> Mario Lacunza >> Consultor de Sistemas - Webmaster >> >> Email: mlacunza [AT] gmail [DOT] com >> Lima - Peru >> _______________________________________________ >> Lista de correo Python-es >> http://listas.aditel.org/listinfo/python-es >> FAQ: http://listas.aditel.org/faqpyes >> > > --- > Jose Jiménez López > jjimenezlopez en gmail.com > www.josejimenez.net > > > > > _______________________________________________ > Lista de correo Python-eshttp://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From esteban en princesa.pri.sld.cu Thu May 29 18:57:08 2008 From: esteban en princesa.pri.sld.cu (=?iso-8859-15?Q?Luis_Esteban_de_Dios_N=FA=F1ez?=) Date: Thu, 29 May 2008 11:57:08 -0500 Subject: recomendacion para GUI de una factura In-Reply-To: <172699c50805281629t21e1f924sece7cf2021f65a19@mail.gmail.com> References: <172699c50805281629t21e1f924sece7cf2021f65a19@mail.gmail.com> Message-ID: > [1] http://chileforge.cl/scm/cvsweb.php/unstable/?cvsroot=inventarix Hola, Esta aplicación se puede descargar para chismear?. -- Saludos, Luis Esteban de Dios Núñez ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From kmacrux en gmail.com Thu May 29 18:03:40 2008 From: kmacrux en gmail.com (MaCrux) Date: Thu, 29 May 2008 11:03:40 -0500 Subject: Problemas con PyDev y Python Message-ID: <483ED3DC.8000306@gmail.com> Hola a todos, apenas estoy aprendiendo Python, y estoy usando el IDE eclipse + PyDev (el plugin para Python) en Windows, el problema es que cuando intento ejecutar este pequeño programa: print "sumador" x = input("1er numero:") y = input("2do numero: ") print "suma 1er + 2do: ", x+y raw_input() si lo guardo en un archivo y simplemente lo ejecuto, o en la consola interactiva IPython, anda bien, pero si lo ejecuto desde el eclipse con el PyDev (ultima version 1.3.17), pasa lo siguiente: sumador <------ sale sumador 1er numero:4 <------pide primer numero... justo aqui se rompe el programa y no entiendo porque, sin desde la consola interactiva funciona al pelo Traceback (most recent call last): File "E:\EDI\Eclipse\workspace-python\test\src\prueba.py", line 3, in x = input("1er numero:") File "", line 1 4 ^ SyntaxError: unexpected EOF while parsing incluso con este ciclo (ejemplo del libro "Python para todos" de mundogeek.com), que funciona perfectamente en la consola interactiva IPython o como un archivo .py si lo ejecuto, en PyDev no: while True: entrada = raw_input("> ") if entrada == "adios": break else: print entrada se ejecuta eternamente, aunque le escriba 100 veces la cadena "adios"... Entonces ya no se que es...porque el Python me funciona bien en la consola interactiva, pero no en el IDE, si alguno de ustedes puede ayudarme, lo agradecería mucho. Att: MaCrux -- ¿Alguna vez te has preguntado qué es la realidad? _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From minoztro en gmail.com Thu May 29 18:05:27 2008 From: minoztro en gmail.com (Milton Galo Patricio Inostroza Aguilera) Date: Thu, 29 May 2008 12:05:27 -0400 Subject: recomendacion para GUI de una factura In-Reply-To: References: <172699c50805281629t21e1f924sece7cf2021f65a19@mail.gmail.com> Message-ID: <172699c50805290905i5f069bcdp991ac964a5168112@mail.gmail.com> 2008/5/29 Luis Esteban de Dios Núñez : >> [1] http://chileforge.cl/scm/cvsweb.php/unstable/?cvsroot=inventarix > > Hola, > > Esta aplicación se puede descargar para chismear?. claro pues hombre!...está con licencia GPL ...si quieres la puedes poner a funcionar en tu empresa ;) > > > -- > Saludos, > > Luis Esteban de Dios Núñez > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Milton Inostroza Aguilera ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From hfoffani en gmail.com Thu May 29 18:07:09 2008 From: hfoffani en gmail.com (Hernan M Foffani) Date: Thu, 29 May 2008 18:07:09 +0200 Subject: hola mundo Message-ID: <11fab4bc0805290907p65162ebahe9e48dceb5798fb8@mail.gmail.com> > La verdad que tenemos una lista muy dinámica y con mucho nivel... > > Tengo algunas dudas a ver si alguien me las puede responder: > ¿Cuántas personas somos en la lista? Unos cuantos... > ¿Quién administra la lista? Voluntarios. Sus emails los podrás ver al pie de la página web de subscripción. > ¿Qué es aditel.org? http://tinyurl.com/5npxey (Es el cache de google porque en estos momentos está fallando el acceso a su web.) > ¿Alguna idea para mejorar (si cabe) la lista? Mas allá de colaborar respondiendo a preguntas, no se me ocurre nada. Bueno... Quizás establecer un gateway con google.groups. Pero si esto implica mas trabajo a los administradores entonces retiro la idea. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From minoztro en gmail.com Thu May 29 18:09:14 2008 From: minoztro en gmail.com (Milton Galo Patricio Inostroza Aguilera) Date: Thu, 29 May 2008 12:09:14 -0400 Subject: Problemas con PyDev y Python In-Reply-To: <483ED3DC.8000306@gmail.com> References: <483ED3DC.8000306@gmail.com> Message-ID: <172699c50805290909x1b61e3fcr6ea463b4b9bb7e91@mail.gmail.com> 2008/5/29 MaCrux : > Hola a todos, apenas estoy aprendiendo Python, y estoy usando el IDE eclipse > + PyDev (el plugin para Python) en Windows, el problema es que cuando > intento ejecutar este pequeño programa: > > print "sumador" > > x = input("1er numero:") y si intentas raw_input("1er numero:") > y = input("2do numero: ") raw_input("2er numero:") > > print "suma 1er + 2do: ", x+y > > raw_input() > > > si lo guardo en un archivo y simplemente lo ejecuto, o en la consola > interactiva IPython, anda bien, pero si lo ejecuto desde el eclipse con el > PyDev (ultima version 1.3.17), pasa lo siguiente: > > sumador <------ sale sumador > 1er numero:4 <------pide primer numero... justo aqui se rompe el > programa y no entiendo porque, sin desde la consola interactiva funciona al > pelo > Traceback (most recent call last): > File "E:\EDI\Eclipse\workspace-python\test\src\prueba.py", line 3, in > > x = input("1er numero:") nunca había visto que para recibir usaras input, si he visto usar raw_input() > File "", line 1 > 4 > > ^ > SyntaxError: unexpected EOF while parsing > > incluso con este ciclo (ejemplo del libro "Python para todos" de > mundogeek.com), que funciona perfectamente en la consola interactiva IPython > o como un archivo .py si lo ejecuto, en PyDev no: > > while True: > entrada = raw_input("> ") > if entrada == "adios": > break > else: > print entrada > > se ejecuta eternamente, aunque le escriba 100 veces la cadena "adios"... > > Entonces ya no se que es...porque el Python me funciona bien en la consola > interactiva, pero no en el IDE, si alguno de ustedes puede ayudarme, lo > agradecería mucho. Att: MaCrux > > -- > ¿Alguna vez te has preguntado qué es la realidad? > > _______________________________________________ > Lista de correo Python-es http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Milton Inostroza Aguilera ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From extremehill en gmail.com Thu May 29 18:10:03 2008 From: extremehill en gmail.com (extremehill) Date: Thu, 29 May 2008 13:10:03 -0300 Subject: Problemas con PyDev y Python In-Reply-To: <483ED3DC.8000306@gmail.com> References: <483ED3DC.8000306@gmail.com> Message-ID: buenas... prueba con: x = raw_input("Ingrese primer numero") y = raw_input("Ingrese segundo numero") suma = x+y print "la suma es: ", suma 2008/5/29 MaCrux : > Hola a todos, apenas estoy aprendiendo Python, y estoy usando el IDE > eclipse + PyDev (el plugin para Python) en Windows, el problema es que > cuando intento ejecutar este pequeño programa: > > print "sumador" > > x = input("1er numero:") > y = input("2do numero: ") > > print "suma 1er + 2do: ", x+y > > raw_input() > > > si lo guardo en un archivo y simplemente lo ejecuto, o en la consola > interactiva IPython, anda bien, pero si lo ejecuto desde el eclipse con el > PyDev (ultima version 1.3.17), pasa lo siguiente: > > sumador <------ sale sumador > 1er numero:4 <------pide primer numero... justo aqui se rompe el > programa y no entiendo porque, sin desde la consola interactiva funciona al > pelo > Traceback (most recent call last): > File "E:\EDI\Eclipse\workspace-python\test\src\prueba.py", line 3, in > > x = input("1er numero:") > File "", line 1 > 4 > > ^ > SyntaxError: unexpected EOF while parsing > > incluso con este ciclo (ejemplo del libro "Python para todos" de > mundogeek.com), que funciona perfectamente en la consola interactiva > IPython o como un archivo .py si lo ejecuto, en PyDev no: > > while True: > entrada = raw_input("> ") > if entrada == "adios": > break > else: > print entrada > > se ejecuta eternamente, aunque le escriba 100 veces la cadena "adios"... > > Entonces ya no se que es...porque el Python me funciona bien en la consola > interactiva, pero no en el IDE, si alguno de ustedes puede ayudarme, lo > agradecería mucho. Att: MaCrux > > -- > ¿Alguna vez te has preguntado qué es la realidad? > > _______________________________________________ > Lista de correo Python-es http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- extremehill _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From mdensi en gmail.com Thu May 29 18:45:24 2008 From: mdensi en gmail.com (Marcelo Densi Martinez) Date: Thu, 29 May 2008 13:45:24 -0300 Subject: python para aplicaciones empresariales ... Message-ID: Gracias TZ, por tu respuesta, Django es el mas accesible verdad ?? CheLo > ------------------------------ > > Message: 6 > Date: Thu, 29 May 2008 12:25:41 -0300 > From: "Tomas Zulberti" > Subject: Re: [Python-es] python para aplicaciones empresariales ... > To: " Lista de discusión sobre python en castellano " > > Message-ID: > > Content-Type: text/plain; charset=ISO-8859-1 > > 2008/5/29 Marcelo Densi Martinez : > > Muy buenas a todos !!!! > > > > Es mi primer contacto con la lista y tambien con python, asi que > > les pido sepan disculpar mi necedad e ignorancia, aunque les comento > > que he programado algo en PHP. > > > > Mi primera gran duda antes de tirarme a python es si con este > > lenguaje se puede diseñar e implementar una solución para una empresa > > y que ésta pueda, por ejemplo: controlar y manejar vía web, > > Altas, Bajas y modificaciones de datos de clientes, > > Altas, bajas y modificaciones de articulos, productos, etc, y > > consultas, listados e impresiones varias, y > > ademas facturación. > > > > Te comento que se puede. Tenes diferentes formas de hacerlo: > -> django > -> turbogears > -> cherrypy > -> modpython > > > > Osea, se puede con python diseñar soluciones empresariales a medida > > ???, para luego instalar en un server linux con Apache la aplicación > > antes diseñada y que los clientes la utilicen a través de cualquier > > navegador web ??? > > > > Claramente se puede diseñar tu propia pagina web asique si se podria > llegar a hacer eso. > > > Tengo alguna ventaja de utilizar "python" para estos fines y tendria > > que utilizar otras herramientas ??? > > Saludos, > TZ > > ------------------------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From jcaballero.hep en gmail.com Thu May 29 19:46:27 2008 From: jcaballero.hep en gmail.com (Jose Caballero) Date: Thu, 29 May 2008 13:46:27 -0400 Subject: Problemas con PyDev y Python In-Reply-To: References: <483ED3DC.8000306@gmail.com> Message-ID: Hola, en efecto, como ya se ha comentado, input no es muy recomendable salvo que se sepa exactamente lo que se quiere hacer con él. Es mejor usar raw_input() Respecto a por qué no funciona con el IDE y sí en interactivo, puedes echarle un ojo a este link http://pydev.sourceforge.net/faq.html#why_raw_input_input_does_not_work_correctly Saludos, Jose 2008/5/29 extremehill : > buenas... > prueba con: > > x = raw_input("Ingrese primer numero") > y = raw_input("Ingrese segundo numero") > > suma = x+y > > print "la suma es: ", suma > > 2008/5/29 MaCrux : > > > Hola a todos, apenas estoy aprendiendo Python, y estoy usando el IDE > > eclipse + PyDev (el plugin para Python) en Windows, el problema es que > > cuando intento ejecutar este pequeño programa: > > > > print "sumador" > > > > x = input("1er numero:") > > y = input("2do numero: ") > > > > print "suma 1er + 2do: ", x+y > > > > raw_input() > > > > > > si lo guardo en un archivo y simplemente lo ejecuto, o en la consola > > interactiva IPython, anda bien, pero si lo ejecuto desde el eclipse con > el > > PyDev (ultima version 1.3.17), pasa lo siguiente: > > > > sumador <------ sale sumador > > 1er numero:4 <------pide primer numero... justo aqui se rompe el > > programa y no entiendo porque, sin desde la consola interactiva funciona > al > > pelo > > Traceback (most recent call last): > > File "E:\EDI\Eclipse\workspace-python\test\src\prueba.py", line 3, in > > > > x = input("1er numero:") > > File "", line 1 > > 4 > > > > ^ > > SyntaxError: unexpected EOF while parsing > > > > incluso con este ciclo (ejemplo del libro "Python para todos" de > > mundogeek.com), que funciona perfectamente en la consola interactiva > > IPython o como un archivo .py si lo ejecuto, en PyDev no: > > > > while True: > > entrada = raw_input("> ") > > if entrada == "adios": > > break > > else: > > print entrada > > > > se ejecuta eternamente, aunque le escriba 100 veces la cadena "adios"... > > > > Entonces ya no se que es...porque el Python me funciona bien en la > consola > > interactiva, pero no en el IDE, si alguno de ustedes puede ayudarme, lo > > agradecería mucho. Att: MaCrux > > > > -- > > ¿Alguna vez te has preguntado qué es la realidad? > > > > _______________________________________________ > > Lista de correo Python-es http://listas.aditel.org/listinfo/python-es > > FAQ: http://listas.aditel.org/faqpyes > > > > > > -- > extremehill > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From tzulberti en gmail.com Thu May 29 19:48:15 2008 From: tzulberti en gmail.com (Tomas Zulberti) Date: Thu, 29 May 2008 14:48:15 -0300 Subject: python para aplicaciones empresariales ... In-Reply-To: References: Message-ID: 2008/5/29 Marcelo Densi Martinez : > Gracias TZ, por tu respuesta, Django es el mas accesible verdad ?? > Solo tengo experiencia en modPython que es parecido a CGI, porque tenia que hacer cosas para muy simples (tano solo 3 html) asique no se cual es el mejor. Saludos, TZ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From kmacrux en gmail.com Thu May 29 19:56:59 2008 From: kmacrux en gmail.com (MaCrux) Date: Thu, 29 May 2008 12:56:59 -0500 Subject: Problemas con PyDev y Python In-Reply-To: References: <483ED3DC.8000306@gmail.com> Message-ID: <483EEE6B.4060209@gmail.com> extremehill escribió: > buenas... > prueba con: > > x = raw_input("Ingrese primer numero") > y = raw_input("Ingrese segundo numero") > > suma = x+y > > print "la suma es: ", suma > > 2008/5/29 MaCrux : > > >> Hola a todos, apenas estoy aprendiendo Python, y estoy usando el IDE >> eclipse + PyDev (el plugin para Python) en Windows, el problema es que >> cuando intento ejecutar este pequeño programa: >> >> print "sumador" >> >> x = input("1er numero:") >> y = input("2do numero: ") >> >> print "suma 1er + 2do: ", x+y >> >> raw_input() >> >> >> si lo guardo en un archivo y simplemente lo ejecuto, o en la consola >> interactiva IPython, anda bien, pero si lo ejecuto desde el eclipse con el >> PyDev (ultima version 1.3.17), pasa lo siguiente: >> >> sumador <------ sale sumador >> 1er numero:4 <------pide primer numero... justo aqui se rompe el >> programa y no entiendo porque, sin desde la consola interactiva funciona al >> pelo >> Traceback (most recent call last): >> File "E:\EDI\Eclipse\workspace-python\test\src\prueba.py", line 3, in >> >> x = input("1er numero:") >> File "", line 1 >> 4 >> >> ^ >> SyntaxError: unexpected EOF while parsing >> >> incluso con este ciclo (ejemplo del libro "Python para todos" de >> mundogeek.com), que funciona perfectamente en la consola interactiva >> IPython o como un archivo .py si lo ejecuto, en PyDev no: >> >> while True: >> entrada = raw_input("> ") >> if entrada == "adios": >> break >> else: >> print entrada >> >> se ejecuta eternamente, aunque le escriba 100 veces la cadena "adios"... >> >> Entonces ya no se que es...porque el Python me funciona bien en la consola >> interactiva, pero no en el IDE, si alguno de ustedes puede ayudarme, lo >> agradecería mucho. Att: MaCrux >> >> -- >> ¿Alguna vez te has preguntado qué es la realidad? >> >> _______________________________________________ >> Lista de correo Python-es http://listas.aditel.org/listinfo/python-es >> FAQ: http://listas.aditel.org/faqpyes >> >> > > > > x = raw_input("Ingrese primer numero") y = raw_input("Ingrese segundo numero") z=x+y print z mira, si lo hago con raw_input(), entonces lee lo que ingreso por teclado, y no hay problema, pero parece leerlos como de tipo cadena o caracter, entonces no suma los números, y mira la salida: Ingrese primer numero 1 Ingrese segundo numero 2 1 2 y el input() lo use,porque encontre en un libro lo siguiente, y creí que podía servir: Gracias por su ayuda -- ¿Alguna vez te has preguntado qué es la realidad? _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From miracomovengo en gmail.com Thu May 29 20:03:41 2008 From: miracomovengo en gmail.com (Jose) Date: Thu, 29 May 2008 20:03:41 +0200 Subject: Problemas con PyDev y Python In-Reply-To: <483EEE6B.4060209@gmail.com> References: <483ED3DC.8000306@gmail.com> <483EEE6B.4060209@gmail.com> Message-ID: <73e8f67f0805291103k5a0c6941sf928662196956e66@mail.gmail.com> Efectivamente, raw_input() captura la entrada en un string; de manera que para utilizar el número, debes hacer una conversión z = int(x) + int(y) Un saludo! El día 29 de mayo de 2008 19:56, MaCrux escribió: > extremehill escribió: > > buenas... >> prueba con: >> >> x = raw_input("Ingrese primer numero") >> y = raw_input("Ingrese segundo numero") >> >> suma = x+y >> >> print "la suma es: ", suma >> >> 2008/5/29 MaCrux : >> >> >> >>> Hola a todos, apenas estoy aprendiendo Python, y estoy usando el IDE >>> eclipse + PyDev (el plugin para Python) en Windows, el problema es que >>> cuando intento ejecutar este pequeño programa: >>> >>> print "sumador" >>> >>> x = input("1er numero:") >>> y = input("2do numero: ") >>> >>> print "suma 1er + 2do: ", x+y >>> >>> raw_input() >>> >>> >>> si lo guardo en un archivo y simplemente lo ejecuto, o en la consola >>> interactiva IPython, anda bien, pero si lo ejecuto desde el eclipse con >>> el >>> PyDev (ultima version 1.3.17), pasa lo siguiente: >>> >>> sumador <------ sale sumador >>> 1er numero:4 <------pide primer numero... justo aqui se rompe el >>> programa y no entiendo porque, sin desde la consola interactiva funciona >>> al >>> pelo >>> Traceback (most recent call last): >>> File "E:\EDI\Eclipse\workspace-python\test\src\prueba.py", line 3, in >>> >>> x = input("1er numero:") >>> File "", line 1 >>> 4 >>> >>> ^ >>> SyntaxError: unexpected EOF while parsing >>> >>> incluso con este ciclo (ejemplo del libro "Python para todos" de >>> mundogeek.com), que funciona perfectamente en la consola interactiva >>> IPython o como un archivo .py si lo ejecuto, en PyDev no: >>> >>> while True: >>> entrada = raw_input("> ") >>> if entrada == "adios": >>> break >>> else: >>> print entrada >>> >>> se ejecuta eternamente, aunque le escriba 100 veces la cadena "adios"... >>> >>> Entonces ya no se que es...porque el Python me funciona bien en la >>> consola >>> interactiva, pero no en el IDE, si alguno de ustedes puede ayudarme, lo >>> agradecería mucho. Att: MaCrux >>> >>> -- >>> ¿Alguna vez te has preguntado qué es la realidad? >>> >>> _______________________________________________ >>> Lista de correo Python-es http://listas.aditel.org/listinfo/python-es >>> FAQ: http://listas.aditel.org/faqpyes >>> >>> >>> >> >> >> >> >> > > x = raw_input("Ingrese primer numero") > y = raw_input("Ingrese segundo numero") > z=x+y > print z > > > mira, si lo hago con raw_input(), entonces lee lo que ingreso por teclado, > y no hay problema, pero parece leerlos como de tipo cadena o caracter, > entonces no suma los números, y mira la salida: > Ingrese primer numero 1 > Ingrese segundo numero 2 > 1 > 2 > > y el input() lo use,porque encontre en un libro lo siguiente, y creí que > podía servir: > > > > > > Gracias por su ayuda > > > > > > > > > > > > > > > > > > > -- > ¿Alguna vez te has preguntado qué es la realidad? > > _______________________________________________ > Lista de correo Python-es http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From esteban en princesa.pri.sld.cu Thu May 29 14:02:06 2008 From: esteban en princesa.pri.sld.cu (=?iso-8859-15?Q?Luis_Esteban_de_Dios_N=FA=F1ez?=) Date: Thu, 29 May 2008 14:02:06 +0200 Subject: recomendacion para GUI de una factura In-Reply-To: <172699c50805290905i5f069bcdp991ac964a5168112@mail.gmail.com> References: <172699c50805281629t21e1f924sece7cf2021f65a19@mail.gmail.com> <172699c50805290905i5f069bcdp991ac964a5168112@mail.gmail.com> Message-ID: > claro pues hombre!...está con licencia GPL ...si quieres la puedes > poner a funcionar en tu empresa ;) Hola Milton, Realmente lo que quisiera es poder estudiarla para aprender sobre esta técnica. Estoy interesado en desarrollar aplicaciones gráficas con Python. Tengo un software a medio hacer pero en consola y quisiera resescribirla en modo gráfico. Tenía otras aspiraciones pero no he encontrado la ayuda necesaria y a nosotros los cubanos se nos hace muy pero muy difícil llegar a la información. ¿Podrías enviármela -la aplicación- a mi email privado, compactado y en varios email si pasa de unos 800kb. O al menos en links desde donde poder descargarlo y quizás otro amigo pueda enviarmelo?. Muchísimas gracias por responderme. -- Saludos, Luis Esteban de Dios Núñez ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From minoztro en gmail.com Thu May 29 20:29:47 2008 From: minoztro en gmail.com (Milton Galo Patricio Inostroza Aguilera) Date: Thu, 29 May 2008 14:29:47 -0400 Subject: recomendacion para GUI de una factura In-Reply-To: References: <172699c50805281629t21e1f924sece7cf2021f65a19@mail.gmail.com> <172699c50805290905i5f069bcdp991ac964a5168112@mail.gmail.com> Message-ID: <172699c50805291129h4d3d1ed2r7f1f09caa8c9df04@mail.gmail.com> El día 29 de mayo de 2008 8:02, Luis Esteban de Dios Núñez escribió: >> claro pues hombre!...está con licencia GPL ...si quieres la puedes >> poner a funcionar en tu empresa ;) > > Hola Milton, > > Realmente lo que quisiera es poder estudiarla para aprender sobre esta > técnica. Estoy interesado en desarrollar aplicaciones gráficas con Python. > Tengo un software a medio hacer pero en consola y quisiera resescribirla en > modo gráfico. Tenía otras aspiraciones pero no he encontrado la ayuda > necesaria y a nosotros los cubanos se nos hace muy pero muy difícil llegar a > la información. > > ¿Podrías enviármela -la aplicación- a mi email privado, compactado y en > varios email si pasa de unos 800kb. O al menos en links desde donde poder > descargarlo y quizás otro amigo pueda enviarmelo?. http://chileforge.cl/frs/?group_id=119&release_id=257 la aplicacion pesa 286 Kb. > > Muchísimas gracias por responderme. > > > -- > Saludos, > > Luis Esteban de Dios Núñez > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Milton Inostroza Aguilera ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From willian.radicaled en gmail.com Thu May 29 21:30:00 2008 From: willian.radicaled en gmail.com (RadicalEd) Date: Thu, 29 May 2008 14:30:00 -0500 Subject: Error django In-Reply-To: References: <861451d60805290657h2affbc7vab8efbf8bbd7d737@mail.gmail.com> Message-ID: Lo intente con el root desde la creación del site "django-admin startproject miproject" y con este si funciono, pero no quiero trabajar con el root, sino con mi usuario normal sin privilegios, cómo le hago??? 2008/5/29 RadicalEd : > Sin el sudo si, es más comencé sin el sudo y pensé que de pronto eran > permisos. > Con el root me sale el mismo error > Qué viene siendo el pwd.settings, por que me pusé a jugar anoche e hice una > copia de settings.py y le pusé pwd.settings y tampoco funciono. > > > On Thu, May 29, 2008 at 8:57 AM, Luis Peralta wrote: > >> 2008/5/29 RadicalEd : >> > Hola lista, estoy probando django con el manual de la página djangobook >> y >> > estoy en la parte de probar el server propio del django, al ejecutar la >> > función "python manage.py runserver", me sale este error: >> > >> > sudo python manage.py runserver >> >> ¿Has probado ejecutarlo sin el sudo? El server que te va a lanzar >> django estará en el puerto 8000, con lo que no necesitas ser root. Y >> se me ocurre que el sudo puede estar cambiando alguna variable de >> entorno que afecte al syspath. >> >> Por otro lado, fíjate al final de la traza, que te está diciendo que >> lo que no encuentra es el pwd.settings... >> >> Un saludo, >> -- >> http://www.ziritione.org >> _______________________________________________ >> Lista de correo Python-es >> http://listas.aditel.org/listinfo/python-es >> FAQ: http://listas.aditel.org/faqpyes >> > > > > -- > The knowledge is the most dangerous > weapon & SoloCodigo is the most important programing webforum. > http://foros.solocodigo.com > -- The knowledge is the most dangerous weapon & SoloCodigo is the most important programing webforum. http://foros.solocodigo.com _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From esteban en princesa.pri.sld.cu Thu May 29 22:40:46 2008 From: esteban en princesa.pri.sld.cu (=?iso-8859-15?Q?Luis_Esteban_de_Dios_N=FA=F1ez?=) Date: Thu, 29 May 2008 15:40:46 -0500 Subject: aplicacion inventarix_1.0.tar.gz In-Reply-To: <483EF6E2.5070605@gmail.com> References: <483EF6E2.5070605@gmail.com> Message-ID: Hola Reynaldo, Muchísimas gracias por tu cortesía. ¿Eso hay que instalarlo o se ejecuta directamente? -- Saludos, Luis Esteban de Dios Núñez ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From pfreixes en milnou.net Thu May 29 23:23:31 2008 From: pfreixes en milnou.net (Pau Freixes) Date: Thu, 29 May 2008 23:23:31 +0200 Subject: =?iso-8859-1?q?Diferencias_en_tiempo_de_ejecuci=F3n_?= =?iso-8859-1?q?entre_modo_embedded_y_modo_tradicional?= Message-ID: <207312b70805291423k3ecfa652te17e6a1c19a409b8@mail.gmail.com> Buenas lista, A raíz de uno de mis ultimos trabajos para la universidad con un software muy parecido a lo que podría ser mod_python, me he encontrado con un "problema" un tanto increible, a ver si me pueden ayudar a entender que está pasando ? La situación es la siguiente : En una de las pruebas de rendimiento de el sotware, parecido a apache+mod_python, que ejecuta processos batch escritos en python m'he encontrado con la desagradable sorpresa que el mismo parograma exejutado en consola es mucho mas lento. Como muestra para corroborar esto he creado un programa llamado md5challenge, que intenta calcular el numero máximo de llaves md5 en un tiempo determinado. El programa es muy sencillo, es algo a esto : def handler_alrm(signum, frame): global _signal global _nrdigest global _f _signal = True def try_me(): global _nrdigest global _f global _signal _f = open("/dev/urandom","r") buff = _f.read(_const_b) while _signal is not True: md5.md5(buff).hexdigest() _nrdigest = _nrdigest + 1 if _f is not None : _f.close() def main( req ): global _nrdigest signal.signal(signal.SIGALRM, handler_alrm) signal.alarm(req.input['time']) d1 = datetime.datetime.now() try_me() d2 = datetime.datetime.now() delta = d2 - d1 print "Delta : %s:%s" % ( delta.seconds, delta.microseconds) req.output['count'] = _nrdigest def handler_alrm(signum, frame): global _signal global _nrdigest global _f _signal = True def try_me(): global _nrdigest global _f global _signal _f = open("/dev/urandom","r") buff = _f.read(_const_b) while _signal is not True: md5.md5(buff).hexdigest() _nrdigest = _nrdigest + 1 if _f is not None : _f.close() def main( req ): global _nrdigest signal.signal(signal.SIGALRM, handler_alrm) signal.alarm(req.input['time']) d1 = datetime.datetime.now() try_me() d2 = datetime.datetime.now() delta = d2 - d1 print "Delta : %s:%s" % ( delta.seconds, delta.microseconds) req.output['count'] = _nrdigest Cuando el programa es ejecutado de forma tradicional con un "pytohn md5challenge" crea de forma temporal un objecto Request y le añade un conjunto de tipos, este request es que recibirá la funcion main. De la misma forma cuando la ejecución es mediante el software similar a apache+mod_python la función main es llamada des de un programa en C que ha embebido Python. La llamada es algo similar a esto, y esta muy documentada en la API de C de Python PyObject * pArgs; pArgs = PyTuple_New(1); PyTuple_SetItem(pArgs, 0, req); /* calling object */ pvalue = PyObject_CallObject(pfunc, pArgs); if ( pvalue ) fill_output(j, req, PyInt_AsLong(pvalue)); Lo cursioso del caso es que si intento calcular el numero máximo de llaves md5 de una forma y en otra, en mi Pentium V Core duo me saca diferencias de más del 10%. Por ejemplo estos son dos ejecuciones del modelo "normal ",donde Delta es el tiempo en minutos+segundos en expirar la alarma. Delta : 10:499 Reached 986522 digests Delta : 10:55 Reached 1007246 digests Y esta debajo de el sistema embebido Delta : 10:864 1253377 Delta : 10:642 1253377 No cabe duda que los numero son suficientemente dispares para creer que aquí puede estar pasando alguna cosa. He probado de subir la lecutra del dispositivo no bloqueante "/dev/urandom" fuera del bucle i intentar generar el maximo de llaves con el mismo buffer, las diferencias són realmente abismales. normal Delta : 10:49 Reached 2958537 digests embebido Delta : 10:56 Reached 5999019 digests Mi pregunta es, como se justifica esto ? -- Pau Freixes Linux GNU/User _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From szyszeja en gmail.com Fri May 30 00:17:24 2008 From: szyszeja en gmail.com (Leonidas Szyszeja) Date: Thu, 29 May 2008 19:17:24 -0300 Subject: documentacion para qt-designer Message-ID: <483F2B74.4060700@gmail.com> hola Saben donde puedo encontrar documentación, guias, tutoriales para qt-designer. Si es posible en castellano. Y tengo una duda, no se si usar qt3 o qt4. suerte Y gracias _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From cgalisteo en k-rolus.net Fri May 30 00:37:05 2008 From: cgalisteo en k-rolus.net (Carlos) Date: Fri, 30 May 2008 00:37:05 +0200 Subject: documentacion para qt-designer In-Reply-To: <483F2B74.4060700@gmail.com> References: <483F2B74.4060700@gmail.com> Message-ID: On Fri, May 30, 2008 at 12:17 AM, Leonidas Szyszeja wrote: > Si es posible en castellano. Y tengo una duda, no se si usar qt3 o qt4. Pues, a no ser que por alguna razón debas usar qt3 obligatoriamente, yo te aconsejaría que usaras qt4, que qt3 se quedará obsoleto en cuestión de unos meses. -- --- Carlos Galisteo http://blog.k-rolus.net PGP_key::http://k-rolus.net/~cgalisteo/cgalisteo.gpg Key_Fingerprint::F888 6FBA 9145 B5A2 C187 66D6 5B8C 027A 69AD BE65 --- ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From kalith.9 en gmail.com Fri May 30 04:27:41 2008 From: kalith.9 en gmail.com (kalith kalith) Date: Fri, 30 May 2008 21:57:41 +1930 Subject: duda sobre path Message-ID: <3da702830805291927n2a45d6d2lbb1c4c8739e006c4@mail.gmail.com> saludos a la gente de la lista dos cositas simples por ejemplo en los OS hay muchas cosas q cambian un ejemplo /home/usuario nunca es el mismo para todos me explico quiero hace un algo que copie un archivo y lo mande a otro lado pero eso no vien al caso... por ejemplo como cojeria la ruta especifica si en una pc es /home/pepe en otra /home/jose asi sucesivamente de modo tal q se pueda correr en diferentes pcs... otra cosa hay alguna manera de copiar archivos de un lugar a otro sin usar por ejemplo os.system('cp /lala/.txt /lolo.txt') gracias -- Seamos realistas y hagamos lo imposible _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From willian.radicaled en gmail.com Fri May 30 05:27:26 2008 From: willian.radicaled en gmail.com (RadicalEd) Date: Thu, 29 May 2008 22:27:26 -0500 Subject: duda sobre path In-Reply-To: <3da702830805291927n2a45d6d2lbb1c4c8739e006c4@mail.gmail.com> References: <3da702830805291927n2a45d6d2lbb1c4c8739e006c4@mail.gmail.com> Message-ID: Hace poco respondieron algo muy similar a este post, lo puedes hacer con os.environ['HOME'] import os os.environ['HOME'] Te mostrara la ruta del usuario actual. 2008/5/29 kalith kalith : > saludos a la gente de la lista > > dos cositas simples por ejemplo en los OS hay muchas cosas q cambian un > ejemplo /home/usuario nunca es el mismo para todos me explico quiero hace > un > algo que copie un archivo y lo mande a otro lado pero eso no vien al > caso... > > por ejemplo como cojeria la ruta especifica si en una pc es /home/pepe en > otra /home/jose asi sucesivamente de modo tal q se pueda correr en > diferentes pcs... > > otra cosa hay alguna manera de copiar archivos de un lugar a otro sin usar > por ejemplo os.system('cp /lala/.txt /lolo.txt') > > gracias > > -- > Seamos realistas y hagamos lo imposible > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- The knowledge is the most dangerous weapon & SoloCodigo is the most important programing webforum. http://foros.solocodigo.com _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From cristhianboujon en gmail.com Fri May 30 05:49:33 2008 From: cristhianboujon en gmail.com (Cristhian Boujon) Date: Fri, 30 May 2008 00:49:33 -0300 Subject: recomendacion para GUI de una factura In-Reply-To: <172699c50805281629t21e1f924sece7cf2021f65a19@mail.gmail.com> References: <172699c50805281629t21e1f924sece7cf2021f65a19@mail.gmail.com> Message-ID: El día 28 de mayo de 2008 20:29, Milton Galo Patricio Inostroza Aguilera < minoztro en gmail.com> escribió: > 2008/5/28 Cristhian Boujon : > > Estoy diseñando un sistemita de facturacion, lo que estoy haciendo en > este > > momento es diseñar la interfaz grafica con glade y pygtk, y me encontre > con > > un pequeño problema al hacer la parte del grid, al principio empecé a > > hacerlo con un treeview, pero me encontre con unos problemitas. Que me > > recomiendan? > > qué problemas?....yo lo implementé con un treeview para la parte del > detalle de la factura y no tuve problemas, puedes mirar acá para que > te guíes [1] y para que no te fatigues en la búsqueda acá un link > directo al código que te puede servir [2], especificamente puedes ver > el método --> def fgn_define_vista(self): > > > [1] http://chileforge.cl/scm/cvsweb.php/unstable/?cvsroot=inventarix > [2] > http://chileforge.cl/scm/cvsweb.php/unstable/src/gui/windowFactura.py?rev=1.22&contenttype=text/x-cvsweb-markup&cvsroot=inventarix > > > > -- > > Cristhian A. Boujon > > _______________________________________________ > > Lista de correo Python-es > > http://listas.aditel.org/listinfo/python-es > > FAQ: http://listas.aditel.org/faqpyes > > > > > > -- > Milton Inostroza Aguilera > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > El problema que me molesto de sobre manera fue el hecho de no poder marcar las celdas, al estilo de una hoja de calculo, en fin, solo estética pero ahora me encuentro con el problema de que si tengo una celda con 0, y si la modifico y escribo 5, por ejemplo, al darle enter el valor de la celda vuelve a 0. -- Cristhian A. Boujon _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From Andres.Moya en hispalinux.es Fri May 30 10:20:47 2008 From: Andres.Moya en hispalinux.es (=?UTF-8?Q?Andr=C3=A9s=20Moya=20) Date: Fri, 30 May 2008 3:20:47 -0500 Subject: python para aplicaciones empresariales ... Message-ID: <66ba253d20de7a3e587fef0ce3cfdbd7@localhost> Asunto: [Python-es] python para aplicaciones empresariales ... De: "Marcelo Densi Martinez" Fecha: Thu, 29 May 2008 > Mi primera gran duda antes de tirarme a python es si con este > lenguaje se puede diseñar e implementar una solución para una empresa > y que ésta pueda, por ejemplo: controlar y manejar vía web, Altas, > Bajas y modificaciones de datos de clientes, Altas, bajas y > modificaciones de articulos, productos, etc, y consultas, listados e > impresiones varias, y ademas facturación. > > Osea, se puede con python diseñar soluciones empresariales a medida > ???, para luego instalar en un server linux con Apache la aplicación > antes diseñada y que los clientes la utilicen a través de cualquier > navegador web ??? > > Tengo alguna ventaja de utilizar "python" para estos fines y tendria > que utilizar otras herramientas ??? Buenas, Marcelo. En primer lugar, te puedo decir que python se puede usar perfectamente para estos fines, en mi opinión es una buena plataforma para hacer aplicaciones con acceso a base de datos y un GUI basado en formularios, tanto web como en cliente/servidor. No sé si esto lo quieres hacer para aprender programación o para usar en serio la aplicación en sí. Si es lo primero, entonces está bien que te construyas una propia. Si es para lo segundo, te puedo decir por experiencia propia y dolorosa, que hacer una aplicación de facturación, incluso básica, y que sea usable de verdad no es tan fácil. Las primeras fases son muy sencillas, pero en seguida la cosa se complica exponencialmente. Es muy recomendable partir de algo ya hecho y no reinventar la rueda. Hasta ahora no conocía nada realmente bueno de este tipo hecho en Python, pero buscando un poco me he encontrado conque el proyecto Open ERP (http://openerp.com), antes llamado TinyERP, está bastante maduro y parece muy bueno, y es todo en Python. Los de MoLinux hicieron hace tiempo una versión llamada Gesticam (http://www.molinux.info/index.php?option=com_content&task=view&id=125&Itemid=52), traducida y adaptada a la legislación española, pero quizá el propio Open ERP haya mejorado también el tema de la traducción y adaptación. Te recomendaría que te bajes uno cualquiera de los dos y hagas pruebas y lo ajustes a tus necesidades, te va a ser más útil y también puedes aprender mucho, viendo cómo está hecha una apliación grande. Por lo que he podido ver, está hecho enteramente en Python y tiene interfaz tanto en modo web (con Turbogears+CherryPy) como en formularios clásicos (con GTK). --- Andrés.Moya en hispalinux.es ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From jjcarles en terra.es Fri May 30 12:28:14 2008 From: jjcarles en terra.es (Joan Carles Jimenez) Date: Fri, 30 May 2008 12:28:14 +0200 Subject: Capturar la salida de la consola de python. Message-ID: <200805301228.14919.jjcarles@terra.es> Hola de nuevo. Despues de dejar parado este programa (debido al tiempo que me estaba llevando) vuelvo a recuperarlo para ver si lo acabo. Estoy haciendo un pequeño shell gráfico con QT que ejecute comandos de python. La aplicación está dividida en dos textareas donde en una el usuario escribe los comandos de python, mediante la instrucción PyRun_SimpleString la ejecuto, y en la otra tendria que mostrar el resultado de la ejecución del comando de python (NO el resultado de PyRun_SimpleString). Por ejemplo: si el usuario escribe "a = 1", en el textarea de salida no debe aparecer nada. Si a continuación el usuario escribe "print a+2", en el textarea de salida tendria que aparecer un "3" (tal y como funcionaria directametne en python). El problema es que el comando PyRun_SimpleString sólo indica si se ha ejecutado correctamente o no. He intentado capturar el resultado (tal y como me dijeron) leyendo el STDIN, pero las instrucciones read, fgets (de C) necesitan saber la longitud de la cadena a leer y es un dato que no dispongo. Tambien he mirado la API C de python, pero no encuentro nada que me solucione el problema. ¿Alguna orientación/solución que me pueda ayudar? Gracias por adelantado. -- Joan Carles Jimenez jjcarles en terra.es _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From josu.oyanguren en gmail.com Fri May 30 13:08:05 2008 From: josu.oyanguren en gmail.com (Josu Oyanguren) Date: Fri, 30 May 2008 13:08:05 +0200 Subject: python para aplicaciones empresariales ... In-Reply-To: <66ba253d20de7a3e587fef0ce3cfdbd7@localhost> References: <66ba253d20de7a3e587fef0ce3cfdbd7@localhost> Message-ID: <3aa468200805300408p4196caabt89fe066189286880@mail.gmail.com> En la empresa en la que trabajo llevamos años utilizando python en entorno web para desarrollar un sistema de gestión empresarial. Después de las vueltas y las decisiones que hemos ido tomando, el sistema está instalado en un servidor linux, con apache y mysql, y los módulos del sistema implementados mediante CGIs en python. A diferencia de lo que dice Andrés, nuestra decisión fue desarrollar el sistema desde cero. Al menos en nuestro caso no tenemos la sensación de que las cosas se compliquen, sino todo lo contrario: desarrollamos un sistema que se adapta como un guante a la dinámica de trabajo de la empresa (y no al revés, que sea necesario adaptar el sistema de trabajo de las personas "porque el sistema funciona así"), y nos permite tener un sistema inicial (con unos pocos módulos funcionando) desde el minuto uno, al que luego se van añadiendo y modificando funcionalidades (lo que permite no tener que pensar todo qué debe hacer todo el sistema desde el principio, y nos deja centrarnos en un solo problema cada vez). Evidentemente, este sistema de trabajo hace necesaria una relación muy estrecha y larga entre empresa y programadores. En nuestro caso somos un equipo de dos personas que estamos en plantilla. Nosotros estamos muy satisfechos con esta forma de trabajar, y hablo tanto como programador como por la parte de la empresa. Por dar una idea, hoy por hoy, tenemos módulos para: * gestión de albaranes * gestión de cursos y matrículas * conexión con la contabilidad (se lleva en contaplus) y generación de informes de análisis contable * gestión de costes de los cursos, con previsiones de ingresos y gastos * gestión de cajas * gestión de almacén * introducción de partes de trabajo * gestión de la producción de una empresa de madera que tenemos ... y tenemos unos cuantos más en la lista de espera. Todo con python, javascript (para la parte cliente en los navegadores), apache, mysql y linux. Josu. El día 30 de mayo de 2008 10:20, =?UTF-8?Q?Andr=C3=A9s=20Moya=20 < Andres.Moya en hispalinux.es> escribió: > Asunto: [Python-es] python para aplicaciones empresariales ... > De: "Marcelo Densi Martinez" > Fecha: Thu, 29 May 2008 > > > Mi primera gran duda antes de tirarme a python es si con este > > lenguaje se puede diseñar e implementar una solución para una empresa > > y que ésta pueda, por ejemplo: controlar y manejar vía web, Altas, > > Bajas y modificaciones de datos de clientes, Altas, bajas y > > modificaciones de articulos, productos, etc, y consultas, listados e > > impresiones varias, y ademas facturación. > > > > Osea, se puede con python diseñar soluciones empresariales a medida > > ???, para luego instalar en un server linux con Apache la aplicación > > antes diseñada y que los clientes la utilicen a través de cualquier > > navegador web ??? > > > > Tengo alguna ventaja de utilizar "python" para estos fines y tendria > > que utilizar otras herramientas ??? > > > Buenas, Marcelo. > > En primer lugar, te puedo decir que python se puede usar perfectamente para > estos fines, en mi opinión es una buena plataforma para hacer aplicaciones > con > acceso a base de datos y un GUI basado en formularios, tanto web como en > cliente/servidor. > > No sé si esto lo quieres hacer para aprender programación o para usar en > serio la aplicación en sí. Si es lo primero, entonces está bien que te > construyas una propia. Si es para lo segundo, te puedo decir por > experiencia > propia y dolorosa, que hacer una aplicación de facturación, incluso básica, > y que sea usable de verdad no es tan fácil. Las primeras fases son muy > sencillas, pero en seguida la cosa se complica exponencialmente. > > Es muy recomendable partir de algo ya hecho y no reinventar la rueda. Hasta > ahora no conocía nada realmente bueno de este tipo hecho en Python, pero > buscando un poco me he encontrado conque el proyecto Open ERP > (http://openerp.com), antes llamado TinyERP, está bastante maduro y parece > muy > bueno, y es todo en Python. Los de MoLinux hicieron hace tiempo una versión > llamada Gesticam > ( > http://www.molinux.info/index.php?option=com_content&task=view&id=125&Itemid=52 > ), > traducida y adaptada a la legislación española, pero quizá el propio Open > ERP > haya mejorado también el tema de la traducción y adaptación. > > Te recomendaría que te bajes uno cualquiera de los dos y hagas pruebas y lo > ajustes a tus necesidades, te va a ser más útil y también puedes aprender > mucho, viendo cómo está hecha una apliación grande. Por lo que he podido > ver, está hecho enteramente en Python y tiene interfaz tanto en modo web > (con > Turbogears+CherryPy) como en formularios clásicos (con GTK). > > --- > Andrés.Moya en hispalinux.es > > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From med.swl en gmail.com Fri May 30 14:39:52 2008 From: med.swl en gmail.com (Medardo Rodriguez) Date: Fri, 30 May 2008 08:39:52 -0400 Subject: Problemas con PyDev y Python In-Reply-To: References: <483ED3DC.8000306@gmail.com> Message-ID: <4891add70805300539i16d086au869e5c07e47123ba@mail.gmail.com> On Thu, May 29, 2008 at 12:10 PM, extremehill wrote: > x = raw_input("Ingrese primer numero") > y = raw_input("Ingrese segundo numero") > > suma = x+y > > print "la suma es: ", suma *raw_input* siempre devuelve una string, si quieren enteros o números de punto flotante, deben hacer algo como: x = int(raw_input("x: ")) y = int(raw_input("y: ")) print "la suma es: ", x + y Saludos _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From kalith.9 en gmail.com Fri May 30 15:01:26 2008 From: kalith.9 en gmail.com (kalith kalith) Date: Fri, 30 May 2008 08:31:26 -0430 Subject: duda sobre path In-Reply-To: References: <3da702830805291927n2a45d6d2lbb1c4c8739e006c4@mail.gmail.com> Message-ID: <3da702830805300601ofa3666cq40210f0476ef2673@mail.gmail.com> por ejemplo firefox o iceweasel tienen un path especifico .mozilla/firefox/lalala.algo el lala siempre cambia y el .algo se mantiene igual habria forma de hacer q tomando el .algo cambie la direccion cada vez :s -- Seamos realistas y hagamos lo imposible _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From willian.radicaled en gmail.com Fri May 30 15:19:23 2008 From: willian.radicaled en gmail.com (RadicalEd) Date: Fri, 30 May 2008 08:19:23 -0500 Subject: duda sobre path In-Reply-To: <3da702830805300601ofa3666cq40210f0476ef2673@mail.gmail.com> References: <3da702830805291927n2a45d6d2lbb1c4c8739e006c4@mail.gmail.com> <3da702830805300601ofa3666cq40210f0476ef2673@mail.gmail.com> Message-ID: Si existe la variable, en el conjunto de variables que puedes ver por medio del comando export, podrías hacer: os.environ['VARIABLE'] 2008/5/30 kalith kalith : > por ejemplo firefox o iceweasel tienen un path especifico > .mozilla/firefox/lalala.algo > > el lala siempre cambia y el .algo se mantiene igual habria forma de hacer q > tomando el .algo cambie la direccion cada vez :s > -- > Seamos realistas y hagamos lo imposible > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- The knowledge is the most dangerous weapon & SoloCodigo is the most important programing webforum. http://foros.solocodigo.com _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From extremehill en gmail.com Fri May 30 15:41:03 2008 From: extremehill en gmail.com (extremehill) Date: Fri, 30 May 2008 10:41:03 -0300 Subject: Problemas con PyDev y Python In-Reply-To: <4891add70805300539i16d086au869e5c07e47123ba@mail.gmail.com> References: <483ED3DC.8000306@gmail.com> <4891add70805300539i16d086au869e5c07e47123ba@mail.gmail.com> Message-ID: perdon me habia faltado el tipo de dato en el raw_input dependiendo si se quiere usar flotante cambiar int por float ahi si: x = int(raw_input("Ingrese primer numero: ")) y = int(raw_input("Ingrese segundo numero: ")) suma = x+y print "la suma es: ", suma -- deb _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From oscarberrocal en terra.com Fri May 30 15:52:10 2008 From: oscarberrocal en terra.com (oscarberrocal!terraus) Date: Fri, 30 May 2008 13:52:10 +0000 Subject: python para aplicaciones empresariales ... Message-ID: Hola.. Yo comparto la la opinion de Andres,, No hay que reinventar la polvora, si no que seria de la moda de los "objetos". Saludos... De:python-es-bounces en aditel.org Para:"Lista de discusión sobre python en castellano" python-es en aditel.org Copia: Fecha:Fri, 30 May 2008 13:08:05 +0200 Asunto:Re: [Python-es] python para aplicaciones empresariales ... > En la empresa en la que trabajo llevamos años utilizando python en entorno > web para desarrollar un sistema de gestión empresarial. Después de las > vueltas y las decisiones que hemos ido tomando, el sistema está instalado en > un servidor linux, con apache y mysql, y los módulos del sistema > implementados mediante CGIs en python. > > A diferencia de lo que dice Andrés, nuestra decisión fue desarrollar el > sistema desde cero. Al menos en nuestro caso no tenemos la sensación de que > las cosas se compliquen, sino todo lo contrario: desarrollamos un sistema > que se adapta como un guante a la dinámica de trabajo de la empresa (y no al > revés, que sea necesario adaptar el sistema de trabajo de las personas > "porque el sistema funciona así"), y nos permite tener un sistema inicial > (con unos pocos módulos funcionando) desde el minuto uno, al que luego se > van añadiendo y modificando funcionalidades (lo que permite no tener que > pensar todo qué debe hacer todo el sistema desde el principio, y nos deja > centrarnos en un solo problema cada vez). > > Evidentemente, este sistema de trabajo hace necesaria una relación muy > estrecha y larga entre empresa y programadores. En nuestro caso somos un > equipo de dos personas que estamos en plantilla. > > Nosotros estamos muy satisfechos con esta forma de trabajar, y hablo tanto > como programador como por la parte de la empresa. > > Por dar una idea, hoy por hoy, tenemos módulos para: > > * gestión de albaranes > * gestión de cursos y matrículas > * conexión con la contabilidad (se lleva en contaplus) y generación de > informes de análisis contable > * gestión de costes de los cursos, con previsiones de ingresos y gastos > * gestión de cajas > * gestión de almacén > * introducción de partes de trabajo > * gestión de la producción de una empresa de madera que tenemos > ... > > y tenemos unos cuantos más en la lista de espera. Todo con python, > javascript (para la parte cliente en los navegadores), apache, mysql y > linux. > > Josu. > > > El día 30 de mayo de 2008 10:20, =?UTF-8?Q?Andr=C3=A9s=20Moya=20 < > Andres.Moya en hispalinux.es> escribió: > > > Asunto: [Python-es] python para aplicaciones empresariales ... > > De: "Marcelo Densi Martinez" > > Fecha: Thu, 29 May 2008 > > > > > Mi primera gran duda antes de tirarme a python es si con este > > > lenguaje se puede diseñar e implementar una solución para una empresa > > > y que ésta pueda, por ejemplo: controlar y manejar vía web, Altas, > > > Bajas y modificaciones de datos de clientes, Altas, bajas y > > > modificaciones de articulos, productos, etc, y consultas, listados e > > > impresiones varias, y ademas facturación. > > > > > > Osea, se puede con python diseñar soluciones empresariales a medida > > > ???, para luego instalar en un server linux con Apache la aplicación > > > antes diseñada y que los clientes la utilicen a través de cualquier > > > navegador web ??? > > > > > > Tengo alguna ventaja de utilizar "python" para estos fines y tendria > > > que utilizar otras herramientas ??? > > > > > > Buenas, Marcelo. > > > > En primer lugar, te puedo decir que python se puede usar perfectamente para > > estos fines, en mi opinión es una buena plataforma para hacer aplicaciones > > con > > acceso a base de datos y un GUI basado en formularios, tanto web como en > > cliente/servidor. > > > > No sé si esto lo quieres hacer para aprender programación o para usar en > > serio la aplicación en sí. Si es lo primero, entonces está bien que te > > construyas una propia. Si es para lo segundo, te puedo decir por > > experiencia > > propia y dolorosa, que hacer una aplicación de facturación, incluso básica, > > y que sea usable de verdad no es tan fácil. Las primeras fases son muy > > sencillas, pero en seguida la cosa se complica exponencialmente. > > > > Es muy recomendable partir de algo ya hecho y no reinventar la rueda. Hasta > > ahora no conocía nada realmente bueno de este tipo hecho en Python, pero > > buscando un poco me he encontrado conque el proyecto Open ERP > > (http://openerp.com), antes llamado TinyERP, está bastante maduro y parece > > muy > > bueno, y es todo en Python. Los de MoLinux hicieron hace tiempo una versión > > llamada Gesticam > > ( > > http://www.molinux.info/index.php?option=com_content&task=view&id=125&Itemid=52 > > ), > > traducida y adaptada a la legislación española, pero quizá el propio Open > > ERP > > haya mejorado también el tema de la traducción y adaptación. > > > > Te recomendaría que te bajes uno cualquiera de los dos y hagas pruebas y lo > > ajustes a tus necesidades, te va a ser más útil y también puedes aprender > > mucho, viendo cómo está hecha una apliación grande. Por lo que he podido > > ver, está hecho enteramente en Python y tiene interfaz tanto en modo web > > (con > > Turbogears+CherryPy) como en formularios clásicos (con GTK). > > > > --- > > Andrés.Moya en hispalinux.es > > > > > > _______________________________________________ > > Lista de correo Python-es > > http://listas.aditel.org/listinfo/python-es > > FAQ: http://listas.aditel.org/faqpyes > > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From minoztro en gmail.com Fri May 30 16:02:32 2008 From: minoztro en gmail.com (Milton Galo Patricio Inostroza Aguilera) Date: Fri, 30 May 2008 10:02:32 -0400 Subject: recomendacion para GUI de una factura In-Reply-To: References: <172699c50805281629t21e1f924sece7cf2021f65a19@mail.gmail.com> Message-ID: <172699c50805300702v15e0634cr6751226c92c3bda3@mail.gmail.com> > > El problema que me molesto de sobre manera fue el hecho de no poder marcar > las celdas, al estilo de una hoja de calculo, en fin, solo estética pero > ahora me encuentro con el problema de que si tengo una celda con 0, y si la > modifico y escribo 5, por ejemplo, al darle enter el valor de la celda > vuelve a 0. Aunque hoy la bolita mágica no funciona supongo que no estás modificando el modelo con el nuevo valor, puedes mostrar el código de la creación de tu treeview y la función que maneja el cambio de valor de la celda que especificas? > > -- > Cristhian A. Boujon > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Milton Inostroza Aguilera ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From yourpadre en gmail.com Fri May 30 16:32:36 2008 From: yourpadre en gmail.com (Miguel Beltran R.) Date: Fri, 30 May 2008 09:32:36 -0500 Subject: python para aplicaciones empresariales ... In-Reply-To: References: Message-ID: te falto Zope yo asi lo manejo + mi base en postgresql donde la programación con pl/pgsql ayuda El día 29 de mayo de 2008 10:25, Tomas Zulberti escribió: > 2008/5/29 Marcelo Densi Martinez : >> Muy buenas a todos !!!! >> >> Es mi primer contacto con la lista y tambien con python, asi que >> les pido sepan disculpar mi necedad e ignorancia, aunque les comento >> que he programado algo en PHP. >> >> Mi primera gran duda antes de tirarme a python es si con este >> lenguaje se puede diseñar e implementar una solución para una empresa >> y que ésta pueda, por ejemplo: controlar y manejar vía web, >> Altas, Bajas y modificaciones de datos de clientes, >> Altas, bajas y modificaciones de articulos, productos, etc, y >> consultas, listados e impresiones varias, y >> ademas facturación. >> > > Te comento que se puede. Tenes diferentes formas de hacerlo: > -> django > -> turbogears > -> cherrypy > -> modpython > > >> Osea, se puede con python diseñar soluciones empresariales a medida >> ???, para luego instalar en un server linux con Apache la aplicación >> antes diseñada y que los clientes la utilicen a través de cualquier >> navegador web ??? >> > > Claramente se puede diseñar tu propia pagina web asique si se podria > llegar a hacer eso. > >> Tengo alguna ventaja de utilizar "python" para estos fines y tendria >> que utilizar otras herramientas ??? > > Saludos, > TZ > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- ________________________________________ Lo bueno de vivir un dia mas es saber que nos queda un dia menos de vida _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From reynaldomic en gmail.com Fri May 30 17:06:07 2008 From: reynaldomic en gmail.com (Reynaldo Baquerizo) Date: Fri, 30 May 2008 10:06:07 -0500 Subject: Capturar la salida de la consola de python. In-Reply-To: <200805301228.14919.jjcarles@terra.es> References: <200805301228.14919.jjcarles@terra.es> Message-ID: <714351ba0805300806h799f70f7le91ca61fcd30434e@mail.gmail.com> 2008/5/30 Joan Carles Jimenez : > Hola de nuevo. > > Despues de dejar parado este programa (debido al tiempo que me estaba > llevando) vuelvo a recuperarlo para ver si lo acabo. > > Estoy haciendo un pequeño shell gráfico con QT que ejecute comandos de > python. La aplicación está dividida en dos textareas donde en una el > usuario > escribe los comandos de python, mediante la instrucción PyRun_SimpleString > la > ejecuto, y en la otra tendria que mostrar el resultado de la ejecución del > comando de python (NO el resultado de PyRun_SimpleString). Por ejemplo: si > el > usuario escribe "a = 1", en el textarea de salida no debe aparecer nada. Si > a > continuación el usuario escribe "print a+2", en el textarea de salida > tendria > que aparecer un "3" (tal y como funcionaria directametne en python). El > problema es que el comando PyRun_SimpleString sólo indica si se ha > ejecutado > correctamente o no. > > He intentado capturar el resultado (tal y como me dijeron) leyendo el > STDIN, pero las instrucciones read, fgets (de C) necesitan saber la > longitud > de la cadena a leer y es un dato que no dispongo. > > Tambien he mirado la API C de python, pero no encuentro nada que me > solucione el problema. > > ¿Alguna orientación/solución que me pueda ayudar? > En el Qt Quarterly hay dos artículos que quizá te puedan ayudar o dar alguna idea. http://doc.trolltech.com/qq/qq23-pythonqt.html http://doc.trolltech.com/qq/qq10-scripting-qt.html http://sourceforge.net/projects/qconsole http://www.linuxjournal.com/article/8497 Tienes que ejercitar tus habilidades para buscar en google eh! palabra clave: embedding > Gracias por adelantado. > > -- > Joan Carles Jimenez > jjcarles en terra.es > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From celord en gmail.com Fri May 30 18:29:37 2008 From: celord en gmail.com (=?ISO-8859-1?Q?C=E9sar_Garc=EDa?=) Date: Fri, 30 May 2008 10:29:37 -0600 Subject: Expr. Regulares Message-ID: Hola lista, alguno conoce algun buen tutorial sobre REs en español ? _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From willian.radicaled en gmail.com Fri May 30 19:10:19 2008 From: willian.radicaled en gmail.com (RadicalEd) Date: Fri, 30 May 2008 12:10:19 -0500 Subject: Expr. Regulares In-Reply-To: References: Message-ID: http://www.amk.ca/python/howto/regex/regex.html y Google On Fri, May 30, 2008 at 11:29 AM, César García wrote: > Hola lista, alguno conoce algun buen tutorial sobre REs en español ? > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- The knowledge is the most dangerous weapon & SoloCodigo is the most important programing webforum. http://foros.solocodigo.com _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From erjorge en gmail.com Fri May 30 19:45:35 2008 From: erjorge en gmail.com (Jorge Gant Ballesteros) Date: Fri, 30 May 2008 19:45:35 +0200 Subject: python para aplicaciones empresariales ... Message-ID: <001401c8c27c$f90fe1c0$220d19ac@portatilGant> Veo que está teniendo exito este post. He encontrado buscando por internet una empresa española que ha desarrollado un sistema de ventanas para el desarrollo completo de sistemas de gestión en python. Se llama gsBase. http://www.gsbase.com. Por lo que he leido, todo, absolutamente todo está en python. Base de datos propia, informes, desarrollo. Parece que llevan muchos años y que tienen soluciones de todo tipo. Mi veredicto. Python es perfectamente capaz de todo. PD: ¿qué impresión os da el llamado gsbase? Yo estuve tentado de llamar. Saludos. _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From esteban en princesa.pri.sld.cu Fri May 30 21:06:05 2008 From: esteban en princesa.pri.sld.cu (=?iso-8859-15?Q?Luis_Esteban_de_Dios_N=FA=F1ez?=) Date: Fri, 30 May 2008 14:06:05 -0500 Subject: Capturar la salida de la consola de python. In-Reply-To: <200805301228.14919.jjcarles@terra.es> References: <200805301228.14919.jjcarles@terra.es> Message-ID: > He intentado capturar el resultado (tal y como me dijeron) leyendo el > STDIN, pero las instrucciones read, fgets (de C) necesitan saber la > longitud > de la cadena a leer y es un dato que no dispongo. > > Tambien he mirado la API C de python, pero no encuentro nada que me > solucione el problema. > > ¿Alguna orientación/solución que me pueda ayudar? > > Gracias por adelantado. Hola Joan, Estoy enfrascado en algo muy similar. Un software educativo para enseñar a programar en python y c. Una especie de entrenador, en consola, con dos ventanas, una superior para una especie de tutorial. Esto lo tengo casi terminado. Ya puedes ver los temas. En la ventana inferior el supuesto laboratorio -el shell prompt-. Estuve mirando el código de la aplicación PythonG pero nada de nada. Sobre lo que tu has logrado, te pregunto: ¿porque no guardas todo lo que escribes en tu shell en una variable y luego mides su longitud?. -- Saludos, Luis Esteban de Dios Núñez ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From jjcarles en terra.es Fri May 30 20:27:08 2008 From: jjcarles en terra.es (Joan Carles Jimenez) Date: Fri, 30 May 2008 20:27:08 +0200 Subject: Capturar la salida de la consola de python. In-Reply-To: References: <200805301228.14919.jjcarles@terra.es> Message-ID: <200805302027.08652.jjcarles@terra.es> Hola. El problema no es lo que escribo yo, sino lo que escribe python por pantalla. Estoy mirando la libreria PythonQT (unba de las recomendaciones de Reynaldo en este mismo hilo) que a primer golpe de vista parece que me puede ayudar bastante. > Estoy enfrascado en algo muy similar. Un software educativo para enseñar a > programar en python y c. Una especie de entrenador, en consola, con dos > ventanas, una superior para una especie de tutorial. Esto lo tengo casi > terminado. Ya puedes ver los temas. En la ventana inferior el supuesto > laboratorio -el shell prompt-. Estuve mirando el código de la aplicación > PythonG pero nada de nada. > > Sobre lo que tu has logrado, te pregunto: ¿porque no guardas todo lo que > escribes en tu shell en una variable y luego mides su longitud?. -- Joan Carles Jimenez jjcarles en terra.es ------------ próxima parte ------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From mdensi en gmail.com Fri May 30 23:35:18 2008 From: mdensi en gmail.com (Marcelo Densi Martinez) Date: Fri, 30 May 2008 18:35:18 -0300 Subject: python para aplicaciones empresariales ... Message-ID: Andres y Josu, muchas gracias por sus respuestas, ya me baje el openerp,, ahora estoy mas interesado en el tema que antes, voy a seguir al firme con "py" Un abrazo Marcelo D. Martinez > ------------------------------ > Message: 3 > Date: Fri, 30 May 2008 13:08:05 +0200 > From: "Josu Oyanguren" > Subject: Re: [Python-es] python para aplicaciones empresariales ... > To: " Lista de discusión sobre python en castellano " > > En la empresa en la que trabajo llevamos años utilizando python en entorno > web para desarrollar un sistema de gestión empresarial. Después de las > vueltas y las decisiones que hemos ido tomando, el sistema está instalado en > un servidor linux, con apache y mysql, y los módulos del sistema > implementados mediante CGIs en python. > > A diferencia de lo que dice Andrés, nuestra decisión fue desarrollar el > sistema desde cero. Al menos en nuestro caso no tenemos la sensación de que > las cosas se compliquen, sino todo lo contrario: desarrollamos un sistema > que se adapta como un guante a la dinámica de trabajo de la empresa (y no al > revés, que sea necesario adaptar el sistema de trabajo de las personas > "porque el sistema funciona así"), y nos permite tener un sistema inicial > (con unos pocos módulos funcionando) desde el minuto uno, al que luego se > van añadiendo y modificando funcionalidades (lo que permite no tener que > pensar todo qué debe hacer todo el sistema desde el principio, y nos deja > centrarnos en un solo problema cada vez). > > Evidentemente, este sistema de trabajo hace necesaria una relación muy > estrecha y larga entre empresa y programadores. En nuestro caso somos un > equipo de dos personas que estamos en plantilla. > > Nosotros estamos muy satisfechos con esta forma de trabajar, y hablo tanto > como programador como por la parte de la empresa. > > Por dar una idea, hoy por hoy, tenemos módulos para: > > * gestión de albaranes > * gestión de cursos y matrículas > * conexión con la contabilidad (se lleva en contaplus) y generación de > informes de análisis contable > * gestión de costes de los cursos, con previsiones de ingresos y gastos > * gestión de cajas > * gestión de almacén > * introducción de partes de trabajo > * gestión de la producción de una empresa de madera que tenemos > ... > y tenemos unos cuantos más en la lista de espera. Todo con python, > javascript (para la parte cliente en los navegadores), apache, mysql y > linux. > > Josu. > > El día 30 de mayo de 2008 10:20, =?UTF-8?Q?Andr=C3=A9s=20Moya=20 < > Andres.Moya en hispalinux.es> escribió: > > > Asunto: [Python-es] python para aplicaciones empresariales ... > > De: "Marcelo Densi Martinez" > > Fecha: Thu, 29 May 2008 > > > > > Mi primera gran duda antes de tirarme a python es si con este > > > lenguaje se puede diseñar e implementar una solución para una empresa > > > y que ésta pueda, por ejemplo: controlar y manejar vía web, Altas, > > > Bajas y modificaciones de datos de clientes, Altas, bajas y > > > modificaciones de articulos, productos, etc, y consultas, listados e > > > impresiones varias, y ademas facturación. > > > Osea, se puede con python diseñar soluciones empresariales a medida > > > ???, para luego instalar en un server linux con Apache la aplicación > > > antes diseñada y que los clientes la utilicen a través de cualquier > > > navegador web ??? > > > > > > Tengo alguna ventaja de utilizar "python" para estos fines y tendria > > > que utilizar otras herramientas ??? > > > > Buenas, Marcelo. > > > > En primer lugar, te puedo decir que python se puede usar perfectamente para > > estos fines, en mi opinión es una buena plataforma para hacer aplicaciones > > con > > acceso a base de datos y un GUI basado en formularios, tanto web como en > > cliente/servidor. > > > > No sé si esto lo quieres hacer para aprender programación o para usar en > > serio la aplicación en sí. Si es lo primero, entonces está bien que te > > construyas una propia. Si es para lo segundo, te puedo decir por > > experiencia > > propia y dolorosa, que hacer una aplicación de facturación, incluso básica, > > y que sea usable de verdad no es tan fácil. Las primeras fases son muy > > sencillas, pero en seguida la cosa se complica exponencialmente. > > > > Es muy recomendable partir de algo ya hecho y no reinventar la rueda. Hasta > > ahora no conocía nada realmente bueno de este tipo hecho en Python, pero > > buscando un poco me he encontrado conque el proyecto Open ERP > > (http://openerp.com), antes llamado TinyERP, está bastante maduro y parece > > muy > > bueno, y es todo en Python. Los de MoLinux hicieron hace tiempo una versión > > llamada Gesticam > > ( > > http://www.molinux.info/index.php?option=com_content&task=view&id=125&Itemid=52 > > ), > > traducida y adaptada a la legislación española, pero quizá el propio Open > > ERP > > haya mejorado también el tema de la traducción y adaptación. > > > > Te recomendaría que te bajes uno cualquiera de los dos y hagas pruebas y lo > > ajustes a tus necesidades, te va a ser más útil y también puedes aprender > > mucho, viendo cómo está hecha una apliación grande. Por lo que he podido > > ver, está hecho enteramente en Python y tiene interfaz tanto en modo web > > (con > > Turbogears+CherryPy) como en formularios clásicos (con GTK). > > > > Andrés.Moya en hispalinux.es > > _______________________________________________ > > Lista de correo Python-es > > http://listas.aditel.org/listinfo/python-es > > FAQ: http://listas.aditel.org/faqpyes > ------------------------------ _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From punchikk en yahoo.com Fri May 30 23:37:39 2008 From: punchikk en yahoo.com (punchik punchik) Date: Fri, 30 May 2008 14:37:39 -0700 (PDT) Subject: subir variable a base de datos usando modulo httplib In-Reply-To: <2c9fb0dd0805280951x1f361ccex510fa47fc7e5b561@mail.gmail.com> References: <2c9fb0dd0805280951x1f361ccex510fa47fc7e5b561@mail.gmail.com> Message-ID: <971397.24316.qm@web32003.mail.mud.yahoo.com> gracias, ya funciona perfecto --- On Wed, 5/28/08, Chema Cortes <pych3m4 en gmail.com> wrote: From: Chema Cortes <pych3m4 en gmail.com> Subject: Re: [Python-es] subir variable a base de datos usando modulo httplib To: "Lista de discusión sobre python en castellano" <python-es en aditel.org> Date: Wednesday, May 28, 2008, 11:51 AM El día 27 de mayo de 2008 21:37, punchik punchik <punchikk en yahoo.com> escribió: > hola lista! estoy tratando de subir una variable a una base de datos, Para ello he creado 2 scripts, uno que lo ejecuto en mi computadora y el otro que esta el servidor y que agrega la variable a la base de datos. > El problema que tengo es que no puedo enviar la variable desde el script de mi computadora hasta el script de mi servidor, pero si pongo la variable en el mismo script que esta en el servidor y ejecuto el script de mi computadora funciona sin ningun problema. Alguien tiene idea de que estoy haciendo mal? > noten que si uso la linea que esta comentada (#sql ='insert into datos VALUES("may")') funciona bien , pero lo que quiero es mandar la variable "hello" a mi base de datos. Lo primero --siendo un poco quisquilloso--, deberías ajustar el asunto de la pregunta al problema real que tienes. Hasta que no ves el código, no se entiende cuál era la pregunta, ya que no tiene nada qué ver ni con base de datos ni con httplib. > aca estan los dos scripts. > > *********** script uno - que corre en el servidor > > #!/usr/bin/python > > import cgi, cgitb, MySQLdb > > db=MySQLdb.connect(host='kblablabla.net',user='kblablablaex',passwd='blablabla,db='bblablablas') > cursor=db.cursor() > > #sql ='insert into datos VALUES("may")' > sql ='insert into datos VALUES("' + params +'")' > > cursor.execute(sql) > resultado=cursor.fetchall() Evidentemente, te falta recibir los datos,...tal que así: form = cgi.FieldStorage() if form.has_key("data"): cursor.execute('insert into datos VALUES(%s)', (form["data"],) ) También puedes ver el modo correcto de pasar argumentos a las queries (que se hace siguiendo la norma db-api2). En cuanto al módulo cgitb, sólo tiene un cometido: que te muestre los errores: import cgitb; cgitb.enable() _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From carly21 en adinet.com.uy Sat May 31 00:06:29 2008 From: carly21 en adinet.com.uy (Carlos Do Carmo) Date: Fri, 30 May 2008 19:06:29 -0300 Subject: Python web In-Reply-To: <971397.24316.qm@web32003.mail.mud.yahoo.com> References: <2c9fb0dd0805280951x1f361ccex510fa47fc7e5b561@mail.gmail.com> <971397.24316.qm@web32003.mail.mud.yahoo.com> Message-ID: <000901c8c2a1$7c4b1e00$74e15a00$@com.uy> Hola como están? Estoy empezando con python, quiero apuntar desarrollar sistema para la web. que me sugieren utilizar para cumplir mi objetivo, ya que no se me ocurre nada disculpen si mi pregunta ya fue realizada por otro miembro de la lista saludos Carlos Do Carmo Programador msn:carly_do_carmo en hotmail.com _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From leandrotocalini en gmail.com Sat May 31 00:25:18 2008 From: leandrotocalini en gmail.com (leandro tocalini) Date: Fri, 30 May 2008 19:25:18 -0300 Subject: Python web In-Reply-To: <000901c8c2a1$7c4b1e00$74e15a00$@com.uy> References: <2c9fb0dd0805280951x1f361ccex510fa47fc7e5b561@mail.gmail.com> <971397.24316.qm@web32003.mail.mud.yahoo.com> <000901c8c2a1$7c4b1e00$74e15a00$@com.uy> Message-ID: On Fri, May 30, 2008 at 7:06 PM, Carlos Do Carmo wrote: > Hola como están? > > Estoy empezando con python, quiero apuntar desarrollar sistema para > la web. > que me sugieren utilizar para cumplir mi objetivo, ya que no se me ocurre > nada > > disculpen si mi pregunta ya fue realizada por otro miembro de la lista > > saludos > > Carlos Do Carmo > Programador > > msn:carly_do_carmo en hotmail.com > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes Y depende q te propongas hacer. Con python coon mod_python podes hacer paginas como php pero con este lenguaje tan lindo... Osino tenes frameworks como Django que estan muy buenos para armar aplicaciones web de forma rapida... Si queres buscate en google.. Hay un tutorial q arranca de 0 de como armarte un blog en django... _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From arqeek en gmail.com Sat May 31 00:37:34 2008 From: arqeek en gmail.com (Javier Moral) Date: Sat, 31 May 2008 00:37:34 +0200 Subject: Expr. Regulares In-Reply-To: References: Message-ID: <4675959c0805301537q3fe2e57ai10732756b7ddfccc@mail.gmail.com> Talvez te resulte util esta "Cheat Sheet" una imagen (o pdf) lista para imprimir y tenerla siempre a mano... Te dejo los enlazes: http://www.ilovejackdaniels.com/regular_expressions_cheat_sheet.png -> Esta es en formato PNG http://www.ilovejackdaniels.com/regular_expressions_cheat_sheet.pdf -> Y la correspondiente en PDF Espero que te sirvan. Un saludo! ^^ 2008/5/30 RadicalEd : > http://www.amk.ca/python/howto/regex/regex.html y Google > > On Fri, May 30, 2008 at 11:29 AM, César García wrote: > > > Hola lista, alguno conoce algun buen tutorial sobre REs en español ? > > _______________________________________________ > > Lista de correo Python-es > > http://listas.aditel.org/listinfo/python-es > > FAQ: http://listas.aditel.org/faqpyes > > > > > > -- > The knowledge is the most dangerous > weapon & SoloCodigo is the most important programing webforum. > http://foros.solocodigo.com > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From szyszeja en gmail.com Sat May 31 01:06:16 2008 From: szyszeja en gmail.com (Leonidas Szyszeja) Date: Fri, 30 May 2008 20:06:16 -0300 Subject: Capturar la salida de la consola de python. In-Reply-To: <200805302027.08652.jjcarles@terra.es> References: <200805301228.14919.jjcarles@terra.es> <200805302027.08652.jjcarles@terra.es> Message-ID: <48408868.4080005@gmail.com> hola joan, luis sus proyectos son GPL Si fuese asi podrían compartir sus fuentes??? gracias y Suerte _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From fvillarroel en yahoo.com Sat May 31 04:20:21 2008 From: fvillarroel en yahoo.com (FERNANDO VILLARROEL) Date: Fri, 30 May 2008 19:20:21 -0700 (PDT) Subject: Python web In-Reply-To: <000901c8c2a1$7c4b1e00$74e15a00$@com.uy> References: <000901c8c2a1$7c4b1e00$74e15a00$@com.uy> Message-ID: <908584.55958.qm@web34308.mail.mud.yahoo.com> Hola, Como te sugirien en la respuesta anteriores existen frameworks como Django, aunque por lo que he leido por ahy apunta mas como CMS. Por otro lado tienes Turbogears: http://compoundthinking.com/tg2/ http://docs.turbogears.org/2.0/RoughDocs Tambien tienes Pylons http://pylonshq.com/ Tanto pylons como turbogears te exigiran algunos conocimientos en: Kid Genshi Mako Sqlobject SqlAlchemy Pero no les tengas miedo hay bastante documentacion como para partir, te recomiendo que pruebes con TG2.0 Buena suerte. --- On Fri, 5/30/08, Carlos Do Carmo wrote: > From: Carlos Do Carmo > Subject: [Python-es] Python web > To: "'Lista de discusión sobre python en castellano'" > Date: Friday, May 30, 2008, 7:06 PM > Hola como están? > > Estoy empezando con python, quiero apuntar desarrollar > sistema para > la web. > que me sugieren utilizar para cumplir mi objetivo, ya que > no se me ocurre > nada > > disculpen si mi pregunta ya fue realizada por otro miembro > de la lista > > saludos > > Carlos Do Carmo > Programador > > msn:carly_do_carmo en hotmail.com > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From fvillarroel en yahoo.com Sat May 31 04:21:16 2008 From: fvillarroel en yahoo.com (FERNANDO VILLARROEL) Date: Fri, 30 May 2008 19:21:16 -0700 (PDT) Subject: Python web In-Reply-To: <000901c8c2a1$7c4b1e00$74e15a00$@com.uy> References: <000901c8c2a1$7c4b1e00$74e15a00$@com.uy> Message-ID: <569623.57026.qm@web34308.mail.mud.yahoo.com> Hola, Como te sugirien en la respuesta anteriores existen frameworks como Django, aunque por lo que he leido por ahy apunta mas como CMS. Por otro lado tienes Turbogears: http://compoundthinking.com/tg2/ http://docs.turbogears.org/2.0/RoughDocs Tambien tienes Pylons http://pylonshq.com/ Tanto pylons como turbogears te exigiran algunos conocimientos en: Kid Genshi Mako Sqlobject SqlAlchemy Pero no les tengas miedo hay bastante documentacion como para partir, te recomiendo que pruebes con TG2.0 Buena suerte. --- On Fri, 5/30/08, Carlos Do Carmo wrote: > From: Carlos Do Carmo > Subject: [Python-es] Python web > To: "'Lista de discusión sobre python en castellano'" > Date: Friday, May 30, 2008, 7:06 PM > Hola como están? > > Estoy empezando con python, quiero apuntar desarrollar > sistema para > la web. > que me sugieren utilizar para cumplir mi objetivo, ya que > no se me ocurre > nada > > disculpen si mi pregunta ya fue realizada por otro miembro > de la lista > > saludos > > Carlos Do Carmo > Programador > > msn:carly_do_carmo en hotmail.com > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From damufo en gmail.com Sat May 31 20:50:17 2008 From: damufo en gmail.com (damufo) Date: Sat, 31 May 2008 20:50:17 +0200 Subject: duda sobre path In-Reply-To: <3da702830805291927n2a45d6d2lbb1c4c8739e006c4@mail.gmail.com> References: <3da702830805291927n2a45d6d2lbb1c4c8739e006c4@mail.gmail.com> Message-ID: <48419DE9.7030800@gmail.com> kalith kalith escribiu: > saludos a la gente de la lista > > dos cositas simples por ejemplo en los OS hay muchas cosas q cambian un > ejemplo /home/usuario nunca es el mismo para todos me explico quiero hace un > algo que copie un archivo y lo mande a otro lado pero eso no vien al caso... > > por ejemplo como cojeria la ruta especifica si en una pc es /home/pepe en > otra /home/jose asi sucesivamente de modo tal q se pueda correr en > diferentes pcs... > > otra cosa hay alguna manera de copiar archivos de un lugar a otro sin usar > por ejemplo os.system('cp /lala/.txt /lolo.txt') para copiar fichero tienes shutil http://docs.python.org/lib/module-shutil.html _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From jmrivera.mail en gmail.com Fri May 30 06:40:31 2008 From: jmrivera.mail en gmail.com (Joan Manuel) Date: Thu, 29 May 2008 23:40:31 -0500 Subject: Mensaje de prueba Message-ID: <483F853F.6040608@gmail.com> Probando... _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes