def init_app(self, app): """Flask application initialization.""" self.init_config(app) # Connect invenio-records signal handlers after_record_insert.connect(create_references_record) before_record_update.connect(convert_record_refs) after_record_update.connect(update_references_record) after_record_delete.connect(delete_references_record) state = _RecordReferencesState(app) app.extensions['oarepo-references'] = state return state
def init_app(self, app): """Flask application initialization.""" self.init_config(app) app.extensions['sonar_documents'] = self # Connect to oaiharvester signal oaiharvest_finished.connect(transform_harvested_records, weak=False) # Connect to record index signal, to modify record before indexing. before_record_index.connect(populate_fulltext_field, weak=False) # Adds `_oai` property before_record_insert.connect(update_oai_property) before_record_update.connect(update_oai_property)
def register_signals(self, app): """Register signals.""" # TODO: use before_record_index.dynamic_connect() if it works # example: # before_record_index.dynamic_connect( # enrich_patron_data, sender=app, index='patrons-patron-v0.0.1') before_record_index.connect(enrich_acq_account_data, sender=app) before_record_index.connect(enrich_acq_order_data, sender=app) before_record_index.connect(enrich_acq_receipt_data, sender=app) before_record_index.connect(enrich_acq_receipt_line_data, sender=app) before_record_index.connect(enrich_acq_order_line_data, sender=app) before_record_index.connect(enrich_collection_data, sender=app) before_record_index.connect(enrich_loan_data, sender=app) before_record_index.connect(enrich_document_data, sender=app) before_record_index.connect(enrich_contributions_data, sender=app) before_record_index.connect(enrich_item_data, sender=app) before_record_index.connect(enrich_patron_data, sender=app) before_record_index.connect(enrich_location_data, sender=app) before_record_index.connect(enrich_holding_data, sender=app) before_record_index.connect(enrich_notification_data, sender=app) before_record_index.connect(enrich_patron_transaction_event_data, sender=app) before_record_index.connect(enrich_patron_transaction_data, sender=app) before_record_index.connect(enrich_ill_request_data, sender=app) before_record_index.connect(prepare_template_data, sender=app) after_record_insert.connect(create_subscription_patron_transaction) after_record_update.connect(create_subscription_patron_transaction) after_record_update.connect(update_items_locations_and_types) before_record_update.connect(budget_is_active_changed) before_record_update.connect(negative_availability_changes) loan_state_changed.connect(listener_loan_state_changed, weak=False) oaiharvest_finished.connect(publish_harvested_records, weak=False) apiharvest_part.connect(publish_api_harvested_records, weak=False) # invenio-userprofiles signal after_profile_update.connect(update_from_profile) # store the username in the session user_logged_in.connect(set_user_name) user_logged_out.connect(remove_user_name) user_loaded_from_cookie.connect(set_user_name)
def signals(): """Fixtures to connect signals.""" called = {} def _listener(signal_name, sender, *args, **kwargs): if signal_name not in called: called[signal_name] = 0 called[signal_name] += 1 after_record_delete_listener = partial(_listener, 'after_record_delete') after_record_insert_listener = partial(_listener, 'after_record_insert') after_record_revert_listener = partial(_listener, 'after_record_revert') after_record_update_listener = partial(_listener, 'after_record_update') before_record_delete_listener = partial(_listener, 'before_record_delete') before_record_insert_listener = partial(_listener, 'before_record_insert') before_record_revert_listener = partial(_listener, 'before_record_revert') before_record_update_listener = partial(_listener, 'before_record_update') before_record_insert_listener = partial(_listener, 'before_record_insert') after_record_delete.connect(after_record_delete_listener) after_record_insert.connect(after_record_insert_listener) after_record_revert.connect(after_record_revert_listener) after_record_update.connect(after_record_update_listener) before_record_delete.connect(before_record_delete_listener) before_record_insert.connect(before_record_insert_listener) before_record_revert.connect(before_record_revert_listener) before_record_update.connect(before_record_update_listener) before_record_insert.connect(before_record_insert_listener) yield called after_record_delete.disconnect(after_record_delete_listener) after_record_insert.disconnect(after_record_insert_listener) after_record_revert.disconnect(after_record_revert_listener) after_record_update.disconnect(after_record_update_listener) before_record_delete.disconnect(before_record_delete_listener) before_record_insert.disconnect(before_record_insert_listener) before_record_revert.disconnect(before_record_revert_listener) before_record_update.disconnect(before_record_update_listener) before_record_insert.disconnect(before_record_insert_listener)
def register_signals(self, app): """Register signals.""" # TODO: use before_record_index.dynamic_connect() if it works # example: # before_record_index.dynamic_connect( # enrich_patron_data, sender=app, index='patrons-patron-v0.0.1') before_record_index.connect(enrich_collection_data, sender=app) before_record_index.connect(enrich_loan_data, sender=app) before_record_index.connect(enrich_document_data, sender=app) before_record_index.connect(enrich_contributions_data, sender=app) before_record_index.connect(enrich_item_data, sender=app) before_record_index.connect(enrich_patron_data, sender=app) before_record_index.connect(enrich_location_data, sender=app) before_record_index.connect(enrich_holding_data, sender=app) before_record_index.connect(enrich_notification_data, sender=app) before_record_index.connect(enrich_patron_transaction_event_data, sender=app) before_record_index.connect(enrich_patron_transaction_data, sender=app) before_record_index.connect(enrich_ill_request_data, sender=app) after_record_insert.connect(create_subscription_patron_transaction) after_record_update.connect(create_subscription_patron_transaction) after_record_insert.connect(operation_log_record_create) after_record_update.connect(operation_log_record_update) before_record_update.connect(negative_availability_changes) loan_state_changed.connect(listener_loan_state_changed, weak=False) oaiharvest_finished.connect(publish_harvested_records, weak=False) apiharvest_part.connect(publish_api_harvested_records, weak=False) # invenio-userprofiles signal after_profile_update.connect(update_from_profile)
def register_signals(app): """Register Literature signals.""" before_record_insert.connect(preemptively_set_first_isbn_as_cover) before_record_update.connect(preemptively_set_first_isbn_as_cover) after_record_insert.connect(pick_identifier_with_cover) after_record_update.connect(pick_identifier_with_cover)
def register_triggers(app): # TODO(edima): replace this check with explicit permissions before_record_update.connect(check_record_immutable_fields)
def register_triggers(app): # TODO(edima): replace this check with explicit permissions before_record_update.connect(check_record_immutable_fields) before_record_delete.connect(unindex_record_trigger) after_record_update.connect(index_record_trigger) after_record_insert.connect(index_record_trigger)
def register_triggers(app): # TODO(edima): replace this check with explicit permissions before_record_update.connect(check_record_immutable_fields) before_record_delete.connect(unindex_record_trigger) after_record_update.connect(index_record_trigger) after_record_insert.connect(index_record_trigger)