inveniosoftware / invenio-oaiserver

Invenio module that adds more fun to the platform.
https://invenio-oaiserver.readthedocs.io
MIT License
3 stars 44 forks source link

config: Add config for GetRecord fetcher #201

Closed slint closed 3 years ago

slint commented 3 years ago

Example implementation:

    OAISERVER_GETRECORD_FETCHER = 'invenio_oaiserver.utils:getrecord_fetcher'

    # default
    def getrecord_fetcher(record_id):
        record = current_oaiserver.record_cls.get_record(record_id)
        return record.dumps()

    # rdm
    def getrecord_fetcher(record_id):
        recid = PersistentIdentifier.filter_by(
            pid_type='recid', 
            object_uuid=record_id, object_type='rec')
        result = service.read(recid, g.identity)
        return result.to_dict()