Exemplo n.º 1
0
    def tearDown(self):
        """Clean up created objects."""
        from invenio_workflows.models import Workflow
        from inspire.modules.workflows.receivers import precache_holdingpen_row
        from invenio_workflows.receivers import index_holdingpen_record
        from invenio_workflows.signals import workflow_halted, workflow_object_saved

        workflow_halted.connect(precache_holdingpen_row)
        workflow_object_saved.connect(index_holdingpen_record)

        self.delete_objects(Workflow.get(Workflow.module_name == "unit_tests").all())
        self.cleanup_registries()
Exemplo n.º 2
0
    def tearDown(self):
        """Clean up created objects."""
        from invenio_knowledge.api import delete_kb
        from invenio_workflows.models import Workflow
        from inspire.modules.workflows.receivers import precache_holdingpen_row
        from invenio_workflows.receivers import index_holdingpen_record
        from invenio_workflows.signals import (
            workflow_halted,
            workflow_object_saved
        )

        workflow_halted.connect(precache_holdingpen_row)
        workflow_object_saved.connect(index_holdingpen_record)

        self.delete_objects(
            Workflow.get(Workflow.module_name == 'unit_tests').all())
        self.cleanup_registries()
        delete_kb('harvesting_fixture_kb')
Exemplo n.º 3
0
        record.update(workflow.get_record(sender))
    except Exception as err:
        current_app.logger.exception(err)

    try:
        record.update(workflow.get_sort_data(sender))
    except Exception as err:
        current_app.logger.exception(err)

    # Add collection to get correct mapping
    record["_collections"] = get_record_collections(record)

    # Depends on "_collections" being filled correctly for record
    record_index = get_record_index(record) or current_app.config["SEARCH_ELASTIC_DEFAULT_INDEX"]

    # Trigger any before_record_index receivers
    before_record_index.send(sender.id, json=record, index=record_index)

    if record_index:
        index = current_app.config['WORKFLOWS_HOLDING_PEN_ES_PREFIX'] + record_index
        es.index(
            index=index,
            doc_type=current_app.config["WORKFLOWS_HOLDING_PEN_DOC_TYPE"],
            body=dict(record),
            id=sender.id
        )

workflow_halted.connect(precache_holdingpen_row)
workflow_halted.connect(continue_workflow)
listen(BibWorkflowObject, "after_delete", delete_from_index)