From 6261df4f4bffe7c280f1584d7b759d870bf7ebfe Mon Sep 17 00:00:00 2001 From: Tony Mack Date: Thu, 25 Feb 2010 15:56:27 +0000 Subject: [PATCH] dont import PLCAPI shell anymore, just connect via xmlrpc. --- sfa/plc/api.py | 28 ++++++---------------------- 1 file changed, 6 insertions(+), 22 deletions(-) diff --git a/sfa/plc/api.py b/sfa/plc/api.py index cfda3278..cd6b2bde 100644 --- a/sfa/plc/api.py +++ b/sfa/plc/api.py @@ -26,12 +26,6 @@ def list_to_dict(recs, key): keys = [rec[key] for rec in recs] return dict(zip(keys, recs)) -def handle_exception(method): - def wrapper(*args, **kwargs): - try: return method(*args, **kwargs) - except: raise SfaAPIError(traceback.format_exc()) - return wrapper - class SfaAPI(BaseAPI): # flat list of method names @@ -71,27 +65,17 @@ class SfaAPI(BaseAPI): self.time_format = "%Y-%m-%d %H:%M:%S" self.logger=get_sfa_logger() - @handle_exception def getPLCShell(self): self.plauth = {'Username': self.config.SFA_PLC_USER, 'AuthMethod': 'password', 'AuthString': self.config.SFA_PLC_PASSWORD} - try: - sys.path.append(os.path.dirname(os.path.realpath("/usr/bin/plcsh"))) - self.plshell_type = 'direct' - import PLC.Shell - shell = PLC.Shell.Shell(globals = globals()) - shell.AuthCheck(self.plauth) - return shell - except ImportError: - self.plshell_type = 'xmlrpc' - # connect via xmlrpc - url = self.config.SFA_PLC_URL - shell = xmlrpclib.Server(url, verbose = 0, allow_none = True) - shell.AuthCheck(self.plauth) - return shell + # connect via xmlrpc + self.plshell_type = 'xmlrpc' + url = self.config.SFA_PLC_URL + shell = xmlrpclib.Server(url, verbose = 0, allow_none = True) + shell.AuthCheck(self.plauth) + return shell - @handle_exception def getPLCShellVersion(self): # We need to figure out what version of PLCAPI we are talking to. # Some calls we need to make later will be different depending on -- 2.43.0