def _delete_record(pid_type, pid_value): get_db_record(pid_type, pid_value)._delete(force=True) pid = PersistentIdentifier.get(pid_type, pid_value) PersistentIdentifier.delete(pid) object_uuid = pid.object_uuid PersistentIdentifier.query.filter( object_uuid == PersistentIdentifier.object_uuid).delete() db.session.commit()
def _delete_record_from_everywhere(pid_type, record_control_number): record = get_db_record(pid_type, record_control_number) ri = RecordIndexer() ri.delete(record) record.delete(force=True) pid = PersistentIdentifier.get(pid_type, record_control_number) PersistentIdentifier.delete(pid) object_uuid = pid.object_uuid PersistentIdentifier.query.filter( object_uuid == PersistentIdentifier.object_uuid).delete() db.session.commit()
def _delete_record(pid_type, pid_value): get_db_record(pid_type, pid_value)._delete(force=True) pid = PersistentIdentifier.get(pid_type, pid_value) PersistentIdentifier.delete(pid) recpid = RecordIdentifier.query.filter_by(recid=pid_value).one_or_none() if recpid: db.session.delete(recpid) object_uuid = pid.object_uuid PersistentIdentifier.query.filter( object_uuid == PersistentIdentifier.object_uuid).delete() db.session.commit()
def _delete_merged_records_from_everywhere(pid_type, merged_record_control_number, deleted_record_control_number): def _delete_es_records(index, doc_type, merged_uuid, deleted_uuid): es.delete(index=index, doc_type=doc_type, id=merged_uuid) es.delete(index=index, doc_type=doc_type, id=deleted_uuid) control_num_str = 'control_number:{}'.format(deleted_record_control_number) es_deleted_record = LiteratureSearch().query_from_iq(control_num_str).execute() deleted_object_uuid = es_deleted_record[0].meta.id deleted = PersistentIdentifier.get(pid_type, deleted_record_control_number) merged = PersistentIdentifier.get(pid_type, merged_record_control_number) _delete_es_records('records-hep', 'hep', merged.object_uuid, deleted_object_uuid) Redirect.query.filter(Redirect.id == deleted.object_uuid).delete() PersistentIdentifier.delete(merged) PersistentIdentifier.delete(deleted) db.session.delete(merged) db.session.delete(deleted) db.session.commit()