Merge branch 'senslab2' of ssh://git.f-lab.fr/git/sfa into senslab2
[sfa.git] / sfa / senslab / OARrestapi.py
index 3aa158a..d5e3570 100644 (file)
@@ -16,6 +16,7 @@ from sfa.util.sfalogging import logger
 
 OARIP ='194.199.16.161'
 
+
 OARrequests_get_uri_dict = { 'GET_version': '/oarapi/version.json',
                        'GET_timezone':'/oarapi/timezone.json' ,
                        'GET_jobs': '/oarapi/jobs.json',
@@ -31,6 +32,9 @@ OARrequests_get_uri_dict = { 'GET_version': '/oarapi/version.json',
                         'GET_sites' : '/oarapi/resources/full.json',
                         }
 
+
+
+
 OARrequest_post_uri_dict = { 'POST_job':{'uri': '/oarapi/jobs.json'},
                             'DELETE_jobs_id':{'uri':'/oarapi/jobs/id.json'},
                             }
@@ -58,7 +62,7 @@ class OARrestapi:
        
             
     def GETRequestToOARRestAPI(self, request, strval=None , username = None ): 
-        self.oarserver['uri'] = OARrequests_get_uri_dict[request] 
+        self.oarserver['uri'] = OARGETParser.OARrequests_uri_dict[request]['uri']
         headers = {}
         data = json.dumps({})
         logger.debug("OARrestapi \tGETRequestToOARRestAPI %s" %(request))
@@ -270,11 +274,16 @@ class OARGETParser:
         #resources are listed inside the 'items' list from the json
         self.raw_json = self.raw_json['items']
         self.ParseNodes()
-       
+
+    # Returns an array containing the list of the reserved nodes
     def ParseReservedNodes(self):
         print>>sys.stderr, " \r\n  \t\t\t ParseReservedNodes__________________________ " 
         #resources are listed inside the 'items' list from the json
-        return self.raw_json
+        nodes=[]
+        for job in  self.raw_json['items']:
+            for node in job['nodes']:
+                nodes.append(node['network_address'])
+        return nodes
     
     def ParseRunningJobs(self): 
         print>>sys.stderr, " \r\n  \t\t\t ParseRunningJobs__________________________ " 
@@ -426,7 +435,7 @@ class OARGETParser:
         self.SendRequest("GET_version")
 
     def SendRequest(self,request, strval = None , username = None):
-        if request in OARrequests_get_uri_dict:
+        if request in self.OARrequests_uri_dict :
             self.raw_json = self.server.GETRequestToOARRestAPI(request,strval,username) 
             return self.OARrequests_uri_dict[request]['parse_func'](self)
         else: