Esempio n. 1
0
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()
Esempio n. 2
0
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()
Esempio n. 3
0
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()
Esempio n. 4
0
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()
Esempio n. 5
0
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()
Esempio n. 6
0
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()