+ node_record = RegNode(hrn=hrn, gid=node_gid,
+ pointer = '-1',
+ authority=slab_get_authority(hrn))
+ try:
+
+ node_record.just_created()
+ dbsession.add(node_record)
+ dbsession.commit()
+ self.logger.info("SlabImporter: imported node: %s" \
+ % node_record)
+ self.update_just_added_records_dict(node_record)
+ except SQLAlchemyError:
+ self.logger.log_exc("SlabImporter: \
+ failed to import node")
+ else:
+ # xxx update the record ...
+ pass
+ node_record.stale=False
+
+ # return a tuple pubkey (a plc key object) and pkey (a Keypair object)
+
+ def init_person_key (self, person, slab_key):
+ pubkey = None
+ if person['pkey']:
+ # randomly pick first key in set
+ pubkey = slab_key
+
+ try:
+ pkey = convert_public_key(pubkey)
+ except TypeError:
+ #key not good. create another pkey
+ self.logger.warn('SlabImporter: \
+ unable to convert public \
+ key for %s' %person['hrn'])
+ pkey = Keypair(create=True)
+
+ else:
+ # the user has no keys.
+ #Creating a random keypair for the user's gid
+ self.logger.warn("SlabImporter: person %s does not have a \
+ public key" %(person['hrn']))
+ pkey = Keypair(create=True)
+ return (pubkey, pkey)
+
+
+ def import_persons_and_slices(self, slabdriver):
+ ldap_person_listdict = slabdriver.slab_api.GetPersons()
+ print>>sys.stderr,"\r\n SLABIMPORT \t ldap_person_listdict %s \r\n" \
+ %(ldap_person_listdict)
+
+ # import persons