예제 #1
0
 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))
예제 #4
0
 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))
예제 #5
0
 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)
예제 #8
0
 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))
예제 #9
0
 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)
예제 #10
0
 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))
예제 #11
0
 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))
    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))