Merge branch 'master' of ssh://git.onelab.eu/git/sfa
[sfa.git] / sfa / importer / plimporter.py
index 40c96ce..7994c8c 100644 (file)
@@ -297,8 +297,7 @@ class PlImporter:
                     plc_keys = keys_by_person_id.get(person['person_id'],[])
                     if not user_record:
                         (pubkey,pkey) = init_person_key (person, plc_keys )
-                        person_gid = self.auth_hierarchy.create_gid(person_urn, create_uuid(), pkey)
-                        person_gid.set_email(person['email'])
+                        person_gid = self.auth_hierarchy.create_gid(person_urn, create_uuid(), pkey, email=person['email'])
                         user_record = RegUser (hrn=person_hrn, gid=person_gid, 
                                                pointer=person['person_id'], 
                                                authority=get_authority(person_hrn),
@@ -339,7 +338,7 @@ class PlImporter:
                             return False
                         # are all the SFA keys known to PLC ?
                         new_keys=False
-                        if len(sfa_keys) != len(plc_keys):
+                        if not sfa_keys and plc_keys:
                             new_keys=True
                         else: 
                             for sfa_key in sfa_keys:
@@ -354,6 +353,7 @@ class PlImporter:
                             else:
                                 user_record.reg_keys=[ RegKey (pubkey['key'], pubkey['key_id'])]
                             user_record.gid = person_gid
+                            user_record.just_updated()
                             self.logger.info("PlImporter: updated person: %s" % user_record)
                     user_record.email = person['email']
                     dbsession.commit()