# HG changeset patch # User mas01mj # Date 1253631898 0 # Node ID eb91549dda8f8c6fbe6a4bd384cbc0b5e7b927f1 # Parent 448b28a598e35b66740d7c03ed8be71e6b8cb153 First bash at a simple pyadb web interface diff -r 448b28a598e3 -r eb91549dda8f bindings/python/examples/server.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bindings/python/examples/server.py Tue Sep 22 15:04:58 2009 +0000 @@ -0,0 +1,60 @@ +#!/usr/bin/python + +import _pyadb +import web +import json +import sys +import getopt + +# DB Path goes here for now! +dbPath = "9.adb" + +urls = ( + '/', 'index', + '/status', 'status', + '/query', 'query' +) + +app = web.application(urls, globals()) +class index: + def GET(self): + return """ + +
+ + +""" + + +class status: + def GET(self): + db = _pyadb._pyadb_open(dbPath, "r") + status = _pyadb._pyadb_status(db) + results = dict(zip(["numFiles", "dim", "dudCount", "nullCount", "flags", "length", "data_region_size"], status)) + return json.dumps(dict(status = "ok", data = results)) + +class query: + def GET(self): + params = web.input(key="", ntracks=100, seqStart=0, seqLength=16, npoints=1, radius=1.0, hopSize=1) + results = dict() + db = _pyadb._pyadb_open(dbPath, "r") + + params.ntracks = int(params.ntracks) + params.npoints = int(params.npoints) + params.seqStart = int(params.seqStart) + params.seqLength = int(params.seqLength) + params.radius = float(params.radius) + params.hopSize = int(params.hopSize) + + try: + results = _pyadb._pyadb_queryFromKey(db, **params) + except Exception as inst: + return json.dumps(dict(status = "error", message=str(inst))) + + return json.dumps(dict(status = "ok", data = results)) + +if __name__ == "__main__": + app.run()