From cf3ab356f96969d7952b60417b48e941955e435c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20Br=C3=A4nnbacka?= Date: Sun, 16 Aug 2015 19:09:15 +0200 Subject: [PATCH] this commit fixes #39 --- src/octopus/dispatcher/webservice/licenses.py | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/octopus/dispatcher/webservice/licenses.py b/src/octopus/dispatcher/webservice/licenses.py index 0dde004f..ee38497e 100644 --- a/src/octopus/dispatcher/webservice/licenses.py +++ b/src/octopus/dispatcher/webservice/licenses.py @@ -7,12 +7,19 @@ from octopus.core.framework import ResourceNotFoundError from octopus.dispatcher.webservice import DispatcherBaseResource from octopus.core.communication.http import Http404, Http500 - +try: + import simplejson as json +except ImportError: + import json class LicensesResource(DispatcherBaseResource): #@queue def get(self): - self.writeCallback(repr(self.dispatcher.licenseManager)) + lic_data = {} + for name, lic in self.dispatcher.licenseManager.licenses.iteritems(): + lic_data[name] = {"max": lic.maximum, "used": lic.used, "rns": + [rn.name for rn in sorted(lic.currentUsingRenderNodes)]} + self.writeCallback(json.dumps(lic_data)) class LicenseResource(DispatcherBaseResource): @@ -20,11 +27,9 @@ class LicenseResource(DispatcherBaseResource): def get(self, licenseName): try: lic = self.dispatcher.licenseManager.licenses[licenseName] - licenseRepr = "{'max':%s, 'used':%s, 'rns':[" % (str(lic.maximum), str(lic.used)) - for rn in sorted(lic.currentUsingRenderNodes): - licenseRepr += "\"%s\"," % rn.name - licenseRepr += "]}" - self.writeCallback(licenseRepr) + lic_data = {"max": lic.maximum, "used": lic.used, "rns": + [rn.name for rn in sorted(lic.currentUsingRenderNodes)]} + self.writeCallback(json.dumps(lic_data)) except KeyError: raise ResourceNotFoundError