added some more stuff to jsonrpc backend

This commit is contained in:
Johannes Findeisen 2013-10-20 23:08:08 +02:00
commit 32d4179c1d

View file

@ -1,6 +1,8 @@
"""
A JSON-RPC backend using HTTP.
Uses: http://deavid.github.io/bjsonrpc/
Copyright (c) 2011-2013 "Johannes Findeisen and Rafael Timmerberg"
This file is part of Linspector (http://linspector.org).
@ -21,15 +23,37 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
import time
from bjsonrpc.handlers import BaseHandler
from bjsonrpc import createserver
from linspector.backends.backend import Backend
class JsonrpcBackend(Backend):
def __init__(self, interface, **kwargs):
class JsonrpcBackend(Backend, BaseHandler):
def __init__(self, interface, config, **kwargs):
super(Backend, self).__init__(**kwargs)
self.interface = interface
self.config = config
self.host = "127.0.0.1"
if config["backends"]["jsonrpc"]["host"]:
self.host = config["backends"]["jsonrpc"]["host"]
self.port = 10123
if config["backends"]["jsonrpc"]["port"]:
self.port = config["backends"]["jsonrpc"]["port"]
def run(self):
while True:
print "hello from JsonrpcBackend thread..."
time.sleep(5)
s = createserver(host=self.host, port=self.port, handler_factory=ServerHandler)
s.serve()
class ServerHandler(BaseHandler):
def time(self):
return time.time()
def delta(self, start):
return time.time() - start
def test(self):
return "test"