From: Tony Mack Date: Tue, 10 Aug 2010 20:03:40 +0000 (-0400) Subject: use jsonlib (if available) before using simplejson X-Git-Tag: plcapi-5.0-17~5 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=9df91974270bdab09df4c08a94108a4cfac0d187;p=plcapi.git use jsonlib (if available) before using simplejson --- diff --git a/PLC/API.py b/PLC/API.py index 8d95f8e3..0d228f7f 100644 --- a/PLC/API.py +++ b/PLC/API.py @@ -15,6 +15,17 @@ import string import xmlrpclib import simplejson +try: + # Try to use jsonlib before using simpljson. This is a hack to get around + # the fact that the version of simplejson avaialble for f8 is slightly + # faster than xmlrpc but not as fast as jsonlib. There is no jsonlib + # pacakge available for f8, so this has to be installed manually and + # is not expected to always be available. Remove this once we move away + # from f8 based MyPLC's + import jsonlib + json = jsonlib +except: + json = simplejson # See "2.2 Characters" in the XML specification: # @@ -213,12 +224,12 @@ class PLCAPI: """ Handle a JSON request """ - method, args = simplejson.loads(data) + method, args = json.loads(data) try: result = self.call(source, method, *args) except Exception, e: result = str(e) - return simplejson.dumps(result) + return json.dumps(result)