def display(environ, start_response): page = os.path.normpath(environ['PATH_INFO'].replace('..','')) if page[0] not in string.letters: errormsg = "Error: the asked page does not exist" #put message in a session print errormsg return redirect(start_response, '/') filepage = os.path.join(repository,page) if not os.path.isfile(filepage): return redirect(start_response, '/edit?page=%s' % page) content = open(filepage).read() mnu = menu + """, <a href="/edit?page=%s"><img border="0" src="/static/img/application_edit.png"title="Edit this page"/></a>""" % page tmpl = string.Template(open('template/display.html').read()).safe_substitute({'content':content,'page':page,'menu':mnu}) start_response(get_status(200), [('Content-Type','text/html')]) return [tmpl]
def POST(self, page="", content=""): if page.strip() == "": msg = "ERROR!! Page cannot be empty" print "ERROR PAGE empty" return self.GET(page,msg) else: if content.strip() == "": if os.path.isfile(os.path.join(repository, page)): os.unlink(os.path.join(repository,page)) return redirect(self.start_response, "/") else: try: f = open(os.path.join(repository,page),"w").write(content) except: msg = "Error, wrong page name" return self.GET(page,msg) return redirect(self.start_response, "/display/%s" % page)