예제 #1
0
def package_items(context, **kwargs):
    item = context['item']
    refs = item.get_refs(kwargs['role'])

    if 'class' in kwargs:
        refs = [ref for ref in refs if ref.itemClass == kwargs['class']]

    if 'limit' in kwargs:
        refs = refs[:kwargs['limit']]

    items = []
    for ref in refs:
        items.append(Item.objects(guid=ref.residRef).first())
    return items
예제 #2
0
 def render(self, context):
     context.push()
     nodelist = NodeList()
     kwargs = self.resolve_kwargs(context)
     limit = kwargs.get('limit', 55)
     start = kwargs.get('start', 0)
     order = kwargs.get('order', '-versionCreated')
     items = Item.objects(itemClass=kwargs['class'],publishedOn__ne=None).order_by(order)[start:limit]
     for item in items:
         context['item'] = item
         for node in self.nodelist:
             nodelist.append(node.render(context))
     context.pop()
     return nodelist.render(context)