def get(self, entry_id): ''' Handles displaying a wiki entry ''' logging.info("Running ShowWikiEntry.get()") logging.info("Request path: %s" % str(self.request.path)) self.response.headers['Content-Type'] = 'text/html' check_cookie(self) wiki_id = self.request.get('wiki_id') data = None service = WikiService(WikiDataStoreFactory()) if wiki_id: data = service.fetch(int(wiki_id)) else: url = WebappUtils.getLastPathElement(self.request) if not url: url = 'WikiFrontPage' logging.info('url: %s' % str(url)) data = service.fetchCurrentUrl(url) if data: logging.info('Getting WikiData: %s' % str_WikiData(data)) else: logging.info('No data found') values = {'wiki': data} if not data: redirect = '/final/_edit/%s' % url logging.info( "Data not found for wiki. Redirecting to edit page: %s" % redirect) self.redirect(redirect) else: path = os.path.join(os.path.dirname(__file__), '../templates/show_wiki_entry.html') self.response.out.write(template.render(path, values))
def get(self, entry_id): ''' Handles displaying a wiki entry ''' logging.info("Running ShowWikiEntry.get()") logging.info("Request path: %s" % str(self.request.path)) self.response.headers['Content-Type'] = 'text/html' check_cookie(self) wiki_id = self.request.get('wiki_id') data = None service = WikiService(WikiDataStoreFactory()) if wiki_id: data = service.fetch(int(wiki_id)) else: url = WebappUtils.getLastPathElement(self.request) if not url: url = 'WikiFrontPage' logging.info('url: %s' % str(url)) data = service.fetchCurrentUrl(url) if data: logging.info('Getting WikiData: %s' % str_WikiData(data)) else: logging.info('No data found') values = {'wiki': data} if not data: redirect = '/final/_edit/%s' % url logging.info("Data not found for wiki. Redirecting to edit page: %s" % redirect) self.redirect(redirect) else: path = os.path.join(os.path.dirname(__file__), '../templates/show_wiki_entry.html') self.response.out.write(template.render(path, values))
def get(self, entry_id): ''' For showing wiki history ''' logging.info("Running ShowWikiHistory.get()") self.response.headers['Content-Type'] = 'text/html' check_cookie(self) url = WebappUtils.getLastPathElement(self.request) service = WikiService(WikiDataStoreFactory()) data = service.fetchHistory(url) values = {'wiki_entries':data, "url": url} path = os.path.join(os.path.dirname(__file__), '../templates/history.html') self.response.out.write(template.render(path, values))
def get(self, entry_id): ''' For showing wiki history ''' logging.info("Running ShowWikiHistory.get()") self.response.headers['Content-Type'] = 'text/html' check_cookie(self) url = WebappUtils.getLastPathElement(self.request) service = WikiService(WikiDataStoreFactory()) data = service.fetchHistory(url) values = {'wiki_entries': data, "url": url} path = os.path.join(os.path.dirname(__file__), '../templates/history.html') self.response.out.write(template.render(path, values))
def post(self, param=None): ''' Handles wiki entry creation ''' logging.info("Running EditWikiEntry.post()") logging.info('Parameter=%s' % param) self.response.headers['Content-Type'] = 'text/html' check_cookie(self) isValid = True values = {} # url = self.request.get('url') url = WebappUtils.getLastPathElement(self.request) if not url: url = param[1:] if not url: values['url_error'] = 'Wiki url is required' isValid = False else: logging.info("Creating wiki entry with url: %s" % str(url)) content = self.request.get('content') if not content: values['content_error'] = 'Wiki content is required' isValid = False else: logging.info("Creating wiki entry with content: %s" % str(content)) path = None if not isValid: values['url'] = url values['content'] = content path = os.path.join(os.path.dirname(__file__), '../templates/edit_wiki_entry.html') self.response.out.write(template.render(path, values)) else: wiki = WikiData(url=url, content=content) service = WikiService(WikiDataStoreFactory()) logging.info("Saving WikiData: %s" % str_WikiData(wiki)) service.save(wiki) logging.info( "Successfully posted wiki entry. Redirecting to '/final/%s" % url) self.redirect('/final/%s' % url)
def get(self, foo=None): ''' Handles request for the create page ''' logging.info("Running EditWikiEntry.get()") self.response.headers['Content-Type'] = 'text/html' check_cookie(self) wiki_id = self.request.get('wiki_id') data = None service = WikiService(WikiDataStoreFactory()) url = '' if wiki_id: data = service.fetch(wiki_id) else: url = WebappUtils.getLastPathElement(self.request) data = service.fetchCurrentUrl(url) logging.info('Data: %s' % (str(data))) values = {'url': url, 'content':''} if data: values = {'url': data.url, 'content': data.content} path = os.path.join(os.path.dirname(__file__), '../templates/edit_wiki_entry.html') self.response.out.write(template.render(path, values))
def post(self, param=None): ''' Handles wiki entry creation ''' logging.info("Running EditWikiEntry.post()") logging.info('Parameter=%s' % param) self.response.headers['Content-Type'] = 'text/html' check_cookie(self) isValid = True values = {} # url = self.request.get('url') url = WebappUtils.getLastPathElement(self.request); if not url: url = param[1:] if not url: values['url_error'] = 'Wiki url is required' isValid = False else: logging.info("Creating wiki entry with url: %s" % str(url)) content = self.request.get('content') if not content: values['content_error'] = 'Wiki content is required' isValid = False else: logging.info("Creating wiki entry with content: %s" % str(content)) path = None if not isValid: values['url'] = url values['content'] = content path = os.path.join(os.path.dirname(__file__), '../templates/edit_wiki_entry.html') self.response.out.write(template.render(path, values)) else: wiki = WikiData(url=url, content=content) service = WikiService(WikiDataStoreFactory()) logging.info("Saving WikiData: %s" % str_WikiData(wiki)) service.save(wiki) logging.info("Successfully posted wiki entry. Redirecting to '/final/%s" % url ) self.redirect('/final/%s' % url)
def get(self, foo=None): ''' Handles request for the create page ''' logging.info("Running EditWikiEntry.get()") self.response.headers['Content-Type'] = 'text/html' check_cookie(self) wiki_id = self.request.get('wiki_id') data = None service = WikiService(WikiDataStoreFactory()) url = '' if wiki_id: data = service.fetch(wiki_id) else: url = WebappUtils.getLastPathElement(self.request) data = service.fetchCurrentUrl(url) logging.info('Data: %s' % (str(data))) values = {'url': url, 'content': ''} if data: values = {'url': data.url, 'content': data.content} path = os.path.join(os.path.dirname(__file__), '../templates/edit_wiki_entry.html') self.response.out.write(template.render(path, values))
def test_getLastPathElement_context_path_only(self): self.request.set_path('/final') # print "Test path: %s " % str(self.request.get_path()) self.assertTrue(WebappUtils.getLastPathElement(self.request) == None)
def test_getLastPathElement_withQueryString(self): self.request.set_path('/final/wiki?user_id=foo&url=bar') # print "Test path: %s " % str(self.request.get_path()) self.assertEquals('wiki', WebappUtils.getLastPathElement(self.request))
def test_getLastPathElement(self): self.request.set_path('/final/wiki') # print "Test path: %s " % str(self.request.get_path()) self.assertEquals('wiki', WebappUtils.getLastPathElement(self.request))