#
###########################################################################
import sys
+import datetime
+import time
from sfa.senslab.OARrestapi import OARapi
from sfa.senslab.LDAPapi import LDAPapi
from sfa.senslab.slabdriver import SlabDriver
from sfa.util.table import SfaTable
from sfa.util.record import SfaRecord
from sfa.trust.hierarchy import Hierarchy
-from sfa.trust.certificate import Keypair
+from sfa.trust.certificate import Keypair,convert_public_key
from sfa.trust.gid import create_uuid
node_gid = AuthHierarchy.create_gid(urn, create_uuid(), pkey)
node_record = SfaRecord(hrn=hrn, gid=node_gid, type="node", pointer=node['node_id'])
node_record['authority'] = get_authority(node_record['hrn'])
+ extime = datetime.datetime.utcnow()
+ node_record['date_created'] = int(time.mktime(extime.timetuple()))
existing_records = table.find({'hrn': hrn, 'type': 'node', 'pointer': node['node_id']})
if not existing_records:
print>>sys.stderr, " \r\n \t slab-import : node record %s inserted" %(node_record['hrn'])
table.update(node_record)
# person is already a sfa record
-def import_person(person):
+def import_person(authname,person):
existing_records = table.find({'hrn': person['hrn'], 'type': 'user'})
+ extime = datetime.datetime.utcnow()
+ person['date_created'] = int(time.mktime(extime.timetuple()))
if not existing_records:
print>>sys.stderr, " \r\n \t slab-import : person record %s inserted" %(person['hrn'])
+ uuid=create_uuid()
+ RSA_KEY_STRING=person['pkey']
+ pkey=convert_public_key(RSA_KEY_STRING)
+ person['gid']=AuthHierarchy.create_gid("urn:publicid:IDN+"+authname+"+user+"+person['uid'], uuid, pkey, CA=False).save_to_string()
table.insert(person)
else:
existing_record = existing_records[0]
person['record_id'] = existing_record['record_id']
+ # handle key change ???
table.update(person)
def import_slice(person):
gid = AuthHierarchy.create_gid(urn, create_uuid(), pkey)
slice_record= SfaRecord(hrn=hrn, gid=gid, type="slice", pointer=-1)
slice_record['authority'] = get_authority(slice_record['hrn'])
+
+ extime = datetime.datetime.utcnow()
+ slice_record['date_created'] = int(time.mktime(extime.timetuple()))
+
print>>sys.stderr, " \r\n \t slab-import : slice record %s " %(slice_record['hrn'])
existing_records = table.find({'hrn': slice_record['hrn'], 'type': 'slice'})
if not existing_records:
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(root_auth,person)
import_slice(person)
# import slices