- #Insert a new node into the dictnode dictionary
- def AddNodeId(self,dictnode,value):
- #Inserts new key. The value associated is a tuple list.
- node_id = int(value)
- dictnode[node_id] = [('node_id',node_id) ]
- return node_id
-
- def AddNodeNetworkAddr(self,tuplelist,value):
- #tuplelist.append(('hostname',str(value)))
- tuplelist.append(('hostname',str(value)+'.demolab.fr'))
- tuplelist.append(('site_id',3))
-
- def AddNodeSite(self,tuplelist,value):
- tuplelist.append(('site_login_base',str(value)))
-
- def AddNodeRadio(self,tuplelist,value):
- tuplelist.append(('radio',str(value)))
-
-
- def AddMobility(self,tuplelist,value):
- if value :
- tuplelist.append(('mobile',int(value)))
- return 0
-
-
- def AddPosX(self,tuplelist,value):
- tuplelist.append(('posx',value))
-
-
- def AddPosY(self,tuplelist,value):
- tuplelist.append(('posy',value))
-
-
-
- def ParseVersion(self) :
- print self.raw_json
- #print >>sys.stderr, self.raw_json
- if 'oar_version' in self.raw_json :
- self.version_json_dict.update(api_version=self.raw_json['api_version'] ,
- apilib_version=self.raw_json['apilib_version'],
- api_timezone=self.raw_json['api_timezone'],
- api_timestamp=self.raw_json['api_timestamp'],
- oar_version=self.raw_json['oar_version'] )
- else :
- self.version_json_dict.update(api_version=self.raw_json['api'] ,
- apilib_version=self.raw_json['apilib'],
- api_timezone=self.raw_json['api_timezone'],
- api_timestamp=self.raw_json['api_timestamp'],
- oar_version=self.raw_json['oar'] )
-
- print self.version_json_dict['apilib_version']
-
- def ParseTimezone(self) :
- print " ParseTimezone"
-
- def ParseJobs(self) :
- self.jobs_list = []
- print " ParseJobs "
-
- def ParseJobsTable(self) :
- print "ParseJobsTable"
-
- def ParseJobsDetails (self):
- print "ParseJobsDetails"
-
- def ParseResources(self) :
- print>>sys.stderr, " \r\n \t\t\t ParseResources__________________________ "
- #resources are listed inside the 'items' list from the json
- self.raw_json = self.raw_json['items']
- self.ParseNodes()
- self.ParseSites()
-
-
-
- def ParseResourcesFull(self ) :
- print>>sys.stderr, " \r\n \t\t\t ParseResourcesFull_____________________________ "
- #print self.raw_json[1]
- #resources are listed inside the 'items' list from the json
- if self.version_json_dict['apilib_version'] != "0.2.10" :
- self.raw_json = self.raw_json['items']
- self.ParseNodes()
- self.ParseSites()
-
-
- #Parse nodes properties from OAR
- #Put them into a dictionary with key = node id and value is a dictionary
- #of the node properties and properties'values.
- def ParseNodes(self):
- node_id = None
- for dictline in self.raw_json:
- for k in dictline.keys():
- if k in self.resources_fulljson_dict:
- # dictionary is empty and/or a new node has to be inserted
- if node_id is None :
- node_id = self.resources_fulljson_dict[k](self,self.node_dictlist, dictline[k])
- else:
- ret = self.resources_fulljson_dict[k](self,self.node_dictlist[node_id], dictline[k])
- #If last property has been inserted in the property tuple list, reset node_id
- if ret == 0:
- #Turn the property tuple list (=dict value) into a dictionary
- self.node_dictlist[node_id] = dict(self.node_dictlist[node_id])
- node_id = None
-
- else:
- pass
+ #Insert a new node into the dictnode dictionary
+ def AddNodeId(self,dictnode,value):
+ #Inserts new key. The value associated is a tuple list.
+ node_id = int(value)
+ dictnode[node_id] = [('node_id',node_id) ]
+ return node_id
+
+ def AddNodeNetworkAddr(self,tuplelist,value):
+ tuplelist.append(('hostname',str(value)))
+
+
+ def AddNodeSite(self,tuplelist,value):
+ tuplelist.append(('site_login_base',str(value)))
+
+ def AddNodeRadio(self,tuplelist,value):
+ tuplelist.append(('radio',str(value)))
+
+
+ def AddMobility(self,tuplelist,value):
+ if value :
+ tuplelist.append(('mobile',int(value)))
+ return 0
+
+
+ def AddPosX(self,tuplelist,value):
+ tuplelist.append(('posx',value))
+
+
+ def AddPosY(self,tuplelist,value):
+ tuplelist.append(('posy',value))
+
+ def AddBootState(self,tuplelist,value):
+ tuplelist.append(('boot_state',str(value)))
+
+ def ParseVersion(self) :
+ #print self.raw_json
+ #print >>sys.stderr, self.raw_json
+ if 'oar_version' in self.raw_json :
+ self.version_json_dict.update(api_version=self.raw_json['api_version'] ,
+ apilib_version=self.raw_json['apilib_version'],
+ api_timezone=self.raw_json['api_timezone'],
+ api_timestamp=self.raw_json['api_timestamp'],
+ oar_version=self.raw_json['oar_version'] )
+ else :
+ self.version_json_dict.update(api_version=self.raw_json['api'] ,
+ apilib_version=self.raw_json['apilib'],
+ api_timezone=self.raw_json['api_timezone'],
+ api_timestamp=self.raw_json['api_timestamp'],
+ oar_version=self.raw_json['oar'] )
+
+ print self.version_json_dict['apilib_version']
+
+
+ def ParseTimezone(self) :
+ print " ParseTimezone"
+
+ def ParseJobs(self) :
+ self.jobs_list = []
+ print " ParseJobs "
+
+ def ParseJobsTable(self) :
+ print "ParseJobsTable"
+
+ def ParseJobsDetails (self):
+ print "ParseJobsDetails"
+
+ def ParseResources(self) :
+ print>>sys.stderr, " \r\n \t\t\t ParseResources__________________________ "
+ #resources are listed inside the 'items' list from the json
+ self.raw_json = self.raw_json['items']
+ self.ParseNodes()
+
+
+
+
+ def ParseResourcesFull(self ) :
+ print>>sys.stderr, " \r\n \t\t\t ParseResourcesFull_____________________________ "
+ #print self.raw_json[1]
+ #resources are listed inside the 'items' list from the json
+ if self.version_json_dict['apilib_version'] != "0.2.10" :
+ self.raw_json = self.raw_json['items']
+ self.ParseNodes()
+ self.ParseSites()