예제 #1
0
파일: views.py 프로젝트: namongk/ecogwiki
    def get_changes(self, user, head):
        restype = get_restype(self.request)
        rendered = None

        if restype == 'default':
            if rendered is None:
                pages = WikiPage.get_changes(user)
                rendered = template(self.request, 'wiki_sp_changes.html',
                                          {'pages': pages})
            self.response.headers['Content-Type'] = 'text/html; charset=utf-8'
            set_response_body(self.response, rendered, head)
        elif restype == 'atom':
            if rendered is None:
                pages = WikiPage.get_changes(None, 3, include_body=True)
                config = WikiPage.get_config()
                host = self.request.host_url
                url = "%s/sp.changes?_type=atom" % host
                feed = AtomFeed(title="%s: changes" % config['service']['title'],
                                feed_url=url,
                                url="%s/" % host,
                                author=config['admin']['email'])
                for page in pages:
                    feed.add(title=page.title,
                             content_type="html",
                             content=page.rendered_body,
                             author=page.modifier,
                             url='%s%s' % (host, page.absolute_url),
                             updated=page.updated_at)
                rendered = feed.to_string()
            self.response.headers['Content-Type'] = 'text/xml; charset=utf-8'
            set_response_body(self.response, rendered, head)
        else:
            self.abort(400, 'Unknown type: %s' % restype)
예제 #2
0
파일: views.py 프로젝트: namongk/ecogwiki
    def get_changes(self, user, head):
        restype = get_restype(self.request)
        rendered = None

        if restype == 'default':
            if rendered is None:
                pages = WikiPage.get_changes(user)
                rendered = template(self.request, 'wiki_sp_changes.html',
                                    {'pages': pages})
            self.response.headers['Content-Type'] = 'text/html; charset=utf-8'
            set_response_body(self.response, rendered, head)
        elif restype == 'atom':
            if rendered is None:
                pages = WikiPage.get_changes(None, 3, include_body=True)
                config = WikiPage.get_config()
                host = self.request.host_url
                url = "%s/sp.changes?_type=atom" % host
                feed = AtomFeed(title="%s: changes" %
                                config['service']['title'],
                                feed_url=url,
                                url="%s/" % host,
                                author=config['admin']['email'])
                for page in pages:
                    feed.add(title=page.title,
                             content_type="html",
                             content=page.rendered_body,
                             author=page.modifier,
                             url='%s%s' % (host, page.absolute_url),
                             updated=page.updated_at)
                rendered = feed.to_string()
            self.response.headers['Content-Type'] = 'text/xml; charset=utf-8'
            set_response_body(self.response, rendered, head)
        else:
            self.abort(400, 'Unknown type: %s' % restype)
예제 #3
0
 def load(self):
     index = int(self.req.GET.get("index", "0"))
     count = min(50, int(self.req.GET.get("count", "50")))
     return {
         "cur_index": index,
         "next_index": index + 1,
         "count": count,
         "pages": WikiPage.get_changes(self.user, index, count),
     }
예제 #4
0
 def load(self):
     index = int(self.req.GET.get('index', '0'))
     count = min(50, int(self.req.GET.get('count', '50')))
     return {
         'cur_index': index,
         'next_index': index + 1,
         'count': count,
         'pages': WikiPage.get_changes(self.user, index, count),
     }
예제 #5
0
 def load(self):
     index = int(self.req.GET.get('index', '0'))
     count = min(50, int(self.req.GET.get('count', '50')))
     return {
         'cur_index': index,
         'next_index': index + 1,
         'count': count,
         'pages': WikiPage.get_changes(self.req.user, index, count),
     }
예제 #6
0
파일: views.py 프로젝트: uastory/ecogwiki
    def get_sp_changes(self, user, head):
        restype = self._get_restype()
        email = user.email() if user is not None else "None"
        rendered = None

        if restype == "default":
            if rendered is None:
                pages = WikiPage.get_changes(user)
                rendered = self._template("wiki_sp_changes.html", {"pages": pages})
            self.response.headers["Content-Type"] = "text/html; charset=utf-8"
            self._set_response_body(rendered, head)
        elif restype == "atom":
            if rendered is None:
                pages = WikiPage.get_changes(None, 3, include_body=True)
                config = WikiPage.yaml_by_title(".config")
                host = self.request.host_url
                url = "%s/sp.changes?_type=atom" % host
                feed = AtomFeed(
                    title="%s: changes" % config["service"]["title"],
                    feed_url=url,
                    url="%s/" % host,
                    author=config["admin"]["email"],
                )
                for page in pages:
                    feed.add(
                        title=page.title,
                        content_type="html",
                        content=page.rendered_body,
                        author=page.modifier,
                        url="%s%s" % (host, page.absolute_url),
                        updated=page.updated_at,
                    )
                rendered = feed.to_string()
            self.response.headers["Content-Type"] = "text/xml; charset=utf-8"
            self._set_response_body(rendered, head)
        else:
            self.abort(400, "Unknown type: %s" % restype)
예제 #7
0
 def load(self):
     return WikiPage.get_changes(self.user)