From caf37aec89e56f420a48baa405e6e28b7fab5061 Mon Sep 17 00:00:00 2001 From: Johannes Findeisen Date: Mon, 21 Oct 2013 02:03:17 +0200 Subject: [PATCH] added get job and enable/disable method to jsonrpc --- linspector/backends/jsonrpc.py | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/linspector/backends/jsonrpc.py b/linspector/backends/jsonrpc.py index fb8349f..d6905ca 100644 --- a/linspector/backends/jsonrpc.py +++ b/linspector/backends/jsonrpc.py @@ -21,6 +21,7 @@ You should have received a copy of the GNU Affero General Public License along with this program. If not, see . """ +import json import time from bjsonrpc.handlers import BaseHandler @@ -43,15 +44,17 @@ class JsonrpcBackend(Backend): self.port = config["backends"]["jsonrpc"]["port"] ServerHandler.interface = interface + ServerHandler.config = config def run(self): while True: - server = createserver(host=self.host, port=self.port, handler_factory=ServerHandler).serve() + server = createserver(host=self.host, port=self.port, handler_factory=ServerHandler) + server.serve() class ServerHandler(BaseHandler): - interface = None + config = None def time(self): return time.time() @@ -59,5 +62,15 @@ class ServerHandler(BaseHandler): def delta(self, start): return time.time() - start - def test(self): - return "test" \ No newline at end of file + def get_job_list(self): + pass + + def get_job_info_by_id(self, job_hex): + job = ServerHandler.interface.find_job_by_hex_string(job_hex) + job_dict = ServerHandler.interface.get_job_info_dict(job) + return json.dumps(job_dict, ensure_ascii=False) + + def set_job_enabled(self, job_hex, enabled=True): + job = ServerHandler.interface.find_job_by_hex_string(job_hex) + job.set_enabled(enabled) + return True \ No newline at end of file