# HG changeset patch # User drewp@bigasterisk.com # Date 2016-06-13 19:25:00 # Node ID c0742e710eeb4b20c773f4205be18cb353c8dae7 # Parent 649d482737e06661428fe68dcd233bc84bbb29f1 refactor collector json parsing Ignore-this: ae540a86d86ff9a45e5b2b66ee5f82d4 diff --git a/bin/collector b/bin/collector --- a/bin/collector +++ b/bin/collector @@ -19,6 +19,13 @@ from light9 import networking from light9.rdfdb.syncedgraph import SyncedGraph from light9.rdfdb import clientsession +def parseJsonMessage(msg): + body = json.load(msg) + settings = [] + for device, attr, value in body['settings']: + settings.append((URIRef(device), URIRef(attr), Literal(value))) + return body['client'], body['clientSession'], settings, body['sendTime'] + class WebServer(object): stats = scales.collection('/webServer', scales.PmfStat('setAttr')) @@ -29,14 +36,8 @@ class WebServer(object): @app.route('/attrs', methods=['PUT']) def putAttrs(self, request): with WebServer.stats.setAttr.time(): - body = json.load(request.content) - settings = [] - for device, attr, value in body['settings']: - settings.append((URIRef(device), URIRef(attr), Literal(value))) - self.collector.setAttrs(body['client'], - body['clientSession'], - settings, - body['sendTime']) + client, clientSession, settings, sendTime = parseJsonMessage(request.content) + self.collector.setAttrs(client, clientSession, settings, sendTime) request.setResponseCode(202) @app.route('/stats', methods=['GET'])