From ce4a724f81cdb4207b01916ff4adbd095c00b19a Mon Sep 17 00:00:00 2001 From: Sandrine Avakian Date: Wed, 16 Nov 2011 11:30:12 +0100 Subject: [PATCH] Added import slices based on the user name. --- sfa/senslab/slab-import.py | 42 ++++++++++++++++++++++++++++++++++---- 1 file changed, 38 insertions(+), 4 deletions(-) diff --git a/sfa/senslab/slab-import.py b/sfa/senslab/slab-import.py index 57cfd300..ced99808 100644 --- a/sfa/senslab/slab-import.py +++ b/sfa/senslab/slab-import.py @@ -84,9 +84,34 @@ def import_person(person): else: existing_record = existing_records[0] person['record_id'] = existing_record['record_id'] - table.update(person) - + table.update(person) + +def init_slice_record(person): + slices_list = [] + dflt_slice = { 'authority': None, 'gid': None, 'record_id':None ,'peer_authority': None, 'type':'slice','pointer':-1, 'date_created':None, 'last_updated': None} + + def_slice = {} + def_slice['hrn'] = person['hrn']+'_slice' + def_slice.update(dflt_slice) + return def_slice +def import_slice(slice_record): + + pkey = Keypair(create=True) + urn = hrn_to_urn(slice['hrn'], 'slice') + slice_record['gid'] = AuthHierarchy.create_gid(urn, create_uuid(), pkey) + + slice_record['authority'] = get_authority(slice['hrn']) + + existing_records = table.find({'hrn': hrn, 'type': 'slice'}) + if not existing_records: + print>>sys.stderr, " \r\n \t slab-import : slice record %s inserted" %(slice_record['hrn']) + table.insert(slice_record) + else: + print>>sys.stderr, " \r\n \t slab-import : slice record %s updated" %(slice_record['hrn']) + existing_record = existing_records[0] + slice_record['record_id'] = existing_record['record_id'] + table.update(slice_record) def delete_record( hrn, type): # delete the record @@ -177,7 +202,11 @@ def main(): for person in ldap_person_list: if person['hrn'] not in existing_hrns or \ (person['hrn'], 'user') not in existing_records : - import_person( person) + import_person( person) + init_slice_record(person) + + + # import slices #for slice_id in site['slice_ids']: #print >>sys.stderr, "\r\n\r\n \t ^^^^^^^\\\\\\\\\\\\\\\^^^^^^ slice_id %s " %(slice_id) @@ -228,7 +257,12 @@ def main(): if node['hostname'] == nodename : found = True break - + + elif type == 'slice': + for person in ldap_person_list: + if person['hrn']+'_slice' == record_hrn: + found = True + break else: continue -- 2.43.0