diff options
Diffstat (limited to '')
-rwxr-xr-x | index.py | 75 |
1 files changed, 11 insertions, 64 deletions
@@ -1,69 +1,16 @@ #!/usr/bin/python +import sys -import web -import controller -import model +from app import app, db -# -# URL Mappings -# -urls = ( - "/add/?", controller.Add, - "/edit/(\d+)", controller.Edit, - "/const/?", controller.Const, - "/const/(\d+)", controller.Const, - "/const/add/?", controller.ConstAdd, - "/const/add/from/(\d+)", controller.ConstAdd, - "/const/edit/(\d+)", controller.ConstEdit, - "/categories", controller.Cat, - "/(\d\d\d\d)/(\d\d?)/?", controller.Show, - "/", controller.Show, - "/(.*)", controller.FourOhFour - ) -# -# ORM -# -def handle_sql(handler): - web.ctx.orm = model.Session() +try: + cmd = sys.argv[1] +except IndexError: + cmd = None - try: - try: - h = handler() - except web.HTTPError: - web.ctx.orm.commit() - raise - except: - web.ctx.orm.rollback() - raise - else: - web.ctx.orm.commit() - return h - finally: - model.Session.remove() - -# -# Check for mobile (at least somewhat) -# -mobile_checks = ["J2ME", "Opera Mini"] -def handle_mobile(): - ua = web.ctx.env.get("HTTP_USER_AGENT", "") - - web.ctx.is_mobile = any((x in ua) for x in mobile_checks) - -# -# The App -# -app = web.application(urls, globals()) -app.notfound = controller.FourOhFour.catch - -# add processors -app.add_processor(handle_sql) -app.add_processor(web.loadhook(handle_mobile)) - -# debug for the moment -web.config.debug = True - -# -# And go! -if __name__ == "__main__": +if cmd == "create": + db.create_all() +elif cmd == "drop": + db.drop_all() +else: app.run() |