3 # import modules used here -- sys is a very standard one
9 from sfa.senslab.parsing import *
14 class SenslabImportUsers:
21 #self.resources_fulldict['keys'] = []
27 #def InitSlices(self):
29 #dflt_slice = { 'instantiation': None, 'description': "Senslab Slice Test", 'node_ids': [], 'url': "http://localhost.localdomain/", 'max_nodes': 256, 'site_id': 3,'peer_slice_id': None, 'slice_tag_ids': [], 'peer_id': None, 'hrn' :None}
30 #for person in self.person_list:
31 #if 'user' or 'pi' in person['roles']:
33 ##print>>sys.stderr, "\r\n \rn \t\t _____-----------************def_slice person %s \r\n \rn " %(person['person_id'])
34 #def_slice['person_ids'] = []
35 #def_slice['person_ids'].append(person['person_id'])
36 #def_slice['slice_id'] = person['person_id']
37 #def_slice['creator_person_id'] = person['person_id']
38 #extime = datetime.datetime.utcnow()
39 #def_slice['created'] = int(time.mktime(extime.timetuple()))
40 #extime = extime + datetime.timedelta(days=365)
41 #def_slice['expires'] = int(time.mktime(extime.timetuple()))
42 ##print>>sys.stderr, "\r\n \rn \t\t _____-----------************def_slice expires %s \r\n \r\n "%(def_slice['expires'])
43 #def_slice['name'] = person['email'].replace('@','_',1)
44 ##print>>sys.stderr, "\r\n \rn \t\t _____-----------************def_slice %s \r\n \r\n " %(def_slice['name'])
45 #def_slice.update(dflt_slice)
46 #self.slices_list.append(def_slice)
48 ##print>>sys.stderr, "InitSlices SliceLIST", self.slices_list
50 #def InitPersons(self):
51 #persons_per_site = {}
53 #persons_per_site[person_id] = {'person_id': person_id,'site_ids': [3],'email': 'a_rioot@senslab.fr', 'key_ids':[1], 'roles': ['pi'], 'role_ids':[20],'first_name':'A','last_name':'rioot'}
55 #persons_per_site[person_id] = {'person_id': person_id,'site_ids': [3],'email': 'lost@senslab.fr','key_ids':[1],'roles': ['pi'], 'role_ids':[20],'first_name':'L','last_name':'lost'}
57 #persons_per_site[person_id] = {'person_id': person_id,'site_ids': [3],'email': 'user@senslab.fr','key_ids':[1],'roles': ['user'], 'role_ids':[1],'first_name':'U','last_name':'senslab'}
58 #for person_id in persons_per_site.keys():
59 #person = persons_per_site[person_id]
60 #if person['person_id'] not in self.person_list:
61 #self.person_list.append(person)
62 ##print>>sys.stderr, "InitPersons PERSON DICLIST", self.person_list
66 ##print>>sys.stderr, " InitKeys HEYYYYYYY\r\n"
68 #self.keys_list = [{'peer_key_id': None, 'key_type': 'ssh', 'key' :"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEArcdW0X2la754SoFE+URbDsYP07AZJjrspMlvUc6u+4o6JpGRkqiv7XdkgOMIn6w3DF3cYCcA1Mc6XSG7gSD7eQx614cjlLmXzHpxSeidSs/LgZaAQpq9aQ0KhEiFxg0gp8TPeB5Z37YOPUumvcJr1ArwL/8tAOx3ClwgRhccr2HOe10YtZbMEboCarTlzNHiGolo7RYIJjGuG2RBSeAg6SMZrtnn0OdKBwp3iUlOfkS98eirVtWUp+G5+SZggip3fS3k5Oj7OPr1qauva8Rizt02Shz30DN9ikFNqV2KuPg54nC27/DQsQ6gtycARRVY91VvchmOk0HxFiW/9kS2GQ== root@FlabFedora2",'person_id': 7, 'key_id':1, 'peer_id':None },
69 #{'peer_key_id': None, 'key_type': 'ssh', 'key' :"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEArcdW0X2la754SoFE+URbDsYP07AZJjrspMlvUc6u+4o6JpGRkqiv7XdkgOMIn6w3DF3cYCcA1Mc6XSG7gSD7eQx614cjlLmXzHpxSeidSs/LgZaAQpq9aQ0KhEiFxg0gp8TPeB5Z37YOPUumvcJr1ArwL/8tAOx3ClwgRhccr2HOe10YtZbMEboCarTlzNHiGolo7RYIJjGuG2RBSeAg6SMZrtnn0OdKBwp3iUlOfkS98eirVtWUp+G5+SZggip3fS3k5Oj7OPr1qauva8Rizt02Shz30DN9ikFNqV2KuPg54nC27/DQsQ6gtycARRVY91VvchmOk0HxFiW/9kS2GQ== root@FlabFedora2",'person_id': 8, 'key_id':1, 'peer_id':None },
70 #{'peer_key_id': None, 'key_type': 'ssh', 'key' :"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEArcdW0X2la754SoFE+URbDsYP07AZJjrspMlvUc6u+4o6JpGRkqiv7XdkgOMIn6w3DF3cYCcA1Mc6XSG7gSD7eQx614cjlLmXzHpxSeidSs/LgZaAQpq9aQ0KhEiFxg0gp8TPeB5Z37YOPUumvcJr1ArwL/8tAOx3ClwgRhccr2HOe10YtZbMEboCarTlzNHiGolo7RYIJjGuG2RBSeAg6SMZrtnn0OdKBwp3iUlOfkS98eirVtWUp+G5+SZggip3fS3k5Oj7OPr1qauva8Rizt02Shz30DN9ikFNqV2KuPg54nC27/DQsQ6gtycARRVY91VvchmOk0HxFiW/9kS2GQ== root@FlabFedora2",'person_id': 9, 'key_id':1, 'peer_id':None }]
75 #def GetPersons(self, person_filter=None, return_fields=None):
76 ##print>>sys.stderr, " \r\n GetPersons person_filter %s return_fields %s list: %s" %(person_filter,return_fields, self.person_list)
77 #if not self.person_list :
78 #print>>sys.stderr, " \r\n ========>GetPersons NO PERSON LIST DAMMIT<========== \r\n"
80 #if not (person_filter or return_fields):
81 #return self.person_list
83 #return_person_list= []
84 #return_person_list = parse_filter(self.person_list,person_filter ,'persons', return_fields)
85 #return return_person_list
88 def GetPIs(self,site_id):
89 return_person_list= []
90 for person in self.person_list :
91 if site_id in person['site_ids'] and 'pi' in person['roles'] :
92 return_person_list.append(person['person_id'])
93 #print>>sys.stderr, " \r\n GetPIs return_person_list %s :" %(return_person_list)
94 return return_person_list
97 def GetKeys(self,key_filter=None, return_fields=None):
99 print>>sys.stderr, " \r\n GetKeys"
101 if not (key_filter or return_fields):
102 return self.keys_list
103 return_key_list = parse_filter(self.keys_list,key_filter ,'keys', return_fields)
104 return return_key_list
107 #print>>sys.stderr, " \r\n GetKeys"
109 #if not (key_filter or return_fields):
110 #return self.keys_list
112 #elif key_filter or return_fields:
113 #for key in self.keys_list:
116 #for k_filter in key_filter:
117 #if key['key_id'] == k_filter :
119 #for field in return_fields:
120 #if field in key.keys():
121 #tmp_key[field] = key[field]
125 #print>>sys.stderr, " \r\n tmp_key",tmp_key
126 #return_key_list.append(tmp_key)
127 #print>>sys.stderr," \r\n End GetKeys with filter ", return_key_list
128 #return return_key_list
133 def AddSlice(self, slice_fields):
134 print>>sys.stderr, " \r\n \r\nAddSlice "
137 def AddPersonToSlice(self,person_id_or_email, slice_id_or_name):
138 print>>sys.stderr, " \r\n \r\n AddPersonToSlice"
140 def DeletePersonFromSlice(self,person_id_or_email, slice_id_or_name):
141 print>>sys.stderr, " \r\n \r\n DeletePersonFromSlice "