Beispiel #1
0
    def show(self, id, format='html'):
        c.tag = get_entity_or_abort(model.Tag, id)
        require.tag.show(c.tag)
        require.proposal.index()
        require.page.index()

        if format == 'json':
            return render_json(c.tag)

        entities = libsearch.query.run(u'tag:' + c.tag.name,
                                       instance=c.instance)
        entities = [e for e in entities if (isinstance(e, model.Proposal) or
                                            isinstance(e, model.Page))]

        c.entities_pager = NamedPager(
            'entities', entities, tiles.dispatch_row,
            sorts={_("oldest"): sorting.entity_oldest,
                   _("newest"): sorting.entity_newest,
                   _("alphabetically"): sorting.delegateable_title,
                   _("relevance"): sorting.entity_stable},
            default_sort=sorting.entity_stable,
            q=c.query)

        tags = model.Tag.similar_tags(c.tag, limit=50)
        c.cloud_tags = sorted(text.tag_cloud_normalize(tags),
                              key=lambda (k, c, v): k.name)
        return render("/tag/show.html")
Beispiel #2
0
    def show(self, id, format='html'):
        c.tag = get_entity_or_abort(model.Tag, id)
        require.tag.show(c.tag)
        require.proposal.index()
        require.page.index()

        if format == 'json':
            return render_json(c.tag)

        entities = libsearch.query.run(u'tag:' + c.tag.name,
                                       instance=c.instance)
        entities = [
            e for e in entities
            if (isinstance(e, model.Proposal) or isinstance(e, model.Page))
        ]

        c.entities_pager = NamedPager('entities',
                                      entities,
                                      tiles.dispatch_row,
                                      sorts={
                                          _("oldest"): sorting.entity_oldest,
                                          _("newest"): sorting.entity_newest,
                                          _("alphabetically"):
                                          sorting.delegateable_title,
                                          _("relevance"): sorting.entity_stable
                                      },
                                      default_sort=sorting.entity_stable,
                                      q=c.query)

        tags = model.Tag.similar_tags(c.tag, limit=50)
        c.cloud_tags = sorted(text.tag_cloud_normalize(tags),
                              key=lambda (k, c, v): k.name)
        return render("/tag/show.html")
Beispiel #3
0
 def index(self, format='html'):
     require.tag.index()
     tags = model.Tag.popular_tags(limit=500)
     if format == 'json':
         return render_json(tags)
     c.tags = sorted(text.tag_cloud_normalize(tags),
                     key=lambda (k, c, v): k.name.lower())
     return render("/tag/index.html")
Beispiel #4
0
 def index(self, format='html'):
     require.tag.index()
     tags = model.Tag.popular_tags(limit=500)
     if format == 'json':
         return render_json(tags)
     c.tags = sorted(text.tag_cloud_normalize(tags),
                     key=lambda (k, c, v): k.name.lower())
     return render("/tag/index.html")