Пример #1
0
    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)
Пример #2
0
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)
Пример #3
0
 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)