[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