From gagsl-py2 en yahoo.com.ar Fri Feb 1 08:50:30 2008 From: gagsl-py2 en yahoo.com.ar (Gabriel Genellina) Date: Fri Feb 1 08:50:40 2008 Subject: [Python-es] Re: =?iso-8859-15?q?Tama=F1o_de_un_proceso_en_python?= References: <47A1C3AF.9010807@argo.es> Message-ID: En Thu, 31 Jan 2008 10:48:47 -0200, Jesus Cea escribió: > Estoy interesado en que un script pueda medir "aproximadamente" su > ocupación de memoria. La medida no necesita ser exacta ni rápida, pero > debe ser portable (no me vale mirar dentro de "/proc" en Linux/Solaris, > o ejecutar un "ps" y buscarme en él porque eso no funciona en Windows). No conozco ninguna forma de medir esas cosas que no sea dependiente del SO. Pero podrias elegir un camino u otro segun sea el SO en que estes corriendo. Para Linux analizar /proc, para Windows usar WMI. -- Gabriel Genellina From marcos.alcazar en gmail.com Fri Feb 1 12:05:03 2008 From: marcos.alcazar en gmail.com (Marcos Alcazar) Date: Fri Feb 1 12:05:10 2008 Subject: [Python-es] Guardar y recuperar imagen desde Postgres In-Reply-To: <47A245BC.70009@toscat.net> References: <60528.84.20.17.84.1201164244.squirrel@correo.toscat.com> <52281.84.20.17.84.1201181475.squirrel@correo.toscat.com> <47A245BC.70009@toscat.net> Message-ID: Hola Alberto... En mis aplicaciones reales, tengo un Asistente, o como quieras llamarle, que es un singleton, para que el se ocupe de la tarea de mapeos y de crear mi engine y mi Session, no te hagas problema, a mi me gustan las cosas lindas lindas... ;) . Esto es solo parte de unas pruebillas que estoy haciendo para tratar de mostrar una imagen. Si alguna vez anda(espero que si), lo incluire en mi aplicacion, tambien de alguna manera bien linda. De eso no viene mi problema, estoy bastante seguro de eso. Y si, si puedo ver el contenido de "data". Antes de guardarlo en la base y despues de recuperarlo tambien. Y no tengo ningun error, hace exactamente lo que le pido, wr(data) me escribe en la pagina los bytes de "data", pero como texto, o sea, el setHeader("Content-Type", "image/jpg") no lo hago bien, o no va ahi, o me faltan cosas por hacer. Creo que en esto radica mi problema. Es verdad que faltan tutoriales de todo tipo en castellano, aunque cada vez hay mas. O cada vez me acostumbro mas a leer cosas en ingles? No se bien... Estaria bueno lo del tuto de SQLAlchemy en castellano, eso ayudaria a bastante gente... Yo me guie con la documentacion y me ha ido bien, por ahora. Saludos, Marcos 2008/1/31 Alberto Valverde : > Marcos Alcazar wrote: > > Aqui de nuevo, reviviendo un thread antiguo... > > > > Ya me di cuenta lo que quiero hacer, asiq es mucho mas facil que ustedes > me > > ayuden :-) > > > > En realidad, estoy usando WebKit, y mi controlador hereda de Page (que > forma > > parte de Webkit.Page), por lo que puedo hacer lo siguiente... Les > recuerdo > > que utilizo SQLAlchemy y Postgres > > > > #En Primer Lugar, realizo un upload de la imagen hacia mi servidor, la > > recupero y la guardo en la base > > file = self.request().field('archivo') > > obj.nombre = file.filename > > obj.data = file.value > > session.save(obj) > > session.commit() > > > > #Aca recupero la imagen que en algun momento he guardado > > def recuperoImagen(self): > > clear_mappers() > > metadata = MetaData() > > > > objetoGrande = Table('objeto_grande' , metadata , > > Column('id' , Integer , primary_key=True), > > Column('nombre' , String() , > nullable=False), > > Column('data' , BLOB , nullable=False) > > ) > > mapper(ObjetoGrande,objetoGrande) > > > > engine = > > create_engine('postgres://postgres:postgres@localhost:5432/marcos' > > ) > > Session = sessionmaker(bind=engine, autoflush=True, > > transactional=True ) > > session = Session() > > > > obj = session.query(ObjetoGrande).first() > > > > return obj.data > > > > #Y despues, lo que yo creo que deberia hacer, pero creo mal porque no > > funciona es sobrescribir el metodo de la clase Page: > > def writeContent(self): > > data = self.recuperoImagen() > > res = self.response() > > wr = self.writeln > > res.setHeader("Content-Type", "image/jpg") > > res.setHeader("Content-Length", str(len(data))) > > wr(data) > > res.flush() > > > > De esta manera puedo llamar a writeContent y "escribir" en mi pagina los > > bytes de la imagen. En teoria, seteandole el header como "image/jpg", > > deberia ver esos bytes como una imagen? > > Estoy seguro que faltan cosas, pero he buscado bastante ya, y no puedo > > encontrar la solucion... > > > > Bueno... si alguien puede, lo agradezco, sino, y bue.... > > ¿Qué error te da? ¿Puedes ver cual es el valor de data antes de > escribirlo en la respuesta? > > Por cierto, eso que haces dentro de recuperoImagen() al instanciar > MetaData, la tabla y el sessionmaker pinta muy feo... eso sólo lo debes > hacer una vez al iniciar la aplicación, normalmente al importar un > módulo. SQLAlchemy hace algunas cosillas mágicas con las clases cuando > las mapea y eso de mapearlas y desmapearlas en cada petición no es bueno. > > Basicamente el proceso es algo así: > > 1) crea un módulo para el modelo: > > meta = Metadata() > > tabla1 = Table("tabla1", meta, col1, col2, ...) > > class ClaseMapeada1(object): > .... > > mapper(ClaseMapeada1, tabla1, ...) > > engine = create_engine( > 'postgres://postgres:postgres@localhost:5432/marcos') > > Session = sessionmaker(bind=engine, autoflush=True, ...) > > Todo ésto debe estar a nivel de módulo para que cuando se importe se > ejecute (bueno, miento, se puede hacer de otras maneras, pero hazme > caso... ;) > > 2) Ahora, en cada petición: > > def atiendePeticion(): > session = Session() > obj = session.query(ClaseMapeada).blablabla(...) > ... > > Bueno, no sé si ésto arreglará tu problema, quien sabe, tal vez... ;) > > Alberto > > P.D. La verdad es que no he visto ningún tutorial de SA en español, es > una verdadera pena ya que SA es impresionante... ¿alguien se anima? > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > From jileon en parcan.es Fri Feb 1 13:24:56 2008 From: jileon en parcan.es (Juan Ignacio Rodriguez de Leon) Date: Fri Feb 1 13:25:03 2008 Subject: [Python-es] SQLAlchemy sobre Firebird [Era: Dudas sobre Python] In-Reply-To: References: <98685fc90801301006h7e0889d2u7f7e38cf724e4bdf@mail.gmail.com> <47A09D19.4040703@gmail.com> <47A18F2A.5080803@parcan.es> <47A1D835.8070101@parcan.es> Message-ID: <47A30F98.5020005@parcan.es> Jose Jachuf escribió: >> Ok, gracias por el soplo, volveré a mirar el SqlAlchemy, lo >> dejé en su día porque no tiraba con Firebird. >> > Cuando lo mires, *tené en cuenta los generadores*. ¡Que guapo! Parece la frase esa que sueltan en las películas de espias y que no entiendes, hasta que llagas al tercer rollo y le sirve al heroe para escapar de la trampa mortal a la que le han conducido. > Cualquier cosa avisame. Gracias. From alberto en toscat.net Fri Feb 1 14:01:21 2008 From: alberto en toscat.net (Alberto Valverde) Date: Fri Feb 1 14:01:31 2008 Subject: [Python-es] Guardar y recuperar imagen desde Postgres In-Reply-To: References: <60528.84.20.17.84.1201164244.squirrel@correo.toscat.com> <52281.84.20.17.84.1201181475.squirrel@correo.toscat.com> <47A245BC.70009@toscat.net> Message-ID: <45972.84.20.17.84.1201870881.squirrel@correo.toscat.com> > Hola Alberto... > > En mis aplicaciones reales, tengo un Asistente, o como quieras llamarle, > que > es un singleton, para que el se ocupe de la tarea de mapeos y de crear mi > engine y mi Session, no te hagas problema, a mi me gustan las cosas lindas > lindas... ;) . Esto es solo parte de unas pruebillas que estoy haciendo > para > tratar de mostrar una imagen. Si alguna vez anda(espero que si), lo > incluire > en mi aplicacion, tambien de alguna manera bien linda. Just in case... :) > De eso no viene mi problema, estoy bastante seguro de eso. Y si, si puedo > ver el contenido de "data". Antes de guardarlo en la base y despues de > recuperarlo tambien. > Y no tengo ningun error, hace exactamente lo que le pido, wr(data) me > escribe en la pagina los bytes de "data", pero como texto, o sea, el > setHeader("Content-Type", "image/jpg") no lo hago bien, o no va ahi, o me > faltan cosas por hacer. Creo que en esto radica mi problema. Hmmm, has probado 'image/jpeg'? Tal vez el response.writeln() haga una conversión a ascii? No tendrá response un método write() o similar? Alberto From marcos.alcazar en gmail.com Fri Feb 1 14:26:55 2008 From: marcos.alcazar en gmail.com (Marcos Alcazar) Date: Fri Feb 1 14:27:26 2008 Subject: [Python-es] Guardar y recuperar imagen desde Postgres In-Reply-To: <45972.84.20.17.84.1201870881.squirrel@correo.toscat.com> References: <60528.84.20.17.84.1201164244.squirrel@correo.toscat.com> <52281.84.20.17.84.1201181475.squirrel@correo.toscat.com> <47A245BC.70009@toscat.net> <45972.84.20.17.84.1201870881.squirrel@correo.toscat.com> Message-ID: Sip, asi es... He probado con write() y con 'image/jpeg'. Creo que es eso. el write() o el writeln() me deben estar convirtiendo esos bytes en ascii o algo por el estilo. Estoy un tanto atascado, no? Saludos, Marcos On Feb 1, 2008 11:01 AM, Alberto Valverde wrote: > > > Hola Alberto... > > > > En mis aplicaciones reales, tengo un Asistente, o como quieras llamarle, > > que > > es un singleton, para que el se ocupe de la tarea de mapeos y de crear > mi > > engine y mi Session, no te hagas problema, a mi me gustan las cosas > lindas > > lindas... ;) . Esto es solo parte de unas pruebillas que estoy haciendo > > para > > tratar de mostrar una imagen. Si alguna vez anda(espero que si), lo > > incluire > > en mi aplicacion, tambien de alguna manera bien linda. > > Just in case... :) > > > De eso no viene mi problema, estoy bastante seguro de eso. Y si, si > puedo > > ver el contenido de "data". Antes de guardarlo en la base y despues de > > recuperarlo tambien. > > Y no tengo ningun error, hace exactamente lo que le pido, wr(data) me > > escribe en la pagina los bytes de "data", pero como texto, o sea, el > > setHeader("Content-Type", "image/jpg") no lo hago bien, o no va ahi, o > me > > faltan cosas por hacer. Creo que en esto radica mi problema. > > Hmmm, has probado 'image/jpeg'? Tal vez el response.writeln() haga una > conversión a ascii? No tendrá response un método write() o similar? > > Alberto > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > From diazluis2008 en hotmail.com Fri Feb 1 20:45:01 2008 From: diazluis2008 en hotmail.com (luis eduardo diaz pereira) Date: Fri Feb 1 20:45:10 2008 Subject: [Python-es] Saber si voy bien? jejeje socket y class gracias :D Message-ID: Hola amigos.. les quiero mostrar el siguiente codigo.. no hace nada como tal.. pero son mis primeros pasos para programar :D!!! un juego en red ------------ Util.py -------------------------- import socket class conexion(): def __init__(self): self.host = socket.gethostname # o puede ser una direccion web o un ip XD self.port = 9898 # tengo entendido q los puertos bajos estan reservados cliente = socket.socket(socket.AF_INET, socket.SOCK_STREAM) def cliente(self): cliente.connect((self.host,self.port)) def servidor(self): serv.blind ((self.host,self.port)) def enviar_dato(self, dato): self.cliente.send(dato) msj_respuesta = cliente.recv(1024) return msj_respuesta -------------------------------------------------------------- Este es el modulo donde estan las clases para conectar el servidor.. o crearlo ;) se los envio para q me comenten si estoy diseñando bien las class... osea primera ves q lo hago... tengo entendido q los socket no siempre envia lo que deben.. y/o tampoco reciben siempre lo que se espera... me preocupa eso... a falta de tener una explicacion de los metodos del socket... _________________________________________________________________ Explore the seven wonders of the world http://search.msn.com/results.aspx?q=7+wonders+world&mkt=en-US&form=QBRE From cgalisteo en k-rolus.net Sat Feb 2 02:12:46 2008 From: cgalisteo en k-rolus.net (Carlos Galisteo) Date: Sat Feb 2 02:12:57 2008 Subject: [Python-es] Saber si voy bien? jejeje socket y class gracias :D In-Reply-To: References: Message-ID: <47A3C38E.1090806@k-rolus.net> luis eduardo diaz pereira escribió: > Este es el modulo donde estan las clases para conectar el servidor.. o crearlo ;) > se los envio para q me comenten si estoy diseñando bien las class... osea primera ves q lo hago.. Me parece que desde el punto de vista de diseño no vas por el major camino. Para mí no tiene mucho sentido que definas una clase "conexión", que tenga métodos servidor y cliente. Veo más lógico que crees una clase servidor, y otra cliente, con métodos como conectar, recibir, enviar, desconectar, etc. Ya se ha comentado por aqui, creo, pero un buen método que puedes usar es ponerte en el lugar de los objetos y hacerte la pregunta ¿Que soy? Soy un servidor, una persona, un vehículo, una matriz... eso debería representarse ómo clases. Luego, para cada clase debes preguntarte ¿Qé cosas puedo hacer? Subir, bajar, conectar,enviar, recibir, etc... Eso serían los métodos de la clase. Y todos los "datos" que necasites para realizar esos métodos (tamaño, altura, velocidad, puerto, ip, etc) serían los atributos. Respecto al código que mandas, creqo que tienes mucho que pulir también. Por ejemplo, el hecho de crear un atributo llamado 'cliente' al que no defines como self.cliente, que es una instancia de socket.socket, y luego definir un método con el mismo nombre, para terminar llamando a self.cliente pretendiendo que sea el socket, cuando en todo caso sería tu método (la explicación me ha quedado un poco confusa, pero creo que se entiende) , me hace sospechar que no tienes muy claro ni lo que quieres hacer ni como hacerlo. Ahora que le doy otra lectura además estas enviando y recibiendo los datos con el cliente...no preferirías hacer una de las dos cosas con el servidor? Sinceramente pienso que deberías dedicarle un poco más de tiempo a la "teoría" antes de ponerte a escribir código. Con esto no quiero desanimarte, todos hemos empezado en algún momento, pero verás como (como en casi todo en la vida) cuanto más claros tengas los conceptos más placentera será la experiencia ; ) Y por cierto...no entiendo muy bien lo de los sockets...es de esperar que envíen y reciban lo que tú quieras, que para eso están, si no menudo caos...¿A que te refieres exáctamente? Un saludo. From cgalisteo en k-rolus.net Sat Feb 2 02:16:16 2008 From: cgalisteo en k-rolus.net (Carlos Galisteo) Date: Sat Feb 2 02:16:25 2008 Subject: [Python-es] Consulta de un Novato [Cortar strings][SOLVED] In-Reply-To: <47A1B4C7.9040004@argo.es> References: <479FDA3E.1010304@gmail.com> <47A1B4C7.9040004@argo.es> Message-ID: <47A3C460.90209@k-rolus.net> Jesus Cea escribió: > > | In [1]: a="123456" > | In [2]: list(str(a)) > | Out[2]: ['1', '2', '3', '1', '2', '4', '1', '2'] Ooops, tienes toda la razón, pero la pregunta original creo que era a partir de un entero, así que no sobraría el str() si no las comillas. From jrvilda en gmail.com Sat Feb 2 11:50:34 2008 From: jrvilda en gmail.com (Josu Rodriguez) Date: Sat Feb 2 11:50:49 2008 Subject: [Python-es] AYUDA: imprimir datos consola refrescandose sin scrolling In-Reply-To: <861451d60709130739u609fc9acv29f27fd8f1bb71c5@mail.gmail.com> References: <7a1652b10708101618s5190bd54ycde0aecc9fa32b13@mail.gmail.com> <861451d60709130739u609fc9acv29f27fd8f1bb71c5@mail.gmail.com> Message-ID: Revisando este hilo, me he puesto hacer una prueba, y al principio me a costado un poco. En windows+python funcionaria como ha dicho Luis al final. Pongo el mismo código por si alguien principiante como yo le interesa: i=1 while i<5000: print "\r ---> " + str(i), i=i + 1 PD: fijaros en la coma del final El día 13/09/07, Luis Peralta escribió: > > El 11/08/07, pepe gotera escribió: > > [...] > > No estoy acostumbrado a python y no se como hacer, siempre que he > imprimido > > algo > > > > en el lenguaje que sea, siempre lo hace a continuacion, no se como hacer > que > > se > > > > maxaken los datos. > > Buenas, > > Esto se ha hecho tradicionalmente con el carácter de retorno de > carro (\r). Y digo tradicionalmente porque con terminales ANSI puedes > hacer ya más cosas, como posicionar el cursor donde quieras o jugar > con los colores (busca ncurses). > > Si tu terminal es unix y tienes un bash, esto debería mostrar un > contador: > > let i=1; while true; do echo -en "$i\r"; i=`expr $i + 1`; done > > Y para que tu código python funcione, métele el carácter de retorno > de carro al final o al principio de la cadena y haz que el print no > salte de línea: > > print oid + "\r ---> " + str(val), > > Si esto funciona en windows o no, no lo sé. Un saludo, > -- > Luis Peralta > http://www.ziritione.org > _______________________________________________ > Python-es mailing list > Python-es@aditel.org > http://listas.aditel.org/listinfo/python-es > -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Josu Rodriguez Vilda ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ From alberto en toscat.net Sat Feb 2 13:35:22 2008 From: alberto en toscat.net (Alberto Valverde) Date: Sat Feb 2 13:35:47 2008 Subject: [Python-es] Guardar y recuperar imagen desde Postgres In-Reply-To: References: <60528.84.20.17.84.1201164244.squirrel@correo.toscat.com> <52281.84.20.17.84.1201181475.squirrel@correo.toscat.com> <47A245BC.70009@toscat.net> <45972.84.20.17.84.1201870881.squirrel@correo.toscat.com> Message-ID: <47A4638A.8000501@toscat.net> Marcos Alcazar wrote: > Sip, asi es... He probado con write() y con 'image/jpeg'. Creo que es eso. > el write() o el writeln() me deben estar convirtiendo esos bytes en ascii o > algo por el estilo. > > Estoy un tanto atascado, no? Hmm, le he echado un ojo a las fuentes d ewebkit y parece que en vez de heredar de Page deberías heredar de HTTPContent directamente para producir salida que no sea HTML. Según el docstring: """Content producing HTTP servlet. HTTPContent is a type of HTTPServlet that is more convenient for Servlets which represent content generated in response to GET and POST requests. If you are generating HTML content, you you probably want your servlet to inherit from Page, which contains many HTML-related convenience methods. If you are generating non-HTML content, it is appropriate to inherit from this class directly. (...) """ Así a ojo, tal vez algo así funcione: class MiControladorDeImagenes(HTTPResponse): def defaultAction(self): obj = get_mi_imagen() # poner la cabecera content-type self.write(obj.data) No uses writeln ya que inserta retornos de carro. Si sigues atascado podrías usar la extensión de firefox Live HTTP Headers o firebug o esnifar el tráfico para comprobar que las cabeceras y el cuerpo de la respuesta son correctas. Espero te ayude, Alberto From diazluis2008 en hotmail.com Sat Feb 2 16:35:48 2008 From: diazluis2008 en hotmail.com (luis eduardo diaz pereira) Date: Sat Feb 2 16:35:55 2008 Subject: [Python-es] Saber si voy bien? jejeje socket y class gracias :D In-Reply-To: <47A3C38E.1090806@k-rolus.net> References: <47A3C38E.1090806@k-rolus.net> Message-ID: Hola :D jejeje pues tienes razon pana... noc ni como empezar ni que hacer ejejej solo estaba probando... y saber si por lo menos estaba bien escrito esa clases.... tengo una idea d lo que quiero.. pero me falta mucho de papel y lapiz antes de empezar a programar jejeje > Date: Sat, 2 Feb 2008 02:12:46 +0100> From: cgalisteo@k-rolus.net> To: python-es@aditel.org> Subject: Re: [Python-es] Saber si voy bien? jejeje socket y class gracias :D> > luis eduardo diaz pereira escribió:> > Este es el modulo donde estan las clases para conectar el servidor.. o crearlo ;)> > se los envio para q me comenten si estoy diseñando bien las class... osea primera ves q lo hago..> Me parece que desde el punto de vista de diseño no vas por el major camino.> > Para mí no tiene mucho sentido que definas una clase "conexión", que > tenga métodos servidor y cliente. Veo más lógico que crees una clase > servidor, y otra cliente, con métodos como conectar, recibir, enviar, > desconectar, etc.> > Ya se ha comentado por aqui, creo, pero un buen método que puedes usar > es ponerte en el lugar de los objetos y hacerte la pregunta ¿Que soy? > Soy un servidor, una persona, un vehículo, una matriz... eso debería > representarse ómo clases. Luego, para cada clase debes preguntarte ¿Qé > cosas puedo hacer? Subir, bajar, conectar,enviar, recibir, etc... Eso > serían los métodos de la clase. Y todos los "datos" que necasites para > realizar esos métodos (tamaño, altura, velocidad, puerto, ip, etc) > serían los atributos.> > Respecto al código que mandas, creqo que tienes mucho que pulir también. > Por ejemplo, el hecho de crear un atributo llamado 'cliente' al que no > defines como self.cliente, que es una instancia de socket.socket, y > luego definir un método con el mismo nombre, para terminar llamando a > self.cliente pretendiendo que sea el socket, cuando en todo caso sería > tu método (la explicación me ha quedado un poco confusa, pero creo que > se entiende) , me hace sospechar que no tienes muy claro ni lo que > quieres hacer ni como hacerlo. Ahora que le doy otra lectura además > estas enviando y recibiendo los datos con el cliente...no preferirías > hacer una de las dos cosas con el servidor?> > Sinceramente pienso que deberías dedicarle un poco más de tiempo a la > "teoría" antes de ponerte a escribir código. Con esto no quiero > desanimarte, todos hemos empezado en algún momento, pero verás como > (como en casi todo en la vida) cuanto más claros tengas los conceptos > más placentera será la experiencia ; )> > Y por cierto...no entiendo muy bien lo de los sockets...es de esperar > que envíen y reciban lo que tú quieras, que para eso están, si no menudo > caos...¿A que te refieres exáctamente?> > Un saludo.> > _______________________________________________> Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es> FAQ: http://listas.aditel.org/faqpyes _________________________________________________________________ Discover the new Windows Vista http://search.msn.com/results.aspx?q=windows+vista&mkt=en-US&form=QBRE From marcos.alcazar en gmail.com Sun Feb 3 15:10:54 2008 From: marcos.alcazar en gmail.com (Marcos Alcazar) Date: Sun Feb 3 15:11:01 2008 Subject: [Python-es] Guardar y recuperar imagen desde Postgres In-Reply-To: <47A4638A.8000501@toscat.net> References: <60528.84.20.17.84.1201164244.squirrel@correo.toscat.com> <52281.84.20.17.84.1201181475.squirrel@correo.toscat.com> <47A245BC.70009@toscat.net> <45972.84.20.17.84.1201870881.squirrel@correo.toscat.com> <47A4638A.8000501@toscat.net> Message-ID: Hice lo que me propusiste, heredando de HTTPContent, y pude comprobar mediante el Live HTTP Headers que la cabecera es correcta, me la cambia a Content-type: image/jpg. El problema debe estar en que el write, aun el de HTTPContent, me transforma lo que mando a string, y esto parece ser el problema. El tema esta en que no puedo corroborar si el cuerpo, o sea los datos, son correctos, por la forma de representacion de los mismos. Tambien hice la prueba de no guardar la imagen en la base, directamente recibo la imagen en el controlador, y asi como esta la vuelvo a colocar en la pagina, con lo que obtengo exactamente el mismo resultado. Tambien estuve leyendo en la docum. de HTTPContent, y el metodo write dice lo siguiente: *write*(self, *args)Write to output. Writes the arguments, which are turned to strings (with `str`) and concatenated before being written to the response. Unicode strings must be encoded before they can be written.Me quiere decir algo de las cadenas Unicode, que las tengo que codificar antes de escribirlas. Vendra por aca la mano? Como podria probar esto? Saludos y mas gracias, Marcos 2008/2/2 Alberto Valverde : > Marcos Alcazar wrote: > > Sip, asi es... He probado con write() y con 'image/jpeg'. Creo que es > eso. > > el write() o el writeln() me deben estar convirtiendo esos bytes en > ascii o > > algo por el estilo. > > > > Estoy un tanto atascado, no? > > Hmm, le he echado un ojo a las fuentes d ewebkit y parece que en vez de > heredar de Page deberías heredar de HTTPContent directamente para > producir salida que no sea HTML. Según el docstring: > > """Content producing HTTP servlet. > > HTTPContent is a type of HTTPServlet that is more convenient for > Servlets which represent content generated in response to > GET and POST requests. If you are generating HTML content, you > you probably want your servlet to inherit from Page, which contains > many HTML-related convenience methods. > > If you are generating non-HTML content, it is appropriate to inherit > from this class directly. > (...) > """ > > Así a ojo, tal vez algo así funcione: > > class MiControladorDeImagenes(HTTPResponse): > def defaultAction(self): > obj = get_mi_imagen() > # poner la cabecera content-type > self.write(obj.data) > > No uses writeln ya que inserta retornos de carro. > > Si sigues atascado podrías usar la extensión de firefox Live HTTP > Headers o firebug o esnifar el tráfico para comprobar que las cabeceras > y el cuerpo de la respuesta son correctas. > > Espero te ayude, > Alberto > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > From xinxic en gmail.com Sun Feb 3 21:17:18 2008 From: xinxic en gmail.com (Xin) Date: Sun Feb 3 21:17:36 2008 Subject: [Python-es] sys.path Message-ID: Hola, Quisiera saber donde quedan definidos los path del sys.path, pués me acabo de copiar el matplotlib en el site-packages con egg i no me lo carga directamente. Tengo que añadir el path directamente o en la variables PYTHONPATH de mi usuario. Però yo quiero que siempre esté disponible para todos los usuarios. Hay algun fichero donde añadir este path? Xin From oinos en web.de Sun Feb 3 23:21:40 2008 From: oinos en web.de (=?UTF-8?B?UGFibG8gUm9kcsOtZ3Vleg==?=) Date: Sun Feb 3 23:21:51 2008 Subject: [Python-es] =?utf-8?q?bibliograf=C3=ADa_sobre_programaci=C3=B3n_?= =?utf-8?q?en_Python?= Message-ID: <47A63E74.9020503@web.de> Hola a todos, me gustaría poder aprender a programar en Python. No sé programar y mi formación es en humanidades. Me gustaría encontrar un libro lo suficientemente bueno que empiece desde lo más básico y que me permita programar al acabarlo (no para hacer grandes cosas, pero sí con fundamentos sólidos para poder escribir programas yo sólo y poder modificar o contribuir a programas ajenos). No es necesario, pero si está impreso mejor. Yo empecé con ?A Byte of Python?, pero es un poco aburrido y entiendo que demasiado lento. (A lo mejor también yo tengo que cambiar de actitud.) Con ?How to Think Like a Computer Scientist: Learning with Python? empecé bien, pero como los ejemplos eran fundamentalmente matemáticos hubo un momento en que ya me perdí (ni por el inglés, ni por la programación, sino más bien por las matemáticas). En fin, ¿alguien tiene una buena referencia para aprender Python con las características que he señalado? Gracias de antemano, Pablo From tzulberti en gmail.com Sun Feb 3 23:29:44 2008 From: tzulberti en gmail.com (Tomas Zulberti) Date: Sun Feb 3 23:29:49 2008 Subject: =?ISO-8859-1?Q?Re:_[Python-es]_bibliograf=EDa?= =?ISO-8859-1?Q?_sobre_programaci=F3n_en_Python?= In-Reply-To: <47A63E74.9020503@web.de> References: <47A63E74.9020503@web.de> Message-ID: 2008/2/3 Pablo Rodríguez : > Hola a todos, > > me gustaría poder aprender a programar en Python. No sé programar y mi > formación es en humanidades. > > Me gustaría encontrar un libro lo suficientemente bueno que empiece > desde lo más básico y que me permita programar al acabarlo (no para > hacer grandes cosas, pero sí con fundamentos sólidos para poder escribir > programas yo sólo y poder modificar o contribuir a programas ajenos). > > No es necesario, pero si está impreso mejor. Yo empecé con "A Byte of > Python", pero es un poco aburrido y entiendo que demasiado lento. (A lo > mejor también yo tengo que cambiar de actitud.) Con "How to Think Like a > Computer Scientist: Learning with Python" empecé bien, pero como los > ejemplos eran fundamentalmente matemáticos hubo un momento en que ya me > perdí (ni por el inglés, ni por la programación, sino más bien por las > matemáticas). > > En fin, ¿alguien tiene una buena referencia para aprender Python con las > características que he señalado? Te recomiendo Dive Into Python. Tambien es libre, y se lo pude bajar de internet tanto en español como ingles. Tiene varios ejemplos, y trata un poco de cada uno de los tema. El libro presenta un gran ejemplo al empezar el capitulo, y luego, te explica mas o menos que es lo que esta haciendo (dando un par de detalles). Yo empeze con ese libro, y me resulto muy comodo. > > Gracias de antemano, > > > Pablo Saludos, Tomas Zulberti From reynaldomic en gmail.com Sun Feb 3 23:39:18 2008 From: reynaldomic en gmail.com (Reynaldo) Date: Sun Feb 3 23:40:46 2008 Subject: [Python-es] =?UTF-8?B?YmlibGlvZ3JhZsOtYSBzb2JyZSBwcm9ncmFtYWM=?= =?UTF-8?B?acOzbiBlbiBQeXRob24=?= In-Reply-To: <47A63E74.9020503@web.de> References: <47A63E74.9020503@web.de> Message-ID: <47A64296.3060008@gmail.com> Pablo Rodríguez escribió: > Hola a todos, > > me gustaría poder aprender a programar en Python. No sé programar y mi > formación es en humanidades. > > Me gustaría encontrar un libro lo suficientemente bueno que empiece > desde lo más básico y que me permita programar al acabarlo (no para > hacer grandes cosas, pero sí con fundamentos sólidos para poder escribir > programas yo sólo y poder modificar o contribuir a programas ajenos). Hola Pablo, En la página oficial de python puedes encontrar algunos tutoriales para gente que no tiene ninguna experiencia previa en programación. http://wiki.python.org/moin/BeginnersGuide/NonProgrammers Saludos, Reynaldo From inigo_aldazabal en ehu.es Mon Feb 4 09:27:30 2008 From: inigo_aldazabal en ehu.es (Inigo Aldazabal Mensa) Date: Mon Feb 4 09:27:50 2008 Subject: [Python-es] =?utf-8?q?bibliograf=C3=ADa_sobre_programaci=C3=B3n_en?= Python In-Reply-To: <47A63E74.9020503@web.de> References: <47A63E74.9020503@web.de> Message-ID: <200802040927.30858.inigo_aldazabal@ehu.es> El Domingo, 3 de Febrero de 2008 23:21, Pablo Rodríguez escribió: > > No es necesario, pero si está impreso mejor. Yo empecé con ?A Byte of > Python?, pero es un poco aburrido y entiendo que demasiado lento. (A lo > mejor también yo tengo que cambiar de actitud.) Con ?How to Think Like a > Computer Scientist: Learning with Python? empecé bien, pero como los > ejemplos eran fundamentalmente matemáticos hubo un momento en que ya me > perdí (ni por el inglés, ni por la programación, sino más bien por las > matemáticas). Pues yo te recomendaría que insistieses un poco con ?How to Think Like a Computer Scientist: Learning with Python?, pues si bien es cierto que al principio tiene algunos ejemplos matemáticos, sobre todo en el capítulo 5, si lo hojeas un poco mas adelante verás que casi todos los ejemplo son con textos, cartas, y cosas mas mundanas. Excepto las partes que trata de la librería matemática, claro está. Pero si no vas a usarla tampoco necesitas prestarle especial interés, mas que saber que está y para que sirve, por si algún día la necesitas para alguna cosa básica. Así que si te has atascado en el capítulo 5 o con alguna cosa de math, yo te diría que lo pases rápido, y sigas un poco mas, a ver que te parece. Un saludo. Iñigo From yozara en terra.es Mon Feb 4 09:58:12 2008 From: yozara en terra.es (Zara) Date: Mon Feb 4 09:58:46 2008 Subject: [Python-es] Re: Dudas sobre Python II References: <98685fc90801310442g10e94a80w802a0b473c02cd76@mail.gmail.com> Message-ID: <84kdq3969177h47mokednk07mq422g4sqp@4ax.com> On Thu, 31 Jan 2008 10:42:32 -0200, Agrelot wrote: >Antes que nada GRACIAS José, Oswaldo, Ramón, Juan Ignacio por responder. >"Por culpa" de Uds, creo que desde hoy me tendrán como un pythonero más. >Solo una duda más ¿Cómo va con la velocidad (por el hecho de ser >interpretado)?. ¿Los deja "conformes" como para un proyecto tipo >profesional?. ¿Que programa de uso profesional hecho en Py me recomiendan >para bajarmelo para probar su rendimiento?. Tres cosas hay que mirar para valorar la velocidad que se puede esperar de un proyecto: a) Los cuellos de botella del lenguaje: En ese caso, python o java, al ser interpretados, pueden resultar más lentos frente a los compilados (C, C++ ....) o que el propio ensamblador. *puede*, no deben. Muchas veces, las estructuras de datos que usan los programas interpretados están tan horrorosamente optimizaas que un humano normal ya no es capaz de igualar su eficacia. b) Los cuellos de bortella de la aplicación: Si se comunica mucho (por ficheros, por red, con la pantalla), la velocidad puede estar limitata por la entrada y salida, de tal modo que el punto (a) resulte totalmente irrelevante. Y que conste que esto es muchísimo más frecuente de lo que parece. c) El tiempo de desarrrollo y de depuración. Un programa que tar 3 segundos en ejecutar algo bien, 5 segundos en ejecutar algo mal (bug), y 5 meses en corregir ese bug, resulta en definitva mucho más lento que un programa que haga lo mismo en 5 segundos, 7 segundos y 3 días repectivamente. En ese respecto, los lenguajes de bajo nivel (C) y muy bajo nivel (ensamblador) tienen tiempos de corrección muy largos, mientras que un lenguaje dinámico como el python tiene un tiempo de corrección muy corto. Los lenguajes con tipos muy fuertes (java, C++) tienen unos tiempos de depuración cortos o medios, pero con ventajas frente al python en cuanto a que el compilador descubre ciertos errores del sistema de tipos que en python sólo pueden aparecer al ejecutar el trozo concreto en las condiciones concretas del error. Personalement, yo utilizo el C++ para los programas de gran complejidad o los procesos críticos, python para los procesos que quiero generar rápidamente y que implican mucho proceso de cadenas (especialmente expresiones regulares) porque me resulta mucho más fácil de probar y de purar, y Haskell si deseo funciones o programas de los que pueda comprobar su funcionamiento por medio del razonamiento y no de los test unitarios. Usa python, seguro que te encanta. El resto, vendrá después si acaso sientes la necesidad. saludos, Zara From pych3m4 en gmail.com Mon Feb 4 10:44:00 2008 From: pych3m4 en gmail.com (Chema Cortes) Date: Mon Feb 4 10:44:08 2008 Subject: [Python-es] sys.path In-Reply-To: References: Message-ID: <2c9fb0dd0802040144k4511b968t4174720ee238f3fa@mail.gmail.com> El 2008/2/3, Xin escribió: > Quisiera saber donde quedan definidos los path del sys.path, pués me > acabo de copiar el matplotlib en el site-packages con egg i no me lo > carga directamente. > > Tengo que añadir el path directamente o en la variables PYTHONPATH de > mi usuario. > > Però yo quiero que siempre esté disponible para todos los usuarios. > Hay algun fichero donde añadir este path? Normalmente, los ficheros egg se instalan como si fueran "paquetes", añadiendo un fichero .pth con la ruta al fichero egg/zip o al directorio. Añade un fichero en texto plano al site-packages llamado, por ejemplo, "matplotlib.pth" con una sóla línea indicando la ruta al fichero egg, por ejemplo "matplotlib.egg" Revisa la documentación de python donde se explica la instalación de paquetes. From jileon en parcan.es Mon Feb 4 10:54:31 2008 From: jileon en parcan.es (Juan Ignacio Rodriguez de Leon) Date: Mon Feb 4 10:54:40 2008 Subject: [Python-es] =?ISO-8859-1?Q?bibliograf=EDa_sobre_programa?= =?ISO-8859-1?Q?ci=F3n_en_Python?= In-Reply-To: <47A63E74.9020503@web.de> References: <47A63E74.9020503@web.de> Message-ID: <47A6E0D7.3010506@parcan.es> Pablo Rodríguez escribió: > Hola a todos, > > me gustaría poder aprender a programar en Python. No sé programar y mi > Me gustaría encontrar un libro lo suficientemente bueno que empiece > desde lo más básico y que me permita programar al acabarlo (no para En la Universidad Jaume I sacaron un curso de iniciación a la programación en python que te podría venir muy bien; segón el prefacio: Estos libros de texto desarrollan el temario de la asignatura Metodología y tecnología de la programación de las titulaciones de Ingeniería Informática e Ingeniería Técnica en Informática de Gestión de la Universitat Jaume I. En ella se pretende enseñar a programar y, a diferencia de lo que es usual en cursos introductorios a la programación, se propone el aprendizaje con dos lenguajes de programación: Python y C. lo puedes descargar de: Creo que es ideal para lo que quieres; no presupone ningún conocimiento de programación previo. Suerte y un saludo. From judaz100 en hotmail.com Mon Feb 4 12:06:31 2008 From: judaz100 en hotmail.com (Juan Osorio Gonzalez) Date: Mon Feb 4 12:10:34 2008 Subject: [Python-es] Re: Dudas sobre Python II In-Reply-To: <84kdq3969177h47mokednk07mq422g4sqp@4ax.com> References: <98685fc90801310442g10e94a80w802a0b473c02cd76@mail.gmail.com> <84kdq3969177h47mokednk07mq422g4sqp@4ax.com> Message-ID: Pues yo he realizado mitrabajo de grado utilizando python para simular un sistema de inteligencia artificial multiagente cooperativo el cual incluia graficos tridimensionales realizados con blender el cual tiene un motor de juegos que utiliza python como lenguaje de programacion. ----- Fight back spam! Download the Blue Frog. http://www.bluesecurity.com/register/s?user=anVkYW81MzUz > To: python-es@aditel.org > From: yozara@terra.es > Date: Mon, 4 Feb 2008 09:58:12 +0100 > Subject: [Python-es] Re: Dudas sobre Python II > > On Thu, 31 Jan 2008 10:42:32 -0200, Agrelot wrote: > > >Antes que nada GRACIAS José, Oswaldo, Ramón, Juan Ignacio por responder. > >"Por culpa" de Uds, creo que desde hoy me tendrán como un pythonero más. > >Solo una duda más ¿Cómo va con la velocidad (por el hecho de ser > >interpretado)?. ¿Los deja "conformes" como para un proyecto tipo > >profesional?. ¿Que programa de uso profesional hecho en Py me recomiendan > >para bajarmelo para probar su rendimiento?. > > Tres cosas hay que mirar para valorar la velocidad que se puede > esperar de un proyecto: > > a) Los cuellos de botella del lenguaje: En ese caso, python o java, al > ser interpretados, pueden resultar más lentos frente a los compilados > (C, C++ ....) o que el propio ensamblador. *puede*, no deben. Muchas > veces, las estructuras de datos que usan los programas interpretados > están tan horrorosamente optimizaas que un humano normal ya no es > capaz de igualar su eficacia. > > b) Los cuellos de bortella de la aplicación: Si se comunica mucho (por > ficheros, por red, con la pantalla), la velocidad puede estar limitata > por la entrada y salida, de tal modo que el punto (a) resulte > totalmente irrelevante. Y que conste que esto es muchísimo más > frecuente de lo que parece. > > c) El tiempo de desarrrollo y de depuración. Un programa que tar 3 > segundos en ejecutar algo bien, 5 segundos en ejecutar algo mal (bug), > y 5 meses en corregir ese bug, resulta en definitva mucho más lento > que un programa que haga lo mismo en 5 segundos, 7 segundos y 3 días > repectivamente. En ese respecto, los lenguajes de bajo nivel (C) y muy > bajo nivel (ensamblador) tienen tiempos de corrección muy largos, > mientras que un lenguaje dinámico como el python tiene un tiempo de > corrección muy corto. Los lenguajes con tipos muy fuertes (java, C++) > tienen unos tiempos de depuración cortos o medios, pero con ventajas > frente al python en cuanto a que el compilador descubre ciertos > errores del sistema de tipos que en python sólo pueden aparecer al > ejecutar el trozo concreto en las condiciones concretas del error. > > Personalement, yo utilizo el C++ para los programas de gran > complejidad o los procesos críticos, python para los procesos que > quiero generar rápidamente y que implican mucho proceso de cadenas > (especialmente expresiones regulares) porque me resulta mucho más > fácil de probar y de purar, y Haskell si deseo funciones o programas > de los que pueda comprobar su funcionamiento por medio del > razonamiento y no de los test unitarios. > > Usa python, seguro que te encanta. El resto, vendrá después si acaso > sientes la necesidad. > > saludos, > > Zara > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes _________________________________________________________________ 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. From luis.ore.ori en gmail.com Mon Feb 4 12:19:51 2008 From: luis.ore.ori en gmail.com (Luis Orellana Orihuela) Date: Mon Feb 4 12:20:00 2008 Subject: =?ISO-8859-1?Q?Re:_[Python-es]_Env=EDo_de_mensajes_a_m=FAltiples_destinos?= In-Reply-To: <47A23C4F.9020203@toscat.net> References: <526b12900801290317o369d353cvf7026f84c3009e35@mail.gmail.com> <47A17185.508@toscat.net> <47A1B82A.3020509@argo.es> <1201785757.6787.145.camel@soberbia.linkend.net> <47A227DD.1080305@argo.es> <47A23AE3.1050000@toscat.net> <47A23C4F.9020203@toscat.net> Message-ID: <526b12900802040319o397d4aaay5261108831078878@mail.gmail.com> Muchas gracias a todos por la información, la verdad es que estoy aprendiendo mucho. Aunque aun no me aclaro, no veo el modo de enfocarlo. Os planteo el escenario: - Hay un servidor (debian) que controla varias salas de unos 50 pc's cada una de ellas. - En cada pc de las salas tengo implementado una aplicación, lo único que hace es escuchar por un puerto. En el momento que le llega un socket entrante del servidor obtiene el string que éste le manda y lo muestra por pantalla. - Ahora mismo, lo que tengo implementado en la máquina servidora es un pequeño script que manda el string al pc indicado de cualquier sala (crea socket, envía string y cierra socket sin esperar asentimiento), de manera que si quiero enviar el mismo string a una sala completa tendría que hacerlo uno a uno recorriendo todos los pc's de la sala. El problema es que si un pc está apagado o no escuchando, el connect del socket tarda un ratillo en dar el error y claro, el problema se agrava si hay mas de uno apagado (que suele ser lo habitual). El objetivo es que aparezcan en los pcs de forma casi instantánea (unos segundos de diferencia entre el primero y último estaría bien) y que la sobrecarga en la máquina servidora sea mínima. Como primera solución opté por un hilo por socket. Realicé una prueba con todos los Pcs apagados y aquello empezó a darme errores: "Original exception was: Unhadled exception in thread estarted by Error in sys.excepthook" - He pensado que una opción sería realizar un primer recorrido para ver qué pcs de la sala están operativos (encendido y escuchando) -creo que con select se haría este paso- y una vez conocidos los pcs disponibles realizar el envío de sockets secuencialmente. como el tráfico de cada socket (envío de una cadena) es mínimo no creo que el hacerlo multihilo o multiproceso (fork) me aporte mucho más dinamismo ¿qué opináis? Bueno no me enrollo más, solo quería saber si el enfoque es correcto o es una burrada y admito todo tipo de sugerencias. Decir también que hay que tener en cuenta que mi nivel en Python es mínimo. Muchas gracias a la lista! From yozara en terra.es Mon Feb 4 12:36:39 2008 From: yozara en terra.es (Zara) Date: Mon Feb 4 12:36:54 2008 Subject: [Python-es] Re: Dudas sobre Python II References: <98685fc90801310442g10e94a80w802a0b473c02cd76@mail.gmail.com> <84kdq3969177h47mokednk07mq422g4sqp@4ax.com> Message-ID: <7mtdq3hr4ssah21geu5jjepg78eck3f8u2@4ax.com> On Mon, 4 Feb 2008 11:06:31 +0000, Juan Osorio Gonzalez wrote: > >Pues yo he realizado mitrabajo de grado utilizando python para simular un sistema de inteligencia artificial multiagente cooperativo el cual incluia graficos tridimensionales realizados con blender el cual tiene un motor de juegos que utiliza python como lenguaje de programacion. > >> To: python-es@aditel.org >> From: yozara@terra.es >> Date: Mon, 4 Feb 2008 09:58:12 +0100 >> Subject: [Python-es] Re: Dudas sobre Python II >> >> On Thu, 31 Jan 2008 10:42:32 -0200, Agrelot wrote: >> <...> >> >> Personalement, yo utilizo el C++ para los programas de gran >> complejidad o los procesos críticos, python para los procesos que >> quiero generar rápidamente y que implican mucho proceso de cadenas >> (especialmente expresiones regulares) porque me resulta mucho más >> fácil de probar y de purar, y Haskell si deseo funciones o programas >> de los que pueda comprobar su funcionamiento por medio del >> razonamiento y no de los test unitarios. >> >> Usa python, seguro que te encanta. El resto, vendrá después si acaso >> sientes la necesidad. >> Sin ánimo de empezar una o más guerras, proque no me gusta; a) Suele estar mal visto el "top-posting". Es preferible responder debajo del mensaje b) Suele ser recomendable eliminar de los mensajes a los que se responde la parte que no contiene nada realtivo a la respuesta c) No tengo nada en contra de python, todo lo contrario. De hecho, estoy muy a gusto con él entre otras cosas porque permite utilizar fácilmente lo que se ha hecho en otros lenguajes (por ejempl, C o C++). Y un gran ejemplo es BLENDER, que escribe en python una parte de un gran motor de animación y el resto en C y C++, puedes comprobarlo si descargas los fichero fuente de Blender. Incluso verás algunos ficheros en Perl. ten cuidado, Zara From jileon en parcan.es Mon Feb 4 12:37:35 2008 From: jileon en parcan.es (Juan Ignacio Rodriguez de Leon) Date: Mon Feb 4 12:37:46 2008 Subject: [Python-es] =?ISO-8859-1?Q?Env=EDo_de_mensajes_a_m=FA?= =?ISO-8859-1?Q?ltiples_destinos?= In-Reply-To: <526b12900802040319o397d4aaay5261108831078878@mail.gmail.com> References: <526b12900801290317o369d353cvf7026f84c3009e35@mail.gmail.com> <47A17185.508@toscat.net> <47A1B82A.3020509@argo.es> <1201785757.6787.145.camel@soberbia.linkend.net> <47A227DD.1080305@argo.es> <47A23AE3.1050000@toscat.net> <47A23C4F.9020203@toscat.net> <526b12900802040319o397d4aaay5261108831078878@mail.gmail.com> Message-ID: <47A6F8FF.8040501@parcan.es> Luis Orellana Orihuela escribió: > > ratillo en dar el error y claro, el problema se agrava si hay mas de uno > apagado (que suele ser lo habitual). El objetivo es que aparezcan en los pcs Puedes usar Datagramas, en vez de una conexión (usar UDP en vez de TCP). Si el ordenador destino está apagado simplemente se ignora el mensaje. UDP no tiene control de errores. Quizás tendrías que implementar un pequeño protocolo de envio-confirmación si quieres estar absolutamente seguro de que todos los PC encendidos han recibido la notificación. UDP - User Datagram Protocol http://es.wikipedia.org/wiki/User_Datagram_Protocol Socket Programming in Python http://www.evolt.org/article/Socket_Programming_in_Python/17/60276/ From antonio.beamud en linkend.net Mon Feb 4 12:49:13 2008 From: antonio.beamud en linkend.net (Antonio Beamud Montero) Date: Mon Feb 4 12:49:23 2008 Subject: [Python-es] =?ISO-8859-1?Q?Env=EDo?= de mensajes a =?ISO-8859-1?Q?m=FAltiples?= destinos In-Reply-To: <526b12900802040319o397d4aaay5261108831078878@mail.gmail.com> References: <526b12900801290317o369d353cvf7026f84c3009e35@mail.gmail.com> <47A17185.508@toscat.net> <47A1B82A.3020509@argo.es> <1201785757.6787.145.camel@soberbia.linkend.net> <47A227DD.1080305@argo.es> <47A23AE3.1050000@toscat.net> <47A23C4F.9020203@toscat.net> <526b12900802040319o397d4aaay5261108831078878@mail.gmail.com> Message-ID: <1202125753.7045.62.camel@soberbia.linkend.net> El lun, 04-02-2008 a las 12:19 +0100, Luis Orellana Orihuela escribió: > Muchas gracias a todos por la información, la verdad es que estoy > aprendiendo mucho. Aunque aun no me aclaro, no veo el modo de enfocarlo. Os > planteo el escenario: > Bueno no me enrollo más, solo quería saber si el enfoque es correcto o es > una burrada y admito todo tipo de sugerencias. Decir también que hay que > tener en cuenta que mi nivel en Python es mínimo. Pues quizás una buena opción sería usar multicast. Un ejemplo de como hacerlo con Twisted: http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/425975 Mira en el módulo socket de la libreria de python para más información. Un saludo From rafaelcantos en hotmail.com Mon Feb 4 13:33:38 2008 From: rafaelcantos en hotmail.com (Rafael Cantos) Date: Mon Feb 4 13:33:45 2008 Subject: [Python-es] ayuda con pygtk y pygst Message-ID: Buenas. Tengo un par de dudas, a ver si por aquí y vuestros amplios conocimientos (yo aún sigo siendo nobatillo con python...) me podéis ayudar. 1. Quiero crear una ayuda para mi aplicación con python, pygtk y pygst. He estao viendo, y pygtk no tieneningun procedimiento para llevarlo acabo. ¿Es así? ¿Hay que escribirlo en txt, por ejemplo, y usar una llamada tipo os.system("gedit ayuda.txt") para poder acceder a la ayuda? 2. En mi aplicación me he encontrado con un problema de concurrencia. He mirado el manual de referencia, pero no he encontrado donde están las funciones que se usan para esto. Os agradecería que me orientaseis. Saludos y muchas gracias por adelantado. Rafa _________________________________________________________________ MSN Noticias http://noticias.msn.es/comunidad.aspx From g.ces en pettra.es Mon Feb 4 14:24:26 2008 From: g.ces en pettra.es (Gustavo Ces) Date: Mon Feb 4 14:24:45 2008 Subject: [Python-es] Re: Dudas sobre Python II References: <98685fc90801310442g10e94a80w802a0b473c02cd76@mail.gmail.com><84kdq3969177h47mokednk07mq422g4sqp@4ax.com> Message-ID: <01bd01c86731$44546860$ba03a8c0@GUS> Saludos Juan, ya que estamos, ¿ quieres decir que haces la simulación multiagente con el motor de juegos? ¿ o que usas el motor para "crear el escenario" y programas los agentes por otro lado? Gus From maengora en gmail.com Mon Feb 4 16:15:03 2008 From: maengora en gmail.com (=?ISO-8859-1?Q?Manuel_Enrique_Gonz=E1lez_Ram=EDrez?=) Date: Mon Feb 4 16:15:13 2008 Subject: [Python-es] Deshabilitar Control+F4 Message-ID: Hola a tod@s. Mi pregunta es la siguiente: Necesito deshabilitar la combinación de teclas Control+F4 para evitar que el usuario cierre un formulario (en win2) con dichas teclas. Ya he visto algo sobre deshabilitar la tecla ESC pero aún no s cómo funciona con la combinación de teclas. Gracias. From listas en soft-com.es Mon Feb 4 16:35:52 2008 From: listas en soft-com.es (=?ISO-8859-1?Q?Oswaldo_Hern=E1ndez?=) Date: Mon Feb 4 16:36:30 2008 Subject: [Python-es] Deshabilitar Control+F4 In-Reply-To: References: Message-ID: <47A730D8.1000008@soft-com.es> Manuel Enrique González Ramírez escribió: > Hola a tod@s. > > Mi pregunta es la siguiente: > Necesito deshabilitar la combinación de teclas Control+F4 para evitar que el > usuario cierre un formulario (en win2) con dichas teclas. > > Ya he visto algo sobre deshabilitar la tecla ESC pero aún no s cómo funciona > con la combinación de teclas. > No dices que libreria grafica utilizas, pero de todas formas Ctrl+F4 provoca un close de la ventana activa, puedes capturar el evento y cancelar el cierre. Saludos, -- ***************************************** Oswaldo Hernández oswaldo (@) soft-com (.) es ***************************************** From kernel.no.found en gmail.com Mon Feb 4 16:45:05 2008 From: kernel.no.found en gmail.com (=?ISO-8859-1?Q?Juan_Jos=E9_Alonso.?=) Date: Mon Feb 4 16:45:13 2008 Subject: [Python-es] Buscando pythonero para minijuego Message-ID: <117d6e170802040745q46aee436xea90f478a827f1fa@mail.gmail.com> Hola, ando buscando algun programador python con conocimiento de pygame y demas libs, para un pequeño desarollo de un minijuego basado en lemonade-tycoon (vease: http://images.google.es/images?hl=es&q=lemonade+tycoon&um=1&ie=UTF-8&sa=N&tab=wi) Se trataria de un desarollo de no mas de 2-3 meses si se le hecha tiempo. (No me meto en algo mas gordo porque se como acaban estos desarollos en el tema de videojuegos) Solo se necesita dedicacion, y quien sabe, seguir programando mas juegos en un futuro. un saludo! :) -- Juan José Alonso. KarlsBerg. eMail: kernel.no.found@gmail.com MSN: kernel.no.found@gmail.com From francisco.palm en gmail.com Mon Feb 4 17:59:55 2008 From: francisco.palm en gmail.com (Francisco Palm) Date: Mon Feb 4 18:00:12 2008 Subject: =?ISO-8859-1?Q?Re:_[Python-es]_bibliograf=EDa?= =?ISO-8859-1?Q?_sobre_programaci=F3n_en_Python?= In-Reply-To: <47A63E74.9020503@web.de> References: <47A63E74.9020503@web.de> Message-ID: Libros impresos hay pocos, ¿puedes leer en inglés?: Te recomiendo empezar por algo entretenido como livewires http://www.livewires.org.uk/python/home Realmente esto vale la pena traducirlo a español. Después moverte progresivamente a algo más formal, considero que lo ideal es el tutorial oficial: http://docs.python.org/tut/tut.html De allí saltar a "Inmersión en Python": http://www.diveintopython.org/ Con estas herramientas ya podrás afrontar casi cualquier proyecto estudiando en la medida que vayas requiriendo las herramientas específicas. y Muuucho Google! Saludos F. Palm El 4/02/08, Pablo Rodríguez escribió: > Hola a todos, > > me gustaría poder aprender a programar en Python. No sé programar y mi > formación es en humanidades. > > Me gustaría encontrar un libro lo suficientemente bueno que empiece > desde lo más básico y que me permita programar al acabarlo (no para > hacer grandes cosas, pero sí con fundamentos sólidos para poder escribir > programas yo sólo y poder modificar o contribuir a programas ajenos). > > No es necesario, pero si está impreso mejor. Yo empecé con "A Byte of > Python", pero es un poco aburrido y entiendo que demasiado lento. (A lo > mejor también yo tengo que cambiar de actitud.) Con "How to Think Like a > Computer Scientist: Learning with Python" empecé bien, pero como los > ejemplos eran fundamentalmente matemáticos hubo un momento en que ya me > perdí (ni por el inglés, ni por la programación, sino más bien por las > matemáticas). > > En fin, ¿alguien tiene una buena referencia para aprender Python con las > características que he señalado? > > Gracias de antemano, > > > Pablo > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- -------------------------------------- fpalm@ula.ve francisco.palm@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. From pyarnau en gmail.com Mon Feb 4 19:33:41 2008 From: pyarnau en gmail.com (Arnau Sanchez) Date: Mon Feb 4 19:33:54 2008 Subject: [Python-es] ayuda con pygtk y pygst In-Reply-To: References: Message-ID: <47A75A85.3030203@gmail.com> Rafael Cantos escribió: > 1. Quiero crear una ayuda para mi aplicación con python, pygtk y > pygst. He estao viendo, y pygtk no tiene ningun procedimiento para > llevarlo acabo. PyGTK es una librería genérica de creación de GUIs, puedes hacer lo que quieras, incluido un visor de documentación (que tendrías que programar). Pero como ya hay otros visores, mejor usarlos; por ejemplo gnome-help/yelp, que muestran la ayuda contenido en un fichero docbook. Eso para cosas complejas, si la ayuda es texto plano cualquier editor de texto servirá. > 2. En mi aplicación me he encontrado con un problema de concurrencia. He mirado el manual de referencia, pero no he encontrado donde están las funciones que se usan para esto. Lo de "problema de concurrencia" no es de gran ayuda... di qué módulos usas, los errores que da, etc. From pachi en rvburke.com Mon Feb 4 19:43:27 2008 From: pachi en rvburke.com (Rafael Villar Burke) Date: Mon Feb 4 19:43:40 2008 Subject: [Python-es] ayuda con pygtk y pygst In-Reply-To: References: Message-ID: <47A75CCF.5040406@rvburke.com> Rafael Cantos wrote: > Buenas. > > Tengo un par de dudas, a ver si por aquí y vuestros amplios conocimientos (yo aún sigo siendo nobatillo con python...) me podéis ayudar. > > 1. Quiero crear una ayuda para mi aplicación con python, pygtk y pygst. He estao viendo, y pygtk no tieneningun procedimiento para llevarlo acabo. ¿Es así? ¿Hay que escribirlo en txt, por ejemplo, y usar una llamada tipo os.system("gedit ayuda.txt") para poder acceder a la ayuda? Una opción interesante es usar HTML y abrir la ayuda en un navegador, usando el módulo webbrowser de la biblioteca estándar de python: http://docs.python.org/lib/module-webbrowser.html Saludos, Rafael From pych3m4 en gmail.com Mon Feb 4 20:15:40 2008 From: pych3m4 en gmail.com (Chema Cortes) Date: Mon Feb 4 20:15:50 2008 Subject: =?ISO-8859-1?Q?[SemiOT]_Nueva_versi=F3n_de_postgresql_8.3_(Re:?= =?ISO-8859-1?Q?_[Python-es]_UUIDs_y_los_objetos_persistentes)?= Message-ID: <2c9fb0dd0802041115ga7e0417w6f25de5822999027@mail.gmail.com> El 15/11/07, Chema Cortes escribió: > En postgres se emplean, sobre todo, los OIDs en las tablas de sistema. > Los OIDs identifican cada registro de una tabla con un código de > 4bytes, lo que podría ser insuficiente en tablas muy grandes. No se > debería emplear para clave primaria y, de hecho, se puede eliminar > completamente de una tabla. > > Por otro lado, postgresql no sería postgresql si no se pudieran añadir > nuevos tipos de datos: > Por completar este hilo, añadir que acaba de salir la nueva versión de postgresql 8.3 en la que ya existe el tipo UUID. No han implementado ninguna función generadora de uuids tal como tiene mysql u oracle, pero es posible añadirle una extensión que lo haga. Desde python, lo mejor es usar el módulo uuid para generarlos. Además, la versión 8.3 de postgresql emplea ya la librería 2.5 de python para el PL/Python. From xinxic en gmail.com Mon Feb 4 21:27:51 2008 From: xinxic en gmail.com (Xin) Date: Mon Feb 4 21:28:14 2008 Subject: [Python-es] sys.path In-Reply-To: <2c9fb0dd0802040144k4511b968t4174720ee238f3fa@mail.gmail.com> References: <2c9fb0dd0802040144k4511b968t4174720ee238f3fa@mail.gmail.com> Message-ID: <9DC4656A-AA12-4C52-B41E-3922C35AFEBC@gmail.com> Gràcias, La opción que me dices, la conocia. Pero veo que por ejemplo el: ipython-0.8.2-py2.5.egg, el numpy-1.0.4- py2.5-macosx-10.5-ppc.egg, etc instalados con easy_install no tienen el fitchero ".pth" asociado. Así que he pensado que debe haver algun lugar (algun fichero) donde introducir estos paths. Xin El 04/02/2008, a las 10:44, Chema Cortes escribió: > El 2008/2/3, Xin escribió: > >> Quisiera saber donde quedan definidos los path del sys.path, pués me >> acabo de copiar el matplotlib en el site-packages con egg i no me lo >> carga directamente. >> >> Tengo que añadir el path directamente o en la variables PYTHONPATH de >> mi usuario. >> >> Però yo quiero que siempre esté disponible para todos los usuarios. >> Hay algun fichero donde añadir este path? > > Normalmente, los ficheros egg se instalan como si fueran "paquetes", > añadiendo un fichero .pth con la ruta al fichero egg/zip o al > directorio. > > Añade un fichero en texto plano al site-packages llamado, por ejemplo, > "matplotlib.pth" con una sóla línea indicando la ruta al fichero egg, > por ejemplo "matplotlib.egg" > > Revisa la documentación de python donde se explica la instalación de > paquetes. > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes From pych3m4 en gmail.com Tue Feb 5 00:34:36 2008 From: pych3m4 en gmail.com (Chema Cortes) Date: Tue Feb 5 00:34:43 2008 Subject: [Python-es] sys.path In-Reply-To: <9DC4656A-AA12-4C52-B41E-3922C35AFEBC@gmail.com> References: <2c9fb0dd0802040144k4511b968t4174720ee238f3fa@mail.gmail.com> <9DC4656A-AA12-4C52-B41E-3922C35AFEBC@gmail.com> Message-ID: <2c9fb0dd0802041534s477c71fcr1c577e339c1104ab@mail.gmail.com> El 4/02/08, Xin escribió: > Gràcias, > > La opción que me dices, la conocia. > Pero veo que por ejemplo el: ipython-0.8.2-py2.5.egg, el numpy-1.0.4- > py2.5-macosx-10.5-ppc.egg, etc instalados con easy_install no tienen > el fitchero ".pth" asociado. Así que he pensado que debe haver algun > lugar (algun fichero) donde introducir estos paths. No es obligatorio que el fichero .pth tenga el mismo nombre que el paquete. El easy_install utiliza el fichero easy-install.pth para añadir las rutas de cada paquete que instala (junto con algunas líneas con código "hack"). From judaz100 en hotmail.com Tue Feb 5 00:46:57 2008 From: judaz100 en hotmail.com (Juan Osorio Gonzalez) Date: Tue Feb 5 00:47:04 2008 Subject: [Python-es] Re: Dudas sobre Python II In-Reply-To: <01bd01c86731$44546860$ba03a8c0@GUS> References: <98685fc90801310442g10e94a80w802a0b473c02cd76@mail.gmail.com><84kdq3969177h47mokednk07mq422g4sqp@4ax.com> <01bd01c86731$44546860$ba03a8c0@GUS> Message-ID: -----Fight back spam! Download the Blue Frog.http://www.bluesecurity.com/register/s?user=anVkYW81MzUz> From: g.ces@pettra.es> To: python-es@aditel.org> Subject: Re: [Python-es] Re: Dudas sobre Python II> Date: Mon, 4 Feb 2008 14:24:26 +0100> > Saludos Juan,> > ya que estamos, ¿ quieres decir que haces la simulación multiagente con > el motor de juegos? ¿ o que usas el motor para "crear el escenario" y > programas los agentes por otro lado?> > Gus > Realizamos los agentes y los entornos y con blender complementamos el algoritmo cooperativo _________________________________________________________________ MSN Noticias http://noticias.msn.es/comunidad.aspx From jaidafuerte en gmail.com Tue Feb 5 00:54:40 2008 From: jaidafuerte en gmail.com (jaimedavid villafuerte) Date: Tue Feb 5 00:54:50 2008 Subject: =?ISO-8859-1?Q?Re:_[Python-es]_bibliograf=EDa?= =?ISO-8859-1?Q?_sobre_programaci=F3n_en_Python?= In-Reply-To: <47A63E74.9020503@web.de> References: <47A63E74.9020503@web.de> Message-ID: >ni por el inglés, ni por la programación, sino más bien por las >matemáticas de todas formas hay un libro en español( la traduccion de how to think like a computer scientist): http://gulix.cl/presentacion/aprenda_a_pensar_como_un_programador_con_python.pdf El día 3/02/08, Pablo Rodríguez escribió: > > Hola a todos, > > me gustaría poder aprender a programar en Python. No sé programar y mi > formación es en humanidades. > > Me gustaría encontrar un libro lo suficientemente bueno que empiece > desde lo más básico y que me permita programar al acabarlo (no para > hacer grandes cosas, pero sí con fundamentos sólidos para poder escribir > programas yo sólo y poder modificar o contribuir a programas ajenos). > > No es necesario, pero si está impreso mejor. Yo empecé con "A Byte of > Python", pero es un poco aburrido y entiendo que demasiado lento. (A lo > mejor también yo tengo que cambiar de actitud.) Con "How to Think Like a > Computer Scientist: Learning with Python" empecé bien, pero como los > ejemplos eran fundamentalmente matemáticos hubo un momento en que ya me > perdí (ni por el inglés, ni por la programación, sino más bien por las > matemáticas). > > En fin, ¿alguien tiene una buena referencia para aprender Python con las > características que he señalado? > > Gracias de antemano, > > > Pablo > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > From luis.ore.ori en gmail.com Tue Feb 5 13:26:18 2008 From: luis.ore.ori en gmail.com (Luis Orellana Orihuela) Date: Tue Feb 5 13:26:32 2008 Subject: [Python-es] problemas con sockets Message-ID: <526b12900802050426u56f818e7xe2731ae2f382143f@mail.gmail.com> Hola a la lista! hice un script de envío de sockets en Windows y funcionaba como esperaba. Al ejecutarlo en Linux sin embargo, me está dando problemas. El código que manda el socket es: s=socket(AF_INET,SOCK_STREAM) #creamos socket tipo TCP/IP try: s.connect((servidor,puerto)) # nos conectamos al servidor s.send(msg) # envia string msg s.close() # cerramos conexion except error: # si error capturamos excepcion print "\n Error al conectarnos al equipo "+servidor+"\n" Las prueba las hice con PCs apagados o que no escuchaban la espera de un socket para ver si me capturaba la excepción. En Windows no hubo problemas, me capturó todas las excepciones, en Linux, para algunas IPs se me quedaba colgado hasta que cancelaba la ejecución e indicándome que la ejecución se paró en la línea "s.connect((servidor,puerto))". ¿Alguien sabe a que se debe? Otra cosa que me gustaría saber es si es posible controlar el tiempo para establecer la conexión (tiempode respuesta del connect). Gracias! From cgalisteo en k-rolus.net Tue Feb 5 13:42:49 2008 From: cgalisteo en k-rolus.net (Carlos) Date: Tue Feb 5 13:42:55 2008 Subject: [Python-es] problemas con sockets In-Reply-To: <526b12900802050426u56f818e7xe2731ae2f382143f@mail.gmail.com> References: <526b12900802050426u56f818e7xe2731ae2f382143f@mail.gmail.com> Message-ID: On 2/5/08, Luis Orellana Orihuela wrote: > Otra cosa que me gustaría saber es si es posible controlar el tiempo para > establecer la conexión (tiempode respuesta del connect). Copio y pego de [1]: """ settimeout( value) Set a timeout on blocking socket operations. The value argument can be a nonnegative float expressing seconds, or None. If a float is given, subsequent socket operations will raise an timeout exception if the timeout period value has elapsed before the operation has completed. """ Nunca lo he probado, pero tiene pinta de ser justo lo que necesitas. Un saludo. [1]http://docs.python.org/lib/socket-objects.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 --- From acurro en wanadoo.es Tue Feb 5 15:59:07 2008 From: acurro en wanadoo.es (Alberto Curro) Date: Tue Feb 5 16:29:20 2008 Subject: [Python-es] [off-topic] =?iso-8859-15?q?Replicaci=F3n/sincronizaci=F3n_postgr?= =?iso-8859-15?q?esql?= Message-ID: <47A879BB.1080908@wanadoo.es> Buenas a todos, ¿alguien conoce algún sistema que me permita mantener sincronizadas dos o más bases de datos (proyectos y otros) que llevo en mi portátil, con el sistema servidor, con PostgreSQL? Idealmente, debería basarse en scripts para poder automatizarlo de quererlo en la conexión a la red. He echado un vistazo a los principales motores de replicación, de hecho la que más me sonaba era slony, pero no les veo las características necesarias para ello, de hecho por lo que he visto todos son master-esclavos pero orientados a equipos conectados permanentemente... A ver si hay alguien por aquí con experiencia en este sentido. Saludos, y perdón por el off-topic :) From marcos.alcazar en gmail.com Tue Feb 5 16:38:29 2008 From: marcos.alcazar en gmail.com (Marcos Alcazar) Date: Tue Feb 5 16:38:51 2008 Subject: =?ISO-8859-1?Q?Re:_[Python-es]_[off-topic]_Repl?= =?ISO-8859-1?Q?icaci=F3n/sincronizaci=F3n_postgresql?= In-Reply-To: <47A879BB.1080908@wanadoo.es> References: <47A879BB.1080908@wanadoo.es> Message-ID: A mi no me molesta este OT, porque es algo que me interesa bastante. Como no tengo internet en casa, tendria que sincronizar cada tanto mi bd local con una en el servidorcito que tengo. Recien estoy empezando la aplicacion, asiq no habia pensado en eso todavia. Cualquier noticia que tengas, ideas y soluciones, no te olvides de mi. Marcos 2008/2/5 Alberto Curro : > Buenas a todos, > > ¿alguien conoce algún sistema que me permita mantener sincronizadas > dos o más bases de datos (proyectos y otros) que llevo en mi portátil, > con el sistema servidor, con PostgreSQL? > > Idealmente, debería basarse en scripts para poder automatizarlo de > quererlo en la conexión a la red. > > He echado un vistazo a los principales motores de replicación, de > hecho la que más me sonaba era slony, pero no les veo las > características necesarias para ello, de hecho por lo que he visto todos > son master-esclavos pero orientados a equipos conectados > permanentemente... > > A ver si hay alguien por aquí con experiencia en este sentido. > > Saludos, y perdón por el off-topic :) > > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > From jjesus_915 en hotmail.com Tue Feb 5 16:44:37 2008 From: jjesus_915 en hotmail.com (Janiro Figueroa) Date: Tue Feb 5 16:44:47 2008 Subject: =?iso-8859-1?Q?RE:_[Python-es]_[off-topic]_Replicaci=F3n/sincronizaci=F3n?= =?iso-8859-1?Q?_postgresql?= In-Reply-To: References: <47A879BB.1080908@wanadoo.es> Message-ID: NO CONOSCO LA PROGRAMACION EN PAYTON.... > Date: Tue, 5 Feb 2008 13:38:29 -0200> From: marcos.alcazar@gmail.com> To: python-es@aditel.org> Subject: Re: [Python-es] [off-topic] Replicación/sincronización postgresql> > A mi no me molesta este OT, porque es algo que me interesa bastante. Como no> tengo internet en casa, tendria que sincronizar cada tanto mi bd local con> una en el servidorcito que tengo. Recien estoy empezando la aplicacion, asiq> no habia pensado en eso todavia.> Cualquier noticia que tengas, ideas y soluciones, no te olvides de mi.> > Marcos> > 2008/2/5 Alberto Curro :> > > Buenas a todos,> >> > ¿alguien conoce algún sistema que me permita mantener sincronizadas> > dos o más bases de datos (proyectos y otros) que llevo en mi portátil,> > con el sistema servidor, con PostgreSQL?> >> > Idealmente, debería basarse en scripts para poder automatizarlo de> > quererlo en la conexión a la red.> >> > He echado un vistazo a los principales motores de replicación, de> > hecho la que más me sonaba era slony, pero no les veo las> > características necesarias para ello, de hecho por lo que he visto todos> > son master-esclavos pero orientados a equipos conectados> > permanentemente...> >> > A ver si hay alguien por aquí con experiencia en este sentido.> >> > Saludos, y perdón por el off-topic :)> >> >> > _______________________________________________> > 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 _________________________________________________________________ Explore the seven wonders of the world http://search.msn.com/results.aspx?q=7+wonders+world&mkt=en-US&form=QBRE From francofuji en gmail.com Tue Feb 5 17:11:35 2008 From: francofuji en gmail.com (Francisco Perez) Date: Tue Feb 5 17:11:44 2008 Subject: [Python-es] Implementando patron Singleton para app Web Message-ID: <30fdaa240802050811r4327ad16k4839898248a37b48@mail.gmail.com> Hola lista: Como podria implementar el patron Singleton en Python para manejar las conecciones a la BD en una app Web? Algun ejemplito basico. Saludos. From inf200651 en ucf.edu.cu Tue Feb 5 18:31:23 2008 From: inf200651 en ucf.edu.cu (inf200651@ucf.edu.cu) Date: Tue Feb 5 18:52:31 2008 Subject: [Python-es] Como encontrar un software de python profesional Message-ID: <1705.10.14.17.136.1202232683.squirrel@correo.ucf.edu.cu> Hola a todos quisera ver el codigo de un programa realizado en python para tomarlo como ejemplo y compararlo con c++ lenguaje en el que programo como estudiante, preferiblemente una aplicacion visual, gracias, Roger... ------------------------------ Participe en Universidad 2008 11 al 15 de febrero del 2008 Palacio de las Convenciones, Ciudad de la Habana, Cuba http://www.universidad2008.cu From pych3m4 en gmail.com Tue Feb 5 19:55:04 2008 From: pych3m4 en gmail.com (Chema Cortes) Date: Tue Feb 5 19:55:15 2008 Subject: =?ISO-8859-1?Q?Re:_[Python-es]_[off-topic]_Repl?= =?ISO-8859-1?Q?icaci=F3n/sincronizaci=F3n_postgresql?= In-Reply-To: <47A879BB.1080908@wanadoo.es> References: <47A879BB.1080908@wanadoo.es> Message-ID: <2c9fb0dd0802051055h2d55bae3wdc8bb27f61617a0a@mail.gmail.com> El 5/02/08, Alberto Curro escribió: > ¿alguien conoce algún sistema que me permita mantener sincronizadas > dos o más bases de datos (proyectos y otros) que llevo en mi portátil, > con el sistema servidor, con PostgreSQL? > > Idealmente, debería basarse en scripts para poder automatizarlo de > quererlo en la conexión a la red. Supongo que la combinación pg_dump/pg_restore no te sirve. Mírate entonces el bucardo (http://bucardo.org), un "Asynchronous Multimaster Replication" hecho en perl. > He echado un vistazo a los principales motores de replicación, de > hecho la que más me sonaba era slony, pero no les veo las > características necesarias para ello, de hecho por lo que he visto todos > son master-esclavos pero orientados a equipos conectados permanentemente... Yo me suelo montar algunos scripts con kettle (PDI-Petaho Data Integration) para pasar datos entre las bases de producción (oracle,informix) y la de desarrollo (postgres), así como para generar ficheros de distribuición (csv, excel, mdb, etc). Facilita la automatización de tareas tales como la actualización de "tablas con dimensiones de cambio lento", que suelen ser así las tablas donde se guardan los avances de un proyecto, con el timestamp de la actualización como dimensión de cambio (http://kettle.pentaho.com). Y si te lo puedes permitir, tienes una solución de pago: EMS Data Comparer From marcos.alcazar en gmail.com Tue Feb 5 20:24:43 2008 From: marcos.alcazar en gmail.com (Marcos Alcazar) Date: Tue Feb 5 20:25:13 2008 Subject: [Python-es] Implementando patron Singleton para app Web In-Reply-To: <30fdaa240802050811r4327ad16k4839898248a37b48@mail.gmail.com> References: <30fdaa240802050811r4327ad16k4839898248a37b48@mail.gmail.com> Message-ID: Lo que yo hago es lo siguiente. Utilizo SQLAlchemy... class AsistenteSQLAlchemy: class __impl: def spam(self): return id(self) __instancia = None def __init__(self): if AsistenteSQLAlchemy.__instancia is None: AsistenteSQLAlchemy.__instancia = AsistenteSQLAlchemy.__impl() metadata = MetaData() usuarios_tabla = Table ( 'usuarios' , metadata , Column('usuario_id' , Integer , primary_key=True), Column('usuario_nombre', String(16) , nullable=False ) mapper(Usuario, usuarios_tabla ) self.__dict__['_AsistenteSQLAlchemy__instancia'] = AsistenteSQLAlchemy.__instancia def getSession(self,usuario,contras): engine = create_engine('postgres://' + usuario + ':' + contras + '@localhost:5432/bd' ) #connection = engine.connect() Session = sessionmaker(bind=engine, autoflush=True, transactional=True) session = Session() return session def __getattr__(self, attr): """ Delegate access to implementation """ return getattr(self.__instancia, attr) def __setattr__(self, attr, value): """ Delegate access to implementation """ return setattr(self.__instancia, attr, value) ### Y de paso si alguien ve algun error y quiere correjirme, seria excelente... Ademas, aclaro que es mi primer aporte, de aca para atras en el tiempo lo unico que he hecho es molestar con preguntas :) 2008/2/5 Francisco Perez : > Hola lista: > Como podria implementar el patron Singleton en Python para manejar las > conecciones a la BD en una app Web? Algun ejemplito basico. > > Saludos. > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > From marcos.alcazar en gmail.com Tue Feb 5 20:30:14 2008 From: marcos.alcazar en gmail.com (Marcos Alcazar) Date: Tue Feb 5 20:30:44 2008 Subject: =?ISO-8859-1?Q?Re:_[Python-es]_[off-topic]_Repl?= =?ISO-8859-1?Q?icaci=F3n/sincronizaci=F3n_postgresql?= In-Reply-To: <2c9fb0dd0802051055h2d55bae3wdc8bb27f61617a0a@mail.gmail.com> References: <47A879BB.1080908@wanadoo.es> <2c9fb0dd0802051055h2d55bae3wdc8bb27f61617a0a@mail.gmail.com> Message-ID: No se si en todo lo que explicaste esta contemplado, pero mi idea es que ambas bases ( la del server y la mia) esten funcionales. En las dos se estarian guardando datos paralelamente. Se que esto no es algo bueno, pero es lo que tenia en mente. Que opinan de esto? PD: herramienta paga no creo, esta idea la tengo porque no puedo pagarme internet... asiq el servidor lo voy a poner en otro lugar, robandoles ancho de banda :) Marcos 2008/2/5 Chema Cortes : > El 5/02/08, Alberto Curro escribió: > > > ¿alguien conoce algún sistema que me permita mantener sincronizadas > > dos o más bases de datos (proyectos y otros) que llevo en mi portátil, > > con el sistema servidor, con PostgreSQL? > > > > Idealmente, debería basarse en scripts para poder automatizarlo de > > quererlo en la conexión a la red. > > Supongo que la combinación pg_dump/pg_restore no te sirve. Mírate > entonces el bucardo (http://bucardo.org), un "Asynchronous Multimaster > Replication" hecho en perl. > > > > He echado un vistazo a los principales motores de replicación, de > > hecho la que más me sonaba era slony, pero no les veo las > > características necesarias para ello, de hecho por lo que he visto todos > > son master-esclavos pero orientados a equipos conectados > permanentemente... > > Yo me suelo montar algunos scripts con kettle (PDI-Petaho Data > Integration) para pasar datos entre las bases de producción > (oracle,informix) y la de desarrollo (postgres), así como para generar > ficheros de distribuición (csv, excel, mdb, etc). Facilita la > automatización de tareas tales como la actualización de "tablas con > dimensiones de cambio lento", que suelen ser así las tablas donde se > guardan los avances de un proyecto, con el timestamp de la > actualización como dimensión de cambio (http://kettle.pentaho.com). > > Y si te lo puedes permitir, tienes una solución de pago: EMS Data > Comparer > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > From francisco.palm en gmail.com Tue Feb 5 20:31:36 2008 From: francisco.palm en gmail.com (Francisco Palm) Date: Tue Feb 5 20:31:42 2008 Subject: [Python-es] Como encontrar un software de python profesional In-Reply-To: <1705.10.14.17.136.1202232683.squirrel@correo.ucf.edu.cu> References: <1705.10.14.17.136.1202232683.squirrel@correo.ucf.edu.cu> Message-ID: Primero tienes que definir claramente el término "profesional". Que un programa tenga ventanitas y botones y se conecte con una base de datos no asegura para nada que sea profesional. Por acá puedes constatar el tipo de aplicaciones que se pueden hacer con python. http://www.python.org/about/success/ Y además quedar con la seguridad que mucha gente que lo usa no lo reporta. De hecho, hay muchas empresas que ocultan el uso de Python porque lo consideran una ventaja competitiva de la que es mejor no informar. Saludos F. Palm El 6/02/08, inf200651@ucf.edu.cu escribió: > > > Hola a todos quisera ver el codigo de un programa realizado en python para tomarlo como > ejemplo y compararlo con c++ lenguaje en el que programo como estudiante, > preferiblemente una aplicacion visual, gracias, Roger... > > > ------------------------------ > Participe en Universidad 2008 > 11 al 15 de febrero del 2008 > Palacio de las Convenciones, > Ciudad de la Habana, Cuba > http://www.universidad2008.cu > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- -------------------------------------- fpalm@ula.ve francisco.palm@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. From zootv.groups en gmail.com Tue Feb 5 21:48:14 2008 From: zootv.groups en gmail.com (ZooTV Groups) Date: Tue Feb 5 21:48:23 2008 Subject: [Python-es] Setear fecha en datePickerCtrl Message-ID: Hola a todos en la lista. Estoy trabajando en una aplicación python con wxWindows, utilizo el Boa con GUI y tengo el siguiente problema: Para el manejo de fechas, utilizo el control datePickerCtrl, con el cual en la interfaz me aparece un campo con la fecha actual y si presiono al costado, me abre una ventana con un calendario para seleccionar una fecha distinta. El tema es que necesito setear ese control con una fecha distinta a la actual, para ello, tengo el siguiente código: self.datePickerCtrl1.SetValue() Ahora bien, mi problema es que no logro dar con el formato para que el control tome como un valor válido. Si utilizo self.datePickerCtrl1.SetValue(wx.DateTime.Today()) funciona bien. Entonces, creo que lo que me falta es dar con algún proceso para convertir cualquier fecha a un formato que me acepte el datePicker. Gracias de antemano. From acurro en wanadoo.es Tue Feb 5 22:46:53 2008 From: acurro en wanadoo.es (Alberto Curro) Date: Tue Feb 5 23:17:05 2008 Subject: [Python-es] [off-topic] =?ISO-8859-1?Q?Replicaci=F3n/sincron?= =?ISO-8859-1?Q?izaci=F3n_postgresql?= In-Reply-To: <2c9fb0dd0802051055h2d55bae3wdc8bb27f61617a0a@mail.gmail.com> References: <47A879BB.1080908@wanadoo.es> <2c9fb0dd0802051055h2d55bae3wdc8bb27f61617a0a@mail.gmail.com> Message-ID: <47A8D94D.6040207@wanadoo.es> Chema Cortes escribió: > El 5/02/08, Alberto Curro escribió: > > >> ¿alguien conoce algún sistema que me permita mantener sincronizadas >> dos o más bases de datos (proyectos y otros) que llevo en mi portátil, >> con el sistema servidor, con PostgreSQL? >> >> Idealmente, debería basarse en scripts para poder automatizarlo de >> quererlo en la conexión a la red. >> > > Supongo que la combinación pg_dump/pg_restore no te sirve. Mírate > entonces el bucardo (http://bucardo.org), un "Asynchronous Multimaster > Replication" hecho en perl. > Hola Chema, He pensado precisamente en una combinación similar. El problema es que quiero replicar en ambos sentidos la base de datos, dado que hay datos distintos (probabilidad, alta) en ambas bases de datos, y quiero que tras la sincronización ambas bases de datos queden de la misma forma. Como verás, más que una replicación es una sincronización, una forma muy similar a una sincronización estacion <-> disco usb. No estoy hablando de bases de datos temporales o sólo de proyectos o en desarrollo. Si voy a trabajar sobre ello y dedicarle tiempo, quiero hacerlo para bases de datos en producción y con datos reales... sólo por poner un ejemplo, quiero aplicarlo a soluciones con AbanQ que ya tengo funcionando, para los portátiles de los comerciales (por ejemplo). Basándome en esto, pensé en una solución. No tengo mucha experiencia en Python, pero me parece que si algo le iría como un guante, sería esto. La idea en rasgos generales es la siguiete : - Tenemos la fecha de la última replicación (se habrá guardado, bien en fichero llave, bien en un registro sqlite o el contenedor deseado). Si no hay fecha, entonces se parte desde el principio. - Dada esa fecha, obtenemos los datos de ambas bases de datos a partir de los datos contenidos en las tablas de sistema del catálogo. - Diff entre ambos grupos de elementos. - El diff resultante a uno y otro lado arroja los registros nuevos para cada par, y los cambiados. ¿Problemas inherentes a este diseño? 1) El diff debe aplicarse teniendo en cuenta que trabajamos con registros. Esto es, no me vale una salida diff estándar, sino que debe tener en cuenta que trabajamos con registros, y obtener los nuevos de uno u otro lado (que se aplicarán en el lado contrario mediante INSERT) y los registros que han cambiado, que se aplicarán en ambos lados mediante UPDATE... es un ejemplo general, eh? 2) Si tenemos demasiados datos, el diff sobre ellos podría hacer que la cpu se disparase durante el diff de registros. Aunque... ¿qué se consideran demasiados datos para una máquina de potencia media actual? (pongamos, Athlon XP, 512MB RAM). 3) Ambas bases de datos han de estar bloqueadas al resto de usuarios durante el proceso (no creo que sea difícil, supongo que PostgreSQL dispone de funcionalidad para ello). Prometo que me lo he pensado y diseñado más a fondo pero estoy respondiendo de cabeza y escribiendo lo que recuerdo :) ¿Ideas? ¿Pros? ¿Contras? Seguro que mi deficitario conocimiento a bajo nivel de postgresql hace que esta idea no sea muy buena y muy mejorable ;) Saludos From sendero.luminoso en gmail.com Wed Feb 6 00:05:02 2008 From: sendero.luminoso en gmail.com (ivan obeso) Date: Wed Feb 6 00:05:10 2008 Subject: [Python-es] Pregunta sobre herramientas de pruebas unitarias y ORMs Message-ID: <38f547470802051505l6616e8ebtca4d5f0ac039bec9@mail.gmail.com> Hola buenas. Mi pregunta es si conoceis algún módulo o herramienta de pruebas unitarias en Python que no sea PyUnit. Por otra parte, ¿Conoceis algun ORM sencillo de manejar en python? Muchas gracias. From maengora en gmail.com Wed Feb 6 00:38:39 2008 From: maengora en gmail.com (=?ISO-8859-1?Q?Manuel_Enrique_Gonz=E1lez_Ram=EDrez?=) Date: Wed Feb 6 00:38:47 2008 Subject: [Python-es] Deshabilitar Control+F4 In-Reply-To: <47A730D8.1000008@soft-com.es> References: <47A730D8.1000008@soft-com.es> Message-ID: Que pena, utilizo wx con el VisualWx como GUI. El día 4/02/08, Oswaldo Hernández escribió: > > Manuel Enrique González Ramírez escribió: > > Hola a tod@s. > > > > Mi pregunta es la siguiente: > > Necesito deshabilitar la combinación de teclas Control+F4 para evitar > que el > > usuario cierre un formulario (en win2) con dichas teclas. > > > > Ya he visto algo sobre deshabilitar la tecla ESC pero aún no s cómo > funciona > > con la combinación de teclas. > > > > No dices que libreria grafica utilizas, pero de todas formas Ctrl+F4 > provoca un close de la ventana > activa, puedes capturar el evento y cancelar el cierre. > > Saludos, > > -- > ***************************************** > Oswaldo Hernández > oswaldo (@) soft-com (.) es > ***************************************** > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > From markuz en islascruz.org Wed Feb 6 01:08:16 2008 From: markuz en islascruz.org (Marco Antonio Islas Cruz) Date: Wed Feb 6 01:08:23 2008 Subject: [Python-es] Deshabilitar Control+F4 In-Reply-To: References: <47A730D8.1000008@soft-com.es> Message-ID: <1202256496.6786.6.camel@cucusa> en Gtk capturas el 'delete-event', veo que usas wx, puede que tenga un evento similar, la verdad, no se, pero es mejor cachar el evento que bloquear teclas, en otro manejador de ventanas diferente al tuyo tal vez no se use Control+F4 sino Alt+F4 o Meta+FX, no se... saludos On Tue, 2008-02-05 at 18:38 -0500, Manuel Enrique González Ramírez wrote: > Que pena, utilizo wx con el VisualWx como GUI. > > El día 4/02/08, Oswaldo Hernández escribió: > > > > Manuel Enrique González Ramírez escribió: > > > Hola a tod@s. > > > > > > Mi pregunta es la siguiente: > > > Necesito deshabilitar la combinación de teclas Control+F4 para evitar > > que el > > > usuario cierre un formulario (en win2) con dichas teclas. > > > > > > Ya he visto algo sobre deshabilitar la tecla ESC pero aún no s cómo > > funciona > > > con la combinación de teclas. > > > > > > > No dices que libreria grafica utilizas, pero de todas formas Ctrl+F4 > > provoca un close de la ventana > > activa, puedes capturar el evento y cancelar el cierre. > > > > Saludos, > > > > -- > > ***************************************** > > Oswaldo Hernández > > oswaldo (@) soft-com (.) 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 -- <--Linux... Because I'm Free--> Marco Antonio Islas Cruz "Markuz" Linux User #280229 markuz@islascruz.org markuz@unixmexico.org markuz@linuxpozarica.com marco.islas@gmail.com islacruz@yahoo.com http://www.islascruz.org http://sourceforge.net/projects/gpkg/ http://www.linuxpozarica.com ------------ próxima parte ------------ Se ha borrado un mensaje que no está en formato texto plano... Nombre : no disponible Tipo : application/pgp-signature Tamaño : 189 bytes Descripción: This is a digitally signed message part Url : /archivos/python-es/attachments/20080205/da109e58/attachment.pgp From kikecalpe en gmail.com Wed Feb 6 01:43:25 2008 From: kikecalpe en gmail.com (Kike Cabrera) Date: Wed Feb 6 01:43:38 2008 Subject: [Python-es] duda sobre listas por comprension o listas autodefinidas o como se llamen Message-ID: <14ecb63c0802051643s19f5cf2bid3eab68d40e96d96@mail.gmail.com> tengo una duda sobre listas por comprension, como se las llama en dive into python, o listas autodefinidas como se las llama en el manual de guido mi gran duda es que no termino de dar con la formula para aprovecharlas en lo que necesito, ¿conoceis algun sitio donde esten mejor documentadas? un ejemplo de lo que necesito: >>> lista = ['1','x'] >>> combinacion = [(a,b,c) for a in lista for b in lista for c in lista] >>> combinacion [('1', '1', '1'), ('1', '1', 'x'), ('1', 'x', '1'), ('1', 'x', 'x'), ('x', '1', '1'), ('x', '1', 'x'), ('x', 'x', '1'), ('x', 'x', 'x')] lo que ahora necesito y no se como hacer (he supuesto que con este tipo de listas se tiene que poder): combinacion1 == [('1','1','1'),('x','x','x')] combinacion2 == [('1','1','x'),('x','x','1')] combinacion3 == [('1','x','1'),('x','1','x')] combinacion4 == [('1','x','x'),('x','1','1')] esta combinacion solo tiene ocho tuplas, pero podria haber combinaciones de muchas mas tuplas, y podria haber tuplas con mas de tres elementos, eso si, en una combinacion dada todas las tuplas tienen la misma cantidad de elementos. el objetivo es conseguir agrupar las tuplas de forma que todas las del mismo grupo se diferencian entre si en al menos tres elementos, el numero de grupos esta determinado. para conseguir el proposito tengo una funcion que compara dos tuplas y me devuelve el numero de diferencias, luego intenté otra funcion para agrupar las tuplas, pero no resultaba, y apaño tras apaño acababa asustando y tampoco cumplia. estoy convencido de que se tiene que poder hacer lo que necesito con listas autodefinidas de forma sencilla. ¿algun consejo? ¡¡gracias por adelantado!! From minoztro en gmail.com Wed Feb 6 02:06:58 2008 From: minoztro en gmail.com (Milton Galo Patricio Inostroza Aguilera) Date: Wed Feb 6 02:07:05 2008 Subject: =?ISO-8859-1?Q?Re:_[Python-es]_[off-topic]_Repl?= =?ISO-8859-1?Q?icaci=F3n/sincronizaci=F3n_postgresql?= In-Reply-To: <47A879BB.1080908@wanadoo.es> References: <47A879BB.1080908@wanadoo.es> Message-ID: <172699c50802051706n24ef1be3l40794224a5669d59@mail.gmail.com> El 5/02/08, Alberto Curro escribió: > Buenas a todos, > > ¿alguien conoce algún sistema que me permita mantener sincronizadas > dos o más bases de datos (proyectos y otros) que llevo en mi portátil, > con el sistema servidor, con PostgreSQL? Nosotros utilizamos db-link del contrib de postgresql y todo va muy bien...a través de las functions/procedures y triggers verificamos en que parte no se ha respaldado y se procede a respaldar la información > > Idealmente, debería basarse en scripts para poder automatizarlo de > quererlo en la conexión a la red. > > He echado un vistazo a los principales motores de replicación, de > hecho la que más me sonaba era slony, pero no les veo las > características necesarias para ello, de hecho por lo que he visto todos > son master-esclavos pero orientados a equipos conectados permanentemente... > > A ver si hay alguien por aquí con experiencia en este sentido. > > Saludos, y perdón por el off-topic :) > > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Milton Inostroza Aguilera From py en ch3m4.org Wed Feb 6 02:31:32 2008 From: py en ch3m4.org (Chema Cortes) Date: Wed Feb 6 02:34:09 2008 Subject: [Python-es] [off-topic] =?iso-8859-1?q?Replicaci=F3n/sincronizaci=F3n?= postgresql In-Reply-To: <47A8D94D.6040207@wanadoo.es> References: <47A879BB.1080908@wanadoo.es> <2c9fb0dd0802051055h2d55bae3wdc8bb27f61617a0a@mail.gmail.com> <47A8D94D.6040207@wanadoo.es> Message-ID: <200802060231.38561.py@ch3m4.org> El Tuesday 05 February 2008 22:46:53 Alberto Curro escribió: > No estoy hablando de bases de datos temporales o sólo de proyectos o en > desarrollo. Si voy a trabajar sobre ello y dedicarle tiempo, quiero > hacerlo para bases de datos en producción y con datos reales... sólo por > poner un ejemplo, quiero aplicarlo a soluciones con AbanQ que ya tengo > funcionando, para los portátiles de los comerciales (por ejemplo). > > Basándome en esto, pensé en una solución. No tengo mucha experiencia en > Python, pero me parece que si algo le iría como un guante, sería esto. > La idea en rasgos generales es la siguiete : > >[...] Desde que conozco postgres, he oído varios intentos sin éxito de hacer lo mismo que pretendes para sincronización de dos bases de datos arbitrarias. El problema es que resulta tremendamente dependiente del diseño. Borrar un objeto (tabla, registro, base) puede desencadenar una cascada de acciones, disparando triggers y provocando la activación de diversas reglas (rules), hasta tal extremo que se puede afirmar que borrar un registro para luego volver a insertarlo nunca asegura que se vaya a quedar la base de datos tal como estaba en un principio. Por éso la alternativa pasa por repetir las mismas operaciones secuencialmente en todos los servidores, de modo síncrono o asíncrono. Tu caso sería asíncrono, con lo que bucardo te podría funcionar. Bucardo instala un daemon que comunica al resto de masters que se ha producido un cambio para que se actualicen cuando puedan. Pero tu caso podría ser más simple: bastaría con crear "rules" que vayan guardando las actualizaciones en tablas deltas, de donde un sencillo script realizaría la sincronización de los masters bajo demanda. El único problema es que estas tablas delta crecen enormemente, por lo que tendrás que implementar algún mecanismo de contención. Tendrás que diseñar tu base de datos pensando en la sincronización, y no al revés. > 3) Ambas bases de datos han de estar bloqueadas al resto de usuarios > durante el proceso (no creo que sea difícil, supongo que PostgreSQL > dispone de funcionalidad para ello). Comando LOCK, para bloquear tablas, y asignando roles de grupo para todo lo demás. ------------ próxima parte ------------ Se ha borrado un mensaje que no está en formato texto plano... Nombre : no disponible Tipo : application/pgp-signature Tamaño : 189 bytes Descripción: This is a digitally signed message part. Url : /archivos/python-es/attachments/20080206/27a898e7/attachment.pgp From francisco.palm en gmail.com Wed Feb 6 03:14:26 2008 From: francisco.palm en gmail.com (Francisco Palm) Date: Wed Feb 6 03:14:36 2008 Subject: [Python-es] Pregunta sobre herramientas de pruebas unitarias y ORMs In-Reply-To: <38f547470802051505l6616e8ebtca4d5f0ac039bec9@mail.gmail.com> References: <38f547470802051505l6616e8ebtca4d5f0ac039bec9@mail.gmail.com> Message-ID: Aquí tienes herramientas de testing para regalar: http://pycheesecake.org/wiki/PythonTestingToolsTaxonomy El único criterio válido es probar y usar. ORMs? todos son fáciles!!, para eso están hechos :-D Ya sea SQLObject (http://www.sqlobject.org/), SQLAlchemy (http://www.sqlalchemy.org/), Storm (https://storm.canonical.com/), AmiDB (http.//orangoo.com/labs/AmiNation/AmiDB/) o el que viene dentro de web2py (http://mdp.cti.depaul.edu/). Ah probar y disfrutar, cada cosa mejor que lo otra. Bienvenido al mundo Python! Saludos F. Palm 2008/2/6, ivan obeso : > Hola buenas. Mi pregunta es si conoceis algún módulo o herramienta de > pruebas unitarias en Python que no sea PyUnit. > Por otra parte, ¿Conoceis algun ORM sencillo de manejar en python? > > Muchas gracias. > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- -------------------------------------- fpalm@ula.ve francisco.palm@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. From py en ch3m4.org Wed Feb 6 03:22:46 2008 From: py en ch3m4.org (Chema Cortes) Date: Wed Feb 6 03:25:14 2008 Subject: [Python-es] duda sobre listas por comprension o listas autodefinidas o como se llamen In-Reply-To: <14ecb63c0802051643s19f5cf2bid3eab68d40e96d96@mail.gmail.com> References: <14ecb63c0802051643s19f5cf2bid3eab68d40e96d96@mail.gmail.com> Message-ID: <200802060322.47409.py@ch3m4.org> El Wednesday 06 February 2008 01:43:25 Kike Cabrera escribió: > tengo una duda sobre listas por comprension, como se las llama en dive into > pythonping_lists.html>, o listas autodefinidas como se las llama en el manual de > guido0000000000> mi gran duda es que no termino de dar con la formula para > aprovecharlas en lo que necesito, ¿conoceis algun sitio donde esten mejor > documentadas? > > un ejemplo de lo que necesito: > >>> lista = ['1','x'] > >>> combinacion = [(a,b,c) for a in lista for b in lista for c in lista] > >>> combinacion > > [('1', '1', '1'), ('1', '1', 'x'), ('1', 'x', '1'), ('1', 'x', 'x'), ('x', > '1', '1'), ('x', '1', 'x'), ('x', 'x', '1'), ('x', 'x', 'x')] > lo que ahora necesito y no se como hacer (he supuesto que con este tipo de > listas se tiene que poder): > combinacion1 == [('1','1','1'),('x','x','x')] > combinacion2 == [('1','1','x'),('x','x','1')] > combinacion3 == [('1','x','1'),('x','1','x')] > combinacion4 == [('1','x','x'),('x','1','1')] > >... > el objetivo es conseguir agrupar las tuplas de forma que todas las del > mismo grupo se diferencian entre si en al menos tres elementos, el numero > de grupos esta determinado. Por ejemplo, para calcular el número de diferencias entre dos tuplas: def ndiff(a,b): return sum(1 for (i,j) in zip(a,b) if i<>j) En cuanto a agrupar tuplas según el número de diferencias entre sí, no es una propiedad "transitiva", luego no es posible crear equivalencias. ¿Estás seguro de que es lo que buscas? Con esta reserva, podría ser algo así: L0=['1','x'] listas=[(a,b,c) for a in L0 for b in L0 for c in L0] combinaciones=[(x,y) for x in L for y in L if ndiff(x,y)>=3] From sendero.luminoso en gmail.com Wed Feb 6 04:13:17 2008 From: sendero.luminoso en gmail.com (ivan obeso) Date: Wed Feb 6 04:13:27 2008 Subject: [Python-es] Pregunta sobre herramientas de pruebas unitarias y ORMs In-Reply-To: References: <38f547470802051505l6616e8ebtca4d5f0ac039bec9@mail.gmail.com> Message-ID: <38f547470802051913v28163cd7oee0852edaa23d77b@mail.gmail.com> Muchas gracias, me acabas de salvar la vida. 2008/2/6 Francisco Palm : > Aquí tienes herramientas de testing para regalar: > http://pycheesecake.org/wiki/PythonTestingToolsTaxonomy > > El único criterio válido es probar y usar. > > ORMs? todos son fáciles!!, para eso están hechos :-D > > Ya sea SQLObject (http://www.sqlobject.org/), SQLAlchemy > (http://www.sqlalchemy.org/), Storm (https://storm.canonical.com/), > AmiDB (http.//orangoo.com/labs/AmiNation/AmiDB/) o el que viene dentro > de web2py (http://mdp.cti.depaul.edu/). > > Ah probar y disfrutar, cada cosa mejor que lo otra. Bienvenido al mundo > Python! > > Saludos > > F. Palm > > 2008/2/6, ivan obeso : > > Hola buenas. Mi pregunta es si conoceis algún módulo o herramienta de > > pruebas unitarias en Python que no sea PyUnit. > > Por otra parte, ¿Conoceis algun ORM sencillo de manejar en python? > > > > Muchas gracias. > > _______________________________________________ > > Lista de correo Python-es > > http://listas.aditel.org/listinfo/python-es > > FAQ: http://listas.aditel.org/faqpyes > > > > > -- > -------------------------------------- > fpalm@ula.ve > francisco.palm@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 francisco.palm en gmail.com Wed Feb 6 04:30:08 2008 From: francisco.palm en gmail.com (Francisco Palm) Date: Wed Feb 6 04:30:15 2008 Subject: [Python-es] duda sobre listas por comprension o listas autodefinidas o como se llamen In-Reply-To: <200802060322.47409.py@ch3m4.org> References: <14ecb63c0802051643s19f5cf2bid3eab68d40e96d96@mail.gmail.com> <200802060322.47409.py@ch3m4.org> Message-ID: El 6/02/08, Chema Cortes escribió: > El Wednesday 06 February 2008 01:43:25 Kike Cabrera escribió: > > tengo una duda sobre listas por comprension, como se las llama en dive into > > python >ping_lists.html>, o listas autodefinidas como se las llama en el manual de > > guido >0000000000> mi gran duda es que no termino de dar con la formula para > > aprovecharlas en lo que necesito, ¿conoceis algun sitio donde esten mejor > > documentadas? > > > > un ejemplo de lo que necesito: > > >>> lista = ['1','x'] > > >>> combinacion = [(a,b,c) for a in lista for b in lista for c in lista] > > >>> combinacion > > > > [('1', '1', '1'), ('1', '1', 'x'), ('1', 'x', '1'), ('1', 'x', 'x'), ('x', > > '1', '1'), ('x', '1', 'x'), ('x', 'x', '1'), ('x', 'x', 'x')] > > lo que ahora necesito y no se como hacer (he supuesto que con este tipo de > > listas se tiene que poder): > > combinacion1 == [('1','1','1'),('x','x','x')] > > combinacion2 == [('1','1','x'),('x','x','1')] > > combinacion3 == [('1','x','1'),('x','1','x')] > > combinacion4 == [('1','x','x'),('x','1','1')] > > > >... > > el objetivo es conseguir agrupar las tuplas de forma que todas las del > > mismo grupo se diferencian entre si en al menos tres elementos, el numero > > de grupos esta determinado. > > Por ejemplo, para calcular el número de diferencias entre dos tuplas: > > def ndiff(a,b): > return sum(1 for (i,j) in zip(a,b) if i<>j) > > En cuanto a agrupar tuplas según el número de diferencias entre sí, no es una > propiedad "transitiva", luego no es posible crear equivalencias. ¿Estás > seguro de que es lo que buscas? > > > Con esta reserva, podría ser algo así: > > L0=['1','x'] > listas=[(a,b,c) for a in L0 for b in L0 for c in L0] > > combinaciones=[(x,y) for x in L for y in L if ndiff(x,y)>=3] > Y combinacion1 = list(combinaciones[0]) combinacion2 = list(combinaciones[1]) combinacion3 = list(combinaciones[2]) Y no te olvides darle a Chema 4.75 puntos por la tarea y a mí me das 0.25. Gracias! Saludos F. Palm -- -------------------------------------- fpalm@ula.ve francisco.palm@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. From maengora en gmail.com Wed Feb 6 04:37:17 2008 From: maengora en gmail.com (=?ISO-8859-1?Q?Manuel_Enrique_Gonz=E1lez_Ram=EDrez?=) Date: Wed Feb 6 04:37:28 2008 Subject: [Python-es] Imagenes y Mysql Message-ID: Y para aquellos que como yo, todo un novato en el cuento de la programación y de Python han sufrido con lo de las imagenes y el MySQL les tengo una luz de esperanza. A todos aquellos que enviaron a la lista diferentes soluciones se los agradezco mucho, sin embargo (y sin el ánimo de ofender) quizás no me supe explicar bien qué era y cómo era lo que necesitaba y aquí por medio de un ejemplo voy a tratar de explicarlo: ***Para tener en cuenta: Utilizo python2.5, wx y VisualWx sobre win2 (sin embargo me imagino que debe funcionar lo mismo para el maravilloso Linux). Esta es la situación: - Tengo una base de datos denominada prueba y una tabla llamada datos que cuenta con los campos documento, nombres, apellidos y foto. - Un formulario con tres StaticText (txt_doc, txt_noms, txt_apes) y un StaticBitmap (foto) * Lo que quiero hacer es que al digitar el documento de identidad en el formulario si éste ya existe muestre los datos así como también la foto que corresponde a dicho documento de identidad. -- Lo que hice: Cree la base de datos con los campos antes mencionados teniendo en cuenta que el campo foto es texto y sólo me va a almacenar el nombre de la foto (que para mi caso es el mismo que el doc con la extensión png). La foto se encuentra almacenada en una carpeta denominada prueba y la foto tiene como nombre el documento de identidad del individuo con las dimensiones a utilizar. Creo el código y en el txt_doc en el evento EVT_KILL_FOCUS verifico si el documento de identidad existe así como el campo foto y hago que se muestre la información incluyendo la foto. EL CODIGO..... **********MyFrame.py************* # -*- coding: iso-8859-1 -*- # Don't modify comment import wx #[inc]add your include files here import Image import MySQLdb as con db = con.connect(host='localhost',user='root',passwd='12345678',db='prueba') c = db.cursor() #[inc]end your include class MyFrame(wx.Frame): def __init__(self,parent,id = -1,title='',pos = wx.Point(1,1),size = wx.Size(495,245),style = wx.DEFAULT_FRAME_STYLE,name = 'frame'): pre=wx.PreFrame() self.OnPreCreate() pre.Create(parent,id,title,pos,size,style,name) self.PostCreate(pre) self.initBefore() self.VwXinit() self.initAfter() def __del__(self): self.Ddel() return def VwXinit(self): self.Show(False) self.SetFont(wx.Font(12,74,90,90,0,"Tahoma")) self.SetBackgroundColour(wx.SystemSettings.GetColour( wx.SYS_COLOUR_INFOBK)) self.Bind(wx.EVT_ACTIVATE,self.MostrarFotografia) self.st4c = wx.StaticText(self,-1,"",wx.Point(15,20),wx.Size(52,19), wx.ST_NO_AUTORESIZE) self.st4c.SetLabel("Cédula") self.txt_doc = wx.TextCtrl(self,-1,"",wx.Point(85,15),wx.Size (155,27)) self.st6c = wx.StaticText(self,-1,"",wx.Point(15,55),wx.Size(67,19), wx.ST_NO_AUTORESIZE) self.st6c.SetLabel("Nombres") self.txt_noms = wx.TextCtrl(self,-1,"",wx.Point(85,50),wx.Size (230,27)) self.st8c = wx.StaticText(self,-1,"",wx.Point(15,95),wx.Size(67,19), wx.ST_NO_AUTORESIZE) self.st8c.SetLabel("Apellidos") self.txt_apes = wx.TextCtrl(self,-1,"",wx.Point(85,90),wx.Size (230,27)) self.bt_guardar = wx.Button(self,-1,"",wx.Point(15,140),wx.Size (85,40)) self.bt_guardar.SetLabel("Guardar") self.Bind(wx.EVT_BUTTON,self.ver_ima,self.bt_guardar) self.bt_buscar = wx.Button(self,-1,"",wx.Point(105,140),wx.Size (95,40)) self.bt_buscar.SetLabel("Buscar") self.bt_cerrar = wx.Button(self,-1,"",wx.Point(205,140),wx.Size (90,40)) self.bt_cerrar.SetLabel("Cerrar") self.Bind(wx.EVT_BUTTON,self.cerrar,self.bt_cerrar) self.picture = wx.StaticBitmap(self,-1,wx.NullBitmap,wx.Point (330,10),wx.Size(145,160),wx.SIMPLE_BORDER) self.Refresh() return def VwXDelComp(self): return #[win]add your code here def ver_ima(self,event): #init function #[780]Code event VwX...Don't modify[780]# #add your code here #Tomo el valor del documento de identidad doc = self.txt_doc.GetValue() """Hago la consulta que me recupera (si es que existe) el campo denominado imagen con el documento de identidad"""" sql = c.execute('SELECT imagen FROM datos WHERE documento=%s',(doc)) res = c.fetchone() #Aquí se puede colocar un condicional para verificar que res sea <>None self.picture.SetFocus() """A la dirección 'C:/prueba/' (que es donde tengo almacenadas las fotos) le agruego el nombre del archivo que es el resultado de la consulta y que esta almacenado en res[0] self.picture.SetBitmap(wx.Bitmap('C:/prueba/'+str(res[0]))) """Increiblemente si el campo y el archivo existen se muestra la foto El resto del código es carpinteria""" return def cerrar(self,event): #init function #[ 93]Code event VwX...Don't modify[ 93]# #add your code here self.Close() return #end function def bt_cerrar_VwXEvOnButtonClick(self,event): #init function #[ 45]Code event VwX...Don't modify[ 45]# #add your code here return #end function def OnPreCreate(self): #add your code here return def initBefore(self): #add your code here return def initAfter(self): #add your code here self.Centre() self.Show() return def Ddel(self): #init function #[ f9]Code VwX...Don't modify[ f9]# #add your code here return #end function #[win]end your code **********App.py********** # -*- coding: iso-8859-1 -*- import wx provider = wx.SimpleHelpProvider() wx.HelpProvider_Set(provider) import MyFrame class App(wx.App): def OnInit(self): wx.InitAllImageHandlers() self.main = MyFrame.MyFrame(None,-1,'') self.main.Show() self.SetTopWindow(self.main) return 1 def main(): application = App(0) application.MainLoop() if __name__ == '__main__': main() Seguramente existiran muchas formas más elegantes de hacer esto, pero por ahora y mientras aprendo más de este maravilloso lenguaje lo seguiré haciendo así. Si desean una copia del archivo con la base de datos me lo hacen saber. Suerte y gracias a todos los que de una u otra forma me dieron luces sobre lo que debía hacer From python en ammsoft.com Wed Feb 6 10:33:32 2008 From: python en ammsoft.com (Amm-Python) Date: Wed Feb 6 10:33:37 2008 Subject: [Python-es] Setear fecha en datePickerCtrl In-Reply-To: Message-ID: <003a01c868a3$5759f3d0$640010ac@nombref31twj9b> Nosotros lo hacemos así: dia= 6 mes = 2 any = 2008 self.datePickerCtrl1.SetValue(wx.DateTimeFromDMY(dia, mes -1, any)) Ojo con el mes, hay que restarle 1 (enero es el cero). > -----Mensaje original----- > De: python-es-bounces@aditel.org > [mailto:python-es-bounces@aditel.org] En nombre de ZooTV Groups > Enviado el: dimarts, 5 / febrer / 2008 21:48 > Para: python-es@aditel.org > Asunto: [Python-es] Setear fecha en datePickerCtrl > > > Hola a todos en la lista. > > Estoy trabajando en una aplicación python con wxWindows, > utilizo el Boa con GUI y tengo el siguiente problema: > > Para el manejo de fechas, utilizo el control datePickerCtrl, > con el cual en la interfaz me aparece un campo con la fecha > actual y si presiono al costado, me abre una ventana con un > calendario para seleccionar una fecha distinta. > > El tema es que necesito setear ese control con una fecha > distinta a la actual, para ello, tengo el siguiente código: > > self.datePickerCtrl1.SetValue() > > Ahora bien, mi problema es que no logro dar con el formato > para que el control tome como un valor válido. > > Si utilizo self.datePickerCtrl1.SetValue(wx.DateTime.Today()) > funciona bien. Entonces, creo que lo que me falta es dar con > algún proceso para convertir cualquier fecha a un formato que > me acepte el datePicker. > > Gracias de antemano. _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > From listas en soft-com.es Wed Feb 6 13:00:13 2008 From: listas en soft-com.es (=?ISO-8859-1?Q?Oswaldo_Hern=E1ndez?=) Date: Wed Feb 6 13:00:56 2008 Subject: [Python-es] Deshabilitar Control+F4 In-Reply-To: References: <47A730D8.1000008@soft-com.es> Message-ID: <47A9A14D.3070300@soft-com.es> Manuel Enrique González Ramírez escribió: > Que pena, utilizo wx con el VisualWx como GUI. > wx tiene el evento EVT_CLOSE para controlar el cierre de las ventanas. Date una leida por aqui: > El día 4/02/08, Oswaldo Hernández escribió: >> Manuel Enrique González Ramírez escribió: >>> Hola a tod@s. >>> >>> Mi pregunta es la siguiente: >>> Necesito deshabilitar la combinación de teclas Control+F4 para evitar >> que el >>> usuario cierre un formulario (en win2) con dichas teclas. >>> >>> Ya he visto algo sobre deshabilitar la tecla ESC pero aún no s cómo >> funciona >>> con la combinación de teclas. >>> >> No dices que libreria grafica utilizas, pero de todas formas Ctrl+F4 >> provoca un close de la ventana >> activa, puedes capturar el evento y cancelar el cierre. >> -- ***************************************** Oswaldo Hernández oswaldo (@) soft-com (.) es ***************************************** From acurro en wanadoo.es Wed Feb 6 14:18:34 2008 From: acurro en wanadoo.es (Alberto Curro) Date: Wed Feb 6 14:19:36 2008 Subject: [Python-es] [off-topic] =?ISO-8859-15?Q?Replicaci=F3n/sincro?= =?ISO-8859-15?Q?nizaci=F3n_postgresql?= In-Reply-To: <200802060231.38561.py@ch3m4.org> References: <47A879BB.1080908@wanadoo.es> <2c9fb0dd0802051055h2d55bae3wdc8bb27f61617a0a@mail.gmail.com> <47A8D94D.6040207@wanadoo.es> <200802060231.38561.py@ch3m4.org> Message-ID: <47A9B3AA.7060309@wanadoo.es> Chema Cortes escribió: > El Tuesday 05 February 2008 22:46:53 Alberto Curro escribió: > > >> No estoy hablando de bases de datos temporales o sólo de proyectos o en >> desarrollo. Si voy a trabajar sobre ello y dedicarle tiempo, quiero >> hacerlo para bases de datos en producción y con datos reales... sólo por >> poner un ejemplo, quiero aplicarlo a soluciones con AbanQ que ya tengo >> funcionando, para los portátiles de los comerciales (por ejemplo). >> >> Basándome en esto, pensé en una solución. No tengo mucha experiencia en >> Python, pero me parece que si algo le iría como un guante, sería esto. >> La idea en rasgos generales es la siguiete : >> >> [...] >> > > Desde que conozco postgres, he oído varios intentos sin éxito de hacer lo > mismo que pretendes para sincronización de dos bases de datos arbitrarias. El > problema es que resulta tremendamente dependiente del diseño. Borrar un > objeto (tabla, registro, base) puede desencadenar una cascada de acciones, > disparando triggers y provocando la activación de diversas reglas (rules), > hasta tal extremo que se puede afirmar que borrar un registro para luego > volver a insertarlo nunca asegura que se vaya a quedar la base de datos tal > como estaba en un principio. > > Por éso la alternativa pasa por repetir las mismas operaciones secuencialmente > en todos los servidores, de modo síncrono o asíncrono. Tu caso sería > asíncrono, con lo que bucardo te podría funcionar. Bucardo instala un daemon > que comunica al resto de masters que se ha producido un cambio para que se > actualicen cuando puedan. Pero tu caso podría ser más simple: bastaría con > crear "rules" que vayan guardando las actualizaciones en tablas deltas, de > donde un sencillo script realizaría la sincronización de los masters bajo > demanda. El único problema es que estas tablas delta crecen enormemente, por > lo que tendrás que implementar algún mecanismo de contención. > > Tendrás que diseñar tu base de datos pensando en la sincronización, y no al > revés. > > Eso es lo mismo que pensé mientras miraba la documentación de Bucardo (por cierto, gracias mil por el enlace, mira que busqué y rebusqué con google con "casi" las mismas palabras y no lo encontré en ninguna búsqueda ¿?). Bucardo parece ser lo que busco pero, como tú bien dices, habría que hacer unas "pequeñas" modificaciones para tener en cuenta justamente que quiero que la actualización más tarde sea en batch, no cómo lo hace bucardo ahora mismo. Ya estoy con ello ;) Otra vez, gracias mil. >> 3) Ambas bases de datos han de estar bloqueadas al resto de usuarios >> durante el proceso (no creo que sea difícil, supongo que PostgreSQL >> dispone de funcionalidad para ello). >> > > Comando LOCK, para bloquear tablas, y asignando roles de grupo para todo lo > demás. > > > ------------------------------------------------------------------------ > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes From francofuji en gmail.com Thu Feb 7 16:52:39 2008 From: francofuji en gmail.com (Francisco Perez) Date: Thu Feb 7 16:52:46 2008 Subject: [Python-es] Obtener todos los atributos de un objeto Message-ID: <30fdaa240802070752l5306d363w5dcd0533bf693f87@mail.gmail.com> Como puedo obtener todos los atributos de un objeto?? gracias From listas en soft-com.es Thu Feb 7 17:08:14 2008 From: listas en soft-com.es (=?ISO-8859-1?Q?Oswaldo_Hern=E1ndez?=) Date: Thu Feb 7 17:08:38 2008 Subject: [Python-es] Obtener todos los atributos de un objeto In-Reply-To: <30fdaa240802070752l5306d363w5dcd0533bf693f87@mail.gmail.com> References: <30fdaa240802070752l5306d363w5dcd0533bf693f87@mail.gmail.com> Message-ID: <47AB2CEE.7090303@soft-com.es> Francisco Perez escribió: > Como puedo obtener todos los atributos de un objeto?? > import os os.__dict__.keys() ['lseek', 'O_SEQUENTIAL', 'pathsep', 'execle', '_Environ', 'urandom', 'execlp', 'startfile', 'umask', 'linesep', 'getpid', 'tmpnam', 'devnull', 'fstat', 'getenv', 'O_CREAT', 'dup2', 'read', '__file__', 'P_OVERLAY', 'O_RDONLY', 'TMP_MAX', 'utime', 'execl', 'F_OK', '_make_stat_result', 'name', 'fsync', 'remove', 'P_NOWAITO', '_copy_reg', 'execv', 'execlpe', 'pardir', 'tempnam', 'tmpfile', 'sep', 'popen4', 'defpath', 'popen2', 'stat', 'O_APPEND', 'altsep', 'close', '_exists', '__all__', 'makedirs', 'getcwdu', 'access', 'UserDict', 'O_RDWR', 'P_WAIT', 'stat_result', 'lstat', '__builtins__', 'getcwd', 'walk', 'O_TEMPORARY', 'stat_float_times', '__name__', 'O_TRUNC', 'O_TEXT', 'SEEK_END', 'popen', 'times', 'P_NOWAIT', 'removedirs', '_exit', '_get_exports_list', 'chmod', 'SEEK_CUR', 'path', 'open', 'putenv', 'fdopen', '_pickle_statvfs_result', 'mkdir', 'system', '_execvpe', 'rmdir', 'O_WRONLY', 'dup', 'O_NOINHERIT', '__doc__', 'curdir', 'isatty', 'execvpe', 'execvp', 'popen3', 'X_OK', 'O_SHORT_LIVED', 'execve', 'chdir', 'strerror', 'R_OK', 'error', 'extsep', 'rename', 'P_DETACH', 'W_OK', 'abort', 'statvfs_result', 'spawnl', 'spawnve', 'write', 'waitpid', 'spawnv', 'listdir', '_pickle_stat_result', 'unsetenv', 'SEEK_SET', 'spawnle', 'sys', 'O_RANDOM', 'unlink', 'O_BINARY', '_make_statvfs_result', 'O_EXCL', 'pipe', 'environ', 'renames'] Saludos, -- ***************************************** Oswaldo Hernández oswaldo (@) soft-com (.) es ***************************************** From agrelot en gmail.com Thu Feb 7 17:25:17 2008 From: agrelot en gmail.com (Agrelot) Date: Thu Feb 7 17:25:25 2008 Subject: [Python-es] Como encontrar un software de python profesional In-Reply-To: <1705.10.14.17.136.1202232683.squirrel@correo.ucf.edu.cu> References: <1705.10.14.17.136.1202232683.squirrel@correo.ucf.edu.cu> Message-ID: <98685fc90802070825w4c680aceh4212eb319b5d9232@mail.gmail.com> > > Hola a todos quisera ver el codigo de un programa realizado en python para > tomarlo como > ejemplo y compararlo con c++ lenguaje en el que programo como estudiante, > preferiblemente una aplicacion visual, gracias, Roger... > Hola hace un minuto acabo de leer una respuesta en la lista de PyAr (Argentina) que puede servirte: "Mirá en www.phasis.it. Es un ERP completo para PyMEs hecho en italiano. Lo podés bajar, instalar y usar en Win como cualquier aplicación. Está interesante. M.A.Vignau" From minoztro en gmail.com Fri Feb 8 01:54:28 2008 From: minoztro en gmail.com (Milton Galo Patricio Inostroza Aguilera) Date: Fri Feb 8 01:54:54 2008 Subject: [Python-es] Obtener todos los atributos de un objeto In-Reply-To: <30fdaa240802070752l5306d363w5dcd0533bf693f87@mail.gmail.com> References: <30fdaa240802070752l5306d363w5dcd0533bf693f87@mail.gmail.com> Message-ID: <172699c50802071654o2de1cda1i2e395b1beadcfa48@mail.gmail.com> El 7/02/08, Francisco Perez escribió: > Como puedo obtener todos los atributos de un objeto?? quizás sea esto lo que quieres: >>> class prueba(object): ... def __init__(self): ... self.a = 10 ... self.b = 20 ... >>> objeto = prueba() >>> print objeto.__dict__ {'a': 10, 'b': 20} > > gracias > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Milton Inostroza Aguilera From nahuelrullo en gmail.com Fri Feb 8 03:51:04 2008 From: nahuelrullo en gmail.com (Nahuel Rullo) Date: Fri Feb 8 03:51:10 2008 Subject: [Python-es] Aprender Python Message-ID: Hola que tal lista, este es mi primer mensaje. Estoy buscando algún buen manual de Python, pero bueno de enserio, con ejemplos, y ejercicios prácticos. La verdad me encanta la sintaxis de python, supongo que a todos le gusta. y bueno si tienen algo para pasarme, con lo que hallan aprendido ustedes.. saludos, Nahuel From minoztro en gmail.com Fri Feb 8 04:51:46 2008 From: minoztro en gmail.com (Milton Galo Patricio Inostroza Aguilera) Date: Fri Feb 8 04:51:55 2008 Subject: [Python-es] Aprender Python In-Reply-To: References: Message-ID: <172699c50802071951r444327ft63708fc380e0a707@mail.gmail.com> 2008/2/7, Nahuel Rullo : > Hola que tal lista, este es mi primer mensaje. > Estoy buscando algún buen manual de Python, pero bueno de enserio, con > ejemplos, y ejercicios prácticos. > La verdad me encanta la sintaxis de python, supongo que a todos le gusta. > y bueno si tienen algo para pasarme, con lo que hallan aprendido ustedes.. http://www.python.org/doc/ > > saludos, Nahuel > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Milton Inostroza Aguilera From inigo_aldazabal en ehu.es Fri Feb 8 06:54:31 2008 From: inigo_aldazabal en ehu.es (Inigo Aldazabal Mensa) Date: Fri Feb 8 06:54:51 2008 Subject: [Python-es] Aprender Python In-Reply-To: References: