X-Git-Url: http://andersk.mit.edu/gitweb/sql.git/blobdiff_plain/5cb62ba942e735545295a8cce19be93688557719..e4fd5e1b03c4d9aa73a7be54558fcc61de619531:/lib/python/mitsql/interface/handler.py diff --git a/lib/python/mitsql/interface/handler.py b/lib/python/mitsql/interface/handler.py new file mode 100644 index 0000000..14eac9e --- /dev/null +++ b/lib/python/mitsql/interface/handler.py @@ -0,0 +1,48 @@ +import mitsql +from cheetah import templates +import cherrypy + +from pprint import pformat + +def _500(*argv, **kw): + s_exc = cherrypy._cperror.format_exc() + mitsql.logging.error(s_exc) + return templates.common.shell(title='%s (CherryPy %s)' % (kw.get('status'), kw.get('version')), + content=('

%s

' + (2*'
%s
')) + % (kw.get('message'), kw.get('traceback'), + _phtml(dict(filter(lambda x: not x[0][:2] == '__', + cherrypy.request.__dict__.items()))))) + +class Root(object): + class Error(object): + @cherrypy.expose + def _404(*argv, **kw): + return templates.common._404() + def _500(*argv, **kw): + return _500(*argv, **kw) + error = Error() + + class DB(object): + def list(*argv, **kw): + r = {'db_list': [], + 'size_tot': '1M', + 'size_max': '100M', + 'user': { + 'db_prefix': 'presbrey+' + }} + return templates.main.db_list(**r) + list.exposed = True + db = DB() + + def test(self, *argv, **kw): + cherrypy.response.headers['Content-type'] = 'text/plain' + return pformat(dict(filter(lambda x: not x[0][:2] == '__', cherrypy.request.__dict__.items()))) + test.exposed = True + + def index(self, *argv, **kw): + return templates.main.index() + index.exposed = True + + def passwd(self, *argv, **kw): + return templates.main.passwd() + passwd.exposed = True \ No newline at end of file