From pych3m4 en gmail.com Sat Jul 1 01:26:16 2006 From: pych3m4 en gmail.com (Chema Cortes) Date: Sat, 1 Jul 2006 01:26:16 +0200 Subject: Acceso a una base de datos Ms Access In-Reply-To: <44A5267C.2030500@mu.intecsa-inarsa.es> References: <44A3C6A5.9080400@mu.intecsa-inarsa.es> <1151584647.6716.18.camel@localhost.localdomain> <44A4C1AE.3080605@mu.intecsa-inarsa.es> <1151654779.5534.0.camel@localhost.localdomain> <44A4DE07.8070200@mu.intecsa-inarsa.es> <1151657043.5534.7.camel@localhost.localdomain> <44A4FC77.9000909@mu.intecsa-inarsa.es> <44A5116D.2040708@ch3m4.org> <44A5267C.2030500@mu.intecsa-inarsa.es> Message-ID: <2c9fb0dd0606301626v7c48eef2k451dd6ec0ea278f1@mail.gmail.com> El 30/06/06, L Solis oficina escribió: > se mantiene el problema, rs.RecordCount) es 0 Entonces no entiendo dónde radica el problema. Sin más información poco te puedo decir. Supongo que alguna diferencia tiene que haber entre las dos bases de datos para que se comporten de forma diferentes. > quizás el problema pueda estar en usar dao o ado. Estoy utilizando ADO, > para lo que ejecuté makepy y seleccioné Microsoft ActiveX Data Objects > 2.5 Library. Quizás deba utilizar también Microsoft DAO3.5 Object Library > ¿sabes si puedo tener activadas las 2 librerías a la vez sin que pase > nada raro y seleccionar una u otra forma de acceso mediante código ? Si por librerías "activadas" te refieres a haberlas pasado por el makepy no te tiene que darte ningún problemas. Es sólo una optimización para cargar los nombres de constantes para el pythonwin y poco más. Si quieres "desintalarlas" sólo tienes que buscar en el directorio temporal y eliminar unos ficheros de python que ha creado. Lo normal y aconsejable es usar ADO. Es algo más puñetero con los catálogos de objetos que DAO, pero es más rápido y más versatil. Por otro lado, maneja mejor las hojas de excel, algo en lo que DAO falla. From pych3m4 en gmail.com Sat Jul 1 01:31:20 2006 From: pych3m4 en gmail.com (Chema Cortes) Date: Sat, 1 Jul 2006 01:31:20 +0200 Subject: Acceso a una base de datos Ms Access In-Reply-To: <44A533EF.8080800@soft-com.es> References: <44A3C6A5.9080400@mu.intecsa-inarsa.es> <1151584647.6716.18.camel@localhost.localdomain> <44A4C1AE.3080605@mu.intecsa-inarsa.es> <1151654779.5534.0.camel@localhost.localdomain> <44A4DE07.8070200@mu.intecsa-inarsa.es> <1151657043.5534.7.camel@localhost.localdomain> <44A4FC77.9000909@mu.intecsa-inarsa.es> <44A5116D.2040708@ch3m4.org> <44A5267C.2030500@mu.intecsa-inarsa.es> <44A533EF.8080800@soft-com.es> Message-ID: <2c9fb0dd0606301631k5d7dc642pda0fdebb7de49b4e@mail.gmail.com> El 30/06/06, Oswaldo Hernández escribió: > >> L Solis oficina escribió: > He utilizado msjet con visual basic y deje de utlizar RecorCount porque no es fiable, *solo* te dice > la verdad cuando ya has leido todos los registros, y enconces ya vale de poco (habia algún articulo > por ahi que lo explicaba). > > La ultica forma de saber con seguridad en nº de registros que tiene una tabla es hacer un 'select > count(*) from tabla'. Se supone que con los cursores locales (rs.CursorLocation=3 #adUseClient) debería funcionar el recordcount como tiene que ser, aunque no lo he probado. From listas en soft-com.es Sat Jul 1 11:45:51 2006 From: listas en soft-com.es (=?windows-1252?Q?Oswaldo_Hern=E1ndez?=) Date: Sat, 01 Jul 2006 11:45:51 +0200 Subject: Acceso a una base de datos Ms Access In-Reply-To: <2c9fb0dd0606301631k5d7dc642pda0fdebb7de49b4e@mail.gmail.com> References: <44A3C6A5.9080400@mu.intecsa-inarsa.es> <1151584647.6716.18.camel@localhost.localdomain> <44A4C1AE.3080605@mu.intecsa-inarsa.es> <1151654779.5534.0.camel@localhost.localdomain> <44A4DE07.8070200@mu.intecsa-inarsa.es> <1151657043.5534.7.camel@localhost.localdomain> <44A4FC77.9000909@mu.intecsa-inarsa.es> <44A5116D.2040708@ch3m4.org> <44A5267C.2030500@mu.intecsa-inarsa.es> <44A533EF.8080800@soft-com.es> <2c9fb0dd0606301631k5d7dc642pda0fdebb7de49b4e@mail.gmail.com> Message-ID: <44A6444F.1050305@soft-com.es> Chema Cortes escribió: > El 30/06/06, Oswaldo Hernández escribió: > >> La ultica forma de saber con seguridad en nº de registros que tiene >> una tabla es hacer un 'select >> count(*) from tabla'. > > > Se supone que con los cursores locales (rs.CursorLocation=3 > #adUseClient) debería funcionar el recordcount como tiene que ser, > aunque no lo he probado. A continuacion va un copy/paste del help de de la propidad RecordCount en jet3.5. Ignoro si en versiones superiores del jet funciona de forma distinta. RecordCount (Propiedad) Devuelve el número de registros accedidos en un objeto Recordset o el número total de registros de un objeto Recordset o TableDef. Valores que se pueden obtener El valor que se obtiene es un tipo de datos Long. Comentarios Utilice la propiedad RecordCount para determinar a cuántos registros se ha accedido en un objeto Recordset o TableDef. La propiedad RecordCount no indica cuantos registros están contenidos en un objeto Recordset de tipo Dynaset, Snapshot o Forward-only hasta que se tenga acceso a todos los registros. Una vez que se haya accedido al último registro, la propiedad RecordCount indica el número total de registros no eliminados en el objeto Recordset o TableDef. Para forzar que se accede al último registro, utilice el método MoveLast en el objeto Recordset. También puede utilizar la función Count de SQL para determinar el número aproximado de registros que devolverá su consulta. Nota El uso del método MoveLast para llenar un Recordset abierto de nuevo influye negativamente en el rendimiento. A menos que sea necesario tener un RecordCount exacto en cuanto abre el Recordset, es mejor esperar hasta que llene el Recordset con otros fragmentos de código antes de comprobar la propiedad RecordCount. Si su aplicación elimina registros en un objeto Recordset de tipo Dynaset, el valor de la propiedad RecordCount disminuye. Sin embargo, los registros eliminados por otros usuarios no se reflejan en la propiedad RecordCount hasta que el registro activo se coloca en un registro eliminado. Si ejecuta una transacción que afecta al valor de la propiedad RecordCount y a continuación deshace los cambios en la transacción, la propiedad RecordCount no reflejará el número actual de registros restantes. La propiedad RecordCount de un objeto Recordset de tipo Snapshot o Forward-only no está afectada por los cambios realizados en las tablas base. Un objeto Recordset o TableDef sin registros tiene una valor de propiedad RecordCount de 0. Cuando trabaja con objetos TableDef vinculados, el valor de la propiedad RecordCount es siempre ?1. La utilización del método Requery en un Recordset restablece la propiedad RecordCount exactamente como si la consulta se hubiera vuelto a ejecutar. Copyright (c) 1996 Microsoft Corporation -- ***************************************** Oswaldo Hernández oswaldo en soft-com.es ***************************************** ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From rapto en arrakis.es Sat Jul 1 12:34:55 2006 From: rapto en arrakis.es (Marcos =?ISO-8859-1?Q?S=E1nchez?= Provencio) Date: Sat, 01 Jul 2006 12:34:55 +0200 Subject: Acceso a una base de datos Ms Access In-Reply-To: <44A5116D.2040708@ch3m4.org> References: <44A3C6A5.9080400@mu.intecsa-inarsa.es> <1151584647.6716.18.camel@localhost.localdomain> <44A4C1AE.3080605@mu.intecsa-inarsa.es> <1151654779.5534.0.camel@localhost.localdomain> <44A4DE07.8070200@mu.intecsa-inarsa.es> <1151657043.5534.7.camel@localhost.localdomain> <44A4FC77.9000909@mu.intecsa-inarsa.es> <44A5116D.2040708@ch3m4.org> Message-ID: <1151750096.6102.13.camel@localhost.localdomain> El vie, 30-06-2006 a las 13:56 +0200, Chema Cortes escribió: > rs.CursorLocation=3 #adUseClient - client-side cursor > En http://aspn.activestate.com/ASPN/docs/ActivePython/2.3/pywin32/html/com/win32com/HTML/QuickStartClientCom.html#UsingComConstants cuentan que puedes usar win32com.client.constants.adUseClient si has hecho makepy antes, claro. Por cierto, agradecería a lsolis que nos cuente qué es lo que pasaba si lo descubre, que me pica la curiosidad :-) Por eliminar temas, ¿se abre el mismo mdb en los dos casos? ¿con el mismo usuario/contraseña? ¿Has compactado/reparado la bd? Ya sé que son obviedades, pero a veces... From nocreyentes en terra.es Sat Jul 1 15:01:33 2006 From: nocreyentes en terra.es (nocreyente) Date: Sat, 1 Jul 2006 15:01:33 +0200 Subject: determinar el consumo de recursos (micro, memoria) de una aplicacion... (TG) In-Reply-To: <7BF02F4F-9058-4BE9-8BAA-4FC689D198B4@terra.es> References: <7BF02F4F-9058-4BE9-8BAA-4FC689D198B4@terra.es> Message-ID: <95438439-D355-4EE7-89EB-C002F0F72FDC@terra.es> Creo que me tire a la piscina y no habia agua :-( No es tan facil como eso. Asi que tendre que verlo más detenidamente para cuando toque, creo que tiene que existir la manera de lanzar todas las aplicaciones que uno tenga desde una unica instancia. Un saludo: Javi El 29/06/2006, a las 19:10, nocreyente escribió: > Reenvio el mensaje desde la cuenta de correo buena :-) > > Inicio del mensaje reenviado: > > >> >> Buenas: >> >> Para saber el consumo de cada una de las instancias creo que lo >> mejor es usar el comando top tal como y ate han dicho. >> >> A la hora de ahorrar recursos cargando varias aplicaciones de >> turbogears, creo que lo mejor es tratar de cargar un solo proceso. >> Parece ser que cherrypy 2.2 ya esta preparado para hacer esto. Ver: >> http://www.cherrypy.org/wiki/UpgradeTo2.2 >> http://www.cherrypy.org/ticket/145 >> >> Supongo que tendras que configurar la variable server.webpath >> http://www.turbogears.org/preview/docs/deployment/config.html >> >> y tendras que hacerte un script para cargar todas tus >> aplicaciones. Puedes usar los scripts start-.py de >> ejemplo. >> >> El codigo fuente de la funcion turbogears.start_server() lo tienes >> en http://trac.turbogears.org/turbogears/browser/trunk/turbogears/ >> startup.py >> >> Si tienes algun problema dilo para ayudarte, porque antes o >> despues tendre que hacerlo ;-) >> Si no tienes ningun problema, avisa de como lo has hecho para >> copiarlo. >> >> Un saludo: >> >> Javi >> >> >> >> El 28/06/2006, a las 14:28, maram escribió: >> >>> hola gente... >>> >>> Quisiera saber como determinar el consumo de recursos (especialmente >>> memoria) de una aplicacion... (SO ubuntu Linux) >>> >>> Mas concretamente... tengo 3 aplicaciones de turbogears, >>> configuradas >>> para el pto 8081,8082 y 8083. >>> "corro" cada aplicacion en una consola independiente. >>> Como puedo saber los recursos efectivamente "gastados" x cada >>> una...? >>> >>> Plus... pal que sepa... >>> Cual seria la mejor forma , (mas economica... ;) de correr 2 o mas >>> aplicaciones de TurboGears ? >>> >>> >>> >>> _______________________________________________ >>> Python-es mailing list >>> Python-es en aditel.org >>> http://listas.aditel.org/listinfo/python-es >> > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From pych3m4 en gmail.com Sat Jul 1 19:52:37 2006 From: pych3m4 en gmail.com (Chema Cortes) Date: Sat, 1 Jul 2006 19:52:37 +0200 Subject: Acceso a una base de datos Ms Access In-Reply-To: <44A6444F.1050305@soft-com.es> References: <44A3C6A5.9080400@mu.intecsa-inarsa.es> <1151654779.5534.0.camel@localhost.localdomain> <44A4DE07.8070200@mu.intecsa-inarsa.es> <1151657043.5534.7.camel@localhost.localdomain> <44A4FC77.9000909@mu.intecsa-inarsa.es> <44A5116D.2040708@ch3m4.org> <44A5267C.2030500@mu.intecsa-inarsa.es> <44A533EF.8080800@soft-com.es> <2c9fb0dd0606301631k5d7dc642pda0fdebb7de49b4e@mail.gmail.com> <44A6444F.1050305@soft-com.es> Message-ID: <2c9fb0dd0607011052g111ddc1aje3a8567e06e798bf@mail.gmail.com> 2006/7/1, Oswaldo Hernández : > Chema Cortes escribió: > > Se supone que con los cursores locales (rs.CursorLocation=3 > > #adUseClient) debería funcionar el recordcount como tiene que ser, > > aunque no lo he probado. > > A continuacion va un copy/paste del help de de la propidad RecordCount en jet3.5. Ignoro si en > versiones superiores del jet funciona de forma distinta. Ésto que comentas se refiere al motor Jet el cua? ni siquiera implementa cursores. La diferencia estriba en cómo hace ADO la implementación de los cursores. Cuando éstos son estáticos (como cuando se hace CursorLocation=adUseClient) el recordcount devuelve el valor que tiene que ser. He encontrado unos artículos que explican mejor este tema en adopenstatic.com : http://www.adopenstatic.com/faq/recordcounterror.asp http://www.adopenstatic.com/experiments/clientsidecursortypes.asp Para completar, añado la referencia de python y ADO que suelo usar: http://www.markcarter.me.uk/computing/python/ado.html ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From kernel.no.found en gmail.com Sun Jul 2 00:19:18 2006 From: kernel.no.found en gmail.com (=?ISO-8859-1?Q?Juan_Jos=E9_Alonso.?=) Date: Sun, 2 Jul 2006 00:19:18 +0200 Subject: Propuesta Pythonera Message-ID: <117d6e170607011519v6cd9a7a6nafa6ed64f049ef6b@mail.gmail.com> Yo de hecho inicie hace bastante el intento de una comunidad, pero parece que solo pasean lectores, aunque esta la cosa muy parada, solo tengo unos 15-20 lectores diarios... tengo una forja publica de proyectos, tengo un envio de noticias publico, tengo una biblioteca de enlaces (la mayor reunion creo de documentacion en español.), foro, y poco mas.. hechenle un vistazo.. y estoy abierto a unir algun servicio mas que querais mantener, podriamos hablar para el tema de hosting o algo mas... http://www.dotpy.net (ya di esta url varias veces en la lista, espero no molestar...) PD: si quereis contactar conmigo, escribanme al email, ya que estoy de reformas en casa y no tengo conexion a internet solo cada 2 semanas o asi entro en casa de algun amigo o cyber... kernel (PUNTO) no (PUNTO) found (ARROBA) gmail (PUNTO) com -- Juan José Alonso. KarlsBerg. eMail: kernel.no.found en gmail.com MSN: kernel.no.found en gmail.com From arnau en ehas.org Sun Jul 2 11:33:04 2006 From: arnau en ehas.org (Arnau Sanchez) Date: Sun, 02 Jul 2006 11:33:04 +0200 Subject: Borrar elementos de una lista por =?iso-8859-1?q?=EDndices?= Message-ID: <44A792D0.2090404@ehas.org> Buenas, Ya son varias las veces que me he encontrado con que necesitaba borrar elementos de una lista según su índice, no su valor. ¿Cuál creéis que sería la mejor forma de hacerlo? Para empezar, la más evidente: # lista aborrar = [1,4,8] salida = [lista[x] for x in range(len(lista)) if x not in aborrar] Problema: hay que recorrer toda la lista, y además crear una nueva, no parece muy eficiente. ¿Y si tratáramos de hacerlo "in-place"? El "del" sólo borra elementos individuales o slices, así que habría que hacer un bucle. Pero entonces nos encontramos que, de una iteración a otra, la lista ha perdido un elemento, por lo que habría que hacer una corrección, tal que así: # lista aborrar = [1,4,8] for n, ab in enumerate(aborrar): del lista[ab-n] que a primera vista es poco elegante. ¿Se os ocurre alguna otra forma? salud! arnau From inigoserna en gmail.com Sun Jul 2 14:38:09 2006 From: inigoserna en gmail.com (=?ISO-8859-1?Q?I=F1igo_Serna?=) Date: Sun, 2 Jul 2006 14:38:09 +0200 Subject: SQLObject Message-ID: <65a1d6f80607020538w4961661ep800f95fa20ed2e3d@mail.gmail.com> [buenas, lo envío ahora desde la dirección de email con la que estoy suscrito ;-] Buenas, perdón si llego tarde al mensaje... El "id" en SQLObject es un campo "interno" y *siempre* autoincremental, da lo mismo que le cambies de nombre con el truco del "sqlmeta". Entiendo que lo que tú necesitas es que el campo "dni" sea una clave, pero no primaria, para ello créalo como si fuera cualquier otro campo normal y añádele lo de AlternateID=True. De la documentación: """ If you use alternateID=True, this means that the column uniquely identifies rows -- like a username uniquely identifies a user. This identifier is in addition to the primary key (id), which is always present. Note SQLObject has a strong requirement that the primary key be unique and immutable. You cannot change the primary key through SQLObject, and if you change it through another mechanism you can cause inconsistency in any running SQLObject program (and in your data). For this reason meaningless integer IDs are encouraged -- something like a username that could change in the future may uniquely identify a row, but it may be changed in the future. So long as it is not used to reference the row, it is also safe to change it in the future. """ Yo definiría la clase como: class usuario(SQLObject): dni = StringCol(alternateID=True, length=9) nombre = StringCol() rol = ForeignKey('rol') NOTA: length = 9 ó 8 dependiende si el campo dni incluye la letra del NIF o no. Esto hace que "dni" sea clave no primaria, no autoincrementa, facilita búsquedas, obliga a que no sea nulo, etc. Es decir, que se puede hacer cosas como: >>> u1 = Usuario.byDni('12345678A') y, por cierto, que el error que se menciona en u email anterior es tal vez porque se define dni como StringCol y luego se le pasa un int en vez de un string. Espero que hay sido de ayuda. Un saludo, Iñigo Serna PD: por cierto, que es mi primer mensaje a la lista El mar, 27-06-2006 a las 19:59 -0400, Luis Miguel Morillas escribió: 2006/6/27, marcelo schiavone : > > Gracias Luis, pero probe esto que me has dicho y genera un campo "dni" > > y otro "id", el cual es la clave primaria auto-incremental. Mi idea es > > que "dni" sea la clave primaria y que no sea auto-incremental. > > > > Tienes razon. Acabo de leerlo en la documentacion: > If you use alternateID=True, this means that the column uniquely > identifies rows -- like a username uniquely identifies a user. This > identifier is in addition to the primary key (id), which is always > present. > > Y si combinas las dos: alternateID y idName ? > > > Saludos > > > > > > On 6/27/06, Luis Miguel Morillas wrote: > > > 2006/6/27, marcelo schiavone : > > > > Hola, alguien sabe como hacer para que el idName no sea auto-incremental. > > > > Ejemplo: > > > > class usuario(SQLObject): > > > > class sqlmeta: > > > > idName="dni" > > > > nombre=StringCol() > > > > rol=ForeignKey('rol') > > > > > > class usuario(SQLObject): > > > dni = StringCol(alternateID=True) > > > nombre = StringCol() > > > rol = ForeignKey('rol') > > > > > > > > > > > > > > > > > para agregar un usuario tengo que hacer: > > > > usuario(nombre="nombre usuario", rol=None) > > > > > > > > porque si quiero poner el DNI de esta manera: > > > > usuario(dni=32894, nombre="nombre usuario", rol=None) > > > > larga el siguiente error: > > > > usuario.set() got an unexpected keyword argument dni > > > > > > > > Saludos From alexis.roda.villalonga en gmail.com Sun Jul 2 16:15:28 2006 From: alexis.roda.villalonga en gmail.com (Alexis Roda Villalonga) Date: Sun, 2 Jul 2006 16:15:28 +0200 Subject: =?ISO-8859-1?Q?Re:__Borrar_eleme?= =?ISO-8859-1?Q?ntos_de_una_lista_por_=EDndices?= In-Reply-To: <44A792D0.2090404@ehas.org> References: <44A792D0.2090404@ehas.org> Message-ID: <5f4eef560607020715hfe08f56p17c501bac42eeed2@mail.gmail.com> 2006/7/2, Arnau Sanchez : > Buenas, > > Ya son varias las veces que me he encontrado con que necesitaba borrar > elementos de una lista según su índice, no su valor. ¿Cuál creéis que > sería la mejor forma de hacerlo? > > Para empezar, la más evidente: > > # lista > aborrar = [1,4,8] > salida = [lista[x] for x in range(len(lista)) if x not in aborrar] > > Problema: hay que recorrer toda la lista, y además crear una nueva, no > parece muy eficiente. Crear una nueva lista es eficiente cuando lo que necesitas es crear una nueva lista. El problema aquí es que recorre toda la lista 'aborrar' para determinar si un elemento 'x' no se borra, no que tenga que recorrer la lista 'lista' una vez (deberás hacerlo de una forma u otra si necesitas copiar la lista). Podrias mejorarlo convirtiendo 'aborrar' en un diccionario, tiempo de consulta constante. d=dict.fromkeys(aborrar) l = [ v for i, v in enumerate(lista) if i not in d ] > ¿Y si tratáramos de hacerlo "in-place"? El "del" sólo borra elementos > individuales o slices, así que habría que hacer un bucle. Pero entonces > nos encontramos que, de una iteración a otra, la lista ha perdido un > elemento, por lo que habría que hacer una corrección, tal que así: > > # lista > aborrar = [1,4,8] > for n, ab in enumerate(aborrar): > del lista[ab-n] > > que a primera vista es poco elegante. Para que la corrección funcione 'aborrar' debe estar ordenado crecientemente. Si lo ordenas decrecientemente (borras de derecha a izquierda) no necesitas la corrección: aborrar.sort(lambda a,b : cmp(b, a)) for i in aborrar : del lista[i] Saludos From pych3m4 en gmail.com Sun Jul 2 22:43:26 2006 From: pych3m4 en gmail.com (Chema Cortes) Date: Sun, 2 Jul 2006 22:43:26 +0200 Subject: =?ISO-8859-1?Q?Re:__Borrar_eleme?= =?ISO-8859-1?Q?ntos_de_una_lista_por_=EDndices?= In-Reply-To: <5f4eef560607020715hfe08f56p17c501bac42eeed2@mail.gmail.com> References: <44A792D0.2090404@ehas.org> <5f4eef560607020715hfe08f56p17c501bac42eeed2@mail.gmail.com> Message-ID: <2c9fb0dd0607021343h6ba2557he84b3a3fd8f255f9@mail.gmail.com> El 2006/7/2, Alexis Roda Villalonga escribió: > Para que la corrección funcione 'aborrar' debe estar ordenado > crecientemente. Si lo ordenas decrecientemente (borras de derecha a > izquierda) no necesitas la corrección: > > aborrar.sort(lambda a,b : cmp(b, a)) > for i in aborrar : > del lista[i] Mejor decirle al sort que ordene al revés: aborrar.sort(reverse=True) Aunque si no quieres tocar la lista, la mejor manera sería con la nueva función sorted() for i in sorted(aborrar,reverse=True): del lista[i] From arnau en ehas.org Sun Jul 2 23:02:59 2006 From: arnau en ehas.org (Arnau Sanchez) Date: Sun, 02 Jul 2006 23:02:59 +0200 Subject: =?ISO-8859-1?Q?Re=3A_=5BPython-es=5D_Borrar_elementos_de?= =?ISO-8859-1?Q?_una_lista_por_=EDndices?= In-Reply-To: <2c9fb0dd0607021343h6ba2557he84b3a3fd8f255f9@mail.gmail.com> References: <44A792D0.2090404@ehas.org> <5f4eef560607020715hfe08f56p17c501bac42eeed2@mail.gmail.com> <2c9fb0dd0607021343h6ba2557he84b3a3fd8f255f9@mail.gmail.com> Message-ID: <44A83483.3080205@ehas.org> Chema Cortes escribió: > El 2006/7/2, Alexis Roda Villalonga > escribió: > >> Para que la corrección funcione 'aborrar' debe estar ordenado >> crecientemente. Si lo ordenas decrecientemente (borras de derecha a >> izquierda) no necesitas la corrección: >> >> aborrar.sort(lambda a,b : cmp(b, a)) >> for i in aborrar : >> del lista[i] > > Mejor decirle al sort que ordene al revés: > > aborrar.sort(reverse=True) > > > Aunque si no quieres tocar la lista, la mejor manera sería con la > nueva función sorted() > > for i in sorted(aborrar,reverse=True): > del lista[i] Muchas gracias a los dos, la solución de ordenar al revés la lista de índices era la que buscaba, sabía que se me escabapa algo. Ahora que lo pienso, aunque juraría que esta solución ya la había visto (y olvidado acto seguido) en alguna página, no he sido capaz de volver a encontrar en google referencias al respecto. Así pues, al menos queda esto para los archivos. Como siempre, un placer estar en esta lista. salud From kala855 en gmail.com Mon Jul 3 05:49:28 2006 From: kala855 en gmail.com (kala855) Date: Sun, 2 Jul 2006 22:49:28 -0500 Subject: ayuda con qt In-Reply-To: References: Message-ID: HOLA, HE ESTADO TRABAJANDO CON QT Y NECESITO COLOCAR UN COMBO BOX, U OTRO ITEM DENTRO DE UNA QTABLE; ESTOY TRABAJANDO CON QT 4.1.3 Y AL PARECER SE DEBE MODIFICAR EL MODELO, POR FAVOR AYUDENME ES MUY NECESARIO QUE PUEDA HACERLO. From lsolis en mu.intecsa-inarsa.es Mon Jul 3 08:59:42 2006 From: lsolis en mu.intecsa-inarsa.es (L Solis oficina) Date: Mon, 03 Jul 2006 08:59:42 +0200 Subject: Acceso a una base de datos Ms Access In-Reply-To: <1151750096.6102.13.camel@localhost.localdomain> References: <44A3C6A5.9080400@mu.intecsa-inarsa.es> <1151584647.6716.18.camel@localhost.localdomain> <44A4C1AE.3080605@mu.intecsa-inarsa.es> <1151654779.5534.0.camel@localhost.localdomain> <44A4DE07.8070200@mu.intecsa-inarsa.es> <1151657043.5534.7.camel@localhost.localdomain> <44A4FC77.9000909@mu.intecsa-inarsa.es> <44A5116D.2040708@ch3m4.org> <1151750096.6102.13.camel@localhost.localdomain> Message-ID: <44A8C05E.6010006@mu.intecsa-inarsa.es> Marcos Sánchez Provencio escribió: > El vie, 30-06-2006 a las 13:56 +0200, Chema Cortes escribió: > >> rs.CursorLocation=3 #adUseClient - client-side cursor >> >> > En > http://aspn.activestate.com/ASPN/docs/ActivePython/2.3/pywin32/html/com/win32com/HTML/QuickStartClientCom.html#UsingComConstants > > cuentan que puedes usar > win32com.client.constants.adUseClient > > si has hecho makepy antes, claro. > > > Por cierto, agradecería a lsolis que nos cuente qué es lo que pasaba si > lo descubre, que me pica la curiosidad :-) > > Por eliminar temas, ¿se abre el mismo mdb en los dos casos? ¿con el > mismo usuario/contraseña? ¿Has compactado/reparado la bd? Ya sé que son > obviedades, pero a veces... > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > > > Todavía no he podido analizar todas las respuestas, este fin de semana he trabajado sin internet, pero por lo que he investigado el problema era el siguiente. El problema estaba cuando abría en un mdb abría una consulta (no una tabla) 1) Si la consulta incluía una condición sobre algún campo del tipo campo1="edf" and campo2=3, etc., no hay problema 2) Pero si la consulta incluía una condición tipo LIKE como campo1="e*", y la consulta se ejecuta bajo Access y devuelve registros, desde el código python NO devuelve registros. Lo resuelvo en estos casos incluyendo desde python la sentencia LIKE, pero no se la causa de este comportamiento. Luis From rapto en arrakis.es Mon Jul 3 09:22:30 2006 From: rapto en arrakis.es (Marcos) Date: Mon, 03 Jul 2006 09:22:30 +0200 Subject: Acceso a una base de datos Ms Access In-Reply-To: <44A8C05E.6010006@mu.intecsa-inarsa.es> References: <44A3C6A5.9080400@mu.intecsa-inarsa.es> <1151584647.6716.18.camel@localhost.localdomain> <44A4C1AE.3080605@mu.intecsa-inarsa.es> <1151654779.5534.0.camel@localhost.localdomain> <44A4DE07.8070200@mu.intecsa-inarsa.es> <1151657043.5534.7.camel@localhost.localdomain> <44A4FC77.9000909@mu.intecsa-inarsa.es> <44A5116D.2040708@ch3m4.org> <1151750096.6102.13.camel@localhost.localdomain> <44A8C05E.6010006@mu.intecsa-inarsa.es> Message-ID: <1151911351.5700.1.camel@localhost.localdomain> Hay un modo de abrir un mdb en modo compatible sql ansi que usa % en lugar de * como comodín. ¿Puede ir por ahí la cosa? http://support.microsoft.com/kb/q225048/ > > > > > Todavía no he podido analizar todas las respuestas, este fin de semana > he trabajado sin internet, pero por lo que he investigado el problema > era el siguiente. > > El problema estaba cuando abría en un mdb abría una consulta (no una tabla) > > 1) Si la consulta incluía una condición sobre algún campo del tipo > campo1="edf" and campo2=3, etc., no hay problema > > 2) Pero si la consulta incluía una condición tipo LIKE como campo1="e*", > y la consulta se ejecuta bajo Access y devuelve registros, desde el > código python NO devuelve registros. > > Lo resuelvo en estos casos incluyendo desde python la sentencia LIKE, > pero no se la causa de este comportamiento. > > Luis > > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From listas en soft-com.es Mon Jul 3 10:52:52 2006 From: listas en soft-com.es (=?UTF-8?B?T3N3YWxkbyBIZXJuw6FuZGV6?=) Date: Mon, 03 Jul 2006 10:52:52 +0200 Subject: Acceso a una base de datos Ms Access In-Reply-To: <2c9fb0dd0607011052g111ddc1aje3a8567e06e798bf@mail.gmail.com> References: <44A3C6A5.9080400@mu.intecsa-inarsa.es> <1151654779.5534.0.camel@localhost.localdomain> <44A4DE07.8070200@mu.intecsa-inarsa.es> <1151657043.5534.7.camel@localhost.localdomain> <44A4FC77.9000909@mu.intecsa-inarsa.es> <44A5116D.2040708@ch3m4.org> <44A5267C.2030500@mu.intecsa-inarsa.es> <44A533EF.8080800@soft-com.es> <2c9fb0dd0606301631k5d7dc642pda0fdebb7de49b4e@mail.gmail.com> <44A6444F.1050305@soft-com.es> <2c9fb0dd0607011052g111ddc1aje3a8567e06e798bf@mail.gmail.com> Message-ID: <44A8DAE4.10908@soft-com.es> Chema Cortes escribió: > 2006/7/1, Oswaldo Hernández : > >> Chema Cortes escribió: > > Ésto que comentas se refiere al motor Jet el cua? ni siquiera > implementa cursores. La diferencia estriba en cómo hace ADO la > implementación de los cursores. Cuando éstos son estáticos (como > cuando se hace CursorLocation=adUseClient) el recordcount devuelve el > valor que tiene que ser. > Puede que tengas razon, yo ya tuve suficiente con el jet3.5 y no he continuado con versiones superiores. Saludos, -- ***************************************** Oswaldo Hernández oswaldo en soft-com.es ***************************************** ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From dmunhiz en gmail.com Mon Jul 3 13:41:02 2006 From: dmunhiz en gmail.com (=?ISO-8859-15?Q?Daniel_Mu=F1iz_Fontoira?=) Date: Mon, 03 Jul 2006 13:41:02 +0200 Subject: [Boa Constr] I can't select with a click the statictext widget and move it In-Reply-To: <44A4173C.4030004@fibertel.com.ar> References: <449BA37D.4000805@gmail.com> <44A25184.3040600@e.co.za> <91906ddf0606290837q37c25cb9s322c13bc63eb7753@mail.gmail.com> <44A4049B.7080209@gmail.com> <44A4173C.4030004@fibertel.com.ar> Message-ID: <44A9024E.3020006@gmail.com> La idea fué de Mario Lacunza. Yo solo la he llevado adelante. Y sí finciona. lo he probado y utilizando el statictext de library en lugar del estandar vá como la seda. Por lo que problema solucionado. Gracias a todos los que habeis colaborado. Sebastian Lezica escribió: > Estimado Daniel, > Que bueno que se te ocurrió preguntar a la fuente ese problema, en > el último proyecto que tuve abandoné Boa justamente por ese > inconveniente! -y tenia unos formularios complejisimos que rehacerlos > en wxGlade con sizers fue un parto- :) > Lo que te dice, es que utilices en lugar del wx.StaticText (que se > encuentra en la pestaña 'Basic Controls' de Boa), el > wx.lib.stattext.GenStaticText que se encuentra en la pestaña 'Library' > (todo esto de la barra de widgets de la ventana superior). > Lo probé y funciona perfecto!. No estoy seguro si lo ves 'por > defecto', o tenes que setear en Preferences/General/InstallBCRTL como > verdadero y reiniciar Boa. > Un abrazo, > > Sebastián Lezica > > Daniel Muñiz Fontoira wrote: >> Gabriel: >> Si lees el texto que acompaño en la misma consulta entenderás porque la >> pongo en inglés. >> Precisamente está en ingles porque no la entiendo y por si aluien puede >> ayudarme a entenderla. Está claro que no es tu caso. >> >> Cordialmente >> Daniel >> >> >> Correo con la cuestión. >> >> Hola: >> >> He preguntado algo en la lista de boa, el caso es que en el diseñador no >> se puede seleccionar los statictext para moverlos por el formulario. >> >> Me han respondido esto, ¿alguien me dice (traduce) lo que quiere decir? >> Saludos y gracias >> >> Este es el correo de Riaan >> >> ------------------------------------------------------- >> Hi Daniel, >> >> Daniel Muñiz Fontoira wrote: >> >> >>>> Hello! >>>> >>>> My name is Daniel from Spain >>>> >>>> Features configuration >>>> --------------------------------- >>>> In Linux Ubuntu 6.06 LTS >>>> Boa versión 4.4 >>>> wx 2.6.1.2 ubuntu >>>> >>>> In Windows XP >>>> Boa 0.4.4 >>>> wx 2.6.1.0 msw unicode >>>> -------------------------------- >>>> >>>> Question: >>>> >>>> I can't select with a click the statictext widget and move it. But in >>>> >>> >> windows thats work fine. >> >> >>>> The question is: >>>> In mode layout I try to move statictext but I couldn't select it. >>>> But the textbox is posible select and move it, Why? >>>> >>> >> >> The reason is that under linux the statictext control does not >> respond to mouse clicks, there is nothing I can do about that. >> >> You may use the GenStaticText on the Library palette page which does >> respond to mouse clicks. >> >> Cheers, >> Riaan. >> >> ------------------------------------------------------------------------ >> >> >> >> >> >> >> >> >> >> Gabriel escribió: >> >>> Daniel: >>> Ya que es una lista en Castellano y eres español estaria muy bueno que >>> tambien formules tu consulta en ese idioma... >>> >>> Cordialmente >>> Gabriel >>> _______________________________________________ >>> Python-es mailing list >>> Python-es en aditel.org >>> http://listas.aditel.org/listinfo/python-es >>> >>> >> _______________________________________________ >> Python-es mailing list >> Python-es en aditel.org >> http://listas.aditel.org/listinfo/python-es >> >> > > ------------------------------------------------------------------------ > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From dmunhiz en gmail.com Mon Jul 3 13:44:59 2006 From: dmunhiz en gmail.com (=?ISO-8859-15?Q?Daniel_Mu=F1iz_Fontoira?=) Date: Mon, 03 Jul 2006 13:44:59 +0200 Subject: [Boa Constr] I can't select with a click the statictext widget and move it In-Reply-To: <44A4173C.4030004@fibertel.com.ar> References: <449BA37D.4000805@gmail.com> <44A25184.3040600@e.co.za> <91906ddf0606290837q37c25cb9s322c13bc63eb7753@mail.gmail.com> <44A4049B.7080209@gmail.com> <44A4173C.4030004@fibertel.com.ar> Message-ID: <44A9033B.9000907@gmail.com> Gracias por la ayuda para establecer las preferencias, no hizo falta, pero es todo un detalle. Sebastian Lezica escribió: > Estimado Daniel, > Que bueno que se te ocurrió preguntar a la fuente ese problema, en > el último proyecto que tuve abandoné Boa justamente por ese > inconveniente! -y tenia unos formularios complejisimos que rehacerlos > en wxGlade con sizers fue un parto- :) > Lo que te dice, es que utilices en lugar del wx.StaticText (que se > encuentra en la pestaña 'Basic Controls' de Boa), el > wx.lib.stattext.GenStaticText que se encuentra en la pestaña 'Library' > (todo esto de la barra de widgets de la ventana superior). > Lo probé y funciona perfecto!. No estoy seguro si lo ves 'por > defecto', o tenes que setear en Preferences/General/InstallBCRTL como > verdadero y reiniciar Boa. > Un abrazo, > > Sebastián Lezica > > Daniel Muñiz Fontoira wrote: >> Gabriel: >> Si lees el texto que acompaño en la misma consulta entenderás porque la >> pongo en inglés. >> Precisamente está en ingles porque no la entiendo y por si aluien puede >> ayudarme a entenderla. Está claro que no es tu caso. >> >> Cordialmente >> Daniel >> >> >> Correo con la cuestión. >> >> Hola: >> >> He preguntado algo en la lista de boa, el caso es que en el diseñador no >> se puede seleccionar los statictext para moverlos por el formulario. >> >> Me han respondido esto, ¿alguien me dice (traduce) lo que quiere decir? >> Saludos y gracias >> >> Este es el correo de Riaan >> >> ------------------------------------------------------- >> Hi Daniel, >> >> Daniel Muñiz Fontoira wrote: >> >> >>>> Hello! >>>> >>>> My name is Daniel from Spain >>>> >>>> Features configuration >>>> --------------------------------- >>>> In Linux Ubuntu 6.06 LTS >>>> Boa versión 4.4 >>>> wx 2.6.1.2 ubuntu >>>> >>>> In Windows XP >>>> Boa 0.4.4 >>>> wx 2.6.1.0 msw unicode >>>> -------------------------------- >>>> >>>> Question: >>>> >>>> I can't select with a click the statictext widget and move it. But in >>>> >>> >> windows thats work fine. >> >> >>>> The question is: >>>> In mode layout I try to move statictext but I couldn't select it. >>>> But the textbox is posible select and move it, Why? >>>> >>> >> >> The reason is that under linux the statictext control does not >> respond to mouse clicks, there is nothing I can do about that. >> >> You may use the GenStaticText on the Library palette page which does >> respond to mouse clicks. >> >> Cheers, >> Riaan. >> >> ------------------------------------------------------------------------ >> >> >> >> >> >> >> >> >> >> Gabriel escribió: >> >>> Daniel: >>> Ya que es una lista en Castellano y eres español estaria muy bueno que >>> tambien formules tu consulta en ese idioma... >>> >>> Cordialmente >>> Gabriel >>> _______________________________________________ >>> Python-es mailing list >>> Python-es en aditel.org >>> http://listas.aditel.org/listinfo/python-es >>> >>> >> _______________________________________________ >> Python-es mailing list >> Python-es en aditel.org >> http://listas.aditel.org/listinfo/python-es >> >> > > ------------------------------------------------------------------------ > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From marcelo.schiavone en gmail.com Mon Jul 3 14:16:15 2006 From: marcelo.schiavone en gmail.com (marcelo schiavone) Date: Mon, 3 Jul 2006 09:16:15 -0300 Subject: SQLObject In-Reply-To: <65a1d6f80607020538w4961661ep800f95fa20ed2e3d@mail.gmail.com> References: <65a1d6f80607020538w4961661ep800f95fa20ed2e3d@mail.gmail.com> Message-ID: <931b28a60607030516g252f031fn4bb64e17feb705a8@mail.gmail.com> Hola, muchas gracias por la respuesta. Lo solucione de esa forma, ya que la otra solucion que intente no funciono. Habia intentado con metodos _get_ y _set_ del campo id. Saludos On 7/2/06, Iñigo Serna wrote: > [buenas, lo envío ahora desde la dirección de email con la que estoy > suscrito ;-] > > Buenas, > > perdón si llego tarde al mensaje... > > El "id" en SQLObject es un campo "interno" y *siempre* > autoincremental, da lo mismo que le cambies de nombre con el truco del > "sqlmeta". > Entiendo que lo que tú necesitas es que el campo "dni" sea una clave, > pero no primaria, para ello créalo como si fuera cualquier otro campo > normal y añádele lo de AlternateID=True. > > De la documentación: > """ > If you use alternateID=True, this means that the column uniquely > identifies rows -- like a username uniquely identifies a user. This > identifier is in addition to the primary key (id), which is always > present. > > Note > > SQLObject has a strong requirement that the primary key be unique and > immutable. You cannot change the primary key through SQLObject, and if > you change it through another mechanism you can cause inconsistency in > any running SQLObject program (and in your data). For this reason > meaningless integer IDs are encouraged -- something like a username > that could change in the future may uniquely identify a row, but it > may be changed in the future. So long as it is not used to reference > the row, it is also safe to change it in the future. """ > > Yo definiría la clase como: > > class usuario(SQLObject): > dni = StringCol(alternateID=True, length=9) > nombre = StringCol() > rol = ForeignKey('rol') > > NOTA: length = 9 ó 8 dependiende si el campo dni incluye la letra del NIF o no. > > Esto hace que "dni" sea clave no primaria, no autoincrementa, facilita > búsquedas, obliga a que no sea nulo, etc. > Es decir, que se puede hacer cosas como: > >>> u1 = Usuario.byDni('12345678A') > > y, por cierto, que el error que se menciona en u email anterior es tal > vez porque se define dni como StringCol y luego se le pasa un int en > vez de un string. > > Espero que hay sido de ayuda. > > Un saludo, > Iñigo Serna > > PD: por cierto, que es mi primer mensaje a la lista > > El mar, 27-06-2006 a las 19:59 -0400, Luis Miguel Morillas escribió: > 2006/6/27, marcelo schiavone : > > > Gracias Luis, pero probe esto que me has dicho y genera un campo "dni" > > > y otro "id", el cual es la clave primaria auto-incremental. Mi idea es > > > que "dni" sea la clave primaria y que no sea auto-incremental. > > > > > > > Tienes razon. Acabo de leerlo en la documentacion: > > If you use alternateID=True, this means that the column uniquely > > identifies rows -- like a username uniquely identifies a user. This > > identifier is in addition to the primary key (id), which is always > > present. > > > > Y si combinas las dos: alternateID y idName ? > > > > > Saludos > > > > > > > > > On 6/27/06, Luis Miguel Morillas wrote: > > > > 2006/6/27, marcelo schiavone : > > > > > Hola, alguien sabe como hacer para que el idName no sea auto-incremental. > > > > > Ejemplo: > > > > > class usuario(SQLObject): > > > > > class sqlmeta: > > > > > idName="dni" > > > > > nombre=StringCol() > > > > > rol=ForeignKey('rol') > > > > > > > > class usuario(SQLObject): > > > > dni = StringCol(alternateID=True) > > > > nombre = StringCol() > > > > rol = ForeignKey('rol') > > > > > > > > > > > > > > > > > > > > > > para agregar un usuario tengo que hacer: > > > > > usuario(nombre="nombre usuario", rol=None) > > > > > > > > > > porque si quiero poner el DNI de esta manera: > > > > > usuario(dni=32894, nombre="nombre usuario", rol=None) > > > > > larga el siguiente error: > > > > > usuario.set() got an unexpected keyword argument dni > > > > > > > > > > Saludos > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > From fpferrer en uci.cu Mon Jul 3 14:48:05 2006 From: fpferrer en uci.cu (=?iso-8859-1?Q?Francisco_P=E9rez_Ferrer?=) Date: Mon, 3 Jul 2006 08:48:05 -0400 Subject: Disenno de interfaces graficas con Python Message-ID: <320D3688276F054080FE12825DF1E90003040C0E@ucixw1.uci.cu> Hola a todos... Me estoy iniciando en Pitón y estoy evaluando dos IDEs para comenzar a hacer mis proyectos. Uno es el BOA.. muy comentado en esta lista, y otro el SPE. Del BOA tengo muy pocas quejas. Lo unico que le sennalo es que este ide fomenta la practica erronea de codificar paralelamente al disenno de las interfaces. (Uno aplica cualquier cambio hecho en la interfaz y en vez de salvar y quedarse en la misma vista pasa a la de edicion de codigo.) por lo demas lo veo muy rapido, las paletas de componentes estan bastante completas y dan muchas posibilidades. Del otro lado esta SPE. Con SPE, al tener integrado wxGlade uno puede desarrollar completamente la interfaz sin mirar una linea de codigo python siquiera. El editor de codigo de SPE trae algunos condimentos que ayudan mucho a la programación. Aunque es mas lento que el BOA a la hora de autocompletamiento de codigo. Lo peor que le veo al SPE es tener que desarrollar las interfaces con wxGlade, porque todavía no me acabo de entender bien con los sizers esos. Que piensan ustedes? Creen que las interfaces graficas quedan mejor con wxGlade usando sizers que con BOA usando el posisionamiento absoluto? Saludos. From jeancarlosr_ve en yahoo.com Mon Jul 3 21:05:28 2006 From: jeancarlosr_ve en yahoo.com (=?iso-8859-1?q?Jean=20Carlos=20Rodr=ECguez?=) Date: Mon, 3 Jul 2006 14:05:28 -0500 (CDT) Subject: ayuda con qt In-Reply-To: References: Message-ID: <20060703190528.27977.qmail@web53113.mail.yahoo.com> Hola queria decirte que el foro tiene algunas normas como no escribir con mayusculas porque eso es como si estubieras gritando.... Bueno aqui te doy algo, esta hecho en QT 3.3.4 y pyqt 3.13 espero te sirva (De Qt 4.1.3 no lo he probado) import sys from qttable import * from qt import * class Form(QDialog): def __init__(self,parent = None,name = None,modal = 0,fl = 0): QDialog.__init__(self,parent,name,modal,fl) self.setProperty('caption',QVariant(self.tr("Form"))) self.table = QTable(self,'table') self.table.setNumRows(4) self.table.setNumCols(4) combo = QComboBox(self.table) combo.setEditable(1) combo.insertItem('a') combo.insertItem('b') combo.insertItem('c') self.table.setCellWidget(1,1,combo) if __name__ == '__main__': a = QApplication(sys.argv) QObject.connect(a,SIGNAL('lastWindowClosed()'),a,SLOT('quit()')) w = Form() a.setMainWidget(w) w.show() a.exec_loop() > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > __________________________________________________ Correo Yahoo! Espacio para todos tus mensajes, antivirus y antispam ¡gratis! Regístrate ya - http://correo.espanol.yahoo.com/ From fpalm en ula.ve Tue Jul 4 02:55:44 2006 From: fpalm en ula.ve (Francisco Palm) Date: Mon, 03 Jul 2006 20:55:44 -0400 Subject: Disenno de interfaces graficas con Python In-Reply-To: <320D3688276F054080FE12825DF1E90003040C0E@ucixw1.uci.cu> References: <320D3688276F054080FE12825DF1E90003040C0E@ucixw1.uci.cu> Message-ID: <44A9BC90.5090107@ula.ve> Francisco Pérez Ferrer escribió: > Hola a todos... > Me estoy iniciando en Pitón y estoy evaluando dos IDEs para comenzar a hacer mis proyectos. Uno es el BOA.. muy comentado en esta lista, y otro el SPE. > Del BOA tengo muy pocas quejas. Lo unico que le sennalo es que este ide fomenta la practica erronea de codificar paralelamente al disenno de las interfaces. (Uno aplica cualquier cambio hecho en la interfaz y en vez de salvar y quedarse en la misma vista pasa a la de edicion de codigo.) por lo demas lo veo muy rapido, las paletas de componentes estan bastante completas y dan muchas posibilidades. > > Del otro lado esta SPE. Con SPE, al tener integrado wxGlade uno puede desarrollar completamente la interfaz sin mirar una linea de codigo python siquiera. El editor de codigo de SPE trae algunos condimentos que ayudan mucho a la programación. Aunque es mas lento que el BOA a la hora de autocompletamiento de codigo. Lo peor que le veo al SPE es tener que desarrollar las interfaces con wxGlade, porque todavía no me acabo de entender bien con los sizers esos. Que piensan ustedes? Creen que las interfaces graficas quedan mejor con wxGlade usando sizers que con BOA usando el posisionamiento absoluto? Creo que las mejores opciones son las "puras". Diseñas con Glade y después lo conectas a tu código con PyGTK o Diseñas con QtDesigner y después lo conectas a tu código con PyQT wxGlade no me parece tan "puro" pero es una buena opción si te interesa que la aplicación se vea bien en Windows. BOA es un proyecto que tiene más de un año en el 0.4.4 alpha y no parece tener mucho movimiento. Su mayor éxito en que trata de imitar a Delphi que también ha sido imitado por los desarrolladores de VisualBasic. SPE es un excelente editor de código Python. Vi, ViM, y EMACS también lo son. En particular me gusta PIDA que es un ViM o con Culebra :-D... En fin, entre gustos y colores.. F. Palm From jlopezfranco en gmail.com Tue Jul 4 09:40:36 2006 From: jlopezfranco en gmail.com (Juan Pablo Lopez Franco) Date: Tue, 4 Jul 2006 09:40:36 +0200 Subject: Parseador HTML en Python Message-ID: Hola a todos, Me llamo Juan Pablo y es la primera vez que escribo en la lista. Tengo que hacer un parser en Python que añada o borre marcadores de Firefox. Estos marcadores vienen dados en un fichero bookmarks.html. Mi idea era recorrer este html y guardarlo en una estructura de arbol para comparar con los enlaces que quiero añadir/borrar He encontrado un modulo llamado HTMLParser pero me da fallos porque el fichero bookmarks.html no esta vien formado (algunas etiquetas como DT se abren pero no se cierran). Tambien he encontrado una herramienta que añade los marcadores de Firefox a delicious pero estoy bastante verde en Python y me cuesta entender algunas cosas. Aqui os dejo el enlace: http://sourceforge.net/projects/bkmrk2dlcs/ A ver si podeis echarme una mano, tanto si conoceis alguna herramienta que ya haga esto como si se os ocurre otra manera de hacerlo Muchas gracias! From lsolis en mu.intecsa-inarsa.es Tue Jul 4 09:52:27 2006 From: lsolis en mu.intecsa-inarsa.es (L Solis oficina) Date: Tue, 04 Jul 2006 09:52:27 +0200 Subject: encoding Message-ID: <44AA1E3B.2030500@mu.intecsa-inarsa.es> me encuentro el siguiente problema con la ñ, Traceback (most recent call last): File "D:\dev\python\dao\Graficos_xy\Data_xy.py", line 424, in append_data lista.append(str(titulo2)) UnicodeEncodeError: 'ascii' codec can't encode character u'\xd1' in position 11: ordinal not in range(128) he probado con # -*- coding: iso-8859-15 -*- y con # -*- coding: utf-8 -*- si pongo # -*- coding: utf-16 -*- me da el error SyntaxError: UTF-16 stream does not start with BOM (main.py, line 3) ¿hay alguna manera de poder manejar la ñ? Gracias, Luis From hernan en orgmf.com.ar Tue Jul 4 10:00:01 2006 From: hernan en orgmf.com.ar (Hernan Martinez Foffani) Date: Tue, 4 Jul 2006 10:00:01 +0200 Subject: Parseador HTML en Python In-Reply-To: References: Message-ID: <11fab4bc0607040100q15890a5eyc19080336091addd@mail.gmail.com> > Me llamo Juan Pablo y es la primera vez que escribo en la lista. Tengo > que hacer un parser en Python que añada o borre marcadores de Firefox. > Estos marcadores vienen dados en un fichero bookmarks.html. > > Mi idea era recorrer este html y guardarlo en una estructura de arbol > para comparar con los enlaces que quiero añadir/borrar > > He encontrado un modulo llamado HTMLParser pero me da fallos porque el > fichero bookmarks.html no esta vien formado (algunas etiquetas como DT > se abren pero no se cierran). El HTMLParser es estricto. ¿Has probado Beautiful Soup? http://www.crummy.com/software/BeautifulSoup/ -H. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From rapto en arrakis.es Tue Jul 4 10:07:43 2006 From: rapto en arrakis.es (Marcos) Date: Tue, 04 Jul 2006 10:07:43 +0200 Subject: encoding In-Reply-To: <44AA1E3B.2030500@mu.intecsa-inarsa.es> References: <44AA1E3B.2030500@mu.intecsa-inarsa.es> Message-ID: <1152000463.5323.5.camel@localhost.localdomain> al convertir a cadena de bytes (con str) tienes que especificar la codificación de salida. Dependiendo de la aplicación, puede ser una u otra (o no necesitarlo). Mira http://listas.aditel.org/archivos/python-es/2006-June/018043.html El mar, 04-07-2006 a las 09:52 +0200, L Solis oficina escribió: > me encuentro el siguiente problema con la ñ, > > Traceback (most recent call last): > File "D:\dev\python\dao\Graficos_xy\Data_xy.py", line 424, in append_data > lista.append(str(titulo2)) > UnicodeEncodeError: 'ascii' codec can't encode character u'\xd1' in > position 11: ordinal not in range(128) > > he probado con > # -*- coding: iso-8859-15 -*- y con # -*- coding: utf-8 -*- > si pongo > # -*- coding: utf-16 -*- > me da el error > SyntaxError: UTF-16 stream does not start with BOM (main.py, line 3) > > > ¿hay alguna manera de poder manejar la ñ? > > Gracias, Luis > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From cesar.ortiz en gmail.com Tue Jul 4 10:20:30 2006 From: cesar.ortiz en gmail.com (Cesar Ortiz) Date: Tue, 4 Jul 2006 10:20:30 +0200 Subject: Parseador HTML en Python In-Reply-To: <11fab4bc0607040100q15890a5eyc19080336091addd@mail.gmail.com> References: <11fab4bc0607040100q15890a5eyc19080336091addd@mail.gmail.com> Message-ID: <90255a70607040120t3d2c4985wb59aafa83d486479@mail.gmail.com> Una opción que yo he usado es tidy + HTMLParser. Pero es mas recomendable como ya te han indicado un parser menos estricto. Beautiful Soup no lo he probado, pero si libxml2. Libxml2 (está escrito en C) en su propia distribución tiene bindings para python: http://xmlsoft.org/python.html. Otro binding para libxml2 es: http://codespeak.net/lxml/. -- César On 7/4/06, Hernan Martinez Foffani wrote: > > > Me llamo Juan Pablo y es la primera vez que escribo en la lista. Tengo > > que hacer un parser en Python que añada o borre marcadores de Firefox. > > Estos marcadores vienen dados en un fichero bookmarks.html. > > > > Mi idea era recorrer este html y guardarlo en una estructura de arbol > > para comparar con los enlaces que quiero añadir/borrar > > > > He encontrado un modulo llamado HTMLParser pero me da fallos porque el > > fichero bookmarks.html no esta vien formado (algunas etiquetas como DT > > se abren pero no se cierran). > > El HTMLParser es estricto. ¿Has probado Beautiful Soup? > http://www.crummy.com/software/BeautifulSoup/ > > -H. > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > > > -- Página personal: http://www.cesar.ortiz.name Weblog: http://cesarob.blogspot.com/ From mlarreategi en codesyntax.com Tue Jul 4 10:38:12 2006 From: mlarreategi en codesyntax.com (Mikel Larreategi) Date: Tue, 04 Jul 2006 10:38:12 +0200 Subject: Parseador HTML en Python In-Reply-To: <90255a70607040120t3d2c4985wb59aafa83d486479@mail.gmail.com> References: <11fab4bc0607040100q15890a5eyc19080336091addd@mail.gmail.com> <90255a70607040120t3d2c4985wb59aafa83d486479@mail.gmail.com> Message-ID: <44AA28F4.2010102@codesyntax.com> Cesar Ortiz(e)k dio: > Una opción que yo he usado es tidy + HTMLParser. Pero es mas recomendable > como ya te han indicado un parser menos estricto. > Beautiful Soup no lo he probado, pero si libxml2. Libxml2 (está escrito en > C) en su propia distribución tiene bindings para python: > http://xmlsoft.org/python.html. > Otro binding para libxml2 es: http://codespeak.net/lxml/. lxml incorpora también un parser para HTML (es el de libxml2): >>> from lxml import etree >>> from urllib2 import urlopen >>> sock = urlopen('http://www.google.com/') >>> doc = etree.HTML(sock.read()) >>> etree.tostring(doc) 'Google (...) Más documentación: http://codespeak.net/svn/lxml/trunk/doc/api.txt Saludos, -- Mikel Larreategi mlarreategi en codesyntax.com CodeSyntax Azitaingo Industrialdea 3 K E-20600 Eibar Tel: (+34) 943 82 17 80 From gnomeusr en gmail.com Tue Jul 4 13:11:54 2006 From: gnomeusr en gmail.com (--gfc) Date: Tue, 4 Jul 2006 07:11:54 -0400 Subject: encoding In-Reply-To: <1152000463.5323.5.camel@localhost.localdomain> References: <44AA1E3B.2030500@mu.intecsa-inarsa.es> <1152000463.5323.5.camel@localhost.localdomain> Message-ID: <6a98e6850607040411r1b80ffdavfb1c557f067b6c8e@mail.gmail.com> prueba con este codigo al principio de tu archivo #!/usr/bin/env python > # -*- coding: UTF8 -*- Saludos. --GfC 2006/7/4, Marcos : > > al convertir a cadena de bytes (con str) tienes que especificar la > codificación de salida. Dependiendo de la aplicación, puede ser una u > otra (o no necesitarlo). Mira > http://listas.aditel.org/archivos/python-es/2006-June/018043.html > > El mar, 04-07-2006 a las 09:52 +0200, L Solis oficina escribió: > > me encuentro el siguiente problema con la ñ, > > > > Traceback (most recent call last): > > File "D:\dev\python\dao\Graficos_xy\Data_xy.py", line 424, in > append_data > > lista.append(str(titulo2)) > > UnicodeEncodeError: 'ascii' codec can't encode character u'\xd1' in > > position 11: ordinal not in range(128) > > > > he probado con > > # -*- coding: iso-8859-15 -*- y con # -*- coding: utf-8 -*- > > si pongo > > # -*- coding: utf-16 -*- > > me da el error > > SyntaxError: UTF-16 stream does not start with BOM (main.py, line 3) > > > > > > ¿hay alguna manera de poder manejar la ñ? > > > > Gracias, Luis > > > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es > > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > > > -- Gabriel Felipe Cornejo Salas Universidad Autonoma de Chile Usuario Linux # 412909 --GfC From gnomeusr en gmail.com Tue Jul 4 13:12:45 2006 From: gnomeusr en gmail.com (--gfc) Date: Tue, 4 Jul 2006 07:12:45 -0400 Subject: encoding In-Reply-To: <44AA1E3B.2030500@mu.intecsa-inarsa.es> References: <44AA1E3B.2030500@mu.intecsa-inarsa.es> Message-ID: <6a98e6850607040412u5c19a935nc6bd068c2f58c2d5@mail.gmail.com> > > prueba con este codigo al principio de tu archivo > > #!/usr/bin/env python > > # -*- coding: UTF8 -*- > > > Saludos. > --GfC > -- Gabriel Felipe Cornejo Salas Universidad Autonoma de Chile Usuario Linux # 412909 --GfC From py en ch3m4.org Tue Jul 4 13:21:55 2006 From: py en ch3m4.org (Chema Cortes) Date: Tue, 04 Jul 2006 13:21:55 +0200 Subject: encoding In-Reply-To: <44AA1E3B.2030500@mu.intecsa-inarsa.es> References: <44AA1E3B.2030500@mu.intecsa-inarsa.es> Message-ID: <44AA4F53.8050708@ch3m4.org> L Solis oficina escribió: > me encuentro el siguiente problema con la ñ, > > Traceback (most recent call last): > File "D:\dev\python\dao\Graficos_xy\Data_xy.py", line 424, in append_data > lista.append(str(titulo2)) > UnicodeEncodeError: 'ascii' codec can't encode character u'\xd1' in > position 11: ordinal not in range(128) > > he probado con > # -*- coding: iso-8859-15 -*- y con # -*- coding: utf-8 -*- > si pongo > # -*- coding: utf-16 -*- > me da el error > SyntaxError: UTF-16 stream does not start with BOM (main.py, line 3) > > > ¿hay alguna manera de poder manejar la ñ? Tendría que haber por lo menos una manera, si no habría que inventarla. Ya lo he puesto alguna vez en un mensaje de la lista, pero no me importa repetir: Algunas "codificaciones" de la letra Ñ: latin1 --> d1 unicode --> 00d1 utf8 --> c391 utf16le --> fffe d100 Lo digo porque hay que utf8 es tan sólo una codificación de unicodes, pero no es su equivalente. Siguiendo con equivalencias, al trabajar en python con unicode tenemos las siguiente equivalencias (según el PEP-100 http://www.python.org/dev/peps/pep-0100/) str(u) --> u.encode() print u --> print u.encode() repr(u) --> "u%s" % repr(u.encode('unicode-escape')) En tu caso, "titulo2" parece estar codificado en unicode con lo que "str(titulo2)" es equivalente a "titulo2.encode()" que convierte la cadena unicode en la codificación por defecto, normalmente ascii. No hay letra 'Ñ' en ascii (ascii7, se entiende), por lo que da error. Tú sabrás qué quieres hacer, pero ya que el título lo tienes codificado en unicode lo mejor es seguir trabajando en unicode hasta que te veas obligado a transformarlo en otra codificación. Para ello no emplees str(); emplea titulo2.encode("latin1") o la codificación que necesites. Especificando la codificación con un comentario "coding" estás indicando "desde qué codificación" defines cadenas unicode del texto. Si las cadenas las obtienes desde otros módulos o librerías, no te va a influir en absoluto para nada. La codificación del fichero de texto con el código depende del sistema operativo que estés usando, pero ayuda bastante los editores de texto para programadores que pueden trabajar en varias codificaciones. A principio de los ficheros de texto se les suele poner una marca "invisible" indicado que está codificado para unicode y el orden de los bytes con el que se ha guardado el fichero. Ésa es la marca BOM (Byte Order Mark) que le faltaba a tu fichero. No estaba guardado como utf16. -- Chema Cortés (py en ch3m4.org) "Proudly made on earth by generic humanoid carbon units" From lsolis en mu.intecsa-inarsa.es Tue Jul 4 14:29:16 2006 From: lsolis en mu.intecsa-inarsa.es (L Solis oficina) Date: Tue, 04 Jul 2006 14:29:16 +0200 Subject: encoding In-Reply-To: <44AA4F53.8050708@ch3m4.org> References: <44AA1E3B.2030500@mu.intecsa-inarsa.es> <44AA4F53.8050708@ch3m4.org> Message-ID: <44AA5F1C.8010700@mu.intecsa-inarsa.es> Chema Cortes escribió: > L Solis oficina escribió: > >> me encuentro el siguiente problema con la ñ, >> >> Traceback (most recent call last): >> File "D:\dev\python\dao\Graficos_xy\Data_xy.py", line 424, in append_data >> lista.append(str(titulo2)) >> UnicodeEncodeError: 'ascii' codec can't encode character u'\xd1' in >> position 11: ordinal not in range(128) >> >> he probado con >> # -*- coding: iso-8859-15 -*- y con # -*- coding: utf-8 -*- >> si pongo >> # -*- coding: utf-16 -*- >> me da el error >> SyntaxError: UTF-16 stream does not start with BOM (main.py, line 3) >> >> >> ¿hay alguna manera de poder manejar la ñ? >> > > Tendría que haber por lo menos una manera, si no habría que inventarla. > > Ya lo he puesto alguna vez en un mensaje de la lista, pero no me importa > repetir: > > Algunas "codificaciones" de la letra Ñ: > > latin1 --> d1 > unicode --> 00d1 > utf8 --> c391 > utf16le --> fffe d100 > > Lo digo porque hay que utf8 es tan sólo una codificación de unicodes, > pero no es su equivalente. > > Siguiendo con equivalencias, al trabajar en python con unicode tenemos > las siguiente equivalencias (según el PEP-100 > http://www.python.org/dev/peps/pep-0100/) > > str(u) --> u.encode() > print u --> print u.encode() > repr(u) --> "u%s" % repr(u.encode('unicode-escape')) > > > En tu caso, "titulo2" parece estar codificado en unicode con lo que > "str(titulo2)" es equivalente a "titulo2.encode()" que convierte la > cadena unicode en la codificación por defecto, normalmente ascii. No hay > letra 'Ñ' en ascii (ascii7, se entiende), por lo que da error. Tú sabrás > qué quieres hacer, pero ya que el título lo tienes codificado en unicode > lo mejor es seguir trabajando en unicode hasta que te veas obligado a > transformarlo en otra codificación. Para ello no emplees str(); emplea > titulo2.encode("latin1") o la codificación que necesites. > > Especificando la codificación con un comentario "coding" estás indicando > "desde qué codificación" defines cadenas unicode del texto. Si las > cadenas las obtienes desde otros módulos o librerías, no te va a influir > en absoluto para nada. > > La codificación del fichero de texto con el código depende del sistema > operativo que estés usando, pero ayuda bastante los editores de texto > para programadores que pueden trabajar en varias codificaciones. A > principio de los ficheros de texto se les suele poner una marca > "invisible" indicado que está codificado para unicode y el orden de los > bytes con el que se ha guardado el fichero. Ésa es la marca BOM (Byte > Order Mark) que le faltaba a tu fichero. No estaba guardado como utf16. > > > > gracias por tu paciencia y vocación docente From mlacunza en gmail.com Tue Jul 4 16:49:11 2006 From: mlacunza en gmail.com (Mario Lacunza) Date: Tue, 4 Jul 2006 09:49:11 -0500 Subject: Disenno de interfaces graficas con Python In-Reply-To: <44A9BC90.5090107@ula.ve> References: <320D3688276F054080FE12825DF1E90003040C0E@ucixw1.uci.cu> <44A9BC90.5090107@ula.ve> Message-ID: <771741b20607040749v5044abe2qc3cd5af12927c6a3@mail.gmail.com> El día 3/07/06, Francisco Palm escribió: > > Francisco Pérez Ferrer escribió: > > Hola a todos... > > Me estoy iniciando en Pitón y estoy evaluando dos IDEs para comenzar a > hacer mis proyectos. Uno es el BOA.. muy comentado en esta lista, y otro el > SPE. Ojo q es Python... ;-) > Del BOA tengo muy pocas quejas. Lo unico que le sennalo es que este ide > fomenta la practica erronea de codificar paralelamente al disenno de las > interfaces. (Uno aplica cualquier cambio hecho en la interfaz y en vez de > salvar y quedarse en la misma vista pasa a la de edicion de codigo.) por lo > demas lo veo muy rapido, las paletas de componentes estan bastante completas > y dan muchas posibilidades. > > Uhm...no es una practica erronea, graficamente las tiene separadas en dos Views. En python y mas precisamente en wxPython, codificar GUIs se puede hacer en puro texto sin necesidad de un IDE, es mas Boa te genera "separado" dentro del mismo archivo la parte de la generacion de controles y tu codigo, tal vez no te acostumbres pero sino , puedes crear una clase a parte para tu codigo. > Del otro lado esta SPE. Con SPE, al tener integrado wxGlade uno puede > desarrollar completamente la interfaz sin mirar una linea de codigo python > siquiera. El editor de codigo de SPE trae algunos condimentos que ayudan > mucho a la programación. Aunque es mas lento que el BOA a la hora de > autocompletamiento de codigo. Lo peor que le veo al SPE es tener que > desarrollar las interfaces con wxGlade, porque todavía no me acabo de > entender bien con los sizers esos. Que piensan ustedes? Creen que las > interfaces graficas quedan mejor con wxGlade usando sizers que con BOA > usando el posisionamiento absoluto? Con Boa tambien puedes usar Sizers, en el manual de Boa te enseñan como hacerlo. Creo que las mejores opciones son las "puras". > > Diseñas con Glade y después lo conectas a tu código con PyGTK o > Diseñas con QtDesigner y después lo conectas a tu código con PyQT > wxGlade no me parece tan "puro" pero es una buena opción si te interesa > que la aplicación se vea bien en Windows. Te recuerdo q ambos IDEs son para trabajar con wxPython, q es por la q parece q se decanto el amigo, por lo q tu comparacion no queda muy cuadrada en el marco. Como dices si quieres q tu App te quede bien en ambos OS parece wxPython una buena opcion, dado q windows no implementa muy bien y facil GTK. En cuanto a PyQT no he tenido oportunidad de probarlo basicamente pues cuando estuve decidiendo por la GUI a usar este todavia tenia licencia restrictiva. Pero se q es muy bueno. BOA es un proyecto que tiene más de un año en el 0.4.4 alpha y no parece > tener mucho movimiento. Su mayor éxito en que trata de imitar a Delphi > que también ha sido imitado por los desarrolladores de VisualBasic. Te equivocas, Riaan me ha corregido dos bugs en menos de 2 dias. SPE es un excelente editor de código Python. Vi, ViM, y EMACS también lo > son. En particular me gusta PIDA que es un ViM o con Culebra :-D... Vi PIDA, pero ese si me parecio q esta fuera de desarrollo, es mas su pagina tiene muchos errores, corrigeme si me equivoco. -- Saludos / Best regards Mario Lacunza Desarrollador de Sistemas - Webmaster Desarrollador 2 Estrellas VS2005 Email: mlacunza [AT] gmail [DOT] com Blog: http://mlacunza.blogspot.com/ Lima - Peru From fpalm en ula.ve Tue Jul 4 17:20:53 2006 From: fpalm en ula.ve (Francisco Palm) Date: Tue, 4 Jul 2006 11:20:53 -0400 Subject: Disenno de interfaces graficas con Python In-Reply-To: <771741b20607040749v5044abe2qc3cd5af12927c6a3@mail.gmail.com> References: <320D3688276F054080FE12825DF1E90003040C0E@ucixw1.uci.cu> <44A9BC90.5090107@ula.ve> <771741b20607040749v5044abe2qc3cd5af12927c6a3@mail.gmail.com> Message-ID: On 7/4/06, Mario Lacunza wrote: > > > BOA es un proyecto que tiene más de un año en el 0.4.4 alpha y no parece > > tener mucho movimiento. Su mayor éxito en que trata de imitar a Delphi > > que también ha sido imitado por los desarrolladores de VisualBasic. > > > Te equivocas, Riaan me ha corregido dos bugs en menos de 2 dias. Ya, pero estos bugs y el progreso del desarrollo no está totalmente abierto. El desarrollo de la aplicación si queda cerrado a un "grupo de amigos" no anda. No se puede tomar muy en serio una aplicación que tienes que descargarla del sistema de gestión de versiones, todos los que se descargaron la versión de sourceforge no tienen manera de saber que el desarrollador ha estado resolviendo bugs. SPE es un excelente editor de código Python. Vi, ViM, y EMACS también lo > > son. En particular me gusta PIDA que es un ViM o con Culebra :-D... > > > Vi PIDA, pero ese si me parecio q esta fuera de desarrollo, es mas su > pagina > tiene muchos errores, corrigeme si me equivoco. A mi me gusta el "concepto" de PIDA. Y tienes razón parece que no lo han actualizado recientemente. Sin embargo, creo que lo mejor es utilizar editores de texto potentes y só?idos como vi o Emacs y manejar herramientas de python desde la cónsola, incluso desde algo como ipython que es muy potente. Considero que SPE es muy superior a BOA, más completo, mucho más estable, más características, más flexible, la página web se mantiene actualizada (la de Boa http://boa-constructor.sourceforge.net/ no se actualiza desde el 2003) y ha sabido generar una buena comunidad a su alrededor, Saludos F. Palm -- del Delirio al Limbo.... ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From mlacunza en gmail.com Tue Jul 4 17:55:11 2006 From: mlacunza en gmail.com (Mario Lacunza) Date: Tue, 4 Jul 2006 10:55:11 -0500 Subject: Disenno de interfaces graficas con Python In-Reply-To: References: <320D3688276F054080FE12825DF1E90003040C0E@ucixw1.uci.cu> <44A9BC90.5090107@ula.ve> <771741b20607040749v5044abe2qc3cd5af12927c6a3@mail.gmail.com> Message-ID: <771741b20607040855y1b17c2dfufa0ca295fead2f3f@mail.gmail.com> 2006/7/4, Francisco Palm : > > On 7/4/06, Mario Lacunza wrote: > > > > > > BOA es un proyecto que tiene más de un año en el 0.4.4 alpha y no parece > > > tener mucho movimiento. Su mayor éxito en que trata de imitar a Delphi > > > que también ha sido imitado por los desarrolladores de VisualBasic. > > > > > > Te equivocas, Riaan me ha corregido dos bugs en menos de 2 dias. > > > Ya, pero estos bugs y el progreso del desarrollo no está totalmente > abierto. > El desarrollo de la aplicación si queda cerrado a un "grupo de amigos" no > anda. No se puede tomar muy en serio una aplicación que tienes que > descargarla del sistema de gestión de versiones, todos los que se > descargaron la versión de sourceforge no tienen manera de saber que el > desarrollador ha estado resolviendo bugs. Te equivocas, los bugs fueron enviados la lista q puedes revizar en Sourceforge. Y si se tiene manera de saber de estas correcciones, xq a parte de mandarlas a la lista, las puedes bajar via SVN o CVS. Hay q usar todas las herramientas a nuestra disposicion. SPE es un excelente editor de código Python. Vi, ViM, y EMACS también lo > > > son. En particular me gusta PIDA que es un ViM o con Culebra :-D... > > > > > > Vi PIDA, pero ese si me parecio q esta fuera de desarrollo, es mas su > > pagina > > tiene muchos errores, corrigeme si me equivoco. > > > A mi me gusta el "concepto" de PIDA. Y tienes razón parece que no lo han > actualizado recientemente. Sin embargo, creo que lo mejor es utilizar > editores de texto potentes y só?idos como vi o Emacs y manejar > herramientas > de python desde la cónsola, incluso desde algo como ipython que es muy > potente. > > Considero que SPE es muy superior a BOA, más completo, mucho más estable, > más características, más flexible, la página web se mantiene actualizada > (la > de Boa http://boa-constructor.sourceforge.net/ no se actualiza desde el > 2003) y ha sabido generar una buena comunidad a su alrededor, > > Bueno aqui si no concuerdo contigo, me parece q las opciones de Boa son superiores, comenzando q tiene paleta Zope, una mayor gama de controles para el GUI Designer (motivo de este hilo), debuger integrado, expansible con un modelo de PlugIns bien definido, soporte para CVS, control de proyectos, editores para XML, .config, y algo importante: no tiene problemas con el enconding!! hay .py q si me corren en el Boa y q el Spe se atraganta por este motivo. A mi por ejemplo el Boa me funciona perfecto tanto en Ubuntu como en Windows, sin embargo el SPE no me trabaja bien en Ubuntu, particularmente el Debuguer externo y por lo q se de Stani parece q ha parado del desarrollo desde hace buen tiempo. Yo estoy traduciendo el manual de SPE al español por lo q ando mas en contacto con ellos, pero como repito esta parada la cosa. En cuanto al web de Boa si bien es cierto q no se actualiza, parece q no lo necesita :-) no te dejes engañar por el numero de version 0.44 en realidad hace mas q eso. Como se habran dado cuenta, lo considero el mejor IDE para wxPython ;-) -- Saludos / Best regards Mario Lacunza Desarrollador de Sistemas - Webmaster Desarrollador 2 Estrellas VS2005 Email: mlacunza [AT] gmail [DOT] com Website: mlacunzav[AT]cogia[AT]net Blog: http://mlacunza.blogspot.com/ Lima - Peru ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From fpferrer en uci.cu Tue Jul 4 18:54:42 2006 From: fpferrer en uci.cu (=?UTF-8?B?RnJhbmNpc2NvIFDDqXJleiBGZXJyZXI=?=) Date: Tue, 4 Jul 2006 12:54:42 -0400 Subject: Disenno de interfaces graficas con Python Message-ID: <320D3688276F054080FE12825DF1E900030D165F@ucixw1.uci.cu> Muchas gracias a Francisco y Mario por sus opiniones. Es muy bueno leer post como los suyos y poder aprender de sus experiencias. Pues si. La idea mia es usar wxPython porque quiero hacer aplicaciones que corran en Linux y Windows y tengan el "look and feel" de ambas plataformas. Pero solo discrepo con algo. En BOA, cuando estoy construyendo la interfaz, por que cuando aplico los cambios y salvo los mismos me aparece la ventana de codigo??? Por que no se mantiene en el top la ventana de edicion?? Supongamos que estamos en un entorno de un proyecto de mediano o gran tamanno y todos usamos BOA para desarrollar; y supongamos tambien que tenemos un equipo con roles bien definidos y según las capas logicas de nuestro sistema. Supongamos que hay un responsable de desarrollar las interfaces graficas, que se encarga de dejarlo todo con las pautas de disenno definidas para el sistema etc.. y supongamos que hay otro responsable de desarrollar las clases de gestion de interfaz y por ahí para abajo un monton de esclavos mas.. pues bien... el que desarrolla la interfaz no tiene por que ver siquiera una linea de codigo, su funcion es solamente tirar controles y dejarlo todo bonito, pero el modo de trabajo del boa se hace molesto en este sentido porque cada vez que salvo el minimo cambio me pasa a la ventana de codigo... Se entendio mi inconformidad??? Quizas alguno de la lista pudiera transmitir mis inquietudes a los desarrolladores a ver que respuesta dan estos. Fijense que estoy hablando de BOA en un ambiente de producción real; para construir softwares bien diseñados en su arquitectura; con equipos de trabajo donde existan roles bien definidos. Saludos. -----Original Message----- From: python-es-bounces en aditel.org [mailto:python-es-bounces en aditel.org] On Behalf Of Mario Lacunza Sent: Tuesday, July 04, 2006 11:55 AM To: La lista de python en castellano Subject: Re: [Python-es] Disenno de interfaces graficas con Python 2006/7/4, Francisco Palm : > > On 7/4/06, Mario Lacunza wrote: > > > > > > BOA es un proyecto que tiene más de un año en el 0.4.4 alpha y no parece > > > tener mucho movimiento. Su mayor éxito en que trata de imitar a Delphi > > > que también ha sido imitado por los desarrolladores de VisualBasic. > > > > > > Te equivocas, Riaan me ha corregido dos bugs en menos de 2 dias. > > > Ya, pero estos bugs y el progreso del desarrollo no está totalmente > abierto. > El desarrollo de la aplicación si queda cerrado a un "grupo de amigos" no > anda. No se puede tomar muy en serio una aplicación que tienes que > descargarla del sistema de gestión de versiones, todos los que se > descargaron la versión de sourceforge no tienen manera de saber que el > desarrollador ha estado resolviendo bugs. Te equivocas, los bugs fueron enviados la lista q puedes revizar en Sourceforge. Y si se tiene manera de saber de estas correcciones, xq a parte de mandarlas a la lista, las puedes bajar via SVN o CVS. Hay q usar todas las herramientas a nuestra disposicion. SPE es un excelente editor de código Python. Vi, ViM, y EMACS también lo > > > son. En particular me gusta PIDA que es un ViM o con Culebra :-D... > > > > > > Vi PIDA, pero ese si me parecio q esta fuera de desarrollo, es mas su > > pagina > > tiene muchos errores, corrigeme si me equivoco. > > > A mi me gusta el "concepto" de PIDA. Y tienes razón parece que no lo han > actualizado recientemente. Sin embargo, creo que lo mejor es utilizar > editores de texto potentes y só?idos como vi o Emacs y manejar > herramientas > de python desde la cónsola, incluso desde algo como ipython que es muy > potente. > > Considero que SPE es muy superior a BOA, más completo, mucho más estable, > más características, más flexible, la página web se mantiene actualizada > (la > de Boa http://boa-constructor.sourceforge.net/ no se actualiza desde el > 2003) y ha sabido generar una buena comunidad a su alrededor, > > Bueno aqui si no concuerdo contigo, me parece q las opciones de Boa son superiores, comenzando q tiene paleta Zope, una mayor gama de controles para el GUI Designer (motivo de este hilo), debuger integrado, expansible con un modelo de PlugIns bien definido, soporte para CVS, control de proyectos, editores para XML, .config, y algo importante: no tiene problemas con el enconding!! hay .py q si me corren en el Boa y q el Spe se atraganta por este motivo. A mi por ejemplo el Boa me funciona perfecto tanto en Ubuntu como en Windows, sin embargo el SPE no me trabaja bien en Ubuntu, particularmente el Debuguer externo y por lo q se de Stani parece q ha parado del desarrollo desde hace buen tiempo. Yo estoy traduciendo el manual de SPE al español por lo q ando mas en contacto con ellos, pero como repito esta parada la cosa. En cuanto al web de Boa si bien es cierto q no se actualiza, parece q no lo necesita :-) no te dejes engañar por el numero de version 0.44 en realidad hace mas q eso. Como se habran dado cuenta, lo considero el mejor IDE para wxPython ;-) -- Saludos / Best regards Mario Lacunza Desarrollador de Sistemas - Webmaster Desarrollador 2 Estrellas VS2005 Email: mlacunza [AT] gmail [DOT] com Website: mlacunzav[AT]cogia[AT]net Blog: http://mlacunza.blogspot.com/ Lima - Peru ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From ajdenstone en bkb.com.br Tue Jul 4 18:57:58 2006 From: ajdenstone en bkb.com.br (Denstone, Alexandre J) Date: Tue, 04 Jul 2006 13:57:58 -0300 Subject: RES: Parseador HTML en Python In-Reply-To: <44AA28F4.2010102@codesyntax.com> References: <44AA28F4.2010102@codesyntax.com> Message-ID: <8B662AE84208164780E1EEAADFD2CD31032E291C@ex2k.bankofamerica.com> Has probado ElementTree? http://effbot.org/zone/element-index.htm Alexandre J Denstone ajdenstone en bkb.com.br -----Mensagem original----- De: python-es-bounces en aditel.org [mailto:python-es-bounces en aditel.org] Em nome de Mikel Larreategi Enviada em: terça-feira, 4 de julho de 2006 05:38 Para: La lista de python en castellano Assunto: Re: [Python-es] Parseador HTML en Python Cesar Ortiz(e)k dio: > Una opción que yo he usado es tidy + HTMLParser. Pero es mas recomendable > como ya te han indicado un parser menos estricto. > Beautiful Soup no lo he probado, pero si libxml2. Libxml2 (está escrito en > C) en su propia distribución tiene bindings para python: > http://xmlsoft.org/python.html. > Otro binding para libxml2 es: http://codespeak.net/lxml/. lxml incorpora también un parser para HTML (es el de libxml2): >>> from lxml import etree >>> from urllib2 import urlopen >>> sock = urlopen('http://www.google.com/') >>> doc = etree.HTML(sock.read()) >>> etree.tostring(doc) 'Google (...) Más documentación: http://codespeak.net/svn/lxml/trunk/doc/api.txt Saludos, -- Mikel Larreategi mlarreategi en codesyntax.com CodeSyntax Azitaingo Industrialdea 3 K E-20600 Eibar Tel: (+34) 943 82 17 80 _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es Esta mensagem, incluindo seus anexos, pode conter informação confidencial e/ou privilegiada. Se você recebeu este e-mail por engano, não utilize, copie ou divulgue as informações nele contidas. E, por favor, avise imediatamente o remetente, respondendo ao e-mail, e em seguida apague-o. Este e-mail possui conteúdo informativo e não transacional. Caso necessite de atendimento imediato, recomendamos utilizar um dos canais disponíveis: Internet Banking , BankBoston por telefone ou agência/representante de atendimento de sua conveniência. Agradecemos sua colaboração. This message, including its attachments, may contain confidential and/or privileged information. If you received this email by mistake, do not use, copy or disseminate any information herein contained. Please notify us immediately by replying to the sender and then delete it. This email is for information purposes only, not for transactions. In case you need immediate assistance, please use one of the following channels: Internet Banking , BankBoston by phone or branch/relationship manager at your convenience. Thank you for your cooperation. From mlacunza en gmail.com Tue Jul 4 20:59:48 2006 From: mlacunza en gmail.com (Mario Lacunza) Date: Tue, 4 Jul 2006 13:59:48 -0500 Subject: Disenno de interfaces graficas con Python In-Reply-To: <320D3688276F054080FE12825DF1E900030D165F@ucixw1.uci.cu> References: <320D3688276F054080FE12825DF1E900030D165F@ucixw1.uci.cu> Message-ID: <771741b20607041159v3a39e03ejb1ecb3e55470a997@mail.gmail.com> 2006/7/4, Francisco Pérez Ferrer : > > Muchas gracias a Francisco y Mario por sus opiniones. Es muy bueno leer > post como los suyos y poder aprender de sus experiencias. Pues si. La idea > mia es usar wxPython porque quiero hacer aplicaciones que corran en Linux y > Windows y tengan el "look and feel" de ambas plataformas. > Pero solo discrepo con algo. En BOA, cuando estoy construyendo la > interfaz, por que cuando aplico los cambios y salvo los mismos me aparece la > ventana de codigo??? Por que no se mantiene en el top la ventana de > edicion?? > Supongamos que estamos en un entorno de un proyecto de mediano o gran > tamanno y todos usamos BOA para desarrollar; y supongamos tambien que > tenemos un equipo con roles bien definidos y según las capas logicas de > nuestro sistema. Supongamos que hay un responsable de desarrollar las > interfaces graficas, que se encarga de dejarlo todo con las pautas de > disenno definidas para el sistema etc.. y supongamos que hay otro > responsable de desarrollar las clases de gestion de interfaz y por ahí para > abajo un monton de esclavos mas.. pues bien... el que desarrolla la > interfaz no tiene por que ver siquiera una linea de codigo, su funcion es > solamente tirar controles y dejarlo todo bonito, pero el modo de trabajo del > boa se hace molesto en este sentido porque cada vez que salvo el minimo > cambio me pasa a la ventana de codigo... > Se entendio mi inconformidad??? > > Quizas alguno de la lista pudiera transmitir mis inquietudes a los > desarrolladores a ver que respuesta dan estos. > Fijense que estoy hablando de BOA en un ambiente de producción real; para > construir softwares bien diseñados en su arquitectura; con equipos de > trabajo donde existan roles bien definidos. > > Saludos. > > Mi pregunta es: como salvas los cambios??? Si estas usando el boton q es un Check, este lo q hace es generar el codigo Python para lo q has diseñado en el GUI Designer, logicamente lo cierra y te pone en la vista de Code Editor. Si usas el Save (icono del diskette) lo q hace es escribir fisicamente los cambios en el disco y alli pierde el foco la ventana, dejandote en el tab Data, pero no cierra el GUI Designer. Yo termino de hacer todo el GUI y lo grabo, asi q me es comodo q al hacer esto me pase a la vista de codigo. Pero si te sigue siendo incomodo te sugiero dos cosas: 1. Ponlo en la lista de Boa 2. Puedes corregirlo tu mismo, pues Boa es Opensource :-) En cuanto a tu pregunta sobre la division de funciones, no entiendo xq el lio, el desarrollador de GUIs puede sencillamente hacer los forms en un GUI.py, mientras q el de datos o codigo puede ir haciendo eso en un modulo a parte,... claro teniendo el UML del sistema bien definido, el OOP de Python te permite hacerlo sin problemas en otra clase ubicada en otro Code.py, despues es solo importar el otro modulo. -- Saludos / Best regards Mario Lacunza Desarrollador de Sistemas - Webmaster Desarrollador 2 Estrellas VS2005 Email: mlacunza [AT] gmail [DOT] com Website: mlacunzav[AT]cogia[AT]net Blog: http://mlacunza.blogspot.com/ Lima - Peru From py en ch3m4.org Wed Jul 5 09:24:50 2006 From: py en ch3m4.org (Chema Cortes) Date: Wed, 05 Jul 2006 09:24:50 +0200 Subject: Disenno de interfaces graficas con Python In-Reply-To: <320D3688276F054080FE12825DF1E900030D165F@ucixw1.uci.cu> References: <320D3688276F054080FE12825DF1E900030D165F@ucixw1.uci.cu> Message-ID: <44AB6942.7000200@ch3m4.org> Francisco Pérez Ferrer escribió: > Muchas gracias a Francisco y Mario por sus opiniones. Es muy bueno leer post como los suyos y poder aprender de sus experiencias. Pues si. La idea mia es usar wxPython porque quiero hacer aplicaciones que corran en Linux y Windows y tengan el "look and feel" de ambas plataformas. > Pero solo discrepo con algo. En BOA, cuando estoy construyendo la interfaz, por que cuando aplico los cambios y salvo los mismos me aparece la ventana de codigo??? Por que no se mantiene en el top la ventana de edicion?? > Supongamos que estamos en un entorno de un proyecto de mediano o gran tamanno y todos usamos BOA para desarrollar; y supongamos tambien que tenemos un equipo con roles bien definidos y según las capas logicas de nuestro sistema. Supongamos que hay un responsable de desarrollar las interfaces graficas, que se encarga de dejarlo todo con las pautas de disenno definidas para el sistema etc.. y supongamos que hay otro responsable de desarrollar las clases de gestion de interfaz y por ahí para abajo un monton de esclavos mas.. pues bien... el que desarrolla la interfaz no tiene por que ver siquiera una linea de codigo, su funcion es solamente tirar controles y dejarlo todo bonito, pero el modo de trabajo del boa se hace molesto en este sentido porque cada vez que salvo el minimo cambio me pasa a la ventana de codigo... > Se entendio mi inconformidad??? Entiendo tu decepción, pero recuerdo que la motivación inicial de los desarrolladores del Boa era la creación de una herramienta que facilitara la tarea de programación, y no la creación de un entorno visual integrado completo. Ésto explica, por ejemplo, que no se considerara prioritario añadir un editor visual para sizers si éstos, al final, hay que programarlos desde código de todos modos. Mejor emplear esos esfuerzos en otra parte. -- Chema Cortés (py en ch3m4.org) "Proudly made on earth by generic humanoid carbon units" ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From ibarona en tid.es Wed Jul 5 07:45:23 2006 From: ibarona en tid.es (Isaac Barona) Date: Wed, 05 Jul 2006 07:45:23 +0200 Subject: Disenno de interfaces graficas con Python In-Reply-To: <320D3688276F054080FE12825DF1E900030D165F@ucixw1.uci.cu> References: <320D3688276F054080FE12825DF1E900030D165F@ucixw1.uci.cu> Message-ID: <44AB51F3.1060908@tid.es> Te recomiendo que evalues pyQT. Yo creo que es la opción más avanzada y potente para desarrollar aplicaciones multiplataforma (y que mantengan el "look and feel" como dices). Además, a partir de la versión 4.0, la librería QT tiene licencia dual GPL/comercial para todas las plataformas (Windows incluida). Saludos, Isaac Francisco Pérez Ferrer wrote: > Muchas gracias a Francisco y Mario por sus opiniones. Es muy bueno leer post como los suyos y poder aprender de sus experiencias. Pues si. La idea mia es usar wxPython porque quiero hacer aplicaciones que corran en Linux y Windows y tengan el "look and feel" de ambas plataformas. > Pero solo discrepo con algo. En BOA, cuando estoy construyendo la interfaz, por que cuando aplico los cambios y salvo los mismos me aparece la ventana de codigo??? Por que no se mantiene en el top la ventana de edicion?? > Supongamos que estamos en un entorno de un proyecto de mediano o gran tamanno y todos usamos BOA para desarrollar; y supongamos tambien que tenemos un equipo con roles bien definidos y según las capas logicas de nuestro sistema. Supongamos que hay un responsable de desarrollar las interfaces graficas, que se encarga de dejarlo todo con las pautas de disenno definidas para el sistema etc.. y supongamos que hay otro responsable de desarrollar las clases de gestion de interfaz y por ahí para abajo un monton de esclavos mas.. pues bien... el que desarrolla la interfaz no tiene por que ver siquiera una linea de codigo, su funcion es solamente tirar controles y dejarlo todo bonito, pero el modo de trabajo del boa se hace molesto en este sentido porque cada vez que salvo el minimo cambio me pasa a la ventana de codigo... > Se entendio mi inconformidad??? > > Quizas alguno de la lista pudiera transmitir mis inquietudes a los desarrolladores a ver que respuesta dan estos. > Fijense que estoy hablando de BOA en un ambiente de producción real; para construir softwares bien diseñados en su arquitectura; con equipos de trabajo donde existan roles bien definidos. > > Saludos. > > -----Original Message----- > From: python-es-bounces en aditel.org [mailto:python-es-bounces en aditel.org] On Behalf Of Mario Lacunza > Sent: Tuesday, July 04, 2006 11:55 AM > To: La lista de python en castellano > Subject: Re: [Python-es] Disenno de interfaces graficas con Python > > 2006/7/4, Francisco Palm : > >> On 7/4/06, Mario Lacunza wrote: >> >>> BOA es un proyecto que tiene más de un año en el 0.4.4 alpha y no parece >>> >>>> tener mucho movimiento. Su mayor éxito en que trata de imitar a Delphi >>>> que también ha sido imitado por los desarrolladores de VisualBasic. >>>> >>> Te equivocas, Riaan me ha corregido dos bugs en menos de 2 dias. >>> >> Ya, pero estos bugs y el progreso del desarrollo no está totalmente >> abierto. >> El desarrollo de la aplicación si queda cerrado a un "grupo de amigos" no >> anda. No se puede tomar muy en serio una aplicación que tienes que >> descargarla del sistema de gestión de versiones, todos los que se >> descargaron la versión de sourceforge no tienen manera de saber que el >> desarrollador ha estado resolviendo bugs. >> > > > > Te equivocas, los bugs fueron enviados la lista q puedes revizar en > Sourceforge. > Y si se tiene manera de saber de estas correcciones, xq a parte de mandarlas > a la lista, las puedes bajar via SVN o CVS. Hay q usar todas las > herramientas a nuestra disposicion. > > SPE es un excelente editor de código Python. Vi, ViM, y EMACS también lo > >>>> son. En particular me gusta PIDA que es un ViM o con Culebra :-D... >>>> >>> Vi PIDA, pero ese si me parecio q esta fuera de desarrollo, es mas su >>> pagina >>> tiene muchos errores, corrigeme si me equivoco. >>> >> A mi me gusta el "concepto" de PIDA. Y tienes razón parece que no lo han >> actualizado recientemente. Sin embargo, creo que lo mejor es utilizar >> editores de texto potentes y só?idos como vi o Emacs y manejar >> herramientas >> de python desde la cónsola, incluso desde algo como ipython que es muy >> potente. >> >> Considero que SPE es muy superior a BOA, más completo, mucho más estable, >> más características, más flexible, la página web se mantiene actualizada >> (la >> de Boa http://boa-constructor.sourceforge.net/ no se actualiza desde el >> 2003) y ha sabido generar una buena comunidad a su alrededor, >> >> >> > Bueno aqui si no concuerdo contigo, me parece q las opciones de Boa son > superiores, comenzando q tiene paleta Zope, una mayor gama de controles para > el GUI Designer (motivo de este hilo), debuger integrado, expansible con un > modelo de PlugIns bien definido, soporte para CVS, control de proyectos, > editores para XML, .config, y algo importante: no tiene problemas con el > enconding!! hay .py q si me corren en el Boa y q el Spe se atraganta por > este motivo. > > A mi por ejemplo el Boa me funciona perfecto tanto en Ubuntu como en > Windows, sin embargo el SPE no me trabaja bien en Ubuntu, particularmente el > Debuguer externo y por lo q se de Stani parece q ha parado del desarrollo > desde hace buen tiempo. > > Yo estoy traduciendo el manual de SPE al español por lo q ando mas en > contacto con ellos, pero como repito esta parada la cosa. > > En cuanto al web de Boa si bien es cierto q no se actualiza, parece q no lo > necesita :-) no te dejes engañar por el numero de version 0.44 en realidad > hace mas q eso. > > Como se habran dado cuenta, lo considero el mejor IDE para wxPython ;-) > > > ------------------------------------------------------------------------ > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > -- "Sólo hay dos cosas infinitas: el universo y la estupidez humana. Y no estoy tan seguro de la primera" Albert Einstein. Isaac Barona Martínez Terminales Públicos de Acceso a Internet Telefónica I+D c/ Emilio Vargas, 6 28043 Madrid (SPAIN) Tel: 91 337 44 05 Fax: 91 337 39 66 e-mail: ibarona en tid.es ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From maramsis en gmail.com Wed Jul 5 15:54:27 2006 From: maramsis en gmail.com (maram) Date: Wed, 05 Jul 2006 10:54:27 -0300 Subject: Editor jedit Message-ID: <1152107668.5273.35.camel@margus.ciudad.com.ar> Estoy probando el jedit... como editor me parece muy completo y con muchos plugins... Que opinion tienen del mismo en su uso con python? Si bien jedit es Open Source, necesita el runtime de java: jre que no es libre, alguno lo pudo hacer andar con otra base de java libre? ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From peonblanco83 en gmail.com Wed Jul 5 17:24:23 2006 From: peonblanco83 en gmail.com (Peon Blanco) Date: Wed, 5 Jul 2006 09:24:23 -0600 Subject: problemas al instalar Psycopg2-2.0.2 Message-ID: Hola al querer instalar este paquete me marca este error /usr/lib/gcc-lib/i486-slackware-linux/3.3.6/../../../../i486-slackware-linux/bin/ld: cannot find -lpq collect2: ld returnet 1 exit status error command ´gcc´ failed with exit status 1 e agregado a el archivo setup.py las lineas include_dirs= ["/usr/local/pgsql/include"] library_dirs= ["/usr/local/pgsql/lib"] e seguido un manual pero es de la version 1.1.21 que es lo que en este manual indica uso python 2.4.1 slackware 10.2 postgresql-8.1.4 espero y me puedan ayudar GRASIAS From alexcaparo en hotmail.com Wed Jul 5 23:27:57 2006 From: alexcaparo en hotmail.com (alex caparo chavez) Date: Wed, 05 Jul 2006 21:27:57 +0000 Subject: (sin asunto) Message-ID: Hola Soy un nuevo usuario de Python, bajo entorno windows XP; en estos días estoy programando una aplicación para analizar estructuras paralo cual necesito el paquete SciPy; de hecho lo he instalado pero algunas funciones no van bien como por ejemplo integrate.quad, me aparece un mensaje deciendo que Python debe cerrarse y después termina reiniciando el IDLE. Yo no soy un programador profesional, pero mi meta es hacer mi propio programa ya que en mi carrera es importante el poder analizar estructuras. Por eso necesito este paquete. También necesito el paquete gnuplot-py pero al parecer se debe hacer algunos pasos paraque funcionen bajo windows XP. Espero alguien me pueda ayudar porfavor. Pdta. La razón para hacerlo bajo Windows es para poder distribuir libremente este programa y en centro de estudios, sólo usan WindowsXP... Gracias From python en ammsoft.com Wed Jul 5 16:58:52 2006 From: python en ammsoft.com (Amm-Python) Date: Wed, 5 Jul 2006 16:58:52 +0200 Subject: Disenno de interfaces graficas con Python In-Reply-To: AAAAAIQQJZINhhBArhGVVySOJs8EbCsA Message-ID: <001101c6a043$882a62d0$640010ac@nombref31twj9b> Opino lo mismo. Ayer, por fin, tuve tiempo e instale las QT4 + PyQt4 y la primera impresión fue muy pero que muy buena. El QtDesigner, parece, cubre de sobra todas mis necesidades. Sigo sin tener claro que herramienta utilizaré para editar el código. Además, o estoy muy verde en Qt, o me parece apreciar que la lista de controles es más limitada que Wx. Echo en falta un super ejemplo como el de Wxpython. El que lleva PyQt es correcto, pero sólo eso, correcto. Durante algún tiempo tendré que seguir con Boa + SPE (Formularios con BOA, código con SPE). El proyecto en el que estoy metido ya tiene más de 100 formularios, por lo que no puedo tirarlos. Supongo que en unos 2 meses habré terminado la versión Wx. Mientras iré pasando los módulos a QT y podré ir comparando ambos desarrollos. En pyQt seguiré usando SPE, ya que tiene cosas muy útiles, y esperaré a que usuarios de otros editores aconsejen otra solución. Sobre todo sería interesante que usuarios de Eclipse + PyDev comentaran sus impresiones. Ya que, me han dicho, es un entorno muy satisfactorio. Un buen sitio para generarte dudas a mogollón: http://wiki.python.org/moin/IntegratedDevelopmentEnvironments Saludos, Toni > -----Mensaje original----- > De: python-es-bounces en aditel.org [mailto:python-es-bounces en aditel.org] > En nombre de Isaac Barona Enviado el: dimecres, 5 / juliol / 2006 > 07:45 > Para: La lista de python en castellano > Asunto: Re: [Python-es] Disenno de interfaces graficas con Python > > > Te recomiendo que evalues pyQT. Yo creo que es la opción más avanzada > y potente para desarrollar aplicaciones multiplataforma (y que > mantengan el "look and feel" como dices). Además, a partir de la > versión 4.0, la > librería QT tiene licencia dual GPL/comercial para todas las > plataformas > (Windows incluida). > > Saludos, > Isaac From pych3m4 en gmail.com Thu Jul 6 01:44:33 2006 From: pych3m4 en gmail.com (Chema Cortes) Date: Thu, 6 Jul 2006 01:44:33 +0200 Subject: problemas al instalar Psycopg2-2.0.2 In-Reply-To: References: Message-ID: <2c9fb0dd0607051644u1405bfc1uecd99576c29e3a1c@mail.gmail.com> EL 2006/7/5, Peon Blanco escribió: > Hola al querer instalar este paquete me marca este error > > /usr/lib/gcc-lib/i486-slackware-linux/3.3.6/../../../../i486-slackware-linux/bin/ld: > cannot find -lpq > collect2: ld returnet 1 exit status > error command ´gcc´ failed with exit status 1 Te indica que no encuentra la librería de postgres (libpq.so). Desconozco slackware, pero tiene pinta de que te falta instalarla. > > e agregado a el archivo setup.py las lineas > > include_dirs= ["/usr/local/pgsql/include"] > library_dirs= ["/usr/local/pgsql/lib"] > > e seguido un manual pero es de la version 1.1.21 que es lo que en este > manual indica Si te da problemas las versión 2, usa psycopg-1 que sobra para muchas cosas. > uso > python 2.4.1 > slackware 10.2 > postgresql-8.1.4 From pych3m4 en gmail.com Thu Jul 6 02:09:59 2006 From: pych3m4 en gmail.com (Chema Cortes) Date: Thu, 6 Jul 2006 02:09:59 +0200 Subject: (sin asunto) In-Reply-To: References: Message-ID: <2c9fb0dd0607051709u2e86bacbw12d4a241ca108ece@mail.gmail.com> El 5/07/06, alex caparo chavez escribió: > Soy un nuevo usuario de Python, bajo entorno windows XP; en estos días estoy > programando una aplicación para analizar estructuras paralo cual necesito el > paquete SciPy; de hecho lo he instalado pero algunas funciones no van bien > como por ejemplo integrate.quad, me aparece un mensaje deciendo que Python > debe cerrarse y después termina reiniciando el IDLE. Yo no soy un > programador profesional, pero mi meta es hacer mi propio programa ya que en > mi carrera es importante el poder analizar estructuras. Por eso necesito > este paquete. También necesito el paquete gnuplot-py pero al parecer se debe > hacer algunos pasos paraque funcionen bajo windows XP. Espero alguien me > pueda ayudar porfavor. ¿Has instalado Numpy? ¿Qué versiones tienes? Ejecuta el script desde una cónsola de comandos y copia el error que te da para saber mejor qué te ocurre. Igual deberías echar un vistazo a "Python Enthought". Usa MatPlot en lugar de Gnuplot, pero la instalación es bastante directa: http://code.enthought.com/enthon/ From ibarona en tid.es Thu Jul 6 08:01:25 2006 From: ibarona en tid.es (Isaac Barona) Date: Thu, 06 Jul 2006 08:01:25 +0200 Subject: Disenno de interfaces graficas con Python In-Reply-To: <001101c6a043$882a62d0$640010ac@nombref31twj9b> References: <001101c6a043$882a62d0$640010ac@nombref31twj9b> Message-ID: <44ACA735.8070407@tid.es> Dos editores que la gente suele utilizar para programar con las QT (o pyQT) son: * Eric3: http://www.die-offenbachs.de/detlev/eric3.html * KDevelop: http://www.kdevelop.org/ Ambos entornos son principalmente para desarrollo sobre Linux. En el caso de Eric3 se pueden utilizar un portado libre de la librería QT versión 3 a windows. Supongo que con el cambio de licencia de las QT en su versión 4 no habrá problemas en tener una versión de eric para windows cuando este pase de utilizar la versión 3 de QT a la 4. Saludos, Isaac Amm-Python wrote: > Opino lo mismo. > Ayer, por fin, tuve tiempo e instale las QT4 + PyQt4 y la primera > impresión fue muy pero que muy buena. > El QtDesigner, parece, cubre de sobra todas mis necesidades. > Sigo sin tener claro que herramienta utilizaré para editar el código. > > Además, o estoy muy verde en Qt, o me parece apreciar que la lista de > controles es más limitada que Wx. > > Echo en falta un super ejemplo como el de Wxpython. > El que lleva PyQt es correcto, pero sólo eso, correcto. > > Durante algún tiempo tendré que seguir con Boa + SPE (Formularios con > BOA, código con SPE). > El proyecto en el que estoy metido ya tiene más de 100 formularios, por > lo que no puedo tirarlos. > Supongo que en unos 2 meses habré terminado la versión Wx. > > Mientras iré pasando los módulos a QT y podré ir comparando ambos > desarrollos. > > En pyQt seguiré usando SPE, ya que tiene cosas muy útiles, y esperaré a > que usuarios de otros editores aconsejen otra solución. > > Sobre todo sería interesante que usuarios de Eclipse + PyDev comentaran > sus impresiones. > Ya que, me han dicho, es un entorno muy satisfactorio. > > Un buen sitio para generarte dudas a mogollón: > http://wiki.python.org/moin/IntegratedDevelopmentEnvironments > > Saludos, > Toni > >> -----Mensaje original----- >> De: python-es-bounces en aditel.org [mailto:python-es-bounces en aditel.org] >> En nombre de Isaac Barona Enviado el: dimecres, 5 / juliol / 2006 >> 07:45 >> Para: La lista de python en castellano >> Asunto: Re: [Python-es] Disenno de interfaces graficas con Python >> >> >> Te recomiendo que evalues pyQT. Yo creo que es la opción más avanzada >> y potente para desarrollar aplicaciones multiplataforma (y que >> mantengan el "look and feel" como dices). Además, a partir de la >> versión 4.0, la >> librería QT tiene licencia dual GPL/comercial para todas las >> plataformas >> (Windows incluida). >> >> Saludos, >> Isaac >> > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > > -- "Sólo hay dos cosas infinitas: el universo y la estupidez humana. Y no estoy tan seguro de la primera" Albert Einstein. Isaac Barona Martínez Terminales Públicos de Acceso a Internet Telefónica I+D c/ Emilio Vargas, 6 28043 Madrid (SPAIN) Tel: 91 337 44 05 Fax: 91 337 39 66 e-mail: ibarona en tid.es From alatar en auna.com Thu Jul 6 09:46:00 2006 From: alatar en auna.com (Alatar) Date: Thu, 6 Jul 2006 09:46:00 +0200 Subject: Activar search en GTK.TreeView Message-ID: <000c01c6a0d0$3a0a40b0$6401a8c0@edhellond> Salu2 a todos. Quisiera saber la forma de activar el search en un GTK.TreeView mediante código. Es decir, quisiera poder hacer que al pulsar un ToolButton se activara la búsqueda imitando el efecto de pulsar Ctrl + F en un GTK.TreeView en el ya he activado el search y el search_column. Gracias de antemano. From elizundia en fitbak.com Thu Jul 6 09:25:56 2006 From: elizundia en fitbak.com (elizundia en fitbak.com) Date: Thu, 6 Jul 2006 09:25:56 +0200 (CEST) Subject: Python PDA Message-ID: <1024.62.14.206.114.1152170756.squirrel@mail.fitbak.com> Hola a todos, soy nuevo y quisiera que me resolvierais una duda que tengo. Tengo que desarrollar una aplicacion que funcione en un PDA con windows CE de Sistema operativo. La duda que tengo es si existe un interprete para PDAs o no, que ejecute en la PDA la aplicacion que programe con Python en mi ordenador. La aplicacion necesitaria conectarse a un servidor que estaria en un pc para acceder a un base de datos, la aplicacion del PDA mandaria informacion primero para guardar datos en esa base de datos que luego la PDA tambien podria solicitar informacion de la misma. Gracias de antemano, saludos Ekaitz From alexis.roda.villalonga en gmail.com Thu Jul 6 11:01:30 2006 From: alexis.roda.villalonga en gmail.com (Alexis Roda) Date: Thu, 06 Jul 2006 11:01:30 +0200 Subject: Python PDA In-Reply-To: <1024.62.14.206.114.1152170756.squirrel@mail.fitbak.com> References: <1024.62.14.206.114.1152170756.squirrel@mail.fitbak.com> Message-ID: <44ACD16A.4040102@gmail.com> En/na elizundia en fitbak.com ha escrit: > Hola a todos, soy nuevo y quisiera que me resolvierais una duda que tengo. > > Tengo que desarrollar una aplicacion que funcione en un PDA con windows CE > de Sistema operativo. La duda que tengo es si existe un interprete para > PDAs o no, que ejecute en la PDA la aplicacion que programe con Python en > mi ordenador. http://www.google.es/search?q=python+windows+CE+port Saludos From javi.pacheco en terra.es Thu Jul 6 10:05:18 2006 From: javi.pacheco en terra.es (javi pacheco) Date: Thu, 06 Jul 2006 10:05:18 +0200 Subject: Python PDA In-Reply-To: <1024.62.14.206.114.1152170756.squirrel@mail.fitbak.com> References: <1024.62.14.206.114.1152170756.squirrel@mail.fitbak.com> Message-ID: <1152173118.5434.0.camel@javielinux-desktop> Aqui lo tienes todo http://blogs.unixage.com/blojsom/blog/adam.kruszewski/python/ al final hay un archivo que tiene PythonCE, WxPython, PyGame, TkInter, PySQLite, todo del tirón espero que te sirva El jue, 06-07-2006 a las 09:25 +0200, elizundia en fitbak.com escribió: > Hola a todos, soy nuevo y quisiera que me resolvierais una duda que tengo. > > Tengo que desarrollar una aplicacion que funcione en un PDA con windows CE > de Sistema operativo. La duda que tengo es si existe un interprete para > PDAs o no, que ejecute en la PDA la aplicacion que programe con Python en > mi ordenador. > La aplicacion necesitaria conectarse a un servidor que estaria en un pc > para acceder a un base de datos, la aplicacion del PDA mandaria > informacion primero para guardar datos en esa base de datos que luego la > PDA tambien podria solicitar informacion de la misma. > > Gracias de antemano, saludos > > Ekaitz > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From jaime en iaa.es Thu Jul 6 22:03:26 2006 From: jaime en iaa.es (Jaime Perea) Date: Thu, 6 Jul 2006 22:03:26 +0200 Subject: Fwd: [SciPy-user] ANN: Python Enthought Edition Version 1.0.0.beta3 Released Message-ID: <200607062203.26483.jaime@iaa.es> Me llegó por casualidad -- Jaime D. Perea Duarte. Linux registered user #10472 Dep. Astrofisica Extragalactica. Instituto de Astrofisica de Andalucia (CSIC) Apdo. 3004, 18080 Granada, Spain. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From fpferrer en uci.cu Fri Jul 7 00:56:13 2006 From: fpferrer en uci.cu (=?iso-8859-1?Q?Francisco_P=E9rez_Ferrer?=) Date: Thu, 6 Jul 2006 18:56:13 -0400 Subject: BOA en Windows Message-ID: <320D3688276F054080FE12825DF1E900031CD03A@ucixw1.uci.cu> Hola... como hago para correr el BOA-Constructor bajo Windows??? Acabo de instalarlo pero no encuentro ninguna entrada en el menú. Gracias. From mlacunza en gmail.com Fri Jul 7 01:01:01 2006 From: mlacunza en gmail.com (Mario Lacunza) Date: Thu, 6 Jul 2006 18:01:01 -0500 Subject: BOA en Windows In-Reply-To: <320D3688276F054080FE12825DF1E900031CD03A@ucixw1.uci.cu> References: <320D3688276F054080FE12825DF1E900031CD03A@ucixw1.uci.cu> Message-ID: <771741b20607061601p7ba6eb84hbc8f5ab4bcc79ff0@mail.gmail.com> Busca el archivo Boa.pyw El día 6/07/06, Francisco Pérez Ferrer escribió: > > Hola... como hago para correr el BOA-Constructor bajo Windows??? > Acabo de instalarlo pero no encuentro ninguna entrada en el menú. > > Gracias. > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > -- Saludos / Best regards Mario Lacunza Desarrollador de Sistemas - Webmaster Desarrollador 2 Estrellas VS2005 Email: mlacunza [AT] gmail [DOT] com Website: mlacunzav[AT]cogia[AT]net Blog: http://mlacunza.blogspot.com/ Lima - Peru From pych3m4 en gmail.com Fri Jul 7 01:18:54 2006 From: pych3m4 en gmail.com (Chema Cortes) Date: Fri, 7 Jul 2006 01:18:54 +0200 Subject: Disenno de interfaces graficas con Python In-Reply-To: <001101c6a043$882a62d0$640010ac@nombref31twj9b> References: <001101c6a043$882a62d0$640010ac@nombref31twj9b> Message-ID: <2c9fb0dd0607061618s21e499fej6078094b7981c21b@mail.gmail.com> El 5/07/06, Amm-Python escribió: > Sobre todo sería interesante que usuarios de Eclipse + PyDev comentaran > sus impresiones. > Ya que, me han dicho, es un entorno muy satisfactorio. Yo podría contar mi experiencia con este entorno, pero no se ajustaría a tema que estamos tratando. Eclipse hay que verlo como un mega-entorno de desarrollo y un meta-framework (un framework para crear frameworks) que ambiciona conn convertirse en una herramienta válida para cualquier desarrollo en cualquier plataforma, lenguaje o metodología. Para java se consolida como un sistema de desarrollo muy completo que ha cambiado los modos de desarrollar una aplicación (nuevo "Modelo Estándar") Para python, PyDev y las PyDev-extensions permiten el desarrollo y depurado de programas python y jython. Yo la utilizo con jython y sólo puedo decir que es ideal. A parte de tratar el código como cualquier otro IDE haría, el autocompletado incluye las clases de los paquetes java, indicadores de cambios en el texto, refactorización, etc, así como poder utilizar otras utilidades tipo UML y SQL. En cuanto a interfaces gráficos, que de éso iba la pregunta, el eclipse tiene el "Visual Editor Project" (VEP) que es un megaframework para desarrollar diseñadores visuales. Como ejemplos lleva un diseñador para AWT/Swing y otro para SWT (librería en código nativo con la que está hecho eclipse). Desconozco si hay algún diseñador más disponible. Oí rumores de que estaban haciendo uno para gtk# dentro de la estrategia de convertir eclipse en un entorno completo para mono. Con lo que hay, se podría utilizar VEP para diseñar interfaces SWT para python y swing para jython. Lo malo es que, de momento, los diseñadores que lleva VEP sólo generan código java y requieren de un proyecto java contenedor. Se podría combinar un proyecto java con un proyecto pydev, pero, la verdad, no lo he probado. No he necesitado hacer interfaces para jython ya que todo lo que desarrollo está orientado a web. Por completar el listado de diseñadores gráficos, habría una opción bastente interesante, pero sin ser python del todo: usar boo, un lenguaje muy similar al python. Tanto sharpdevelop como monodevelop están preparados para programar con boo e incluyen diseñadores gráficos "visuales" bastante completos. From riverodiego en gmail.com Fri Jul 7 09:38:16 2006 From: riverodiego en gmail.com (Diego Rivero) Date: Fri, 7 Jul 2006 09:38:16 +0200 Subject: consulta amigos Message-ID: Como va amigos de la lista ya tengo armado lo que queria hacer es pasar mis archivos de bash a python, me llebo tiempo pero a prendi mucho y ante todo gracias a la lista que siempre ayuda de corazòn. pero lo que me esta faltando es que yo los tenia todo en un menù las opciones en un menu que habia armado en bash les paso un ejemplo pero al menu lo quiero hacer en un script de python si tiene por ahi un ejemplo se lo agradeceria que tengan un buen dìa. paso un ejemplo cortito Un ejemplo clásico es la creación de un menú: #!/bin/bash ############################## # Genera un menú de opciones # ############################## echo "[1] Listar archivos" echo "[2] Ver directorio de trabajo" echo "[3] Crear directorio" echo "[4] Crear usuario" read -p "Ingrese una opción: " OPCION case $OPCION in 1) ls;; 2) pwd;; 3) read -p "Ingrese nombre del directorio a crear: " DIRECTORIO mkdir $DIRECTORIO;; 4) if id | grep uid=0 then read -p "Ingrese el nombre del usuario a crear: " NOMBREUSUARIO useradd $NOMBREUSUARIO else echo "Se necesitan permisos de root" fi;; *) echo "Opción ingresada no valida, intentelo de nuevo" exit 1;; esac exit 0 $ From BECAARCA2010 en orona.es Fri Jul 7 10:42:42 2006 From: BECAARCA2010 en orona.es (becaarca2010) Date: Fri, 7 Jul 2006 10:42:42 +0200 Subject: dlls y apuntador a cadenas Message-ID: <3D5B537550076947B70A6A6012E101F253CDDC@HESW036.orona.es> Buenas, Estoy intentando enviar una cadena a una funcion de una dll con el módulo ctypes y obtengo el siguiente error, La llamada a la función es esta: >>> can.TCP_configure(c_ubyte(1),c_char_p("localhost"),c_uint(puerto)) # Puerto es 9000 por ejemplo Traceback (most recent call last): File "", line 1, in -toplevel- can.TCP_configure(c_ubyte(1),p,c_uint(puerto)) ValueError: Procedure called with not enough arguments (12 bytes missing) or wrong calling convention El prototipo de la función de C es: int __cdecl TCP_configure(BOOL _bIsServer,char *_szServerIP, UINT _uPort) He probado a hacer can.TCP_configure(1,c_char_p("localhost"),(puerto) y me da el mismo error por lo que creo que es por el "localhost" como puedo solucionarlo? Gracias Jesús Mª Pérez From marcelo.schiavone en gmail.com Fri Jul 7 14:17:26 2006 From: marcelo.schiavone en gmail.com (marcelo schiavone) Date: Fri, 7 Jul 2006 09:17:26 -0300 Subject: BOA en Windows In-Reply-To: <771741b20607061601p7ba6eb84hbc8f5ab4bcc79ff0@mail.gmail.com> References: <320D3688276F054080FE12825DF1E900031CD03A@ucixw1.uci.cu> <771741b20607061601p7ba6eb84hbc8f5ab4bcc79ff0@mail.gmail.com> Message-ID: <931b28a60607070517q32da57f0x71a89e3b66d30cc1@mail.gmail.com> Para ejecutarlo abri una terminal, y escribe: python /path/Boa.py On 7/6/06, Mario Lacunza wrote: > Busca el archivo Boa.pyw > > El día 6/07/06, Francisco Pérez Ferrer escribió: > > > > Hola... como hago para correr el BOA-Constructor bajo Windows??? > > Acabo de instalarlo pero no encuentro ninguna entrada en el menú. > > > > Gracias. > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es > > > > > > -- > Saludos / Best regards > > Mario Lacunza > Desarrollador de Sistemas - Webmaster > Desarrollador 2 Estrellas VS2005 > > Email: mlacunza [AT] gmail [DOT] com > Website: mlacunzav[AT]cogia[AT]net > Blog: http://mlacunza.blogspot.com/ > Lima - Peru > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > From ogunsett en gmail.com Fri Jul 7 14:58:35 2006 From: ogunsett en gmail.com (oscar) Date: Fri, 7 Jul 2006 09:58:35 -0300 Subject: consulta amigos In-Reply-To: References: Message-ID: <200607070958.35951.ogunsett@gmail.com> Supongo estas aprendiendo python y los consejos son los siguientes para hacer algo similar pero en python y si no es muy importante el manejo de pantalla tendrias que hacer lo siguiente: reemplazar echo por print reemplazar read por input y el case por una serie de if puede ser anidados tambien por que no existe un case equivalente en python, consulta la sintaxis general de if. Imagino que ya sabes ejecutar un comando externo desde python. En todo caso envia otra pregunta. El Viernes, 7 de Julio de 2006 04:38, Diego Rivero escribió: > Como va amigos de la lista ya tengo armado lo que queria hacer es pasar mis > archivos de bash a python, me llebo tiempo pero a prendi mucho y ante todo > gracias a la lista que siempre ayuda de corazòn. pero lo que me esta > faltando es que yo los tenia todo en un menù las opciones en un menu que > habia armado en bash les paso un ejemplo pero al menu lo quiero hacer en un > script de python si tiene por ahi un ejemplo se lo agradeceria que tengan > un buen dìa. > paso un ejemplo cortito > > Un ejemplo clásico es la creación de un menú: > > #!/bin/bash > ############################## > # Genera un menú de opciones # > ############################## > echo "[1] Listar archivos" > echo "[2] Ver directorio de trabajo" > echo "[3] Crear directorio" > echo "[4] Crear usuario" > read -p "Ingrese una opción: " OPCION > case $OPCION in > 1) ls;; > 2) pwd;; > 3) read -p "Ingrese nombre del directorio a crear: " DIRECTORIO > mkdir $DIRECTORIO;; > 4) if id | grep uid=0 > then > read -p "Ingrese el nombre del usuario a crear: " NOMBREUSUARIO > useradd $NOMBREUSUARIO > else > echo "Se necesitan permisos de root" > fi;; > *) echo "Opción ingresada no valida, intentelo de nuevo" > exit 1;; > esac > exit 0 > $ > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From gerardo en computo-industrial.com.mx Fri Jul 7 18:05:58 2006 From: gerardo en computo-industrial.com.mx (Gerardo Juarez) Date: Fri, 7 Jul 2006 12:05:58 -0400 (EDT) Subject: Uso de popen() en Windows In-Reply-To: <771741b20607061601p7ba6eb84hbc8f5ab4bcc79ff0@mail.gmail.com> References: <771741b20607061601p7ba6eb84hbc8f5ab4bcc79ff0@mail.gmail.com> Message-ID: Hola, Tengo un problema usando popen() bajo Windows. Estoy corriendo plink, que es parte de los programas del paquete SSH-putty y es solamente un programa para iniciar una sesion de SSH en un archivo batch. Lo estoy arrancando desde Python, y la salida que me arroja en una terminal es esta: Using username "gerardo". Last login: Fri Jul 07 2206 10:44:35 -0500 from 220.128.35.20 You have mail. ???gerardo en hostnname.dom.mc: /home/gerardo[gerardo en hostname gerardo]$_ (Los '?' son unos caracteres de escape de la terminal) Ahora, yo ejecuto el proceso via popen() dentro de un thread y trato de leer la salida. Algo asi como esto: feed = os.popen(cmd) while 1: linea = feed.readline() print linea El caso es que no puedo localizar la ultima (cuarta) linea porque no la recibo. Recibo las tres primeras y hasta alli. La ultima linea que recibo via terminal, por cierto no tiene un \n al final (\r\n en windows), lo cual me hace pensar que el problema va por alli, pero (1) he intentado con c = feed.read(1) [leyendo caracter por caracter] sin esperar recibir \r\n y el resultado es el mismo. (2) a veces ni siquiera llego a esa linea y puede bloquearse la aplicacion en Last login: o un punto intermedio. Dice la referencia de Python que popen() era poco confiable antes de la version 2.0, debido a que usaba una funcion defectuosa _popen() de Windows, pero que fue reescrita. Estoy usando Python 2.2.2. Como controlan ustedes la salida de programas de Windows desde Python en forma confiable? Donde creen que pueda estar el problema? saludos Gerardo ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From peonblanco83 en gmail.com Fri Jul 7 18:45:58 2006 From: peonblanco83 en gmail.com (Peon Blanco) Date: Fri, 7 Jul 2006 10:45:58 -0600 Subject: problemas al instalar Psycopg2-2.0.2 In-Reply-To: <2c9fb0dd0607051644u1405bfc1uecd99576c29e3a1c@mail.gmail.com> References: <2c9fb0dd0607051644u1405bfc1uecd99576c29e3a1c@mail.gmail.com> Message-ID: bueno grasias por contestar ya cheque y las librerias estan en su lugar le ise unas modificaciones y ahora marca otro error luego lo paso es algo con el server bueno trambien queria pedir algun consejo para que me orientaran con que otro modulo puedo intentar y que sa un poco mas facil de instalar de antemano grasias por las respuesta 2006/7/5, Chema Cortes : > > EL 2006/7/5, Peon Blanco escribió: > > Hola al querer instalar este paquete me marca este error > > > > > /usr/lib/gcc-lib/i486-slackware-linux/3.3.6/../../../../i486-slackware-linux/bin/ld: > > cannot find -lpq > > collect2: ld returnet 1 exit status > > error command ´gcc´ failed with exit status 1 > > Te indica que no encuentra la librería de postgres (libpq.so). > Desconozco slackware, pero tiene pinta de que te falta instalarla. > > > > > e agregado a el archivo setup.py las lineas > > > > include_dirs= ["/usr/local/pgsql/include"] > > library_dirs= ["/usr/local/pgsql/lib"] > > > > e seguido un manual pero es de la version 1.1.21 que es lo que en este > > manual indica > > > Si te da problemas las versión 2, usa psycopg-1 que sobra para muchas > cosas. > > > uso > > python 2.4.1 > > slackware 10.2 > > postgresql-8.1.4 > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > From sonajadiabolica en gmail.com Fri Jul 7 19:07:50 2006 From: sonajadiabolica en gmail.com (aNgel rEsendiz g.) Date: Fri, 7 Jul 2006 12:07:50 -0500 Subject: Uso de popen() en Windows In-Reply-To: References: <771741b20607061601p7ba6eb84hbc8f5ab4bcc79ff0@mail.gmail.com> Message-ID: <8d9e208f0607071007g4b35c9e4v206c2dd21c9a4581@mail.gmail.com> No lo he hecho en windows, pero has probado: tmp= os.popen(cmd) feed=tmp.readlines() for i in feed: print i Así todo pasaría a la variable feed, pero si aún así no recibes todo, tal vez deberías probar con popen3, no se bien si en windows también se manejan la salida estándar y la salida de error por separado, si es así, probablemente este enviando la ultima linea a una salida distinta de la estándar. Disculpa, pero no conozco mucho de windows, y tal vez esto no te resuelva el problema, pero al menos espero haberte dado alguna idea. Saludos On 7/7/06, Gerardo Juarez wrote: > > Hola, > > Tengo un problema usando popen() bajo Windows. Estoy corriendo plink, que > es parte de los programas del paquete SSH-putty y es solamente un programa > para iniciar una sesion de SSH en un archivo batch. Lo estoy arrancando > desde Python, y la salida que me arroja en una terminal es esta: > > Using username "gerardo". > Last login: Fri Jul 07 2206 10:44:35 -0500 from 220.128.35.20 > You have mail. > ???gerardo en hostnname.dom.mc: /home/gerardo[gerardo en hostname gerardo]$_ > > (Los '?' son unos caracteres de escape de la terminal) > > Ahora, yo ejecuto el proceso via popen() dentro de un thread y trato de > leer la salida. Algo asi como esto: > > feed = os.popen(cmd) > while 1: > linea = feed.readline() > print linea > > El caso es que no puedo localizar la ultima (cuarta) linea porque no la > recibo. Recibo las tres primeras y hasta alli. La ultima linea que recibo > via terminal, por cierto no tiene un \n al final (\r\n en windows), lo > cual me hace pensar que el problema va por alli, pero > > (1) he intentado con c = feed.read(1) [leyendo caracter por caracter] > sin esperar recibir \r\n y el resultado es el mismo. > > (2) a veces ni siquiera llego a esa linea y puede bloquearse la aplicacion > en Last login: o un punto intermedio. > > Dice la referencia de Python que popen() era poco confiable antes de la > version 2.0, debido a que usaba una funcion defectuosa _popen() de > Windows, pero que fue reescrita. Estoy usando Python 2.2.2. > > Como controlan ustedes la salida de programas de Windows desde Python en > forma confiable? Donde creen que pueda estar el problema? > > saludos > Gerardo > > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > > > -- aNgel rEsendiz.! From arnau en ehas.org Fri Jul 7 22:27:28 2006 From: arnau en ehas.org (Arnau Sanchez) Date: Fri, 07 Jul 2006 22:27:28 +0200 Subject: Uso de popen() en Windows In-Reply-To: References: Message-ID: <44AEC3B0.4030604@ehas.org> Prueba con: feed = os.popen(cmd) while 1: data = os.read(feed.fileno(), 256) if not data: break sys.stdout.write(data) sys.stdout.flush() No tengo ni idea de cómo funcionará en Windows, pero en Linux usar os.read en vez de object.read suele ser mano de santo. Claro que con un os.read no obtendrás lineas, pero se puede arreglar fácilmente, pero primero mira si funciona así... Gerardo Juarez escribió: > Hola, > > Tengo un problema usando popen() bajo Windows. Estoy corriendo plink, que > es parte de los programas del paquete SSH-putty y es solamente un programa > para iniciar una sesion de SSH en un archivo batch. Lo estoy arrancando > desde Python, y la salida que me arroja en una terminal es esta: > > Using username "gerardo". > Last login: Fri Jul 07 2206 10:44:35 -0500 from 220.128.35.20 > You have mail. > ???gerardo en hostnname.dom.mc: /home/gerardo[gerardo en hostname gerardo]$_ > > (Los '?' son unos caracteres de escape de la terminal) > > Ahora, yo ejecuto el proceso via popen() dentro de un thread y trato de > leer la salida. Algo asi como esto: > > feed = os.popen(cmd) > while 1: > linea = feed.readline() > print linea > > El caso es que no puedo localizar la ultima (cuarta) linea porque no la > recibo. Recibo las tres primeras y hasta alli. La ultima linea que recibo > via terminal, por cierto no tiene un \n al final (\r\n en windows), lo > cual me hace pensar que el problema va por alli, pero > > (1) he intentado con c = feed.read(1) [leyendo caracter por caracter] > sin esperar recibir \r\n y el resultado es el mismo. > > (2) a veces ni siquiera llego a esa linea y puede bloquearse la aplicacion > en Last login: o un punto intermedio. > > Dice la referencia de Python que popen() era poco confiable antes de la > version 2.0, debido a que usaba una funcion defectuosa _popen() de > Windows, pero que fue reescrita. Estoy usando Python 2.2.2. > > Como controlan ustedes la salida de programas de Windows desde Python en > forma confiable? Donde creen que pueda estar el problema? > > saludos > Gerardo > > > > ------------------------------------------------------------------------ > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From minostro en sicet.cl Sat Jul 8 05:20:44 2006 From: minostro en sicet.cl (Milton Galo Patricio) Date: Fri, 7 Jul 2006 23:20:44 -0400 Subject: problemas al instalar Psycopg2-2.0.2 In-Reply-To: References: <2c9fb0dd0607051644u1405bfc1uecd99576c29e3a1c@mail.gmail.com> Message-ID: <172699c50607072020q4d354e9ane71e27e2c492d421@mail.gmail.com> prueba con pypgsql 2006/7/7, Peon Blanco : > > bueno grasias por contestar ya cheque y las librerias estan en su lugar le > ise unas modificaciones y ahora marca otro error luego lo paso es algo > con > el server bueno trambien queria pedir algun consejo para que me > orientaran con que otro modulo puedo intentar y que sa un poco mas facil > de > instalar de antemano grasias por las respuesta > > 2006/7/5, Chema Cortes : > > > > EL 2006/7/5, Peon Blanco escribió: > > > Hola al querer instalar este paquete me marca este error > > > > > > > > > /usr/lib/gcc-lib/i486-slackware-linux/3.3.6/../../../../i486-slackware-linux/bin/ld: > > > cannot find -lpq > > > collect2: ld returnet 1 exit status > > > error command ´gcc´ failed with exit status 1 > > > > Te indica que no encuentra la librería de postgres (libpq.so). > > Desconozco slackware, pero tiene pinta de que te falta instalarla. > > > > > > > > e agregado a el archivo setup.py las lineas > > > > > > include_dirs= ["/usr/local/pgsql/include"] > > > library_dirs= ["/usr/local/pgsql/lib"] > > > > > > e seguido un manual pero es de la version 1.1.21 que es lo que en este > > > manual indica > > > > > > Si te da problemas las versión 2, usa psycopg-1 que sobra para muchas > > cosas. > > > > > uso > > > python 2.4.1 > > > slackware 10.2 > > > postgresql-8.1.4 > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > -- Milton Inostroza Aguilera From john.guerra en gmail.com Sat Jul 8 02:27:40 2006 From: john.guerra en gmail.com (=?ISO-8859-1?Q?John_Alexis_Guerra_G=F3mez?=) Date: Fri, 07 Jul 2006 19:27:40 -0500 Subject: Tutorial python+wxglade+wxpython Message-ID: <44AEFBFC.50002@gmail.com> Saludos, he empezado un tutorial de programación básica con python + wxpython + wxglade, http://gda.utp.edu.co/~duto/python/tutorial_wxpy/ Por favor revísenlo y me dan su opinión John Alexis Guerra Gómez http://www.duto.org From mlacunza en gmail.com Sat Jul 8 17:31:48 2006 From: mlacunza en gmail.com (Mario Lacunza) Date: Sat, 8 Jul 2006 10:31:48 -0500 Subject: Tutorial python+wxglade+wxpython In-Reply-To: <44AEFBFC.50002@gmail.com> References: <44AEFBFC.50002@gmail.com> Message-ID: <771741b20607080831x796e1d09h79c717f78b5ee75f@mail.gmail.com> Hola Esta muy bueno. Una sugerencia: yo deje de usar wxGlade por el tema q tiene muy pocos controles, pero se q tiene uno q es como un comodin q permite "usar" varios, si puedes agregar un capitulo q explique como se hace seria excelente. Gracias!! 2006/7/7, John Alexis Guerra Gómez : > > Saludos, he empezado un tutorial de programación básica con python + > wxpython + wxglade, > > http://gda.utp.edu.co/~duto/python/tutorial_wxpy/ > > Por favor revísenlo y me dan su opinión > > John Alexis Guerra Gómez > http://www.duto.org > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > -- Saludos / Best regards Mario Lacunza Desarrollador de Sistemas - Webmaster Desarrollador 2 Estrellas VS2005 Email: mlacunza [AT] gmail [DOT] com Website: mlacunzav[AT]cogia[AT]net Blog: http://mlacunza.blogspot.com/ Lima - Peru From astralrod en gmail.com Sun Jul 9 01:27:02 2006 From: astralrod en gmail.com (astralrod) Date: Sat, 8 Jul 2006 17:27:02 -0600 Subject: Un poema en python Message-ID: ME escontraba buscoando algna forma de navegar mas facilmente por internet mediante alguna aplñicacion en python (quiero crear un browser en python) y mientras buscaba ejemplos me enconre con un poema en python, les deo el link, espero lo disfruten, esta en ingles, pero no sera muy complicada su traduccion, la pagina es: http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/496781 Suerte! From pych3m4 en gmail.com Sun Jul 9 14:56:44 2006 From: pych3m4 en gmail.com (Chema Cortes) Date: Sun, 9 Jul 2006 14:56:44 +0200 Subject: Un poema en python In-Reply-To: References: Message-ID: <2c9fb0dd0607090556n2c84d00apd0b480fca20c9bd6@mail.gmail.com> El 2006/7/9, astralrod escribió: > ME escontraba buscoando algna forma de navegar mas facilmente por internet > mediante alguna aplñicacion en python (quiero crear un browser en python) y > mientras buscaba ejemplos me enconre con un poema en python, les deo el > link, espero lo disfruten, esta en ingles, pero no sera muy complicada su > traduccion, la pagina es: > > http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/496781 > > Suerte! Pues no hay suerte. Me dice que no encuentra ésa URL. De todas formas, junto con las "baterías incluídas", python también lleva un poema: $ python -c "import this" From chuelmo en montevideo.com.uy Sun Jul 9 19:16:31 2006 From: chuelmo en montevideo.com.uy (Christian Huelmo) Date: Sun, 09 Jul 2006 14:16:31 -0300 Subject: Proyecto Pytando Message-ID: <1152465391.4242.8.camel@orion.chuelminho.org> Chema: Hola, en mis intentos por aprender y hacer algo con python me he topado varias veces con la página del proyecto Pytando http://pytando.sourceforge.net/presentacion.php Es más, creo que alguna vez llegué a suscribirme a las listas de correo, pero no tienen tráfico. Solo por curiosidad y como fan número uno de las intenciones del sitio, el proyecto está muerto, o simplemente en espera de hacerte un tiempo para trabajar en él? Saludos ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From jordipascual en ono.com Sun Jul 9 19:40:16 2006 From: jordipascual en ono.com (Jordi Pascual) Date: Sun, 09 Jul 2006 19:40:16 +0200 Subject: Un poema en python In-Reply-To: <2c9fb0dd0607090556n2c84d00apd0b480fca20c9bd6@mail.gmail.com> References: <2c9fb0dd0607090556n2c84d00apd0b480fca20c9bd6@mail.gmail.com> Message-ID: <44B13F80.6060306@ono.com> Pues no, no funcionaba, pero ahora sí. Lo pongo aquí por si deja de funcionar otra vez. :) [quote] if you in (depressed, sadness, resignation): print 'me, my sweetheart' if feel(you) is 'lonely' or feel(you) is 'neglected': talk_me(this) while always: I.take_care(you) if you.love() is not me: # I will follow in the madness # I will break # down... for emotion in my.heart: try: your.lover = me except: your.best_friend = me if you.hate(me): love(me) elif I.annoying(): love(me) else: love(me, how='deeply', when='now') [/quote] Gracias Chema, ese también está muy bien. Chema Cortes escribió: > El 2006/7/9, astralrod escribió: >> ME escontraba buscoando algna forma de navegar mas facilmente por >> internet >> mediante alguna aplñicacion en python (quiero crear un browser en >> python) y >> mientras buscaba ejemplos me enconre con un poema en python, les deo el >> link, espero lo disfruten, esta en ingles, pero no sera muy >> complicada su >> traduccion, la pagina es: >> >> http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/496781 >> >> Suerte! > > Pues no hay suerte. Me dice que no encuentra ésa URL. > > De todas formas, junto con las "baterías incluídas", python también > lleva un poema: > > $ python -c "import this" > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > From kernel.no.found en gmail.com Sun Jul 9 20:10:22 2006 From: kernel.no.found en gmail.com (=?ISO-8859-1?Q?Juan_Jos=E9_Alonso.?=) Date: Sun, 9 Jul 2006 20:10:22 +0200 Subject: Tutorial python+wxglade+wxpython Message-ID: <117d6e170607091110n6d19ca5anc26e5de7ff593201@mail.gmail.com> Con su permiso, lo he añadido a la biblioteca de dotpy.net Si desea que lo elimine, contacta conmigo por email por favor. PD: Gracias por ayudar a que la comunidad crezca -- Juan José Alonso. KarlsBerg. eMail: kernel.no.found en gmail.com MSN: kernel.no.found en gmail.com From astralrod en gmail.com Mon Jul 10 01:57:54 2006 From: astralrod en gmail.com (astralrod) Date: Sun, 9 Jul 2006 18:57:54 -0500 Subject: Un poema en python In-Reply-To: <44B13F80.6060306@ono.com> References: <2c9fb0dd0607090556n2c84d00apd0b480fca20c9bd6@mail.gmail.com> <44B13F80.6060306@ono.com> Message-ID: Creo que tambien hay que decir lo siguiente: Pagina: http://aspn.activestate.com/ASPN/ Submitter: Damian Parniewicz Last Updated: 2006/06/06 Version no: 1.1 Description: This recipe was writen for my beautiful girl...however signification of this code is universal (El receta(?) fue escrita para mi hermosa chica... de cualquier forma el significado de este codigo es universal) Discussion: This recipe must be used in a proper environment, in a proper scope. Implementation of "love" function is user-dependent. Is demanded that person objects must have compatible interfaces. I'm feel a need of generalization this code for any special 'love' situation... (Discusion: La receta(?) debe ser usada en un ambiente apropiado, en un alcance propio. La implementación de la funcion "love" es dependiente del usuario. Se demanda que la persona objetivo deba ser de interface compatible. Yo siento una necesidad de generar este codigo para cualquier situacion especial de "love"...) Espero haberlo traducido bien, lo anterior fue para no tener problemas de robar codigo ni trabajo intelectual, el que lo escribio tuvo mucha creatividad como para ver en python algo más que simples lineas de comandos. Esto se lleva a los que dicen que el progress es una metafora de la vida... Suerte! El 9/07/06, Jordi Pascual escribió: > Pues no, no funcionaba, pero ahora sí. > Lo pongo aquí por si deja de funcionar otra vez. :) > > [quote] > if you in (depressed, sadness, resignation): > print 'me, my sweetheart' > if feel(you) is 'lonely' or feel(you) is 'neglected': > talk_me(this) > while always: > I.take_care(you) > if you.love() is not me: > # I will follow in the madness > # I will > break # down... > for emotion in my.heart: > try: > your.lover = me > except: > your.best_friend = me > if you.hate(me): > love(me) > elif I.annoying(): > love(me) > else: > love(me, how='deeply', when='now') > > [/quote] > > Gracias Chema, ese también está muy bien. > > > Chema Cortes escribió: > > El 2006/7/9, astralrod escribió: > >> ME escontraba buscoando algna forma de navegar mas facilmente por > >> internet > >> mediante alguna aplñicacion en python (quiero crear un browser en > >> python) y > >> mientras buscaba ejemplos me enconre con un poema en python, les deo el > >> link, espero lo disfruten, esta en ingles, pero no sera muy > >> complicada su > >> traduccion, la pagina es: > >> > >> http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/496781 > >> > >> Suerte! > > > > Pues no hay suerte. Me dice que no encuentra ésa URL. > > > > De todas formas, junto con las "baterías incluídas", python también > > lleva un poema: > > > > $ python -c "import this" > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es > > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > From pych3m4 en gmail.com Mon Jul 10 02:22:07 2006 From: pych3m4 en gmail.com (Chema Cortes) Date: Mon, 10 Jul 2006 02:22:07 +0200 Subject: Proyecto Pytando In-Reply-To: <1152465391.4242.8.camel@orion.chuelminho.org> References: <1152465391.4242.8.camel@orion.chuelminho.org> Message-ID: <2c9fb0dd0607091722k52b100bdxe5ee99f2d260d70c@mail.gmail.com> El 2006/7/9, Christian Huelmo escribió: > Chema: > > Hola, en mis intentos por aprender y hacer algo con python me he topado > varias veces con la página del proyecto Pytando > http://pytando.sourceforge.net/presentacion.php > > Es más, creo que alguna vez llegué a suscribirme a las listas de correo, > pero no tienen tráfico. > > Solo por curiosidad y como fan número uno de las intenciones del sitio, > el proyecto está muerto, o simplemente en espera de hacerte un tiempo > para trabajar en él? El proyecto está muerto, aunque siguen operativas las listas y demás facilidades. Intenté cancelar el proyecto en su momento, pero es "imposible" con sourceforge. Entre los motivos (o desmotivación) para dejar abandonado el proyecto estaba el pésimo soporte para python que ofrecía en su momento sourceforge, lo que me obligó a buscar alternativas para mi proyecto. A su vez, me metí en otros proyectos de software libre que, por motivos que no vienen al caso, acabaron por "quemárme" (burn-out). Esa es la explicación, por encima, del abandono. En estas vacaciones (verano en España) pensaba tomarme mi tiempo para ordenar ideas. Si lo consigo, espero volver con novedades pronto. Gracias por tu interés, Chema. From rapto en arrakis.es Mon Jul 10 09:41:32 2006 From: rapto en arrakis.es (Marcos =?ISO-8859-1?Q?S=E1nchez?= Provencio) Date: Mon, 10 Jul 2006 09:41:32 +0200 Subject: Fwd: [SciPy-user] ANN: Python Enthought Edition Version 1.0.0.beta3 Released In-Reply-To: <200607062203.26483.jaime@iaa.es> References: <200607062203.26483.jaime@iaa.es> Message-ID: <1152517292.5466.0.camel@localhost.localdomain> Me temo que la lista no admite adjuntos, pero me imagino que los interesados han buscado por Google... El jue, 06-07-2006 a las 22:03 +0200, Jaime Perea escribió: > Me llegó por casualidad ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From casoio en yahoo.es Mon Jul 10 11:55:21 2006 From: casoio en yahoo.es (Maria Martin) Date: Mon, 10 Jul 2006 11:55:21 +0200 (CEST) Subject: Duda en Boa Message-ID: <20060710095522.67920.qmail@web25601.mail.ukl.yahoo.com> Hola a todos! La cuestión es que estoy intentando crear un textCtrl en Boa, que me permita insertar texto con diferente color y color de fondo. Sin embargo, sólo consigo modificar el color del todo el texto, y no puedo mezclar diferentes colores. ¿Existe alguna manera de hacerlo? Un saludo María --------------------------------- LLama Gratis a cualquier PC del Mundo. Llamadas a fijos y móviles desde 1 céntimo por minuto. http://es.voice.yahoo.com From elizundia en fitbak.com Mon Jul 10 12:06:54 2006 From: elizundia en fitbak.com (elizundia en fitbak.com) Date: Mon, 10 Jul 2006 12:06:54 +0200 (CEST) Subject: Python corriendo en PDA Message-ID: <1219.62.14.206.114.1152526014.squirrel@mail.fitbak.com> Saludos, estoy desarrollando una aplicacion que correria bajo un PDA. La aplicacion seria ir metiendo puntuaciones y esas puntuaciones irian enviandose a un ordenador que haria de servidor y guardandose en una base de datos. El problema es que las puntuaciones tendrian que ir entrando rapidamente. ¿podria el PDA con esa velocidad de ejecucion? gracias, Eka From necudeco en gmail.com Mon Jul 10 14:36:00 2006 From: necudeco en gmail.com (NeCuDeCo) Date: Mon, 10 Jul 2006 12:36:00 +0000 Subject: Python corriendo en PDA In-Reply-To: <1219.62.14.206.114.1152526014.squirrel@mail.fitbak.com> References: <1219.62.14.206.114.1152526014.squirrel@mail.fitbak.com> Message-ID: <2ccb93070607100536n261befe4mbc660e7bdaf54639@mail.gmail.com> Holas EKA, puntuaciones ? podrias explicar un poquito eso que no lo entendi. En cuanto si el PDA podria con la velocidad de ejecucion, pues depende del PDA. On 7/10/06, elizundia en fitbak.com wrote: > > Saludos, > > estoy desarrollando una aplicacion que correria bajo un PDA. La aplicacion > seria ir metiendo puntuaciones y esas puntuaciones irian enviandose a un > ordenador que haria de servidor y guardandose en una base de datos. El > problema es que las puntuaciones tendrian que ir entrando rapidamente. > ¿podria el PDA con esa velocidad de ejecucion? > > gracias, > > Eka > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > -- -------------------------- NeCuDeCo http://necudeco.blogsome.com Your Jugdment Day is NOW From elizundia en fitbak.com Tue Jul 11 09:15:46 2006 From: elizundia en fitbak.com (elizundia en fitbak.com) Date: Tue, 11 Jul 2006 09:15:46 +0200 (CEST) Subject: Python corriendo en PDA In-Reply-To: <2ccb93070607100536n261befe4mbc660e7bdaf54639@mail.gmail.com> References: <1219.62.14.206.114.1152526014.squirrel@mail.fitbak.com> <2ccb93070607100536n261befe4mbc660e7bdaf54639@mail.gmail.com> Message-ID: <1057.87.223.167.4.1152602146.squirrel@mail.fitbak.com> Aupa, Pues se supone que seria un conjunto de 10 botones con otros 10 botones mas abajo en la pantalla. Del primer conjunto sacariamos la parte entera de la puntuacion 9, y en la segunda la parte decimal. 8,7 9,8 etc. Cada puntuacion iria a la base de datos, una puntuacion tras otra, pero cada puntuacion hasta la siguiente igual pasa solo 3 segundos. A esa velocidad de ejecucion me refiero. No se puede quedar esperando entre puntuacion y puntuacion que demos. From rapto en arrakis.es Tue Jul 11 09:34:59 2006 From: rapto en arrakis.es (Marcos =?ISO-8859-1?Q?S=E1nchez?= Provencio) Date: Tue, 11 Jul 2006 09:34:59 +0200 Subject: Python corriendo en PDA In-Reply-To: <1057.87.223.167.4.1152602146.squirrel@mail.fitbak.com> References: <1219.62.14.206.114.1152526014.squirrel@mail.fitbak.com> <2ccb93070607100536n261befe4mbc660e7bdaf54639@mail.gmail.com> <1057.87.223.167.4.1152602146.squirrel@mail.fitbak.com> Message-ID: <1152603299.5838.0.camel@localhost.localdomain> 3 s son una eternidad para las PDA modernas... El mar, 11-07-2006 a las 09:15 +0200, elizundia en fitbak.com escribió: > Aupa, > Pues se supone que seria un conjunto de 10 botones con otros 10 botones > mas abajo en la pantalla. Del primer conjunto sacariamos la parte entera > de la puntuacion 9, y en la segunda la parte decimal. > 8,7 9,8 etc. Cada puntuacion iria a la base de datos, una puntuacion tras > otra, pero cada puntuacion hasta la siguiente igual pasa solo 3 segundos. > A esa velocidad de ejecucion me refiero. No se puede quedar esperando > entre puntuacion y puntuacion que demos. > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From elizundia en fitbak.com Wed Jul 12 10:12:43 2006 From: elizundia en fitbak.com (elizundia en fitbak.com) Date: Wed, 12 Jul 2006 10:12:43 +0200 (CEST) Subject: Imprimir dentro de la aplicacion Message-ID: <1026.87.223.167.4.1152691963.squirrel@mail.fitbak.com> Saludos, ¿Como hago para conseguir imprimir el valor de las variables en la misma pantalla de aplicacion con Tkinter ??? Es decir, yo pondria una etiqueta "Jugador 1:" y seguido de eso deberia ir el valor de una variable. gracias, From juatman_2000 en yahoo.es Wed Jul 12 10:35:46 2006 From: juatman_2000 en yahoo.es (Juan M. Puertas) Date: Wed, 12 Jul 2006 10:35:46 +0200 Subject: Novedades References: <001101c6a043$882a62d0$640010ac@nombref31twj9b> <2c9fb0dd0607061618s21e499fej6078094b7981c21b@mail.gmail.com> Message-ID: <000601c6a58e$34746460$b88ae050@equipo> Hola amigos. Ayer ha salido la versión 0.87.1.1 Alfa de VisualWx http://visualwx.altervista.org/index.php, le acabo de echar un vistazo y me parece un IDE más de las decenas que hay, no incorpora algo que para mí es imprescindible: un depurador paso a paso integrado, pero si un GUI muy fácil de usar. Ya que existen multitud de IDEs para Python, es difícil que se unifiquen, pero si que colaboren, como podemos ver aqui: http://pyxides.stani.be/news/launch Saludos :-) ______________________________________________ LLama Gratis a cualquier PC del Mundo. Llamadas a fijos y móviles desde 1 céntimo por minuto. http://es.voice.yahoo.com From elizundia en fitbak.com Wed Jul 12 10:59:40 2006 From: elizundia en fitbak.com (elizundia en fitbak.com) Date: Wed, 12 Jul 2006 10:59:40 +0200 (CEST) Subject: Imprimir dentro de la aplicacion In-Reply-To: <1026.87.223.167.4.1152691963.squirrel@mail.fitbak.com> References: <1026.87.223.167.4.1152691963.squirrel@mail.fitbak.com> Message-ID: <1259.87.223.167.4.1152694780.squirrel@mail.fitbak.com> Este es el codigo del problema: from Tkinter import * class MyApp: def __init__(self,parent): buttons_frame_padx = "3m" buttons_frame_pady = "2m" buttons_frame_ipadx = "3m" buttons_frame_ipady = "1m" self.myParent = parent self.buttons_frame = Frame(parent) self.buttons_frame.pack( ipadx=buttons_frame_ipadx, ipady=buttons_frame_ipady, padx=buttons_frame_padx, pady=buttons_frame_pady, ) self.numero = 5 self.lbl1 = Label(self.buttons_frame, text = "Jugador >>") self.lbl1.pack(side = LEFT) self.lbl1.configure( width=20 ) def Insertar_puntos(self): text=Text() text.pack() text.insert(END, "%d") % self.numero root = Tk() myapp = MyApp(root) root.title("Aplicacion") root.mainloop() Lo que yo quiero es que cuando se le llame a la funcion Insertar_puntos, que esta funcion inserte un numero junto al texto "Jugador >>" From py en ch3m4.org Wed Jul 12 13:25:29 2006 From: py en ch3m4.org (Chema Cortes) Date: Wed, 12 Jul 2006 13:25:29 +0200 Subject: Imprimir dentro de la aplicacion In-Reply-To: <1259.87.223.167.4.1152694780.squirrel@mail.fitbak.com> References: <1026.87.223.167.4.1152691963.squirrel@mail.fitbak.com> <1259.87.223.167.4.1152694780.squirrel@mail.fitbak.com> Message-ID: <44B4DC29.6010506@ch3m4.org> elizundia en fitbak.com escribió: > Este es el codigo del problema: > > from Tkinter import * > > class MyApp: > > def __init__(self,parent): > > buttons_frame_padx = "3m" > buttons_frame_pady = "2m" > buttons_frame_ipadx = "3m" > buttons_frame_ipady = "1m" > > self.myParent = parent > self.buttons_frame = Frame(parent) > > self.buttons_frame.pack( > ipadx=buttons_frame_ipadx, > ipady=buttons_frame_ipady, > padx=buttons_frame_padx, > pady=buttons_frame_pady, > ) > self.numero = 5 > > self.lbl1 = Label(self.buttons_frame, text = "Jugador >>") > self.lbl1.pack(side = LEFT) > self.lbl1.configure( > width=20 > ) > > def Insertar_puntos(self): > > text=Text() > text.pack() > text.insert(END, "%d") % self.numero > > > > root = Tk() > myapp = MyApp(root) > root.title("Aplicacion") > root.mainloop() > > Lo que yo quiero es que cuando se le llame a la funcion Insertar_puntos, > que esta funcion inserte un numero junto al texto "Jugador >>" Creo que no logro ver el problema. Bastaría con añadir el control Text junto a la etiqueta: self.puntos=Text(self.buttons_frame) self.puntos.pack() Aunque resultaría más fácil usando Variables: self.puntos_var=StringVar() self.puntos=Label(self.buttons_frame,textvariable=self.puntos_var) self.puntos.pack() def Insertar_puntos(self): self.puntos_var.set(100) No sé si me he perdido en del planteamiento, pero por aquí debe andar la solución. -- Chema Cortés (py en ch3m4.org) "Proudly made on earth by generic humanoid carbon units" From juatman_2000 en yahoo.es Wed Jul 12 18:31:51 2006 From: juatman_2000 en yahoo.es (Juan M. Puertas) Date: Wed, 12 Jul 2006 18:31:51 +0200 Subject: vb2py References: <320D3688276F054080FE12825DF1E900030D165F@ucixw1.uci.cu> <771741b20607041159v3a39e03ejb1ecb3e55470a997@mail.gmail.com> Message-ID: <000601c6a5d0$b7a12610$048be050@equipo> Hola. Lo confieso, me paso a Python. Todo sea por el software libre :-) Quiero pasar un proyecto VB con muchos formularios. En la web de vb2py hay una manera de pasar el código online, pero no los formularios. He instalado vb2py, pero cada vez que quiero convertir código, sea de un formulario, o sea un simple "dim i as integer", siempre dá el mismo error: <> ¿Alguien conoce una manera fácil de convertir formularios de VB? Saludos :-) ______________________________________________ LLama Gratis a cualquier PC del Mundo. Llamadas a fijos y móviles desde 1 céntimo por minuto. http://es.voice.yahoo.com From luedu01 en yahoo.es Wed Jul 12 18:37:22 2006 From: luedu01 en yahoo.es (luis eduardo ramirez) Date: Wed, 12 Jul 2006 18:37:22 +0200 (CEST) Subject: Imprimir dentro de la aplicacion In-Reply-To: <44B4DC29.6010506@ch3m4.org> References: <44B4DC29.6010506@ch3m4.org> Message-ID: <20060712163722.10355.qmail@web25903.mail.ukl.yahoo.com> --- Chema Cortes escribió: > elizundia en fitbak.com escribió: > > Este es el codigo del problema: > > > > from Tkinter import * > > > > class MyApp: > > > > def __init__(self,parent): > > > > buttons_frame_padx = "3m" > > buttons_frame_pady = "2m" > > buttons_frame_ipadx = "3m" > > buttons_frame_ipady = "1m" > > > > self.myParent = parent > > self.buttons_frame = Frame(parent) > > > > self.buttons_frame.pack( > > ipadx=buttons_frame_ipadx, > > ipady=buttons_frame_ipady, > > padx=buttons_frame_padx, > > pady=buttons_frame_pady, > > ) > > self.numero = 5 > > > > self.lbl1 = Label(self.buttons_frame, text = > "Jugador >>") > > self.lbl1.pack(side = LEFT) > > self.lbl1.configure( > > width=20 > > ) > > > > def Insertar_puntos(self): > > > > text=Text() > > text.pack() > > text.insert(END, "%d") % self.numero > > > > > > > > root = Tk() > > myapp = MyApp(root) > > root.title("Aplicacion") > > root.mainloop() > > > > Lo que yo quiero es que cuando se le llame a la > funcion Insertar_puntos, > > que esta funcion inserte un numero junto al texto > "Jugador >>" > > Creo que no logro ver el problema. Bastaría con > añadir el control Text > junto a la etiqueta: > > self.puntos=Text(self.buttons_frame) > self.puntos.pack() > > Aunque resultaría más fácil usando Variables: > > self.puntos_var=StringVar() > > self.puntos=Label(self.buttons_frame,textvariable=self.puntos_var) > self.puntos.pack() > > def Insertar_puntos(self): > self.puntos_var.set(100) > > > No sé si me he perdido en del planteamiento, pero > por aquí debe andar la > solución. > Despues del set(), usas el update() self.update() ______________________________________________ LLama Gratis a cualquier PC del Mundo. Llamadas a fijos y móviles desde 1 céntimo por minuto. http://es.voice.yahoo.com From python en ammsoft.com Wed Jul 12 18:37:27 2006 From: python en ammsoft.com (Amm-Python) Date: Wed, 12 Jul 2006 18:37:27 +0200 Subject: Sobre SqlAlchemy Message-ID: <002c01c6a5d1$76fd0880$640010ac@nombref31twj9b> Estoy haciendo pruebas con Sqlalchemy. Inicialmente parece que solucionará mis problemas para poder trabajar con varios tipos de bases de datos: Mysql, Postgress, Oracle,... Hay alguien que lo conozca y pueda darme razones para NO decantarme por esta herramienta? Sobre todo para no perder el tiempo cambiando lo que ya tengo hecho, para al final ver que no se ajusta a mis necesidades. He probado con Sqlite y Oracle, parece que de momento todo bien. ¿Alguien sabe si se puede conectar a bases de datos MSAccess? En caso afirmativo, agradecería un ejemplo de conexión ya que no he sido capaz de realizarla. Saludos, Toni From xavier.torello en gmail.com Wed Jul 12 18:45:51 2006 From: xavier.torello en gmail.com (=?ISO-8859-1?Q?Xavier_Torell=F3?=) Date: Wed, 12 Jul 2006 18:45:51 +0200 Subject: =?iso-8859-1?q?Simulaci=F3n_gr=E1fica_con_Python?= Message-ID: <3b74d46f0607120945n7828acb0x7e8e1037db7a172e@mail.gmail.com> Muy buenas a todos. Estoy empezando con Python, ahora por ahora ya estoy bastante familiarizado con la sintaxis de Python, pero ando un poco "jodido" con las GUI. Os cuento, para el proyecto final de carrera necesito realizar una simulación gráfica con python, y ando bastante perdido en este sentido. Alguien conoce algunos documentos para iniciarme? He visto que mucha gente trabaja con gtk, aunque desconozco como funciona; que diferencias hay entre todas las posibilidades gráficas? Pues nada, muchas gracias! -- Xavier Torelló From mlacunza en gmail.com Wed Jul 12 19:19:14 2006 From: mlacunza en gmail.com (Mario Lacunza) Date: Wed, 12 Jul 2006 12:19:14 -0500 Subject: Sobre SqlAlchemy In-Reply-To: <002c01c6a5d1$76fd0880$640010ac@nombref31twj9b> References: <002c01c6a5d1$76fd0880$640010ac@nombref31twj9b> Message-ID: <771741b20607121019n77bb883etc0b1b6307c83c575@mail.gmail.com> El día 12/07/06, Amm-Python escribió: > > Estoy haciendo pruebas con Sqlalchemy. > > Inicialmente parece que solucionará mis problemas para poder trabajar > con varios tipos de bases de datos: Mysql, Postgress, Oracle,... > > Hay alguien que lo conozca y pueda darme razones para NO decantarme por > esta herramienta? > > Sobre todo para no perder el tiempo cambiando lo que ya tengo hecho, > para al final ver que no se ajusta a mis necesidades. > > He probado con Sqlite y Oracle, parece que de momento todo bien. > > ¿Alguien sabe si se puede conectar a bases de datos MSAccess? En caso > afirmativo, agradecería un ejemplo de conexión ya que no he sido capaz > de realizarla. Leerse la pagina del proyecto antes de usar una herramienta es creo basico, mira aqui: http://www.sqlalchemy.org/features.myt -- Saludos / Best regards Mario Lacunza Desarrollador de Sistemas - Webmaster Desarrollador 2 Estrellas VS2005 Email: mlacunza [AT] gmail [DOT] com Website: mlacunzav[AT]cogia[AT]net Blog: http://mlacunza.blogspot.com/ Lima - Peru From python en ammsoft.com Wed Jul 12 19:28:14 2006 From: python en ammsoft.com (Amm-Python) Date: Wed, 12 Jul 2006 19:28:14 +0200 Subject: Sobre SqlAlchemy In-Reply-To: AAAAAIQQJZINhhBArhGVVySOJs/EnisA Message-ID: <002d01c6a5d8$8fcb4460$640010ac@nombref31twj9b> Ya he leído las especificaciones. Por eso estoy haciendo pruebas, ya que en principio me interesa. Lo que necesito son comentarios de usuarios satisfechos y no satisfechos. El decidirme por esta herramienta supone muchas horas modificando código. Lo que no quiero es meterme en un camino que suponga tirar muchas horas para nada. > -----Mensaje original----- > De: python-es-bounces en aditel.org > [mailto:python-es-bounces en aditel.org] En nombre de Mario Lacunza > Enviado el: dimecres, 12 / juliol / 2006 19:19 > Para: La lista de python en castellano > Asunto: Re: [Python-es] Sobre SqlAlchemy > > > El día 12/07/06, Amm-Python escribió: > > > > Estoy haciendo pruebas con Sqlalchemy. > > > > Inicialmente parece que solucionará mis problemas para > poder trabajar > > con varios tipos de bases de datos: Mysql, Postgress, Oracle,... > > > > Hay alguien que lo conozca y pueda darme razones para NO decantarme > > por esta herramienta? > > > > Sobre todo para no perder el tiempo cambiando lo que ya > tengo hecho, > > para al final ver que no se ajusta a mis necesidades. > > > > He probado con Sqlite y Oracle, parece que de momento todo bien. > > > > ¿Alguien sabe si se puede conectar a bases de datos > MSAccess? En caso > > afirmativo, agradecería un ejemplo de conexión ya que no he > sido capaz > > de realizarla. > > > Leerse la pagina del proyecto antes de usar una herramienta > es creo basico, mira aqui: http://www.sqlalchemy.org/features.myt > > > -- > Saludos / Best regards > > Mario Lacunza > Desarrollador de Sistemas - Webmaster > Desarrollador 2 Estrellas VS2005 > > Email: mlacunza [AT] gmail [DOT] com > Website: mlacunzav[AT]cogia[AT]net > Blog: http://mlacunza.blogspot.com/ > Lima - Peru > _______________________________________________ > Python-es mailing list > Python-es en aditel.org http://listas.aditel.org/listinfo/python-es > From mlacunza en gmail.com Wed Jul 12 19:54:35 2006 From: mlacunza en gmail.com (Mario Lacunza) Date: Wed, 12 Jul 2006 12:54:35 -0500 Subject: Sobre SqlAlchemy In-Reply-To: <002d01c6a5d8$8fcb4460$640010ac@nombref31twj9b> References: <002d01c6a5d8$8fcb4460$640010ac@nombref31twj9b> Message-ID: <771741b20607121054t654cc587y26fbc4083ab7fa10@mail.gmail.com> Mi rpta iba a tu pregunta por Access, en las especificaciones te responden a eso, en cuanto a lo otro no te puedo ayudar pues no lo uso. Suerte! El día 12/07/06, Amm-Python escribió: > > Ya he leído las especificaciones. Por eso estoy haciendo pruebas, ya que > en principio me interesa. > > Lo que necesito son comentarios de usuarios satisfechos y no > satisfechos. > > El decidirme por esta herramienta supone muchas horas modificando > código. > > Lo que no quiero es meterme en un camino que suponga tirar muchas horas > para nada. > > > > -----Mensaje original----- > > De: python-es-bounces en aditel.org > > [mailto:python-es-bounces en aditel.org] En nombre de Mario Lacunza > > Enviado el: dimecres, 12 / juliol / 2006 19:19 > > Para: La lista de python en castellano > > Asunto: Re: [Python-es] Sobre SqlAlchemy > > > > > > El día 12/07/06, Amm-Python escribió: > > > > > > Estoy haciendo pruebas con Sqlalchemy. > > > > > > Inicialmente parece que solucionará mis problemas para > > poder trabajar > > > con varios tipos de bases de datos: Mysql, Postgress, Oracle,... > > > > > > Hay alguien que lo conozca y pueda darme razones para NO decantarme > > > por esta herramienta? > > > > > > Sobre todo para no perder el tiempo cambiando lo que ya > > tengo hecho, > > > para al final ver que no se ajusta a mis necesidades. > > > > > > He probado con Sqlite y Oracle, parece que de momento todo bien. > > > > > > ¿Alguien sabe si se puede conectar a bases de datos > > MSAccess? En caso > > > afirmativo, agradecería un ejemplo de conexión ya que no he > > sido capaz > > > de realizarla. > > > > > > Leerse la pagina del proyecto antes de usar una herramienta > > es creo basico, mira aqui: http://www.sqlalchemy.org/features.myt > > > > > > -- > > Saludos / Best regards > > > > Mario Lacunza > > Desarrollador de Sistemas - Webmaster > > Desarrollador 2 Estrellas VS2005 > > > > Email: mlacunza [AT] gmail [DOT] com > > Website: mlacunzav[AT]cogia[AT]net > > Blog: http://mlacunza.blogspot.com/ > > Lima - Peru > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org http://listas.aditel.org/listinfo/python-es > > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > -- Saludos / Best regards Mario Lacunza Desarrollador de Sistemas - Webmaster Desarrollador 2 Estrellas VS2005 Email: mlacunza [AT] gmail [DOT] com Website: mlacunzav[AT]cogia[AT]net Blog: http://mlacunza.blogspot.com/ Lima - Peru From fpalm en ula.ve Wed Jul 12 21:17:17 2006 From: fpalm en ula.ve (Francisco Palm) Date: Wed, 12 Jul 2006 15:17:17 -0400 Subject: vb2py In-Reply-To: <000601c6a5d0$b7a12610$048be050@equipo> References: <320D3688276F054080FE12825DF1E900030D165F@ucixw1.uci.cu> <771741b20607041159v3a39e03ejb1ecb3e55470a997@mail.gmail.com> <000601c6a5d0$b7a12610$048be050@equipo> Message-ID: Te sugiero con toda sinceridad que rehagas toda tu aplicación a la forma "pitónica". Los formularios los puedes desarrollar usando las librería gráficas GTK+, QT o wxPython. Investiga un poco sobre el tema y usa el historial de esta lista, hay muchos enlaces e indicaciones. Saludos F. Palm On 7/12/06, Juan M. Puertas wrote: > > Hola. > Lo confieso, me paso a Python. Todo sea por el software libre :-) > Quiero pasar un proyecto VB con muchos formularios. En la web de vb2py hay > una manera de pasar el código online, pero no los formularios. > He instalado vb2py, pero cada vez que quiero convertir código, sea de un > formulario, o sea un simple "dim i as integer", siempre dá el mismo error: > <> > ¿Alguien conoce una manera fácil de convertir formularios de VB? > Saludos :-) > > > > ______________________________________________ > LLama Gratis a cualquier PC del Mundo. > Llamadas a fijos y móviles desde 1 céntimo por minuto. > http://es.voice.yahoo.com > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > -- del Delirio al Limbo.... From leo.sanmartin en gmail.com Wed Jul 12 22:05:57 2006 From: leo.sanmartin en gmail.com (=?ISO-8859-1?Q?Leo_San_Mart=EDn.?=) Date: Wed, 12 Jul 2006 22:05:57 +0200 Subject: =?ISO-8859-1?Q?Re:__Simulaci=F3n_gr=E1fica_con_Python?= In-Reply-To: <3b74d46f0607120945n7828acb0x7e8e1037db7a172e@mail.gmail.com> References: <3b74d46f0607120945n7828acb0x7e8e1037db7a172e@mail.gmail.com> Message-ID: <979e02b40607121305k2f2a46acwe87ec642184a1d73@mail.gmail.com> On 12/07/06, Xavier Torelló wrote: > > Muy buenas a todos. > > Estoy empezando con Python, ahora por ahora ya estoy bastante > familiarizado > con la sintaxis de Python, pero ando un poco "jodido" con las GUI. > > Os cuento, para el proyecto final de carrera necesito realizar una > simulación gráfica con python, y ando bastante perdido en este sentido. > Alguien conoce algunos documentos para iniciarme? He visto que mucha gente > trabaja con gtk, aunque desconozco como funciona; que diferencias hay > entre > todas las posibilidades gráficas? podrias dar mas detalles de lo que quieres lograr, ademas de decir si desarrollaras sobre Window$ o alguna distro GNU/Linux. Por otra parte, a que te refieres con Simulacion Grafica?...Desarrollar un IDE para Python? Simulacion de algun proceso industrial?...En fin, se me ocurren varios mas tipos de simulacion grafica. Pues nada, muchas gracias! > -- > Xavier Torelló > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > -- Saludos.,LSM. From xavier.torello en gmail.com Wed Jul 12 22:24:38 2006 From: xavier.torello en gmail.com (=?ISO-8859-1?Q?Xavier_Torell=F3?=) Date: Wed, 12 Jul 2006 22:24:38 +0200 Subject: =?ISO-8859-1?Q?Re:__Simulaci=F3n_gr=E1fica_con_Python?= In-Reply-To: <979e02b40607121305k2f2a46acwe87ec642184a1d73@mail.gmail.com> References: <3b74d46f0607120945n7828acb0x7e8e1037db7a172e@mail.gmail.com> <979e02b40607121305k2f2a46acwe87ec642184a1d73@mail.gmail.com> Message-ID: <3b74d46f0607121324p68ba3dcah4d74725e0aa6f373@mail.gmail.com> Primero de todo agradecer tu respuesta. Veamos, trabajo con Debian; y necesito realizar la simulación de una casa. En principio, vista desde arriba, es decir, habitación por habitación; como un plano. La idea que no solo sea una representación, sino que se pueda interactuar con ella. Lo que necesito es aparte de montar una pequeña interfície de control, conseguir representar la casa. Espero que esta breve descripción sea suficiente; puesto que tampoco tengo muy claro las posibilidades que tiene python. Gracias! On 7/12/06, Leo San Martín. wrote: > > On 12/07/06, Xavier Torelló wrote: > > > > Muy buenas a todos. > > > > Estoy empezando con Python, ahora por ahora ya estoy bastante > > familiarizado > > con la sintaxis de Python, pero ando un poco "jodido" con las GUI. > > > > Os cuento, para el proyecto final de carrera necesito realizar una > > simulación gráfica con python, y ando bastante perdido en este sentido. > > Alguien conoce algunos documentos para iniciarme? He visto que mucha > gente > > trabaja con gtk, aunque desconozco como funciona; que diferencias hay > > entre > > todas las posibilidades gráficas? > > > > podrias dar mas detalles de lo que quieres lograr, ademas de decir si > desarrollaras sobre Window$ o alguna distro GNU/Linux. > > Por otra parte, a que te refieres con Simulacion Grafica?...Desarrollar un > IDE para Python? Simulacion de algun proceso industrial?...En fin, se me > ocurren varios mas tipos de simulacion grafica. > > > > Pues nada, muchas gracias! > > -- > > Xavier Torelló > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es > > > > > > -- > Saludos.,LSM. > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > -- Xavier Torelló From pych3m4 en gmail.com Thu Jul 13 00:56:08 2006 From: pych3m4 en gmail.com (Chema Cortes) Date: Thu, 13 Jul 2006 00:56:08 +0200 Subject: Imprimir dentro de la aplicacion In-Reply-To: <20060712163722.10355.qmail@web25903.mail.ukl.yahoo.com> References: <44B4DC29.6010506@ch3m4.org> <20060712163722.10355.qmail@web25903.mail.ukl.yahoo.com> Message-ID: <2c9fb0dd0607121556p10933cb1s71c3dfeeb18074b4@mail.gmail.com> El 12/07/06, luis eduardo ramirez escribió: > > Despues del set(), usas el update() > > self.update() Si es una pregunta, la respuesta es que "no hace falta". Al actualizar la variable, se actualizan todos los widgets que dependen de ella en el siguiente bucle de refresco. From jasb en mtbcampogib.com Thu Jul 13 08:57:29 2006 From: jasb en mtbcampogib.com (JASB) Date: Thu, 13 Jul 2006 08:57:29 +0200 Subject: Sobre SqlAlchemy In-Reply-To: <002c01c6a5d1$76fd0880$640010ac@nombref31twj9b> References: <002c01c6a5d1$76fd0880$640010ac@nombref31twj9b> Message-ID: <1152773849.6211.314.camel@localhost.localdomain> Sin animo, de que cambies, pero me he decantado por SQLObject para abstraer la BD en un proyecto, principalmente por esta razón : - Esta incluido en proyectos del tipo Django y TurboGears ( aunque este también soporta SQLAlchemy ) con lo que lo aprendido lo podré utilizar en este tipo de proyectos, usando las mismas clases, ....... Con lo que ya llevo programado (cambiado en el proyecto), me quedo con lo fácil que es manejar los objetos creados por SQLObject y el ahorro de código que se produce. Con respecto a MSAccess, SQLObject no lo soporta y tampoco Oracle por ahora, y a lo mejor esto para ti es imprescindible para mi no lo es. Salu2. El mié, 12-07-2006 a las 18:37 +0200, Amm-Python escribió: > Estoy haciendo pruebas con Sqlalchemy. > > Inicialmente parece que solucionará mis problemas para poder trabajar > con varios tipos de bases de datos: Mysql, Postgress, Oracle,... > > Hay alguien que lo conozca y pueda darme razones para NO decantarme por > esta herramienta? > > Sobre todo para no perder el tiempo cambiando lo que ya tengo hecho, > para al final ver que no se ajusta a mis necesidades. > > He probado con Sqlite y Oracle, parece que de momento todo bien. > > ¿Alguien sabe si se puede conectar a bases de datos MSAccess? En caso > afirmativo, agradecería un ejemplo de conexión ya que no he sido capaz > de realizarla. > > Saludos, > Toni > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es - M A R X O S O - Gestión Eventos Deportivos / Sport Events Management http://www.marxoso.org ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From py en ch3m4.org Thu Jul 13 10:11:42 2006 From: py en ch3m4.org (Chema Cortes) Date: Thu, 13 Jul 2006 10:11:42 +0200 Subject: vb2py In-Reply-To: <000601c6a5d0$b7a12610$048be050@equipo> References: <320D3688276F054080FE12825DF1E900030D165F@ucixw1.uci.cu> <771741b20607041159v3a39e03ejb1ecb3e55470a997@mail.gmail.com> <000601c6a5d0$b7a12610$048be050@equipo> Message-ID: <44B6003E.9000001@ch3m4.org> Juan M. Puertas escribió: > Lo confieso, me paso a Python. Todo sea por el software libre :-) > Quiero pasar un proyecto VB con muchos formularios. En la web de vb2py > hay una manera de pasar el código online, pero no los formularios. > He instalado vb2py, pero cada vez que quiero convertir código, sea de un > formulario, o sea un simple "dim i as integer", siempre dá el mismo > error: <> > ¿Alguien conoce una manera fácil de convertir formularios de VB? Como te han dicho, es mejor que te plantees una conversión manual del código. En cuanto a los formularios, échale un vistazo al Pythoncard que es un buen intento de emular al VB. De hecho el vb2py lo utilizaba. Pythoncard: http://www.pythoncard.org -- Chema Cortés (py en ch3m4.org) "Proudly made on earth by generic humanoid carbon units" From py en ch3m4.org Thu Jul 13 10:15:46 2006 From: py en ch3m4.org (Chema Cortes) Date: Thu, 13 Jul 2006 10:15:46 +0200 Subject: =?ISO-8859-1?Q?Simulaci=F3n_gr=E1fica_con_?= =?ISO-8859-1?Q?Python?= In-Reply-To: <3b74d46f0607121324p68ba3dcah4d74725e0aa6f373@mail.gmail.com> References: <3b74d46f0607120945n7828acb0x7e8e1037db7a172e@mail.gmail.com> <979e02b40607121305k2f2a46acwe87ec642184a1d73@mail.gmail.com> <3b74d46f0607121324p68ba3dcah4d74725e0aa6f373@mail.gmail.com> Message-ID: <44B60132.1030400@ch3m4.org> Xavier Torelló escribió: > Primero de todo agradecer tu respuesta. > > Veamos, trabajo con Debian; y necesito realizar la simulación de una casa. > En principio, vista desde arriba, es decir, habitación por habitación; como > un plano. La idea que no solo sea una representación, sino que se pueda > interactuar con ella. Lo que necesito es aparte de montar una pequeña > interfície de control, conseguir representar la casa. > > Espero que esta breve descripción sea suficiente; puesto que tampoco tengo > muy claro las posibilidades que tiene python. El wxPython integra la librería gráfica OGL con la que podrías hacer cosas como éstas. En la demo de wxpython hay un ejemplo de un grafo en el que puedes mover objetos enlazados en un canvas. -- Chema Cortés (py en ch3m4.org) "Proudly made on earth by generic humanoid carbon units" From nocreyentes en terra.es Thu Jul 13 12:17:43 2006 From: nocreyentes en terra.es (nocreyente) Date: Thu, 13 Jul 2006 12:17:43 +0200 Subject: =?ISO-8859-1?Q?Re:__Simulaci=F3n_gr=E1fica_con_Python?= In-Reply-To: <3b74d46f0607121324p68ba3dcah4d74725e0aa6f373@mail.gmail.com> References: <3b74d46f0607120945n7828acb0x7e8e1037db7a172e@mail.gmail.com> <979e02b40607121305k2f2a46acwe87ec642184a1d73@mail.gmail.com> <3b74d46f0607121324p68ba3dcah4d74725e0aa6f373@mail.gmail.com> Message-ID: Buenas: Si tienes habilidad con los programas de 3D, pero te gustaria que lo que haces puedas extenderlo con python, Blender es la solucion. Hay gente que incluso lo usa como motor de juegos. Mi inutilidad manejando herramientas de 3D me impiden darte más información util que una URL: http://www.blender.org/cms/Python_Scripts.3.0.html Si lo que hace falta es algo más figurado, que no tiene que tener tanto detalle, y es de una casa en plan cuadradote, quiza sea mejor usar un motor de juego en isometricas: http://www.webalice.it/simon.gillespie/Isotope.html Tampoco he probado el anterior enlace, pero lo que si he probado son las librerias en las que esta basado, las pyGame: http://www.pygame.org/news.html Esta libreria es a bastante bajo nivel. Graficos, joystick, ... curratelo tu todo. PyGame tambien se usa para cosas que no son juegos como el caso de Freevo (http://freevo.sourceforge.net/) un media center. Quiza, te baste con cualquier libreria visual como wxWidgets, gtk, ... y extenderte algun widget para que se parezca a los controles de tu casa. Hay miles de posibles soluciones a tu problema, dependiendo de que es lo que quieras hacer te conviene más un tipo de solución u otra. Quiza tengas que afinar más con lo que necesitas: - Motor de 3D. Simulas un modelo, y el observador genera una imagen con el motor de 3d. Opengl, ... - Motor de Juegos 3D. Solo visualizar cosas en 3D no te vale, quieres algo que este pensado para ser más interactivo. Blender, ... - Motor de 2D. Como las 3D pero con una dimension menos. Puedes usar el Canvas de wxWindows, gtk, ...; o pintar directamente en la pantalla con pygame - Motor de Juegos 2D. No solo te interesa la representacion, sino que se controle la entrada por teclado o la salida por tarjeta de sonido con mezcla de canales y.... PyGame, Isotope, ... - Motor de fisica. Tambien hay cosas especificas para este aspecto. En python, como en cualquier otro lenguaje encontraras cientos de librerias especificas para lo que buscas. Y si solo encuentras librerias en C siempre te quedara hacerte los bindings correspondientes con SWIG: http://www.swig.org/ Por opciones no sera, lo dificil es encontrar la mas apropiada para tu caso, y eso solo se puede saber conociendo bien los requisitos de lo que tienes que hacer. Espero alguna de los ejemplos que te he puesto te sirva para tu proyecto, o al menos para que puedas plantearnos mejor cuales son tus requisitos: - Visualizacion (2D, 3D, pantalla completa, ...) - Maneras de interactuar (raton, joystick, teclado, ...) para producir los eventos con los que quieres interactuar. - Qué simular (un robot que descubre el plano de una casa y hay que simular la friccion del suelo; un sistema domotico que sube y baja las persianas, y enciende y apaga las luces; la iluminacion del suelo cuando la luz solar entra por las ventanas; ...) - ... Espero no haberte apabuyado con demasiados links y que al menos tengas claro que en python tienes muchas opciones. Un saludo. El 12/07/2006, a las 22:24, Xavier Torelló escribió: > Primero de todo agradecer tu respuesta. > > Veamos, trabajo con Debian; y necesito realizar la simulación de > una casa. > En principio, vista desde arriba, es decir, habitación por > habitación; como > un plano. La idea que no solo sea una representación, sino que se > pueda > interactuar con ella. Lo que necesito es aparte de montar una pequeña > interfície de control, conseguir representar la casa. > > Espero que esta breve descripción sea suficiente; puesto que > tampoco tengo > muy claro las posibilidades que tiene python. > > Gracias! > > On 7/12/06, Leo San Martín. wrote: >> >> On 12/07/06, Xavier Torelló wrote: >> > >> > Muy buenas a todos. >> > >> > Estoy empezando con Python, ahora por ahora ya estoy bastante >> > familiarizado >> > con la sintaxis de Python, pero ando un poco "jodido" con las GUI. >> > >> > Os cuento, para el proyecto final de carrera necesito realizar una >> > simulación gráfica con python, y ando bastante perdido en este >> sentido. >> > Alguien conoce algunos documentos para iniciarme? He visto que >> mucha >> gente >> > trabaja con gtk, aunque desconozco como funciona; que >> diferencias hay >> > entre >> > todas las posibilidades gráficas? >> >> >> >> podrias dar mas detalles de lo que quieres lograr, ademas de decir si >> desarrollaras sobre Window$ o alguna distro GNU/Linux. >> >> Por otra parte, a que te refieres con Simulacion >> Grafica?...Desarrollar un >> IDE para Python? Simulacion de algun proceso industrial?...En fin, >> se me >> ocurren varios mas tipos de simulacion grafica. >> >> >> >> Pues nada, muchas gracias! >> > -- >> > Xavier Torelló >> > _______________________________________________ >> > Python-es mailing list >> > Python-es en aditel.org >> > http://listas.aditel.org/listinfo/python-es >> > >> >> >> >> -- >> Saludos.,LSM. >> _______________________________________________ >> Python-es mailing list >> Python-es en aditel.org >> http://listas.aditel.org/listinfo/python-es >> > > > > -- > Xavier Torelló > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From jaime en iaa.es Thu Jul 13 14:14:02 2006 From: jaime en iaa.es (Jaime Perea) Date: Thu, 13 Jul 2006 14:14:02 +0200 Subject: =?iso-8859-1?q?Simulaci=F3n_gr=E1fica_con?= Python In-Reply-To: References: <3b74d46f0607120945n7828acb0x7e8e1037db7a172e@mail.gmail.com> <3b74d46f0607121324p68ba3dcah4d74725e0aa6f373@mail.gmail.com> Message-ID: <200607131414.02655.jaime@iaa.es> El Jueves, 13 de Julio de 2006 12:17, nocreyente escribió: > Buenas: > > Si tienes habilidad con los programas de 3D, pero te gustaria que lo > que haces puedas extenderlo con python, Blender es la solucion. Hay > gente que incluso lo usa como motor de juegos. Mi inutilidad > manejando herramientas de 3D me impiden darte más información util > que una URL: vpython?? http://www.vpython.org/webdoc/index.html -- Jaime D. Perea Duarte. Linux registered user #10472 Dep. Astrofisica Extragalactica. Instituto de Astrofisica de Andalucia (CSIC) Apdo. 3004, 18080 Granada, Spain. From mgallegol en gmail.com Thu Jul 13 15:05:01 2006 From: mgallegol en gmail.com (=?ISO-8859-1?Q?Martha_Luc=EDa_Gallego_L=F3pez?=) Date: Thu, 13 Jul 2006 08:05:01 -0500 Subject: contador Message-ID: <3da61ab70607130605t1007b874ha993970a89f472bd@mail.gmail.com> Un saludo a todos los listeros: Quisiera en python a través de una ventana pedir una serie de datos ej: entre valor1:...al escribir valor pregunta que si desea entrar otros valores al dar la opción si deberia pedir valor 2 y así sucesivamente en la misma ventana o en otra nueva. Podrían explicarme como podría hacer esto porque de la manera en que lo estoy haciendo no me funciona ya que tengo definida una función para entrar los valores y contador definido en ella pero cuando doy clic en el boton continuar voy a otra función donde defino si y vuelvo a llamar la función cosa que se estoy haciendo mal porque me vuelve a preguntar por valor 1. Me podrían corregir con sus consejos y sugerencias mil gracias por su gentil ayuda. From cgalisteo en k-rolus.net Thu Jul 13 15:22:25 2006 From: cgalisteo en k-rolus.net (Carlos Galisteo) Date: Thu, 13 Jul 2006 15:22:25 +0200 Subject: contador In-Reply-To: <3da61ab70607130605t1007b874ha993970a89f472bd@mail.gmail.com> References: <3da61ab70607130605t1007b874ha993970a89f472bd@mail.gmail.com> Message-ID: <056b180b495b348d374ba464e9a8a021@localhost> Hola Martha. Comprenderás que va a ser mucho más facil intentar ayudarte si nos pones el código que estás usando. La frase "de la manera en que lo estoy haciendo no me funciona" no es suficiente información. Poner algún punto y aparte para entender mejor el mensaje también ayuda, pero vamos que lo principal es el código :) On Thu, 13 Jul 2006 08:05:01 -0500, "Martha Lucía Gallego López" wrote: > Un saludo a todos los listeros: > > Quisiera en python a través de una ventana pedir una serie de datos ej: > entre valor1:...al escribir valor pregunta que si desea entrar otros > valores > al dar la opción si deberia pedir valor 2 y así sucesivamente en la > misma > ventana o en otra nueva. Podrían explicarme como podría hacer esto > porque > de la manera en que lo estoy haciendo no me funciona ya que tengo definida > una función para entrar los valores y contador definido en ella pero > cuando > doy clic en el boton continuar voy a otra función donde defino si y > vuelvo a > llamar la función cosa que se estoy haciendo mal porque me vuelve a > preguntar por valor 1. Me podrían corregir con sus consejos y sugerencias > mil gracias por su gentil ayuda. > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es -- --- Carlos Galisteo Jabber_Id::cgalisteo en jabber.org PGP_key::http://k-rolus.net/~cgalisteo/cgalisteo.gpg Key_Fingerprint::F888 6FBA 9145 B5A2 C187 66D6 5B8C 027A 69AD BE65 --- ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From dpcesar en gmail.com Thu Jul 13 20:47:07 2006 From: dpcesar en gmail.com (=?ISO-8859-1?Q?C=E9sar_Hern=E1ndez?=) Date: Thu, 13 Jul 2006 14:47:07 -0400 Subject: vb2py In-Reply-To: <000601c6a5d0$b7a12610$048be050@equipo> References: <320D3688276F054080FE12825DF1E900030D165F@ucixw1.uci.cu> <771741b20607041159v3a39e03ejb1ecb3e55470a997@mail.gmail.com> <000601c6a5d0$b7a12610$048be050@equipo> Message-ID: <24c049a70607131147j3156c703iad87c68423d9c7fe@mail.gmail.com> Yo estoy realizando el mismo proceso de conversion, desde vb6 a python, he realizado y estoy realizando pruebas para familiarizarme con el lenguaje y sinceramente pienso que es una muy mala idea migrar una aplicación completa utilizando un conversor. La razón es simple "en el supuesto de que te funcionara la nueva aplicación", (cosa que no va hacer asi) el soporte te va a costar tanto que finalmente vas desear haber realizado tu aplicación desde la primera linea de codigo :) Ing. César Hernández El día 12/07/06, Juan M. Puertas escribió: > > Hola. > Lo confieso, me paso a Python. Todo sea por el software libre :-) > Quiero pasar un proyecto VB con muchos formularios. En la web de vb2py hay > una manera de pasar el código online, pero no los formularios. > He instalado vb2py, pero cada vez que quiero convertir código, sea de un > formulario, o sea un simple "dim i as integer", siempre dá el mismo error: > <> > ¿Alguien conoce una manera fácil de convertir formularios de VB? > Saludos :-) > > > > ______________________________________________ > LLama Gratis a cualquier PC del Mundo. > Llamadas a fijos y móviles desde 1 céntimo por minuto. > http://es.voice.yahoo.com > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > From carlosfvo en gmail.com Thu Jul 13 22:10:07 2006 From: carlosfvo en gmail.com (carlos villa) Date: Thu, 13 Jul 2006 15:10:07 -0500 Subject: Ayuda con Manejo de listas.... Message-ID: <629497540607131310w82189d5hb3182edf8350d42c@mail.gmail.com> Buenas tardes, tengo una duda necesito declarar listas vacias y no se como hacerlo lo estoy haciendo de la siquiente forma: self.Devolver=['','','',''] el problema es cuando necesito que sea de tamaño indefinido como le hago, o cuando necesito llenarla mas adelande como es mi caso ??? si puden ayudarme agradeceria un ejemplito. class Atrbtos: def __init__(self): self.Devolver=['','','',''] def setatribute (self, Asignar): self.Devolver[0] = Asignar [0][0] self.Devolver[1] = Asignar [0][1] self.Devolver[2] = Asignar [0][2] self.Devolver[3] = Asignar [0][3] def getatribute (self): return self.Devolver From minoztro en gmail.com Thu Jul 13 22:38:46 2006 From: minoztro en gmail.com (Milton Galo Patricio) Date: Thu, 13 Jul 2006 16:38:46 -0400 Subject: Ayuda con Manejo de listas.... In-Reply-To: <629497540607131310w82189d5hb3182edf8350d42c@mail.gmail.com> References: <629497540607131310w82189d5hb3182edf8350d42c@mail.gmail.com> Message-ID: <172699c50607131338i5bf3352dr2680668f7190cc00@mail.gmail.com> self.Devolver=[] listo 2006/7/13, carlos villa : > > Buenas tardes, tengo una duda necesito declarar listas vacias y no se > como hacerlo > > lo estoy haciendo de la siquiente forma: > > self.Devolver=['','','',''] el problema es cuando necesito que sea > de tamaño indefinido como le hago, o cuando necesito llenarla mas > adelande como es mi caso ??? si puden ayudarme agradeceria un > ejemplito. > > class Atrbtos: > def __init__(self): > > self.Devolver=['','','',''] > > def setatribute (self, Asignar): > > self.Devolver[0] = Asignar [0][0] > self.Devolver[1] = Asignar [0][1] > self.Devolver[2] = Asignar [0][2] > self.Devolver[3] = Asignar [0][3] > > def getatribute (self): > return self.Devolver > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > -- Milton Inostroza Aguilera From rodrigo en nul-unu.com Thu Jul 13 22:33:00 2006 From: rodrigo en nul-unu.com (Luis Rodrigo Gallardo Cruz) Date: Thu, 13 Jul 2006 15:33:00 -0500 Subject: Ayuda con Manejo de listas.... In-Reply-To: <629497540607131310w82189d5hb3182edf8350d42c@mail.gmail.com> References: <629497540607131310w82189d5hb3182edf8350d42c@mail.gmail.com> Message-ID: <20060713203300.GG2894@caribdis.nul-unu.com> On Thu, Jul 13, 2006 at 03:10:07PM -0500, carlos villa wrote: > Buenas tardes, tengo una duda necesito declarar listas vacias y no se > como hacerlo lista = [] http://docs.python.org/tut/node5.html#SECTION005140000000000000000 -- Rodrigo Gallardo GPG-Fingerprint: 7C81 E60C 442E 8FBC D975 2F49 0199 8318 ADC9 BC28 ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: Digital signature URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From carlosfvo en gmail.com Thu Jul 13 22:53:28 2006 From: carlosfvo en gmail.com (carlos villa) Date: Thu, 13 Jul 2006 15:53:28 -0500 Subject: Ayuda con Manejo de listas.... In-Reply-To: <20060713203300.GG2894@caribdis.nul-unu.com> References: <629497540607131310w82189d5hb3182edf8350d42c@mail.gmail.com> <20060713203300.GG2894@caribdis.nul-unu.com> Message-ID: <629497540607131353m183f7c04j93994bfc625ec0a9@mail.gmail.com> muchas gracias pero creo que te se ha equivicado ya ensaye no funciona devuelve el siguiente error cuando la declaro de esta forma -----> self.Devolver= [ ] self.Devolver[0] = Asignar [0][0] IndexError: list assignment index out of range El 13/07/06, Luis Rodrigo Gallardo Cruz escribió: > On Thu, Jul 13, 2006 at 03:10:07PM -0500, carlos villa wrote: > > Buenas tardes, tengo una duda necesito declarar listas vacias y no se > > como hacerlo > > lista = [] > http://docs.python.org/tut/node5.html#SECTION005140000000000000000 > > -- > Rodrigo Gallardo > GPG-Fingerprint: 7C81 E60C 442E 8FBC D975 2F49 0199 8318 ADC9 BC28 > > > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.3 (GNU/Linux) > > iD8DBQFEtq38AZmDGK3JvCgRAnrYAJwNWPeKLVIP04n2O6AL3ThXUbaHzQCeNofS > 5Wktf2SlOGGwLQHJyKgPFd0= > =l9pO > -----END PGP SIGNATURE----- > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > > > From necudeco en gmail.com Thu Jul 13 23:01:25 2006 From: necudeco en gmail.com (NeCuDeCo) Date: Thu, 13 Jul 2006 21:01:25 +0000 Subject: Ayuda con Manejo de listas.... In-Reply-To: <629497540607131353m183f7c04j93994bfc625ec0a9@mail.gmail.com> References: <629497540607131310w82189d5hb3182edf8350d42c@mail.gmail.com> <20060713203300.GG2894@caribdis.nul-unu.com> <629497540607131353m183f7c04j93994bfc625ec0a9@mail.gmail.com> Message-ID: <2ccb93070607131401k28a5d492s476e5de90ce3fd51@mail.gmail.com> no estoy muy seguro pero me parece que las listas no empiezan en cero en python. On 7/13/06, carlos villa wrote: > > muchas gracias pero creo que te se ha equivicado ya ensaye no > funciona devuelve el siguiente error cuando la declaro de esta forma > -----> self.Devolver= [ ] > > self.Devolver[0] = Asignar [0][0] > IndexError: list assignment index out of range > > > > > > > > El 13/07/06, Luis Rodrigo Gallardo Cruz escribió: > > On Thu, Jul 13, 2006 at 03:10:07PM -0500, carlos villa wrote: > > > Buenas tardes, tengo una duda necesito declarar listas vacias y no se > > > como hacerlo > > > > lista = [] > > http://docs.python.org/tut/node5.html#SECTION005140000000000000000 > > > > -- > > Rodrigo Gallardo > > GPG-Fingerprint: 7C81 E60C 442E 8FBC D975 2F49 0199 8318 ADC9 BC28 > > > > > > -----BEGIN PGP SIGNATURE----- > > Version: GnuPG v1.4.3 (GNU/Linux) > > > > iD8DBQFEtq38AZmDGK3JvCgRAnrYAJwNWPeKLVIP04n2O6AL3ThXUbaHzQCeNofS > > 5Wktf2SlOGGwLQHJyKgPFd0= > > =l9pO > > -----END PGP SIGNATURE----- > > > > > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es > > > > > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > -- -------------------------- NeCuDeCo http://necudeco.blogsome.com http://apesol.org Your Jugdment Day is NOW From rodrigo en nul-unu.com Thu Jul 13 23:19:50 2006 From: rodrigo en nul-unu.com (Luis Rodrigo Gallardo Cruz) Date: Thu, 13 Jul 2006 16:19:50 -0500 Subject: Ayuda con Manejo de listas.... In-Reply-To: <2ccb93070607131401k28a5d492s476e5de90ce3fd51@mail.gmail.com> References: <629497540607131310w82189d5hb3182edf8350d42c@mail.gmail.com> <20060713203300.GG2894@caribdis.nul-unu.com> <629497540607131353m183f7c04j93994bfc625ec0a9@mail.gmail.com> <2ccb93070607131401k28a5d492s476e5de90ce3fd51@mail.gmail.com> Message-ID: <20060713211950.GH2894@caribdis.nul-unu.com> On Thu, Jul 13, 2006 at 09:01:25PM +0000, NeCuDeCo wrote: > no estoy muy seguro pero me parece que las listas no empiezan en cero en > python. Las listas empiezan en cero. Sigue mi sutil sugerencia y lee: > >El 13/07/06, Luis Rodrigo Gallardo Cruz escribió: > >> http://docs.python.org/tut/node5.html#SECTION005140000000000000000 -- Rodrigo Gallardo GPG-Fingerprint: 7C81 E60C 442E 8FBC D975 2F49 0199 8318 ADC9 BC28 ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: Digital signature URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From cescd en yahoo.com.mx Thu Jul 13 23:32:30 2006 From: cescd en yahoo.com.mx (Cesar Cardenas Desales) Date: Thu, 13 Jul 2006 16:32:30 -0500 (CDT) Subject: Ayuda con Manejo de listas.... In-Reply-To: <172699c50607131338i5bf3352dr2680668f7190cc00@mail.gmail.com> References: <172699c50607131338i5bf3352dr2680668f7190cc00@mail.gmail.com> Message-ID: <20060713213230.30197.qmail@web50413.mail.yahoo.com> Y para agregar, usa append self.Devolver.append('elemento') --- Milton Galo Patricio escribió: > self.Devolver=[] > > listo > > 2006/7/13, carlos villa : > > > > Buenas tardes, tengo una duda necesito declarar > listas vacias y no se > > como hacerlo > > > > lo estoy haciendo de la siquiente forma: > > > > self.Devolver=['','','',''] el problema es > cuando necesito que sea > > de tamaño indefinido como le hago, o cuando > necesito llenarla mas > > adelande como es mi caso ??? si puden ayudarme > agradeceria un > > ejemplito. > > > > class Atrbtos: > > def __init__(self): > > > > self.Devolver=['','','',''] > > > > def setatribute (self, Asignar): > > > > self.Devolver[0] = Asignar [0][0] > > self.Devolver[1] = Asignar [0][1] > > self.Devolver[2] = Asignar [0][2] > > self.Devolver[3] = Asignar [0][3] > > > > def getatribute (self): > > return self.Devolver > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es > > > > > > -- > Milton Inostroza Aguilera > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > ___________________________________________________________ Do You Yahoo!? La mejor conexión a Internet y 2GB extra a tu correo por $100 al mes. http://net.yahoo.com.mx From minostro en sicet.cl Fri Jul 14 00:06:19 2006 From: minostro en sicet.cl (Milton Galo Patricio) Date: Thu, 13 Jul 2006 18:06:19 -0400 Subject: Ayuda con Manejo de listas.... In-Reply-To: <20060713213230.30197.qmail@web50413.mail.yahoo.com> References: <172699c50607131338i5bf3352dr2680668f7190cc00@mail.gmail.com> <20060713213230.30197.qmail@web50413.mail.yahoo.com> Message-ID: <172699c50607131506ye8672cbw1690bd17573c12d3@mail.gmail.com> para agregar un elemento debes realizar un append self.Devolver.append(elemento) ahora si le quieres agregar otra lista como elemento debes hacer self.Devolver.append([]) y para realizar un append a esta estructura lo tendrias asi self.Devolver[0].append(elemento) y para imprimir a ese elemento lo imprimes print self.Devolver[0][0] y sin querer queriendo formaste una matriz El día 13/07/06, Cesar Cardenas Desales escribió: > > Y para agregar, usa append > > self.Devolver.append('elemento') > > > --- Milton Galo Patricio > escribió: > > > self.Devolver=[] > > > > listo > > > > 2006/7/13, carlos villa : > > > > > > Buenas tardes, tengo una duda necesito declarar > > listas vacias y no se > > > como hacerlo > > > > > > lo estoy haciendo de la siquiente forma: > > > > > > self.Devolver=['','','',''] el problema es > > cuando necesito que sea > > > de tamaño indefinido como le hago, o cuando > > necesito llenarla mas > > > adelande como es mi caso ??? si puden ayudarme > > agradeceria un > > > ejemplito. > > > > > > class Atrbtos: > > > def __init__(self): > > > > > > self.Devolver=['','','',''] > > > > > > def setatribute (self, Asignar): > > > > > > self.Devolver[0] = Asignar [0][0] > > > self.Devolver[1] = Asignar [0][1] > > > self.Devolver[2] = Asignar [0][2] > > > self.Devolver[3] = Asignar [0][3] > > > > > > def getatribute (self): > > > return self.Devolver > > > _______________________________________________ > > > Python-es mailing list > > > Python-es en aditel.org > > > http://listas.aditel.org/listinfo/python-es > > > > > > > > > > > -- > > Milton Inostroza Aguilera > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es > > > > > > > > > ___________________________________________________________ > Do You Yahoo!? > La mejor conexión a Internet y 2GB extra a tu correo por $100 al > mes. http://net.yahoo.com.mx > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > -- Milton Inostroza Aguilera From jdanielandrada en hotmail.com Fri Jul 14 02:22:32 2006 From: jdanielandrada en hotmail.com (Daniel Andrada) Date: Fri, 14 Jul 2006 00:22:32 +0000 Subject: Ayuda con Manejo de listas.... In-Reply-To: <172699c50607131506ye8672cbw1690bd17573c12d3@mail.gmail.com> References: <172699c50607131506ye8672cbw1690bd17573c12d3@mail.gmail.com> Message-ID: utiliza la orden append para lagregar los los elementos que necesites lista.append(elemento) _________________________________________________________________ Regístrate en el nuevo Windows Live Messenger beta. http://imagine-msn.com/minisites/messenger/default.aspx?locale=es-ar From astralrod en gmail.com Fri Jul 14 05:00:31 2006 From: astralrod en gmail.com (astralrod) Date: Thu, 13 Jul 2006 21:00:31 -0600 Subject: Duda con TKinter y PIL Message-ID: Saludos! Casi no he manejado mucho el tk ni pil, pero quise hacer una simple ventana que mostrara una imagen, pero no he logrado que la imagen aparezca completa, la resolución de la imagen es de 300x401 y es la dimension que uso para la ventana. El código es el siguiente: (esta basado en un ejemplo de TKinter) from Tkinter import * from ImageTk import * import Image im=Image.open("c:\Roni07.jpg") tamano = im.size d = str(tamano[0])+"x"+str(tamano[1]) ventana = Tk() ventana.geometry(d) frame = Frame(ventana) frame.pack() c = Canvas(frame) i = PhotoImage(im,width=300, height=401) c.create_image(int (tamano[0])/2, int (tamano[1])/2,image=i) c.pack() ventana.mainloop() (Adjunto la imagen) Lo quise hacer en una version muy reducida primero, pero esto es lo que pasa; ya probe con fill=BOTH fill=Y y expand, pero no logro gacer que el frame sea del tamaño de la ventana, tanmbien he hecho la vntana mas grande y le he puesto propiedades de ancho y alto tanto al frame como al canvas, y no he logrado que la imagen aparezca completa. ¿Alguna sugerencia? Gracias! ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From rapto en arrakis.es Fri Jul 14 09:22:20 2006 From: rapto en arrakis.es (Marcos =?ISO-8859-1?Q?S=E1nchez?= Provencio) Date: Fri, 14 Jul 2006 09:22:20 +0200 Subject: Ayuda con Manejo de listas.... In-Reply-To: <20060713203300.GG2894@caribdis.nul-unu.com> References: <629497540607131310w82189d5hb3182edf8350d42c@mail.gmail.com> <20060713203300.GG2894@caribdis.nul-unu.com> Message-ID: <1152861740.5572.0.camel@localhost.localdomain> Yo aún diría más (en castellano): http://pyspanishdoc.sourceforge.net/tut/node5.html#SECTION005140000000000000000 El jue, 13-07-2006 a las 15:33 -0500, Luis Rodrigo Gallardo Cruz escribió: > On Thu, Jul 13, 2006 at 03:10:07PM -0500, carlos villa wrote: > > Buenas tardes, tengo una duda necesito declarar listas vacias y no se > > como hacerlo > > lista = [] > http://docs.python.org/tut/node5.html#SECTION005140000000000000000 > ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From elizundia en fitbak.com Fri Jul 14 10:28:03 2006 From: elizundia en fitbak.com (elizundia en fitbak.com) Date: Fri, 14 Jul 2006 10:28:03 +0200 (CEST) Subject: Colocacion de frames en Tkinter Message-ID: <1243.87.223.149.130.1152865683.squirrel@mail.fitbak.com> saludos, En tkinter, ¿¿como hago para que 2 frames me queden uno a la izquierda y otro a la derecha?? Por ahora los frames me quedan siempre uno debajo del otro seguido. He puesto .configure(side=LEFT) pero aun asi me pone abajo. ¿Puede ser por las medidas del frame primero que no entran en la pantalla y por eso lo pone abajo?? Gracias From py en ch3m4.org Fri Jul 14 13:08:47 2006 From: py en ch3m4.org (Chema Cortes) Date: Fri, 14 Jul 2006 13:08:47 +0200 Subject: Colocacion de frames en Tkinter In-Reply-To: <1243.87.223.149.130.1152865683.squirrel@mail.fitbak.com> References: <1243.87.223.149.130.1152865683.squirrel@mail.fitbak.com> Message-ID: <44B77B3F.2050800@ch3m4.org> elizundia en fitbak.com escribió: > En tkinter, ¿¿como hago para que 2 frames me queden uno a la izquierda y > otro a la derecha?? > Por ahora los frames me quedan siempre uno debajo del otro seguido. He > puesto .configure(side=LEFT) pero aun asi me pone abajo. ¿Puede ser por > las medidas del frame primero que no entran en la pantalla y por eso lo > pone abajo?? Supongo que usas el "packer" como sistema de layout. No puedes usar el .configure() para cambiar el posicionamiento ya que "side" no es un atributo de Frame. Tienes que pasárselo al .pack() para evitar que coloque el Frame centrado por defecto: from Tkinter import * r=Tk() f1=Frame(r,height=100,width=100,bg="red",bd=30,relief=GROOVE) f1.pack(side=LEFT) f2=Frame(r,height=100,width=100,bg="blue",bd=30,relief=GROOVE) f2.pack(side=LEFT) r.mainloop() -- Chema Cortés (py en ch3m4.org) "Proudly made on earth by generic humanoid carbon units" From py en ch3m4.org Fri Jul 14 15:54:06 2006 From: py en ch3m4.org (Chema Cortes) Date: Fri, 14 Jul 2006 15:54:06 +0200 Subject: Duda con TKinter y PIL In-Reply-To: References: Message-ID: <44B7A1FE.1030306@ch3m4.org> astralrod escribió: > Casi no he manejado mucho el tk ni pil, pero quise hacer una simple ventana > que mostrara una imagen, pero no he logrado que la imagen aparezca > completa, > la resolución de la imagen es de 300x401 y es la dimension que uso para la > ventana. > > El código es el siguiente: (esta basado en un ejemplo de TKinter) > > from Tkinter import * > from ImageTk import * > import Image > > im=Image.open("c:\Roni07.jpg") > tamano = im.size > d = str(tamano[0])+"x"+str(tamano[1]) > > ventana = Tk() > ventana.geometry(d) > > frame = Frame(ventana) > frame.pack() > c = Canvas(frame) > i = PhotoImage(im,width=300, height=401) > c.create_image(int (tamano[0])/2, int (tamano[1])/2,image=i) > c.pack() > > ventana.mainloop() > > (Adjunto la imagen) > > Lo quise hacer en una version muy reducida primero, pero esto es lo que > pasa; ya probe con fill=BOTH fill=Y y expand, pero no logro gacer que el > frame sea del tamaño de la ventana, tanmbien he hecho la vntana mas > grande y > le he puesto propiedades de ancho y alto tanto al frame como al canvas, y > no he logrado que la imagen aparezca completa. > > ¿Alguna sugerencia? Por lo que aquí se puede ver, ni el Frame ni el Canvas tienen tamaño definido ni tienen dicho si deben expandirse. Tienes que intentar que el Frame se expanda hasta ocupar toda la ventana y, a su vez, que el Canvas se expanda para ocupar todo el Frame. En realidad, sobraría el Frame ya que la ventana hace de contendor. Lo siguiente a mí me funciona: from Tkinter import * from ImageTk import * from pprint import pprint import Image im=Image.open(r"c:\Roni07.jpg") # OJO: usa strings raws para las rutas tamano = im.size d = "%dx%d" % tamano # una optimización ventana = Tk() ventana.geometry(d) c = Canvas(ventana) i = PhotoImage(im) c.create_image(int (tamano[0])/2, int (tamano[1])/2,image=i) c.pack(expand=1,fill=BOTH) ventana.mainloop() Una alternativa es utilizar .pack_propagate para impedir la "propagación" del ajuste automático de los contenedores. Lo siguiente es una versión que usa esta técnica (más algunos cambios estéticos): from Tkinter import * from ImageTk import * from pprint import pprint import Image (w,h) = im.size d = "%dx%d" % (w,h) ventana = Tk() ventana.geometry(d) ventana.pack_propagate(0) c = Canvas(ventana,height=h,width=w) i = PhotoImage(im) c.create_image(w/2, h/2 ,image=i) c.pack() ventana.mainloop() En esta versión, el canvas no se autoexpande; se ajusta extrictamente al tamaño que le das. -- Chema Cortés (py en ch3m4.org) "Proudly made on earth by generic humanoid carbon units" From xavier.torello en gmail.com Fri Jul 14 16:14:32 2006 From: xavier.torello en gmail.com (=?ISO-8859-1?Q?Xavier_Torell=F3?=) Date: Fri, 14 Jul 2006 16:14:32 +0200 Subject: =?ISO-8859-1?Q?Re:__Simulaci=F3n_gr=E1fica_con_Python?= In-Reply-To: References: <3b74d46f0607120945n7828acb0x7e8e1037db7a172e@mail.gmail.com> <979e02b40607121305k2f2a46acwe87ec642184a1d73@mail.gmail.com> <3b74d46f0607121324p68ba3dcah4d74725e0aa6f373@mail.gmail.com> Message-ID: <3b74d46f0607140714y9353d99m7c5860b8bea6c317@mail.gmail.com> Muchisimas gracias a todos! Ya veo que soluciones para ello no me faltaran, tal y como dice nocreyente ahora solo falta encontrar la mejor o la que mejor se adecua al proyecto. De verdad, muchas gracias; ya os explicaré como acaba el tema, si acaba hehhehehe! -- Xavier Torelló From leo.sanmartin en gmail.com Fri Jul 14 18:05:48 2006 From: leo.sanmartin en gmail.com (=?ISO-8859-1?Q?Leo_San_Mart=EDn.?=) Date: Fri, 14 Jul 2006 18:05:48 +0200 Subject: =?ISO-8859-1?Q?Re:__Simulaci=F3n_gr=E1fica_con_Python?= In-Reply-To: <3b74d46f0607140714y9353d99m7c5860b8bea6c317@mail.gmail.com> References: <3b74d46f0607120945n7828acb0x7e8e1037db7a172e@mail.gmail.com> <979e02b40607121305k2f2a46acwe87ec642184a1d73@mail.gmail.com> <3b74d46f0607121324p68ba3dcah4d74725e0aa6f373@mail.gmail.com> <3b74d46f0607140714y9353d99m7c5860b8bea6c317@mail.gmail.com> Message-ID: <979e02b40607140905p2710084dy736820d69608cb4b@mail.gmail.com> On 14/07/06, Xavier Torelló wrote: > > Muchisimas gracias a todos! > > Ya veo que soluciones para ello no me faltaran, tal y como dice nocreyente > ahora solo falta encontrar la mejor o la que mejor se adecua al proyecto. Mira este tutorial http://gda.utp.edu.co/~duto/python/tutorial_wxpy/posteado hace unos dias en la lista, te da algo de diseño para GUIs, si no sabes nada de grafica con python te ayudara en forma rapida a progresar, Suerte! De verdad, muchas gracias; ya os explicaré como acaba el tema, si acaba > hehhehehe! > -- > Xavier Torelló > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > -- Saludos.,LSM. From tigerdequilmes en gmail.com Fri Jul 14 18:35:49 2006 From: tigerdequilmes en gmail.com (Tiger) Date: Fri, 14 Jul 2006 13:35:49 -0300 Subject: Foro necesita programador de python!! quien se postula?? Message-ID: Buenos días a todos... les estoy hablando en representacion de MBSOFT, una pagina dedicada a la informática, programacion, hacking y mas. Nuestro FORO anda necesitando moderadores de programacion, y como podrán observar, tenemos un subforo de python. Todo aquel que se siente capaz de moderar y administrar ese subforo, que se registre y se postule en este POST -- www.mb-soft.org/foros Tiger... From astralrod en gmail.com Fri Jul 14 22:28:51 2006 From: astralrod en gmail.com (astralrod) Date: Fri, 14 Jul 2006 14:28:51 -0600 Subject: Duda con TKinter y PIL In-Reply-To: <44B7A1FE.1030306@ch3m4.org> References: <44B7A1FE.1030306@ch3m4.org> Message-ID: Gracias Chema! Ya habia probado con expand y con fill, pero no al mismo tiempo y creo que necesto repasar lo básico de python, ya entendí por que no me marcaba error al manjar las tuplas. Gracias! From fernandoe en coordinadora.com Sat Jul 15 00:25:24 2006 From: fernandoe en coordinadora.com (Juan Fernando Estrada) Date: Fri, 14 Jul 2006 17:25:24 -0500 Subject: expresiones regulares Message-ID: <44B819D4.9080209@coordinadora.com> saludos, soy muy novato en este assunto de las expresiones regulares a ver si me puede ayudar de esta cadena select codigo,nombre,func_test(a,b) from test1,test2 where test1.codigo=test2.codigo and nombre=__nombre__ necesito extraer por separado codigo nombre func_test(a,b) y por otro lado necesito extraer __nombre__ From rodrigo en nul-unu.com Sat Jul 15 01:29:03 2006 From: rodrigo en nul-unu.com (Luis Rodrigo Gallardo Cruz) Date: Fri, 14 Jul 2006 18:29:03 -0500 Subject: expresiones regulares In-Reply-To: <44B819D4.9080209@coordinadora.com> References: <44B819D4.9080209@coordinadora.com> Message-ID: <20060714232903.GG3155@caribdis.nul-unu.com> On Fri, Jul 14, 2006 at 05:25:24PM -0500, Juan Fernando Estrada wrote: > saludos, soy muy novato en este assunto de las expresiones regulares > a ver si me puede ayudar > > de esta cadena > > select codigo,nombre,func_test(a,b) from test1,test2 where > test1.codigo=test2.codigo and nombre=__nombre__ > > > necesito extraer por separado > codigo > nombre > func_test(a,b) > > > y por otro lado necesito extraer > > __nombre__ ¿Siempre hay la misma cantidad de 'cosas' separadas por comas? Creo que es más fácil si lo haces por partes. algo así como: regexp1 = 'select (.*) from (.*) where (.*)' que en este caso te dejaría como 'matches': 1: 'codigo,nombre,func_test(a,b)' 2: 'test1,test2' 3: 'test1.codigo=test2.codigo and nombre=__nombre__' Luego partes 1 con split en las ',' Y le aplicas una nueva regexp a 3 regexp2 = '.*nombre=([^ ]*)' que dejaría como 'match' todo lo 'no espacios' que sigue al = Las cosas se complican si __nombre__ puede contener espacios y va entrecomillado, por que entonces además hay que tomar en cuenta que las comillas pueden ir escapadas. Si tu caso es así, mejor buscate un parser de SQL :-) (El proyecto Gadfly debe incluir uno). -- Rodrigo Gallardo GPG-Fingerprint: 7C81 E60C 442E 8FBC D975 2F49 0199 8318 ADC9 BC28 ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: Digital signature URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From pych3m4 en gmail.com Sat Jul 15 04:10:24 2006 From: pych3m4 en gmail.com (Chema Cortes) Date: Sat, 15 Jul 2006 04:10:24 +0200 Subject: Duda con TKinter y PIL In-Reply-To: <44B7A1FE.1030306@ch3m4.org> References: <44B7A1FE.1030306@ch3m4.org> Message-ID: <2c9fb0dd0607141910i8a17aaxa4d1547d6e711637@mail.gmail.com> El 14/07/06, Chema Cortes escribió: > Lo siguiente a mí me funciona: > > from Tkinter import * > from ImageTk import * > from pprint import pprint > import Image Para que no llegue a confundir a nadie, el módulo pprint no se necesita aquí para nada. Yo lo uso para imprimir diccionarios de modo más legible, por ejemplo: pprint(frame.configure()) From soporte en ialvear.com Sat Jul 15 16:12:04 2006 From: soporte en ialvear.com (Pablo Alvarez (IAlvear)) Date: Sat, 15 Jul 2006 11:12:04 -0300 Subject: interactuar con ssh Message-ID: <44B8F7B4.9090000@ialvear.com> no se si es la forma mas facil de hacerlo, programando algo, o si hay alguna solucion. quiero armar un programita en python que cuando se de tal situacion, de error o lo que sea, se loguee en una servidor por ssh y ejecute un scrip para solucionar el problema. alguno me puede recomendar alguna libreria o forma de trabajar para lograr esto? gracias! From arrase en gulcas.org Sat Jul 15 18:17:52 2006 From: arrase en gulcas.org (arrase en gulcas.org) Date: Sat, 15 Jul 2006 18:17:52 +0200 Subject: interactuar con ssh In-Reply-To: <44B8F7B4.9090000@ialvear.com> References: <44B8F7B4.9090000@ialvear.com> Message-ID: <44B91530.6090007@gulcas.org> http://pyssh.sourceforge.net/ -- print "".join(map(lambda numChar:filter(lambda x:(x<"0") or \ (x>"9"),numChar),["0"+chr(104)+"0","1"+chr(111)+"1","2"+chr(108)+"2", \ "3"+chr(97)+"3","4"+chr(32)+"4","5"+chr(109)+"5","6"+chr(117)+"6", \ "7"+chr(110)+"7","8"+chr(100)+"8","9"+chr(111)+"9"])) From rapto en arrakis.es Sun Jul 16 15:58:59 2006 From: rapto en arrakis.es (Marcos =?ISO-8859-1?Q?S=E1nchez?= Provencio) Date: Sun, 16 Jul 2006 15:58:59 +0200 Subject: Ordenamiento de lista de diccionarios In-Reply-To: References: Message-ID: <1153058340.5560.0.camel@localhost.localdomain> Reenvío este mensaje que había ido a -bounces El vie, 14-07-2006 a las 13:28 -0500, yanetr en cimex.com.cu escribió: > Hola listeros: > > > > Ante todo mis saludos y felicidades por una lista tan buena. > > Trabajo en un proyecto que usa python 2.4 sobre la plataforma Windows, > tengo una duda y necesito saber si me pueden ayudar? > > > > Necesito ordenar una lista que contiene diccionarios. > > >>> l > > [{'a': 3, 'c': 'a', 'b': 2}, {'a': 2, 'c': 'b', 'b': 4}, {'a': 1, 'c': > 'a', 'b': 1}, {'a': 7, 'c': 's', 'b': 1}, {'a': 2, 'c': 'b', 'b': 2}, > {'a': 2, 'c': 'a', 'b': 2}] > > > > Necesito ordenar por tres llaves del diccionario a - descendente, b - > ascendente y c - ascendente. > > El resultado del ordenamiento me quedaria asi: > > >>> l > > [{'a': 7, 'c': 's', 'b': 1}, {'a': 3, 'c': 'a', 'b': 2}, {'a': 2, 'c': > 'a', 'b': 2}, {'a': 2, 'c': 'b', 'b': 2}, {'a': 2, 'c': 'b', 'b': 4}, > {'a': 1, 'c': 'a', 'b': 1}] > > > > El metodo sort() hasta donde se, no me sirve: > > >>> l.sort() > > >>> l > > [{'a': 1, 'c': 'a', 'b': 1}, {'a': 2, 'c': 'a', 'b': 2}, {'a': 2, 'c': > 'b', 'b': 2}, {'a': 2, 'c': 'b', 'b': 4}, {'a': 3, 'c': 'a', 'b': 2}, > {'a': 7, 'c': 's', 'b': 1}] > > > > Alguien me da una ayuda? > > Gracias! > > > > Yanet > > From alexis.roda.villalonga en gmail.com Sun Jul 16 16:18:01 2006 From: alexis.roda.villalonga en gmail.com (Alexis Roda) Date: Sun, 16 Jul 2006 16:18:01 +0200 Subject: Ordenamiento de lista de diccionarios In-Reply-To: <1153058340.5560.0.camel@localhost.localdomain> References: <1153058340.5560.0.camel@localhost.localdomain> Message-ID: <44BA4A99.9010507@gmail.com> En/na Marcos Sánchez Provencio ha escrit: > El vie, 14-07-2006 a las 13:28 -0500, yanetr en cimex.com.cu escribió: >> Hola listeros: >> >> >> >> Ante todo mis saludos y felicidades por una lista tan buena. >> >> Trabajo en un proyecto que usa python 2.4 sobre la plataforma Windows, >> tengo una duda y necesito saber si me pueden ayudar? >> >> >> >> Necesito ordenar una lista que contiene diccionarios. >> >>>>> l >> [{'a': 3, 'c': 'a', 'b': 2}, {'a': 2, 'c': 'b', 'b': 4}, {'a': 1, 'c': >> 'a', 'b': 1}, {'a': 7, 'c': 's', 'b': 1}, {'a': 2, 'c': 'b', 'b': 2}, >> {'a': 2, 'c': 'a', 'b': 2}] >> >> >> >> Necesito ordenar por tres llaves del diccionario a - descendente, b - >> ascendente y c - ascendente. >> >> El resultado del ordenamiento me quedaria asi: >> >>>>> l >> [{'a': 7, 'c': 's', 'b': 1}, {'a': 3, 'c': 'a', 'b': 2}, {'a': 2, 'c': >> 'a', 'b': 2}, {'a': 2, 'c': 'b', 'b': 2}, {'a': 2, 'c': 'b', 'b': 4}, >> {'a': 1, 'c': 'a', 'b': 1}] >> >> >> >> El metodo sort() hasta donde se, no me sirve: >> >>>>> l.sort() >>>>> l >> [{'a': 1, 'c': 'a', 'b': 1}, {'a': 2, 'c': 'a', 'b': 2}, {'a': 2, 'c': >> 'b', 'b': 2}, {'a': 2, 'c': 'b', 'b': 4}, {'a': 3, 'c': 'a', 'b': 2}, >> {'a': 7, 'c': 's', 'b': 1}] >> >> >> >> Alguien me da una ayuda? sort admite como parametro una funcion que sirve para comparar. Esta funcion se comporta igual que 'cmp': ~$ python Python 2.4.2 (#2, Sep 30 2005, 21:19:01) [GCC 4.0.2 20050808 (prerelease) (Ubuntu 4.0.1-4ubuntu8)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> help(list.sort) Help on method_descriptor: sort(...) L.sort(cmp=None, key=None, reverse=False) -- stable sort *IN PLACE*; cmp(x, y) -> -1, 0, 1 >>> help(cmp) Help on built-in function cmp in module __builtin__: cmp(...) cmp(x, y) -> integer Return negative if xy. Saludos From rapto en arrakis.es Sun Jul 16 16:50:50 2006 From: rapto en arrakis.es (Marcos =?ISO-8859-1?Q?S=E1nchez?= Provencio) Date: Sun, 16 Jul 2006 16:50:50 +0200 Subject: Ordenamiento de lista de diccionarios In-Reply-To: <44BA4A99.9010507@gmail.com> References: <1153058340.5560.0.camel@localhost.localdomain> <44BA4A99.9010507@gmail.com> Message-ID: <1153061450.5560.10.camel@localhost.localdomain> Mejor en este caso usar key: >> Necesito ordenar por tres llaves del diccionario a - descendente, b - > >> ascendente y c - ascendente. >>> l=[{'a': 1, 'c': 'a', 'b': 1}, {'a': 2, 'c': 'a', 'b': 2}, {'a': 2, 'c': 'b', 'b': 2}, {'a': 2, 'c': 'b', 'b': 4}, {'a': 3, 'c': 'a', 'b': 2}, {'a': 7, 'c': 's', 'b': 1}] >>> l.sort(key=lambda d:(-d['a'],d['b'],d['c'])) >>> l [{'a': 7, 'c': 's', 'b': 1}, {'a': 3, 'c': 'a', 'b': 2}, {'a': 2, 'c': 'a', 'b': 2}, {'a': 2, 'c': 'b', 'b': 2}, {'a': 2, 'c': 'b', 'b': 4}, {'a': 1, 'c': 'a', 'b': 1}] (que supongo que será correcto, pero me he quedado bizco mirando tanta llave y comilla) El dom, 16-07-2006 a las 16:18 +0200, Alexis Roda escribió: > En/na Marcos Sánchez Provencio ha escrit: > > El vie, 14-07-2006 a las 13:28 -0500, yanetr en cimex.com.cu escribió: > >> Hola listeros: > >> > >> > >> > >> Ante todo mis saludos y felicidades por una lista tan buena. > >> > >> Trabajo en un proyecto que usa python 2.4 sobre la plataforma Windows, > >> tengo una duda y necesito saber si me pueden ayudar? > >> > >> > >> > >> Necesito ordenar una lista que contiene diccionarios. > >> > >>>>> l > >> [{'a': 3, 'c': 'a', 'b': 2}, {'a': 2, 'c': 'b', 'b': 4}, {'a': 1, 'c': > >> 'a', 'b': 1}, {'a': 7, 'c': 's', 'b': 1}, {'a': 2, 'c': 'b', 'b': 2}, > >> {'a': 2, 'c': 'a', 'b': 2}] > >> > >> > >> > >> Necesito ordenar por tres llaves del diccionario a - descendente, b - > >> ascendente y c - ascendente. > >> > >> El resultado del ordenamiento me quedaria asi: > >> > >>>>> l > >> [{'a': 7, 'c': 's', 'b': 1}, {'a': 3, 'c': 'a', 'b': 2}, {'a': 2, 'c': > >> 'a', 'b': 2}, {'a': 2, 'c': 'b', 'b': 2}, {'a': 2, 'c': 'b', 'b': 4}, > >> {'a': 1, 'c': 'a', 'b': 1}] > >> > >> > >> > >> El metodo sort() hasta donde se, no me sirve: > >> > >>>>> l.sort() > >>>>> l > >> [{'a': 1, 'c': 'a', 'b': 1}, {'a': 2, 'c': 'a', 'b': 2}, {'a': 2, 'c': > >> 'b', 'b': 2}, {'a': 2, 'c': 'b', 'b': 4}, {'a': 3, 'c': 'a', 'b': 2}, > >> {'a': 7, 'c': 's', 'b': 1}] > >> > >> > >> > >> Alguien me da una ayuda? > > sort admite como parametro una funcion que sirve para comparar. Esta > funcion se comporta igual que 'cmp': > > ~$ python > Python 2.4.2 (#2, Sep 30 2005, 21:19:01) > [GCC 4.0.2 20050808 (prerelease) (Ubuntu 4.0.1-4ubuntu8)] on linux2 > Type "help", "copyright", "credits" or "license" for more information. > >>> help(list.sort) > Help on method_descriptor: > > sort(...) > L.sort(cmp=None, key=None, reverse=False) -- stable sort *IN PLACE*; > cmp(x, y) -> -1, 0, 1 > > >>> help(cmp) > Help on built-in function cmp in module __builtin__: > > cmp(...) > cmp(x, y) -> integer > > Return negative if xy. > > > Saludos > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From carlosfvo en gmail.com Sun Jul 16 22:13:51 2006 From: carlosfvo en gmail.com (carlos villa) Date: Sun, 16 Jul 2006 15:13:51 -0500 Subject: ayuda con con una concatenacion. Message-ID: <629497540607161313r5484b7bcqa6ff733ac38e9495@mail.gmail.com> buenas tardes, tengo un problemita con esta concatenacion es para realizar una ejecucion sql. el problema es que me dice que los valores boleanos de gru_default=\''+self.grupo_dfcto+'\' no se pueden concatenar con string..de los demas datos tonces no se como realizar esta consulta de modo que me acepte estos valores. agradeceria la ayuda. self.SQL = 'UPDATE grupo SET gru_nombre=\''+self.nmbre_grpo+'\', gru_cntdad=\''+self.cntdad_usrios+'\', gru_estdo=\''+self.estdo+'\', gru_default=\''+self.grupo_dfcto+'\' where gru_gid=\''+self.z+'\'' From jordi.f en ati.es Sun Jul 16 22:37:31 2006 From: jordi.f en ati.es (Jordi Funollet) Date: Sun, 16 Jul 2006 22:37:31 +0200 Subject: ayuda con con una concatenacion. In-Reply-To: <629497540607161313r5484b7bcqa6ff733ac38e9495@mail.gmail.com> References: <629497540607161313r5484b7bcqa6ff733ac38e9495@mail.gmail.com> Message-ID: <200607162237.31120.jordi.f@ati.es> carlos villa dixit: > buenas tardes, tengo un problemita con esta concatenacion es para > realizar una ejecucion sql. el problema es que me dice que los valores > boleanos de gru_default=\''+self.grupo_dfcto+'\' no se pueden > concatenar con string..de los demas datos tonces no se como realizar > esta consulta de modo que me acepte estos valores. agradeceria la > ayuda. > > > self.SQL = 'UPDATE grupo SET gru_nombre=\''+self.nmbre_grpo+'\', > gru_cntdad=\''+self.cntdad_usrios+'\', gru_estdo=\''+self.estdo+'\', > gru_default=\''+self.grupo_dfcto+'\' where gru_gid=\''+self.z+'\'' Prueba algo como: self.SQL = "UPDATE grupo SET gru_nombre='%s'\\" % self.nmbre_grpo Usa la expansion de variables para ganar legibilidad: >>> var = 'esto' >>> print "sustituye %s" % var sustituye esto Marcar el string con comillas dobles te permitirá incluir comillas simples. Para incluir un carácter \ debes "escaparlo" (\\). -- ############################## ### Jordi Funollet ### http://www.terraquis.net From elizundia en fitbak.com Mon Jul 17 09:23:55 2006 From: elizundia en fitbak.com (Ekaitz Lizundia) Date: Mon, 17 Jul 2006 09:23:55 +0200 (CEST) Subject: Abrir ventanas Message-ID: <1071.87.223.149.130.1153121035.squirrel@mail.fitbak.com> Saludos, Otra duda mas, ya lo siento por tantas preguntas. ¿Como hago para al pulsar un boton que se abra otra ventana? from Tkinter import * class MyApp: def __init__(self, parent): self.raiz = parent self.myContainer1 = Frame(parent) self.myContainer1.pack() self.button1 = Button(self.myContainer1,command=self.crearVentana()) self.button1["text"]= "Hello, World!" self.button1["background"] = "green" self.button1.pack(side=LEFT) def crearVentana(self): ventana=Toplevel(self.raiz, bg='#908875', borderwidth=3, relief='raised') ventana.geometry('300x100') frame=Frame(ventana, bg='#e7dfca', borderwidth=3, relief='sunken') frame.place(x=0,y=0) button1 = Button(frame) button1["text"]= "Hello, World!" button1["background"] = "blue" button1.pack(side=LEFT) root = Tk() myapp = MyApp(root) root.mainloop() Mi idea es sacar la aplicacion en la ventana principal, y al pulsar un boton se crea otra ventana. Gracias, Eka From wikier en asturlinux.org Mon Jul 17 09:36:32 2006 From: wikier en asturlinux.org (Sergio Fdez) Date: Mon, 17 Jul 2006 09:36:32 +0200 Subject: interactuar con ssh In-Reply-To: <44B8F7B4.9090000@ialvear.com> References: <44B8F7B4.9090000@ialvear.com> Message-ID: <1153121792.2981.2.camel@localhost.localdomain> > alguno me puede recomendar alguna libreria o forma de trabajar para > lograr esto? También puede valerte Twisted: http://twistedmatrix.com/ Un saludo -- __ ___ _ _ \ \ / (_) |_(_)___ _ _ Sergio Fdez \ \/\/ /| | / / / -_) '_| GNU/LiNUX User: #298803 \_/\_/ |_|_\_\_\___|_| Web: http://www.wikier.org/ From py en ch3m4.org Mon Jul 17 12:23:29 2006 From: py en ch3m4.org (Chema Cortes) Date: Mon, 17 Jul 2006 12:23:29 +0200 Subject: ayuda con con una concatenacion. In-Reply-To: <629497540607161313r5484b7bcqa6ff733ac38e9495@mail.gmail.com> References: <629497540607161313r5484b7bcqa6ff733ac38e9495@mail.gmail.com> Message-ID: <44BB6521.9020900@ch3m4.org> carlos villa escribió: > buenas tardes, tengo un problemita con esta concatenacion es para > realizar una ejecucion sql. el problema es que me dice que los valores > boleanos de gru_default=\''+self.grupo_dfcto+'\' no se pueden > concatenar con string..de los demas datos tonces no se como realizar > esta consulta de modo que me acepte estos valores. agradeceria la > ayuda. > > > self.SQL = 'UPDATE grupo SET gru_nombre=\''+self.nmbre_grpo+'\', > gru_cntdad=\''+self.cntdad_usrios+'\', gru_estdo=\''+self.estdo+'\', > gru_default=\''+self.grupo_dfcto+'\' where gru_gid=\''+self.z+'\'' Esta expresión no tiene bien puestas las comillas. Como te dice Jordi, mejora la legibilidad y evítate errores combinando comillas dobles y comillas simples. Aún quedaría más legible con el operador formato % ; pero mi consejo es que uses la "parametrización" de las sentencias SQL, siempre y cuando uses un módulo de acceso a datos que siga la DB-API2 de python: self.SQL = """UPDATE grupo SET gru_nombre=?, gru_cntdad=?, gru_estdo=?, gru_default=? WHERE gru_gid=?""" params=(self.nmbre_grpo,self.cntdad_usrios,self.estdo,self.grupo_dfcto,self.z) cur.execute(self.SQL, params) -- Chema Cortés (py en ch3m4.org) "Proudly made on earth by generic humanoid carbon units" From py en ch3m4.org Mon Jul 17 13:43:23 2006 From: py en ch3m4.org (Chema Cortes) Date: Mon, 17 Jul 2006 13:43:23 +0200 Subject: Abrir ventanas In-Reply-To: <1071.87.223.149.130.1153121035.squirrel@mail.fitbak.com> References: <1071.87.223.149.130.1153121035.squirrel@mail.fitbak.com> Message-ID: <44BB77DB.6030707@ch3m4.org> Ekaitz Lizundia escribió: > Mi idea es sacar la aplicacion en la ventana principal, y al pulsar un > boton se crea otra ventana. Mírate el uso del TopLevel(). Es como el Tk(), pero para ventanas "secundarias". También podría interesarte el resto de funciones para sacar diálogos: http://www.pythonware.com/library/tkinter/introduction/toplevel.htm http://www.pythonware.com/library/tkinter/introduction/standard-dialogs.htm http://www.pythonware.com/library/tkinter/introduction/dialog-windows.htm -- Chema Cortés (py en ch3m4.org) "Proudly made on earth by generic humanoid carbon units" From py en ch3m4.org Mon Jul 17 13:55:59 2006 From: py en ch3m4.org (Chema Cortes) Date: Mon, 17 Jul 2006 13:55:59 +0200 Subject: Abrir ventanas In-Reply-To: <1071.87.223.149.130.1153121035.squirrel@mail.fitbak.com> References: <1071.87.223.149.130.1153121035.squirrel@mail.fitbak.com> Message-ID: <44BB7ACF.3010703@ch3m4.org> Ekaitz Lizundia escribió: > Otra duda mas, ya lo siento por tantas preguntas. > ¿Como hago para al pulsar un boton que se abra otra ventana? > > from Tkinter import * > > class MyApp: > def __init__(self, parent): > > self.raiz = parent > self.myContainer1 = Frame(parent) > self.myContainer1.pack() > > > self.button1 = Button(self.myContainer1,command=self.crearVentana()) Pasas mal el método. self.button1 = Button(self.myContainer1,command=self.crearVentana) -- Chema Cortés (py en ch3m4.org) "Proudly made on earth by generic humanoid carbon units" From idoia.puente en gmail.com Mon Jul 17 14:17:17 2006 From: idoia.puente en gmail.com (Idoia Puente) Date: Mon, 17 Jul 2006 14:17:17 +0200 Subject: =?iso-8859-1?q?pasar_usuario_y_contrase=F1a_a_otra_a?= =?iso-8859-1?q?plicaci=F3n?= Message-ID: <2a4a2a720607170517u635c374eoddf707f88abca5a2@mail.gmail.com> Hola a todos, Soy una novata que necesita ayuda urgente. Tengo el siguiente problema: Cuando el usuario hace login, se tiene que abrir la página login.php y le tengo que pasar el username y el password, he hecho la prueba de utilizar datos estáticos y funciona perfectamente, pero cuando quiero sustituir esos datos estáticos por variables no tengo ni idea de cómo escribirlo, he probado de diversas formas y no hay manera. ¿Alguien puede ayudarme?. Muchas gracias. Idoia CON DATOS FIJOS ESTAS SON LAS VARIABLES QUE NECESITO PASAR

Usuario:

Contraseña:

From yanetr en cimex.com.cu Mon Jul 17 16:04:50 2006 From: yanetr en cimex.com.cu (yanetr en cimex.com.cu) Date: Mon, 17 Jul 2006 09:04:50 -0500 Subject: Ordenamiento de lista de diccionarios Message-ID: Muchas gracias a Marcos y Alexis por su ayuda. Veo que queda el ordenamiento muy elegante. Habia visto el metodo sort() pero no sus potencialidades! Saludos, Yanet -----Mensaje original----- De: python-es-bounces en aditel.org [mailto:python-es-bounces en aditel.org] En nombre de Marcos Sánchez Provencio Enviado el: Domingo, 16 de Julio de 2006 09:51 a.m. Para: La lista de python en castellano Asunto: Re: [Python-es] Re: Ordenamiento de lista de diccionarios Mejor en este caso usar key: >> Necesito ordenar por tres llaves del diccionario a - descendente, b - > >> ascendente y c - ascendente. >>> l=[{'a': 1, 'c': 'a', 'b': 1}, {'a': 2, 'c': 'a', 'b': 2}, {'a': 2, 'c': 'b', 'b': 2}, {'a': 2, 'c': 'b', 'b': 4}, {'a': 3, 'c': 'a', 'b': 2}, {'a': 7, 'c': 's', 'b': 1}] >>> l.sort(key=lambda d:(-d['a'],d['b'],d['c'])) >>> l [{'a': 7, 'c': 's', 'b': 1}, {'a': 3, 'c': 'a', 'b': 2}, {'a': 2, 'c': 'a', 'b': 2}, {'a': 2, 'c': 'b', 'b': 2}, {'a': 2, 'c': 'b', 'b': 4}, {'a': 1, 'c': 'a', 'b': 1}] (que supongo que será correcto, pero me he quedado bizco mirando tanta llave y comilla) El dom, 16-07-2006 a las 16:18 +0200, Alexis Roda escribió: > En/na Marcos Sánchez Provencio ha escrit: > > El vie, 14-07-2006 a las 13:28 -0500, yanetr en cimex.com.cu escribió: > >> Hola listeros: > >> > >> > >> > >> Ante todo mis saludos y felicidades por una lista tan buena. > >> > >> Trabajo en un proyecto que usa python 2.4 sobre la plataforma Windows, > >> tengo una duda y necesito saber si me pueden ayudar? > >> > >> > >> > >> Necesito ordenar una lista que contiene diccionarios. > >> > >>>>> l > >> [{'a': 3, 'c': 'a', 'b': 2}, {'a': 2, 'c': 'b', 'b': 4}, {'a': 1, 'c': > >> 'a', 'b': 1}, {'a': 7, 'c': 's', 'b': 1}, {'a': 2, 'c': 'b', 'b': 2}, > >> {'a': 2, 'c': 'a', 'b': 2}] > >> > >> > >> > >> Necesito ordenar por tres llaves del diccionario a - descendente, b - > >> ascendente y c - ascendente. > >> > >> El resultado del ordenamiento me quedaria asi: > >> > >>>>> l > >> [{'a': 7, 'c': 's', 'b': 1}, {'a': 3, 'c': 'a', 'b': 2}, {'a': 2, 'c': > >> 'a', 'b': 2}, {'a': 2, 'c': 'b', 'b': 2}, {'a': 2, 'c': 'b', 'b': 4}, > >> {'a': 1, 'c': 'a', 'b': 1}] > >> > >> > >> > >> El metodo sort() hasta donde se, no me sirve: > >> > >>>>> l.sort() > >>>>> l > >> [{'a': 1, 'c': 'a', 'b': 1}, {'a': 2, 'c': 'a', 'b': 2}, {'a': 2, 'c': > >> 'b', 'b': 2}, {'a': 2, 'c': 'b', 'b': 4}, {'a': 3, 'c': 'a', 'b': 2}, > >> {'a': 7, 'c': 's', 'b': 1}] > >> > >> > >> > >> Alguien me da una ayuda? > > sort admite como parametro una funcion que sirve para comparar. Esta > funcion se comporta igual que 'cmp': > > ~$ python > Python 2.4.2 (#2, Sep 30 2005, 21:19:01) > [GCC 4.0.2 20050808 (prerelease) (Ubuntu 4.0.1-4ubuntu8)] on linux2 > Type "help", "copyright", "credits" or "license" for more information. > >>> help(list.sort) > Help on method_descriptor: > > sort(...) > L.sort(cmp=None, key=None, reverse=False) -- stable sort *IN PLACE*; > cmp(x, y) -> -1, 0, 1 > > >>> help(cmp) > Help on built-in function cmp in module __builtin__: > > cmp(...) > cmp(x, y) -> integer > > Return negative if xy. > > > Saludos > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From cescd en yahoo.com.mx Mon Jul 17 16:20:46 2006 From: cescd en yahoo.com.mx (Cesar Cardenas Desales) Date: Mon, 17 Jul 2006 09:20:46 -0500 (CDT) Subject: interactuar con ssh In-Reply-To: <44B8F7B4.9090000@ialvear.com> References: <44B8F7B4.9090000@ialvear.com> Message-ID: <20060717142046.79783.qmail@web50414.mail.yahoo.com> Yo he usado exitosamente Paramiko. Te mando los ***fragmentos*** mas importantes de un programa que hice para conectarme a SFTP. El proceso para ejecutar comandos en un servidor con SSH es muy semejante: http://www.lag.net/paramiko/ #------------------------- import base64 import getpass import os, os.path import socket import sys import traceback import re import paramiko DEFAULT_DOC_NAME = "reservation_confirmation_group" PATH_TO_LOGS='/usr/local/bea70/user_projects/Dev_Domain/logs' TODAYS_LOG_NAME='dps_dp_debug.log.2005-10-05' LOCAL_FOLDER='c:/work/' hostname = '127.0.0.1' port = 22 username = 'cesar' password = 'somepass' paramiko.util.log_to_file('demo_sftp_dps.log') def downloadFile(logFileName, localCopy=True): ....# get host key, if we know one ....hostkeytype = None ....hostkey = None ....try: ........host_keys = paramiko.util.load_host_keys(os.path.expanduser('~/.ssh/known_hosts')) ....except IOError: ........try: ............host_keys = paramiko.util.load_host_keys(os.path.expanduser('~/ssh/known_hosts')) ........except IOError: ............print '*** Unable to open host keys file' ............host_keys = {} .... ....if host_keys.has_key(hostname): ........hostkeytype = host_keys[hostname].keys()[0] ........hostkey = host_keys[hostname][hostkeytype] ........print 'Using host key of type %s' % hostkeytype .... ....# now, connect and use paramiko Transport to negotiate SSH2 across the connection ....try:.... ........t = paramiko.Transport((hostname, port)) ........t.connect(username=username, password=password, hostkey=hostkey) ........sftp = paramiko.SFTPClient.from_transport(t) ........ ........logname = PATH_TO_LOGS + '/' + logFileName ........ ........print 'Copying ', logname ........if localCopy: ............print 'to ', os.path.join(LOCAL_FOLDER, logFileName) ............data = sftp.get(logname, os.path.join(LOCAL_FOLDER, logFileName) ) ........else: ............data = sftp.open(logname, 'r').read() ........t.close() ........ ........return data .... ....except Exception, e: ........print '*** Caught exception: %s: %s' % (e.__class__, e) ........traceback.print_exc() ........try: ............t.close() ........except: ............pass ........sys.exit(1) print 'Processing started...' data = downloadFile(localCopy=True, logFileName=logName) print 'Processing done' #------------------------- --- "Pablo Alvarez (IAlvear)" escribió: > no se si es la forma mas facil de hacerlo, > programando algo, o si hay > alguna solucion. > > quiero armar un programita en python que cuando se > de tal situacion, de > error o lo que sea, se loguee en una servidor por > ssh y ejecute un scrip > para solucionar el problema. > > alguno me puede recomendar alguna libreria o forma > de trabajar para > lograr esto? > > gracias! > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > ___________________________________________________________ Do You Yahoo!? La mejor conexión a Internet y 2GB extra a tu correo por $100 al mes. http://net.yahoo.com.mx From soporte en ialvear.com Mon Jul 17 16:35:51 2006 From: soporte en ialvear.com (Pablo Alvarez (IAlvear)) Date: Mon, 17 Jul 2006 11:35:51 -0300 Subject: interactuar con ssh In-Reply-To: <20060717142046.79783.qmail@web50414.mail.yahoo.com> References: <20060717142046.79783.qmail@web50414.mail.yahoo.com> Message-ID: <44BBA047.2090801@ialvear.com> muchisimas gracias a vos y a todos los demas que respondieron. voy a ponerme a probar :) me dieron varias opciones, mil gracias! Cesar Cardenas Desales wrote: > Yo he usado exitosamente Paramiko. Te mando los > ***fragmentos*** mas importantes de un programa que > hice para conectarme a SFTP. El proceso para ejecutar > comandos en un servidor con SSH es muy semejante: > > http://www.lag.net/paramiko/ > > #------------------------- > import base64 > import getpass > import os, os.path > import socket > import sys > import traceback > import re > > import paramiko > > > DEFAULT_DOC_NAME = "reservation_confirmation_group" > PATH_TO_LOGS='/usr/local/bea70/user_projects/Dev_Domain/logs' > TODAYS_LOG_NAME='dps_dp_debug.log.2005-10-05' > LOCAL_FOLDER='c:/work/' > > hostname = '127.0.0.1' > port = 22 > username = 'cesar' > password = 'somepass' > > paramiko.util.log_to_file('demo_sftp_dps.log') > > def downloadFile(logFileName, localCopy=True): > ....# get host key, if we know one > ....hostkeytype = None > ....hostkey = None > ....try: > ........host_keys = > paramiko.util.load_host_keys(os.path.expanduser('~/.ssh/known_hosts')) > ....except IOError: > ........try: > ............host_keys = > paramiko.util.load_host_keys(os.path.expanduser('~/ssh/known_hosts')) > ........except IOError: > ............print '*** Unable to open host keys file' > ............host_keys = {} > .... > ....if host_keys.has_key(hostname): > ........hostkeytype = host_keys[hostname].keys()[0] > ........hostkey = host_keys[hostname][hostkeytype] > ........print 'Using host key of type %s' % > hostkeytype > .... > ....# now, connect and use paramiko Transport to > negotiate SSH2 across the connection > ....try:.... > ........t = paramiko.Transport((hostname, port)) > ........t.connect(username=username, > password=password, hostkey=hostkey) > ........sftp = paramiko.SFTPClient.from_transport(t) > ........ > ........logname = PATH_TO_LOGS + '/' + logFileName > ........ > ........print 'Copying ', logname > ........if localCopy: > ............print 'to ', os.path.join(LOCAL_FOLDER, > logFileName) > ............data = sftp.get(logname, > os.path.join(LOCAL_FOLDER, logFileName) ) > ........else: > ............data = sftp.open(logname, 'r').read() > > ........t.close() > ........ > ........return data > .... > ....except Exception, e: > ........print '*** Caught exception: %s: %s' % > (e.__class__, e) > ........traceback.print_exc() > ........try: > ............t.close() > ........except: > ............pass > ........sys.exit(1) > > > print 'Processing started...' > data = downloadFile(localCopy=True, > logFileName=logName) > print 'Processing done' > > #------------------------- > > > > --- "Pablo Alvarez (IAlvear)" > escribió: > > >> no se si es la forma mas facil de hacerlo, >> programando algo, o si hay >> alguna solucion. >> >> quiero armar un programita en python que cuando se >> de tal situacion, de >> error o lo que sea, se loguee en una servidor por >> ssh y ejecute un scrip >> para solucionar el problema. >> >> alguno me puede recomendar alguna libreria o forma >> de trabajar para >> lograr esto? >> >> gracias! >> _______________________________________________ >> Python-es mailing list >> Python-es en aditel.org >> http://listas.aditel.org/listinfo/python-es >> >> > > > > > > > ___________________________________________________________ > Do You Yahoo!? > La mejor conexión a Internet y 2GB extra a tu correo por $100 al mes. http://net.yahoo.com.mx > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > > From cabrerachaparro en gmail.com Mon Jul 17 18:13:50 2006 From: cabrerachaparro en gmail.com (Daniel Cabrera) Date: Mon, 17 Jul 2006 11:13:50 -0500 Subject: Duda Message-ID: <8565ad90607170913p348d94cbgad4bc591ab7c441d@mail.gmail.com> Hola, tengo una duda sobre aprender y usar Python o C# con Mono, he visto los 2 lenguajes y me parecen buenos, pero me gustaria especializarme en uno, por eso me gustaria saber sus comentarios sobre estos dos lenguajes. Gracias -- Daniel Cabrera Chaparro From necudeco en gmail.com Mon Jul 17 18:40:16 2006 From: necudeco en gmail.com (NeCuDeCo) Date: Mon, 17 Jul 2006 11:40:16 -0500 Subject: Duda In-Reply-To: <8565ad90607170913p348d94cbgad4bc591ab7c441d@mail.gmail.com> References: <8565ad90607170913p348d94cbgad4bc591ab7c441d@mail.gmail.com> Message-ID: <2ccb93070607170940v21822c84hced47194685bf8f1@mail.gmail.com> Daniel, mejor en mono, mira boo .. ahi te dejo un ejemplo http://necudeco.blogsome.com/2005/11/05/ponle-splash-a-tu-aplicacion/ On 7/17/06, Daniel Cabrera wrote: > > Hola, > tengo una duda sobre aprender y usar Python o C# con Mono, he visto los 2 > lenguajes y me parecen buenos, pero me gustaria especializarme en uno, por > eso me gustaria saber sus comentarios sobre estos dos lenguajes. > > Gracias > > -- > Daniel Cabrera Chaparro > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > -- -------------------------- NeCuDeCo http://necudeco.blogsome.com http://apesol.org Your Jugdment Day is NOW From py en ch3m4.org Tue Jul 18 12:24:15 2006 From: py en ch3m4.org (Chema Cortes) Date: Tue, 18 Jul 2006 12:24:15 +0200 Subject: Duda In-Reply-To: <8565ad90607170913p348d94cbgad4bc591ab7c441d@mail.gmail.com> References: <8565ad90607170913p348d94cbgad4bc591ab7c441d@mail.gmail.com> Message-ID: <44BCB6CF.8080700@ch3m4.org> Daniel Cabrera escribió: > tengo una duda sobre aprender y usar Python o C# con Mono, he visto los 2 > lenguajes y me parecen buenos, pero me gustaria especializarme en uno, por > eso me gustaria saber sus comentarios sobre estos dos lenguajes. No creo que sea bueno "especializarse" por capricho, sin más motivación. Ambos son buenos lenguajes, libres y con una gran comunidad de desarrolladores apoyándolos. Aprovéchate y pruébalos tú mismo. Conviene distinguir entre el lenguaje de programación y la tecnología que le da soporte. Para hablar de C# hay que contextualizarlo en la plataforma tecnológica donde se ejecuta (CLI-Common Language Infrastructure). Esta plataforma usa un lenguaje intermedio conocido por CLS/CTS (Common Language System/Common Type System) que facilita la integración de todos los lenguajes hasta el extremo de quitar toda transcendencia en la elección del lenguaje principal de un proyecto de desarrollo. Un desarrollo para CLI, por tanto, podría programarse tanto en C# como en Ironpython (python para mono/.Net) sin ningún problema para encajar los distintos módulos. El usar uno u otro lenguaje depende más de los gustos del programador que de otra cosa. De ironpython hay que resaltar que, aún siendo un lenguaje dinámico, su ejecución se hace con escasa penalización, por lo que puede perfectamente el "lenguaje principal" de un proyecto de desarrollo. Otro lenguaje a considerar es el "boo", un modo de aproximar la sintaxis de python al CLS/CTS. Es una buena alternativa, por lo menos hasta que ironpython termine de madurar del todo. (Una tercera vía sería usar PythonNet, aunque lo dejo fuera del estudio). El gran competidor del CLI es java. Puede que algún día se libere la máquina virtual, pero dudo que sea alguna de las versiones actuales. A pesar de no estar pensado para multilenguaje, la integración de java y jython (python para java) es excelente, por lo que hace de jython el lenguaje de script idóneo para acompañar a todo proyecto de desarrollo en java. El tercer y principal entorno donde se ejecuta python es con su propia máquina virtual hecha en C (CPython), que funciona allí donde exista un compilador de C. Pero no queda aquí todo, ya que hay otras máquinas virtuales (eg: Parrot) en las que también corre python. Con todo lo dicho, estas son mis conclusiones: - Con python, puedes hacer desarrollos para cualquier sistema operativo y para cualquier plataforma tecnológica; con C# te limitas a la plataforma CLI (.Net y mono) - Con python puedes usar multitud de entornos gráficos (wx, gtk, qt, tk, ..., swt, awt/swing,...); con C# te tienes que limitar a windows.forms (.Net) o gtk# (mono/.Net) (aunque haya otros disponibles como wx# o swt) - Con python tienes multitud de frameworks para web (zope, django, turbogears, cherrypy, ..., tomcat, ASP, cgi, mod_python,...); en C# te limitas a ASP.Net y XSP. - Aunque no se tenga por importante, python evoluciona pausadamente, debatiendo cualquier cambio con la comunidad; C#, en cambio, evoluciona dirigido por Microsoft, sin demasiado apego a mantener la compatibilidad hacia atrás. Con lo dicho, espero haberte convencido para que uses python, como era de esperar siendo ésta una lista de python. Aún con todo, te recomiendo que eches un vistazo a C# y a boo; incluso te diría que eches un vistazo a lua, una especie python minimalista, o al ruby, un lenguaje con fuerte orientación a objetos. Todo menos especializarte. Si quieres dominar un lenguaje necesitas conocer sus carencias, y éso sólo se consigue viendo los aciertos que han tenido en otros lenguajes. -- Chema Cortés (py en ch3m4.org) "Proudly made on earth by generic humanoid carbon units" From juatman_2000 en yahoo.es Tue Jul 18 13:15:59 2006 From: juatman_2000 en yahoo.es (Juan M. Puertas) Date: Tue, 18 Jul 2006 13:15:59 +0200 Subject: vb2py References: <320D3688276F054080FE12825DF1E900030D165F@ucixw1.uci.cu><771741b20607041159v3a39e03ejb1ecb3e55470a997@mail.gmail.com><000601c6a5d0$b7a12610$048be050@equipo> <24c049a70607131147j3156c703iad87c68423d9c7fe@mail.gmail.com> Message-ID: <004701c6aa5b$8dc54760$988be050@equipo> Gracias a todos por la respuesta. ¡Qué pereza rehacer todos los formularios!. Soy tan vago que lo mismo hago una aplicación en python para convertirlos, y luego os la paso :-)) Por cierto Chema, felicidades por la respuesta a la duda sobre si elegir Python o C#, muy precisa y completa. :-) Saludos. ______________________________________________ LLama Gratis a cualquier PC del Mundo. Llamadas a fijos y móviles desde 1 céntimo por minuto. http://es.voice.yahoo.com From cabrerachaparro en gmail.com Tue Jul 18 16:26:28 2006 From: cabrerachaparro en gmail.com (Daniel Cabrera) Date: Tue, 18 Jul 2006 09:26:28 -0500 Subject: Duda In-Reply-To: <44BCB6CF.8080700@ch3m4.org> References: <8565ad90607170913p348d94cbgad4bc591ab7c441d@mail.gmail.com> <44BCB6CF.8080700@ch3m4.org> Message-ID: <8565ad90607180726k43ce1162g799017acbfe85cf0@mail.gmail.com> Gracias Chema, me ha servido mucho tu comentario. Saludos El día 18/07/06, Chema Cortes escribió: > > Daniel Cabrera escribió: > > > tengo una duda sobre aprender y usar Python o C# con Mono, he visto los > 2 > > lenguajes y me parecen buenos, pero me gustaria especializarme en uno, > por > > eso me gustaria saber sus comentarios sobre estos dos lenguajes. > > No creo que sea bueno "especializarse" por capricho, sin más motivación. > Ambos son buenos lenguajes, libres y con una gran comunidad de > desarrolladores apoyándolos. Aprovéchate y pruébalos tú mismo. > > Conviene distinguir entre el lenguaje de programación y la tecnología > que le da soporte. Para hablar de C# hay que contextualizarlo en la > plataforma tecnológica donde se ejecuta (CLI-Common Language > Infrastructure). Esta plataforma usa un lenguaje intermedio conocido por > CLS/CTS (Common Language System/Common Type System) que facilita la > integración de todos los lenguajes hasta el extremo de quitar toda > transcendencia en la elección del lenguaje principal de un proyecto de > desarrollo. > > Un desarrollo para CLI, por tanto, podría programarse tanto en C# como > en Ironpython (python para mono/.Net) sin ningún problema para encajar > los distintos módulos. El usar uno u otro lenguaje depende más de los > gustos del programador que de otra cosa. > > De ironpython hay que resaltar que, aún siendo un lenguaje dinámico, su > ejecución se hace con escasa penalización, por lo que puede > perfectamente el "lenguaje principal" de un proyecto de desarrollo. Otro > lenguaje a considerar es el "boo", un modo de aproximar la sintaxis de > python al CLS/CTS. Es una buena alternativa, por lo menos hasta que > ironpython termine de madurar del todo. (Una tercera vía sería usar > PythonNet, aunque lo dejo fuera del estudio). > > El gran competidor del CLI es java. Puede que algún día se libere la > máquina virtual, pero dudo que sea alguna de las versiones actuales. A > pesar de no estar pensado para multilenguaje, la integración de java y > jython (python para java) es excelente, por lo que hace de jython el > lenguaje de script idóneo para acompañar a todo proyecto de desarrollo > en java. > > El tercer y principal entorno donde se ejecuta python es con su propia > máquina virtual hecha en C (CPython), que funciona allí donde exista un > compilador de C. Pero no queda aquí todo, ya que hay otras máquinas > virtuales (eg: Parrot) en las que también corre python. > > Con todo lo dicho, estas son mis conclusiones: > > - Con python, puedes hacer desarrollos para cualquier sistema operativo > y para cualquier plataforma tecnológica; con C# te limitas a la > plataforma CLI (.Net y mono) > > - Con python puedes usar multitud de entornos gráficos (wx, gtk, qt, tk, > ..., swt, awt/swing,...); con C# te tienes que limitar a windows.forms > (.Net) o gtk# (mono/.Net) (aunque haya otros disponibles como wx# o swt) > > - Con python tienes multitud de frameworks para web (zope, django, > turbogears, cherrypy, ..., tomcat, ASP, cgi, mod_python,...); en C# te > limitas a ASP.Net y XSP. > > - Aunque no se tenga por importante, python evoluciona pausadamente, > debatiendo cualquier cambio con la comunidad; C#, en cambio, evoluciona > dirigido por Microsoft, sin demasiado apego a mantener la compatibilidad > hacia atrás. > > > Con lo dicho, espero haberte convencido para que uses python, como era > de esperar siendo ésta una lista de python. Aún con todo, te recomiendo > que eches un vistazo a C# y a boo; incluso te diría que eches un vistazo > a lua, una especie python minimalista, o al ruby, un lenguaje con fuerte > orientación a objetos. Todo menos especializarte. Si quieres dominar un > lenguaje necesitas conocer sus carencias, y éso sólo se consigue viendo > los aciertos que han tenido en otros lenguajes. > > > > -- > Chema Cortés (py en ch3m4.org) > "Proudly made on earth by generic humanoid carbon units" > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > -- Daniel Cabrera Chaparro From javi.pacheco en terra.es Tue Jul 18 16:27:39 2006 From: javi.pacheco en terra.es (javi pacheco) Date: Tue, 18 Jul 2006 16:27:39 +0200 Subject: Seleccionar parte de un Entry en PyGTK Message-ID: <1153232859.8674.3.camel@javielinux-desktop> Hola a todos Me gustaría desde código seleccionar una parte de un texto que hay en un Entry, como si lo seleccionara el usuario con el ratón. Sólo sería una parte, o sea, decirle desde el caracter número 4 hasta el final por ejemplo No se si me he explicado, espero que si gracias a todos y un saludo ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From sonajadiabolica en gmail.com Tue Jul 18 17:11:37 2006 From: sonajadiabolica en gmail.com (aNgel rEsendiz g.) Date: Tue, 18 Jul 2006 10:11:37 -0500 Subject: =?ISO-8859-1?Q?Re:__pasar_usuario_?= =?ISO-8859-1?Q?y_contrase=F1a_a_otra_aplicaci=F3n?= In-Reply-To: <2a4a2a720607170517u635c374eoddf707f88abca5a2@mail.gmail.com> References: <2a4a2a720607170517u635c374eoddf707f88abca5a2@mail.gmail.com> Message-ID: <8d9e208f0607180811q44433cf9ua397353ae5fd4bc0@mail.gmail.com> ¿Podrias decir que es lo que estas utilizando?, en particular, no entiendo eso de tal:content="python:request.get('__ac_name'). Un formulario comun deberia generar la url que mencionas con los datos ingresados. On 7/17/06, Idoia Puente wrote: > Hola a todos, > > Soy una novata que necesita ayuda urgente. > > Tengo el siguiente problema: > > Cuando el usuario hace login, se tiene que abrir la página login.php y le > tengo que pasar el username y el password, he hecho la prueba de utilizar > datos estáticos y funciona perfectamente, pero cuando quiero sustituir esos > datos estáticos por variables no tengo ni idea de cómo escribirlo, he > probado de diversas formas y no hay manera. ¿Alguien puede ayudarme?. Muchas > gracias. Idoia > > > > CON DATOS FIJOS > > > > > > ESTAS SON LAS VARIABLES QUE NECESITO PASAR > >

Usuario: > >

> >

Contraseña: > >

> _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > -- aNgel rEsendiz.! From sonajadiabolica en gmail.com Tue Jul 18 17:17:34 2006 From: sonajadiabolica en gmail.com (aNgel rEsendiz g.) Date: Tue, 18 Jul 2006 10:17:34 -0500 Subject: Seleccionar parte de un Entry en PyGTK In-Reply-To: <1153232859.8674.3.camel@javielinux-desktop> References: <1153232859.8674.3.camel@javielinux-desktop> Message-ID: <8d9e208f0607180817g4e4b3bb9v5e4b1a99a6da1099@mail.gmail.com> Que tal. http://www.moeraki.com/pygtktutorial/pygtk2tutorial/sec-TextEntries.html """ A region of the text may be set as selected by using the following method. This would most often be used after setting some default text in an Entry, making it easy for the user to remove it. entry.select_region(start, end) """ ¿Era eso? Saludos On 7/18/06, javi pacheco wrote: > Hola a todos > > Me gustaría desde código seleccionar una parte de un texto que hay en un > Entry, como si lo seleccionara el usuario con el ratón. Sólo sería una > parte, o sea, decirle desde el caracter número 4 hasta el final por > ejemplo > > No se si me he explicado, espero que si > > gracias a todos y un saludo > > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > > > -- aNgel rEsendiz.! From jpfuertes en gmail.com Tue Jul 18 17:45:11 2006 From: jpfuertes en gmail.com (Juampi) Date: Tue, 18 Jul 2006 12:45:11 -0300 Subject: interactuar con ssh Message-ID: <247522d10607180845u28090377q1e81503bb55797c2@mail.gmail.com> No se si llego tarde con este comentario, pero creo que Pexpect puede servirte. """ Pexpect can be used for automating interactive applications such as ssh, ftp, passwd, telnet, etc. """ http://pexpect.sourceforge.net/ -- Juampi From soporte en ialvear.com Tue Jul 18 18:06:20 2006 From: soporte en ialvear.com (Pablo Alvarez (IAlvear)) Date: Tue, 18 Jul 2006 13:06:20 -0300 Subject: interactuar con ssh In-Reply-To: <247522d10607180845u28090377q1e81503bb55797c2@mail.gmail.com> References: <247522d10607180845u28090377q1e81503bb55797c2@mail.gmail.com> Message-ID: <44BD06FC.7060404@ialvear.com> no, ese es uno de los que estoy evaluando tambien. muchas gracias! Juampi wrote: > No se si llego tarde con este comentario, pero creo que Pexpect puede > servirte. > > """ > Pexpect can be used for automating interactive applications such as > ssh, ftp, passwd, telnet, etc. > """ > > http://pexpect.sourceforge.net/ From rapto en arrakis.es Tue Jul 18 19:29:33 2006 From: rapto en arrakis.es (Marcos =?ISO-8859-1?Q?S=E1nchez?= Provencio) Date: Tue, 18 Jul 2006 19:29:33 +0200 Subject: Duda In-Reply-To: <44BCB6CF.8080700@ch3m4.org> References: <8565ad90607170913p348d94cbgad4bc591ab7c441d@mail.gmail.com> <44BCB6CF.8080700@ch3m4.org> Message-ID: <1153243773.5590.1.camel@localhost.localdomain> El mar, 18-07-2006 a las 12:24 +0200, Chema Cortes escribió: [un artículo más interesante que la mayoría de lo que se lee en prensa especializada] ¿Por qué no lo mandas a una revista para que lo publiquen? ¿Algún editor por aquí? From camontuyu en yahoo.es Tue Jul 18 21:20:15 2006 From: camontuyu en yahoo.es (camontuyu) Date: Tue, 18 Jul 2006 21:20:15 +0200 Subject: onLoad y GTK Message-ID: <1153250415.7420.5.camel@cpuppktp> Hola, estoy desarrollando mi primera aplicación python+GTK+glade y quisiera saber que señal tengo que recoger para que cuando termine de mostrarse el formulario en pantalla y este listo para usar pueda, realizar mi código como cargar datos en un treeView o mostrar un dialogo. No se si me he expresado bien. También quisiera saber que interfaz tienes las señales GTK para poder poner la cabecera correctamente en el código python. Muchas gracias. ______________________________________________ LLama Gratis a cualquier PC del Mundo. Llamadas a fijos y móviles desde 1 céntimo por minuto. http://es.voice.yahoo.com ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From dpcesar en gmail.com Tue Jul 18 22:46:08 2006 From: dpcesar en gmail.com (=?ISO-8859-1?Q?C=E9sar_Hern=E1ndez?=) Date: Tue, 18 Jul 2006 16:46:08 -0400 Subject: Cargar Arbol Message-ID: <24c049a70607181346r7491ee45scff9361cf3a7f6e9@mail.gmail.com> Saludos pythoneros Bueno, como comente alguna vez estoy migrando de forma manual una aplicación del entorno: Visual Basic - SQL-Server - Crystal Report al entorno "Python - Glade - wx" - PostgreSQL - .... bueno, la aplicación existente tiene de su parte un buen diseño, sin embargo, la estoy reescribiendo en una plataforma adecuada, "para autoadiestrame" (con la ayuda de ustedes claro esta) estoy haciendo una pantalla que tiene rutinas reutilizables para la aplicación final, comento al caso, que he tenido muchismos inconvenientes tecnologicos para iniciar mis primeras lineas de código, simplemente no me rendí, hasta que algo tan simple como ejecutar "import wx" funciono, aunque no lo crean entre ratos han pasado mas de 4 meses entre instalar - desinstalar - instalar - desinstalar.... hasta que el fin, algo paso. Ahora, tengo una ventana, un menú, una barra de herramientas, una barra de estatus, unos campos de texto, y un árbol.... (no saben que felicidad es ver ese programa, "que no hace nada", pero corre... se ejecuta... no da errores... y utilizando software libre.... demasiado bueno" Claro, ahora estoy dando otro paso, configurando los objetos, me sorprendió el hecho de que al volver a generar el código con el wxglade, no pierdo las def que escribí en el idle de python, excelente en ese punto; tengo sin embargo problemas al cargar el árbol... la idea que tengo es cargar la data de una tabla de la base de datos pero antes de complicarme la existencia cargardo el postgreSQL haciendo el select y obteniendo los datos (que por cierto fueron cargados en una estructura de árbol en la aplicación existente), necesito saber estas cosas: donde hago una llamada (en que clase o que señal debo activar) para cargar el arbol automaticamente, en las pruebas que realice cree def para cada una de las 18 señales que tenia el árbol en el wxglade con un print a la consola y ninguna se activo al cargar el programa Otra cosas es como es la instrucción para cargar el root, por lo que he podido entender hasta ahora debo invocar otro objeto antes de hacer la carga ??? o una simple instrucción lo puede cargar Finalmente la instrucción para cargar nodos... gracias de antemano a quien pueda dedicar su valioso tiempo para hacerme entender esto César Hernández Anzoátegui / Venezuela dpcesar en gmail.com From drbobus en gulic.org Tue Jul 18 23:38:41 2006 From: drbobus en gulic.org (Dr. Bobus) Date: Tue, 18 Jul 2006 22:38:41 +0100 Subject: python y DICOM Message-ID: <20060718223841.7ace12a0@casiopea.mariaonline.org> Hola lista: Estoy buscando alguna forma en python de manejar archivos dicom. Busco la forma de crearlos y de leerlos. He buscado en Google y he encontrado bastantes cosas auqneu no he podido probar nada pues en la actualidad no dispongo todavía del entorno donde hacer las pruebas contra un servidor dicom. Lo que he encontrado por otro lado no se si me sirve. Por ejemplo: http://dicomlib.swri.ca/pydicomlib.html anuncia una libreria pydicomlib (el nombre tiene buena pinta) pero sinceramente no se cómo compilar la libreria dicom.so. No he encontrado nada entre los mensajes enviados a la lista sobre este tema. Alguien tiene experiencia en esto que sugiera una vía por donde empezar ? Gracias Saludos Dr. Bobus ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: no disponible Type: application/pgp-signature Size: 189 bytes Desc: no disponible URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From arnau en ehas.org Wed Jul 19 01:14:57 2006 From: arnau en ehas.org (Arnau Sanchez) Date: Wed, 19 Jul 2006 01:14:57 +0200 Subject: onLoad y GTK In-Reply-To: <1153250415.7420.5.camel@cpuppktp> References: <1153250415.7420.5.camel@cpuppktp> Message-ID: <44BD6B71.4060404@ehas.org> > estoy desarrollando mi primera aplicación python+GTK+glade y quisiera > saber que señal tengo que recoger para que cuando termine de mostrarse > el formulario en pantalla y este listo para usar pueda, realizar mi > código como cargar datos en un treeView o mostrar un dialogo. Creo que no lo enfocas bien, las señales se asocian a eventos de usuario, no a que la pantalla se actualice o no, de eso ya se encarga GTK. Si al principio de tu programa tienes que tocar widgets, hazlo antes de llamar a gtk.main. Muy resumidamente, los pasos típicos de una aplicación GTK serían: - importar modulos pygtk, gtk, gtk.glade, gobject - cargar el fichero glade (gtk.glade.XML) - llenar los widgets con valores iniciales (por ejemplo rellenar la tabla de un treeview) - asociar (con connect) las señales de los widgets a las funciones/métodos correspondientes - llamar a show() del widget inicial (innecesario si ya está marcado como visible en el fichero glade) - gtk.main() a partir de aquí, sólo se ejecutarán funciones que hayas ligado a eventos mediante connect(). Debes tener en cuenta que el GUI quedará congelado durante el tiempo que tus funciones estén ejecutándose, pero si son funciones "normales" se ejecutarán rápido y no se notará en absoluto. Cuando no hay más remedio que hacer operaciones en segundo plan, se suelen usar threads (módulo threading, usándolo junto con object.idle_add()), pero no te lo recomiendo si estás empezando. > También quisiera saber que interfaz tienes las señales GTK para poder > poner la cabecera correctamente en el código python. Para eso está el manual. Aunque lo más habitual es que lleven sólo el widget como primer parámetro, no siempre es así: file:///usr/share/doc/python-gtk2-doc/html/gtk-class-reference.html arnau ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From pych3m4 en gmail.com Wed Jul 19 01:47:37 2006 From: pych3m4 en gmail.com (Chema Cortes) Date: Wed, 19 Jul 2006 01:47:37 +0200 Subject: Duda In-Reply-To: <1153243773.5590.1.camel@localhost.localdomain> References: <8565ad90607170913p348d94cbgad4bc591ab7c441d@mail.gmail.com> <44BCB6CF.8080700@ch3m4.org> <1153243773.5590.1.camel@localhost.localdomain> Message-ID: <2c9fb0dd0607181647p437fc094uc47e03f729687d20@mail.gmail.com> El 18/07/06, Marcos Sánchez Provencio escribió: > El mar, 18-07-2006 a las 12:24 +0200, Chema Cortes escribió: > [un artículo más interesante que la mayoría de lo que se lee en prensa > especializada] > > ¿Por qué no lo mandas a una revista para que lo publiquen? ¿Algún editor > por aquí? Agradezco los cumplidos, pero mis esfuerzos hoy en día están más orientados a la literatura. A pesar de que puedan parecer argumentos convincentes, tengo que reconocer que no lograron convecer a ninguno de los desarrolladores de Ximian con los que he hablado para que dieran una oportunidad al IronPython en sus desarrollos con mono. From pych3m4 en gmail.com Wed Jul 19 02:24:02 2006 From: pych3m4 en gmail.com (Chema Cortes) Date: Wed, 19 Jul 2006 02:24:02 +0200 Subject: python y DICOM In-Reply-To: <20060718223841.7ace12a0@casiopea.mariaonline.org> References: <20060718223841.7ace12a0@casiopea.mariaonline.org> Message-ID: <2c9fb0dd0607181724m18689ebbtfd2ce3e4a63b4902@mail.gmail.com> El 2006/7/18, Dr. Bobus escribió: > Estoy buscando alguna forma en python de manejar archivos dicom. > > Busco la forma de crearlos y de leerlos. > > He buscado en Google y he encontrado bastantes cosas auqneu no he podido probar nada pues en la actualidad no dispongo todavía del entorno donde hacer las pruebas contra un servidor dicom. A mí me pasa al revés, tengo los medios pero sólo me dejan usarlos desde java :-P > Lo que he encontrado por otro lado no se si me sirve. > > Por ejemplo: http://dicomlib.swri.ca/pydicomlib.html anuncia una libreria pydicomlib (el nombre tiene buena pinta) pero sinceramente no se cómo compilar la libreria dicom.so. Este módulo depende de dicomlib y Boost.Python, además de requerir VC++ para compilarlo (sólo para windows). Búscate otro módulo, por ejemplo, medwx (http://medwx.sourceforge.net) Pero si sólo quieres algo para trabajar "rápido y sucio", instálate la librería ImageMagick. Soporta el formato dicom (DCM) y tiene interfaces para muchos lenguajes (incluído python). Puedes encontrar más herramientas (incluyendo PACS) en: http://www.idoimaging.com From mlacunza en gmail.com Wed Jul 19 05:35:27 2006 From: mlacunza en gmail.com (Mario Lacunza) Date: Tue, 18 Jul 2006 22:35:27 -0500 Subject: Duda In-Reply-To: <2c9fb0dd0607181647p437fc094uc47e03f729687d20@mail.gmail.com> References: <8565ad90607170913p348d94cbgad4bc591ab7c441d@mail.gmail.com> <44BCB6CF.8080700@ch3m4.org> <1153243773.5590.1.camel@localhost.localdomain> <2c9fb0dd0607181647p437fc094uc47e03f729687d20@mail.gmail.com> Message-ID: <771741b20607182035h6cf491f0wc4887cc4b849ecab@mail.gmail.com> 2006/7/18, Chema Cortes : > > El 18/07/06, Marcos Sánchez Provencio escribió: > > El mar, 18-07-2006 a las 12:24 +0200, Chema Cortes escribió: > > [un artículo más interesante que la mayoría de lo que se lee en prensa > > especializada] > > > > ¿Por qué no lo mandas a una revista para que lo publiquen? ¿Algún editor > > por aquí? > > Agradezco los cumplidos, pero mis esfuerzos hoy en día están más > orientados a la literatura. > > A pesar de que puedan parecer argumentos convincentes, tengo que > reconocer que no lograron convecer a ninguno de los desarrolladores de > Ximian con los que he hablado para que dieran una oportunidad al > IronPython en sus desarrollos con mono. > > Chema, no se si nos podrias contar un poco mas sobre tu ultimo parrafo?? -- Saludos / Best regards Mario Lacunza Desarrollador de Sistemas - Webmaster Desarrollador 2 Estrellas VS2005 Email: mlacunza [AT] gmail [DOT] com Website: mlacunzav[AT]cogia[AT]net Blog: http://mlacunza.blogspot.com/ Lima - Peru From mlacunza en gmail.com Wed Jul 19 05:38:29 2006 From: mlacunza en gmail.com (Mario Lacunza) Date: Tue, 18 Jul 2006 22:38:29 -0500 Subject: Cargar Arbol In-Reply-To: <24c049a70607181346r7491ee45scff9361cf3a7f6e9@mail.gmail.com> References: <24c049a70607181346r7491ee45scff9361cf3a7f6e9@mail.gmail.com> Message-ID: <771741b20607182038x6fdc255dx6ea50a077fe1fbb2@mail.gmail.com> 2006/7/18, César Hernández : > > Saludos pythoneros > > Bueno, como comente alguna vez estoy migrando de forma manual una > aplicación > del entorno: > > Visual Basic - SQL-Server - Crystal Report > > al entorno > > "Python - Glade - wx" - PostgreSQL - .... > > bueno, la aplicación existente tiene de su parte un buen diseño, sin > embargo, la estoy reescribiendo en una plataforma adecuada, "para > autoadiestrame" (con la ayuda de ustedes claro esta) estoy haciendo una > pantalla que tiene rutinas reutilizables para la aplicación final, comento > al caso, que he tenido muchismos inconvenientes tecnologicos para iniciar > mis primeras lineas de código, simplemente no me rendí, hasta que algo tan > simple como ejecutar "import wx" funciono, aunque no lo crean entre ratos > han pasado mas de 4 meses entre instalar - desinstalar - instalar - > desinstalar.... hasta que el fin, algo paso. > > Ahora, tengo una ventana, un menú, una barra de herramientas, una barra de > estatus, unos campos de texto, y un árbol.... (no saben que felicidad es > ver > ese programa, "que no hace nada", pero corre... se ejecuta... no da > errores... y utilizando software libre.... demasiado bueno" > > Claro, ahora estoy dando otro paso, configurando los objetos, me > sorprendió > el hecho de que al volver a generar el código con el wxglade, no pierdo > las > def que escribí en el idle de python, excelente en ese punto; tengo sin > embargo problemas al cargar el árbol... la idea que tengo es cargar la > data > de una tabla de la base de datos pero antes de complicarme la existencia > cargardo el postgreSQL haciendo el select y obteniendo los datos (que por > cierto fueron cargados en una estructura de árbol en la aplicación > existente), necesito saber estas cosas: > > donde hago una llamada (en que clase o que señal debo activar) para cargar > el arbol automaticamente, en las pruebas que realice cree def para cada > una > de las 18 señales que tenia el árbol en el wxglade con un print a la > consola > y ninguna se activo al cargar el programa > > Otra cosas es como es la instrucción para cargar el root, por lo que he > podido entender hasta ahora debo invocar otro objeto antes de hacer la > carga > ??? o una simple instrucción lo puede cargar > > Finalmente la instrucción para cargar nodos... > > gracias de antemano a quien pueda dedicar su valioso tiempo para hacerme > entender esto > > César Hernández > Anzoátegui / Venezuela > dpcesar en gmail.com > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > Cesar, Te recomiendo q bajes la Demo de wxPython alli encontraras ejemplos muy buenos (tipo manual) de como usar esta libreria -- Saludos / Best regards Mario Lacunza Desarrollador de Sistemas - Webmaster Desarrollador 2 Estrellas VS2005 Email: mlacunza [AT] gmail [DOT] com Website: mlacunzav[AT]cogia[AT]net Blog: http://mlacunza.blogspot.com/ Lima - Peru From camontuyu en yahoo.es Wed Jul 19 08:16:19 2006 From: camontuyu en yahoo.es (camontuyu) Date: Wed, 19 Jul 2006 08:16:19 +0200 Subject: onLoad y GTK In-Reply-To: <44BD6B71.4060404@ehas.org> References: <1153250415.7420.5.camel@cpuppktp> <44BD6B71.4060404@ehas.org> Message-ID: <1153289779.7420.10.camel@cpuppktp> Ahhhhhhhh! vale yo creía que no se podían tocar los controles (para por ejemplo rellener la tabla del treeview) hasta que se hubiera llamado al método gtk.main(). Seguiré por esa vía. Pero en este caso tengo una duda. Como podría hacer que después de que se cargase el formulario principal, este lanzase un dialogo modal para por ejemplo mostrar un progreso? (teniendo el formulario principal del fondo) ?? Gracias por todo, sobre todo por los pasos de una aplicación GTK, muy interesante. El mié, 19-07-2006 a las 01:14 +0200, Arnau Sanchez escribió: > > estoy desarrollando mi primera aplicación python+GTK+glade y quisiera > > saber que señal tengo que recoger para que cuando termine de mostrarse > > el formulario en pantalla y este listo para usar pueda, realizar mi > > código como cargar datos en un treeView o mostrar un dialogo. > > Creo que no lo enfocas bien, las señales se asocian a eventos de usuario, no a > que la pantalla se actualice o no, de eso ya se encarga GTK. Si al principio de > tu programa tienes que tocar widgets, hazlo antes de llamar a gtk.main. > > Muy resumidamente, los pasos típicos de una aplicación GTK serían: > > - importar modulos pygtk, gtk, gtk.glade, gobject > - cargar el fichero glade (gtk.glade.XML) > - llenar los widgets con valores iniciales (por ejemplo rellenar la tabla de un > treeview) > - asociar (con connect) las señales de los widgets a las funciones/métodos > correspondientes > - llamar a show() del widget inicial (innecesario si ya está marcado como > visible en el fichero glade) > - gtk.main() > > a partir de aquí, sólo se ejecutarán funciones que hayas ligado a eventos > mediante connect(). Debes tener en cuenta que el GUI quedará congelado durante > el tiempo que tus funciones estén ejecutándose, pero si son funciones "normales" > se ejecutarán rápido y no se notará en absoluto. Cuando no hay más remedio que > hacer operaciones en segundo plan, se suelen usar threads (módulo threading, > usándolo junto con object.idle_add()), pero no te lo recomiendo si estás empezando. > > > También quisiera saber que interfaz tienes las señales GTK para poder > > poner la cabecera correctamente en el código python. > > Para eso está el manual. Aunque lo más habitual es que lleven sólo el widget > como primer parámetro, no siempre es así: > > file:///usr/share/doc/python-gtk2-doc/html/gtk-class-reference.html > > arnau > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es ______________________________________________ LLama Gratis a cualquier PC del Mundo. Llamadas a fijos y móviles desde 1 céntimo por minuto. http://es.voice.yahoo.com ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From py en ch3m4.org Wed Jul 19 09:47:25 2006 From: py en ch3m4.org (Chema Cortes) Date: Wed, 19 Jul 2006 09:47:25 +0200 Subject: Duda In-Reply-To: <771741b20607182035h6cf491f0wc4887cc4b849ecab@mail.gmail.com> References: <8565ad90607170913p348d94cbgad4bc591ab7c441d@mail.gmail.com> <44BCB6CF.8080700@ch3m4.org> <1153243773.5590.1.camel@localhost.localdomain> <2c9fb0dd0607181647p437fc094uc47e03f729687d20@mail.gmail.com> <771741b20607182035h6cf491f0wc4887cc4b849ecab@mail.gmail.com> Message-ID: <44BDE38D.4020706@ch3m4.org> Mario Lacunza escribió: > 2006/7/18, Chema Cortes : >> A pesar de que puedan parecer argumentos convincentes, tengo que >> reconocer que no lograron convecer a ninguno de los desarrolladores de >> Ximian con los que he hablado para que dieran una oportunidad al >> IronPython en sus desarrollos con mono. >> >> > Chema, no se si nos podrias contar un poco mas sobre tu ultimo parrafo?? Es que no hay mucho más que contar. Un día, durante la ingesta de pintas de guiness que seguía a una conferencia de Rodrigo Moya (gnome-db), estuve evangelizando sobre las virtudes de usar ironpython para acelerar desarrollos mono. Hay que recordar que el proyecto mono se inició por la necesidad de rediseñar gnome para eliminar el código "glue" que pegaba las distintas librerías de gnome y que cada vez lo complicaban más y más. Se pensó usar tecnologías CORBA como el bonobo, pero se vió que con un sustrato común (CLI) se resolvía definitivamente el problema. En Ximian tenían previsto cambiar progresivamente todo el código hecho en C de gnome por código C# para mono. Yo sugerí que con IronPython podrían hacer esta migración más rápida, además de que mejoraría el mantenimiento posterior. Pero creo que ni lo consideraron. Lo único que conozco es una entrada en la bitácora de Miguel de Icaza donde se reflejaban los excelentes resultados comparativos que presentó Jim Hugunin cuando anunció el proyecto IronPython por primera vez. -- Chema Cortés (py en ch3m4.org) "Proudly made on earth by generic humanoid carbon units" From arnau en ehas.org Wed Jul 19 13:02:27 2006 From: arnau en ehas.org (Arnau Sanchez) Date: Wed, 19 Jul 2006 13:02:27 +0200 Subject: onLoad y GTK In-Reply-To: <1153289779.7420.10.camel@cpuppktp> References: <1153250415.7420.5.camel@cpuppktp> <44BD6B71.4060404@ehas.org> <1153289779.7420.10.camel@cpuppktp> Message-ID: <44BE1143.8010701@ehas.org> camontuyu escribió: > Como podría hacer que después de que se cargase el formulario principal, > este lanzase un dialogo modal para por ejemplo mostrar un progreso? > (teniendo el formulario principal del fondo) ?? Se puede hacer de dos formas: 1) Creando el widget a mano (un dialog, por ejemplo), y llenándolo con los otros widgets que necesites. Ejemplo patatero: dialog = gtk.Dialog("Dialogo", main_app_window, gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT, (gtk.STOCK_CLOSE, gtk.RESPONSE_ACCEPT)) # usa mejor una función que lambda, pero lo pongo así para que quede compacto dialog.connect("response", lambda widget, response: widget.destroy()) vbox = gtk.VBox(False, 5) label = gtk.Label("Esto aparece encima de la barra de progreso") progress = gtk.ProgressBar() #progress.set_text("progreso") #progress.set_fraction(0.1) vbox.add(label) vbox.add(progress) dialog.vbox.add(vbox) dialog.show_all() (cuando quieras cerrar el dialogo: dialog.destroy()) 2) Creando el widget con glade (actívale la opción "modal" a esa ventana) y haciéndole un show() cuando quieras que se vea. Parece más fácil, pero esta opción también tiene sutilezas, si el usuario cierra la ventana se generará un destroy() y no podrá volver a usarse. Para evitarlo, debes capturar la señal "delete-event", y allí hacer un hide() del widget y un "return True"; con esto último le avisas a gtk que no quieres que destruya el widget, y entonces sí podrás volver a abrirlo. ... Hacer una barra de progreso implica seguramente tener tareas en segundo plano, lo que ya te decía que pueder ser complejo si son tus primeros pasos en pygtk, pero en fin, suerte. Si la tarea que se asocia a la barra de progreso tiene algo que ver con la lectura de ficheros/sockets, te puede ser útil esto: file:///usr/share/doc/python-gtk2-doc/html/gobject-functions.html#function-gobject--io-add-watch arnau ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From foton_1974 en ono.com Wed Jul 19 15:44:51 2006 From: foton_1974 en ono.com (foton_1974 en ono.com) Date: Wed, 19 Jul 2006 15:44:51 +0200 Subject: i18n pythoncard Message-ID: <4486435500021019@resmta04.ono.com> alguien sabe cómo hacer funcionar el i18n del entorno gráfico? en el archivo .py las traducciones me funcionan sin problemas en el entorno gráfico me es imposible he mirado enlaces sin conseguir nada de interés alguna idea? gracias, pedro ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From kernel.no.found en gmail.com Wed Jul 19 19:53:00 2006 From: kernel.no.found en gmail.com (=?ISO-8859-1?Q?Juan_Jos=E9_Alonso.?=) Date: Wed, 19 Jul 2006 19:53:00 +0200 Subject: Buscando participantes: PySCUMM Message-ID: <117d6e170607191053q2e303bb7s16271fc388259e9a@mail.gmail.com> PySCUMM es una idea que se me ocurrio hace algunos meses pero que he empezado a implementarle desde hace tan solo 1 mes. La idea principal del proyecto es desarollar un conjunto de modulos python para la realizacion de aventuras graficas similares a las realizadas por SCUMM en la version utilizada en Monkey Island 3 (The Curse of monkey Island: Vease screenshots: http://diduz76.interfree.it/immagini/monkey3/monkey32g.jpg ) El sistema usado por esta version no era el tipico de verbos sino solo 3 acciones que aparecian en una moneda. Coger/usar, hablar, y examinar. El desarollo de pyscumm se haria con OpenGL para el dibujado 2D etc, y PyGame para la ventana, eventos, etc... Actualmente tengo la base escrita, y un diagrama UML a medias, podeis verlo aqui: http://img287.imageshack.us/img287/5955/pyscummxb3.png Mi intencion es desarollar el 'motor' de codigo abierto, y un desarollo de un fan game posteriormente, A esto le queda mucho, aunque el desarollo del motor con pygame casi esta resuelto el 50% de un motor real. La llamada de este mensaje es porque necesito a alguien mas que desarolle esta ilusion conmigo, y que la comparta claro esta.... Si alguien esta interesado puede contactar conmigo en kernel.no.found en gmail.com pero __NO__ por la lista por favor, ya que es posible que se me escape el mensaje de la vista, en fin, ¡manias! Un Saludo y espero que les gusten la idea. -- Juan José Alonso. KarlsBerg. eMail: kernel.no.found en gmail.com MSN: kernel.no.found en gmail.com From dpcesar en gmail.com Wed Jul 19 20:11:00 2006 From: dpcesar en gmail.com (=?ISO-8859-1?Q?C=E9sar_Hern=E1ndez?=) Date: Wed, 19 Jul 2006 14:11:00 -0400 Subject: Cargar Arbol In-Reply-To: <771741b20607182038x6fdc255dx6ea50a077fe1fbb2@mail.gmail.com> References: <24c049a70607181346r7491ee45scff9361cf3a7f6e9@mail.gmail.com> <771741b20607182038x6fdc255dx6ea50a077fe1fbb2@mail.gmail.com> Message-ID: <24c049a70607191111s407ea702s7e9194224d107e9@mail.gmail.com> Gracias Mario Lacunza por el dato :) Verifique el demo existen solo dos ejemplos para el TreeCtrl pyTree.py SplitTree.py de ellos he tomado parte del codigo SplitTree.py me presento algunos problemas por la instrucción: "import images" investigue un poco y llegue a la conclusión erronea de que me faltaba un modulo por instalar en python, creyendo que era el PIL me lo baje ( http://www.pythonware.com/products/pil/index.htm) y lo instale... mellejua perdida de tiempo... Bueno, finalmente solucione y pude hacer ejecutar torpemente una rutina de prueba, lo que no comprendo muy bien es porque pareciera no utilizar el Widgets que cree con el wxGlade y crea uno nuevo... (bueno tal vez no sea uno nuevo, pero pareciera estar sobre el otro) alguna sugerencia, el codigo completo a continuación: #!/usr/bin/env python # -*- coding: ISO-8859-1 -*- # generated by wxGlade 0.4.1 on Tue Jul 11 14:26:46 2006 import wx import sys, os, time, string from wxPython.wx import * from wxPython.gizmos import * class MyFrame1(wx.Frame): def __init__(self, *args, **kwds): # begin wxGlade: MyFrame1.__init__ kwds["style"] = wx.ICONIZE|wx.CAPTION|wx.MINIMIZE|wx.CLOSE_BOX|wx.MINIMIZE_BOX|wx.MAXIMIZE_BOX|wx.SYSTEM_MENU|wx.RESIZE_BORDER|wx.CLIP_CHILDREN wx.Frame.__init__(self, *args, **kwds) # Menu Bar self.menuprincipal = wx.MenuBar() self.SetMenuBar(self.menuprincipal) wxglade_tmp_menu = wx.Menu() wxglade_tmp_menu.Append(wx.NewId(), "Establecer Impresora", "", wx.ITEM_NORMAL) wxglade_tmp_menu.AppendSeparator() wxglade_tmp_menu.Append(wx.NewId(), "Buscar Actualizaciones", "", wx.ITEM_NORMAL) wxglade_tmp_menu.AppendSeparator() wxglade_tmp_menu.Append(wx.NewId(), "item", "", wx.ITEM_NORMAL) self.menuprincipal.Append(wxglade_tmp_menu, "Archivo") wxglade_tmp_menu = wx.Menu() wxglade_tmp_menu.Append(wx.NewId(), "Pegar", "", wx.ITEM_NORMAL) wxglade_tmp_menu.Append(wx.NewId(), "Copiar", "", wx.ITEM_NORMAL) wxglade_tmp_menu.Append(wx.NewId(), "Cortar", "", wx.ITEM_NORMAL) wxglade_tmp_menu.AppendSeparator() wxglade_tmp_menu.Append(wx.NewId(), "Buscar Item", "", wx.ITEM_NORMAL) self.menuprincipal.Append(wxglade_tmp_menu, u"Edición") wxglade_tmp_menu = wx.Menu() wxglade_tmp_menu.Append(wx.NewId(), "Ayuda en linea", "", wx.ITEM_NORMAL) wxglade_tmp_menu.Append(wx.NewId(), "Visite nuestra web", "", wx.ITEM_NORMAL) wxglade_tmp_menu.AppendSeparator() wxglade_tmp_menu.Append(wx.NewId(), "Acerca de . . .", "", wx.ITEM_NORMAL) self.menuprincipal.Append(wxglade_tmp_menu, "Ayuda") # Menu Bar end self.barra_estatus = self.CreateStatusBar(4, 0) # Tool Bar self.BarradeHerramientas = wx.ToolBar(self, -1, style= wx.TB_HORIZONTAL|wx.TB_FLAT|wx.TB_3DBUTTONS|wx.TB_TEXT|wx.TB_NODIVIDER|wx.TB_HORZ_LAYOUT|wx.TB_HORZ_TEXT ) self.SetToolBar(self.BarradeHerramientas) self.BarradeHerramientas.AddLabelTool(100, "Imprimir", wx.Bitmap("C:\\tucuman\\imagen\\hrr_print.png", wx.BITMAP_TYPE_ANY), wx.NullBitmap, wx.ITEM_NORMAL, "Imprimir", "Establecer Impresora") self.BarradeHerramientas.AddLabelTool(200, "Buscar", wx.Bitmap("C:\\tucuman\\imagen\\lupa.png", wx.BITMAP_TYPE_ANY), wx.NullBitmap, wx.ITEM_NORMAL, "Buscar", "Busqueda Avanzada") # Tool Bar end self.arbol = wx.TreeCtrl(self, -1, style= wx.TR_HAS_BUTTONS|wx.TR_LINES_AT_ROOT|wx.TR_DEFAULT_STYLE|wx.SUNKEN_BORDER) self.txt_partida = wx.TextCtrl(self, -1, "", style=wx.TE_MULTILINE) self.txt_descrip = wx.TextCtrl(self, -1, "", style=wx.TE_MULTILINE) self.list_box_1 = wx.ListBox(self, -1, choices=[], style= wx.LB_MULTIPLE) self.lbx_caif = wx.ListBox(self, -1, choices=[]) self.lsb_contabilidad = wx.ListBox(self, -1, choices=[]) self.__set_properties() self.__do_layout() self.arbol = TestTree(self.arbol, -1) self.Bind(wx.EVT_TOOL, self.hrr_imprimir, id=100) self.Bind(wx.EVT_TOOL, self.hrr_buscar, id=200) # end wxGlade def __set_properties(self): # begin wxGlade: MyFrame1.__set_properties self.SetTitle("..: Tucuman :..") self.SetSize((454, 542)) self.barra_estatus.SetStatusWidths([80, 100, 35, 100]) # statusbar fields barra_estatus_fields = [" Tucuman", u" Versión 0001.0001", " 2007", "PostgreSQL - Local "] for i in range(len(barra_estatus_fields)): self.barra_estatus.SetStatusText(barra_estatus_fields[i], i) self.BarradeHerramientas.SetToolBitmapSize((40, 30)) self.BarradeHerramientas.Realize() self.arbol.SetBackgroundColour(wx.Colour(249, 255, 180)) self.arbol.SetToolTipString("Clasificador Presupuestario") # end wxGlade def __do_layout(self): # begin wxGlade: MyFrame1.__do_layout sizerPricipal = wx.BoxSizer(wx.VERTICAL) sizer_3 = wx.BoxSizer(wx.HORIZONTAL) sizer_1 = wx.BoxSizer(wx.HORIZONTAL) sizer_2 = wx.BoxSizer(wx.VERTICAL) sizer_1.Add(self.arbol, 1, wx.ALL|wx.EXPAND, 0) sizer_2.Add(self.txt_partida, 1, wx.ALL|wx.EXPAND|wx.ADJUST_MINSIZE, 0) sizer_2.Add(self.txt_descrip, 2, wx.ALL|wx.EXPAND|wx.ADJUST_MINSIZE, 0) sizer_2.Add(self.list_box_1, 0, wx.ALL|wx.EXPAND|wx.ADJUST_MINSIZE, 0) sizer_1.Add(sizer_2, 1, wx.EXPAND, 0) sizerPricipal.Add(sizer_1, 1, wx.EXPAND, 0) sizer_3.Add(self.lbx_caif, 1, wx.ALL|wx.EXPAND|wx.ADJUST_MINSIZE, 0) sizer_3.Add(self.lsb_contabilidad, 1, wx.ALL|wx.EXPAND|wx.ADJUST_MINSIZE, 0) sizerPricipal.Add(sizer_3, 1, wx.EXPAND, 0) self.SetAutoLayout(True) self.SetSizer(sizerPricipal) self.Layout() # end wxGlade def Imprimir(self,evento=None): # inicio wxGlade: Ventana de imprimir data = wxPrintDialogData() data.EnablePrintToFile(true) data.EnablePageNumbers(true) data.EnableSelection(true) dlg = wxPrintDialog(self, data) if dlg.ShowModal() == wxID_OK: print "" dlg.Destroy() # Fin wxGlade def hrr_imprimir(self, event): # wxGlade: MyFrame1. self.Imprimir(self) event.Skip() def hrr_buscar(self, event): # wxGlade: MyFrame1. data = wxFindReplaceData() dlg = wxFindReplaceDialog(self, data, "Find") dlg.data = data # save a reference to it... dlg.Show(true) event.Skip() # end of class MyFrame1 class TestTree(wxRemotelyScrolledTreeCtrl): def __init__(self, parent, ID, pos=wxDefaultPosition, size=wxDefaultSize, style=wxTR_HAS_BUTTONS): wxRemotelyScrolledTreeCtrl.__init__(self, parent, ID, pos, size, style) # Add some items root = self.AddRoot("PUCG -2007") for i in range(1,9): item = self.AppendItem(root, "4.0%d" % i) for j in range(10): child = self.AppendItem(item, "4.0%d.00" % i) self.Expand(root) class MyApp(wx.App): def OnInit(self): wx.InitAllImageHandlers() Principal = MyFrame1(None, -1, "") self.SetTopWindow(Principal) Principal.Show() return 1 # end of class MyApp if __name__ == "__main__": app = MyApp(0) app.MainLoop() From camontuyu en yahoo.es Wed Jul 19 20:53:20 2006 From: camontuyu en yahoo.es (camontuyu) Date: Wed, 19 Jul 2006 20:53:20 +0200 Subject: onLoad y GTK In-Reply-To: <44BE1143.8010701@ehas.org> References: <1153250415.7420.5.camel@cpuppktp> <44BD6B71.4060404@ehas.org> <1153289779.7420.10.camel@cpuppktp> <44BE1143.8010701@ehas.org> Message-ID: <1153335200.7420.25.camel@cpuppktp> OK, esa es la forma de crear un dialogo, pero yo quiero que se muestre cuando se halla mostrado la ventana principal y mientras está este dialogo realizar una serie de operaciones. El código que tengo sería así. def main(self): """ Ejectua la aplicación """ # creamos el dialogo de cargar d = DialogoConectar() d.show() [Operaciones costosas] d.hide() gtk.main() con lo que no muestra nada hasta que no terminan las operaciones. Creando este código me ha surgido otra cuestión, ¿como puedo heredar de un widget creando con el glade? class DialogoConectar(gtk.Dialog): def __init__(self): gtk.Widget.__init__(self) interfaz = gtk.glade.XML(defines.BASE_INTERFAZ, 'dialogConectar') interfaz.signal_autoconnect(self) self = interfaz.get_widget('dialogConectar') def on_windowMain_destroy(self, ventana): print "saliendo del dialogo!" Supongo que lo que he puesto es una burrada, pero puede ser orientativo para ver si van por ahy los tiros. Que me aconsejais? El mié, 19-07-2006 a las 13:02 +0200, Arnau Sanchez escribió: > camontuyu escribió: > > > Como podría hacer que después de que se cargase el formulario principal, > > este lanzase un dialogo modal para por ejemplo mostrar un progreso? > > (teniendo el formulario principal del fondo) ?? > > Se puede hacer de dos formas: > > 1) Creando el widget a mano (un dialog, por ejemplo), y llenándolo con los otros > widgets que necesites. Ejemplo patatero: > > dialog = gtk.Dialog("Dialogo", main_app_window, gtk.DIALOG_MODAL | > gtk.DIALOG_DESTROY_WITH_PARENT, (gtk.STOCK_CLOSE, gtk.RESPONSE_ACCEPT)) > > # usa mejor una función que lambda, pero lo pongo así para que quede compacto > dialog.connect("response", lambda widget, response: widget.destroy()) > vbox = gtk.VBox(False, 5) > label = gtk.Label("Esto aparece encima de la barra de progreso") > progress = gtk.ProgressBar() > #progress.set_text("progreso") > #progress.set_fraction(0.1) > vbox.add(label) > vbox.add(progress) > dialog.vbox.add(vbox) > dialog.show_all() > > (cuando quieras cerrar el dialogo: dialog.destroy()) > > 2) Creando el widget con glade (actívale la opción "modal" a esa ventana) y > haciéndole un show() cuando quieras que se vea. Parece más fácil, pero esta > opción también tiene sutilezas, si el usuario cierra la ventana se generará un > destroy() y no podrá volver a usarse. Para evitarlo, debes capturar la señal > "delete-event", y allí hacer un hide() del widget y un "return True"; con esto > último le avisas a gtk que no quieres que destruya el widget, y entonces sí > podrás volver a abrirlo. > > ... > > Hacer una barra de progreso implica seguramente tener tareas en segundo plano, > lo que ya te decía que pueder ser complejo si son tus primeros pasos en pygtk, > pero en fin, suerte. > > Si la tarea que se asocia a la barra de progreso tiene algo que ver con la > lectura de ficheros/sockets, te puede ser útil esto: > > file:///usr/share/doc/python-gtk2-doc/html/gobject-functions.html#function-gobject--io-add-watch > > arnau > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es ______________________________________________ LLama Gratis a cualquier PC del Mundo. Llamadas a fijos y móviles desde 1 céntimo por minuto. http://es.voice.yahoo.com ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From carlosfvo en gmail.com Thu Jul 20 01:00:31 2006 From: carlosfvo en gmail.com (carlos villa) Date: Wed, 19 Jul 2006 18:00:31 -0500 Subject: ayuda combobox Message-ID: <629497540607191600r23d270e4j6e2d95b00444ab6e@mail.gmail.com> buenas tardes me urge actualizar un combobox que contiene datos mi duda es como le hago he utilizado combobox.clear y me borra todo pero intento recargarlo de nuevo llamando una funcion que me carga datos de nuevo pero no aparecen los datos. agradeceria la ayuda. From pych3m4 en gmail.com Thu Jul 20 03:21:23 2006 From: pych3m4 en gmail.com (Chema Cortes) Date: Thu, 20 Jul 2006 03:21:23 +0200 Subject: i18n pythoncard In-Reply-To: <4486435500021019@resmta04.ono.com> References: <4486435500021019@resmta04.ono.com> Message-ID: <2c9fb0dd0607191821n5ae8c0ebud6451fca3fbb1c40@mail.gmail.com> El 2006/7/19, foton_1974 en ono.com escribió: > alguien sabe cómo hacer funcionar el i18n del entorno gráfico? > en el archivo .py las traducciones me funcionan sin problemas > > en el entorno gráfico me es imposible > > he mirado enlaces sin conseguir nada de interés > > alguna idea? Es muy sencillo. El fichero de recursos lo renombras según este esquema: .._.rsrc.py sería "gtk","win" o "mac", con lo se podría crear versiones distintas según la plataforma donde se ejecute (por ejemplo, usando una codificación de caracteres nativa para cada una). _ es el mismo formato con el que se trabaja con "locales". Si se desea, se puede suprimir para poner sólo el idioma. A partir de la platarforma de ejecución (wx.Platform) y del resultado de locale.getdefaultlocale(), se busca el fichero de recusos que mejor se adapte, según este orden de prioridad: .._.rsrc.py ...rsrc.py ._.rsrc.py ..rsrc.py ..rsrc.py .rsrc.py Por ejemplo, para una aplicación "miapp.py" se podría tener estos ficheros: "miapp.rsrc" fichero de recursos general "miapp.mac.rsrc" para macintosh "miapp.es.rsrc" en español "miapp.linux.es_MX.rsrc" en ruso para español de méxico Si estamos ejecutando la aplicación en linux localizado como es_ES (español de España), el fichero de recursos que se usaría sería "miapp.es.rsrc", ya que "miapp.linux.es_MX.rsrc" no coincide con la localización, "miapp.mac.rsrc" no coincide con la plataforma, y "miapp.rsrc" tiene menor prioridad. From mlacunza en gmail.com Thu Jul 20 06:13:04 2006 From: mlacunza en gmail.com (Mario Lacunza) Date: Thu, 20 Jul 2006 06:13:04 +0200 Subject: ayuda combobox In-Reply-To: <629497540607191600r23d270e4j6e2d95b00444ab6e@mail.gmail.com> References: <629497540607191600r23d270e4j6e2d95b00444ab6e@mail.gmail.com> Message-ID: <771741b20607192113v3a1489c7h4cf3c03dd46ad0a3@mail.gmail.com> Manda el codigo o mirate la Demo de wxpython. 2006/7/20, carlos villa : > > buenas tardes me urge actualizar un combobox que contiene datos mi > duda es como le hago he utilizado combobox.clear y me borra todo pero > intento recargarlo de nuevo llamando una funcion que me carga datos de > nuevo pero no aparecen los datos. agradeceria la ayuda. > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > -- Saludos / Best regards Mario Lacunza Desarrollador de Sistemas - Webmaster Desarrollador 2 Estrellas VS2005 Email: mlacunza [AT] gmail [DOT] com Website: mlacunzav[AT]cogia[AT]net Blog: http://mlacunza.blogspot.com/ Lima - Peru From arnau en ehas.org Thu Jul 20 13:51:49 2006 From: arnau en ehas.org (Arnau Sanchez) Date: Thu, 20 Jul 2006 13:51:49 +0200 Subject: onLoad y GTK In-Reply-To: <1153335200.7420.25.camel@cpuppktp> References: <1153250415.7420.5.camel@cpuppktp> <44BD6B71.4060404@ehas.org> <1153289779.7420.10.camel@cpuppktp> <44BE1143.8010701@ehas.org> <1153335200.7420.25.camel@cpuppktp> Message-ID: <44BF6E55.107@ehas.org> la única forma de hacer eso, que yo sepa, es usando threads. Iba a hacerte un programa de ejemplo, pero he encontrado esta entrada, lo que me ahorra mucho trabajo :-) http://www.async.com.br/faq/pygtk/index.py?req=show&file=faq20.006.htp verás que usa el módulo threading (en vez de thread), con lo que el código resultante es bastante sencillo. aprovecho el correo para recomendar este FAQ de PyGTK [1], aunque seguramente ya habrá salido antes en la lista. Como cualquiera pueda editarlo -siempre que estés registrado-, el FAQ está siempre vivo, actualizado y creciendo con nuevas entradas. arnau [1] http://www.async.com.br/faq/pygtk/index.py?req=index camontuyu escribió: > OK, > > esa es la forma de crear un dialogo, pero yo quiero que se muestre > cuando se halla mostrado la ventana principal y mientras está este > dialogo realizar una serie de operaciones. El código que tengo sería > así. > > def main(self): > """ Ejectua la aplicación """ > # creamos el dialogo de cargar > d = DialogoConectar() > d.show() > > [Operaciones costosas] > > d.hide() > > gtk.main() > > con lo que no muestra nada hasta que no terminan las operaciones. > > Creando este código me ha surgido otra cuestión, ¿como puedo heredar de > un widget creando con el glade? > > class DialogoConectar(gtk.Dialog): > def __init__(self): > gtk.Widget.__init__(self) > > interfaz = gtk.glade.XML(defines.BASE_INTERFAZ, 'dialogConectar') > interfaz.signal_autoconnect(self) > > self = interfaz.get_widget('dialogConectar') > > def on_windowMain_destroy(self, ventana): > print "saliendo del dialogo!" > > > Supongo que lo que he puesto es una burrada, pero puede ser orientativo > para ver si van por ahy los tiros. > > Que me aconsejais? > > > El mié, 19-07-2006 a las 13:02 +0200, Arnau Sanchez escribió: >> camontuyu escribió: >> >>> Como podría hacer que después de que se cargase el formulario principal, >>> este lanzase un dialogo modal para por ejemplo mostrar un progreso? >>> (teniendo el formulario principal del fondo) ?? >> Se puede hacer de dos formas: >> >> 1) Creando el widget a mano (un dialog, por ejemplo), y llenándolo con los otros >> widgets que necesites. Ejemplo patatero: >> >> dialog = gtk.Dialog("Dialogo", main_app_window, gtk.DIALOG_MODAL | >> gtk.DIALOG_DESTROY_WITH_PARENT, (gtk.STOCK_CLOSE, gtk.RESPONSE_ACCEPT)) >> >> # usa mejor una función que lambda, pero lo pongo así para que quede compacto >> dialog.connect("response", lambda widget, response: widget.destroy()) >> vbox = gtk.VBox(False, 5) >> label = gtk.Label("Esto aparece encima de la barra de progreso") >> progress = gtk.ProgressBar() >> #progress.set_text("progreso") >> #progress.set_fraction(0.1) >> vbox.add(label) >> vbox.add(progress) >> dialog.vbox.add(vbox) >> dialog.show_all() >> >> (cuando quieras cerrar el dialogo: dialog.destroy()) >> >> 2) Creando el widget con glade (actívale la opción "modal" a esa ventana) y >> haciéndole un show() cuando quieras que se vea. Parece más fácil, pero esta >> opción también tiene sutilezas, si el usuario cierra la ventana se generará un >> destroy() y no podrá volver a usarse. Para evitarlo, debes capturar la señal >> "delete-event", y allí hacer un hide() del widget y un "return True"; con esto >> último le avisas a gtk que no quieres que destruya el widget, y entonces sí >> podrás volver a abrirlo. >> >> ... >> >> Hacer una barra de progreso implica seguramente tener tareas en segundo plano, >> lo que ya te decía que pueder ser complejo si son tus primeros pasos en pygtk, >> pero en fin, suerte. >> >> Si la tarea que se asocia a la barra de progreso tiene algo que ver con la >> lectura de ficheros/sockets, te puede ser útil esto: >> >> file:///usr/share/doc/python-gtk2-doc/html/gobject-functions.html#function-gobject--io-add-watch >> >> arnau >> _______________________________________________ >> Python-es mailing list >> Python-es en aditel.org >> http://listas.aditel.org/listinfo/python-es > > > > ______________________________________________ > LLama Gratis a cualquier PC del Mundo. > Llamadas a fijos y m?viles desde 1 c?ntimo por minuto. > http://es.voice.yahoo.com > > > ------------------------------------------------------------------------ > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From foton_1974 en ono.com Thu Jul 20 23:27:09 2006 From: foton_1974 en ono.com (Perico) Date: Thu, 20 Jul 2006 23:27:09 +0200 Subject: i18n pythoncard In-Reply-To: <2c9fb0dd0607191821n5ae8c0ebud6451fca3fbb1c40@mail.gmail.com> References: <4486435500021019@resmta04.ono.com> <2c9fb0dd0607191821n5ae8c0ebud6451fca3fbb1c40@mail.gmail.com> Message-ID: oks chema, muchas gracias por tu interés el problema es que la parte gráfica no me reconoce el _("cadena") para saber lo que tiene que traducir cuando se intenta lanzar el formulario me provoca un error y me para la ejecución cómo le indicas a python la zona que se debe de traducir? el resto de lo que me comentas creo tenerlo claro muchas gracias, seguimos en contacto pericO El 20/07/2006, a las 3:21, Chema Cortes escribió: > El 2006/7/19, foton_1974 en ono.com escribió: >> alguien sabe cómo hacer funcionar el i18n del entorno gráfico? >> en el archivo .py las traducciones me funcionan sin problemas >> >> en el entorno gráfico me es imposible >> >> he mirado enlaces sin conseguir nada de interés >> >> alguna idea? > > Es muy sencillo. El fichero de recursos lo renombras según este > esquema: > > .._.rsrc.py > > sería "gtk","win" o "mac", con lo se podría crear > versiones distintas según la plataforma donde se ejecute (por ejemplo, > usando una codificación de caracteres nativa para cada una). > > _ es el mismo formato con el que se trabaja con > "locales". Si se desea, se puede suprimir para poner sólo el > idioma. > > A partir de la platarforma de ejecución (wx.Platform) y del resultado > de locale.getdefaultlocale(), se busca el fichero de recusos que mejor > se adapte, según este orden de prioridad: > > .._.rsrc.py > ...rsrc.py > ._.rsrc.py > ..rsrc.py > ..rsrc.py > .rsrc.py > > > Por ejemplo, para una aplicación "miapp.py" se podría tener estos > ficheros: > > "miapp.rsrc" fichero de recursos general > "miapp.mac.rsrc" para macintosh > "miapp.es.rsrc" en español > "miapp.linux.es_MX.rsrc" en ruso para español de méxico > > Si estamos ejecutando la aplicación en linux localizado como es_ES > (español de España), el fichero de recursos que se usaría sería > "miapp.es.rsrc", ya que "miapp.linux.es_MX.rsrc" no coincide con la > localización, "miapp.mac.rsrc" no coincide con la plataforma, y > "miapp.rsrc" tiene menor prioridad. > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es Mientras el resto de países europeos conoce su diversidad faunística desde el siglo pasado, en España el desconocimiento es "enorme", a pesar de que es el país "con más biodiversidad del continente". CSIC. From wikier en asturlinux.org Thu Jul 20 23:54:38 2006 From: wikier en asturlinux.org (Sergio Fdez) Date: Thu, 20 Jul 2006 23:54:38 +0200 Subject: Problema de encoding covirtiendo string Message-ID: <1153432478.3988.3.camel@localhost.localdomain> Hola, supongo que sea un tema que ya se haya tratado en la lista, pero es que no lo he encontrado en los archivos. El tema es que me he topado con problema en varias conversiones de cadenas de iso a unicode. Me provoca, por ejemplo, una excepción de este tipo: 'ascii' codec can't decode byte 0xbf in position 13: ordinal not in range(128) ¿Alguna forma de prevenir este fallo...? Un saludo y muchas gracias por adelantado -- __ ___ _ _ \ \ / (_) |_(_)___ _ _ Sergio Fdez \ \/\/ /| | / / / -_) '_| GNU/LiNUX User: #298803 \_/\_/ |_|_\_\_\___|_| Web: http://www.wikier.org/ From pych3m4 en gmail.com Fri Jul 21 01:48:06 2006 From: pych3m4 en gmail.com (Chema Cortes) Date: Fri, 21 Jul 2006 01:48:06 +0200 Subject: Problema de encoding covirtiendo string In-Reply-To: <1153432478.3988.3.camel@localhost.localdomain> References: <1153432478.3988.3.camel@localhost.localdomain> Message-ID: <2c9fb0dd0607201648w19c326b4vae58e24c4d99424@mail.gmail.com> El 20/07/06, Sergio Fdez escribió: > supongo que sea un tema que ya se haya tratado en la lista, pero es que > no lo he encontrado en los archivos. > > El tema es que me he topado con problema en varias conversiones de > cadenas de iso a unicode. Me provoca, por ejemplo, una excepción de este > tipo: > > 'ascii' codec can't decode byte 0xbf in position 13: ordinal not in > range(128) Pues lo raro es que no hayas encontrado nada, porque como pregunta estaría entre las más frecuentes que se hacen en la lista: http://listas.aditel.org/archivos/python-es/2006-July/018200.html From pych3m4 en gmail.com Fri Jul 21 01:54:23 2006 From: pych3m4 en gmail.com (Chema Cortes) Date: Fri, 21 Jul 2006 01:54:23 +0200 Subject: i18n pythoncard In-Reply-To: References: <4486435500021019@resmta04.ono.com> <2c9fb0dd0607191821n5ae8c0ebud6451fca3fbb1c40@mail.gmail.com> Message-ID: <2c9fb0dd0607201654j3b5a82c3u9389e0fef5cfd2f7@mail.gmail.com> El 20/07/06, Perico escribió: > oks chema, muchas gracias por tu interés > el problema es que la parte gráfica no me reconoce el _("cadena") > para saber lo que tiene que traducir > cuando se intenta lanzar el formulario me provoca un error y me para > la ejecución > > cómo le indicas a python la zona que se debe de traducir? No creo que haya forma alguna de usar gettext dentro del diseñador de interfaces. Podrías intentar renombrar las cadenas desde el módulo principal o editar a mano el fichero de recursos en el momento que esté preparado para distribuirlo. From jcea en argo.es Fri Jul 21 03:39:45 2006 From: jcea en argo.es (Jesus Cea) Date: Fri, 21 Jul 2006 03:39:45 +0200 Subject: determinar el consumo de recursos (micro, memoria) de una aplicacion... (TG) In-Reply-To: <44A28F2F.6030001@arrakis.es> References: <1151497740.6973.2.camel@margus.ciudad.com.ar> <44A28F2F.6030001@arrakis.es> Message-ID: <44C03061.7070602@argo.es> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Marcos Sánchez Provencio wrote: > Lo más sencillo es usar top, no sé si te refieres a algo más complicado... > > Pero me adhiero a la pregunta, ¿hay manera de ver en qué se va la > memoria en un proceso? Por ejemplo, hice una web que generaba mapas y > cada vez que generaba uno, se comía 16MB. La solución (mala) fue pasarlo > a cgi, pero me he quedado con ganas de indagar qué pasaba realmente. Lo > mejor sería spacemonger > (http://www.werkema.com/software/spacemonger.html) pero para la ram que > gastan los objetos de Python. Depende qué quieras saber exactamente. Por ejemplo, en tu caso imagino que lo que te interesaba era tener una idea de qué objetos estaban copando la memoria. Una forma simple es tener una rutina que la llamas cuando quieras (por ejemplo, al terminar de procesar la peticion) y te muestra cuántas instancias de cada clase que hayas definido existen en este momento en memoria. Eso se hace de forma muy sencilla con un bucle sobre tus clases, usando "sys.getrefcount()" sobre cada clase. Ejemplo: """ class prueba(object) : pass a=[] for i in xrange(1000) : a.append(prueba()) import sys sys.getrefcount(prueba) """ Una vez qué sabes qué tipo de objetos copan tu memoria, puedes ver quien los referencia para que sigan existiendo tras terminar de procesar la petición. Te servirá "gc.get_referrers()" Ojo con las referencias circulares :-). Aunque las versiones de python modernas son capaces de liberarlas, solo lo hacen cuando no tienen más remedio, o haces una llamada explícita a "gc.collect()", que es lento. Procura evitar referencias circulares, o romper los ciclos explícitamente cuando no los necesites. Ojo también con tener pocos objetos propios pero que referencien gran cantidad de memoria. El ejemplo obvio son las cadenas de texto, grandes diccionarios, etc. - -- Jesus Cea Avion _/_/ _/_/_/ _/_/_/ jcea en argo.es http://www.argo.es/~jcea/ _/_/ _/_/ _/_/ _/_/ _/_/ jabber / xmpp:jcea en jabber.org _/_/ _/_/ _/_/_/_/_/ _/_/ _/_/ _/_/ _/_/ _/_/ "Things are not so easy" _/_/ _/_/ _/_/ _/_/ _/_/ _/_/ "My name is Dump, Core Dump" _/_/_/ _/_/_/ _/_/ _/_/ "El amor es poner tu felicidad en la felicidad de otro" - Leibniz -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2.2 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iQCVAwUBRMAwYZlgi5GaxT1NAQIR4QP+JtbgDTRpoG+pd8dCVZlhLMWfqUUlV8K3 PYPKy9Advkgw/VsjTwv5DbV6vk/RYTdrhc1U57PLMur9yOKN5Am1ETc1PeO5lmqq kvknNfmv60yH6lPKPyTZPuo2qKprYTmh1egaz51hubIQaf+j9p7F6axbeAbtlgSF L01oEOsDWEo= =4TJR -----END PGP SIGNATURE----- ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From emmunoz en estudiantes.uci.cu Fri Jul 21 03:47:16 2006 From: emmunoz en estudiantes.uci.cu (=?iso-8859-1?Q?Ernesto_Miguel_Mu=F1oz_Gonzalez?=) Date: Thu, 20 Jul 2006 21:47:16 -0400 Subject: Background en Widgets de Gtk References: <20060720235438.B758A147025B@devnull.aditel.org> Message-ID: <090BCFF87A1DAB4AA2B1DC2D58A0D657023EB333@ucixs90.uci.cu> Hola: He logrado poner una imagen de background en un gtk.Window pero despues que le inserto un gtk.IconView me la tapa, la pregunta es la siguiente: "Hay alguna manera de que yo pueda poner una imagen en un IconView????" PD> No dedusco que sea imposible porque si no .. como Nautilus lo hace??? Saludos... ------------------------------------------ http://golden-wings.blogspot.com ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From alejandro.novo en gmail.com Fri Jul 21 10:11:04 2006 From: alejandro.novo en gmail.com (Alejandro Novo) Date: Fri, 21 Jul 2006 10:11:04 +0200 Subject: Busqueda Parcial con Tuplas como Clave de Diccionario Message-ID: <2bd0a6950607210111j6265909dk2f17391c27fb135f@mail.gmail.com> Buenos días, en mi caso tengo una lista y un diccionario, donde el diccionario tiene como claves una tupla. Cada tupla solo tiene un elemento relevante para mi búsqueda (el 2º como podéis ver en la lista ejemplo) y lo que necesito es recorrer el diccionario y recoger todos los valores donde el elemento de mi lista inicial aparezca en la clave. Por ejemplo: d = {('a', 'b'): ['1', '2', '3'], ('e', 'f'): ['8', '9', '10'], ('z', 'f'): ['11', '12', '13'], ('c', 'd'): ['5', '6', '7']} l = ['b', 'd', 'f'] for elem in d: for elem2 in l: if elem2 in elem: if elem2 not in dAux: dAux[elem2]=[] dAux[elem2].append(d[elem]) else: dAux[elem2].append(d[elem]) Lo que me revolvería lo que busco: dAux = {'b': [['1', '2', '3']], 'd': [['5', '6', '7']], 'f': [['8', '9', '10'], ['11', '12', '13']]} Pero esta forma es lentísima para mi caso, donde los diccionarios son de tamaño considerable, así como la lista. Muchas gracias de antemano. Un saludo. From arnau en ehas.org Fri Jul 21 12:19:07 2006 From: arnau en ehas.org (Arnau Sanchez) Date: Fri, 21 Jul 2006 12:19:07 +0200 Subject: Busqueda Parcial con Tuplas como Clave de Diccionario In-Reply-To: <2bd0a6950607210111j6265909dk2f17391c27fb135f@mail.gmail.com> References: <2bd0a6950607210111j6265909dk2f17391c27fb135f@mail.gmail.com> Message-ID: <44C0AA1B.20301@ehas.org> Alejandro, Primero, tu bucle quedaría mucho más compacto usando una list comprehension: dAux = {} for lx in l: dAux[lx] = [d[x] for x in d if lx in x] En cuanto a velocidad, seguramente así vaya un poco más rápido, pero la diferencia no será sustancial. Si quieres que realmente vaya mucho más rápido, tendrías que generar estructuras auxiliares antes de la búsqueda. Por ejemplo, podrías generar este diccionario: de {('a', 'b'): ['1', '2', '3']} ... podrías sacar {'a': ['1', '2', '3'] 'b': ['1', '2', '3'] ... } y luego, al recorrer este diccionario la búsqueda sería seguro mucho más ágil. La forma de encarar el problema depende de muchas cosas, de la naturaleza de los datos, cuándo los obtienes, si estos se van modificando o son estáticos, etc. Pero al final, la idea es básicamente la misma, trata tus datos antes de entrar en el algoritmo de búsqueda. nos cuentas arnau Alejandro Novo escribió: > Buenos días, > > en mi caso tengo una lista y un diccionario, donde el diccionario tiene > como > claves una tupla. Cada tupla solo tiene un elemento relevante para mi > búsqueda (el 2º como podéis ver en la lista ejemplo) y lo que necesito es > recorrer el diccionario y recoger todos los valores donde el elemento de mi > lista inicial aparezca en la clave. Por ejemplo: > > d = {('a', 'b'): ['1', '2', '3'], ('e', 'f'): ['8', '9', '10'], ('z', 'f'): > ['11', '12', '13'], ('c', 'd'): ['5', '6', '7']} > l = ['b', 'd', 'f'] > > for elem in d: > for elem2 in l: > if elem2 in elem: > if elem2 not in dAux: > dAux[elem2]=[] > dAux[elem2].append(d[elem]) > else: > dAux[elem2].append(d[elem]) > > Lo que me revolvería lo que busco: > > dAux = {'b': [['1', '2', '3']], 'd': [['5', '6', '7']], 'f': [['8', '9', > '10'], ['11', '12', '13']]} > > Pero esta forma es lentísima para mi caso, donde los diccionarios son de > tamaño considerable, así como la lista. > > Muchas gracias de antemano. > > Un saludo. > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > > From alexis.roda en urv.net Fri Jul 21 12:44:53 2006 From: alexis.roda en urv.net (SER.RI-TIC-Alexis Roda) Date: Fri, 21 Jul 2006 12:44:53 +0200 Subject: Busqueda Parcial con Tuplas como Clave de Diccionario In-Reply-To: <2bd0a6950607210111j6265909dk2f17391c27fb135f@mail.gmail.com> References: <2bd0a6950607210111j6265909dk2f17391c27fb135f@mail.gmail.com> Message-ID: <44C0B025.30100@urv.net> Alejandro Novo wrote: > Buenos días, > > en mi caso tengo una lista y un diccionario, donde el diccionario tiene > como > claves una tupla. Cada tupla solo tiene un elemento relevante para mi > búsqueda (el 2º como podéis ver en la lista ejemplo) siempre es el segundo o solo en el ejemplo? si siempre es el segundo puedes evitar el segundo for, definiendo elem2 = elem[1] y lo que necesito es > recorrer el diccionario y recoger todos los valores donde el elemento de mi > lista inicial aparezca en la clave. Por ejemplo: > > d = {('a', 'b'): ['1', '2', '3'], ('e', 'f'): ['8', '9', '10'], ('z', 'f'): > ['11', '12', '13'], ('c', 'd'): ['5', '6', '7']} > l = ['b', 'd', 'f'] > > for elem in d: > for elem2 in l: > if elem2 in elem: > if elem2 not in dAux: > dAux[elem2]=[] > dAux[elem2].append(d[elem]) > else: > dAux[elem2].append(d[elem]) Dependiendo de los datos que tengas esto podria ser mas rapido: l = dict.fromkeys(l) for elem in d: for elem2 in elem: if elem2 in l: dAux.setdefault(elem2, []).append(d[elem]) obtienes dos beneficios: * evitas iterar sobre *toda* la lista l en cada iteracion del bucle externo * al convertir l en un diccionario la comprobacion 'elem2 in l' se calcula en tiempo constante. si la longitud media de las claves es menor que la longitud de l este algoritmo sera mas rapido. Otra cosa, es posible que una clave contenga dos elementos de l, por ejemplo ('b', 'd')? Si la respuesta es 'no' podrias forzar la finalizacion del bucle interno con un break una vez verificado que elem2 esta en l. Saludos -- ^X^C Alexis Roda Universitat Rovira i Virgili Reus, Tarragona (Spain) From javi.pacheco en terra.es Fri Jul 21 13:02:11 2006 From: javi.pacheco en terra.es (javi pacheco) Date: Fri, 21 Jul 2006 13:02:11 +0200 Subject: Quitar ventana de MSDOS en windows Message-ID: <1153479731.8071.2.camel@javielinux-desktop> Hola a todos: Estoy haciendo un programa en python y tengo un problema. Estoy usando PYGTK. No se pq pero de vez en cuando trabajo en una ventana de diálogo y saco alertas, al cerrar la ventana de diálogo para que se vea la ventana principal de la aplicación se me pone delante la "ventana negra" de msdos y es muy molesto. La cosa es que me gustaría eliminarla. Cuando ejecuto el archivo .py ejecuta la ventana de MSDOS y luego el programa ¿como puedo hacer para que salga del tirón la ventana en pygtk? gracias ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From alexis.roda en urv.net Fri Jul 21 14:28:39 2006 From: alexis.roda en urv.net (SER.RI-TIC-Alexis Roda) Date: Fri, 21 Jul 2006 14:28:39 +0200 Subject: Quitar ventana de MSDOS en windows In-Reply-To: <1153479731.8071.2.camel@javielinux-desktop> References: <1153479731.8071.2.camel@javielinux-desktop> Message-ID: <44C0C877.4090402@urv.net> javi pacheco wrote: > Hola a todos: > > Estoy haciendo un programa en python y tengo un problema. Estoy usando > PYGTK. No se pq pero de vez en cuando trabajo en una ventana de diálogo > y saco alertas, al cerrar la ventana de diálogo para que se vea la > ventana principal de la aplicación se me pone delante la "ventana negra" > de msdos y es muy molesto. > > La cosa es que me gustaría eliminarla. Cuando ejecuto el archivo .py > ejecuta la ventana de MSDOS y luego el programa > > ¿como puedo hacer para que salga del tirón la ventana en pygtk? necesitas la ventana DOS (muestra un log por ejemplo) o puedes prescindir de ella? Sl. -- ^X^C Alexis Roda Universitat Rovira i Virgili Reus, Tarragona (Spain) ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From alatar en auna.com Fri Jul 21 15:08:46 2006 From: alatar en auna.com (Alatar) Date: Fri, 21 Jul 2006 15:08:46 +0200 Subject: Quitar ventana de MSDOS en windows References: <1153479731.8071.2.camel@javielinux-desktop> <44C0C877.4090402@urv.net> Message-ID: <001c01c6acc6$cd69c180$6401a8c0@edhellond> Renombra tu archivo "loquesea.py" a "loquesea.pyw" ----- Original Message ----- From: "SER.RI-TIC-Alexis Roda" To: "La lista de python en castellano" Sent: Friday, July 21, 2006 2:28 PM Subject: Re: [Python-es] Quitar ventana de MSDOS en windows > javi pacheco wrote: >> Hola a todos: >> >> Estoy haciendo un programa en python y tengo un problema. Estoy usando >> PYGTK. No se pq pero de vez en cuando trabajo en una ventana de diálogo >> y saco alertas, al cerrar la ventana de diálogo para que se vea la >> ventana principal de la aplicación se me pone delante la "ventana negra" >> de msdos y es muy molesto. >> >> La cosa es que me gustaría eliminarla. Cuando ejecuto el archivo .py >> ejecuta la ventana de MSDOS y luego el programa >> >> ¿como puedo hacer para que salga del tirón la ventana en pygtk? > > necesitas la ventana DOS (muestra un log por ejemplo) o puedes > prescindir de ella? > > > > > Sl. > -- > ^X^C > > Alexis Roda > Universitat Rovira i Virgili > Reus, Tarragona (Spain) > > -------------------------------------------------------------------------------- _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From cescd en yahoo.com.mx Fri Jul 21 15:34:23 2006 From: cescd en yahoo.com.mx (Cesar Cardenas Desales) Date: Fri, 21 Jul 2006 08:34:23 -0500 (CDT) Subject: Quitar ventana de MSDOS en windows In-Reply-To: <1153479731.8071.2.camel@javielinux-desktop> References: <1153479731.8071.2.camel@javielinux-desktop> Message-ID: <20060721133423.35141.qmail@web50403.mail.yahoo.com> Cambia la extension del archivo de .py a .pyw --- javi pacheco escribió: > Hola a todos: > > Estoy haciendo un programa en python y tengo un > problema. Estoy usando > PYGTK. No se pq pero de vez en cuando trabajo en una > ventana de diálogo > y saco alertas, al cerrar la ventana de diálogo para > que se vea la > ventana principal de la aplicación se me pone > delante la "ventana negra" > de msdos y es muy molesto. > > La cosa es que me gustaría eliminarla. Cuando > ejecuto el archivo .py > ejecuta la ventana de MSDOS y luego el programa > > ¿como puedo hacer para que salga del tirón la > ventana en pygtk? > > gracias > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > ___________________________________________________________ Do You Yahoo!? La mejor conexión a Internet y 2GB extra a tu correo por $100 al mes. http://net.yahoo.com.mx From cabrerachaparro en gmail.com Fri Jul 21 18:15:58 2006 From: cabrerachaparro en gmail.com (Daniel Cabrera) Date: Fri, 21 Jul 2006 11:15:58 -0500 Subject: OT Sentencia SQL para obtener un valor Message-ID: <8565ad90607210915g6a76f60erefd1d9c78b336e61@mail.gmail.com> Hola, alguien sabe si hay alguna funcion en SQL que me devuelva el valor del primer caracter de un campo? Algo asi como Select Left(,1) As Caracter From Tabla Gracias -- Daniel Cabrera Chaparro From cescd en yahoo.com.mx Fri Jul 21 18:47:25 2006 From: cescd en yahoo.com.mx (Cesar Cardenas Desales) Date: Fri, 21 Jul 2006 11:47:25 -0500 (CDT) Subject: OT Sentencia SQL para obtener un valor In-Reply-To: <8565ad90607210915g6a76f60erefd1d9c78b336e61@mail.gmail.com> References: <8565ad90607210915g6a76f60erefd1d9c78b336e61@mail.gmail.com> Message-ID: <20060721164725.26117.qmail@web50404.mail.yahoo.com> SUBSTR(cad,m,n) Devuelve la sudcadena de cad compuesta por n caracteres a partir de la posicion m. select substr('ABCDEFG',3,2) from dual; --- Daniel Cabrera escribió: > Hola, > alguien sabe si hay alguna funcion en SQL que me > devuelva el valor del > primer caracter de un campo? > Algo asi como Select Left(,1) As > Caracter From Tabla > > Gracias > > -- > Daniel Cabrera Chaparro > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > ___________________________________________________________ Do You Yahoo!? La mejor conexión a Internet y 2GB extra a tu correo por $100 al mes. http://net.yahoo.com.mx From hernan en orgmf.com.ar Fri Jul 21 18:54:42 2006 From: hernan en orgmf.com.ar (Hernan Martinez Foffani) Date: Fri, 21 Jul 2006 18:54:42 +0200 Subject: OT Sentencia SQL para obtener un valor In-Reply-To: <8565ad90607210915g6a76f60erefd1d9c78b336e61@mail.gmail.com> References: <8565ad90607210915g6a76f60erefd1d9c78b336e61@mail.gmail.com> Message-ID: <11fab4bc0607210954p1e214e8p715fac84dc86b792@mail.gmail.com> > alguien sabe si hay alguna funcion en SQL que me devuelva el valor del > primer caracter de un campo? > Algo asi como Select Left(,1) As Caracter From Tabla Depende del gestor de base de datos. Oracle: SUBSTR(, 1, 1) SQLServer: SUBSTRING(, 1, 1) MySQL: LEFT(, 1) o también SUBSTR. etc... -H. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From camontuyu en yahoo.es Fri Jul 21 18:54:21 2006 From: camontuyu en yahoo.es (camontuyu) Date: Fri, 21 Jul 2006 18:54:21 +0200 Subject: Cambiar label al gtk.ImageMenuItem Message-ID: <1153500861.31188.3.camel@cpuppktp> Hola, tengo un menú con sus MenuItem de terminados y me gustaría saber como puedo cambiar el label de una entrada del menú determinada. Mirando la referencia: http://www.pygtk.org/pygtk2reference/class-gtkimagemenuitem.html veo que tiene un método def set_image(image) pero no veo ninguno para cambiar el label. Tampoco en sus padres. Hay alguna forma de cambiar esto dinamicamente? Gracias ______________________________________________ LLama Gratis a cualquier PC del Mundo. Llamadas a fijos y móviles desde 1 céntimo por minuto. http://es.voice.yahoo.com ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From pych3m4 en gmail.com Fri Jul 21 20:04:20 2006 From: pych3m4 en gmail.com (Chema Cortes) Date: Fri, 21 Jul 2006 20:04:20 +0200 Subject: Busqueda Parcial con Tuplas como Clave de Diccionario In-Reply-To: <2bd0a6950607210111j6265909dk2f17391c27fb135f@mail.gmail.com> References: <2bd0a6950607210111j6265909dk2f17391c27fb135f@mail.gmail.com> Message-ID: <2c9fb0dd0607211104m168be802gc5190af05fe234f9@mail.gmail.com> El 2006/7/21, Alejandro Novo escribió: > en mi caso tengo una lista y un diccionario, donde el diccionario tiene como > claves una tupla. Cada tupla solo tiene un elemento relevante para mi > búsqueda (el 2º como podéis ver en la lista ejemplo) y lo que necesito es > recorrer el diccionario y recoger todos los valores donde el elemento de mi > lista inicial aparezca en la clave. Por ejemplo: > > d = {('a', 'b'): ['1', '2', '3'], ('e', 'f'): ['8', '9', '10'], ('z', 'f'): > ['11', '12', '13'], ('c', 'd'): ['5', '6', '7']} > l = ['b', 'd', 'f'] > > for elem in d: > for elem2 in l: > if elem2 in elem: > if elem2 not in dAux: > dAux[elem2]=[] > dAux[elem2].append(d[elem]) > else: > dAux[elem2].append(d[elem]) > > Lo que me revolvería lo que busco: > > dAux = {'b': [['1', '2', '3']], 'd': [['5', '6', '7']], 'f': [['8', '9', > '10'], ['11', '12', '13']]} > > Pero esta forma es lentísima para mi caso, donde los diccionarios son de > tamaño considerable, así como la lista. No me hago a la idea para qué quieres ésto y puede que no te resuelva nada, pero ante la situación que planteas yo lo haría así: dAux_iter=( (y,v) for ((x,y),v) in d.items() if y in l) Usando este iterador no necesitarías crear un nuevo diccionario, algo que se agradece si se tratan de grandes diccionarios. Si no te sirve, es fácil generar el diccionario auxiliar: dAux=dict(dAux_iter) From dpcesar en gmail.com Fri Jul 21 22:36:47 2006 From: dpcesar en gmail.com (=?ISO-8859-1?Q?C=E9sar_Hern=E1ndez?=) Date: Fri, 21 Jul 2006 16:36:47 -0400 Subject: Cargar Arbol In-Reply-To: <24c049a70607191111s407ea702s7e9194224d107e9@mail.gmail.com> References: <24c049a70607181346r7491ee45scff9361cf3a7f6e9@mail.gmail.com> <771741b20607182038x6fdc255dx6ea50a077fe1fbb2@mail.gmail.com> <24c049a70607191111s407ea702s7e9194224d107e9@mail.gmail.com> Message-ID: <24c049a70607211336w4312274fh6940d6227d54b291@mail.gmail.com> Saludos, Aun no asimilo completamente el entorno de desarrollo python-wxglade-wxpython continuo si poder encontrar solución al problema de treeview, solocito sus buenos oficios para me ayuden entender porque no puedo ver el treeview que cargo en la class TestTree en el espacio del sizer que definido en wxGlade sobre el wigets self.arbol = wx.TreeCtrl(self, -1, style= wx.TR_HAS_BUTTONS|wx.TR_LINES_AT_ROOT|wx.TR_DEFAULT_STYLE|wx.SUNKEN_BORDER) gracias From sergio en wikier.org Thu Jul 20 23:24:22 2006 From: sergio en wikier.org (Sergio Fdez) Date: Thu, 20 Jul 2006 23:24:22 +0200 Subject: Problema de encoding Message-ID: <1153430662.3940.2.camel@localhost.localdomain> Hola, supongo que sea un tema que ya haya salido alguna vez en la lista, pero no lo he encontrado entre los archivos. El caso es que tengo un problema al _intentar_ pasar algunas cadenas a unicode. Me devuelve, por ejemplo, la siguiente excepción: Error proccesing message 4: 'ascii' codec can't decode byte 0xbf in position 13: ordinal not in range(128) ¿Alguna forma de prevenirlo? Un saludo y muchas gracias por anticipado -- __ ___ _ _ \ \ / (_) |_(_)___ _ _ Sergio Fdez \ \/\/ /| | / / / -_) '_| GNU/LiNUX User: #298803 \_/\_/ |_|_\_\_\___|_| Web: http://www.wikier.org/ From jejoar en cantv.net Tue Jul 18 23:01:47 2006 From: jejoar en cantv.net (jesus albarran) Date: Tue, 18 Jul 2006 17:01:47 -0400 Subject: pysqlite Message-ID: <1153256507.6279.6.camel@localhost> Estoy tratando de instalar pysqlite en Mandriva 2006 pero al dar $python setup.py build me sale un error con "microprotocols.h" diciendo que "no existe o no lo encuentra" y resulta que el tal archivo SI esta ahi. He intentado varias formas para que lo vea y no lo logro y estoy a punto de mirar a mysql. Mucho agradeceria cualesquier ayuda. Gracias de antemano. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From rapto en arrakis.es Sat Jul 22 11:08:51 2006 From: rapto en arrakis.es (Marcos =?ISO-8859-1?Q?S=E1nchez?= Provencio) Date: Sat, 22 Jul 2006 11:08:51 +0200 Subject: Problema de encoding In-Reply-To: <1153430662.3940.2.camel@localhost.localdomain> References: <1153430662.3940.2.camel@localhost.localdomain> Message-ID: <1153559332.5955.10.camel@localhost.localdomain> Esta pregunta ya está respondida. Aprovecho este mensaje para dar un par de consejos: * Si usáis varias cuentas para enviar mensajes, conviene que os suscribáis con todas ellas para quitar trabajo a los administradores y asegurar que las preguntas llegan rápidamente. Si no queréis recibir los mensajes de la lista en alguna de las cuentas, se puede ajustar eso en las preferencias. * Si enviáis un mensaje y queda retenido, por favor, no lo dejéis tirado. O esperáis a que entre el mensaje o lo canceláis. Si no, es posible que el administrador de la lista le dé paso finalmente y acabe duplicado. Hala, se acabó el rollo por hoy. From pych3m4 en gmail.com Sat Jul 22 12:25:41 2006 From: pych3m4 en gmail.com (Chema Cortes) Date: Sat, 22 Jul 2006 12:25:41 +0200 Subject: Busqueda Parcial con Tuplas como Clave de Diccionario In-Reply-To: <2c9fb0dd0607211104m168be802gc5190af05fe234f9@mail.gmail.com> References: <2bd0a6950607210111j6265909dk2f17391c27fb135f@mail.gmail.com> <2c9fb0dd0607211104m168be802gc5190af05fe234f9@mail.gmail.com> Message-ID: <2c9fb0dd0607220325h3a66ad01p9091ef6a229f614f@mail.gmail.com> El 2006/7/21, Chema Cortes escribió > yo lo haría así: > > dAux_iter=( (y,v) for ((x,y),v) in d.items() if y in l) > > Usando este iterador no necesitarías crear un nuevo diccionario, algo > que se agradece si se tratan de grandes diccionarios. Si no te sirve, > es fácil generar el diccionario auxiliar: > > dAux=dict(dAux_iter) Aún se podría hacer mejor: dAux_iter=( (y,v) for ((x,y),v) in d.iteritems() if y in l) En la versión anterior, d.items() estaba creando una lista tan enorme como el diccionario original. From h2o_tincho en keko.com.ar Sat Jul 22 15:35:53 2006 From: h2o_tincho en keko.com.ar (h2o_tincho en keko.com.ar) Date: Sat, 22 Jul 2006 10:35:53 -0300 Subject: Problemas de Encoding! Message-ID: <1153575353.44c229b9b4e30@webmail.keko.com.ar> para solucionar ese problema de encoding debes hacer lo siguiente crear un archivo llamado sitecustomize.py que debe tener el siguiente aspecto # This file must be inside python's /usr/lib/python2.x/site-packages/ import sys sys.setdefaultencoding('iso8859-15') recuerda que debes poner el archivo en el path donde estan las libs ahi esta bien claro! bueno espero k con esto soluciones tu problema ! salu2 AdioS! ~TinChO~ ------------------------------------------------- ¿Todavía no navegás con Keko? Hacé click aquí: http://www.keko.com.ar From sonajadiabolica en gmail.com Sat Jul 22 16:12:51 2006 From: sonajadiabolica en gmail.com (aNgel rEsendiz g.) Date: Sat, 22 Jul 2006 09:12:51 -0500 Subject: pysqlite In-Reply-To: <1153256507.6279.6.camel@localhost> References: <1153256507.6279.6.camel@localhost> Message-ID: <8d9e208f0607220712m21f7da5dy4c9b6438d9dfa31c@mail.gmail.com> Que tal. Seria buano que pegaras aquí el error completo, muchas veces no es el archivo, sino un enlace, permisos, etc, y el error completo es el que puede dar las pistas. Saludos. On 7/18/06, jesus albarran wrote: > Estoy tratando de instalar pysqlite en Mandriva 2006 pero al dar > $python setup.py build me sale un error con "microprotocols.h" > diciendo que "no existe o no lo encuentra" y resulta que el tal archivo > SI esta ahi. He intentado varias formas para que lo vea y no lo logro y > estoy a punto de mirar a mysql. Mucho agradeceria cualesquier ayuda. > Gracias de antemano. > > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > > > -- aNgel rEsendiz.! From xavier.torello en gmail.com Sat Jul 22 16:34:35 2006 From: xavier.torello en gmail.com (=?ISO-8859-1?Q?Xavier_Torell=F3?=) Date: Sat, 22 Jul 2006 16:34:35 +0200 Subject: pysqlite In-Reply-To: <8d9e208f0607220712m21f7da5dy4c9b6438d9dfa31c@mail.gmail.com> References: <1153256507.6279.6.camel@localhost> <8d9e208f0607220712m21f7da5dy4c9b6438d9dfa31c@mail.gmail.com> Message-ID: <3b74d46f0607220734h640efd97ta6986a44f735f5c0@mail.gmail.com> Si el archivo existe, pero no te lo reconoze casi seguro que se trate de problema de permisos. Verifica que el archivo en question tenga permisos de ejecución. De todas formas, tal y como dice aNgel, mira el error completo -- Xavier Torelló From carles en pina.cat Sat Jul 22 16:08:20 2006 From: carles en pina.cat (Carles Pina i Estany) Date: Sat, 22 Jul 2006 16:08:20 +0200 Subject: path relativo entre dos directorios Message-ID: <20060722140820.GA7202@pinux.info> Hola, Cual es la manera más sencilla de tener el path relativo entre dos directorios? Por ejemplo, tener: destino: /etc/samba origen: /home/carles/down resultado: ../../../etc/samba (y que sea óptimo, es decir, con el mínimo número de .. posibles...) Si hace falta usar funciones de Qt podria hacerlo, preferiria sólo con Python. He estado mirando los módulos os y demás a ver si veía algo y sólo se me ocurre hacerlo bastante a manita. Gracias! -- Carles Pina i Estany GPG id: 0x8CBDAE64 http://pinux.info Manresa - Barcelona From alexis.roda.villalonga en gmail.com Sat Jul 22 19:53:36 2006 From: alexis.roda.villalonga en gmail.com (Alexis Roda) Date: Sat, 22 Jul 2006 19:53:36 +0200 Subject: path relativo entre dos directorios In-Reply-To: <20060722140820.GA7202@pinux.info> References: <20060722140820.GA7202@pinux.info> Message-ID: <44C26620.2090003@gmail.com> En/na Carles Pina i Estany ha escrit: > Hola, > > Cual es la manera más sencilla de tener el path relativo entre dos > directorios? elimina el prefijo común y luego añade tantos .. como la longitud del origen restante: origen: /home/carles/a/b/c -> b/c -> longitud 2 destino: /home/carles/a/d/e -> d/e ../../d/e origen: /home/carles/a -> -> longitud 0 destino: /home/carles/a/d/e -> d/e d/e origen: /home/carles/down -> /home/carles/down -> longitud 3 destino: /etc/samba -> /etc/samba ../../../etc/samba seria algo asi: from itertools import izip def relatiu(orig, desti) : o = orig.split('/')[1:] d = desti.split('/')[1:] for n, (i, j) in enumerate(izip(o, d)) : if i != j : break if n + 1 == len(o) : n += 1 return '../' * (len(o) - n) + '/'.join(d[n:]) Saludos From carles en pina.cat Sat Jul 22 23:33:35 2006 From: carles en pina.cat (Carles Pina i Estany) Date: Sat, 22 Jul 2006 23:33:35 +0200 Subject: path relativo entre dos directorios In-Reply-To: <44C26620.2090003@gmail.com> References: <20060722140820.GA7202@pinux.info> <44C26620.2090003@gmail.com> Message-ID: <20060722213335.GA16271@pinux.info> Hola, On Jul/22/2006, Alexis Roda wrote: > En/na Carles Pina i Estany ha escrit: > >Hola, > > > >Cual es la manera más sencilla de tener el path relativo entre dos > >directorios? > > elimina el prefijo común y luego añade tantos .. como la longitud del > origen restante: gracias, habia pensado esto pero no lo habia hecho -pensé que quizás habría algo aún más fácil/probado Mañana o más tarde lo uso :-) -- Carles Pina i Estany GPG id: 0x8CBDAE64 http://pinux.info Manresa - Barcelona From pretoriano_2001 en hotmail.com Sat Jul 22 22:04:44 2006 From: pretoriano_2001 en hotmail.com (Vizcayno Gironas) Date: Sat, 22 Jul 2006 16:04:44 -0400 Subject: Python 2.5b2 - Compilador C/C++ Message-ID: Hola: Estuve haciendo algunas pruebas con esta nueva versión y su integración con otros módulos externos que, necesariamente requieren del compilador C/c++ de VS2003, yo trabajo con WinXP y cuando quiero obtener dicho compilador del sitio de MS ya no es posible y ahora que lo pienso, ¡tampoco podré compilar esos módulos para Python 2.4!. Existe el compilador GCC pero tengo algunos problemas y la verdad no me convence. ¿Alguno de vs. experimentó algo parecido? y a propósito, ¿con qué compilador es generado el binario para Windows de Python25b2? Muchas gracias por su atención. Saludos. _________________________________________________________________ MSN Amor: busca tu ½ naranja http://latam.msn.com/amor/ From pych3m4 en gmail.com Sun Jul 23 04:57:29 2006 From: pych3m4 en gmail.com (Chema Cortes) Date: Sun, 23 Jul 2006 04:57:29 +0200 Subject: Python 2.5b2 - Compilador C/C++ In-Reply-To: References: Message-ID: <2c9fb0dd0607221957s2c416b73j77d6d464b33e2ebb@mail.gmail.com> El 22/07/06, Vizcayno Gironas escribió: > Estuve haciendo algunas pruebas con esta nueva versión y su integración con > otros módulos externos que, necesariamente requieren del compilador C/c++ de > VS2003, yo trabajo con WinXP y cuando quiero obtener dicho compilador del > sitio de MS ya no es posible y ahora que lo pienso, ¡tampoco podré compilar > esos módulos para Python 2.4!. Existe el compilador GCC pero tengo algunos > problemas y la verdad no me convence. Es lo que hay. VS es necesario para poder usar la librería MFC de Microsoft, y mientras tanto no se puede usar otra alternativa. Para crear extensiones, se pueden hacer bastante bien con MinGW (versión GCC para windows) y MSYS para generar los makes. No dices porqué no ten convence esta solución, pero por si no lo has mirado bien: http://www.mingw.org/MinGWiki/index.php/Python%20extensions > ¿Alguno de vs. experimentó algo parecido? y a propósito, ¿con qué compilador > es generado el binario para Windows de Python25b2? He probado algunas cosas y saltan multitud de incompatibilidades cuando quieres combinar librerías compiladas con distintos compiladores y versiones. Hay veces que se organizan auténticos desastres. No va a quedar más narices que compilarlo todo con VS.2005, a no ser que salgan suficientes voluntarios que se propongan hacer funcionar en alguna alternativa. Y cuando digo que hay que usar VS.2005, me refiero a tener que comprarlo. Gratis, en windows, sólo va a quedar el poder compilar extensiones para cygwin. From cazabal en gmail.com Sun Jul 23 19:17:32 2006 From: cazabal en gmail.com (waldorf) Date: Sun, 23 Jul 2006 19:17:32 +0200 Subject: Canvas Message-ID: Hola. Usando objetos de Canvas en Tkinter .¿Pueden determinarse las coordenadas de la intersección de dos objetos conocidas sus tags? Por ejemplo el ovalo 'a' y el segmento 'c' se cortan: ¿puede determinarse el punto de corte sin necesidad de conocer sus ecuaciones? Gracias From carlosfvo en gmail.com Mon Jul 24 00:39:32 2006 From: carlosfvo en gmail.com (carlos villa) Date: Sun, 23 Jul 2006 17:39:32 -0500 Subject: Problema con grab_focus ( ) Message-ID: <629497540607231539x562aaa3flcb7a7de1612547ee@mail.gmail.com> buenas tardes me urge ayuda estoy trabajando glade - python2.4 me explico como funciona tengo el evento focus_out_event de un text Entry en el cual valido que lo que inserten sea un digito self.texto.isdigit() si esto no es un digito entonces me muestra una ventana de error la cual llamo : dialogo_error(self.wndow_atntccion_mdfcar_grupo, 'El dato debe ser un Digito') despues ejecuto un grab_focus para que no deje cambiar cambiar a otra entrada de texto sin antes escribir el dato correcto el cual debe ser un digito. mi problema esque al parecer por funcionamiento del focus_out_event mi ventana de error se dispara 2 veces y por lo tanto se muestra 2 veces en patalla, y no se que hacer para que el focus_out_event no me dispare 2 veces la señal creo que el erro esta ahi. si no es asi por favor diganme si hay otra forma de evitar que se cambie a otro entry sin antes haber digitado en tipo de dato correcto el usuario si me pueden ayudar agradeceria mucho. aqui esta la parte del codigo: def on_txte_mdfcar_grupo_cntdad_usrios_focus_out_event (self, widget, data=None): self.texto = self.txte_mdfcar_grupo_cntdad_usrios.get_text() if not self.texto.isdigit(): print 'NO digito' dialogo_error(self.wndow_atntccion_mdfcar_grupo, 'El dato debe ser un Digito') self.txte_mdfcar_grupo_cntdad_usrios.grab_focus() From arnau en ehas.org Mon Jul 24 01:29:24 2006 From: arnau en ehas.org (Arnau Sanchez) Date: Mon, 24 Jul 2006 01:29:24 +0200 Subject: Problema con grab_focus ( ) In-Reply-To: <629497540607231539x562aaa3flcb7a7de1612547ee@mail.gmail.com> References: <629497540607231539x562aaa3flcb7a7de1612547ee@mail.gmail.com> Message-ID: <44C40654.6000808@ehas.org> Carlos, Eso de abrir una ventana modal y ejecutar un grab_focus() dentro de un manejador de "focus-out", así, todo de golpe, no suena muy bien, no es raro que no funcione... no sólo es que te salga más de una ventana, sino que es muy probable que la aplicación se cuelgue. Una solución sería mostrar la ventana modal con show() (no con run()), capturar las señales correspondientes a "response" y "delete-event", y en el manejador, además de destruir la ventana, darle el foco del entry. def response(widget, arg, entry): entry.grab_focus() widget.destroy() def on_focus_out(widget, event, entry): text = widget.get_text() if text.isdigit(): return message = gtk.MessageDialog(None, gtk.DIALOG_MODAL, gtk.MESSAGE_WARNING, gtk.BUTTONS_OK, "Dato incorrecto") message.connect("delete-event", response, entry) message.connect("response", response, entry) message.show() Dicho esto, y ya que estamos con el tema, a mi particularmente me molestaría mucho que una aplicación no me permitiera cambiar el foco (pasar a otra aplicación, por ejemplo), simplemente porque hay un valor (temporalmente) incorrecto en un widget. Hay muchas alternativas, una sería que la validación se hiciera sólo al pasar a otro widget dentro de la misma aplicación. En fin, sólo es una idea. Y finalmente una cosa en la que no vale la pena insistir porque ahí cada uno hace de su capa un sayo, pero... ¿¿realmente no puedes acortar esos nombres de funciones (sin vocales)?? es realmente duro de leer.... salud! arnau carlos villa escribió: > buenas tardes me urge ayuda estoy trabajando glade - python2.4 me > explico como funciona tengo el evento > focus_out_event de un text Entry en el cual valido que lo que inserten > sea un digito > self.texto.isdigit() si esto no es un digito entonces me muestra una > ventana de error > la cual llamo : dialogo_error(self.wndow_atntccion_mdfcar_grupo, 'El > dato debe ser un Digito') despues ejecuto un grab_focus para que no > deje cambiar cambiar a otra entrada de texto sin antes escribir el > dato correcto el cual debe ser un digito. > > mi problema esque al parecer por funcionamiento del focus_out_event mi > ventana de error se dispara 2 veces y por lo tanto se muestra 2 veces > en patalla, y no se que hacer para que el focus_out_event no me > dispare 2 veces la señal creo que el erro esta ahi. > si no es asi por favor diganme si hay otra forma de evitar que se > cambie a otro entry sin antes haber digitado en tipo de dato correcto > el usuario > si me pueden ayudar agradeceria mucho. > > aqui esta la parte del codigo: > > def on_txte_mdfcar_grupo_cntdad_usrios_focus_out_event (self, widget, > data=None): > > self.texto = self.txte_mdfcar_grupo_cntdad_usrios.get_text() > > if not self.texto.isdigit(): > print 'NO digito' > dialogo_error(self.wndow_atntccion_mdfcar_grupo, 'El dato debe > ser un Digito') > self.txte_mdfcar_grupo_cntdad_usrios.grab_focus() > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > > From carlosfvo en gmail.com Mon Jul 24 03:01:43 2006 From: carlosfvo en gmail.com (carlos villa) Date: Sun, 23 Jul 2006 20:01:43 -0500 Subject: Fwd: Problema con grab_focus ( ) In-Reply-To: <44C40654.6000808@ehas.org> References: <629497540607231539x562aaa3flcb7a7de1612547ee@mail.gmail.com> <44C40654.6000808@ehas.org> Message-ID: <629497540607231801w452909ddr70e39c11d813959a@mail.gmail.com> por supuesto la idea esque no me deje pasar el siguiente entry o sea widget creo que me entendio mal, y aqui esta la version sin las vocales lo siento pero es un estandard de desarrollo que adoptamos alrrededor de este proyecto igual aqui esta mas claro espero.. si sabe como resolver el problema del grab_focus agradeceria ... gracias > def on_txte_mdfcar_grupo_cntdad_usrios_focus_out_event (self, widget, > data=None): > > self.entry_texto = self.entry.get_text() > > if not self.entry_texto.isdigit(): > print 'NO digito' > dialogo_error(self.wndow , 'El dato debe ser un Digito') > self.entry.grab_focus() ---------- Forwarded message ---------- From: Arnau Sanchez Date: 23-jul-2006 18:29 Subject: Re: [Python-es] Problema con grab_focus ( ) To: La lista de python en castellano Carlos, Eso de abrir una ventana modal y ejecutar un grab_focus() dentro de un manejador de "focus-out", así, todo de golpe, no suena muy bien, no es raro que no funcione... no sólo es que te salga más de una ventana, sino que es muy probable que la aplicación se cuelgue. Una solución sería mostrar la ventana modal con show() (no con run()), capturar las señales correspondientes a "response" y "delete-event", y en el manejador, además de destruir la ventana, darle el foco del entry. def response(widget, arg, entry): entry.grab_focus() widget.destroy() def on_focus_out(widget, event, entry): text = widget.get_text() if text.isdigit(): return message = gtk.MessageDialog(None, gtk.DIALOG_MODAL, gtk.MESSAGE_WARNING, gtk.BUTTONS_OK, "Dato incorrecto") message.connect("delete-event", response, entry) message.connect("response", response, entry) message.show() Dicho esto, y ya que estamos con el tema, a mi particularmente me molestaría mucho que una aplicación no me permitiera cambiar el foco (pasar a otra aplicación, por ejemplo), simplemente porque hay un valor (temporalmente) incorrecto en un widget. Hay muchas alternativas, una sería que la validación se hiciera sólo al pasar a otro widget dentro de la misma aplicación. En fin, sólo es una idea. Y finalmente una cosa en la que no vale la pena insistir porque ahí cada uno hace de su capa un sayo, pero... ¿¿realmente no puedes acortar esos nombres de funciones (sin vocales)?? es realmente duro de leer.... salud! arnau carlos villa escribió: > buenas tardes me urge ayuda estoy trabajando glade - python2.4 me > explico como funciona tengo el evento > focus_out_event de un text Entry en el cual valido que lo que inserten > sea un digito > self.texto.isdigit() si esto no es un digito entonces me muestra una > ventana de error > la cual llamo : dialogo_error(self.wndow_atntccion_mdfcar_grupo, 'El > dato debe ser un Digito') despues ejecuto un grab_focus para que no > deje cambiar cambiar a otra entrada de texto sin antes escribir el > dato correcto el cual debe ser un digito. > > mi problema esque al parecer por funcionamiento del focus_out_event mi > ventana de error se dispara 2 veces y por lo tanto se muestra 2 veces > en patalla, y no se que hacer para que el focus_out_event no me > dispare 2 veces la señal creo que el erro esta ahi. > si no es asi por favor diganme si hay otra forma de evitar que se > cambie a otro entry sin antes haber digitado en tipo de dato correcto > el usuario > si me pueden ayudar agradeceria mucho. > > aqui esta la parte del codigo: > > def on_txte_mdfcar_grupo_cntdad_usrios_focus_out_event (self, widget, > data=None): > > self.entry_texto = self.entry.get_text() > > if not self.entry_texto.isdigit(): > print 'NO digito' > dialogo_error(self.wndow , 'El dato debe ser un Digito') > self.entry.grab_focus() > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > > _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From minostro en sicet.cl Mon Jul 24 06:32:46 2006 From: minostro en sicet.cl (Milton Galo Patricio) Date: Mon, 24 Jul 2006 00:32:46 -0400 Subject: Problema con grab_focus ( ) In-Reply-To: <629497540607231801w452909ddr70e39c11d813959a@mail.gmail.com> References: <629497540607231539x562aaa3flcb7a7de1612547ee@mail.gmail.com> <44C40654.6000808@ehas.org> <629497540607231801w452909ddr70e39c11d813959a@mail.gmail.com> Message-ID: <172699c50607232132y7ddfb93di2049de016c07358e@mail.gmail.com> intenta poner la sentencia widget.grab_focus(), al momento que el usuario presione en el cuadro de dialogo aceptar, es decir: 1. se escribe un texto 2. la caja pierde el foco 3. verificamos si es entero 1. retornamos verdadero 4. si no 1. instanciamos el cuadro de dialogo mostrando el mensaje de error 2. hacemos set_sentive(False), al widget padre [no tendría sentido dejar activado el widget padre si es que existe un error] 3. el usuario presiona aceptar o presiona la cruz del cuadro de dialogo 1. destruimos el dialog 2. le ponemos el foco al widget creo que siguiendo esos pasos todo saldrá bien...ahora no comparto lo que quieres hacer es muy molesto el dialog al usuario, lo que he echo ya en dos proyectos OpenSource es poner el entry con color rojo [usabilidad], pero ahora trabajo en ponerle sonido [accesibilidad] para las personas que sean daltonicas o tengan alguna invalides visual. aunque son dos proyectos remunex [1] inventarix[2], te recomiendo que te des un paseo por inventarix, ya que está programado en tres capas y está más bonito el código ahi que en remunex [fue el primero, estaba aprendiendo] [1] http://chileforge.cl/projects/remunex/ [2] http://chileforge.cl/projects/inventarix/ en la capa de gui encontrarás lo que andas buscando...ahh y tambien en la de service, que estes bien 2006/7/23, carlos villa : > > por supuesto la idea esque no me deje pasar el siguiente entry o sea > widget creo que me entendio mal, y aqui esta la version sin las > vocales lo siento pero es un estandard de desarrollo que adoptamos > alrrededor de este proyecto igual aqui esta mas claro espero.. > > si sabe como resolver el problema del grab_focus agradeceria ... > > gracias > > > > def on_txte_mdfcar_grupo_cntdad_usrios_focus_out_event (self, widget, > > data=None): > > > > self.entry_texto = self.entry.get_text() > > > > if not self.entry_texto.isdigit(): > > print 'NO digito' > > dialogo_error(self.wndow , 'El dato debe ser un Digito') > > self.entry.grab_focus() > > > > > > > > ---------- Forwarded message ---------- > From: Arnau Sanchez > Date: 23-jul-2006 18:29 > Subject: Re: [Python-es] Problema con grab_focus ( ) > To: La lista de python en castellano > > > Carlos, > > Eso de abrir una ventana modal y ejecutar un grab_focus() dentro de un > manejador > de "focus-out", así, todo de golpe, no suena muy bien, no es raro que no > funcione... no sólo es que te salga más de una ventana, sino que es muy > probable > que la aplicación se cuelgue. Una solución sería mostrar la ventana modal > con > show() (no con run()), capturar las señales correspondientes a "response" > y > "delete-event", y en el manejador, además de destruir la ventana, darle el > foco > del entry. > > def response(widget, arg, entry): > entry.grab_focus() > widget.destroy() > > def on_focus_out(widget, event, entry): > text = widget.get_text() > if text.isdigit(): return > message = gtk.MessageDialog(None, gtk.DIALOG_MODAL, > gtk.MESSAGE_WARNING, > gtk.BUTTONS_OK, "Dato incorrecto") > message.connect("delete-event", response, entry) > message.connect("response", response, entry) > message.show() > > Dicho esto, y ya que estamos con el tema, a mi particularmente me > molestaría > mucho que una aplicación no me permitiera cambiar el foco (pasar a otra > aplicación, por ejemplo), simplemente porque hay un valor (temporalmente) > incorrecto en un widget. Hay muchas alternativas, una sería que la > validación se > hiciera sólo al pasar a otro widget dentro de la misma aplicación. En fin, > sólo > es una idea. > > Y finalmente una cosa en la que no vale la pena insistir porque ahí cada > uno > hace de su capa un sayo, pero... ¿¿realmente no puedes acortar esos > nombres de > funciones (sin vocales)?? es realmente duro de leer.... > > salud! > arnau > > carlos villa escribió: > > buenas tardes me urge ayuda estoy trabajando glade - python2.4 me > > explico como funciona tengo el evento > > focus_out_event de un text Entry en el cual valido que lo que inserten > > sea un digito > > self.texto.isdigit() si esto no es un digito entonces me muestra una > > ventana de error > > la cual llamo : dialogo_error(self.wndow_atntccion_mdfcar_grupo, 'El > > dato debe ser un Digito') despues ejecuto un grab_focus para que no > > deje cambiar cambiar a otra entrada de texto sin antes escribir el > > dato correcto el cual debe ser un digito. > > > > mi problema esque al parecer por funcionamiento del focus_out_event mi > > ventana de error se dispara 2 veces y por lo tanto se muestra 2 veces > > en patalla, y no se que hacer para que el focus_out_event no me > > dispare 2 veces la señal creo que el erro esta ahi. > > si no es asi por favor diganme si hay otra forma de evitar que se > > cambie a otro entry sin antes haber digitado en tipo de dato correcto > > el usuario > > si me pueden ayudar agradeceria mucho. > > > > aqui esta la parte del codigo: > > > > def on_txte_mdfcar_grupo_cntdad_usrios_focus_out_event (self, widget, > > data=None): > > > > self.entry_texto = self.entry.get_text() > > > > if not self.entry_texto.isdigit(): > > print 'NO digito' > > dialogo_error(self.wndow , 'El dato debe ser un Digito') > > self.entry.grab_focus() > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es > > > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > -- Milton Inostroza Aguilera From py en ch3m4.org Mon Jul 24 11:55:33 2006 From: py en ch3m4.org (Chema Cortes) Date: Mon, 24 Jul 2006 11:55:33 +0200 Subject: Canvas In-Reply-To: References: Message-ID: <44C49915.4080709@ch3m4.org> waldorf escribió: > Hola. Usando objetos de Canvas en Tkinter .¿Pueden determinarse las > coordenadas de la intersección de dos objetos conocidas sus tags? Por > ejemplo el ovalo 'a' y el segmento 'c' se cortan: ¿puede determinarse el > punto de corte sin necesidad de conocer sus ecuaciones? Veo varios inconvenientes: - si dibujas con color blanco, no se dibuja nada, luego visualmente no habría ningún corte - la precisión es tan burda que pueden coincidir puntos a pesar que, matemáticamente, las gráficas no deberían cortarse (y lo mismo a la inversa, que deberían cortarse y no lo hagan). Si aún así necesitas determinar el punto de corte, hay que decidir si quieres usar el sistema de coordenadas del canvas, con el que se dibuja, o el de la ventana, más afín a eventos de ratón. En cuanto a cómo lo haría yo, se me ocurre un sistema bastante cutre: lo primero es obtener un rectángulo intersección de los dos rectángulos que contienen cada una de las gráficas (método bbox). Si hay corte, tendrá que estar dentro de este rectángulo intersección. Entonces comprobaría este rectángulo, punto por punto, con el método find_overlapping para ver si las dos gráficas tienen puntos comunes. No tengo código para mostrar, pero espero que te sirvan de algo estas indicaciones. -- Chema Cortés (py en ch3m4.org) "Proudly made on earth by generic humanoid carbon units" From josepgimbernat en cdgir.com Sun Jul 23 18:49:03 2006 From: josepgimbernat en cdgir.com (Josep Cdgir) Date: Sun, 23 Jul 2006 18:49:03 +0200 Subject: =?iso-8859-1?q?dise=F1o_con_eric_y?= qtdesigner Message-ID: <200607231849.03637.josepgimbernat@cdgir.com> Hola a todos, he estado trasteando desde hace un tiempo con python y realizado alguna pequeña aplicación con Boa... vengo de trabajar con Turbo Pascal y recién me estoy poniendo en la OOP. He visto el IDE Eric y me ha parecido muy bueno, asi como el QtDesigner... después de instalarme las qt4.... impresionante a mi parecer. Pero dado mi poco nivel de inglés no termino de aclararme con los ejemplos que he encontrado en google, y más especialmente porque la mayoria están hechos para qt3. Aún así he logrado crear ventanas.. poner widgets... etc. pero no logro entender el funcionamente de las clases derivadas para poder poner mis propias funciones en el programa. O sea, que puedo hacer un botón que me cierre la ventana (no tiene ningún mérito con el qtdesigner, y la asignación de actions...) pero no logro situar correctamente una función que me ponga un texto recogido en un lineedit dentro de otro widget... bueno ni tan siquiera logro que me haga un print 'hola'. Estoy trabajando con linux derivado de Debian (K-DEMAR) y os agradeceria un poco de ayuda..... socorroooooooo grácias por adelantado Josep From cazabal en gmail.com Mon Jul 24 19:10:47 2006 From: cazabal en gmail.com (waldorf) Date: Mon, 24 Jul 2006 19:10:47 +0200 Subject: Canvas In-Reply-To: <44C49915.4080709@ch3m4.org> References: <44C49915.4080709@ch3m4.org> Message-ID: Efectivamente funciona la combinacion de restringir el rectangulo con la busqueda pixel a pixel pero tal y como dices la cosa va regular. Estoy pensando en trabajar con ecuaciones, cosa que en principio no queria. Sigo en ello, gracias Chema. From wikier en asturlinux.org Mon Jul 24 20:31:26 2006 From: wikier en asturlinux.org (Sergio Fdez) Date: Mon, 24 Jul 2006 20:31:26 +0200 Subject: Problema de encoding covirtiendo string In-Reply-To: <2c9fb0dd0607201648w19c326b4vae58e24c4d99424@mail.gmail.com> References: <1153432478.3988.3.camel@localhost.localdomain> <2c9fb0dd0607201648w19c326b4vae58e24c4d99424@mail.gmail.com> Message-ID: <1153765886.4538.8.camel@localhost.localdomain> > Pues lo raro es que no hayas encontrado nada, porque como pregunta > estaría entre las más frecuentes que se hacen en la lista: Si, pero hay algunas cadenas que sigo sin poder tratarlas, a pesar de usar: cadena = unicode(cadena, errors='ignore') Me siguen dando problemas cadenas que me llega (oroginalmente) así: =?iso-8859-1?q?Pepe=20Lopez?= -- __ ___ _ _ \ \ / (_) |_(_)___ _ _ Sergio Fdez \ \/\/ /| | / / / -_) '_| GNU/LiNUX User: #298803 \_/\_/ |_|_\_\_\___|_| Web: http://www.wikier.org/ ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From cabrerachaparro en gmail.com Mon Jul 24 21:29:40 2006 From: cabrerachaparro en gmail.com (Daniel Cabrera) Date: Mon, 24 Jul 2006 14:29:40 -0500 Subject: OT DB2 Express Message-ID: <8565ad90607241229n3fcca44dqdcc87ae24ab7c633@mail.gmail.com> Hola, alguien ha podido instalar DB2 en Ubuntu? ya me baje el archivo lo instale pero no puedo ejecutarlo, por favor si alguien puede ayudarme con esto se lo agradeceria, ya busque en Google y en IBM pero no logro hacerlo correr. Gracias -- Daniel Cabrera Chaparro From pych3m4 en gmail.com Tue Jul 25 01:55:22 2006 From: pych3m4 en gmail.com (Chema Cortes) Date: Tue, 25 Jul 2006 01:55:22 +0200 Subject: Problema de encoding covirtiendo string In-Reply-To: <1153765886.4538.8.camel@localhost.localdomain> References: <1153432478.3988.3.camel@localhost.localdomain> <2c9fb0dd0607201648w19c326b4vae58e24c4d99424@mail.gmail.com> <1153765886.4538.8.camel@localhost.localdomain> Message-ID: <2c9fb0dd0607241655n744ebf22wc0a5cc7d11b3ad82@mail.gmail.com> El 2006/7/24, Sergio Fdez escribió: > Si, pero hay algunas cadenas que sigo sin poder tratarlas, a pesar de > usar: > > cadena = unicode(cadena, errors='ignore') > > Me siguen dando problemas cadenas que me llega (oroginalmente) así: > > =?iso-8859-1?q?Pepe=20Lopez?= No veo aquí dónde está el problema con el unicode. Si lo que quieres es tratar cabeceras de correo mírate el módulo "email": >>> from email.Header import decode_header >>> [(s,encoding)]=decode_header("=?iso-8859-1?q?Pepe=20L=F3pez?=") >>> unicode(s,encoding) u'Pepe L\xf3pez' From cabrerachaparro en gmail.com Tue Jul 25 05:44:45 2006 From: cabrerachaparro en gmail.com (Daniel Cabrera) Date: Mon, 24 Jul 2006 22:44:45 -0500 Subject: Python y Django Message-ID: <8565ad90607242044w38d56237yb0a8f7828c9b83@mail.gmail.com> Hola, estoy siguiendo un manual de Django que esta en la pagina de IBM ( http://www-128.ibm.com/developerworks/linux/library/l-django/index.html) Pero en el Listing 19 me indica como agregar una clase usando el admin-tool, se supone que al iniciar el admin tool via browser me debe avisar que tengo un modelo para instalar, al menos eso es lo que entiendo, pero no me aparece nada de algun modulo, si logro ingresar, pero solo hay opciones de usario, grupo y sites. Que puedo hacer para agregar el modulo? Gracias -- Daniel Cabrera Chaparro From rapto en arrakis.es Tue Jul 25 11:07:40 2006 From: rapto en arrakis.es (Marcos =?ISO-8859-1?Q?S=E1nchez?= Provencio) Date: Tue, 25 Jul 2006 11:07:40 +0200 Subject: Python y Django In-Reply-To: <8565ad90607242044w38d56237yb0a8f7828c9b83@mail.gmail.com> References: <8565ad90607242044w38d56237yb0a8f7828c9b83@mail.gmail.com> Message-ID: <1153818460.5444.2.camel@localhost.localdomain> Tienes que tocar settings.py Listing 7. Adding an entry to settings.py INSTALLED_APPS = ( 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'djproject.jobs', ) Asegúrate de haber añadido clases al modelo y de haber sincronizado la bd. python manage.py syncdb ¿Es eso? El lun, 24-07-2006 a las 22:44 -0500, Daniel Cabrera escribió: > Hola, > estoy siguiendo un manual de Django que esta en la pagina de IBM ( > http://www-128.ibm.com/developerworks/linux/library/l-django/index.html) > Pero en el Listing 19 me indica como agregar una clase usando el admin-tool, > se supone que al iniciar el admin tool via browser me debe avisar que tengo > un modelo para instalar, al menos eso es lo que entiendo, pero no me aparece > nada de algun modulo, si logro ingresar, pero solo hay opciones de usario, > grupo y sites. > > Que puedo hacer para agregar el modulo? > > Gracias > ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From jordi.f en ati.es Tue Jul 25 11:19:03 2006 From: jordi.f en ati.es (Jordi Funollet) Date: Tue, 25 Jul 2006 11:19:03 +0200 Subject: Python y Django In-Reply-To: <8565ad90607242044w38d56237yb0a8f7828c9b83@mail.gmail.com> References: <8565ad90607242044w38d56237yb0a8f7828c9b83@mail.gmail.com> Message-ID: <200607251119.03826.jordi.f@ati.es> Daniel Cabrera dixit: > Hola, > estoy siguiendo un manual de Django que esta en la pagina de IBM ( > http://www-128.ibm.com/developerworks/linux/library/l-django/index.html) > Pero en el Listing 19 me indica como agregar una clase usando el > admin-tool, se supone que al iniciar el admin tool via browser me debe > avisar que tengo un modelo para instalar, al menos eso es lo que entiendo, > pero no me aparece nada de algun modulo, si logro ingresar, pero solo hay > opciones de usario, grupo y sites. Si has seguido todos los pasos ya tienes el módulo instalado: puedes ver las clases en los ficheros, deberias poder ver las tablas creadas si miras el "schema" de la base de datos, e incluso puedes modificar datos desde la linea de comandos (prueba con './manage shell' y cargar el módulo correspondiente). Lo que hace el listado 19 es mostar el módulo en la interfície de administración web, igual que muestra 'users' y compañía. Lo primero, para y vuelve a lanzar el servidor web para asegurarte de que aplica los cambios. Me ha pasado muy raramente, pero alguna vez no ha detectado algun cambio hasta que lo he reiniciado. ¿El resto de pasos te funcionan? ¿Puedes importar el módulo desde la shell? -- ############################## ### Jordi Funollet ### http://www.terraquis.net From alejandro.novo en gmail.com Tue Jul 25 13:35:02 2006 From: alejandro.novo en gmail.com (Alejandro Novo) Date: Tue, 25 Jul 2006 13:35:02 +0200 Subject: Busqueda Parcial con Tuplas como Clave de Diccionario Message-ID: <2bd0a6950607250435h776d4398k8af4fec1772ed3e6@mail.gmail.com> Lo primero gracias por las respuestas, he aprendido mucho con ellas, sobre todo con las list comprenhension de python, que son realmente útiles y elegantes :) Después de probar las soluciones que me planteabais he optado por esta solución: for x in d: e, lx = x try: dAux[lx].append(d[x]) except KeyError: dAux[lx] = [d[x]] Como recordareis el principal problema que tenía era el tamaño del diccionario. Con las solución que yo había planteado, lo que hacía era recorrer n veces (siendo n el tamaño de la lista de claves) el diccionario entero, lo que hacía incrementar el tiempo del proceso. Ahora lo que hago es recorrer únicamente 1 vez el diccionario, agilizando en gran medida el tiempo y rebajando el coste de la operación. Me han venido genial vuestros aportes para "jugar" con las posibilidades que me da python, y espero poder aplicarlas en adelante. De nuevo gracias. Un saludo > Alejandro, > > Primero, tu bucle quedaría mucho más compacto usando una list > comprehension: > > dAux = {} > for lx in l: > dAux[lx] = [d[x] for x in d if lx in x] > > En cuanto a velocidad, seguramente así vaya un poco más rápido, pero la > diferencia no será sustancial. Si quieres que realmente vaya mucho más > rápido, > tendrías que generar estructuras auxiliares antes de la búsqueda. Por > ejemplo, > podrías generar este diccionario: > > de {('a', 'b'): ['1', '2', '3']} ... > > podrías sacar {'a': ['1', '2', '3'] 'b': ['1', '2', '3'] ... } > > y luego, al recorrer este diccionario la búsqueda sería seguro mucho más > ágil. > > La forma de encarar el problema depende de muchas cosas, de la naturaleza > de los > datos, cuándo los obtienes, si estos se van modificando o son estáticos, > etc. > Pero al final, la idea es básicamente la misma, trata tus datos antes de > entrar > en el algoritmo de búsqueda. > > nos cuentas > > arnau > > ------------------------------------------------------------------------------------------------------------ > > Dependiendo de los datos que tengas esto podria ser mas rapido: > > l = dict.fromkeys(l) > for elem in d: > for elem2 in elem: > if elem2 in l: > dAux.setdefault(elem2, []).append(d[elem]) > > > obtienes dos beneficios: > > * evitas iterar sobre *toda* la lista l en cada iteracion del bucle > externo > > * al convertir l en un diccionario la comprobacion 'elem2 in l' se > calcula en tiempo constante. > > > si la longitud media de las claves es menor que la longitud de l este > algoritmo sera mas rapido. > > > Otra cosa, es posible que una clave contenga dos elementos de l, por > ejemplo ('b', 'd')? Si la respuesta es 'no' podrias forzar la > finalizacion del bucle interno con un break una vez verificado que elem2 > esta en l. > > > > > Saludos > -- > ^X^C > > Alexis Roda > Universitat Rovira i Virgili > Reus, Tarragona (Spain) > From hernan en orgmf.com.ar Tue Jul 25 15:36:21 2006 From: hernan en orgmf.com.ar (Hernan Martinez Foffani) Date: Tue, 25 Jul 2006 15:36:21 +0200 Subject: Busqueda Parcial con Tuplas como Clave de Diccionario In-Reply-To: <2bd0a6950607250435h776d4398k8af4fec1772ed3e6@mail.gmail.com> References: <2bd0a6950607250435h776d4398k8af4fec1772ed3e6@mail.gmail.com> Message-ID: <11fab4bc0607250636k186025ah6eee1d2a66c2051b@mail.gmail.com> > ... > for x in d: > e, lx = x > try: > dAux[lx].append(d[x]) > except KeyError: > dAux[lx] = [d[x]] > ... ¿Alguna razón para no usar el setdefault como ya te han recomendado? for x in d: e, lx = x dAux.setdefault(lx, []).append(d[x]) -H. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From hfoffani en gmail.com Tue Jul 25 15:37:39 2006 From: hfoffani en gmail.com (Hernan M Foffani) Date: Tue, 25 Jul 2006 15:37:39 +0200 Subject: Busqueda Parcial con Tuplas como Clave de Diccionario In-Reply-To: <11fab4bc0607250636k186025ah6eee1d2a66c2051b@mail.gmail.com> References: <2bd0a6950607250435h776d4398k8af4fec1772ed3e6@mail.gmail.com> <11fab4bc0607250636k186025ah6eee1d2a66c2051b@mail.gmail.com> Message-ID: <11fab4bc0607250637t1089f49cjc6099cd133f15c28@mail.gmail.com> > ... > for x in d: > e, lx = x > try: > dAux[lx].append(d[x]) > except KeyError: > dAux[lx] = [d[x]] > ... ¿Alguna razón para no usar el setdefault como ya te han recomendado? for x in d: e, lx = x dAux.setdefault(lx, []).append(d[x]) -H. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From cabrerachaparro en gmail.com Tue Jul 25 16:23:27 2006 From: cabrerachaparro en gmail.com (Daniel Cabrera) Date: Tue, 25 Jul 2006 09:23:27 -0500 Subject: Python y Django In-Reply-To: <200607251119.03826.jordi.f@ati.es> References: <8565ad90607242044w38d56237yb0a8f7828c9b83@mail.gmail.com> <200607251119.03826.jordi.f@ati.es> Message-ID: <8565ad90607250723o565327ebu5652e4b02aac37f4@mail.gmail.com> voy a probar los pasos que me dicen, en cuanto en lo que esta en la seccion 7 si lo he hecho, el unico cambio que hice es usar MySQL en vez SQLite, pero he visto que si me ha creado las tablas, asi que creo que por ese lado esta bien, despues al principio no podia importar los modulos desde el Shell de Python, pero luego de poner export DJANGO_SETTINGS, algo asi creo que era la variable, y la ruta de mi proyecto pude importar los modulos. El día 25/07/06, Jordi Funollet escribió: > > Daniel Cabrera dixit: > > Hola, > > estoy siguiendo un manual de Django que esta en la pagina de IBM ( > > http://www-128.ibm.com/developerworks/linux/library/l-django/index.html) > > Pero en el Listing 19 me indica como agregar una clase usando el > > admin-tool, se supone que al iniciar el admin tool via browser me debe > > avisar que tengo un modelo para instalar, al menos eso es lo que > entiendo, > > pero no me aparece nada de algun modulo, si logro ingresar, pero solo > hay > > opciones de usario, grupo y sites. > > Si has seguido todos los pasos ya tienes el módulo instalado: puedes ver > las > clases en los ficheros, deberias poder ver las tablas creadas si miras > el "schema" de la base de datos, e incluso puedes modificar datos desde la > linea de comandos (prueba con './manage shell' y cargar el módulo > correspondiente). > > Lo que hace el listado 19 es mostar el módulo en la interfície de > administración web, igual que muestra 'users' y compañía. Lo primero, para > y > vuelve a lanzar el servidor web para asegurarte de que aplica los cambios. > Me > ha pasado muy raramente, pero alguna vez no ha detectado algun cambio > hasta > que lo he reiniciado. > > ¿El resto de pasos te funcionan? ¿Puedes importar el módulo desde la > shell? > > -- > ############################## > ### Jordi Funollet > ### http://www.terraquis.net > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > -- Daniel Cabrera Chaparro From alexis.roda.villalonga en gmail.com Tue Jul 25 16:52:22 2006 From: alexis.roda.villalonga en gmail.com (Alexis Roda) Date: Tue, 25 Jul 2006 16:52:22 +0200 Subject: Busqueda Parcial con Tuplas como Clave de Diccionario In-Reply-To: <2bd0a6950607250435h776d4398k8af4fec1772ed3e6@mail.gmail.com> References: <2bd0a6950607250435h776d4398k8af4fec1772ed3e6@mail.gmail.com> Message-ID: <44C63026.4050100@gmail.com> En/na Alejandro Novo ha escrit: > Lo primero gracias por las respuestas, he aprendido mucho con ellas, sobre > todo con las list comprenhension de python, que son realmente útiles y > elegantes :) > > Después de probar las soluciones que me planteabais he optado por esta > solución: > > for x in d: > e, lx = x > try: > dAux[lx].append(d[x]) > except KeyError: > dAux[lx] = [d[x]] > Puestos a optimizar ten en cuenta que el uso de try/except tiene un coste extra. Dependiendo de la proporción entre el número de iteraciones en las que se dispara una excepción y las que no puede resultar mas rápido comprobar explícitamente si existe la clave. Saludos From oscar-listas en naiandei.net Tue Jul 25 18:52:55 2006 From: oscar-listas en naiandei.net (Oscar Curero) Date: Tue, 25 Jul 2006 18:52:55 +0200 Subject: Rendimiento de =?iso-8859-1?q?m=E9todos_vac=EDos?= Message-ID: <200607251852.57781.oscar-listas@naiandei.net> Hola, En un proyecto que estoy haciendo, tengo la casuística de tener que definir un conjunto de clases que externamente serán iguales (tendrán los mismos métodos) pero que se comportarán de manera distinta. _Para facilitar la lectura del código_, he pensado que todas las clases estén definidas de la misma forma. Esto comporta que haya métodos vacíos: def miMetodo(self,arg): pass O métodos que sean tontos: def otroMetodo(self,arg): return 0 Mi pregunta es: ¿Definir este tipo de métodos reduce el rendimiento general? -- Oscar Curero - Linux user: 306877 -- GPG keyID: 0xE0EA0B24 -- From arnau en ehas.org Wed Jul 26 00:08:27 2006 From: arnau en ehas.org (Arnau Sanchez) Date: Wed, 26 Jul 2006 00:08:27 +0200 Subject: Rendimiento de =?ISO-8859-1?Q?m=E9todos_vac=ED?= =?ISO-8859-1?Q?os?= In-Reply-To: <200607251852.57781.oscar-listas@naiandei.net> References: <200607251852.57781.oscar-listas@naiandei.net> Message-ID: <44C6965B.6040101@ehas.org> hombre, no creo que afecte mucho al rendimiento que definas algunos métodos vacíos... pero si no te convence, siempre puedes usar __getattr__: #### class Test: __VOID_METHODS = ("void1", "void2") def __void(self, *args, **kargs): return def __getattr__(self, attr): if attr in self.__VOID_METHODS: return self.__void raise AttributeError, attr Oscar Curero escribió: > Hola, > > En un proyecto que estoy haciendo, tengo la casuística de tener que definir un > conjunto de clases que externamente serán iguales (tendrán los mismos > métodos) pero que se comportarán de manera distinta. _Para facilitar la > lectura del código_, he pensado que todas las clases estén definidas de la > misma forma. Esto comporta que haya métodos vacíos: > > def miMetodo(self,arg): > pass > > O métodos que sean tontos: > > def otroMetodo(self,arg): > return 0 > > Mi pregunta es: ¿Definir este tipo de métodos reduce el rendimiento general? From pych3m4 en gmail.com Wed Jul 26 01:04:22 2006 From: pych3m4 en gmail.com (Chema Cortes) Date: Wed, 26 Jul 2006 01:04:22 +0200 Subject: =?ISO-8859-1?Q?Re:__Rendimiento_de_m=E9todos_vac=EDos?= In-Reply-To: <200607251852.57781.oscar-listas@naiandei.net> References: <200607251852.57781.oscar-listas@naiandei.net> Message-ID: <2c9fb0dd0607251604y43165f24o41c1dd3d37f34636@mail.gmail.com> El 25/07/06, Oscar Curero escribió: > En un proyecto que estoy haciendo, tengo la casuística de tener que definir un > conjunto de clases que externamente serán iguales (tendrán los mismos > métodos) pero que se comportarán de manera distinta. _Para facilitar la > lectura del código_, he pensado que todas las clases estén definidas de la > misma forma. Esto comporta que haya métodos vacíos: > > def miMetodo(self,arg): > pass > > O métodos que sean tontos: > > def otroMetodo(self,arg): > return 0 > > Mi pregunta es: ¿Definir este tipo de métodos reduce el rendimiento general? No notarás ningún problema con el rendimiento. Lo que quieres hacer es bastante común en programación orientada a objetos. Es un "patrón" que algunos lenguajes llaman crear un "interface", para lo que cuentan con sintaxis propia para realizar estos interfaces. En python (y otros lenguajes con herencia múltiple) lo que se suele hacer es crear una "superclase" definiendo el interface, y hacer que el resto de clases deriven de esta superclase. Cada subclase puede, si lo desea, especializar el interface según sea conveniente, suplantando aquellos métodos que necesite. Se puede ir más lejos y crear un "supertipo" y utilizar "metaclases", pero, sin saber de qué va tu proyecto, puede que complicara demasiado las cosas. From cabrerachaparro en gmail.com Wed Jul 26 06:41:09 2006 From: cabrerachaparro en gmail.com (Daniel Cabrera) Date: Tue, 25 Jul 2006 23:41:09 -0500 Subject: Python y Django In-Reply-To: <8565ad90607250723o565327ebu5652e4b02aac37f4@mail.gmail.com> References: <8565ad90607242044w38d56237yb0a8f7828c9b83@mail.gmail.com> <200607251119.03826.jordi.f@ati.es> <8565ad90607250723o565327ebu5652e4b02aac37f4@mail.gmail.com> Message-ID: <8565ad90607252141i28db894fi7fa7b1a4620d8cbe@mail.gmail.com> Hola, todavia no puedo cargar los modulos en el admin, tambien por ejemplo dentro del shell de Python le doy from jobs.models import Job y me sale el siguiente error: EnvironmentError: Environment variable DJANGO_SETTINGS_MODULE is undefined. Despues de exportar la variable de entorno y darle la ruta de mi proyecto ya puedo importar, pero por ejemplo si pongo print y el nombre de alguna variable que esta en la clase Job me dice que no esta definida, de verdad ya no se que mover he seguido todos los pasos que estan en el manual, quiza el manual falta especificar algunos pasos mas o no se. De todas maneras muchas gracias. 2006/7/25, Daniel Cabrera : > > voy a probar los pasos que me dicen, en cuanto en lo que esta en la > seccion 7 si lo he hecho, el unico cambio que hice es usar MySQL en vez > SQLite, pero he visto que si me ha creado las tablas, asi que creo que por > ese lado esta bien, despues al principio no podia importar los modulos desde > el Shell de Python, pero luego de poner export DJANGO_SETTINGS, algo asi > creo que era la variable, y la ruta de mi proyecto pude importar los > modulos. > > El día 25/07/06, Jordi Funollet escribió: > > > Daniel Cabrera dixit: > > > Hola, > > > estoy siguiendo un manual de Django que esta en la pagina de IBM ( > > > http://www-128.ibm.com/developerworks/linux/library/l-django/index.html > > ) > > > Pero en el Listing 19 me indica como agregar una clase usando el > > > admin-tool, se supone que al iniciar el admin tool via browser me debe > > > avisar que tengo un modelo para instalar, al menos eso es lo que > > entiendo, > > > pero no me aparece nada de algun modulo, si logro ingresar, pero solo > > hay > > > opciones de usario, grupo y sites. > > > > Si has seguido todos los pasos ya tienes el módulo instalado: puedes ver > > las > > clases en los ficheros, deberias poder ver las tablas creadas si miras > > el "schema" de la base de datos, e incluso puedes modificar datos desde > > la > > linea de comandos (prueba con './manage shell' y cargar el módulo > > correspondiente). > > > > Lo que hace el listado 19 es mostar el módulo en la interfície de > > administración web, igual que muestra 'users' y compañía. Lo primero, > > para y > > vuelve a lanzar el servidor web para asegurarte de que aplica los > > cambios. Me > > ha pasado muy raramente, pero alguna vez no ha detectado algun cambio > > hasta > > que lo he reiniciado. > > > > ¿El resto de pasos te funcionan? ¿Puedes importar el módulo desde la > > shell? > > > > -- > > ############################## > > ### Jordi Funollet > > ### http://www.terraquis.net > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es > > > > > > -- > Daniel Cabrera Chaparro > -- Daniel Cabrera Chaparro From alejandro.novo en gmail.com Wed Jul 26 08:53:11 2006 From: alejandro.novo en gmail.com (Alejandro Novo) Date: Wed, 26 Jul 2006 08:53:11 +0200 Subject: Busqueda Parcial con Tuplas como Clave de Diccionario Message-ID: <2bd0a6950607252353r23335874q6f4fe25daf585049@mail.gmail.com> Hola a todos, > ¿Alguna razon para no usar el setdefault como ya te han > recomendado? > > for x in d: > e, lx = x > dAux.setdefault(lx, []).append(d[x]) > Pues porque me recomendaban crear el diccionario primero usando: l = dict.fromkeys(l) Y en la versión que tengo que utilizar de python (la 2.2) esa funcionalidad no esta soportada, por lo tanto tendría que hacerla a mano (y tiene un coste alto). > Puestos a optimizar ten en cuenta que el uso de try/except tiene un > coste extra. Dependiendo de la proporción entre el número de iteraciones > en las que se dispara una excepción y las que no puede resultar mas > rápido comprobar explícitamente si existe la clave. > > > > Saludos > Efectivamente, con un d.has_key(k) tarda un poco menos que con el try en uno de los diccionarios, tardando lo mismo en el otro, quedando por lo tanto demostrado que tenías razón en cuanto a lo de que dependiendo del número de veces que se lance la excepción tardará más o menos. Gracias de nuevo. From jordi.f en ati.es Wed Jul 26 09:32:29 2006 From: jordi.f en ati.es (Jordi Funollet) Date: Wed, 26 Jul 2006 09:32:29 +0200 Subject: Python y Django In-Reply-To: <8565ad90607252141i28db894fi7fa7b1a4620d8cbe@mail.gmail.com> References: <8565ad90607242044w38d56237yb0a8f7828c9b83@mail.gmail.com> <8565ad90607250723o565327ebu5652e4b02aac37f4@mail.gmail.com> <8565ad90607252141i28db894fi7fa7b1a4620d8cbe@mail.gmail.com> Message-ID: <200607260932.29271.jordi.f@ati.es> Daniel Cabrera dixit: > Despues de exportar la variable de entorno y darle la ruta de mi proyecto > ya puedo importar, pero por ejemplo si pongo print y el nombre de alguna > variable que esta en la clase Job me dice que no esta definida, Prueba el "listing 11" del micro-tutorial de IBM: ¿te devuelve un mensaje de error (cual) o no te devuelve nada? Esto último no seria extraño si no has introducido ningún dato. -- ############################## ### Jordi Funollet ### http://www.terraquis.net From elizundia en fitbak.com Wed Jul 26 10:18:27 2006 From: elizundia en fitbak.com (Ekaitz Lizundia) Date: Wed, 26 Jul 2006 10:18:27 +0200 (CEST) Subject: Contador parte de la variable en Tkinter Message-ID: <1283.87.223.149.130.1153901907.squirrel@mail.fitbak.com> Buenos dias, Tengo varias etiquetas que quiero modificar su texto en Tkinter, cuando le toque. Es decir: if self.i == 1: self.lblp1.config(text="1 >>> %s" %(str(texto))) elif self.i == 2: self.lblp2.config(text="2 >>> %s" %(str(texto))) elif self.i == 3: self.lblp3.config(text="3 >>> %s" %(str(texto))) elif self.i == 4: self.lblp4.config(text="4 >>> %s" %(str(texto))) elif self.i == 5: self.lblp5.config(text="5 >>> %s" %(str(texto))) else: self.lblp6.config(text="6 >>> %s" %(str(texto))) donde self.i es un contador La duda que tengo es si podria utilizar ese contador como parte de la variable, para no tener que hacer todo este IF. algo asi como self.lblp%s.config(text"%s >>> %s" %(self.i, str(texto))) Gracias de antemano From rapto en arrakis.es Wed Jul 26 10:18:36 2006 From: rapto en arrakis.es (Marcos =?ISO-8859-1?Q?S=E1nchez?= Provencio) Date: Wed, 26 Jul 2006 10:18:36 +0200 Subject: Python y Django In-Reply-To: <8565ad90607252141i28db894fi7fa7b1a4620d8cbe@mail.gmail.com> References: <8565ad90607242044w38d56237yb0a8f7828c9b83@mail.gmail.com> <200607251119.03826.jordi.f@ati.es> <8565ad90607250723o565327ebu5652e4b02aac37f4@mail.gmail.com> <8565ad90607252141i28db894fi7fa7b1a4620d8cbe@mail.gmail.com> Message-ID: <1153901916.6814.5.camel@localhost.localdomain> En lugar de arrancar python a pelo, usa manage.py shell. El mar, 25-07-2006 a las 23:41 -0500, Daniel Cabrera escribió: > Hola, > todavia no puedo cargar los modulos en el admin, tambien por ejemplo dentro > del shell de Python le doy from jobs.models import Job y me sale el > siguiente error: > EnvironmentError: Environment variable DJANGO_SETTINGS_MODULE is undefined. > > Despues de exportar la variable de entorno y darle la ruta de mi proyecto ya > puedo importar, pero por ejemplo si pongo print y el nombre de alguna > variable que esta en la clase Job me dice que no esta definida, de verdad ya > no se que mover he seguido todos los pasos que estan en el manual, quiza el > manual falta especificar algunos pasos mas o no se. > > De todas maneras muchas gracias. > > 2006/7/25, Daniel Cabrera : > > > > voy a probar los pasos que me dicen, en cuanto en lo que esta en la > > seccion 7 si lo he hecho, el unico cambio que hice es usar MySQL en vez > > SQLite, pero he visto que si me ha creado las tablas, asi que creo que por > > ese lado esta bien, despues al principio no podia importar los modulos desde > > el Shell de Python, pero luego de poner export DJANGO_SETTINGS, algo asi > > creo que era la variable, y la ruta de mi proyecto pude importar los > > modulos. > > > > El día 25/07/06, Jordi Funollet escribió: > > > > > Daniel Cabrera dixit: > > > > Hola, > > > > estoy siguiendo un manual de Django que esta en la pagina de IBM ( > > > > http://www-128.ibm.com/developerworks/linux/library/l-django/index.html > > > ) > > > > Pero en el Listing 19 me indica como agregar una clase usando el > > > > admin-tool, se supone que al iniciar el admin tool via browser me debe > > > > avisar que tengo un modelo para instalar, al menos eso es lo que > > > entiendo, > > > > pero no me aparece nada de algun modulo, si logro ingresar, pero solo > > > hay > > > > opciones de usario, grupo y sites. > > > > > > Si has seguido todos los pasos ya tienes el módulo instalado: puedes ver > > > las > > > clases en los ficheros, deberias poder ver las tablas creadas si miras > > > el "schema" de la base de datos, e incluso puedes modificar datos desde > > > la > > > linea de comandos (prueba con './manage shell' y cargar el módulo > > > correspondiente). > > > > > > Lo que hace el listado 19 es mostar el módulo en la interfície de > > > administración web, igual que muestra 'users' y compañía. Lo primero, > > > para y > > > vuelve a lanzar el servidor web para asegurarte de que aplica los > > > cambios. Me > > > ha pasado muy raramente, pero alguna vez no ha detectado algun cambio > > > hasta > > > que lo he reiniciado. > > > > > > ¿El resto de pasos te funcionan? ¿Puedes importar el módulo desde la > > > shell? > > > > > > -- > > > ############################## > > > ### Jordi Funollet > > > ### http://www.terraquis.net > > > _______________________________________________ > > > Python-es mailing list > > > Python-es en aditel.org > > > http://listas.aditel.org/listinfo/python-es > > > > > > > > > > > -- > > Daniel Cabrera Chaparro > > > > > ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From DOMINGUEZ_JOSE_LUIS_NONLILLY en LILLY.COM Wed Jul 26 11:32:58 2006 From: DOMINGUEZ_JOSE_LUIS_NONLILLY en LILLY.COM (Jose Luis Dominguez NONLILLY) Date: Wed, 26 Jul 2006 11:32:58 +0200 Subject: Contador parte de la variable en Tkinter Message-ID: No sé de tkinter, pero creo que lo que quieres es self.lblp1.config(text="%d >>> %s" %(self.i, str(texto))) Un saludo Ekaitz Lizundia Sent by: python-es-bounces en aditel.org 26/07/2006 10:18 Please respond to La lista de python en castellano To: python-es en aditel.org cc: Subject: [Python-es] Contador parte de la variable en Tkinter Buenos dias, Tengo varias etiquetas que quiero modificar su texto en Tkinter, cuando le toque. Es decir: if self.i == 1: self.lblp1.config(text="1 >>> %s" %(str(texto))) elif self.i == 2: self.lblp2.config(text="2 >>> %s" %(str(texto))) elif self.i == 3: self.lblp3.config(text="3 >>> %s" %(str(texto))) elif self.i == 4: self.lblp4.config(text="4 >>> %s" %(str(texto))) elif self.i == 5: self.lblp5.config(text="5 >>> %s" %(str(texto))) else: self.lblp6.config(text="6 >>> %s" %(str(texto))) donde self.i es un contador La duda que tengo es si podria utilizar ese contador como parte de la variable, para no tener que hacer todo este IF. algo asi como self.lblp%s.config(text"%s >>> %s" %(self.i, str(texto))) Gracias de antemano _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From elizundia en fitbak.com Wed Jul 26 12:12:14 2006 From: elizundia en fitbak.com (Ekaitz Lizundia) Date: Wed, 26 Jul 2006 12:12:14 +0200 (CEST) Subject: Contador parte de la variable en Tkinter In-Reply-To: References: Message-ID: <1694.87.223.149.130.1153908734.squirrel@mail.fitbak.com> No, no es eso lo que quiero hacer. En parte si es eso, pero mi duda no es esa parte, sino el lblp1. Tengo 20 variables lblp1, lblp2, lblp3,...,lblp20. Lo que quiero hacer es que cuando se llame a una funcion, haga esa accion respecto a la variable lblp1 o lblp2 u otra variable teniendo en cuenta el contador self.i, sin que tenga que escribir un if de 100 lineas. Lo siento si me explico mal > No sé de tkinter, pero creo que lo que quieres es > self.lblp1.config(text="%d >>> %s" %(self.i, str(texto))) > > Un saludo > > > > > Ekaitz Lizundia > Sent by: python-es-bounces en aditel.org > 26/07/2006 10:18 > Please respond to La lista de python en castellano > > > To: python-es en aditel.org > cc: > Subject: [Python-es] Contador parte de la variable en > Tkinter > > > Buenos dias, > > Tengo varias etiquetas que quiero modificar su texto en Tkinter, cuando le > toque. Es decir: > > if self.i == 1: > self.lblp1.config(text="1 >>> %s" %(str(texto))) > elif self.i == 2: > self.lblp2.config(text="2 >>> %s" %(str(texto))) > elif self.i == 3: > self.lblp3.config(text="3 >>> %s" %(str(texto))) > elif self.i == 4: > self.lblp4.config(text="4 >>> %s" %(str(texto))) > elif self.i == 5: > self.lblp5.config(text="5 >>> %s" %(str(texto))) > else: > self.lblp6.config(text="6 >>> %s" %(str(texto))) > > donde self.i es un contador > > La duda que tengo es si podria utilizar ese contador como parte de la > variable, para no tener que hacer todo este IF. > > algo asi como self.lblp%s.config(text"%s >>> %s" %(self.i, str(texto))) > > Gracias de antemano > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > From py en ch3m4.org Wed Jul 26 12:16:09 2006 From: py en ch3m4.org (Chema Cortes) Date: Wed, 26 Jul 2006 12:16:09 +0200 Subject: Contador parte de la variable en Tkinter In-Reply-To: <1283.87.223.149.130.1153901907.squirrel@mail.fitbak.com> References: <1283.87.223.149.130.1153901907.squirrel@mail.fitbak.com> Message-ID: <44C740E9.80601@ch3m4.org> Ekaitz Lizundia escribió: > La duda que tengo es si podria utilizar ese contador como parte de la > variable, para no tener que hacer todo este IF. > > algo asi como self.lblp%s.config(text"%s >>> %s" %(self.i, str(texto))) self.getattr("lblp%d"%self.i).config(text="%d >>> %s" %(self.i, str(texto)) Consejo: emplea una lista de etiquetas y/ó StringVars -- Chema Cortés (py en ch3m4.org) "Proudly made on earth by generic humanoid carbon units" From h2o_tincho en keko.com.ar Wed Jul 26 17:01:15 2006 From: h2o_tincho en keko.com.ar (h2o_tincho en keko.com.ar) Date: Wed, 26 Jul 2006 12:01:15 -0300 Subject: Modelo de Aplicacion! Message-ID: <1153926075.44c783bb128b5@webmail.keko.com.ar> Hola como andan ? bueno les comento que estoy por realizar una aplicacion de escritorio con las wxpython y necesito que esta aplicacion permita varios usuarios osea que permita un login al iniciar la aplicacion y de ser correcto inicie la aplicacion... Mi consulta se basa en que no se me ocurre como puedo plantear el modelo de mi aplicacion y realizarlo con un diseño POO, por favor escucho sugerencias , desde ya muchas gracias saludos ~TinChO~ ------------------------------------------------- ¿Todavía no navegás con Keko? Hacé click aquí: http://www.keko.com.ar From c_visual2000 en hotmail.com Wed Jul 26 17:08:13 2006 From: c_visual2000 en hotmail.com (Fernando Carlini) Date: Wed, 26 Jul 2006 15:08:13 +0000 Subject: Modelo de Aplicacion! In-Reply-To: <1153926075.44c783bb128b5@webmail.keko.com.ar> References: <1153926075.44c783bb128b5@webmail.keko.com.ar> Message-ID: Hola: Desde mi punto de vista, el usuario de la aplicacion debe tener una propiedad Usuario y otra Login, que seran guardadas en la base de datos correspondiente, cuando el usuario ingrese a la aplicacion deberia poder ingresar usuario y login y validarlas, por otro lado se puede hacer todo un modelo de seguridad en el cual el usuario solo tenga el nombre del usuario que ingresa en el sistema operativo y hacer una pantalla en la cual se le asignan los permisos por pantalla y si se quiere por funcion. No se si esto te servira, pero es lo que se me ocurre. Saludos. c_visual >From: h2o_tincho en keko.com.ar >Reply-To: La lista de python en castellano >To: python-es en aditel.org >Subject: [Python-es] Modelo de Aplicacion! >Date: Wed, 26 Jul 2006 12:01:15 -0300 > >Hola como andan ? >bueno les comento que estoy por realizar una aplicacion de escritorio con >las >wxpython y necesito que esta aplicacion permita varios usuarios osea que >permita >un login al iniciar la aplicacion y de ser correcto inicie la aplicacion... >Mi >consulta se basa en que no se me ocurre como puedo plantear el modelo de mi >aplicacion y realizarlo con un diseño POO, por favor escucho sugerencias , >desde >ya muchas gracias > >saludos >~TinChO~ > > > >------------------------------------------------- >¿Todavía no navegás con Keko? >Hacé click aquí: http://www.keko.com.ar >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es From carlosfvo en gmail.com Wed Jul 26 23:02:54 2006 From: carlosfvo en gmail.com (carlos villa) Date: Wed, 26 Jul 2006 16:02:54 -0500 Subject: ayuda un combo dentro de un treeview.. Message-ID: <629497540607261402p6cb7ef64kcd279625fb300d17@mail.gmail.com> Buenas tardes, necesito poner un combo dentro de un treeview aqui esta el codigo el problema esque no me capta cuando selecciono un dato que hago el combo alguien sabe cual es el error ??? agredeceria la ayuda u correccion. import pygtk pygtk.require("2.0") import gtk, gobject tasks={"Do some programming": "Remember to update your software","Buy groceries": "Go to Asda after work","Watch some tv": "Remember to catch ER","Power up systems": "Turn on the client but leave the server"} class GUI_Controller: """ The GUI class is the controller for our application """ def __init__(self): # setup the main window self.root = gtk.Window(type=gtk.WINDOW_TOPLEVEL) self.root.set_title("CellRenderer Example") self.root.connect("destroy", self.destroy_cb) # Get the model and attach it to the view self.mdl = Store.get_model() self.view = Display.make_view( self.mdl ) # Add our view into the main window self.root.add(self.view) self.root.show_all() return def destroy_cb(self, *kw): """ Destroy callback to shutdown the app """ gtk.main_quit() return def run(self): """ run is called to set off the GTK mainloop """ gtk.main() return class InfoModel: """ The model class holds the information we want to display """ def __init__(self): """ Sets up and populates our gtk.TreeStore """ self.list_store=gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_STRING) # places the global people data into the list # we form a simple tree. """for item in tasks.items(): self.list_store.append(item) return""" self.list_store.append() def get_model(self): """ Returns the model """ if self.list_store: return self.list_store else: return None class DisplayModel: """ Displays the Info_Model model in a view """ def make_view( self, model ): """ Form a view for the Tree Model """ self.view = gtk.TreeView( model ) # setup the text cell renderer and allows these # cells to be edited. self.renderer0 = gtk.CellRendererText() self.renderer0.set_property( 'editable', True ) self.renderer0.connect( 'edited', self.col0_edited_cb, model ) self.renderer1 = gtk.CellRendererText() self.renderer1.set_property( 'editable', True ) self.renderer1.connect( 'edited', self.col1_edited_cb, model ) # Connect column0 of the display with column 0 in our list model # The renderer will then display whatever is in column 0 of # our model . self.modelo=gtk.ListStore(gobject.TYPE_STRING) for i in range(10): self.modelo.append(str(i)) self.combo=gtk.CellRendererCombo() self.combo.set_property('text-column', 0) self.combo.set_property('model', self.modelo) self.combo.set_property('editable', True) self.combo.connect('edited', self.on_edited, self.modelo) self.column0 = gtk.TreeViewColumn("Name", self.renderer0, text=0) self.column1 = gtk.TreeViewColumn("Action", self.renderer1, text=1) self.column2 = gtk.TreeViewColumn("Combo", self.combo, text=2) self.column0.set_resizable(1) self.column0.set_clickable(1) self.column0.connect('clicked', self.ordenar) self.column1.set_resizable(1) # The columns active state is attached to the second column # in the model. So when the model says True then the button # will show as active e.g on. self.view.append_column( self.column0 ) self.view.append_column( self.column1 ) self.view.append_column(self.column2) return self.view def ordenar(self, widget): self.column0.set_sort_column_id(0) return def on_edited(self,cell,path,new_text,model): valor = model[path][0] #v = value.parse(text) #value.set(value=v) model[path][1]=new_text def col0_edited_cb( self, cell, path, new_text, model ): """ Called when a text cell is edited. It puts the new text in the model so that it is displayed properly. """ print "Cambio '%s' a '%s'" % (model[path][0], new_text) #model[path][0] = new_text return def col1_edited_cb( self, cell, path, new_text, model ): """ Called when a text cell is edited. It puts the new text in the model so that it is displayed properly. """ print "Cambio '%s' a '%s'" % (model[path][1], new_text) model[path][1] = new_text self.list_store=Store.get_model() self.list_store.append() return if __name__ == '__main__': Store = InfoModel() Display = DisplayModel() myGUI = GUI_Controller() myGUI.run() From minostro en sicet.cl Wed Jul 26 23:12:25 2006 From: minostro en sicet.cl (Milton Galo Patricio) Date: Wed, 26 Jul 2006 17:12:25 -0400 Subject: ayuda un combo dentro de un treeview.. In-Reply-To: <629497540607261402p6cb7ef64kcd279625fb300d17@mail.gmail.com> References: <629497540607261402p6cb7ef64kcd279625fb300d17@mail.gmail.com> Message-ID: <172699c50607261412s5dcfac0ctbde30fc38198cf32@mail.gmail.com> siendo sincero no he leido tu código pero en inventarix[1] implemente un comboboxentry...visita el cvs [1] http://chileforge.cl/scm/cvsweb.php/unstable/src/gui/windowGuiaDespacho.py?cvsroot=inventarix te puse el url directo al fichero, salu2!! 2006/7/26, carlos villa : > > Buenas tardes, necesito poner un combo dentro de un treeview aqui esta > el codigo el problema esque no me capta cuando selecciono un dato que > hago el combo alguien sabe cual es el error ??? agredeceria la > ayuda u correccion. > > > > > > > import pygtk > pygtk.require("2.0") > import gtk, gobject > > tasks={"Do some programming": "Remember to update your software","Buy > groceries": "Go to Asda after work","Watch some tv": "Remember to > catch ER","Power up systems": "Turn on the client but leave the > server"} > > class GUI_Controller: > """ The GUI class is the controller for our application """ > def __init__(self): > # setup the main window > self.root = gtk.Window(type=gtk.WINDOW_TOPLEVEL) > self.root.set_title("CellRenderer Example") > self.root.connect("destroy", self.destroy_cb) > # Get the model and attach it to the view > self.mdl = Store.get_model() > self.view = Display.make_view( self.mdl ) > # Add our view into the main window > self.root.add(self.view) > self.root.show_all() > return > def destroy_cb(self, *kw): > """ Destroy callback to shutdown the app """ > gtk.main_quit() > return > def run(self): > """ run is called to set off the GTK mainloop """ > gtk.main() > return > > class InfoModel: > """ The model class holds the information we want to display """ > def __init__(self): > """ Sets up and populates our gtk.TreeStore """ > self.list_store=gtk.ListStore(gobject.TYPE_STRING, > gobject.TYPE_STRING) > # places the global people data into the list > # we form a simple tree. > """for item in tasks.items(): > self.list_store.append(item) > return""" > self.list_store.append() > def get_model(self): > """ Returns the model """ > if self.list_store: > return self.list_store > else: > return None > > class DisplayModel: > """ Displays the Info_Model model in a view """ > def make_view( self, model ): > """ Form a view for the Tree Model """ > self.view = gtk.TreeView( model ) > # setup the text cell renderer and allows these > # cells to be edited. > self.renderer0 = gtk.CellRendererText() > self.renderer0.set_property( 'editable', True ) > self.renderer0.connect( 'edited', self.col0_edited_cb, model ) > > self.renderer1 = gtk.CellRendererText() > self.renderer1.set_property( 'editable', True ) > self.renderer1.connect( 'edited', self.col1_edited_cb, model ) > > # Connect column0 of the display with column 0 in our list model > # The renderer will then display whatever is in column 0 of > # our model . > > self.modelo=gtk.ListStore(gobject.TYPE_STRING) > > for i in range(10): > self.modelo.append(str(i)) > > self.combo=gtk.CellRendererCombo() > > self.combo.set_property('text-column', 0) > self.combo.set_property('model', self.modelo) > self.combo.set_property('editable', True) > > self.combo.connect('edited', self.on_edited, self.modelo) > > self.column0 = gtk.TreeViewColumn("Name", self.renderer0, text=0) > self.column1 = gtk.TreeViewColumn("Action", self.renderer1, > text=1) > self.column2 = gtk.TreeViewColumn("Combo", self.combo, text=2) > > self.column0.set_resizable(1) > self.column0.set_clickable(1) > self.column0.connect('clicked', self.ordenar) > > self.column1.set_resizable(1) > > # The columns active state is attached to the second column > # in the model. So when the model says True then the button > # will show as active e.g on. > self.view.append_column( self.column0 ) > self.view.append_column( self.column1 ) > self.view.append_column(self.column2) > return self.view > > def ordenar(self, widget): > self.column0.set_sort_column_id(0) > return > > def on_edited(self,cell,path,new_text,model): > valor = model[path][0] > #v = value.parse(text) > #value.set(value=v) > model[path][1]=new_text > > > def col0_edited_cb( self, cell, path, new_text, model ): > """ > Called when a text cell is edited. It puts the new text > in the model so that it is displayed properly. > """ > print "Cambio '%s' a '%s'" % (model[path][0], new_text) > #model[path][0] = new_text > return > > def col1_edited_cb( self, cell, path, new_text, model ): > """ > Called when a text cell is edited. It puts the new text > in the model so that it is displayed properly. > """ > print "Cambio '%s' a '%s'" % (model[path][1], new_text) > model[path][1] = new_text > self.list_store=Store.get_model() > self.list_store.append() > return > > if __name__ == '__main__': > Store = InfoModel() > Display = DisplayModel() > myGUI = GUI_Controller() > myGUI.run() > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > -- Milton Inostroza Aguilera From pepe en diselpro.com Thu Jul 27 01:48:21 2006 From: pepe en diselpro.com (Pepe Aracil) Date: Thu, 27 Jul 2006 01:48:21 +0200 Subject: Wrapper para dbapi2 Message-ID: <44C7FF45.8040701@diselpro.com> Hola lista. Tengo que montar un sistema de réplica en Mysql de un solo sentido, es decir si del servidor A es el maestro y los servidores B y C son esclavos, todas las modificaciones (INSERT,DELETE,UPDATE,GRANT,...) que se hagan en el servidor A se replicaran en los servidores B y C, pero no a la inversa. La idea es adaptar ana aplicación CGI que utiliza DBAPI2 de forma que haga un roundrobin con todos los servidores (A,B,C) para las sentencias de consulta, pero que solo utilice el servidor A para las operaciones de escritura. Una idea era utilizar SQLRelay, pero no encuentro la forma para que las escrituras se las envíe a un solo servidor mientras que haga roundrobin en las lecturas. La otra opción es hacer un wrapper de la dbapi2 de forma que sea transparente para la aplicación tanto el rounddobin como la escritura forzada en el servidor A. La idea es analizar la cadena que se le pasa al "execute" y si es un select se va a un host (al que le toque el turno) y si es una operación de escritura se va al host A. ¿Alguien se ha encontrado en esta misma situación? Gracias. Mas info sobre la replicación en MySQL: http://dev.mysql.com/doc/refman/5.0/en/replication.html From idoia.puente en gmail.com Thu Jul 27 12:15:04 2006 From: idoia.puente en gmail.com (Idoia Puente) Date: Thu, 27 Jul 2006 12:15:04 +0200 Subject: =?WINDOWS-1252?Q?Re:__pasar_usuario_?= =?WINDOWS-1252?Q?y_contrase=F1a_a_otra_aplicaci=F3n?= Message-ID: <2a4a2a720607270315s589cd271wa113d608bde2e2cd@mail.gmail.com> Estoy intentando desde zope abrir una aplicación en php y enviarle el usuario y contraseña para que se valide automáticamente. Lo he intentado de varias formas y no lo he conseguido. Podría alguien decirme si es posible hacerlo y cómo. Esta es una de las formas en que lo he intentado pero es evidente que algo falla. Gracias y un saludo. Idoia ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From jasb en mtbcampogib.com Thu Jul 27 14:43:39 2006 From: jasb en mtbcampogib.com (JASB) Date: Thu, 27 Jul 2006 14:43:39 +0200 Subject: Modelo de Aplicacion! In-Reply-To: References: Message-ID: <1154004219.8973.392.camel@localhost.localdomain> La verdad, no te explicas muy bien en lo que quieres llevar a cabo con los usuarios de tu aplicación. No sé, muy bien a que nivel quieres manejar estos usuarios : - Usuarios a nivel de aplicación: Son configurables para la aplicación, o sea, se dan de alta en la aplicación y unicamente sirven para esta. - Usuarios a nivel sistema operativo : Son los usuarios del propio sistema operativo los que deben tener permisos para manejar la aplicación. Si es el primer caso (mi recomendación) a través, de una interfaz que diseñaras podrias manejarlos, asignadoles los permisos correspondientes para los diferentes apartados de la aplicación y almacenando esos datos de usuario/permisos en la propia BD. Como la mejor manera de ilustrar esto, es echarle un OJITO a algo ya realizado pues visita : http://www.marxoso.org y más concretamente los video tutoriales referente a estas opciones: http://marxoso.sourceforge.net/tutoriales/es/primerarranque.htm http://marxoso.sourceforge.net/tutoriales/es/usuarios.htm Espero haberte servido de ayuda. El mié, 26-07-2006 a las 15:08 +0000, Fernando Carlini escribió: > Hola: > Desde mi punto de vista, el usuario de la aplicacion debe tener una > propiedad Usuario y otra Login, que seran guardadas en la base de datos > correspondiente, cuando el usuario ingrese a la aplicacion deberia poder > ingresar usuario y login y validarlas, por otro lado se puede hacer todo un > modelo de seguridad en el cual el usuario solo tenga el nombre del usuario > que ingresa en el sistema operativo y hacer una pantalla en la cual se le > asignan los permisos por pantalla y si se quiere por funcion. No se si esto > te servira, pero es lo que se me ocurre. > > Saludos. > c_visual > > > >From: h2o_tincho en keko.com.ar > >Reply-To: La lista de python en castellano > >To: python-es en aditel.org > >Subject: [Python-es] Modelo de Aplicacion! > >Date: Wed, 26 Jul 2006 12:01:15 -0300 > > > >Hola como andan ? > >bueno les comento que estoy por realizar una aplicacion de escritorio con > >las > >wxpython y necesito que esta aplicacion permita varios usuarios osea que > >permita > >un login al iniciar la aplicacion y de ser correcto inicie la aplicacion... > >Mi > >consulta se basa en que no se me ocurre como puedo plantear el modelo de mi > >aplicacion y realizarlo con un diseño POO, por favor escucho sugerencias , > >desde > >ya muchas gracias > > > >saludos > >~TinChO~ > > > > > > > >------------------------------------------------- > >¿Todavía no navegás con Keko? > >Hacé click aquí: http://www.keko.com.ar > >_______________________________________________ > >Python-es mailing list > >Python-es en aditel.org > >http://listas.aditel.org/listinfo/python-es > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From dpcesar en gmail.com Thu Jul 27 14:54:28 2006 From: dpcesar en gmail.com (=?ISO-8859-1?Q?C=E9sar_Hern=E1ndez?=) Date: Thu, 27 Jul 2006 08:54:28 -0400 Subject: =?WINDOWS-1252?Q?Re:__pasar_usuario_?= =?WINDOWS-1252?Q?y_contrase=F1a_a_otra_aplicaci=F3n?= In-Reply-To: <2a4a2a720607270315s589cd271wa113d608bde2e2cd@mail.gmail.com> References: <2a4a2a720607270315s589cd271wa113d608bde2e2cd@mail.gmail.com> Message-ID: <24c049a70607270554x31aecdd7v328c343f35aefdc6@mail.gmail.com> Hola, Bueno no conozco zope pero, creo que es importante ver la instrucción que estas utilizando para asignar el contenido de estos parametros en PHP tal vez esta función PHP te pueda servir de ayuda: //-----------------------------------------------------------------------' // Lee los Parametros Que Llegen a un Formulario Con los Metodos ' // GET y POST ' //-----------------------------------------------------------------------' function HTML_Parametro($Variable) { $A = ""; import_request_variables('p', 'p_'); if (empty($_REQUEST[$Variable]) == false) { $A = trim($_REQUEST[$Variable]); } else if (empty($_POST[$Variable]) == false) { $A = trim($_POST[$Variable]);} //echo $A."
"; return $A; } llama a esta función desde tu programa en PHP pasandole como parametro alguna de las variables que estas pasando, le puedes quitar el comentario que esta antes del return; para verificar la asignación final de la variable $A. Suerte.- 2006/7/27, Idoia Puente : > > Estoy intentando desde zope abrir una aplicación en php y enviarle el > usuario y contraseña para que se valide automáticamente. > Lo he intentado de varias formas y no lo he conseguido. Podría alguien > decirme si es posible hacerlo y cómo. Esta es una de las formas en que lo > he > intentado pero es evidente que algo falla. > > > > Gracias y un saludo. > Idoia > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > > > -- César Hernàndez Anzoátegui - Venezuela dpcesar en gmail.com LinuxCounter: 285.345 CIV: 122.539 ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From cescd en yahoo.com.mx Thu Jul 27 18:25:32 2006 From: cescd en yahoo.com.mx (Cesar Cardenas Desales) Date: Thu, 27 Jul 2006 11:25:32 -0500 (CDT) Subject: Spam en Hispapython In-Reply-To: References: Message-ID: <20060727162532.35295.qmail@web50406.mail.yahoo.com> Creo que algun spammer se ha colado en Hispapython. Han introducido en la pagina principal una gran cantidad de comentarios basura. Alguien conoce al administrador para informarselo? Saludos --- Hernán Martínez Foffani escribió: > [sobre la wiki de certium] > > Haber si alguien por lo menos contesta a esto o si > ve un sitio mejor > > para colocarla > > Entiendo que Erny necesita ayuda para > http://www.hispapython.org > > En cuanto a contestar sobre tu wiki ¿qué puedo > decir? Para mí todo > voluntariado es admirable. En software libre es muy > común ver que > si hay alguien no está de acuerdo con algún > proyecto, haga otro > competitivo y a su gusto. El hecho de no tener > intención de > de hacer algo así, ya cuenta como mi opinión. ;-) > > [Con respecto a dividir la lista estoy en total > desacuerdo.] > > -H. > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > ___________________________________________________________ Do You Yahoo!? La mejor conexión a Internet y 2GB extra a tu correo por $100 al mes. http://net.yahoo.com.mx From nan_lo2001 en yahoo.com Fri Jul 28 00:46:04 2006 From: nan_lo2001 en yahoo.com (Nan loz) Date: Thu, 27 Jul 2006 15:46:04 -0700 (PDT) Subject: (sin asunto) Message-ID: <20060727224604.91256.qmail@web33304.mail.mud.yahoo.com> Hola a todos! Necesito ayuda con un codigo que escribi para estimar regresiones. La funcion que me interesa es la ultima (hacvar). El problema es que es muy lento, usando solo 49 observaciones se demora como 10 minutos asi que para poderlo implementar realmente necesito que sea mas rapido. Les agradezco cualquier sugerencia. Muchas gracias, Nancy Lozano class getdata: """This class gets data and defines y, x and inst to be used in regressions also asks to define coordinates""" def __init__(self,filename,y=[],x=[],inst=[],xcoord=[],ycoord=[]): self.db=dbfreader113005.dbf(filename) self.ynames=y self.xnames=x self.instnames=inst self.Y=self.db.arrayfields(self.ynames)[1] self.X=self.db.arrayfields(self.xnames)[1] self.H=self.db.arrayfields(self.instnames)[1]#if inst is empty then this gives a matrix of all numeric vaiables self.xcoord=self.db.listfields(xcoord) self.ycoord=self.db.listfields(ycoord) #estimating OLS class estimators: def __init__(self,Y,X,H,xcoord,ycoord): self.var = X self.Y = Y self.H = H self.xcoord=xcoord self.ycoord=ycoord """ The class estimator must receive as input a getdata object It can also receive dbf objects X,Y,H: must be in array format X: array of exogenous variables Y: array of dependent variable H: array of instruments to be used in IV regressions xcoord: x coordinate values, must be as a list ycoord: y coordinate values, must come as a list""" def ols(self,constant=1): """The function ols gives as result a dictionary with keys:values olsb: array of coefficients from ols resid: array of residuals varcov: variance-covariance matrix as array yhat: estimated value of dependent variable seb: standard errors for ols coefficients""" n=len(self.Y[0]) if constant==1: c=nm.ones((1,n),type='Float64') self.X=nm.concatenate((c,self.var)) else: self.X=self.var self.k=len(self.X) XpX=nm.innerproduct(self.X,self.X) iXpX=la.inverse(XpX) XY=nm.innerproduct(self.X,self.Y) olsb=mm(iXpX,XY) Xt=nm.transpose(self.X) yhat=mm(Xt,olsb) resid=self.Y[0,:]-yhat[:,0] residt=nm.transpose(resid) sigmasqd=(mm(residt,resid))*(1.0/(float(n)-float(self.k))) #print sigmasqd varcov=sigmasqd*iXpX res2=mm(residt,resid) sumy=sum(self.Y[0,:])/float(n) R2 = 1.0-(res2/sum([(i-sumy)**2.0 for i in self.Y[0,:]])) R2_adj=1.0-((float(n)-1.0)*((1.0-R2)/(float(n)-float(self.k)))) self.olsresults = {} self.olsresults['olsb']=olsb.tolist() self.olsresults['resid']=resid.tolist() self.olsresults['varcov']=varcov self.olsresults['yhat']=yhat.tolist() self.olsresults['seb']=[math.sqrt(i) for i in varcov.diagonal()] self.olsresults['t-values']=[i[0]/j for (i,j) in zip(olsb.tolist(),self.olsresults['seb'])] self.olsresults['sigmasqd']=sigmasqd self.olsresults['R2']=R2 self.olsresults['R2_adj']=R2_adj return self.olsresults def hacvar(self,dm,kmethod): """This function gives the HAC estimate for the variance-covariance matrix from Kelejian and Prucha (2005). OLS must be run before this function is used so that the residuals from the OLS regression can be used to estimate the variance covariance matrix dm: this is the cutoff used to determine the neighbors, it must be in the same units as the x,y coordinates kmethod: defines the kernel that must be used, ex. Parzen""" self.hacvar=[] v=self.X.tolist() h=len(v) n=float(len(v[0])) for k in range(h): row=[] for l in range(h): sumij=0.0 testij=0.0 for i, p in enumerate(v[l]): tempkern=Kernels.kernel(self.xcoord[0][i],self.ycoord[0][i],self.xcoord[0],self.ycoord[0],dm) tempk=getattr(tempkern,kmethod)() ri=self.ols()['resid'][i] temp1=[a*ri*self.ols()['resid'][j]*v[k][i]*tempk[j] for j, a in enumerate(v[l])] sumj=sum(temp1) sumij+=sumj if tempkern.nneigh>=n**(1.0/3.0): t=1.0 else: t=0.0 testij+=t rowkl=sumij/n row.append(rowkl) self.hacvar.append(row) if testij>0: print "The number of neighbors is more than n^(1/3) for %s observations" % testij det=la.determinant(self.hacvar) if det<0.0: print "The determinant of the estimated HAC var-cov matrix is not p.s.d" else: print "The determinant of the estimated HAC var-cov matrix is %s " % det return self.hacvar __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com From pych3m4 en gmail.com Fri Jul 28 01:47:56 2006 From: pych3m4 en gmail.com (Chema Cortes) Date: Fri, 28 Jul 2006 01:47:56 +0200 Subject: Wrapper para dbapi2 In-Reply-To: <44C7FF45.8040701@diselpro.com> References: <44C7FF45.8040701@diselpro.com> Message-ID: <2c9fb0dd0607271647g184c218n61620c45e59b8347@mail.gmail.com> El 27/07/06, Pepe Aracil escribió: > Tengo que montar un sistema de réplica en Mysql de un solo sentido, es > decir si del servidor A es el maestro y los servidores B y C son esclavos, > todas las modificaciones (INSERT,DELETE,UPDATE,GRANT,...) que se hagan en > el servidor A se replicaran en los servidores B y C, pero no a la inversa. > > La idea es adaptar ana aplicación CGI que utiliza DBAPI2 de forma que haga > un roundrobin con todos los servidores (A,B,C) para las sentencias de > consulta, > pero que solo utilice el servidor A para las operaciones de escritura. > > Una idea era utilizar SQLRelay, pero no encuentro la forma para que las > escrituras > se las envíe a un solo servidor mientras que haga roundrobin en las > lecturas. > > La otra opción es hacer un wrapper de la dbapi2 de forma que sea > transparente > para la aplicación tanto el rounddobin como la escritura forzada en el > servidor A. > La idea es analizar la cadena que se le pasa al "execute" y si es un > select se va a un > host (al que le toque el turno) y si es una operación de escritura se va > al host A. > > ¿Alguien se ha encontrado en esta misma situación? Parece que ha habido más gente en esta situación. Mira lo siguiente: http://dev.mysql.com/doc/refman/5.0/es/cj-replication-connection.html Es un wrapper para JDBC, pero te puede dar una idea. El modo de trabajar es configurando la conexión de sólo lectura (entre esclavos) o de lectura/escritura (maestro). Aunque no lo he probado, supongo que funcionará desde jython pasándole al zxJDBC el driver "com.mysql.jdbc.ReplicationDriver". Si lo haces me gustaría conocer cómo te fue: from com.ziclix.python.sql import zxJDBC dburl="jdbc:mysql://master,slave1,slave2,slave3/test" user="user" passwd="password" driver="com.mysql.jdbc.ReplicationDriver" conn=zxJDBC.connect( dburl,user,passwd,driver) cur=conn.cursor() #trabajo con el master conn.setReadOnly(false) cur.execute(.....) #trabajamos con los esclavos en "round-robin" conn.setReadOnly(true) cur.execute(...) Lo que no tengo claro es qué pasa con las transacciones. Podría ser que las transacciones se deshacen (rollback) al pasar a modo de sólo lectura, por lo que se deberían consolidar antes del cambiar el modo. From fvillarroel en yahoo.com Fri Jul 28 04:24:40 2006 From: fvillarroel en yahoo.com (FERNANDO VILLARROEL) Date: Thu, 27 Jul 2006 19:24:40 -0700 (PDT) Subject: Dos Aplicaciones Python compartiendo datos Message-ID: <20060728022440.23724.qmail@web34314.mail.mud.yahoo.com> Hola como puedo ejecutar dos aplicaciones python simultaneamente de modo que la aplicacion A por ejemplo tenga una lista con datos y por otro lado una aplicacion B usando los datos de la lista de la apliaccion A Aplicacion A a=[a,b,c,d] Aplicacion B print AplicacionA.a Bueno espero sus comentarios. Fernando Villarroel N __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com From jcanto en hispasec.com Fri Jul 28 09:35:01 2006 From: jcanto en hispasec.com (Julio Canto) Date: Fri, 28 Jul 2006 09:35:01 +0200 Subject: Dos Aplicaciones Python compartiendo datos In-Reply-To: <20060728022440.23724.qmail@web34314.mail.mud.yahoo.com> References: <20060728022440.23724.qmail@web34314.mail.mud.yahoo.com> Message-ID: <44C9BE25.1000903@hispasec.com> FERNANDO VILLARROEL wrote: > Hola como puedo ejecutar dos aplicaciones python > simultaneamente de modo que la aplicacion A por > ejemplo tenga una lista con datos y por otro lado una > aplicacion B usando los datos de la lista de la > apliaccion A > > Aplicacion A > > a=[a,b,c,d] > > Aplicacion B > > print AplicacionA.a > Creo que lo mejor es que te plantees la arquitectura de eso en lo que tienes que compartir datos. Para lo que tu pides supongo que XMLRPC podria hacer un apaño. Un saludo, JC From elizundia en fitbak.com Fri Jul 28 10:01:18 2006 From: elizundia en fitbak.com (Ekaitz Lizundia) Date: Fri, 28 Jul 2006 10:01:18 +0200 (CEST) Subject: Canvas scroll Message-ID: <1568.87.223.149.130.1154073678.squirrel@mail.fitbak.com> Tengo hecho en tkinter una pantalla lleva de arriba a abajo de etiquetas, pero solo se me ven los que entran en la pantalla, por lo que necesito un scrollbar de esos verticales para que pueda ir bajando en la pantalla. Para eso creo que necesito usar canvas. Mi pantalla esta llena de frames. self.myParent = parent self.buttons_frame = Frame(parent) self.buttons_frame2 = Frame(parent) self.buttons_frame3 = Frame(parent) canv= Canvas (self.myParent) vScrollbar = Tkinter.Scrollbar(root)#root vScrollbar.pack(side=Tkinter.RIGHT, expand=True, fill=Tkinter.Y) hScrollbar = Tkinter.Scrollbar(root)#root hScrollbar.pack(side=Tkinter.BOTTOM, expand=True, fill=Tkinter.X) canv.config( width=300, height=200, scrollregion=(0,0,300,200), yscrollcommand=vScrollbar.set, xscrollcommand=hScrollbar.set, ) vScrollbar.config(orient=Tkinter.VERTICAL, command=canv.yview) hScrollbar.config(orient=Tkinter.HORIZONTAL, command=canv.xview) Con esto me aparecen los scrollbars, pero no funcionan, les doy a la flecha de bajar, pero no me hace caso. Si alguien sabe algo, gracias de antemano From hfoffani en gmail.com Fri Jul 28 13:34:30 2006 From: hfoffani en gmail.com (Hernan M Foffani) Date: Fri, 28 Jul 2006 13:34:30 +0200 Subject: Wrapper para dbapi2 In-Reply-To: <44C7FF45.8040701@diselpro.com> References: <44C7FF45.8040701@diselpro.com> Message-ID: <11fab4bc0607280434v26d9d5eao3d07f9ce0ffb2126@mail.gmail.com> > ... > La otra opción es hacer un wrapper de la dbapi2 de forma que sea > transparente para la aplicación tanto el rounddobin como la > escritura forzada en el servidor A. > La idea es analizar la cadena que se le pasa al "execute" y si es > un select se va a un host (al que le toque el turno) y si es una > operación de escritura se va al host A. > > ¿Alguien se ha encontrado en esta misma situación? Yo he hecho algo parecido (en otro lenguaje y en otra SGBD) Como tú, he pensado en hacer algo transparente pero al final me decanté por tener dos conexiones (o pool de conexiones) a la vez, la de escritura y la de lectura. El problema es que suele ser necesario hacer SELECTs sobre la conexión de escritura porque estás dentro de una transacción. Por ejemplo, para leer el valor asignado a una columna de auto incremento. Si puedes usar lo que te sugirió Chema aprovéchalo. Es bastante tedioso programarlo a mano. -H. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From fvillarroel en yahoo.com Fri Jul 28 15:47:03 2006 From: fvillarroel en yahoo.com (FERNANDO VILLARROEL) Date: Fri, 28 Jul 2006 06:47:03 -0700 (PDT) Subject: Persistencia de datos en RAM Message-ID: <20060728134703.36778.qmail@web34312.mail.mud.yahoo.com> Hola, creo que en el post anterior exprese mal mi consulta. Lo que quiero hacer es que una aplicacion 1 cargue datos en RAM; como listas, diccionarios, etc. Y que dichos datos puedan ser accesibles por atras aplicaciones. Algo estuve viendo con el modulo pickle, pero no se si es lo mas optimo?. Fernando __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com From cescd en yahoo.com.mx Fri Jul 28 15:59:00 2006 From: cescd en yahoo.com.mx (Cesar Cardenas Desales) Date: Fri, 28 Jul 2006 08:59:00 -0500 (CDT) Subject: Dos Aplicaciones Python compartiendo datos In-Reply-To: <44C9BE25.1000903@hispasec.com> References: <44C9BE25.1000903@hispasec.com> Message-ID: <20060728135900.45561.qmail@web50408.mail.yahoo.com> --- Julio Canto escribió: > FERNANDO VILLARROEL wrote: > > Hola como puedo ejecutar dos aplicaciones python > > simultaneamente de modo que la aplicacion A por > > ejemplo tenga una lista con datos y por otro lado > una > > aplicacion B usando los datos de la lista de la > > apliaccion A > > > > Aplicacion A > > > > a=[a,b,c,d] > > > > Aplicacion B > > > > print AplicacionA.a > > > Creo que lo mejor es que te plantees la arquitectura > de eso en lo que > tienes que compartir datos. Para lo que tu pides > supongo que XMLRPC > podria hacer un apaño. > Un saludo, > JC > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > Otra opcion viable seria el uso de sockets, o de las librerias de SOAP. ___________________________________________________________ Do You Yahoo!? La mejor conexión a Internet y 2GB extra a tu correo por $100 al mes. http://net.yahoo.com.mx From hfoffani en gmail.com Fri Jul 28 16:19:04 2006 From: hfoffani en gmail.com (Hernan M Foffani) Date: Fri, 28 Jul 2006 16:19:04 +0200 Subject: Persistencia de datos en RAM In-Reply-To: <20060728134703.36778.qmail@web34312.mail.mud.yahoo.com> References: <20060728134703.36778.qmail@web34312.mail.mud.yahoo.com> Message-ID: <11fab4bc0607280719o173c319bi77dbb2290d4a2eb6@mail.gmail.com> > Lo que quiero hacer es que una aplicacion 1 cargue > datos en RAM; como listas, diccionarios, etc. Y que > dichos datos puedan ser accesibles por atras > aplicaciones. ¿Te refieres a algo como object prevalence? http://advogato.org/article/398.html Una implementación Prevayler para Python es: http://sourceforge.net/projects/pypersyst/ > Algo estuve viendo con el modulo pickle, pero no se si > es lo mas optimo?. Eso te sirve para serializar, lo que en la práctica sería similar a lo que te han recomendado como XMLRPC, SOAP, etc. Luego tienes que considerar todo el manejo de gestion de concurrencia. -H. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From pepe en diselpro.com Sat Jul 29 00:09:49 2006 From: pepe en diselpro.com (Pepe Aracil) Date: Sat, 29 Jul 2006 00:09:49 +0200 Subject: Persistencia de datos en RAM In-Reply-To: <20060728134703.36778.qmail@web34312.mail.mud.yahoo.com> References: <20060728134703.36778.qmail@web34312.mail.mud.yahoo.com> Message-ID: <44CA8B2D.5020307@diselpro.com> FERNANDO VILLARROEL escribió: > Hola, creo que en el post anterior exprese mal mi > consulta. > > Lo que quiero hacer es que una aplicacion 1 cargue > datos en RAM; como listas, diccionarios, etc. Y que > dichos datos puedan ser accesibles por atras > aplicaciones. > > Algo estuve viendo con el modulo pickle, pero no se si > es lo mas optimo?. > > Fernando > > __________________________________________________ > Do You Yahoo!? > Tired of spam? Yahoo! Mail has the best spam protection around > http://mail.yahoo.com > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es Si no quieres utilizar sockets, puedes utilizar dbus En debian son los paquetes: python2.3-dbus - simple interprocess messaging system (Python interface) python2.4-dbus - simple interprocess messaging system (Python interface) From pepe en diselpro.com Sat Jul 29 00:29:18 2006 From: pepe en diselpro.com (Pepe Aracil) Date: Sat, 29 Jul 2006 00:29:18 +0200 Subject: Wrapper para dbapi2 In-Reply-To: <11fab4bc0607280434v26d9d5eao3d07f9ce0ffb2126@mail.gmail.com> References: <44C7FF45.8040701@diselpro.com> <11fab4bc0607280434v26d9d5eao3d07f9ce0ffb2126@mail.gmail.com> Message-ID: <44CA8FBE.9090202@diselpro.com> Gracias a los dos por responderme. Creo que voy a aventurarme a hacer un wrapper transparente para la dbapi. Ya que son muchas lineas de código escrito y como bien comentas es muy tedioso mantener un pool de conexiones de lectura y escritura. En cuanto al hecho de tener que realizar SELECT sobre la conexión de escritura, supongo que se podrá hacer un seguimiento de las transacciones (no es mi caso ya que no uso transacciones en esta app) y desviar el SELECT al host de escritura siempre que esté dentro de una transaccion. Saludos. Hernan M Foffani escribió: >> ... >> La otra opción es hacer un wrapper de la dbapi2 de forma que sea >> transparente para la aplicación tanto el rounddobin como la >> escritura forzada en el servidor A. >> La idea es analizar la cadena que se le pasa al "execute" y si es >> un select se va a un host (al que le toque el turno) y si es una >> operación de escritura se va al host A. >> >> ¿Alguien se ha encontrado en esta misma situación? > > > Yo he hecho algo parecido (en otro lenguaje y en otra SGBD) > Como tú, he pensado en hacer algo transparente pero al final > me decanté por tener dos conexiones (o pool de conexiones) > a la vez, la de escritura y la de lectura. > > El problema es que suele ser necesario hacer SELECTs sobre > la conexión de escritura porque estás dentro de una transacción. > Por ejemplo, para leer el valor asignado a una columna de auto > incremento. > > Si puedes usar lo que te sugirió Chema aprovéchalo. Es bastante > tedioso programarlo a mano. > > -H. > > > ------------------------------------------------------------------------ > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From fvillarroel en yahoo.com Sat Jul 29 01:19:17 2006 From: fvillarroel en yahoo.com (FERNANDO VILLARROEL) Date: Fri, 28 Jul 2006 16:19:17 -0700 (PDT) Subject: Persistencia de datos en RAM In-Reply-To: <44CA8B2D.5020307@diselpro.com> References: <44CA8B2D.5020307@diselpro.com> Message-ID: <20060728231917.87435.qmail@web34306.mail.mud.yahoo.com> Ok gracias a todos voy a probar dbus. Sobre pypersyst parece descontinuado, no encontre documentacion ni los paquetes. Gracias Fernando --- Pepe Aracil wrote: > FERNANDO VILLARROEL escribió: > > Hola, creo que en el post anterior exprese mal mi > > consulta. > > > > Lo que quiero hacer es que una aplicacion 1 cargue > > datos en RAM; como listas, diccionarios, etc. Y > que > > dichos datos puedan ser accesibles por atras > > aplicaciones. > > > > Algo estuve viendo con el modulo pickle, pero no > se si > > es lo mas optimo?. > > > > Fernando > > > > __________________________________________________ > > Do You Yahoo!? > > Tired of spam? Yahoo! Mail has the best spam > protection around > > http://mail.yahoo.com > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es > > Si no quieres utilizar sockets, puedes utilizar dbus > > En debian son los paquetes: > > python2.3-dbus - simple interprocess messaging > system (Python interface) > python2.4-dbus - simple interprocess messaging > system (Python interface) > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com From jcea en argo.es Sat Jul 29 03:18:08 2006 From: jcea en argo.es (Jesus Cea) Date: Sat, 29 Jul 2006 03:18:08 +0200 Subject: Persistencia de datos en RAM In-Reply-To: <20060728134703.36778.qmail@web34312.mail.mud.yahoo.com> References: <20060728134703.36778.qmail@web34312.mail.mud.yahoo.com> Message-ID: <44CAB750.40001@argo.es> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 La solución perfecta para esto es DURUS, y si manejas gigabytes de datos o muchas escrituras, lo amplías con mi "backend": Durus: http://www.mems-exchange.org/software/durus/ My "backend" para Durus: http://www.argo.es/~jcea/programacion/durus-berkeleydbstorage.htm Know How Durus 3.4 http://www.argo.es/%7Ejcea/artic/know_how-durus-3_4.htm La gran ventaja de Durus es que estoy muy involucrado con el proyecto y me puedes preguntar cualquier duda que tengas :-). FERNANDO VILLARROEL wrote: > Hola, creo que en el post anterior exprese mal mi > consulta. > > Lo que quiero hacer es que una aplicacion 1 cargue > datos en RAM; como listas, diccionarios, etc. Y que > dichos datos puedan ser accesibles por atras > aplicaciones. > > Algo estuve viendo con el modulo pickle, pero no se si > es lo mas optimo?. > > Fernando > > __________________________________________________ > Do You Yahoo!? > Tired of spam? Yahoo! Mail has the best spam protection around > http://mail.yahoo.com > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > - -- Jesus Cea Avion _/_/ _/_/_/ _/_/_/ jcea en argo.es http://www.argo.es/~jcea/ _/_/ _/_/ _/_/ _/_/ _/_/ jabber / xmpp:jcea en jabber.org _/_/ _/_/ _/_/_/_/_/ _/_/ _/_/ _/_/ _/_/ _/_/ "Things are not so easy" _/_/ _/_/ _/_/ _/_/ _/_/ _/_/ "My name is Dump, Core Dump" _/_/_/ _/_/_/ _/_/ _/_/ "El amor es poner tu felicidad en la felicidad de otro" - Leibniz -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2.2 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iQCVAwUBRMq3UJlgi5GaxT1NAQK1YgP/WHxNDzLsxFbE59ErmLhq5bepOpFkRgtE V1P41gbJcUSpVC3ike3Dp7LuZ1IuFoBEA9PlhdP9jo2GpSt/xRTXrD6RPFkVqBUd KNVioaXdiOYg1asZnwSVfcrdvD1N4wUGzSiuOSto0B5U49f2laESaunnIvpXzNrD I8IY+tW8/BI= =3ghA -----END PGP SIGNATURE----- ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From cabrerachaparro en gmail.com Sat Jul 29 03:53:57 2006 From: cabrerachaparro en gmail.com (Daniel Cabrera) Date: Fri, 28 Jul 2006 20:53:57 -0500 Subject: Python y Django In-Reply-To: <1153901916.6814.5.camel@localhost.localdomain> References: <8565ad90607242044w38d56237yb0a8f7828c9b83@mail.gmail.com> <200607251119.03826.jordi.f@ati.es> <8565ad90607250723o565327ebu5652e4b02aac37f4@mail.gmail.com> <8565ad90607252141i28db894fi7fa7b1a4620d8cbe@mail.gmail.com> <1153901916.6814.5.camel@localhost.localdomain> Message-ID: <8565ad90607281853v7d8f84fbxd6a8b2f304954a52@mail.gmail.com> Hola de neuvo, tengo un problema ejecutando manage.py shell el problema es que cuando quiero identar usando la tecla tab, no se mueve el cursor y si aprieto 2 veces me sale si quiero mostrar las 161 opciones 2006/7/26, Marcos Sánchez Provencio : > > En lugar de arrancar python a pelo, usa manage.py shell. > > El mar, 25-07-2006 a las 23:41 -0500, Daniel Cabrera escribió: > > Hola, > > todavia no puedo cargar los modulos en el admin, tambien por ejemplo > dentro > > del shell de Python le doy from jobs.models import Job y me sale el > > siguiente error: > > EnvironmentError: Environment variable DJANGO_SETTINGS_MODULE is > undefined. > > > > Despues de exportar la variable de entorno y darle la ruta de mi > proyecto ya > > puedo importar, pero por ejemplo si pongo print y el nombre de alguna > > variable que esta en la clase Job me dice que no esta definida, de > verdad ya > > no se que mover he seguido todos los pasos que estan en el manual, quiza > el > > manual falta especificar algunos pasos mas o no se. > > > > De todas maneras muchas gracias. > > > > 2006/7/25, Daniel Cabrera : > > > > > > voy a probar los pasos que me dicen, en cuanto en lo que esta en la > > > seccion 7 si lo he hecho, el unico cambio que hice es usar MySQL en > vez > > > SQLite, pero he visto que si me ha creado las tablas, asi que creo que > por > > > ese lado esta bien, despues al principio no podia importar los modulos > desde > > > el Shell de Python, pero luego de poner export DJANGO_SETTINGS, algo > asi > > > creo que era la variable, y la ruta de mi proyecto pude importar los > > > modulos. > > > > > > El día 25/07/06, Jordi Funollet escribió: > > > > > > > Daniel Cabrera dixit: > > > > > Hola, > > > > > estoy siguiendo un manual de Django que esta en la pagina de IBM ( > > > > > > http://www-128.ibm.com/developerworks/linux/library/l-django/index.html > > > > ) > > > > > Pero en el Listing 19 me indica como agregar una clase usando el > > > > > admin-tool, se supone que al iniciar el admin tool via browser me > debe > > > > > avisar que tengo un modelo para instalar, al menos eso es lo que > > > > entiendo, > > > > > pero no me aparece nada de algun modulo, si logro ingresar, pero > solo > > > > hay > > > > > opciones de usario, grupo y sites. > > > > > > > > Si has seguido todos los pasos ya tienes el módulo instalado: puedes > ver > > > > las > > > > clases en los ficheros, deberias poder ver las tablas creadas si > miras > > > > el "schema" de la base de datos, e incluso puedes modificar datos > desde > > > > la > > > > linea de comandos (prueba con './manage shell' y cargar el módulo > > > > correspondiente). > > > > > > > > Lo que hace el listado 19 es mostar el módulo en la interfície de > > > > administración web, igual que muestra 'users' y compañía. Lo > primero, > > > > para y > > > > vuelve a lanzar el servidor web para asegurarte de que aplica los > > > > cambios. Me > > > > ha pasado muy raramente, pero alguna vez no ha detectado algun > cambio > > > > hasta > > > > que lo he reiniciado. > > > > > > > > ¿El resto de pasos te funcionan? ¿Puedes importar el módulo desde la > > > > shell? > > > > > > > > -- > > > > ############################## > > > > ### Jordi Funollet > > > > ### http://www.terraquis.net > > > > _______________________________________________ > > > > Python-es mailing list > > > > Python-es en aditel.org > > > > http://listas.aditel.org/listinfo/python-es > > > > > > > > > > > > > > > > -- > > > Daniel Cabrera Chaparro > > > > > > > > > > > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > > > -- Daniel Cabrera Chaparro From fvillarroel en yahoo.com Sat Jul 29 04:29:50 2006 From: fvillarroel en yahoo.com (FERNANDO VILLARROEL) Date: Fri, 28 Jul 2006 19:29:50 -0700 (PDT) Subject: Persistencia de datos en RAM In-Reply-To: <44CAB750.40001@argo.es> References: <44CAB750.40001@argo.es> Message-ID: <20060729022950.42494.qmail@web34302.mail.mud.yahoo.com> Gracias Gesus se ve bastante bueno el proyecto. Mira si efectivamente mi escenario es que necesito cargar en RAM listas y diccionarios que contienen datos extraidos desde n motor Postgresql. El asunto es que tengo unos script Python que se desencadenan automaticamente como CGI, estos CGI son llamados desde Asterisk, por cada llamado que entra al servidor Asterisk se ejectuta un script que carga informacion desde el motor Postgres, entonces entenderas que si entran 100 llamados estaran 100 veces los mismos datos en instancias diferentes, pero consumiendo muchos recursos. Entonces lo que se me ocurrio es cargar desde python estos datos en RAm y que los script CGI Python usen sus datos en lugar de llamar al motor nuevamente. Estuve leyendo las paginas de DURUS que me linkeaste y veo que se utiliza contra bases de datos. Bueno segun mi requerimiento como o de que manera puedo implementar dicho escenario. Ah importante a considerar es que obviamente si hay una actualizacion en la base de datos, los datos en RAM tambien deben actualizarse. Mi Base de Datos es PostgreSQL. Bueno espero me expliques para comenzar a utilizar DURUS. Gracias --- Jesus Cea wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > La solución perfecta para esto es DURUS, y si > manejas gigabytes de datos > o muchas escrituras, lo amplías con mi "backend": > > Durus: > http://www.mems-exchange.org/software/durus/ > > My "backend" para Durus: > http://www.argo.es/~jcea/programacion/durus-berkeleydbstorage.htm > > Know How Durus 3.4 > http://www.argo.es/%7Ejcea/artic/know_how-durus-3_4.htm > > La gran ventaja de Durus es que estoy muy > involucrado con el proyecto y > me puedes preguntar cualquier duda que tengas :-). > > > FERNANDO VILLARROEL wrote: > > Hola, creo que en el post anterior exprese mal mi > > consulta. > > > > Lo que quiero hacer es que una aplicacion 1 cargue > > datos en RAM; como listas, diccionarios, etc. Y > que > > dichos datos puedan ser accesibles por atras > > aplicaciones. > > > > Algo estuve viendo con el modulo pickle, pero no > se si > > es lo mas optimo?. > > > > Fernando > > > > __________________________________________________ > > Do You Yahoo!? > > Tired of spam? Yahoo! Mail has the best spam > protection around > > http://mail.yahoo.com > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es > > > > - -- > Jesus Cea Avion _/_/ > _/_/_/ _/_/_/ > jcea en argo.es http://www.argo.es/~jcea/ _/_/ _/_/ > _/_/ _/_/ _/_/ > jabber / xmpp:jcea en jabber.org _/_/ _/_/ > _/_/_/_/_/ > _/_/ _/_/ _/_/ > _/_/ _/_/ > "Things are not so easy" _/_/ _/_/ _/_/ > _/_/ _/_/ _/_/ > "My name is Dump, Core Dump" _/_/_/ _/_/_/ > _/_/ _/_/ > "El amor es poner tu felicidad en la felicidad de > otro" - Leibniz > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.2.2 (GNU/Linux) > Comment: Using GnuPG with Mozilla - > http://enigmail.mozdev.org > > iQCVAwUBRMq3UJlgi5GaxT1NAQK1YgP/WHxNDzLsxFbE59ErmLhq5bepOpFkRgtE > V1P41gbJcUSpVC3ike3Dp7LuZ1IuFoBEA9PlhdP9jo2GpSt/xRTXrD6RPFkVqBUd > KNVioaXdiOYg1asZnwSVfcrdvD1N4wUGzSiuOSto0B5U49f2laESaunnIvpXzNrD > I8IY+tW8/BI= > =3ghA > -----END PGP SIGNATURE----- > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com From jordi.f en ati.es Sat Jul 29 13:16:46 2006 From: jordi.f en ati.es (Jordi Funollet) Date: Sat, 29 Jul 2006 13:16:46 +0200 Subject: Python y Django In-Reply-To: <8565ad90607281853v7d8f84fbxd6a8b2f304954a52@mail.gmail.com> References: <8565ad90607242044w38d56237yb0a8f7828c9b83@mail.gmail.com> <1153901916.6814.5.camel@localhost.localdomain> <8565ad90607281853v7d8f84fbxd6a8b2f304954a52@mail.gmail.com> Message-ID: <200607291316.46704.jordi.f@ati.es> Daniel Cabrera dixit: > Hola de neuvo, > tengo un problema ejecutando manage.py shell > el problema es que cuando quiero identar usando la tecla tab, no se mueve > el cursor y si aprieto 2 veces me sale si quiero mostrar las 161 opciones Hola Daniel, La shell de Python que llamas con './manage shell' esta configurada para ayudarte autocompletando lo que escribes si "le das" al tabulador. Por ejemplo, si empiezas a escribir "imp" y aprietas el tabulador verás que ella sola te lo completa a "import". Usa espacios para indentar y disfruta el autocompletado. ;-) -- ############################## ### Jordi Funollet ### http://www.terraquis.net From rapto en arrakis.es Sat Jul 29 13:42:30 2006 From: rapto en arrakis.es (Marcos =?ISO-8859-1?Q?S=E1nchez?= Provencio) Date: Sat, 29 Jul 2006 13:42:30 +0200 Subject: Python y Django In-Reply-To: <8565ad90607281853v7d8f84fbxd6a8b2f304954a52@mail.gmail.com> References: <8565ad90607242044w38d56237yb0a8f7828c9b83@mail.gmail.com> <200607251119.03826.jordi.f@ati.es> <8565ad90607250723o565327ebu5652e4b02aac37f4@mail.gmail.com> <8565ad90607252141i28db894fi7fa7b1a4620d8cbe@mail.gmail.com> <1153901916.6814.5.camel@localhost.localdomain> <8565ad90607281853v7d8f84fbxd6a8b2f304954a52@mail.gmail.com> Message-ID: <1154173351.6401.4.camel@localhost.localdomain> Es una shell listilla. tab sirve para autocompletar, lo que acelera bastante la escritura. Indenta con un par de espacios. El vie, 28-07-2006 a las 20:53 -0500, Daniel Cabrera escribió: > Hola de neuvo, > tengo un problema ejecutando manage.py shell > el problema es que cuando quiero identar usando la tecla tab, no se mueve el > cursor y si aprieto 2 veces me sale si quiero mostrar las 161 opciones > > 2006/7/26, Marcos Sánchez Provencio : > > > > En lugar de arrancar python a pelo, usa manage.py shell. > > > > El mar, 25-07-2006 a las 23:41 -0500, Daniel Cabrera escribió: > > > Hola, > > > todavia no puedo cargar los modulos en el admin, tambien por ejemplo > > dentro > > > del shell de Python le doy from jobs.models import Job y me sale el > > > siguiente error: > > > EnvironmentError: Environment variable DJANGO_SETTINGS_MODULE is > > undefined. > > > > > > Despues de exportar la variable de entorno y darle la ruta de mi > > proyecto ya > > > puedo importar, pero por ejemplo si pongo print y el nombre de alguna > > > variable que esta en la clase Job me dice que no esta definida, de > > verdad ya > > > no se que mover he seguido todos los pasos que estan en el manual, quiza > > el > > > manual falta especificar algunos pasos mas o no se. > > > > > > De todas maneras muchas gracias. > > > > > > 2006/7/25, Daniel Cabrera : > > > > > > > > voy a probar los pasos que me dicen, en cuanto en lo que esta en la > > > > seccion 7 si lo he hecho, el unico cambio que hice es usar MySQL en > > vez > > > > SQLite, pero he visto que si me ha creado las tablas, asi que creo que > > por > > > > ese lado esta bien, despues al principio no podia importar los modulos > > desde > > > > el Shell de Python, pero luego de poner export DJANGO_SETTINGS, algo > > asi > > > > creo que era la variable, y la ruta de mi proyecto pude importar los > > > > modulos. > > > > > > > > El día 25/07/06, Jordi Funollet escribió: > > > > > > > > > Daniel Cabrera dixit: > > > > > > Hola, > > > > > > estoy siguiendo un manual de Django que esta en la pagina de IBM ( > > > > > > > > http://www-128.ibm.com/developerworks/linux/library/l-django/index.html > > > > > ) > > > > > > Pero en el Listing 19 me indica como agregar una clase usando el > > > > > > admin-tool, se supone que al iniciar el admin tool via browser me > > debe > > > > > > avisar que tengo un modelo para instalar, al menos eso es lo que > > > > > entiendo, > > > > > > pero no me aparece nada de algun modulo, si logro ingresar, pero > > solo > > > > > hay > > > > > > opciones de usario, grupo y sites. > > > > > > > > > > Si has seguido todos los pasos ya tienes el módulo instalado: puedes > > ver > > > > > las > > > > > clases en los ficheros, deberias poder ver las tablas creadas si > > miras > > > > > el "schema" de la base de datos, e incluso puedes modificar datos > > desde > > > > > la > > > > > linea de comandos (prueba con './manage shell' y cargar el módulo > > > > > correspondiente). > > > > > > > > > > Lo que hace el listado 19 es mostar el módulo en la interfície de > > > > > administración web, igual que muestra 'users' y compañía. Lo > > primero, > > > > > para y > > > > > vuelve a lanzar el servidor web para asegurarte de que aplica los > > > > > cambios. Me > > > > > ha pasado muy raramente, pero alguna vez no ha detectado algun > > cambio > > > > > hasta > > > > > que lo he reiniciado. > > > > > > > > > > ¿El resto de pasos te funcionan? ¿Puedes importar el módulo desde la > > > > > shell? > > > > > > > > > > -- > > > > > ############################## > > > > > ### Jordi Funollet > > > > > ### http://www.terraquis.net > > > > > _______________________________________________ > > > > > Python-es mailing list > > > > > Python-es en aditel.org > > > > > http://listas.aditel.org/listinfo/python-es > > > > > > > > > > > > > > > > > > > > > -- > > > > Daniel Cabrera Chaparro > > > > > > > > > > > > > > > > > > > > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es > > > > > > > > From cabrerachaparro en gmail.com Sun Jul 30 06:07:31 2006 From: cabrerachaparro en gmail.com (Daniel Cabrera) Date: Sat, 29 Jul 2006 23:07:31 -0500 Subject: Python y Django In-Reply-To: <1154173351.6401.4.camel@localhost.localdomain> References: <8565ad90607242044w38d56237yb0a8f7828c9b83@mail.gmail.com> <200607251119.03826.jordi.f@ati.es> <8565ad90607250723o565327ebu5652e4b02aac37f4@mail.gmail.com> <8565ad90607252141i28db894fi7fa7b1a4620d8cbe@mail.gmail.com> <1153901916.6814.5.camel@localhost.localdomain> <8565ad90607281853v7d8f84fbxd6a8b2f304954a52@mail.gmail.com> <1154173351.6401.4.camel@localhost.localdomain> Message-ID: <8565ad90607292107y3fd9d067y38139849cf87f190@mail.gmail.com> Hola, disculpen que vuelva a fastidiar, ya corri el Listing 11 del tutorial, lo cual es lo siguiente: from jobs.models import Job >>> for job in Job.objects.all(): ... print job pero no me aparece nada, ni mensaje de error, quiza por ahi val el problema que tengo. Muchas gracias El día 29/07/06, Marcos Sánchez Provencio escribió: > > Es una shell listilla. tab sirve para autocompletar, lo que acelera > bastante la escritura. Indenta con un par de espacios. > > El vie, 28-07-2006 a las 20:53 -0500, Daniel Cabrera escribió: > > Hola de neuvo, > > tengo un problema ejecutando manage.py shell > > el problema es que cuando quiero identar usando la tecla tab, no se > mueve el > > cursor y si aprieto 2 veces me sale si quiero mostrar las 161 opciones > > > > 2006/7/26, Marcos Sánchez Provencio : > > > > > > En lugar de arrancar python a pelo, usa manage.py shell. > > > > > > El mar, 25-07-2006 a las 23:41 -0500, Daniel Cabrera escribió: > > > > Hola, > > > > todavia no puedo cargar los modulos en el admin, tambien por ejemplo > > > dentro > > > > del shell de Python le doy from jobs.models import Job y me sale el > > > > siguiente error: > > > > EnvironmentError: Environment variable DJANGO_SETTINGS_MODULE is > > > undefined. > > > > > > > > Despues de exportar la variable de entorno y darle la ruta de mi > > > proyecto ya > > > > puedo importar, pero por ejemplo si pongo print y el nombre de > alguna > > > > variable que esta en la clase Job me dice que no esta definida, de > > > verdad ya > > > > no se que mover he seguido todos los pasos que estan en el manual, > quiza > > > el > > > > manual falta especificar algunos pasos mas o no se. > > > > > > > > De todas maneras muchas gracias. > > > > > > > > 2006/7/25, Daniel Cabrera : > > > > > > > > > > voy a probar los pasos que me dicen, en cuanto en lo que esta en > la > > > > > seccion 7 si lo he hecho, el unico cambio que hice es usar MySQL > en > > > vez > > > > > SQLite, pero he visto que si me ha creado las tablas, asi que creo > que > > > por > > > > > ese lado esta bien, despues al principio no podia importar los > modulos > > > desde > > > > > el Shell de Python, pero luego de poner export DJANGO_SETTINGS, > algo > > > asi > > > > > creo que era la variable, y la ruta de mi proyecto pude importar > los > > > > > modulos. > > > > > > > > > > El día 25/07/06, Jordi Funollet escribió: > > > > > > > > > > > Daniel Cabrera dixit: > > > > > > > Hola, > > > > > > > estoy siguiendo un manual de Django que esta en la pagina de > IBM ( > > > > > > > > > > > http://www-128.ibm.com/developerworks/linux/library/l-django/index.html > > > > > > ) > > > > > > > Pero en el Listing 19 me indica como agregar una clase usando > el > > > > > > > admin-tool, se supone que al iniciar el admin tool via browser > me > > > debe > > > > > > > avisar que tengo un modelo para instalar, al menos eso es lo > que > > > > > > entiendo, > > > > > > > pero no me aparece nada de algun modulo, si logro ingresar, > pero > > > solo > > > > > > hay > > > > > > > opciones de usario, grupo y sites. > > > > > > > > > > > > Si has seguido todos los pasos ya tienes el módulo instalado: > puedes > > > ver > > > > > > las > > > > > > clases en los ficheros, deberias poder ver las tablas creadas si > > > miras > > > > > > el "schema" de la base de datos, e incluso puedes modificar > datos > > > desde > > > > > > la > > > > > > linea de comandos (prueba con './manage shell' y cargar el > módulo > > > > > > correspondiente). > > > > > > > > > > > > Lo que hace el listado 19 es mostar el módulo en la interfície > de > > > > > > administración web, igual que muestra 'users' y compañía. Lo > > > primero, > > > > > > para y > > > > > > vuelve a lanzar el servidor web para asegurarte de que aplica > los > > > > > > cambios. Me > > > > > > ha pasado muy raramente, pero alguna vez no ha detectado algun > > > cambio > > > > > > hasta > > > > > > que lo he reiniciado. > > > > > > > > > > > > ¿El resto de pasos te funcionan? ¿Puedes importar el módulo > desde la > > > > > > shell? > > > > > > > > > > > > -- > > > > > > ############################## > > > > > > ### Jordi Funollet > > > > > > ### http://www.terraquis.net > > > > > > _______________________________________________ > > > > > > Python-es mailing list > > > > > > Python-es en aditel.org > > > > > > http://listas.aditel.org/listinfo/python-es > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > Daniel Cabrera Chaparro > > > > > > > > > > > > > > > > > > > > > > > > > > > > > _______________________________________________ > > > Python-es mailing list > > > Python-es en aditel.org > > > http://listas.aditel.org/listinfo/python-es > > > > > > > > > > > > > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > -- Daniel Cabrera Chaparro From rapto en arrakis.es Sun Jul 30 10:03:22 2006 From: rapto en arrakis.es (Marcos =?ISO-8859-1?Q?S=E1nchez?= Provencio) Date: Sun, 30 Jul 2006 10:03:22 +0200 Subject: Python y Django In-Reply-To: <8565ad90607292107y3fd9d067y38139849cf87f190@mail.gmail.com> References: <8565ad90607242044w38d56237yb0a8f7828c9b83@mail.gmail.com> <200607251119.03826.jordi.f@ati.es> <8565ad90607250723o565327ebu5652e4b02aac37f4@mail.gmail.com> <8565ad90607252141i28db894fi7fa7b1a4620d8cbe@mail.gmail.com> <1153901916.6814.5.camel@localhost.localdomain> <8565ad90607281853v7d8f84fbxd6a8b2f304954a52@mail.gmail.com> <1154173351.6401.4.camel@localhost.localdomain> <8565ad90607292107y3fd9d067y38139849cf87f190@mail.gmail.com> Message-ID: <1154246603.6210.10.camel@localhost.localdomain> He mirado el tutorial y da lugar a error. Efectivamente, te muestra todos los cero jobs dados de alta ;-) Si quieres ver algo, da de alta algún job, desde la línea de órdenes o desde la web de administración. Por ejemplo (no está probado): import datetime location=Location(city='Madrid',country=u'España') location.save() job=Job(pub_date=datetime.datetime.now(), job_title='Preboste plenipotenciario', job_description=u'Jefe con poder omnímodo' location=location) job.save() El sáb, 29-07-2006 a las 23:07 -0500, Daniel Cabrera escribió: > Hola, > disculpen que vuelva a fastidiar, ya corri el Listing 11 del tutorial, lo > cual es lo siguiente: > > from jobs.models import Job > >>> for job in Job.objects.all(): > ... print job > > pero no me aparece nada, ni mensaje de error, quiza por ahi val el problema > que tengo. > > Muchas gracias > > El día 29/07/06, Marcos Sánchez Provencio escribió: > > > > Es una shell listilla. tab sirve para autocompletar, lo que acelera > > bastante la escritura. Indenta con un par de espacios. > > > > El vie, 28-07-2006 a las 20:53 -0500, Daniel Cabrera escribió: > > > Hola de neuvo, > > > tengo un problema ejecutando manage.py shell > > > el problema es que cuando quiero identar usando la tecla tab, no se > > mueve el > > > cursor y si aprieto 2 veces me sale si quiero mostrar las 161 opciones > > > > > > 2006/7/26, Marcos Sánchez Provencio : > > > > > > > > En lugar de arrancar python a pelo, usa manage.py shell. > > > > > > > > El mar, 25-07-2006 a las 23:41 -0500, Daniel Cabrera escribió: > > > > > Hola, > > > > > todavia no puedo cargar los modulos en el admin, tambien por ejemplo > > > > dentro > > > > > del shell de Python le doy from jobs.models import Job y me sale el > > > > > siguiente error: > > > > > EnvironmentError: Environment variable DJANGO_SETTINGS_MODULE is > > > > undefined. > > > > > > > > > > Despues de exportar la variable de entorno y darle la ruta de mi > > > > proyecto ya > > > > > puedo importar, pero por ejemplo si pongo print y el nombre de > > alguna > > > > > variable que esta en la clase Job me dice que no esta definida, de > > > > verdad ya > > > > > no se que mover he seguido todos los pasos que estan en el manual, > > quiza > > > > el > > > > > manual falta especificar algunos pasos mas o no se. > > > > > > > > > > De todas maneras muchas gracias. > > > > > > > > > > 2006/7/25, Daniel Cabrera : > > > > > > > > > > > > voy a probar los pasos que me dicen, en cuanto en lo que esta en > > la > > > > > > seccion 7 si lo he hecho, el unico cambio que hice es usar MySQL > > en > > > > vez > > > > > > SQLite, pero he visto que si me ha creado las tablas, asi que creo > > que > > > > por > > > > > > ese lado esta bien, despues al principio no podia importar los > > modulos > > > > desde > > > > > > el Shell de Python, pero luego de poner export DJANGO_SETTINGS, > > algo > > > > asi > > > > > > creo que era la variable, y la ruta de mi proyecto pude importar > > los > > > > > > modulos. > > > > > > > > > > > > El día 25/07/06, Jordi Funollet escribió: > > > > > > > > > > > > > Daniel Cabrera dixit: > > > > > > > > Hola, > > > > > > > > estoy siguiendo un manual de Django que esta en la pagina de > > IBM ( > > > > > > > > > > > > > > http://www-128.ibm.com/developerworks/linux/library/l-django/index.html > > > > > > > ) > > > > > > > > Pero en el Listing 19 me indica como agregar una clase usando > > el > > > > > > > > admin-tool, se supone que al iniciar el admin tool via browser > > me > > > > debe > > > > > > > > avisar que tengo un modelo para instalar, al menos eso es lo > > que > > > > > > > entiendo, > > > > > > > > pero no me aparece nada de algun modulo, si logro ingresar, > > pero > > > > solo > > > > > > > hay > > > > > > > > opciones de usario, grupo y sites. > > > > > > > > > > > > > > Si has seguido todos los pasos ya tienes el módulo instalado: > > puedes > > > > ver > > > > > > > las > > > > > > > clases en los ficheros, deberias poder ver las tablas creadas si > > > > miras > > > > > > > el "schema" de la base de datos, e incluso puedes modificar > > datos > > > > desde > > > > > > > la > > > > > > > linea de comandos (prueba con './manage shell' y cargar el > > módulo > > > > > > > correspondiente). > > > > > > > > > > > > > > Lo que hace el listado 19 es mostar el módulo en la interfície > > de > > > > > > > administración web, igual que muestra 'users' y compañía. Lo > > > > primero, > > > > > > > para y > > > > > > > vuelve a lanzar el servidor web para asegurarte de que aplica > > los > > > > > > > cambios. Me > > > > > > > ha pasado muy raramente, pero alguna vez no ha detectado algun > > > > cambio > > > > > > > hasta > > > > > > > que lo he reiniciado. > > > > > > > > > > > > > > ¿El resto de pasos te funcionan? ¿Puedes importar el módulo > > desde la > > > > > > > shell? > > > > > > > > > > > > > > -- > > > > > > > ############################## > > > > > > > ### Jordi Funollet > > > > > > > ### http://www.terraquis.net > > > > > > > _______________________________________________ > > > > > > > Python-es mailing list > > > > > > > Python-es en aditel.org > > > > > > > http://listas.aditel.org/listinfo/python-es > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > Daniel Cabrera Chaparro > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > _______________________________________________ > > > > Python-es mailing list > > > > Python-es en aditel.org > > > > http://listas.aditel.org/listinfo/python-es > > > > > > > > > > > > > > > > > > > > > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es > > > > > From camontuyu en yahoo.es Sun Jul 30 12:21:17 2006 From: camontuyu en yahoo.es (camontuyu) Date: Sun, 30 Jul 2006 12:21:17 +0200 Subject: grupos de gtk.ToggleButton Message-ID: <1154254878.16784.2.camel@cpuppktp> Hola, existe la posibilidad de hacer grupos de botones toggles (gtk.ToggleButton) para que solo este activo uno, de forma similar a los botone de radio, como se muestra en el ejemplo: w = gtk.Window() v = gtk.VBox() b1 = gtk.RadioButton(label="Cows") b2 = gtk.RadioButton(label="Dogs", group=b1) b3 = gtk.RadioButton(label="Mountains", group=b1) v.add(b1) v.add(b2) v.add(b3) w.add(v) w.show_all() Gracias y Saludos a todos. ______________________________________________ LLama Gratis a cualquier PC del Mundo. Llamadas a fijos y móviles desde 1 céntimo por minuto. http://es.voice.yahoo.com ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From foxandxss en gmail.com Sun Jul 30 15:42:17 2006 From: foxandxss en gmail.com (Jesus Rodriguez) Date: Sun, 30 Jul 2006 15:42:17 +0200 Subject: grupos de gtk.ToggleButton In-Reply-To: <1154254878.16784.2.camel@cpuppktp> References: <1154254878.16784.2.camel@cpuppktp> Message-ID: <2a1edb210607300642g3ea48995w7178e2f316cef635@mail.gmail.com> En caso de que no se pueda, podrías supongo implementar algo para que cuando actives un boton, se desactive el resto. Un saludo. El día 30/07/06, camontuyu escribió: > > Hola, > > existe la posibilidad de hacer grupos de botones toggles > (gtk.ToggleButton) para que solo este activo uno, de forma similar a los > botone de radio, como se muestra en el ejemplo: > > w = gtk.Window() > v = gtk.VBox() > b1 = gtk.RadioButton(label="Cows") > b2 = gtk.RadioButton(label="Dogs", group=b1) > b3 = gtk.RadioButton(label="Mountains", group=b1) > v.add(b1) > v.add(b2) > v.add(b3) > w.add(v) > w.show_all() > > Gracias y Saludos a todos. > > > > ______________________________________________ > LLama Gratis a cualquier PC del Mundo. > Llamadas a fijos y móviles desde 1 céntimo por minuto. > http://es.voice.yahoo.com > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > > > From camontuyu en yahoo.es Sun Jul 30 16:31:09 2006 From: camontuyu en yahoo.es (camontuyu) Date: Sun, 30 Jul 2006 16:31:09 +0200 Subject: grupos de gtk.ToggleButton In-Reply-To: <2a1edb210607300642g3ea48995w7178e2f316cef635@mail.gmail.com> References: <1154254878.16784.2.camel@cpuppktp> <2a1edb210607300642g3ea48995w7178e2f316cef635@mail.gmail.com> Message-ID: <1154269869.16784.5.camel@cpuppktp> El dom, 30-07-2006 a las 15:42 +0200, Jesus Rodriguez escribió: > En caso de que no se pueda, podrías supongo implementar algo para que cuando > actives un boton, se desactive el resto. > > Un saludo. Si esa opción ya la tenía en mete, pero preguntaba a la lista si existe la posibilidad de agruparlos, al estilo de gtk.SizeGroup para que varios controles tengan el mismo tamaño y tal. ______________________________________________ LLama Gratis a cualquier PC del Mundo. Llamadas a fijos y móviles desde 1 céntimo por minuto. http://es.voice.yahoo.com ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From hsantos78 en yahoo.es Mon Jul 31 00:13:01 2006 From: hsantos78 en yahoo.es (Hector Santos) Date: Mon, 31 Jul 2006 00:13:01 +0200 (CEST) Subject: Punto de Venta Message-ID: <20060730221301.58825.qmail@web27011.mail.ukl.yahoo.com> Hola. Estoy aprendiendo Python con unos libros y me esta gustando. Ahora tengo una duda. Queria saber si hay algun proyecto de software libre escrito en Python de Punto de Venta. He buscado por varios lados y no he encontrado en Python (si en Java). Hay algun lugar especifico para ver los proyectos de sw libre escritos en Python? Atentamente Hector ______________________________________________ LLama Gratis a cualquier PC del Mundo. Llamadas a fijos y móviles desde 1 céntimo por minuto. http://es.voice.yahoo.com From jordi.f en ati.es Mon Jul 31 00:21:34 2006 From: jordi.f en ati.es (Jordi Funollet) Date: Mon, 31 Jul 2006 00:21:34 +0200 Subject: Punto de Venta In-Reply-To: <20060730221301.58825.qmail@web27011.mail.ukl.yahoo.com> References: <20060730221301.58825.qmail@web27011.mail.ukl.yahoo.com> Message-ID: <200607310021.34770.jordi.f@ati.es> Hector Santos dixit: > Hola. Estoy aprendiendo Python con unos libros y me > esta gustando. Ahora tengo una duda. Queria saber si > hay algun proyecto de software libre escrito en Python > de Punto de Venta. No estoy muy seguro pero creo que TinyERP_ tiene un módulo para puntos de venta. .. _TinyERP: http://www.tinyerp.org/ -- ############################## ### Jordi Funollet ### http://www.terraquis.net From cabrerachaparro en gmail.com Mon Jul 31 04:12:47 2006 From: cabrerachaparro en gmail.com (Daniel Cabrera) Date: Sun, 30 Jul 2006 21:12:47 -0500 Subject: Python y Django In-Reply-To: <1154246603.6210.10.camel@localhost.localdomain> References: <8565ad90607242044w38d56237yb0a8f7828c9b83@mail.gmail.com> <200607251119.03826.jordi.f@ati.es> <8565ad90607250723o565327ebu5652e4b02aac37f4@mail.gmail.com> <8565ad90607252141i28db894fi7fa7b1a4620d8cbe@mail.gmail.com> <1153901916.6814.5.camel@localhost.localdomain> <8565ad90607281853v7d8f84fbxd6a8b2f304954a52@mail.gmail.com> <1154173351.6401.4.camel@localhost.localdomain> <8565ad90607292107y3fd9d067y38139849cf87f190@mail.gmail.com> <1154246603.6210.10.camel@localhost.localdomain> Message-ID: <8565ad90607301912g2a867fa3o4dde02fa3d2ced3e@mail.gmail.com> parece ser que este manual no esta muy bien que digamos, sabran de alguno bueno para recomendarmelo? Gracias El día 30/07/06, Marcos Sánchez Provencio escribió: > > He mirado el tutorial y da lugar a error. Efectivamente, te muestra > todos los cero jobs dados de alta ;-) > > Si quieres ver algo, da de alta algún job, desde la línea de órdenes o > desde la web de administración. Por ejemplo (no está probado): > import datetime > location=Location(city='Madrid',country=u'España') > location.save() > job=Job(pub_date=datetime.datetime.now(), > job_title='Preboste plenipotenciario', > job_description=u'Jefe con poder omnímodo' > location=location) > job.save() > > El sáb, 29-07-2006 a las 23:07 -0500, Daniel Cabrera escribió: > > Hola, > > disculpen que vuelva a fastidiar, ya corri el Listing 11 del tutorial, > lo > > cual es lo siguiente: > > > > from jobs.models import Job > > >>> for job in Job.objects.all(): > > ... print job > > > > pero no me aparece nada, ni mensaje de error, quiza por ahi val el > problema > > que tengo. > > > > Muchas gracias > > > > El día 29/07/06, Marcos Sánchez Provencio escribió: > > > > > > Es una shell listilla. tab sirve para autocompletar, lo que acelera > > > bastante la escritura. Indenta con un par de espacios. > > > > > > El vie, 28-07-2006 a las 20:53 -0500, Daniel Cabrera escribió: > > > > Hola de neuvo, > > > > tengo un problema ejecutando manage.py shell > > > > el problema es que cuando quiero identar usando la tecla tab, no se > > > mueve el > > > > cursor y si aprieto 2 veces me sale si quiero mostrar las 161 > opciones > > > > > > > > 2006/7/26, Marcos Sánchez Provencio : > > > > > > > > > > En lugar de arrancar python a pelo, usa manage.py shell. > > > > > > > > > > El mar, 25-07-2006 a las 23:41 -0500, Daniel Cabrera escribió: > > > > > > Hola, > > > > > > todavia no puedo cargar los modulos en el admin, tambien por > ejemplo > > > > > dentro > > > > > > del shell de Python le doy from jobs.models import Job y me sale > el > > > > > > siguiente error: > > > > > > EnvironmentError: Environment variable DJANGO_SETTINGS_MODULE is > > > > > undefined. > > > > > > > > > > > > Despues de exportar la variable de entorno y darle la ruta de mi > > > > > proyecto ya > > > > > > puedo importar, pero por ejemplo si pongo print y el nombre de > > > alguna > > > > > > variable que esta en la clase Job me dice que no esta definida, > de > > > > > verdad ya > > > > > > no se que mover he seguido todos los pasos que estan en el > manual, > > > quiza > > > > > el > > > > > > manual falta especificar algunos pasos mas o no se. > > > > > > > > > > > > De todas maneras muchas gracias. > > > > > > > > > > > > 2006/7/25, Daniel Cabrera : > > > > > > > > > > > > > > voy a probar los pasos que me dicen, en cuanto en lo que esta > en > > > la > > > > > > > seccion 7 si lo he hecho, el unico cambio que hice es usar > MySQL > > > en > > > > > vez > > > > > > > SQLite, pero he visto que si me ha creado las tablas, asi que > creo > > > que > > > > > por > > > > > > > ese lado esta bien, despues al principio no podia importar los > > > modulos > > > > > desde > > > > > > > el Shell de Python, pero luego de poner export > DJANGO_SETTINGS, > > > algo > > > > > asi > > > > > > > creo que era la variable, y la ruta de mi proyecto pude > importar > > > los > > > > > > > modulos. > > > > > > > > > > > > > > El día 25/07/06, Jordi Funollet escribió: > > > > > > > > > > > > > > > Daniel Cabrera dixit: > > > > > > > > > Hola, > > > > > > > > > estoy siguiendo un manual de Django que esta en la pagina > de > > > IBM ( > > > > > > > > > > > > > > > > > > http://www-128.ibm.com/developerworks/linux/library/l-django/index.html > > > > > > > > ) > > > > > > > > > Pero en el Listing 19 me indica como agregar una clase > usando > > > el > > > > > > > > > admin-tool, se supone que al iniciar el admin tool via > browser > > > me > > > > > debe > > > > > > > > > avisar que tengo un modelo para instalar, al menos eso es > lo > > > que > > > > > > > > entiendo, > > > > > > > > > pero no me aparece nada de algun modulo, si logro > ingresar, > > > pero > > > > > solo > > > > > > > > hay > > > > > > > > > opciones de usario, grupo y sites. > > > > > > > > > > > > > > > > Si has seguido todos los pasos ya tienes el módulo > instalado: > > > puedes > > > > > ver > > > > > > > > las > > > > > > > > clases en los ficheros, deberias poder ver las tablas > creadas si > > > > > miras > > > > > > > > el "schema" de la base de datos, e incluso puedes modificar > > > datos > > > > > desde > > > > > > > > la > > > > > > > > linea de comandos (prueba con './manage shell' y cargar el > > > módulo > > > > > > > > correspondiente). > > > > > > > > > > > > > > > > Lo que hace el listado 19 es mostar el módulo en la > interfície > > > de > > > > > > > > administración web, igual que muestra 'users' y compañía. Lo > > > > > primero, > > > > > > > > para y > > > > > > > > vuelve a lanzar el servidor web para asegurarte de que > aplica > > > los > > > > > > > > cambios. Me > > > > > > > > ha pasado muy raramente, pero alguna vez no ha detectado > algun > > > > > cambio > > > > > > > > hasta > > > > > > > > que lo he reiniciado. > > > > > > > > > > > > > > > > ¿El resto de pasos te funcionan? ¿Puedes importar el módulo > > > desde la > > > > > > > > shell? > > > > > > > > > > > > > > > > -- > > > > > > > > ############################## > > > > > > > > ### Jordi Funollet > > > > > > > > ### http://www.terraquis.net > > > > > > > > _______________________________________________ > > > > > > > > Python-es mailing list > > > > > > > > Python-es en aditel.org > > > > > > > > http://listas.aditel.org/listinfo/python-es > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > Daniel Cabrera Chaparro > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > _______________________________________________ > > > > > Python-es mailing list > > > > > Python-es en aditel.org > > > > > http://listas.aditel.org/listinfo/python-es > > > > > > > > > > > > > > > > > > > > > > > > > > > > > _______________________________________________ > > > Python-es mailing list > > > Python-es en aditel.org > > > http://listas.aditel.org/listinfo/python-es > > > > > > > > > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > -- Daniel Cabrera Chaparro From rapto en arrakis.es Mon Jul 31 11:59:00 2006 From: rapto en arrakis.es (Marcos =?ISO-8859-1?Q?S=E1nchez?= Provencio) Date: Mon, 31 Jul 2006 11:59:00 +0200 Subject: Python y Django In-Reply-To: <8565ad90607301912g2a867fa3o4dde02fa3d2ced3e@mail.gmail.com> References: <8565ad90607242044w38d56237yb0a8f7828c9b83@mail.gmail.com> <200607251119.03826.jordi.f@ati.es> <8565ad90607250723o565327ebu5652e4b02aac37f4@mail.gmail.com> <8565ad90607252141i28db894fi7fa7b1a4620d8cbe@mail.gmail.com> <1153901916.6814.5.camel@localhost.localdomain> <8565ad90607281853v7d8f84fbxd6a8b2f304954a52@mail.gmail.com> <1154173351.6401.4.camel@localhost.localdomain> <8565ad90607292107y3fd9d067y38139849cf87f190@mail.gmail.com> <1154246603.6210.10.camel@localhost.localdomain> <8565ad90607301912g2a867fa3o4dde02fa3d2ced3e@mail.gmail.com> Message-ID: <1154339941.9483.2.camel@localhost.localdomain> Los docs oficiales son bastante competentes. http://www.djangoproject.com/documentation/ El dom, 30-07-2006 a las 21:12 -0500, Daniel Cabrera escribió: > parece ser que este manual no esta muy bien que digamos, sabran de alguno > bueno para recomendarmelo? > > Gracias > > El día 30/07/06, Marcos Sánchez Provencio escribió: > > > > He mirado el tutorial y da lugar a error. Efectivamente, te muestra > > todos los cero jobs dados de alta ;-) > > > > Si quieres ver algo, da de alta algún job, desde la línea de órdenes o > > desde la web de administración. Por ejemplo (no está probado): > > import datetime > > location=Location(city='Madrid',country=u'España') > > location.save() > > job=Job(pub_date=datetime.datetime.now(), > > job_title='Preboste plenipotenciario', > > job_description=u'Jefe con poder omnímodo' > > location=location) > > job.save() > > > > El sáb, 29-07-2006 a las 23:07 -0500, Daniel Cabrera escribió: > > > Hola, > > > disculpen que vuelva a fastidiar, ya corri el Listing 11 del tutorial, > > lo > > > cual es lo siguiente: > > > > > > from jobs.models import Job > > > >>> for job in Job.objects.all(): > > > ... print job > > > > > > pero no me aparece nada, ni mensaje de error, quiza por ahi val el > > problema > > > que tengo. > > > > > > Muchas gracias > > > > > > El día 29/07/06, Marcos Sánchez Provencio escribió: > > > > > > > > Es una shell listilla. tab sirve para autocompletar, lo que acelera > > > > bastante la escritura. Indenta con un par de espacios. > > > > > > > > El vie, 28-07-2006 a las 20:53 -0500, Daniel Cabrera escribió: > > > > > Hola de neuvo, > > > > > tengo un problema ejecutando manage.py shell > > > > > el problema es que cuando quiero identar usando la tecla tab, no se > > > > mueve el > > > > > cursor y si aprieto 2 veces me sale si quiero mostrar las 161 > > opciones > > > > > > > > > > 2006/7/26, Marcos Sánchez Provencio : > > > > > > > > > > > > En lugar de arrancar python a pelo, usa manage.py shell. > > > > > > > > > > > > El mar, 25-07-2006 a las 23:41 -0500, Daniel Cabrera escribió: > > > > > > > Hola, > > > > > > > todavia no puedo cargar los modulos en el admin, tambien por > > ejemplo > > > > > > dentro > > > > > > > del shell de Python le doy from jobs.models import Job y me sale > > el > > > > > > > siguiente error: > > > > > > > EnvironmentError: Environment variable DJANGO_SETTINGS_MODULE is > > > > > > undefined. > > > > > > > > > > > > > > Despues de exportar la variable de entorno y darle la ruta de mi > > > > > > proyecto ya > > > > > > > puedo importar, pero por ejemplo si pongo print y el nombre de > > > > alguna > > > > > > > variable que esta en la clase Job me dice que no esta definida, > > de > > > > > > verdad ya > > > > > > > no se que mover he seguido todos los pasos que estan en el > > manual, > > > > quiza > > > > > > el > > > > > > > manual falta especificar algunos pasos mas o no se. > > > > > > > > > > > > > > De todas maneras muchas gracias. > > > > > > > > > > > > > > 2006/7/25, Daniel Cabrera : > > > > > > > > > > > > > > > > voy a probar los pasos que me dicen, en cuanto en lo que esta > > en > > > > la > > > > > > > > seccion 7 si lo he hecho, el unico cambio que hice es usar > > MySQL > > > > en > > > > > > vez > > > > > > > > SQLite, pero he visto que si me ha creado las tablas, asi que > > creo > > > > que > > > > > > por > > > > > > > > ese lado esta bien, despues al principio no podia importar los > > > > modulos > > > > > > desde > > > > > > > > el Shell de Python, pero luego de poner export > > DJANGO_SETTINGS, > > > > algo > > > > > > asi > > > > > > > > creo que era la variable, y la ruta de mi proyecto pude > > importar > > > > los > > > > > > > > modulos. > > > > > > > > > > > > > > > > El día 25/07/06, Jordi Funollet escribió: > > > > > > > > > > > > > > > > > Daniel Cabrera dixit: > > > > > > > > > > Hola, > > > > > > > > > > estoy siguiendo un manual de Django que esta en la pagina > > de > > > > IBM ( > > > > > > > > > > > > > > > > > > > > > > http://www-128.ibm.com/developerworks/linux/library/l-django/index.html > > > > > > > > > ) > > > > > > > > > > Pero en el Listing 19 me indica como agregar una clase > > usando > > > > el > > > > > > > > > > admin-tool, se supone que al iniciar el admin tool via > > browser > > > > me > > > > > > debe > > > > > > > > > > avisar que tengo un modelo para instalar, al menos eso es > > lo > > > > que > > > > > > > > > entiendo, > > > > > > > > > > pero no me aparece nada de algun modulo, si logro > > ingresar, > > > > pero > > > > > > solo > > > > > > > > > hay > > > > > > > > > > opciones de usario, grupo y sites. > > > > > > > > > > > > > > > > > > Si has seguido todos los pasos ya tienes el módulo > > instalado: > > > > puedes > > > > > > ver > > > > > > > > > las > > > > > > > > > clases en los ficheros, deberias poder ver las tablas > > creadas si > > > > > > miras > > > > > > > > > el "schema" de la base de datos, e incluso puedes modificar > > > > datos > > > > > > desde > > > > > > > > > la > > > > > > > > > linea de comandos (prueba con './manage shell' y cargar el > > > > módulo > > > > > > > > > correspondiente). > > > > > > > > > > > > > > > > > > Lo que hace el listado 19 es mostar el módulo en la > > interfície > > > > de > > > > > > > > > administración web, igual que muestra 'users' y compañía. Lo > > > > > > primero, > > > > > > > > > para y > > > > > > > > > vuelve a lanzar el servidor web para asegurarte de que > > aplica > > > > los > > > > > > > > > cambios. Me > > > > > > > > > ha pasado muy raramente, pero alguna vez no ha detectado > > algun > > > > > > cambio > > > > > > > > > hasta > > > > > > > > > que lo he reiniciado. > > > > > > > > > > > > > > > > > > ¿El resto de pasos te funcionan? ¿Puedes importar el módulo > > > > desde la > > > > > > > > > shell? > > > > > > > > > > > > > > > > > > -- > > > > > > > > > ############################## > > > > > > > > > ### Jordi Funollet > > > > > > > > > ### http://www.terraquis.net > > > > > > > > > _______________________________________________ > > > > > > > > > Python-es mailing list > > > > > > > > > Python-es en aditel.org > > > > > > > > > http://listas.aditel.org/listinfo/python-es > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > Daniel Cabrera Chaparro > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > _______________________________________________ > > > > > > Python-es mailing list > > > > > > Python-es en aditel.org > > > > > > http://listas.aditel.org/listinfo/python-es > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > _______________________________________________ > > > > Python-es mailing list > > > > Python-es en aditel.org > > > > http://listas.aditel.org/listinfo/python-es > > > > > > > > > > > > > > > > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es > > > > > ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From jordi.f en ati.es Mon Jul 31 13:34:47 2006 From: jordi.f en ati.es (Jordi Funollet) Date: Mon, 31 Jul 2006 13:34:47 +0200 Subject: Python y Django In-Reply-To: <1154339941.9483.2.camel@localhost.localdomain> References: <8565ad90607242044w38d56237yb0a8f7828c9b83@mail.gmail.com> <"8565a d90607301912g2a867fa3o4dde02fa3d2ced3e"@mail.gmail.com> <"1154339941.9483.2.ca mel"@localhost.localdomain> Message-ID: <200607311334.47284.jordi.f@ati.es> Marcos Sánchez Provencio dixit: > Los docs oficiales son bastante competentes. > http://www.djangoproject.com/documentation/ ...tutorial incluido. -- ############################## ### Jordi Funollet ### http://www.terraquis.net ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From cabrerachaparro en gmail.com Mon Jul 31 15:59:41 2006 From: cabrerachaparro en gmail.com (Daniel Cabrera) Date: Mon, 31 Jul 2006 08:59:41 -0500 Subject: Python y Django In-Reply-To: <200607311334.47284.jordi.f@ati.es> References: <8565ad90607242044w38d56237yb0a8f7828c9b83@mail.gmail.com> <1154339941.9483.2.camel@localhost.localdomain> <200607311334.47284.jordi.f@ati.es> Message-ID: <8565ad90607310659v1e5d56c5v5f441971f03ca807@mail.gmail.com> Muchas gracias por todo, realmente da gusto postear en esta lista, no solo por la profesionalidad de los integrantes sino tambien por su educacion. Voy a revisar el manual. Saludos 2006/7/31, Jordi Funollet : > > Marcos Sánchez Provencio dixit: > > Los docs oficiales son bastante competentes. > > http://www.djangoproject.com/documentation/ > > ...tutorial incluido. > > -- > ############################## > ### Jordi Funollet > ### http://www.terraquis.net > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > > > -- Daniel Cabrera Chaparro From mlacunza en gmail.com Mon Jul 31 20:57:24 2006 From: mlacunza en gmail.com (Mario Lacunza) Date: Mon, 31 Jul 2006 13:57:24 -0500 Subject: Punto de Venta In-Reply-To: <20060730221301.58825.qmail@web27011.mail.ukl.yahoo.com> References: <20060730221301.58825.qmail@web27011.mail.ukl.yahoo.com> Message-ID: <1154372244.10574.2.camel@localhost> El lun, 31-07-2006 a las 00:13 +0200, Hector Santos escribió: > Hola. Estoy aprendiendo Python con unos libros y me > esta gustando. Ahora tengo una duda. Queria saber si > hay algun proyecto de software libre escrito en Python > de Punto de Venta. He buscado por varios lados y no he > encontrado en Python (si en Java). Hay algun lugar > especifico para ver los proyectos de sw libre escritos > en Python? > > Atentamente > Hector > Puedes entrar a SourceForge y filtrar la busqueda por Lenguaje de programacion. -- Mario Lacunza ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From alfonsodg en gmail.com Mon Jul 31 23:24:57 2006 From: alfonsodg en gmail.com (Alfonso de la Guarda) Date: Mon, 31 Jul 2006 16:24:57 -0500 Subject: Punto de Venta In-Reply-To: <1154372244.10574.2.camel@localhost> References: <20060730221301.58825.qmail@web27011.mail.ukl.yahoo.com> <1154372244.10574.2.camel@localhost> Message-ID: Mi proyecto: sisventi fue publicado hace 5 años y esta en algunos repositorios (version 0.95), luego de esta versión decidí no publicar ninguna más hasta hacer de este proyecto algo tan sólido como qmail (libre de bugs), así que en 1 semana verás la versión 4.0 que actualmente usan en Perú varias empresas y que vamos a comenzar el plan de oferta de servicios realtivos a esta aplicacion con licencia GPL. Saludos On 7/31/06, Mario Lacunza wrote: > > El lun, 31-07-2006 a las 00:13 +0200, Hector Santos escribió: > > Hola. Estoy aprendiendo Python con unos libros y me > > esta gustando. Ahora tengo una duda. Queria saber si > > hay algun proyecto de software libre escrito en Python > > de Punto de Venta. He buscado por varios lados y no he > > encontrado en Python (si en Java). Hay algun lugar > > especifico para ver los proyectos de sw libre escritos > > en Python? > > > > Atentamente > > Hector > > > > Puedes entrar a SourceForge y filtrar la busqueda por Lenguaje de > programacion. > > -- > Mario Lacunza > > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > > >