X-Git-Url: https://git.openstreetmap.org./osqa.git/blobdiff_plain/e1bb6d86117346dc3af5a0d3cdb11523860873b1..edcd42cff2f41ebea0f49df0390a17886d32bd38:/forum/feed.py diff --git a/forum/feed.py b/forum/feed.py index bbbf3e7..02c309d 100644 --- a/forum/feed.py +++ b/forum/feed.py @@ -1,8 +1,8 @@ try: - from django.contrib.syndication.views import Feed, FeedDoesNotExist + from django.contrib.syndication.views import Feed, FeedDoesNotExist, add_domain old_version = False except: - from django.contrib.syndication.feeds import Feed, FeedDoesNotExist + from django.contrib.syndication.feeds import Feed, FeedDoesNotExist, add_domain old_version = True from django.http import HttpResponse @@ -10,6 +10,12 @@ from django.utils.translation import ugettext as _ from django.utils.safestring import mark_safe from models import Question from forum import settings +from forum.modules import decorate +from forum.utils.pagination import generate_uri + +@decorate(add_domain, needs_origin=False) +def add_domain(domain, url, *args, **kwargs): + return "%s%s" % (settings.APP_BASE_URL, url) class BaseNodeFeed(Feed): if old_version: @@ -18,7 +24,7 @@ class BaseNodeFeed(Feed): def __init__(self, request, title, description, url): self._title = title - self._description = mark_safe(description) + self._description = mark_safe(unicode(description)) self._url = url if old_version: @@ -61,7 +67,7 @@ class BaseNodeFeed(Feed): class RssQuestionFeed(BaseNodeFeed): def __init__(self, request, question_list, title, description): - url = request.path + "&" + "&".join(["%s=%s" % (k, v) for k, v in request.GET.items() if not k in (_('page'), _('pagesize'), _('sort'))]) + url = request.path + "&" + generate_uri(request.GET, (_('page'), _('pagesize'), _('sort'))) super(RssQuestionFeed, self).__init__(request, title, description, url) self._question_list = question_list