From e24a71c5150f0e94b79258da5bac2acad50eedcc Mon Sep 17 00:00:00 2001 From: Thierry Parmentelat Date: Thu, 26 Apr 2012 09:25:41 +0200 Subject: [PATCH] fix the way we determine if the PLCAPI is newinterface (AddIpAddress) or not --- system/TestApiserver.py | 6 +++++- system/TestPlc.py | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/system/TestApiserver.py b/system/TestApiserver.py index c5389f2..460e322 100644 --- a/system/TestApiserver.py +++ b/system/TestApiserver.py @@ -48,6 +48,7 @@ server_methods = [ ('GetNodes' , []), ('AddLeases', True), ('GetLeases', []), ('DeleteLeases',True), + ('system.listMethods',[]), ] class TestApiserver: @@ -70,7 +71,7 @@ class TestApiserver: return actual_method(*args) def __init__(self,url,dry_run=False): - self.apiserver = xmlrpclib.Server(url,allow_none=True) + self.apiserver = xmlrpclib.ServerProxy(url,allow_none=True) self.dry_run=dry_run for (method,defaults) in server_methods: setattr(self,method,TestApiserver.Callable(self.apiserver,dry_run,method,defaults)) @@ -79,3 +80,6 @@ class TestApiserver: self.dry_run=dry_run for (method,defaults) in server_methods: getattr(self,method).dry_run = dry_run + + def has_method (self, methodname): + return methodname in self.apiserver.system.listMethods() diff --git a/system/TestPlc.py b/system/TestPlc.py index f1ecd27..eb7a15e 100644 --- a/system/TestPlc.py +++ b/system/TestPlc.py @@ -147,7 +147,7 @@ class TestPlc: self.apiserver=TestApiserver(self.url,options.dry_run) def has_addresses_api (self): - return hasattr(self.apiserver,'AddIpAddress') + return self.apiserver.has_method('AddIpAddress') def name(self): name=self.plc_spec['name'] -- 2.43.0