From b909e24a306d095a0df0ed8b2574ebde3842f77e Mon Sep 17 00:00:00 2001 From: Mark Huang Date: Fri, 13 Oct 2006 20:00:21 +0000 Subject: [PATCH] - don't care if SOAPpy is installed --- PLC/API.py | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/PLC/API.py b/PLC/API.py index de7fb3a2..db484055 100644 --- a/PLC/API.py +++ b/PLC/API.py @@ -5,7 +5,7 @@ # Mark Huang # # Copyright (C) 2004-2006 The Trustees of Princeton University -# $Id: API.py,v 1.2 2006/09/08 19:43:31 mlhuang Exp $ +# $Id: API.py,v 1.3 2006/10/03 19:24:31 mlhuang Exp $ # import sys @@ -13,11 +13,14 @@ import traceback import xmlrpclib -import SOAPpy -from SOAPpy.Parser import parseSOAPRPC -from SOAPpy.Types import faultType -from SOAPpy.NS import NS -from SOAPpy.SOAPBuilder import buildSOAP +try: + import SOAPpy + from SOAPpy.Parser import parseSOAPRPC + from SOAPpy.Types import faultType + from SOAPpy.NS import NS + from SOAPpy.SOAPBuilder import buildSOAP +except ImportError: + SOAPpy = None from PLC.Config import Config from PLC.PostgreSQL import PostgreSQL @@ -80,12 +83,15 @@ class PLCAPI: interface = xmlrpclib (args, method) = xmlrpclib.loads(data) methodresponse = True - except: - interface = SOAPpy - (r, header, body, attrs) = parseSOAPRPC(data, header = 1, body = 1, attrs = 1) - method = r._name - args = r._aslist() - # XXX Support named arguments + except Exception, e: + if SOAPpy is not None: + interface = SOAPpy + (r, header, body, attrs) = parseSOAPRPC(data, header = 1, body = 1, attrs = 1) + method = r._name + args = r._aslist() + # XXX Support named arguments + else: + raise e try: result = self.call(source, method, *args) -- 2.47.0