[Zope] sorting ids in python

robert rottermann robert at redcor.ch
Thu Dec 11 03:47:02 EST 2008


Garry Saddington schrieb:
> On Tuesday 09 December 2008 03:15, Andreas Jung wrote:
>> On 08.12.2008 21:11 Uhr, robert rottermann wrote:
>>> Garry Saddington schrieb:
>>>> Can anyone help me sort the following by id in a python script?
>>>>
>>>> for object in context.objectValues(['Folder', 'DTML
>>>> Document','ZipFolder','File','Image']):
>>> objs=context.objectValues(['Folder',
>>> 'DTMLDocument','ZipFolder','File','Image']) objs.sort()
>>> for o in objs:
>>>   ..
>> huh? Afaik there is no sort order defined on a per-object basis.
>>
> This is my final working solution:
> 
> ids = context.objectIds(['Folder', 'DTMLDocument','ZipFolder','File','Image'])
> ids.sort()
> for object in ids:
>     object=context.restrictedTraverse(object)
>     path=object.absolute_url()
> ...........................
I think you can have it a little bit easier:
use context.objectItems instead of objectIds
context.objectItems returns (id, object) tuples.

so your solution wold be:
objs = context.objectItems(['Folder', 'DTMLDocument','ZipFolder','File','Image'])
objs.sort()
for id, object in objs:
     path=object.absolute_url()
robert


More information about the Zope mailing list