Exemplo n.º 1
0
def relid_fetcher(dummy_record_uuid, data):
    """Fetch a relationship's ID."""
    return FetchedPID(
        provider=None,
        pid_type='relid',
        pid_value=str(data['ID']),
    )
Exemplo n.º 2
0
def zenodo_record_fetcher(dummy_record_uuid, data):
    """Fetch a record's identifiers."""
    return FetchedPID(
        provider=None,
        pid_type='recid',
        pid_value=str(data['recid']),
    )
Exemplo n.º 3
0
def lom_pid_fetcher(record_uuid, data):
    """Fetch lomrecord's identifier(PID)."""
    return FetchedPID(
        provider=None,
        pid_type="lomid",
        pid_value=data["id"].lower(),
    )
Exemplo n.º 4
0
def pid_fetcher(record_uuid, data, provider_cls, pid_field="pid"):
    """Generic ILS PID fetcher."""
    return FetchedPID(
        provider=provider_cls,
        pid_type=provider_cls.pid_type,
        pid_value=str(data[pid_field]),
    )
Exemplo n.º 5
0
def workflow_fetcher(record_uuid, data):
    """Fetch a workflow identifier."""
    return FetchedPID(
        provider=WorkflowUIProvider,
        pid_type=WorkflowUIProvider.pid_type,
        pid_value=str(data['id']),
    )
Exemplo n.º 6
0
def zenodo_doi_fetcher(dummy_record_uuid, data):
    """Fetch a record's DOI."""
    return FetchedPID(
        provider=None,
        pid_type='doi',
        pid_value=str(data['doi']),
    )
Exemplo n.º 7
0
def tag_pid_fetcher(record_uuid, data):
    """Return Tag PID fetcher."""
    return FetchedPID(
        provider=None,
        pid_type=TAG_PID_TYPE,
        pid_value=str(data["pid"])
    )
Exemplo n.º 8
0
def pid_to_fetched_recid(pid):
    """Build a fetched recid from a PersistentIdentifier."""
    return FetchedPID(
        provider=RecordIdProvider,
        pid_type=RecordIdProvider.pid_type,
        pid_value=pid.pid_value,
    )
Exemplo n.º 9
0
def vocabulary_pid_fetcher(record_uuid, data):
    """Dummy vocabulary fetcher."""
    return FetchedPID(
        provider=None,
        pid_type=VOCABULARY_PID_TYPE,
        pid_value=str(data['id']),
    )
Exemplo n.º 10
0
def deposit_fetcher(record_uuid, data):
    """Fetch a deposit identifier."""
    return FetchedPID(
        provider=DepositProvider,
        pid_type=DepositProvider.pid_type,
        pid_value=str(data['_deposit']['id']),
    )
Exemplo n.º 11
0
def location_pid_fetcher(record_uuid, data):
    """Return Location PID fetcher."""
    return FetchedPID(
        provider=None,
        pid_type=LOCATION_PID_TYPE,
        pid_value=str(data["pid"])
    )
Exemplo n.º 12
0
def internal_location_pid_fetcher(record_uuid, data):
    """Return InternalLocation PID fetcher."""
    return FetchedPID(
        provider=None,
        pid_type=INTERNAL_LOCATION_PID_TYPE,
        pid_value=str(data["pid"])
    )
Exemplo n.º 13
0
def eitem_pid_fetcher(record_uuid, data):
    """Return EItem PID fetcher."""
    return FetchedPID(
        provider=None,
        pid_type=EITEM_PID_TYPE,
        pid_value=str(data["pid"])
    )
Exemplo n.º 14
0
def catid_fetcher(record_uuid, data):
    """Fetch PID from category record."""
    return FetchedPID(
        provider=None,
        pid_type='catid',
        pid_value=str(data['name'])
    )
Exemplo n.º 15
0
def pid_fetcher(record_uuid, data, provider_cls):
    """Generic file_management PID fetcher."""
    return FetchedPID(
        provider=provider_cls,
        pid_type=provider_cls.pid_type,
        pid_value=str(data["id"]),
    )
Exemplo n.º 16
0
def kwid_fetcher(record_uuid, data):
    """Fetch PID from keyword record."""
    return FetchedPID(
        provider=None,
        pid_type='kwid',
        pid_value=str(data['key_id'])
    )
Exemplo n.º 17
0
def report_number_fetcher(record_uuid, data):
    """Fetch report number."""
    return FetchedPID(
        provider=CDSReportNumberProvider,
        pid_type='rn',
        pid_value=str(data['report_number'][0])
    )
Exemplo n.º 18
0
def doi_fetcher(record_uuid, data):
    """Fetch DOI."""
    return FetchedPID(
        provider=None,
        pid_type='doi',
        pid_value=str(data['doi'])
    )
Exemplo n.º 19
0
def grant_fetcher(record_uuid, data):
    """Fetch PID from grant record."""
    return FetchedPID(
        provider=None,
        pid_type='grant',
        pid_value=str(data['internal_id']),
    )
Exemplo n.º 20
0
def recid_fetcher(record_uuid, data):
    """Fetch PID from record."""
    return FetchedPID(
        provider=CDSRecordIdProvider,
        pid_type='recid',
        pid_value=str(data['recid'])
    )
Exemplo n.º 21
0
 def draft_fetcher(record_uuid, data):
     fetched_pid = current_pidstore.fetchers[original_fetcher](record_uuid, data)
     return FetchedPID(
         provider=fetched_pid.provider,
         pid_type=draft_pid_type,
         pid_value=fetched_pid.pid_value,
     )
Exemplo n.º 22
0
def funder_fetcher(record_uuid, data):
    """Fetch PID from funder record."""
    return FetchedPID(
        provider=None,
        pid_type='frdoi',
        pid_value=str(data['doi']),
    )
Exemplo n.º 23
0
def loan_pid_fetcher(record_uuid, data):
    """Fetch PID from loan record."""
    return FetchedPID(
        provider=None,
        pid_type=_CIRCULATION_LOAN_PID_TYPE,
        pid_value=str(data[_CIRCULATION_LOAN_PID_TYPE])
    )
Exemplo n.º 24
0
def patron_pid_fetcher(record_uuid, data):
    """Dummy patron fetcher."""
    return FetchedPID(
        provider=None,
        pid_type=PATRON_PID_TYPE,
        pid_value=str(data['id']),
    )
Exemplo n.º 25
0
def document_request_pid_fetcher(record_uuid, data):
    """Return DocumentRequest PID fetcher."""
    return FetchedPID(
        provider=None,
        pid_type=DOCUMENT_REQUEST_PID_TYPE,
        pid_value=str(data["pid"])
    )
Exemplo n.º 26
0
def series_pid_fetcher(record_uuid, data):
    """Return Series PID fetcher."""
    return FetchedPID(
        provider=None,
        pid_type=SERIES_PID_TYPE,
        pid_value=str(data["pid"])
    )
Exemplo n.º 27
0
def identifiers_fetcher(record_uuid, data, pid_type):
    assert data, "no data"
    assert IDENTIFIERS_FIELD in data
    for schema in identifiers_schemas:
        if schema == pid_type:
            return FetchedPID(provider=IdentifiersProvider,
                              pid_type=pid_type,
                              pid_value=data[IDENTIFIERS_FIELD][schema])
def cap_deposit_fetcher(record_uuid, data):
    """Fetch a deposit's identifiers."""
    try:
        pid_value = data['_deposit']['id']
    except KeyError:
        return None

    return FetchedPID(provider=None, pid_type='depid', pid_value=pid_value)
Exemplo n.º 29
0
def iroko_source_uuid_fetcher(source_uuid, data):
    assert data, "no data"
    assert pids.SOURCE_UUID_FIELD in data, "no source uuid in data"
    return FetchedPID(
        provider=providers.IrokoSourceUUIDProvider,
        pid_type=pids.SOURCE_UUID_PID_TYPE,
        pid_value=str(data[pids.SOURCE_UUID_FIELD]),
    )
Exemplo n.º 30
0
def weko_deposit_fetcher(record_uuid, data):
    """Fetch a deposit identifier."""
    pid_value = data.get('_deposit', {}).get('id')
    return FetchedPID(
        provider=None,
        pid_type='depid',
        pid_value=pid_value,
    ) if pid_value else None