def items(self, object): if hasattr(object, 'traverse'): sorter = lambda x, y: -cmp(x.published, y.published) return take(LIMIT, sorted(object.traverse(), sorter)) return object.entries.manager().all()[:LIMIT]
def items(self): sorter = lambda x, y: -cmp(x.published, y.published) items = chain(*(s.all_relevant(limit=LIMIT) for s in sections)) return take(LIMIT, sorted(items, sorter))