def get(self,page_name): user = self.get_user() if not user: self.redirect('/wiki/signup') return edit_link = '/wiki/_edit' + page_name view_link = '/wiki' + page_name page = Page.get_page_by_name(page_name) if not page: self.redirect(edit_link) return editions = [] eds = list(page.editions) eds.reverse() num = 1 for edition_key in eds: edition = db.get(edition_key) editions.append( (edition.created.strftime('%d %b %Y %H:%M:%S'), escape(edition.content), view_link + '?v=' + str(num), edit_link + '?v=' + str(num) ) ) num+=1 self.render('wiki_history.html', editions = editions, view_page = view_link, edit_page = edit_link)
def get(self, page_name): user = self.get_user() v = self.request.get('v') if v and v.isdigit(): v = int(v) else: v = 1 if not user: self.redirect('/wiki/signup') return page = Page.get_page_by_name(page_name) content = '' if page: content = db.get(page.editions[-v]).content self.render('wiki_edit.html', content = escape(content) )
def post(self, page_name): content = self.request.get('content') user = self.get_user() if not user: self.redirect('/wiki/signup') return page = Page.get_page_by_name(page_name) if not page: page = Page(name = page_name, editions = []) page_edition = PageEdition(content = content, author = user) page_edition.put() page.editions.append(page_edition.key()) page.put() self.redirect('/wiki'+page_name)
def get(self,page_name): user = self.get_user() v = self.request.get('v') if v and v.isdigit(): v = int(v) else: v = 1 edit_link = '/wiki/_edit' + page_name history_link = '/wiki/_history' + page_name page = Page.get_page_by_name(page_name) if not page: logging.error('redirecting') self.redirect(edit_link) return content = db.get(page.editions[-v]).content self.render('wiki.html', content = content, logged = user, edit_page = edit_link, history_link = history_link)