[Zope-it] Re: vista nascosta
mberi@linkgroup.it
mberi@linkgroup.it
Fri, 12 Jul 2002 11:58:18 +0200
Giusto. Pero` mi piace di piu`:
# AGGIUNTA PER PARAMETRI SU URL
def __getitem__(self, key):
preSep =3D '_var'
funSepList =3D ['int']
postSep =3D '_'
for sepSep in [''] + funSepList:
separator =3D preSep + sepSep + postSep
if (find(key, separator) > 0):
parts =3D split(key, separator)
if not self.REQUEST.has_key(parts[0]):
print parts
if len(parts) =3D=3D 1:
self.REQUEST[key] =3D 1
else:
self.REQUEST[parts[0]] =3D join(parts[1:], sepa=
rator)
for funSep in funSepList:
if separator[:len(funSep + postSep)] =3D=3D=
funSep
+ postSep :
try:
self.REQUEST[parts[0]] =3D
apply(eval(funSep), self.REQUEST[parts[0]])
except:
pass
break
break
return self
# FINE AGGIUNTA PER PARAMETRI SU URL
Cosi` se un domani vuoi aggiungere _varlong_ o _varfloat_ lo puoi fare =
in
fretta cambiando una sola riga.
Idem se decidi di cambiare _var_.
In ogni caso le uniche righe (o l'unica riga) da toccare sono:
preSep =3D '_var'
funSepList =3D ['int', 'long', 'float']
postSep =3D '_'
Il try lo lascerei perche se l'utente lancia a meno:
index_html/id_contenuti_varint_abc
Il tuo codice genera un errore.
Ciao.
Marco.
P.S. Occhio: il codice non l'ho testato!
=
=
=20
Giorgio Andreoletti =
=
=20
<giorgio.andreoletti@ment To: Zope-i=
t <Zope-it@zope.org> =
=20
elocale.it> cc: =
=
=20
Sent by: Subject: Re: [Z=
ope-it] Re: vista nascosta =
=20
zope-it-admin@zope.org =
=
=20
=
=
=20
=
=
=20
12/07/2002 11:47 =
=
=20
=
=
=20
=
=
=20
ho fatto questa piccola aggiunta:
# AGGIUNTA PER PARAMETRI SU URL
def __getitem__(self, key):
if (find(key, '_var_') > 0):
parts =3D split(key, '_var_')
if not self.REQUEST.has_key(parts[0]):
print parts
if len(parts) =3D=3D 1:
self.REQUEST[key] =3D 1
else:
self.REQUEST[parts[0]] =3D join(parts[1:], '_var_'=
)
elif (find(key, '_varint_') > 0):
parts =3D split(key, '_varint_')
if not self.REQUEST.has_key(parts[0]):
print parts
if len(parts) =3D=3D 1:
self.REQUEST[key] =3D 1
else:
self.REQUEST[parts[0]] =3D int(join(parts[1:], '
_varint_'))
return self
# FINE AGGIUNTA PER PARAMETRI SU URL
in questo modo puoi passare variabili come int, per ovviare all fatto c=
he
non si pu=F2 scrivere
index_html/id_contenuti_var_:int5555
ma posso invece usare
index_html/id_contenuti_varint_5555
ciao
Giorgio
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D
Giorgio Andreoletti - mentelocale S.r.l.
responsabile hardware e networking
responsabile sviluppo web
www.mentelocale.it
giorgio.andreoletti@mentelocale.it
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D
_______________________________________________
Zope-it maillist - Zope-it@zope.org
http://lists.zope.org/mailman/listinfo/zope-it
=