summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRené 'Necoro' Neumann <necoro@necoro.net>2010-03-17 00:17:58 +0100
committerRené 'Necoro' Neumann <necoro@necoro.net>2010-03-17 00:17:58 +0100
commit775692ed79e61c835c1b7ce15b0041640bed6de6 (patch)
treefb68d9d36aa9915e060a10193aaba0a165e4326a
parent33ba646433a3696b29bc57f107694457d6a20e2e (diff)
downloadweb-775692ed79e61c835c1b7ce15b0041640bed6de6.tar.gz
web-775692ed79e61c835c1b7ce15b0041640bed6de6.tar.bz2
web-775692ed79e61c835c1b7ce15b0041640bed6de6.zip
Clean up
-rw-r--r--controller.py10
-rw-r--r--helper.py5
-rwxr-xr-xindex.py59
-rw-r--r--renderer.py36
4 files changed, 55 insertions, 55 deletions
diff --git a/controller.py b/controller.py
new file mode 100644
index 0000000..002fe8e
--- /dev/null
+++ b/controller.py
@@ -0,0 +1,10 @@
+import web
+from renderer import render
+
+class Page:
+ def GET(self, name = '/'):
+ if not name or name == '/': name = 'index'
+ return render(name)
+
+def FourOhFour(page):
+ return web.notfound(render("404", level = "", page = page))
diff --git a/helper.py b/helper.py
index 910da0d..e0d6aad 100644
--- a/helper.py
+++ b/helper.py
@@ -1,4 +1,9 @@
import web
+import os
+
+APPDIR = os.path.dirname(os.path.abspath(__file__))
+def appdir (*args):
+ return os.path.join(APPDIR, *args)
def url (path):
return "\"%s\"" % web.url(path)
diff --git a/index.py b/index.py
index eda595c..9263ea5 100755
--- a/index.py
+++ b/index.py
@@ -1,64 +1,13 @@
#!/usr/bin/python
-from __future__ import with_statement
-
-import os
import web
-import mako
-from mako.lookup import TemplateLookup
-
-from functools import partial
-
-import helper
-
-APPDIR = os.path.dirname(os.path.abspath(__file__))
-
-app = web.auto_application()
-
-def appdir (*args):
- return os.path.join(APPDIR, *args)
-
-class Renderer:
- def __init__ (self):
- self.lookup = TemplateLookup(directories=[appdir('templates')],
- module_directory = "/tmp/portato/",
- input_encoding='utf-8',
- output_encoding='utf-8',
- format_exceptions = True)
+import controller
- def render (self, tpl, level = "pages" , **kwargs):
- try:
- t = self.get_tpl(tpl, level)
- except mako.exceptions.TopLevelLookupException, e:
- raise app.notfound(tpl)
-
- return t.render(h = helper, url = helper.url, w = web, **kwargs)
-
- __call__ = render
-
- def get_tpl (self, tpl, level):
- return self.lookup.get_template(self.get_tpl_name(tpl, level))
-
- def get_tpl_name (self, tpl, level):
- if not tpl.endswith(".mako"):
- tpl = tpl+".mako"
-
- return os.path.join(level, tpl)
+urls = ( "/(.*)", "controller.Page")
+app = web.application(urls, globals())
+app.notfound = controller.FourOhFour
web.config.debug = True
-render = Renderer()
-
-def FourOhFour(page):
- return web.notfound(render("404", level = "", page = page))
-
-app.notfound = FourOhFour
-
-class Handler (app.page):
- path = "/(.*)"
- def GET(self, name = '/'):
- if not name or name == '/': name = 'index'
- return render(name)
-
if __name__ == "__main__":
app.run()
diff --git a/renderer.py b/renderer.py
new file mode 100644
index 0000000..3d10fac
--- /dev/null
+++ b/renderer.py
@@ -0,0 +1,36 @@
+import os
+import web
+import mako
+from mako.lookup import TemplateLookup
+
+import helper
+
+class Renderer:
+ def __init__ (self):
+ self.lookup = TemplateLookup(
+ directories=[helper.appdir('templates')],
+ module_directory = "/tmp/portato/",
+ input_encoding='utf-8',
+ output_encoding='utf-8',
+ format_exceptions = True)
+
+ def render (self, tpl, level = "pages" , **kwargs):
+ try:
+ t = self.get_tpl(tpl, level)
+ except mako.exceptions.TopLevelLookupException, e:
+ raise web.ctx.app_stack[-1].notfound(tpl)
+
+ return t.render(h = helper, url = helper.url, w = web, **kwargs)
+
+ __call__ = render
+
+ def get_tpl (self, tpl, level):
+ return self.lookup.get_template(self.get_tpl_name(tpl, level))
+
+ def get_tpl_name (self, tpl, level):
+ if not tpl.endswith(".mako"):
+ tpl = tpl+".mako"
+
+ return os.path.join(level, tpl)
+
+render = Renderer()