C'est normal : en comparaison alphabétique "08.108 S" est inférieur à
"08.11 S". Essayer et adapter ceci...
l = ['08.07 S', '08.08 A', '08.09 S', '08.10 A',
'08.101 S', '08.107 S', '08.108 S', '08.11 S',
'08.118 S']
def comparable(v):
num, txt = v.strip().split()
v1, v2 = [int(x) for x in num.split('.')]
return (v1, v2, txt)
l.sort(lambda s1, s2: cmp(comparable(s1), comparable(s2)))
print l
D'autre part, il est déconseillé de faire un x.getObject() sur
l'ensemble des résultats de recherche si les metadata du catalogue
sont suffisantes pour le tri et l'affichage.
Le 11 juin 09 à 12:39, said touil a écrit :
> Bonjour à tous,
>
> Plone 2.1.2 / Zope 2.7.8 final.
>
> Problème :
> J'utilise le product PloneExfile (version 4.0.1)
>
> Dans une page zpt, j'ai le code suivant : (je n'ai pas mis le code
> en totalité ...)
>
> <tal:yearFiles define="results
> python:here.portal_catalog.searchResults(portal_type='PloneExFile' )">
> ...
> <li tal:define="results python: [b.getObject() for b in results];
> dummy
> python:context.sortFile(results,action='triFichier(results)')"
> tal:repeat="obj results">
> Dans le répertoire portal_skins/custom de plone, j'ai crée un script
> python qui porte le nom sortFile qui prend en paramètre
> Parameter List: L,action.
> Ce script en gros permet de trier une liste de mes fichiers pdf
> selon le titre.
>
> Mon problème est que lorsque je code la ligne suivante dans ma page
> template :
>
> dummy python:context.sortFile(results,action='triFichier(results)')"
>
> Ma liste est mal triée.
> 08.07 S
> 08.08 A
> 08.09 S
> 08.10 A
> 08.101 S
> 08.107 S
> 08.108 S
> 08.11 S
> 08.118 S
> Normalement, je devrais avoir le résultat suivant:
> 08.07 S
> 08.08 A
> 08.09 S
> 08.10 A
> 08.11 S
> 08.101 S
> 08.107 S
> 08.108 S
> 08.118 S
>
> Quelqu'un a t-il une idée ?
>
> Ps: Dans mon portal_catalog au niveau de l'onglet Indexes, je n'ai
> pas sortable_title que je pourrais utiliser par exemple avec la
> commande sort_on='sortable_title' dans :
> ... portal_catalog.searchResults(portal_type='PloneExFile',
>
> sort_on='sortable_title' )">
>
> Merci d'avance pour votre aide.
>
> Saïd.
> _______________________________________________
> Plone-FR mailing list
>
[hidden email]
>
http://lists.plone.org/mailman/listinfo/plone-fr_______________________________________________
Plone-FR mailing list
[hidden email]
http://lists.plone.org/mailman/listinfo/plone-fr