def get_standingouts(request=None, limit=0): standingouts = StandingOut.objects.all() qsm = QueryStringManager(request, page_var='page', ignore_params=('set_language', )) filters = qsm.get_filters() standingouts = standingouts.filter(**filters) if limit: return standingouts[:limit] else: return standingouts
def get_content_with_votes(self, request=None, context=None, limit=0, order_by='id'): contents = self.get_queryset(request, context) from copy import copy request_copy = copy_request(request, ['set_language'], copy) qsm = QueryStringManager(request, page_var='page') filters = qsm.get_filters() contents = contents.filter(**filters).distinct().select_related('votes').order_by(order_by) if limit: return contents[:limit] return contents
def generate_feed_from_queryset(request, queryset=None): plugin = get_plugin('rss') if not queryset: contenttypes = plugin.get_config().get( 'contenttypes', []).get_value() query = Q() if not contenttypes or ALL_TYPES in contenttypes: queryset = BaseContent.objects.filter( status='published').order_by('-modification_date') else: classnames = [x for x in contenttypes] for classname in classnames: query = query | Q(class_name=classname.lower()) queryset = BaseContent.objects.filter( status='published').filter( query).order_by('-modification_date') qsm = QueryStringManager(request) queryset = queryset.filter(**qsm.get_filters()) portal_title = plugin.get_config().get( 'portal', '').get_value() f = feedgenerator.Rss201rev2Feed( title=portal_title, link=render_to_string('rss/link.html'), description=render_to_string('rss/description.html'), language=render_to_string('rss/language.html'), author_name=render_to_string('rss/author_name.html'), feed_url=render_to_string('rss/feed_url.html'), ) limit = plugin.get_config().get('limit', None) queryset = queryset[:int(limit.get_value())] link_prefix = 'http://%s' % Site.objects.all()[0].domain for item in queryset: if hasattr(item, 'get_real_instance'): item = item.get_real_instance() if 'modification_date' in item.__dict__: item_date = item.modification_date else: item_date = datetime.now() templates = {'title': ['rss/%s/title.html' % item.class_name, 'rss/items/title.html'], 'description': ['rss/%s/description.html' % item.class_name, 'rss/items/description.html'], } f.add_item( title=render_to_string(templates['title'], {'item': item}), link=u'%s%s' % (link_prefix, item.public_link()), pubdate=item_date, description=render_to_string(templates['description'], {'item': item}), ) return f.writeString('UTF-8')
def get_standingouts(request=None, limit=0): standingouts = StandingOut.objects.all() qsm = QueryStringManager(request, page_var='page', ignore_params=('set_language', )) filters = qsm.get_filters() standingouts = standingouts.filter(**filters) if limit: return standingouts[:limit] else: return standingouts
def generate_feed_from_queryset(request, queryset=None): plugin = get_plugin('rss') if not queryset: contenttypes = plugin.get_config().get('contenttypes', []).get_value() query = Q() if not contenttypes or ALL_TYPES in contenttypes: queryset = BaseContent.objects.filter( status='published').order_by('-modification_date') else: classnames = [x for x in contenttypes] for classname in classnames: query = query | Q(class_name=classname.lower()) queryset = BaseContent.objects.filter(status='published').filter( query).order_by('-modification_date') qsm = QueryStringManager(request) queryset = queryset.filter(**qsm.get_filters()) portal_title = plugin.get_config().get('portal', '').get_value() f = feedgenerator.Rss201rev2Feed( title=portal_title, link=render_to_string('rss/link.html'), description=render_to_string('rss/description.html'), language=render_to_string('rss/language.html'), author_name=render_to_string('rss/author_name.html'), feed_url=render_to_string('rss/feed_url.html'), ) limit = plugin.get_config().get('limit', None) queryset = queryset[:int(limit.get_value())] link_prefix = 'http://%s' % Site.objects.all()[0].domain for item in queryset: if hasattr(item, 'get_real_instance'): item = item.get_real_instance() if 'modification_date' in item.__dict__: item_date = item.modification_date else: item_date = datetime.now() templates = { 'title': ['rss/%s/title.html' % item.class_name, 'rss/items/title.html'], 'description': [ 'rss/%s/description.html' % item.class_name, 'rss/items/description.html' ], } f.add_item( title=render_to_string(templates['title'], {'item': item}), link=u'%s%s' % (link_prefix, item.public_link()), pubdate=item_date, description=render_to_string(templates['description'], {'item': item}), ) return f.writeString('UTF-8')
def _filter_by_request(self, request, items): qsm = QueryStringManager(request, page_var='page', ignore_params=('set_language', )) filters = qsm.get_filters() return self._filter_by_filters(items, filters)
def _filter_by_request(self, request, items): qsm = QueryStringManager(request, page_var='page', ignore_params=('set_language', )) filters = qsm.get_filters() return self._filter_by_filters(items, filters)