Ya encontre cual era el problema, aun así el código no hacía lo que yo quería. He generado un nuevo código pero no se que hacer.
Os pongo en situacion, a la misma altura de mi index, tengo una serie de carpetas que simulan las aulas y dentro de dichas carpetas, un objeto por cada alumno. Ahora lo que pretendo es obtener en item2 todo el listado completo de alumnos.
Código HTML:
<div metal:fill-slot="main">
<h1 class="documentFirstHeading">Listado completo de alumnos</h1>
<tal:mfolder tal:define="contentFilter python:{'review_state':'published'};
contentFilter2 python:{'review_state':'published','portal_type':'Alumno'};
items python:here.getFolderContents(contentFilter,full_objects=True);
items2 python: [(obj.getFolderContents(contentFilter2,full_objects=True)) for obj in items if obj.getFolderContents(contentFilter2,full_objects=True)];">
<p tal:content="items2">Items</p>
</tal:mfolder>
</div>
El caso es que quiero que items2 contenga un listado de todos los alumnos para mostrar un listado completo.
Con este código, lo que consigo es que si items tiene la siguiente forma
items = [elem1,elem2,elem3]
en items2 se me guarda algo como esto
items2 = [[subelem11,subelem12,subelem13],[subelem21,subelem22],[subelem31,subelem32,subelem33]]
es decir, un array bidimensional donde cada fila esta formada por todos los alumnos que hay dentro de cada carpeta.
mi idea era aplicar a este listado la funcion sequence.sort y con este formato no puedo hacerlo.
¿Como puedo conseguir dicho listado?