From 9df91974270bdab09df4c08a94108a4cfac0d187 Mon Sep 17 00:00:00 2001 From: Tony Mack Date: Tue, 10 Aug 2010 16:03:40 -0400 Subject: [PATCH] use jsonlib (if available) before using simplejson --- PLC/API.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) 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) -- 2.47.0