trailing spaces
[tests.git] / system / PlcapiUrlScanner.py
index 2beef07..e3e8ee8 100755 (executable)
@@ -6,8 +6,9 @@
 # using a hostname or an IP
 
 import socket
-import xmlrpclib
+import xmlrpc.client
 import traceback
+import ssl
 
 class PlcapiUrlScanner:
 
@@ -15,12 +16,12 @@ class PlcapiUrlScanner:
     def __init__ (self, auth, hostname=None, ip=None, verbose=False):
         self.auth = auth
         if not hostname and not ip:
-            raise Exception, "PlcapiUrlScanner needs _some_ input"
+            raise Exception("PlcapiUrlScanner needs _some_ input")
         if hostname:
-            if not ip: 
+            if not ip:
                 try:
                     ip = socket.gethostbyname(hostname)
-                except: 
+                except:
                     hostname = "{}.pl.sophia.inria.fr".format(hostname)
                     ip = socket.gethostbyname(hostname)
         else:
@@ -28,17 +29,19 @@ class PlcapiUrlScanner:
         self.hostname = hostname
         self.ip = ip
         self.verbose = verbose
-        
+
     def try_url (self, url):
         try:
-            xmlrpclib.ServerProxy (url, verbose=self.verbose, allow_none=True).GetNodes(self.auth)
-            print 'YES', url
+            proxy = xmlrpc.client.ServerProxy(url, verbose=self.verbose, allow_none=True,
+                                              context=ssl._create_unverified_context())
+            nodes = proxy.GetNodes(self.auth)
+            print('YES', url)
             return True
-        except xmlrpclib.ProtocolError as e:
-            print '... (http error {})'.format(e.errcode), url
+        except xmlrpc.client.ProtocolError as e:
+            print('... (http error {})'.format(e.errcode), url)
             return False
         except Exception as e:
-            print '---', type(e).__name__, url, e
+            print('---', type(e).__name__, url, e)
             if self.verbose:
                 traceback.print_exc()
             return False