Removing GetSites , GetSitesFRomOARParse, verify_site
[sfa.git] / sfa / senslab / OARrestapi.py
index a073b67..221b119 100644 (file)
@@ -21,13 +21,14 @@ OARrequests_uri_list = ['/oarapi/version.json','/oarapi/timezone.json', '/oarapi
 OARrequests_get_uri_dict = { 'GET_version': '/oarapi/version.json',
                        'GET_timezone':'/oarapi/timezone.json' ,
                        'GET_jobs': '/oarapi/jobs.json',
-                        'GET_jobs<id>': '/oarapi/jobs/id.json',
-                        'GET_jobs<id>/resources': '/oarapi/jobs/id/resources.json',
-                        'GET_resources/<id>': '/oarapi/resources/.json',
+                        'GET_jobs_id': '/oarapi/jobs/id.json',
+                        'GET_jobs_id_resources': '/oarapi/jobs/id/resources.json',
+                        'GET_resources_id': '/oarapi/resources/.json',
                        'GET_jobs_table': '/oarapi/jobs/table.json',
                        'GET_jobs_details': '/oarapi/jobs/details.json',
                        'GET_resources_full': '/oarapi/resources/full.json',
                        'GET_resources':'/oarapi/resources.json',
+                        
 }
 
 OARrequest_post_uri_dict = { 'POST_job': '/oarapi/jobs.json'}
@@ -48,20 +49,30 @@ class OARrestapi:
         self.oarserver['postformat'] = 'json'  
             
     def GETRequestToOARRestAPI(self, request, strval=None  ): 
-        self.oarserver['uri'] = OARrequests_get_uri_dict[request]
-        if  strval:
-          self.oarserver['uri'] = self.oarserver['uri'].replace("id",strval)
+        self.oarserver['uri'] = OARrequests_get_uri_dict[request] 
+        data = json.dumps({})
+        if strval:
+          self.oarserver['uri'] = self.oarserver['uri'].replace("id",str(strval))
           print>>sys.stderr, "\r\n \r\n   GETRequestToOARRestAPI replace :  self.oarserver['uri'] %s",  self.oarserver['uri']
         
-        try :
+        try :  
+            headers = {'X-REMOTE_IDENT':'savakian',\
+            'content-length':'0'}
+            #conn = httplib.HTTPConnection(self.oarserver['ip'],self.oarserver['port'])
+            #conn.putheader(headers)
+            #conn.endheaders()
+            #conn.putrequest("GET",self.oarserver['uri'] ) 
             conn = httplib.HTTPConnection(self.oarserver['ip'],self.oarserver['port'])
-            conn.request("GET",self.oarserver['uri'] )
+           
+            conn.request("GET",self.oarserver['uri'],data , headers )
             resp = ( conn.getresponse()).read()
             conn.close()
         except:
             raise ServerError("GET_OAR_SRVR : Could not reach OARserver")
         try:
             js = json.loads(resp)
+            if strval:
+                print>>sys.stderr, " \r\n \r\n \t GETRequestToOARRestAPI strval %s js %s" %(strval,js)
             return js
         
         except ValueError:
@@ -191,6 +202,9 @@ class OARGETParser:
                 
     def ParseJobsDetails (self): 
         print "ParseJobsDetails"
+        
+    def ParseJobsIdResources(self):
+        print>>sys.stderr, "ParseJobsIdResources"
             
     def ParseResources(self) :
         print>>sys.stderr, " \r\n  \t\t\t ParseResources__________________________ " 
@@ -273,8 +287,8 @@ class OARGETParser:
         #print>>sys.stderr, " \r\n =========GetNodesFromOARParse: node_dictlist %s "%(self.node_dictlist)
         return self.node_dictlist
 
-    def GetSitesFromOARParse(self):
-        return self.site_dict
+    #def GetSitesFromOARParse(self):
+        #return self.site_dict
     
     def GetJobsFromOARParse(self):
         return self.jobs_list  
@@ -283,6 +297,8 @@ class OARGETParser:
         'GET_version': {'uri':'/oarapi/version.json', 'parse_func': ParseVersion},
         'GET_timezone':{'uri':'/oarapi/timezone.json' ,'parse_func': ParseTimezone },
         'GET_jobs': {'uri':'/oarapi/jobs.json','parse_func': ParseJobs},
+        'GET_jobs_id': {'uri':'/oarapi/jobs/id/resources.json','parse_func': ParseJobsIdResources},
+        'GET_jobs_id_resources': {'uri':'/oarapi/jobs/id/resources.json','parse_func': ParseJobsIdResources},
         'GET_jobs_table': {'uri':'/oarapi/jobs/table.json','parse_func': ParseJobsTable},
         'GET_jobs_details': {'uri':'/oarapi/jobs/details.json','parse_func': ParseJobsDetails},
         'GET_resources_full': {'uri':'/oarapi/resources/full.json','parse_func': ParseResourcesFull},
@@ -311,9 +327,9 @@ class OARGETParser:
         self.site_dict = {}
         self.SendRequest("GET_version")
 
-    def SendRequest(self,request):
+    def SendRequest(self,request, strval = None ):
         if request in OARrequests_get_uri_dict:
-            self.raw_json = self.server.GETRequestToOARRestAPI(request)
+            self.raw_json = self.server.GETRequestToOARRestAPI(request,strval)
             self.OARrequests_uri_dict[request]['parse_func'](self)
         else:
             print>>sys.stderr, "\r\n OARGetParse __init__ : ERROR_REQUEST "    ,request
@@ -326,30 +342,7 @@ class OARapi:
 
        #GetNodes moved to slabdriver.py
             
-    def GetSites(self, site_filter= None, return_fields=None):
-        print>>sys.stderr, " \r\n GetSites+++++++++++++++++" 
-        self.parser.SendRequest("GET_resources_full")  
-        site_dict = self.parser.GetSitesFromOARParse()
-        return_site_list = []
-        site = site_dict.values()[0]
-        Users = SenslabImportUsers()
-                
-        #print>>sys.stderr, " \r\n  GetSites sites_dict %s site_filter %s  \r\n \r\n  \r\n \r\n------site %s" %(site_dict,site_filter,site ) 
-        admins_dict ={'person_ids': Users.GetPIs(site['site_id'])}
-        site.update(admins_dict)       
-        
-        slice_list = Users.GetSlices()
-        for sl in slice_list:
-                #print>>sys.stderr, " \r\n  GetSites sl %s" %(sl)
-                if sl['site_id'] == site['site_id']:
-                        site['slice_ids'].append(sl['slice_id'])
-        
-        if not (site_filter or return_fields):
-                return_site_list = site_dict.values()
-                return return_site_list
-        
-        return_site_list = parse_filter(site_dict.values(),site_filter ,'site', return_fields)
-        return return_site_list
+
     
                     
     def GetJobs(self):