Bonjour,
y a-t-il moyen de construire une fonction nom_variable telle que, si :
ma_variable='test'
alors :
nom_variable(ma_variable)
renvoie la chaîne :
'ma_variable'
Merci d'avance.
--
Denis
Bonjour,
y a-t-il moyen de construire une fonction nom_variable telle que, si :
ma_variable='test'
alors :
nom_variable(ma_variable)
renvoie la chaîne :
'ma_variable'
Merci d'avance.
--
Denis
Bonjour,
y a-t-il moyen de construire une fonction nom_variable telle que, si :
ma_variable='test'
alors :
nom_variable(ma_variable)
renvoie la chaîne :
'ma_variable'
Merci d'avance.
--
Denis
On 18 juin, 17:47, Denis Bitouzé wrote:Bonjour,
y a-t-il moyen de construire une fonction nom_variable telle que, si :
ma_variable='test'
alors :
nom_variable(ma_variable)
renvoie la chaîne :
'ma_variable'
Merci d'avance.
--
Denis
Bonsoir,
Oui, il y a moyen...
mais si tu as besoin d'une telle fonction, c'est
que ton code n'est pas "pythonique". Si tu nous dis pourquoi tu en as
besoin, on te dira comment faire autrement
On 18 juin, 17:47, Denis Bitouzé <dbitouze...@spam.wanadoo.fr> wrote:
Bonjour,
y a-t-il moyen de construire une fonction nom_variable telle que, si :
ma_variable='test'
alors :
nom_variable(ma_variable)
renvoie la chaîne :
'ma_variable'
Merci d'avance.
--
Denis
Bonsoir,
Oui, il y a moyen...
mais si tu as besoin d'une telle fonction, c'est
que ton code n'est pas "pythonique". Si tu nous dis pourquoi tu en as
besoin, on te dira comment faire autrement
On 18 juin, 17:47, Denis Bitouzé wrote:Bonjour,
y a-t-il moyen de construire une fonction nom_variable telle que, si :
ma_variable='test'
alors :
nom_variable(ma_variable)
renvoie la chaîne :
'ma_variable'
Merci d'avance.
--
Denis
Bonsoir,
Oui, il y a moyen...
mais si tu as besoin d'une telle fonction, c'est
que ton code n'est pas "pythonique". Si tu nous dis pourquoi tu en as
besoin, on te dira comment faire autrement
Bonjour,
y a-t-il moyen de construire une fonction nom_variable telle que, si :
ma_variable='test'
alors :
nom_variable(ma_variable)
renvoie la chaîne :
'ma_variable'
Bonjour,
y a-t-il moyen de construire une fonction nom_variable telle que, si :
ma_variable='test'
alors :
nom_variable(ma_variable)
renvoie la chaîne :
'ma_variable'
Bonjour,
y a-t-il moyen de construire une fonction nom_variable telle que, si :
ma_variable='test'
alors :
nom_variable(ma_variable)
renvoie la chaîne :
'ma_variable'
Bonjour,
y a-t-il moyen de construire une fonction nom_variable telle que, si :
ma_variable='test'
alors :
nom_variable(ma_variable)
renvoie la chaîne :
'ma_variable'
Merci d'avance.
Bonjour,
y a-t-il moyen de construire une fonction nom_variable telle que, si :
ma_variable='test'
alors :
nom_variable(ma_variable)
renvoie la chaîne :
'ma_variable'
Merci d'avance.
Bonjour,
y a-t-il moyen de construire une fonction nom_variable telle que, si :
ma_variable='test'
alors :
nom_variable(ma_variable)
renvoie la chaîne :
'ma_variable'
Merci d'avance.
Si tu nous dis pourquoi tu en as besoin, on te dira comment faire
autrement
Si tu nous dis pourquoi tu en as besoin, on te dira comment faire
autrement
Si tu nous dis pourquoi tu en as besoin, on te dira comment faire
autrement
Le jeudi 18/06/09 à 12h30,
Pierre Quentel a écrit :
> Si tu nous dis pourquoi tu en as besoin, on te dira comment faire
> autrement
Bon, je vais essayer d'être synthétique.
Le cadre est celui de la validation d'un formulaire dans Plone. Certains
champs du formulaire ont pour noms (disons) :
champ_1
...
champ_n
Je récupère la valeur qui leur est passée au moyen de :
champ_1 = context.REQUEST.get('champ_1', None)
...
champ_n = context.REQUEST.get('champ_n', None)
puis je valide les valeurs au moyen de :
if champ_1=="Mauvais choix":
message_erreur('champ_1')
...
if champ_n=="Mauvais choix":
message_erreur('champ_n')
Et c'est dans cette dernière partie que j'aurais aimé pourvoir dispos er
d'une fonction nom_variable pour pouvoir n'écrire qu'un truc du genre :
champs = [champ_1,...,champ_n]
for champ in champs:
if champ=="Mauvais choix":
message_erreur(nom_variable(champ))
Je sais, je suis flemmard, mais il faut dire que n est grand et les
champs ne portent en fait pas tous des noms semblables...
Merci !
--
Denis
Le jeudi 18/06/09 à 12h30,
Pierre Quentel <quentel.pie...@wanadoo.fr> a écrit :
> Si tu nous dis pourquoi tu en as besoin, on te dira comment faire
> autrement
Bon, je vais essayer d'être synthétique.
Le cadre est celui de la validation d'un formulaire dans Plone. Certains
champs du formulaire ont pour noms (disons) :
champ_1
...
champ_n
Je récupère la valeur qui leur est passée au moyen de :
champ_1 = context.REQUEST.get('champ_1', None)
...
champ_n = context.REQUEST.get('champ_n', None)
puis je valide les valeurs au moyen de :
if champ_1=="Mauvais choix":
message_erreur('champ_1')
...
if champ_n=="Mauvais choix":
message_erreur('champ_n')
Et c'est dans cette dernière partie que j'aurais aimé pourvoir dispos er
d'une fonction nom_variable pour pouvoir n'écrire qu'un truc du genre :
champs = [champ_1,...,champ_n]
for champ in champs:
if champ=="Mauvais choix":
message_erreur(nom_variable(champ))
Je sais, je suis flemmard, mais il faut dire que n est grand et les
champs ne portent en fait pas tous des noms semblables...
Merci !
--
Denis
Le jeudi 18/06/09 à 12h30,
Pierre Quentel a écrit :
> Si tu nous dis pourquoi tu en as besoin, on te dira comment faire
> autrement
Bon, je vais essayer d'être synthétique.
Le cadre est celui de la validation d'un formulaire dans Plone. Certains
champs du formulaire ont pour noms (disons) :
champ_1
...
champ_n
Je récupère la valeur qui leur est passée au moyen de :
champ_1 = context.REQUEST.get('champ_1', None)
...
champ_n = context.REQUEST.get('champ_n', None)
puis je valide les valeurs au moyen de :
if champ_1=="Mauvais choix":
message_erreur('champ_1')
...
if champ_n=="Mauvais choix":
message_erreur('champ_n')
Et c'est dans cette dernière partie que j'aurais aimé pourvoir dispos er
d'une fonction nom_variable pour pouvoir n'écrire qu'un truc du genre :
champs = [champ_1,...,champ_n]
for champ in champs:
if champ=="Mauvais choix":
message_erreur(nom_variable(champ))
Je sais, je suis flemmard, mais il faut dire que n est grand et les
champs ne portent en fait pas tous des noms semblables...
Merci !
--
Denis
Il y a peut-être quelque chose qui m'échappe, mais je ne vois pas
pourquoi tu as besoin de créer les variables champ_1, etc. Ce code
devrait faire la meme chose :
===========
noms_champs = ['champ_1','champ_2',...,'champ_n']
for nom_champ in noms_champs:
valeur = context.REQUEST.get(nom_champ,None)
if valeur == "Mauvais choix":
message_erreur(nom_champ,valeur)
===========
Il y a peut-être quelque chose qui m'échappe, mais je ne vois pas
pourquoi tu as besoin de créer les variables champ_1, etc. Ce code
devrait faire la meme chose :
===========
noms_champs = ['champ_1','champ_2',...,'champ_n']
for nom_champ in noms_champs:
valeur = context.REQUEST.get(nom_champ,None)
if valeur == "Mauvais choix":
message_erreur(nom_champ,valeur)
===========
Il y a peut-être quelque chose qui m'échappe, mais je ne vois pas
pourquoi tu as besoin de créer les variables champ_1, etc. Ce code
devrait faire la meme chose :
===========
noms_champs = ['champ_1','champ_2',...,'champ_n']
for nom_champ in noms_champs:
valeur = context.REQUEST.get(nom_champ,None)
if valeur == "Mauvais choix":
message_erreur(nom_champ,valeur)
===========
Je vais dire peut-être une bêtise, mais pourquoi ne pas faire des
objets de type Champ qui auraient comme attributs nom_du_champ et
valeur_du_champ ?
Je vais dire peut-être une bêtise, mais pourquoi ne pas faire des
objets de type Champ qui auraient comme attributs nom_du_champ et
valeur_du_champ ?
Je vais dire peut-être une bêtise, mais pourquoi ne pas faire des
objets de type Champ qui auraient comme attributs nom_du_champ et
valeur_du_champ ?
Utilise un dictionnaire, ce sera plus maniable...
Et elle fait quoi ta fonction "message_erreur" ?
> Je sais, je suis flemmard,
Ca c'est plutôt une qualité - ça pousse à généraliser le code au lieu
de faire du copié/collé comme un gros bourrin.
Par contre, il faut généraliser proprement. Accessoirement,
l'automatisation de la validation de formulaires web n'est pas
exactement un problème nouveau - y a déjà pas mal de solutions
existantes. Dont certaines inclues dans Plone si mon souvenir est
bon...
Utilise un dictionnaire, ce sera plus maniable...
Et elle fait quoi ta fonction "message_erreur" ?
> Je sais, je suis flemmard,
Ca c'est plutôt une qualité - ça pousse à généraliser le code au lieu
de faire du copié/collé comme un gros bourrin.
Par contre, il faut généraliser proprement. Accessoirement,
l'automatisation de la validation de formulaires web n'est pas
exactement un problème nouveau - y a déjà pas mal de solutions
existantes. Dont certaines inclues dans Plone si mon souvenir est
bon...
Utilise un dictionnaire, ce sera plus maniable...
Et elle fait quoi ta fonction "message_erreur" ?
> Je sais, je suis flemmard,
Ca c'est plutôt une qualité - ça pousse à généraliser le code au lieu
de faire du copié/collé comme un gros bourrin.
Par contre, il faut généraliser proprement. Accessoirement,
l'automatisation de la validation de formulaires web n'est pas
exactement un problème nouveau - y a déjà pas mal de solutions
existantes. Dont certaines inclues dans Plone si mon souvenir est
bon...
Vu l'exemple de code que tu donnais, tu te retrouve avec un système
qui s'arrête à la première erreur de validation - au lieu de
collecter toutes les erreurs en une seule passe, et de toutes les
afficher d'un coup.
je pensais à ça en l'occurrence:
http://plone.org/documentation/how-to/forms/
Vu l'exemple de code que tu donnais, tu te retrouve avec un système
qui s'arrête à la première erreur de validation - au lieu de
collecter toutes les erreurs en une seule passe, et de toutes les
afficher d'un coup.
je pensais à ça en l'occurrence:
http://plone.org/documentation/how-to/forms/
Vu l'exemple de code que tu donnais, tu te retrouve avec un système
qui s'arrête à la première erreur de validation - au lieu de
collecter toutes les erreurs en une seule passe, et de toutes les
afficher d'un coup.
je pensais à ça en l'occurrence:
http://plone.org/documentation/how-to/forms/