[Python-es] python, glade,postgresql TEXTVIEW

Arnau Sanchez arnau en ehas.org
Mie Nov 7 23:55:18 CET 2007


Peon Blanco escribió:

> pues gracias por responder pero  a un no a  quedado
> es te  es el codigo junto con el error

No te lo tomes a mal, pero estoy seguro que cuidando un poco la 
presentación de tus correos obtendrías más respuestas.

> File "MUSICA.py", line 58, in on_buttonBUSCAR_clicked
> 
> resu.set_text(re)
> 
> TypeError: GtkTextBuffer.set_text() argument 1 must be string or
> read-only buffer, not pgqueryobject

La excepción es bastante explícita: lo que te devuelve query() no es una 
cadena, así que simplemente conviértelo:

resu.set_text(str(re))

Habría mucho que comentar de tu código, lo más importante:

- Cuida la elección de nombres: ¿usu? ¿bus? ¿resu? ¿re? especialmente 
malo este último, "re" es el módulo de expresiones regulares.

- class RELACIONDECANCIONES: Seguro que es una clase muy importante, 
pero no por ello debería dar voces. "RelacionDeCanciones" estaría bien. 
O simplemente "Canciones". Igual para esos BUSCAR que aparecen por ahí.

- El try/except protege demasiado código: debe ponerse sólo en la parte 
que pueda generar una excepción (el pg.connect). Por otra parte, un 
except global no es adecuado, debes discriminar y capturar sólo la señal 
o señales que toquen: "except NombreDeSeñal: bla bla".

El estilo es importante para cualquier lenguaje de programación. En 
Python, si cabe, todavía más:

http://www.python.net/~goodger/projects/pycon/2007/idiomatic/handout.html

saludos
arnau


Más información sobre la lista de distribución Python-es