- elif isinstance (record, RegUser):
- login_base = get_leaf(get_authority(record_hrn))
- username = get_leaf(record_hrn)
- if login_base in sites_dict:
- site = sites_dict[login_base]
- for person in persons:
- tmp_username = person['email'].split("@")[0]
- alt_username = person['email'].split("@")[0].replace(".", "_").replace("+", "_")
- if username in [tmp_username, alt_username] and \
- site['site_id'] in person['site_ids'] and \
- person['person_id'] == record.pointer:
- found = True
- break
-
- elif isinstance (record, RegSlice):
- slicename = hrn_to_pl_slicename(record_hrn)
- for slice in slices:
- if slicename == slice['name'] and \
- slice['slice_id'] == record.pointer:
- found = True
- break
-
- elif isinstance (record, RegNode):
- login_base = get_leaf(get_authority(record_hrn))
- nodename = Xrn.unescape(get_leaf(record_hrn))
- if login_base in sites_dict:
- site = sites_dict[login_base]
- for node in nodes:
- tmp_nodename = node['hostname']
- if tmp_nodename == nodename and \
- node['site_id'] == site['site_id'] and \
- node['node_id'] == record.pointer:
- found = True
- break
- else:
- continue
-
- if not found:
- try:
- record_object = records_by_hrn_type[(record_hrn, type)]
- self.logger.info("PlImporter: deleting record: %s" % record)
- dbsession.delete(record_object)
- dbsession.commit()
- except:
- self.logger.log_exc("PlImporter: failded to delete record")
-
-# # save pub keys
-# self.logger.info('Import: saving current pub keys')
-# save_keys(keys_filename, person_keys)
-
+ for record in all_records:
+ try: stale=record.stale
+ except:
+ stale=True
+ self.logger.warning("stale not found with %s"%record)
+ if stale:
+ self.logger.info("PlImporter: deleting stale record: %s" % record)
+ dbsession.delete(record)
+ dbsession.commit()