def get_index(self, user, head): restype = get_restype(self.request) if restype == 'default': pages = WikiPage.get_index(user) page_group = groupby(pages, lambda p: title_grouper(p.title)) html = template(self.request, 'wiki_sp_index.html', {'page_group': page_group}) self.response.headers['Content-Type'] = 'text/html; charset=utf-8' set_response_body(self.response, html, head) elif restype == 'atom': pages = WikiPage.get_index(None) config = WikiPage.get_config() host = self.request.host_url url = "%s/sp.index?_type=atom" % host feed = AtomFeed(title="%s: title index" % 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", author=page.modifier, url='%s%s' % (host, page.absolute_url), updated=page.updated_at) self.response.headers['Content-Type'] = 'text/xml; charset=utf-8' set_response_body(self.response, feed.to_string(), head) else: self.abort(400, 'Unknown type: %s' % restype)
def get_sp_index(self, user, head): restype = self._get_restype() if restype == "default": pages = WikiPage.get_index(user) page_group = groupby(pages, lambda p: title_grouper(p.title)) html = self._template("wiki_sp_index.html", {"page_group": page_group}) self.response.headers["Content-Type"] = "text/html; charset=utf-8" self._set_response_body(html, head) elif restype == "atom": pages = WikiPage.get_index(None) config = WikiPage.yaml_by_title(".config") host = self.request.host_url url = "%s/sp.index?_type=atom" % host feed = AtomFeed( title="%s: title index" % 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", author=page.modifier, url="%s%s" % (host, page.absolute_url), updated=page.updated_at, ) self.response.headers["Content-Type"] = "text/xml; charset=utf-8" self._set_response_body(feed.to_string(), head) else: self.abort(400, "Unknown type: %s" % restype)
def load(self): return WikiPage.get_index(self.user)