Il 27/07/2010 12.18, Yuri ha scritto:
http://svn.zope.org/Zope/trunk/src/OFS/interfaces.py?rev=113612&view=markup
http://svn.zope.org/Zope/trunk/src/OFS/FindSupport.py?rev=114528&view=markup
link fondamentali.... tks
sulla avanzata,
ahhh, ecco adesso è chiaro:
1. nella ricerca semplice posso cercare solamente tramite ID esatto
(senza wildcard)
2. nella ricerca avanzata, posso usare espressioni regolari (che però
non vengono valutate solo sul campo ID, ma sull'intero oggetto (o
forse solo sul brain) restituito dalla ricerca).
quindi il problema è capire cosa ci va scritto nella ricerca avanzata,
nel campo expr.
guardando il codice, la riga che interessa è quella che contiene:
expr_match(ob, obj_expr))
vediamo come è definita questa funzione
def expr_match(ob, ed, c=InstanceDict, r=0):
e, md, push, pop=ed
push(c(ob, md))
try: r=e.eval(md)
finally:
pop()
return r
fine della storia: il codice mi è oscuro
ad ogni modo, forse si tratta solo di passare il corretto obj_expr
tramite il form di ricerca avanzata.
hai "expr" che ti permette di controllare, ad esempio,
se l'estensione termina per .doc. Ovviamente devi fare tu tutto :)
se ad esempio volessi trovare gli oggetti con id di lunghezza uguale a 5
caratteri alfabetici minuscoli? se non erro, la RE dovrebbe essere
"[a-z]{5,5}"
ma cosa dovrei scrivere nel campo expr? qualche esempio?
una volta capito come scriverci una RE semplice, poi mi complico la vita
con tutta calma.
Giacomo
_______________________________________________
Plone-IT mailing list
[email protected]
http://lists.plone.org/mailman/listinfo/plone-it
http://www.nabble.com/Plone---Italy-f21728.html