try:
cursor.execute("INSERT INTO matable(nom,prenom)
VALUES(%(nom)s,%(prenom)s", dict)
C'est louche ; sauf erreur je mettrais plutôt : ...%(prenom)s"%dict)
print "juvabien juvamine"
exept:
print "oooopsssss!"
Bah ca marche pas et il n'y a pas de message d'erreur ou plutot
je ne l'ai pas trouvé, alors que d'habitude python est plutot bavard
quand je fais une boulette.
Est-ce vraiment le code réel ? On devrait avoir 'except' à la place de
try:
cursor.execute("INSERT INTO matable(nom,prenom)
VALUES(%(nom)s,%(prenom)s", dict)
C'est louche ; sauf erreur je mettrais plutôt : ...%(prenom)s"%dict)
print "juvabien juvamine"
exept:
print "oooopsssss!"
Bah ca marche pas et il n'y a pas de message d'erreur ou plutot
je ne l'ai pas trouvé, alors que d'habitude python est plutot bavard
quand je fais une boulette.
Est-ce vraiment le code réel ? On devrait avoir 'except' à la place de
try:
cursor.execute("INSERT INTO matable(nom,prenom)
VALUES(%(nom)s,%(prenom)s", dict)
C'est louche ; sauf erreur je mettrais plutôt : ...%(prenom)s"%dict)
print "juvabien juvamine"
exept:
print "oooopsssss!"
Bah ca marche pas et il n'y a pas de message d'erreur ou plutot
je ne l'ai pas trouvé, alors que d'habitude python est plutot bavard
quand je fais une boulette.
Est-ce vraiment le code réel ? On devrait avoir 'except' à la place de
try:
cursor.execute("INSERT INTO matable(nom,prenom)
VALUES(%(nom)s,%(prenom)s", dict)
C'est louche ; sauf erreur je mettrais plutôt : ...%(prenom)s"%dict)
Voire même : VALUES('%(nom)s','%(prenom)s'"%dict)
try:
cursor.execute("INSERT INTO matable(nom,prenom)
VALUES(%(nom)s,%(prenom)s", dict)
C'est louche ; sauf erreur je mettrais plutôt : ...%(prenom)s"%dict)
Voire même : VALUES('%(nom)s','%(prenom)s'"%dict)
try:
cursor.execute("INSERT INTO matable(nom,prenom)
VALUES(%(nom)s,%(prenom)s", dict)
C'est louche ; sauf erreur je mettrais plutôt : ...%(prenom)s"%dict)
Voire même : VALUES('%(nom)s','%(prenom)s'"%dict)
Bah ca marche pas et il n'y a pas de message d'erreur ou plutot
je ne l'ai pas trouvé, alors que d'habitude python est plutot bavard
quand je fais une boulette.
Bah ca marche pas et il n'y a pas de message d'erreur ou plutot
je ne l'ai pas trouvé, alors que d'habitude python est plutot bavard
quand je fais une boulette.
Bah ca marche pas et il n'y a pas de message d'erreur ou plutot
je ne l'ai pas trouvé, alors que d'habitude python est plutot bavard
quand je fais une boulette.
Si c'est ça le problème et qu'il a été masqué par ta clause except
"sèche", tu copieras 500 fois "je n'écrirai plus jamais de clauses
except sans nom d'exception derrière" ;-)
A moins de faire un raise sec aussi...
Si c'est ça le problème et qu'il a été masqué par ta clause except
"sèche", tu copieras 500 fois "je n'écrirai plus jamais de clauses
except sans nom d'exception derrière" ;-)
A moins de faire un raise sec aussi...
Si c'est ça le problème et qu'il a été masqué par ta clause except
"sèche", tu copieras 500 fois "je n'écrirai plus jamais de clauses
except sans nom d'exception derrière" ;-)
A moins de faire un raise sec aussi...
On Thu, 23 Nov 2006 07:08:17 +0100, frouty
wrote:
[snip]Bah ca marche pas et il n'y a pas de message d'erreur ou plutot
je ne l'ai pas trouvé, alors que d'habitude python est plutot bavard
quand je fais une boulette.
Ca veut dire quoi "ça marche pas"? Quel est le résultat? Quel est celui
que tu attendais?
Quelques remarques sur ton code:
1. Le "# -*- coding: latin-1 -*-" au début ne sert à rien,
puisqu'apparemment, tu n'as aucune chaîne contenant des caractères
accentués dans ton code.
2.copie/colle ton *vrai* code; ne le
ré-écrit pas.
3. Evite les clauses except "sèches", c'est à dire sans nom d'exception
derrière. Elles peuvent masquer une erreur dans ton code (genre
AttributeError) que tu aurais pourtant bien envie de connaître.
En fait je mets rien car vu mon niveau en python je n'ai pas la moindre
4. A
quoi sert la dernière clause "except"? Récupérer une exception avec sans
doute une description précise pour juste mettre un message d'erreur
générique qui ne dit rien de ce qui se passe ne me paraît pas être une
super-idée...
5.tu copieras 500 fois "je n'écrirai plus
jamais de clauses except sans
nom d'exception derrière" ;-)
HTH
On Thu, 23 Nov 2006 07:08:17 +0100, frouty <lfrancois-com@worldonline.fr>
wrote:
[snip]
Bah ca marche pas et il n'y a pas de message d'erreur ou plutot
je ne l'ai pas trouvé, alors que d'habitude python est plutot bavard
quand je fais une boulette.
Ca veut dire quoi "ça marche pas"? Quel est le résultat? Quel est celui
que tu attendais?
Quelques remarques sur ton code:
1. Le "# -*- coding: latin-1 -*-" au début ne sert à rien,
puisqu'apparemment, tu n'as aucune chaîne contenant des caractères
accentués dans ton code.
2.copie/colle ton *vrai* code; ne le
ré-écrit pas.
3. Evite les clauses except "sèches", c'est à dire sans nom d'exception
derrière. Elles peuvent masquer une erreur dans ton code (genre
AttributeError) que tu aurais pourtant bien envie de connaître.
En fait je mets rien car vu mon niveau en python je n'ai pas la moindre
4. A
quoi sert la dernière clause "except"? Récupérer une exception avec sans
doute une description précise pour juste mettre un message d'erreur
générique qui ne dit rien de ce qui se passe ne me paraît pas être une
super-idée...
5.tu copieras 500 fois "je n'écrirai plus
jamais de clauses except sans
nom d'exception derrière" ;-)
HTH
On Thu, 23 Nov 2006 07:08:17 +0100, frouty
wrote:
[snip]Bah ca marche pas et il n'y a pas de message d'erreur ou plutot
je ne l'ai pas trouvé, alors que d'habitude python est plutot bavard
quand je fais une boulette.
Ca veut dire quoi "ça marche pas"? Quel est le résultat? Quel est celui
que tu attendais?
Quelques remarques sur ton code:
1. Le "# -*- coding: latin-1 -*-" au début ne sert à rien,
puisqu'apparemment, tu n'as aucune chaîne contenant des caractères
accentués dans ton code.
2.copie/colle ton *vrai* code; ne le
ré-écrit pas.
3. Evite les clauses except "sèches", c'est à dire sans nom d'exception
derrière. Elles peuvent masquer une erreur dans ton code (genre
AttributeError) que tu aurais pourtant bien envie de connaître.
En fait je mets rien car vu mon niveau en python je n'ai pas la moindre
4. A
quoi sert la dernière clause "except"? Récupérer une exception avec sans
doute une description précise pour juste mettre un message d'erreur
générique qui ne dit rien de ce qui se passe ne me paraît pas être une
super-idée...
5.tu copieras 500 fois "je n'écrirai plus
jamais de clauses except sans
nom d'exception derrière" ;-)
HTH
Bonjour,
Je récupère les champs de 2 wx.TextControl via un wx.Validator dans un
magnifque dictionnaire appelons le dict.print dict
{'nom':u'Machepro', 'prenom':u'Isidor'}
^ ^
Déjà je sais pas trop pourquoi j'ai de l'unicode?
Mais cela n'est pas mon probleme majeur.
Bonjour,
Je récupère les champs de 2 wx.TextControl via un wx.Validator dans un
magnifque dictionnaire appelons le dict.
print dict
{'nom':u'Machepro', 'prenom':u'Isidor'}
^ ^
Déjà je sais pas trop pourquoi j'ai de l'unicode?
Mais cela n'est pas mon probleme majeur.
Bonjour,
Je récupère les champs de 2 wx.TextControl via un wx.Validator dans un
magnifque dictionnaire appelons le dict.print dict
{'nom':u'Machepro', 'prenom':u'Isidor'}
^ ^
Déjà je sais pas trop pourquoi j'ai de l'unicode?
Mais cela n'est pas mon probleme majeur.
C'est parce que tu as installé wx-unicode.
C'est parce que tu as installé wx-unicode.
C'est parce que tu as installé wx-unicode.
Traceback (most recent call last):
File "<stdin>", line 164, in OnNouveauPatient
File "/usr/lib/python2.4/site-packages/psycopg2/extras.py", line 48,
in execute
return _cursor.execute(self, query, vars, async)
psycopg2.InterfaceError: can't encode unicode string to LATIN9
3. Evite les clauses except "sèches", c'est à dire sans nom d'exception
derrière. Elles peuvent masquer une erreur dans ton code (genre
AttributeError) que tu aurais pourtant bien envie de connaître.
En fait je mets rien car vu mon niveau en python je n'ai pas la moindre
idée du petit nom du type d'erreur qui peur le plus probablement sortir
4. A
quoi sert la dernière clause "except"? Récupérer une exception avec sans
doute une description précise pour juste mettre un message d'erreur
générique qui ne dit rien de ce qui se passe ne me paraît pas être une
super-idée...
Je sais c'est naze. ca m'aide peut etre un peu à localiser vers se passe
le probleme dans mon code
5.tu copieras 500 fois "je n'écrirai plus
jamais de clauses except sans
nom d'exception derrière" ;-)
C'est fait
Traceback (most recent call last):
File "<stdin>", line 164, in OnNouveauPatient
File "/usr/lib/python2.4/site-packages/psycopg2/extras.py", line 48,
in execute
return _cursor.execute(self, query, vars, async)
psycopg2.InterfaceError: can't encode unicode string to LATIN9
3. Evite les clauses except "sèches", c'est à dire sans nom d'exception
derrière. Elles peuvent masquer une erreur dans ton code (genre
AttributeError) que tu aurais pourtant bien envie de connaître.
En fait je mets rien car vu mon niveau en python je n'ai pas la moindre
idée du petit nom du type d'erreur qui peur le plus probablement sortir
4. A
quoi sert la dernière clause "except"? Récupérer une exception avec sans
doute une description précise pour juste mettre un message d'erreur
générique qui ne dit rien de ce qui se passe ne me paraît pas être une
super-idée...
Je sais c'est naze. ca m'aide peut etre un peu à localiser vers se passe
le probleme dans mon code
5.tu copieras 500 fois "je n'écrirai plus
jamais de clauses except sans
nom d'exception derrière" ;-)
C'est fait
Traceback (most recent call last):
File "<stdin>", line 164, in OnNouveauPatient
File "/usr/lib/python2.4/site-packages/psycopg2/extras.py", line 48,
in execute
return _cursor.execute(self, query, vars, async)
psycopg2.InterfaceError: can't encode unicode string to LATIN9
3. Evite les clauses except "sèches", c'est à dire sans nom d'exception
derrière. Elles peuvent masquer une erreur dans ton code (genre
AttributeError) que tu aurais pourtant bien envie de connaître.
En fait je mets rien car vu mon niveau en python je n'ai pas la moindre
idée du petit nom du type d'erreur qui peur le plus probablement sortir
4. A
quoi sert la dernière clause "except"? Récupérer une exception avec sans
doute une description précise pour juste mettre un message d'erreur
générique qui ne dit rien de ce qui se passe ne me paraît pas être une
super-idée...
Je sais c'est naze. ca m'aide peut etre un peu à localiser vers se passe
le probleme dans mon code
5.tu copieras 500 fois "je n'écrirai plus
jamais de clauses except sans
nom d'exception derrière" ;-)
C'est fait
On Thu, 23 Nov 2006 13:28:00 +0100, frouty
wrote:
[snip]Traceback (most recent call last):
File "<stdin>", line 164, in OnNouveauPatient
File "/usr/lib/python2.4/site-packages/psycopg2/extras.py", line 48,
in execute
return _cursor.execute(self, query, vars, async)
psycopg2.InterfaceError: can't encode unicode string to LATIN9
Donc tu as la solution a ton problème: vu que psycopg2 attend apparemment
un encodage en latin9 (a.k.a iso8859-15), il te suffit d'encoder le
contenu de ton dictionnaire en iso8859-15 avant de le passer à ton
cursor.execute, en faisant par exemple:
for k in dlg.data:
dlg.data[k] = dlg.data[k].encode('iso8859-15')
J'avais un peu deviné qu'il failler encoder ou decoder les values.
Alors pourquoi mets-tu un try/except? Et tu n'as pas compris ce que je
voulais dire: "except AttributeError" est exactement ce que tu ne veux
pas. Une exception AttributeError est levée par une tentative d'accès à un
attribut qui n'existe pas, résultant en général d'un faute de frappe. Donc
si tu mets un "except AttributeError", tu ne verras jamais si tu fais des
fautes de frappe: ton script continueras à tourner comme si de rien
était...
Pardon!? En désactivant le traceback qui te dit exactement où est
l'erreur et en mettant un 'print "oops"' à la place, ça t'aide???
Même pas vrai ;-)
Si un peu vu le nombre de fois ou je modifie/relance
On Thu, 23 Nov 2006 13:28:00 +0100, frouty <lfrancois-com@worldonline.fr>
wrote:
[snip]
Traceback (most recent call last):
File "<stdin>", line 164, in OnNouveauPatient
File "/usr/lib/python2.4/site-packages/psycopg2/extras.py", line 48,
in execute
return _cursor.execute(self, query, vars, async)
psycopg2.InterfaceError: can't encode unicode string to LATIN9
Donc tu as la solution a ton problème: vu que psycopg2 attend apparemment
un encodage en latin9 (a.k.a iso8859-15), il te suffit d'encoder le
contenu de ton dictionnaire en iso8859-15 avant de le passer à ton
cursor.execute, en faisant par exemple:
for k in dlg.data:
dlg.data[k] = dlg.data[k].encode('iso8859-15')
J'avais un peu deviné qu'il failler encoder ou decoder les values.
Alors pourquoi mets-tu un try/except? Et tu n'as pas compris ce que je
voulais dire: "except AttributeError" est exactement ce que tu ne veux
pas. Une exception AttributeError est levée par une tentative d'accès à un
attribut qui n'existe pas, résultant en général d'un faute de frappe. Donc
si tu mets un "except AttributeError", tu ne verras jamais si tu fais des
fautes de frappe: ton script continueras à tourner comme si de rien
était...
Pardon!? En désactivant le traceback qui te dit exactement où est
l'erreur et en mettant un 'print "oops"' à la place, ça t'aide???
Même pas vrai ;-)
Si un peu vu le nombre de fois ou je modifie/relance
On Thu, 23 Nov 2006 13:28:00 +0100, frouty
wrote:
[snip]Traceback (most recent call last):
File "<stdin>", line 164, in OnNouveauPatient
File "/usr/lib/python2.4/site-packages/psycopg2/extras.py", line 48,
in execute
return _cursor.execute(self, query, vars, async)
psycopg2.InterfaceError: can't encode unicode string to LATIN9
Donc tu as la solution a ton problème: vu que psycopg2 attend apparemment
un encodage en latin9 (a.k.a iso8859-15), il te suffit d'encoder le
contenu de ton dictionnaire en iso8859-15 avant de le passer à ton
cursor.execute, en faisant par exemple:
for k in dlg.data:
dlg.data[k] = dlg.data[k].encode('iso8859-15')
J'avais un peu deviné qu'il failler encoder ou decoder les values.
Alors pourquoi mets-tu un try/except? Et tu n'as pas compris ce que je
voulais dire: "except AttributeError" est exactement ce que tu ne veux
pas. Une exception AttributeError est levée par une tentative d'accès à un
attribut qui n'existe pas, résultant en général d'un faute de frappe. Donc
si tu mets un "except AttributeError", tu ne verras jamais si tu fais des
fautes de frappe: ton script continueras à tourner comme si de rien
était...
Pardon!? En désactivant le traceback qui te dit exactement où est
l'erreur et en mettant un 'print "oops"' à la place, ça t'aide???
Même pas vrai ;-)
Si un peu vu le nombre de fois ou je modifie/relance