invenio-vocabularies 1.5.1__tar.gz → 2.0.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of invenio-vocabularies might be problematic. Click here for more details.
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/.github/workflows/tests.yml +2 -14
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/CHANGES.rst +13 -0
- {invenio-vocabularies-1.5.1/invenio_vocabularies.egg-info → invenio-vocabularies-2.0.0}/PKG-INFO +14 -1
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/__init__.py +1 -1
- invenio-vocabularies-2.0.0/invenio_vocabularies/alembic/55a700f897b6_add_names_and_afiliations_pid_column.py +96 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/config.py +6 -3
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/affiliations/affiliations.py +11 -6
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/affiliations/jsonschemas/affiliations/affiliation-v1.0.0.json +0 -6
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/affiliations/schema.py +6 -2
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/awards/datastreams.py +9 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/awards/jsonschemas/awards/award-v1.0.0.json +3 -0
- {invenio-vocabularies-1.5.1/invenio_vocabularies/contrib/awards/mappings/os-v2 → invenio-vocabularies-2.0.0/invenio_vocabularies/contrib/awards/mappings/os-v1}/awards/award-v1.0.0.json +3 -0
- {invenio-vocabularies-1.5.1/invenio_vocabularies/contrib/awards/mappings/v7 → invenio-vocabularies-2.0.0/invenio_vocabularies/contrib/awards/mappings/os-v2}/awards/award-v1.0.0.json +3 -0
- {invenio-vocabularies-1.5.1/invenio_vocabularies/contrib/awards/mappings/os-v1 → invenio-vocabularies-2.0.0/invenio_vocabularies/contrib/awards/mappings/v7}/awards/award-v1.0.0.json +3 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/awards/schema.py +11 -34
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/awards/serializer.py +1 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/names/datastreams.py +5 -34
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/names/jsonschemas/names/name-v1.0.0.json +0 -7
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/names/names.py +14 -10
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/names/schema.py +2 -2
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/services/custom_fields/vocabulary.py +9 -1
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/services/schema.py +28 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0/invenio_vocabularies.egg-info}/PKG-INFO +14 -1
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies.egg-info/SOURCES.txt +1 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/run-tests.sh +1 -1
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/contrib/affiliations/test_affiliations_api.py +4 -3
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/contrib/affiliations/test_affiliations_jsonschema.py +0 -2
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/contrib/affiliations/test_affiliations_schema.py +6 -1
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/contrib/affiliations/test_affiliations_service.py +4 -2
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/contrib/awards/conftest.py +2 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/contrib/awards/test_awards_datastreams.py +2 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/contrib/names/conftest.py +15 -8
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/contrib/names/test_names_api.py +5 -6
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/contrib/names/test_names_datastreams.py +10 -7
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/contrib/names/test_names_schema.py +17 -4
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/contrib/names/test_names_service.py +11 -5
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/.dockerignore +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/.editorconfig +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/.git-blame-ignore-revs +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/.github/workflows/i18n-pull.yml +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/.github/workflows/i18n-push.yml +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/.github/workflows/pypi-publish.yml +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/.tx/config +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/AUTHORS.rst +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/CONTRIBUTING.rst +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/INSTALL.rst +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/LICENSE +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/MANIFEST.in +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/README.rst +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/babel.ini +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/docs/Makefile +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/docs/api.rst +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/docs/authors.rst +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/docs/changes.rst +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/docs/conf.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/docs/configuration.rst +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/docs/contributing.rst +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/docs/index.rst +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/docs/installation.rst +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/docs/license.rst +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/docs/make.bat +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/docs/requirements.txt +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/docs/usage.rst +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/gen-migration.sh +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/alembic/17c703ce1eb7_create_names_table.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/alembic/4a9a4fd235f8_create_vocabulary_schemes.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/alembic/4f365fced43f_create_vocabularies_tables.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/alembic/6312f33645c1_create_affiliations_table.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/alembic/676dd587542d_create_funders_vocabulary_table.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/alembic/8ff82dfb0be8_create_vocabularies_branch.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/alembic/__init__.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/alembic/e1146238edd3_create_awards_table.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/assets/semantic-ui/js/invenio_vocabularies/.eslintrc.yml +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/assets/semantic-ui/js/invenio_vocabularies/.prettierrc +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/assets/semantic-ui/js/invenio_vocabularies/index.js +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/assets/semantic-ui/js/invenio_vocabularies/package.json +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/assets/semantic-ui/js/invenio_vocabularies/src/contrib/forms/Funding/AwardResults.js +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/assets/semantic-ui/js/invenio_vocabularies/src/contrib/forms/Funding/CustomAwardForm.js +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/assets/semantic-ui/js/invenio_vocabularies/src/contrib/forms/Funding/FunderDropdown.js +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/assets/semantic-ui/js/invenio_vocabularies/src/contrib/forms/Funding/FundingField.js +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/assets/semantic-ui/js/invenio_vocabularies/src/contrib/forms/Funding/FundingField.test.js +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/assets/semantic-ui/js/invenio_vocabularies/src/contrib/forms/Funding/FundingFieldItem.js +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/assets/semantic-ui/js/invenio_vocabularies/src/contrib/forms/Funding/FundingModal.js +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/assets/semantic-ui/js/invenio_vocabularies/src/contrib/forms/Funding/NoAwardResults.js +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/assets/semantic-ui/js/invenio_vocabularies/src/contrib/forms/Funding/index.js +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/assets/semantic-ui/js/invenio_vocabularies/src/contrib/forms/index.js +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/assets/semantic-ui/js/invenio_vocabularies/src/contrib/index.js +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/assets/semantic-ui/js/invenio_vocabularies/src/index.js +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/i18next-scanner.config.js +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/i18next.js +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/messages/index.js +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/package.json +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/scripts/compileCatalog.js +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/scripts/initCatalog.js +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/cli.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/__init__.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/affiliations/__init__.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/affiliations/api.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/affiliations/config.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/affiliations/jsonschemas/__init__.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/affiliations/mappings/__init__.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/affiliations/mappings/os-v1/__init__.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/affiliations/mappings/os-v1/affiliations/affiliation-v1.0.0.json +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/affiliations/mappings/os-v2/__init__.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/affiliations/mappings/os-v2/affiliations/affiliation-v1.0.0.json +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/affiliations/mappings/v7/__init__.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/affiliations/mappings/v7/affiliations/affiliation-v1.0.0.json +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/affiliations/models.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/affiliations/resources.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/affiliations/services.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/awards/__init__.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/awards/api.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/awards/awards.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/awards/config.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/awards/jsonschemas/__init__.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/awards/mappings/__init__.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/awards/mappings/os-v1/__init__.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/awards/mappings/os-v2/__init__.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/awards/mappings/v7/__init__.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/awards/models.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/awards/resources.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/awards/services.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/funders/__init__.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/funders/api.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/funders/config.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/funders/datastreams.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/funders/facets.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/funders/funders.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/funders/jsonschemas/__init__.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/funders/jsonschemas/funders/funder-v1.0.0.json +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/funders/mappings/__init__.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/funders/mappings/os-v1/__init__.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/funders/mappings/os-v1/funders/funder-v1.0.0.json +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/funders/mappings/os-v2/__init__.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/funders/mappings/os-v2/funders/funder-v1.0.0.json +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/funders/mappings/v7/__init__.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/funders/mappings/v7/funders/funder-v1.0.0.json +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/funders/models.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/funders/resources.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/funders/schema.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/funders/serializer.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/funders/services.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/names/__init__.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/names/api.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/names/config.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/names/jsonschemas/__init__.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/names/mappings/__init__.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/names/mappings/os-v1/__init__.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/names/mappings/os-v1/names/name-v1.0.0.json +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/names/mappings/os-v2/__init__.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/names/mappings/os-v2/names/name-v1.0.0.json +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/names/mappings/v7/__init__.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/names/mappings/v7/names/name-v1.0.0.json +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/names/models.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/names/resources.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/names/services.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/subjects/__init__.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/subjects/api.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/subjects/config.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/subjects/facets.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/subjects/jsonschemas/__init__.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/subjects/jsonschemas/subjects/subject-v1.0.0.json +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/subjects/mappings/__init__.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/subjects/mappings/os-v1/__init__.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/subjects/mappings/os-v1/subjects/subject-v1.0.0.json +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/subjects/mappings/os-v2/__init__.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/subjects/mappings/os-v2/subjects/subject-v1.0.0.json +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/subjects/mappings/v7/__init__.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/subjects/mappings/v7/subjects/subject-v1.0.0.json +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/subjects/models.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/subjects/resources.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/subjects/schema.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/subjects/services.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/contrib/subjects/subjects.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/datastreams/__init__.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/datastreams/datastreams.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/datastreams/errors.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/datastreams/factories.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/datastreams/readers.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/datastreams/transformers.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/datastreams/writers.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/ext.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/fixtures.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/proxies.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/records/__init__.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/records/api.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/records/jsonschemas/__init__.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/records/jsonschemas/vocabularies/definitions-v1.0.0.json +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/records/jsonschemas/vocabularies/vocabulary-v1.0.0.json +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/records/mappings/__init__.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/records/mappings/os-v1/__init__.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/records/mappings/os-v1/vocabularies/vocabulary-v1.0.0.json +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/records/mappings/os-v2/__init__.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/records/mappings/os-v2/vocabularies/vocabulary-v1.0.0.json +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/records/mappings/v7/__init__.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/records/mappings/v7/vocabularies/vocabulary-v1.0.0.json +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/records/models.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/records/pidprovider.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/records/systemfields/__init__.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/records/systemfields/pid.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/records/systemfields/relations.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/resources/__init__.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/resources/resource.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/resources/schema.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/resources/serializer.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/services/__init__.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/services/components.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/services/custom_fields/__init__.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/services/facets.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/services/permissions.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/services/querystr.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/services/service.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/services/tasks.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/af/LC_MESSAGES/messages.mo +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/af/LC_MESSAGES/messages.po +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/ar/LC_MESSAGES/messages.mo +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/ar/LC_MESSAGES/messages.po +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/bg/LC_MESSAGES/messages.mo +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/bg/LC_MESSAGES/messages.po +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/ca/LC_MESSAGES/messages.mo +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/ca/LC_MESSAGES/messages.po +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/cs/LC_MESSAGES/messages.mo +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/cs/LC_MESSAGES/messages.po +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/da/LC_MESSAGES/messages.mo +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/da/LC_MESSAGES/messages.po +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/de/LC_MESSAGES/messages.mo +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/de/LC_MESSAGES/messages.po +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/de_AT/LC_MESSAGES/messages.mo +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/de_AT/LC_MESSAGES/messages.po +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/de_DE/LC_MESSAGES/messages.mo +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/de_DE/LC_MESSAGES/messages.po +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/el/LC_MESSAGES/messages.mo +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/el/LC_MESSAGES/messages.po +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/en/LC_MESSAGES/messages.mo +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/en/LC_MESSAGES/messages.po +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/en_AT/LC_MESSAGES/messages.mo +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/en_AT/LC_MESSAGES/messages.po +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/en_HU/LC_MESSAGES/messages.mo +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/en_HU/LC_MESSAGES/messages.po +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/es/LC_MESSAGES/messages.mo +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/es/LC_MESSAGES/messages.po +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/es_CU/LC_MESSAGES/messages.mo +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/es_CU/LC_MESSAGES/messages.po +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/es_MX/LC_MESSAGES/messages.mo +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/es_MX/LC_MESSAGES/messages.po +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/et/LC_MESSAGES/messages.mo +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/et/LC_MESSAGES/messages.po +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/et_EE/LC_MESSAGES/messages.mo +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/et_EE/LC_MESSAGES/messages.po +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/fa/LC_MESSAGES/messages.mo +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/fa/LC_MESSAGES/messages.po +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/fa_IR/LC_MESSAGES/messages.mo +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/fa_IR/LC_MESSAGES/messages.po +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/fr/LC_MESSAGES/messages.mo +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/fr/LC_MESSAGES/messages.po +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/fr_CI/LC_MESSAGES/messages.mo +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/fr_CI/LC_MESSAGES/messages.po +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/fr_FR/LC_MESSAGES/messages.mo +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/fr_FR/LC_MESSAGES/messages.po +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/gl/LC_MESSAGES/messages.mo +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/gl/LC_MESSAGES/messages.po +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/hi_IN/LC_MESSAGES/messages.mo +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/hi_IN/LC_MESSAGES/messages.po +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/hr/LC_MESSAGES/messages.mo +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/hr/LC_MESSAGES/messages.po +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/hu/LC_MESSAGES/messages.mo +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/hu/LC_MESSAGES/messages.po +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/hu_HU/LC_MESSAGES/messages.mo +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/hu_HU/LC_MESSAGES/messages.po +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/it/LC_MESSAGES/messages.mo +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/it/LC_MESSAGES/messages.po +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/ja/LC_MESSAGES/messages.mo +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/ja/LC_MESSAGES/messages.po +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/ka/LC_MESSAGES/messages.mo +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/ka/LC_MESSAGES/messages.po +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/lt/LC_MESSAGES/messages.mo +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/lt/LC_MESSAGES/messages.po +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/messages.pot +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/ne/LC_MESSAGES/messages.mo +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/ne/LC_MESSAGES/messages.po +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/no/LC_MESSAGES/messages.mo +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/no/LC_MESSAGES/messages.po +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/pl/LC_MESSAGES/messages.mo +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/pl/LC_MESSAGES/messages.po +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/pt/LC_MESSAGES/messages.mo +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/pt/LC_MESSAGES/messages.po +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/ro/LC_MESSAGES/messages.mo +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/ro/LC_MESSAGES/messages.po +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/ru/LC_MESSAGES/messages.mo +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/ru/LC_MESSAGES/messages.po +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/rw/LC_MESSAGES/messages.mo +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/rw/LC_MESSAGES/messages.po +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/sk/LC_MESSAGES/messages.mo +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/sk/LC_MESSAGES/messages.po +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/sv/LC_MESSAGES/messages.mo +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/sv/LC_MESSAGES/messages.po +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/sv_SE/LC_MESSAGES/messages.mo +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/sv_SE/LC_MESSAGES/messages.po +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/tr/LC_MESSAGES/messages.mo +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/tr/LC_MESSAGES/messages.po +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/uk/LC_MESSAGES/messages.mo +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/uk/LC_MESSAGES/messages.po +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/uk_UA/LC_MESSAGES/messages.mo +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/uk_UA/LC_MESSAGES/messages.po +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/zh_CN/LC_MESSAGES/messages.mo +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/zh_CN/LC_MESSAGES/messages.po +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/zh_TW/LC_MESSAGES/messages.mo +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/translations/zh_TW/LC_MESSAGES/messages.po +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/views.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies/webpack.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies.egg-info/dependency_links.txt +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies.egg-info/entry_points.txt +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies.egg-info/not-zip-safe +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies.egg-info/requires.txt +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/invenio_vocabularies.egg-info/top_level.txt +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/pyproject.toml +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/requirements-feature.txt +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/run-js-linter.sh +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/setup.cfg +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/setup.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/conftest.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/contrib/affiliations/conftest.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/contrib/affiliations/test_affiliations_resource.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/contrib/awards/test_awards_api.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/contrib/awards/test_awards_jsonschema.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/contrib/awards/test_awards_resource.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/contrib/awards/test_awards_schema.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/contrib/awards/test_awards_service.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/contrib/funders/conftest.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/contrib/funders/test_funders_api.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/contrib/funders/test_funders_datastreams.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/contrib/funders/test_funders_jsonschema.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/contrib/funders/test_funders_resource.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/contrib/funders/test_funders_schema.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/contrib/funders/test_funders_service.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/contrib/names/test_names_jsonschema.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/contrib/names/test_names_resource.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/contrib/subjects/conftest.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/contrib/subjects/test_subjects_api.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/contrib/subjects/test_subjects_facets.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/contrib/subjects/test_subjects_jsonschema.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/contrib/subjects/test_subjects_resource.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/contrib/subjects/test_subjects_schema.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/contrib/subjects/test_subjects_service.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/custom_fields/test_custom_fields.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/datastreams/conftest.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/datastreams/test_datastreams.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/datastreams/test_fixtures.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/datastreams/test_readers.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/datastreams/test_transformers.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/datastreams/test_writers.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/datastreams/vocabularies.yaml +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/mock_module/__init__.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/mock_module/api.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/mock_module/jsonschemas/__init__.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/mock_module/jsonschemas/records/record-v1.0.0.json +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/mock_module/mappings/__init__.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/mock_module/mappings/v6/__init__.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/mock_module/mappings/v6/records/record-v1.0.0.json +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/mock_module/mappings/v7/__init__.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/mock_module/mappings/v7/records/record-v1.0.0.json +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/mock_module/models.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/records/conftest.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/records/test_api.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/records/test_jsonschema.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/records/test_models.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/records/test_relationship.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/resources/conftest.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/resources/test_resources_get.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/resources/test_resources_l10n.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/resources/test_resources_search.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/resources/test_tasks_resources.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/services/conftest.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/services/test_labels.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/services/test_permissions.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/services/test_schema.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/services/test_service.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/test_alembic.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/test_cli.py +0 -0
- {invenio-vocabularies-1.5.1 → invenio-vocabularies-2.0.0}/tests/test_invenio_vocabularies.py +0 -0
|
@@ -31,28 +31,16 @@ jobs:
|
|
|
31
31
|
runs-on: ubuntu-20.04
|
|
32
32
|
strategy:
|
|
33
33
|
matrix:
|
|
34
|
-
python-version: [3.
|
|
34
|
+
python-version: [3.8, 3.9]
|
|
35
35
|
requirements-level: [pypi]
|
|
36
|
-
db-service: [
|
|
36
|
+
db-service: [postgresql14]
|
|
37
37
|
search-service: [opensearch2, elasticsearch7]
|
|
38
38
|
node-version: [16.x]
|
|
39
|
-
exclude:
|
|
40
|
-
- python-version: 3.7
|
|
41
|
-
db-service: postgresql13
|
|
42
|
-
|
|
43
|
-
- python-version: 3.7
|
|
44
|
-
db-service: mysql8
|
|
45
|
-
|
|
46
39
|
include:
|
|
47
40
|
- search-service: opensearch2
|
|
48
41
|
SEARCH_EXTRAS: "opensearch2"
|
|
49
|
-
|
|
50
42
|
- search-service: elasticsearch7
|
|
51
43
|
SEARCH_EXTRAS: "elasticsearch7"
|
|
52
|
-
|
|
53
|
-
- db-service: mysql8
|
|
54
|
-
DB_EXTRAS: "mysql"
|
|
55
|
-
|
|
56
44
|
env:
|
|
57
45
|
DB: ${{ matrix.db-service }}
|
|
58
46
|
SEARCH: ${{ matrix.search-service }}
|
|
@@ -8,6 +8,19 @@
|
|
|
8
8
|
Changes
|
|
9
9
|
=======
|
|
10
10
|
|
|
11
|
+
Version 2.0.0 (2023-09-14)
|
|
12
|
+
|
|
13
|
+
- contrib-awards: add "program" to schema fields
|
|
14
|
+
- global: switch names and affiliations to model PID field
|
|
15
|
+
- ci: update matrix
|
|
16
|
+
- awards: add "program" field
|
|
17
|
+
- config: update awards funders mapping
|
|
18
|
+
- service: add sort option to load vocabs
|
|
19
|
+
|
|
20
|
+
Version 1.6.0 (2023-09-12)
|
|
21
|
+
|
|
22
|
+
- awards: add acronym to schema
|
|
23
|
+
|
|
11
24
|
Version 1.5.1 (2023-07-07)
|
|
12
25
|
|
|
13
26
|
- fix string type columns for mysql
|
{invenio-vocabularies-1.5.1/invenio_vocabularies.egg-info → invenio-vocabularies-2.0.0}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: invenio-vocabularies
|
|
3
|
-
Version:
|
|
3
|
+
Version: 2.0.0
|
|
4
4
|
Summary: "Invenio module for managing vocabularies."
|
|
5
5
|
Home-page: https://github.com/inveniosoftware/invenio-vocabularies
|
|
6
6
|
Author: CERN
|
|
@@ -50,6 +50,19 @@ Description: ..
|
|
|
50
50
|
Changes
|
|
51
51
|
=======
|
|
52
52
|
|
|
53
|
+
Version 2.0.0 (2023-09-14)
|
|
54
|
+
|
|
55
|
+
- contrib-awards: add "program" to schema fields
|
|
56
|
+
- global: switch names and affiliations to model PID field
|
|
57
|
+
- ci: update matrix
|
|
58
|
+
- awards: add "program" field
|
|
59
|
+
- config: update awards funders mapping
|
|
60
|
+
- service: add sort option to load vocabs
|
|
61
|
+
|
|
62
|
+
Version 1.6.0 (2023-09-12)
|
|
63
|
+
|
|
64
|
+
- awards: add acronym to schema
|
|
65
|
+
|
|
53
66
|
Version 1.5.1 (2023-07-07)
|
|
54
67
|
|
|
55
68
|
- fix string type columns for mysql
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
#
|
|
2
|
+
# This file is part of Invenio.
|
|
3
|
+
# Copyright (C) 2023 CERN.
|
|
4
|
+
#
|
|
5
|
+
# Invenio is free software; you can redistribute it and/or modify it
|
|
6
|
+
# under the terms of the MIT License; see LICENSE file for more details.
|
|
7
|
+
|
|
8
|
+
"""Add "pid" column to names and affiliations tables."""
|
|
9
|
+
|
|
10
|
+
import sqlalchemy as sa
|
|
11
|
+
from alembic import op
|
|
12
|
+
|
|
13
|
+
# revision identifiers, used by Alembic.
|
|
14
|
+
revision = "55a700f897b6"
|
|
15
|
+
down_revision = "e1146238edd3"
|
|
16
|
+
branch_labels = ()
|
|
17
|
+
depends_on = None
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
pids_table = sa.sql.table(
|
|
21
|
+
"pidstore_pid",
|
|
22
|
+
sa.sql.column("pid_type"),
|
|
23
|
+
sa.sql.column("pid_value"),
|
|
24
|
+
sa.sql.column("object_uuid"),
|
|
25
|
+
sa.sql.column("object_type"),
|
|
26
|
+
)
|
|
27
|
+
names_table = sa.sql.table(
|
|
28
|
+
"name_metadata",
|
|
29
|
+
sa.sql.column("id"),
|
|
30
|
+
sa.sql.column("pid"),
|
|
31
|
+
)
|
|
32
|
+
affiliations_table = sa.sql.table(
|
|
33
|
+
"affiliation_metadata",
|
|
34
|
+
sa.sql.column("id"),
|
|
35
|
+
sa.sql.column("pid"),
|
|
36
|
+
)
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
def upgrade():
|
|
40
|
+
"""Upgrade database."""
|
|
41
|
+
op.add_column(
|
|
42
|
+
"name_metadata",
|
|
43
|
+
sa.Column("pid", sa.String(255), nullable=True),
|
|
44
|
+
)
|
|
45
|
+
# populate from PIDStore
|
|
46
|
+
op.execute(
|
|
47
|
+
names_table.update()
|
|
48
|
+
.where(
|
|
49
|
+
names_table.c.id == pids_table.c.object_uuid,
|
|
50
|
+
pids_table.c.object_type == "rec",
|
|
51
|
+
pids_table.c.pid_type == "names",
|
|
52
|
+
)
|
|
53
|
+
.values(pid=pids_table.c.pid_value)
|
|
54
|
+
)
|
|
55
|
+
op.create_unique_constraint(
|
|
56
|
+
op.f("uq_name_metadata_pid"),
|
|
57
|
+
"name_metadata",
|
|
58
|
+
["pid"],
|
|
59
|
+
)
|
|
60
|
+
|
|
61
|
+
op.add_column(
|
|
62
|
+
"affiliation_metadata",
|
|
63
|
+
sa.Column("pid", sa.String(255), nullable=True),
|
|
64
|
+
)
|
|
65
|
+
# populate from PIDStore
|
|
66
|
+
op.execute(
|
|
67
|
+
affiliations_table.update()
|
|
68
|
+
.where(
|
|
69
|
+
affiliations_table.c.id == pids_table.c.object_uuid,
|
|
70
|
+
pids_table.c.object_type == "rec",
|
|
71
|
+
pids_table.c.pid_type == "aff",
|
|
72
|
+
)
|
|
73
|
+
.values(pid=pids_table.c.pid_value)
|
|
74
|
+
)
|
|
75
|
+
|
|
76
|
+
op.create_unique_constraint(
|
|
77
|
+
op.f("uq_affiliation_metadata_pid"),
|
|
78
|
+
"affiliation_metadata",
|
|
79
|
+
["pid"],
|
|
80
|
+
)
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
def downgrade():
|
|
84
|
+
"""Downgrade database."""
|
|
85
|
+
op.drop_constraint(
|
|
86
|
+
op.f("uq_name_metadata_pid"),
|
|
87
|
+
"name_metadata",
|
|
88
|
+
type_="unique",
|
|
89
|
+
)
|
|
90
|
+
op.drop_constraint(
|
|
91
|
+
op.f("uq_affiliation_metadata_pid"),
|
|
92
|
+
"affiliation_metadata",
|
|
93
|
+
type_="unique",
|
|
94
|
+
)
|
|
95
|
+
op.drop_column("name_metadata", "pid")
|
|
96
|
+
op.drop_column("affiliation_metadata", "pid")
|
|
@@ -62,15 +62,18 @@ VOCABULARIES_AWARD_SCHEMES = {
|
|
|
62
62
|
"""Awards allowed identifier schemes."""
|
|
63
63
|
|
|
64
64
|
VOCABULARIES_AWARDS_OPENAIRE_FUNDERS = {
|
|
65
|
-
"anr_________": "00rbzpz17",
|
|
66
65
|
"aka_________": "05k73zm37",
|
|
66
|
+
"anr_________": "00rbzpz17",
|
|
67
67
|
"arc_________": "05mmh0f86",
|
|
68
|
+
"asap________": "03zj4c476",
|
|
68
69
|
"cihr________": "01gavpb45",
|
|
69
70
|
"corda_______": "00k4n6c32",
|
|
71
|
+
"corda_____he": "00k4n6c32",
|
|
70
72
|
"corda__h2020": "00k4n6c32",
|
|
71
73
|
"euenvagency_": "02k4b9v70",
|
|
72
74
|
"fct_________": "00snfqn58",
|
|
73
75
|
"fwf_________": "013tf3c58",
|
|
76
|
+
"inca________": "03m8vkq32",
|
|
74
77
|
"irb_hr______": "03n51vw80",
|
|
75
78
|
"mestd_______": "01znas443",
|
|
76
79
|
"nhmrc_______": "011kf5r70",
|
|
@@ -78,12 +81,12 @@ VOCABULARIES_AWARDS_OPENAIRE_FUNDERS = {
|
|
|
78
81
|
"nserc_______": "01h531d29",
|
|
79
82
|
"nsf_________": "021nxhr62",
|
|
80
83
|
"nwo_________": "04jsz6e67",
|
|
81
|
-
"rcuk________": "
|
|
82
|
-
"ukri________": "001aqnf71",
|
|
84
|
+
"rcuk________": "00dq2kk65", # deprecated funder org
|
|
83
85
|
"sfi_________": "0271asj38",
|
|
84
86
|
"snsf________": "00yjd3n13",
|
|
85
87
|
"sshrc_______": "006cvnv84",
|
|
86
88
|
"tubitakf____": "04w9kkr77",
|
|
89
|
+
"ukri________": "001aqnf71",
|
|
87
90
|
"wt__________": "029chgv08",
|
|
88
91
|
}
|
|
89
92
|
"""Mapping of OpenAIRE and ROR funder codes."""
|
|
@@ -8,12 +8,12 @@
|
|
|
8
8
|
|
|
9
9
|
"""Vocabulary affiliations."""
|
|
10
10
|
|
|
11
|
+
from invenio_db import db
|
|
11
12
|
from invenio_records.dumpers import SearchDumper
|
|
12
13
|
from invenio_records.dumpers.indexedat import IndexedAtDumperExt
|
|
13
14
|
from invenio_records_resources.factories.factory import RecordTypeFactory
|
|
15
|
+
from invenio_records_resources.records.systemfields import ModelPIDField
|
|
14
16
|
|
|
15
|
-
from ...records.pidprovider import PIDProviderFactory
|
|
16
|
-
from ...records.systemfields import BaseVocabularyPIDFieldContext
|
|
17
17
|
from ...services.permissions import PermissionPolicy
|
|
18
18
|
from .config import AffiliationsSearchOptions, service_components
|
|
19
19
|
from .schema import AffiliationSchema
|
|
@@ -21,17 +21,22 @@ from .schema import AffiliationSchema
|
|
|
21
21
|
record_type = RecordTypeFactory(
|
|
22
22
|
"Affiliation",
|
|
23
23
|
# Data layer
|
|
24
|
+
pid_field_cls=ModelPIDField,
|
|
24
25
|
pid_field_kwargs={
|
|
25
|
-
"
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
"model_field_name": "pid",
|
|
27
|
+
},
|
|
28
|
+
model_cls_attrs={
|
|
29
|
+
# cannot set to nullable=False because it would fail at
|
|
30
|
+
# service level when create({}), see records-resources.
|
|
31
|
+
"pid": db.Column(db.String(255), unique=True),
|
|
28
32
|
},
|
|
29
33
|
schema_version="1.0.0",
|
|
30
34
|
schema_path="local://affiliations/affiliation-v1.0.0.json",
|
|
31
35
|
record_dumper=SearchDumper(
|
|
36
|
+
model_fields={"pid": ("id", str)},
|
|
32
37
|
extensions=[
|
|
33
38
|
IndexedAtDumperExt(),
|
|
34
|
-
]
|
|
39
|
+
],
|
|
35
40
|
),
|
|
36
41
|
# Service layer
|
|
37
42
|
service_id="affiliations",
|
|
@@ -10,9 +10,6 @@
|
|
|
10
10
|
"acronym": {
|
|
11
11
|
"type": "string"
|
|
12
12
|
},
|
|
13
|
-
"id": {
|
|
14
|
-
"$ref": "local://definitions-v1.0.0.json#/identifier"
|
|
15
|
-
},
|
|
16
13
|
"identifiers": {
|
|
17
14
|
"description": "Alternate identifiers for the record.",
|
|
18
15
|
"type": "array",
|
|
@@ -22,9 +19,6 @@
|
|
|
22
19
|
"name": {
|
|
23
20
|
"type": "string"
|
|
24
21
|
},
|
|
25
|
-
"pid": {
|
|
26
|
-
"$ref": "local://definitions-v1.0.0.json#/internal-pid"
|
|
27
|
-
},
|
|
28
22
|
"title": {
|
|
29
23
|
"$ref": "local://vocabularies/definitions-v1.0.0.json#/title"
|
|
30
24
|
}
|
|
@@ -15,11 +15,15 @@ from marshmallow import fields
|
|
|
15
15
|
from marshmallow_utils.fields import IdentifierSet, SanitizedUnicode
|
|
16
16
|
from marshmallow_utils.schemas import IdentifierSchema
|
|
17
17
|
|
|
18
|
-
from ...services.schema import
|
|
18
|
+
from ...services.schema import (
|
|
19
|
+
BaseVocabularySchema,
|
|
20
|
+
ContribVocabularyRelationSchema,
|
|
21
|
+
ModePIDFieldVocabularyMixin,
|
|
22
|
+
)
|
|
19
23
|
from .config import affiliation_schemes
|
|
20
24
|
|
|
21
25
|
|
|
22
|
-
class AffiliationSchema(BaseVocabularySchema):
|
|
26
|
+
class AffiliationSchema(BaseVocabularySchema, ModePIDFieldVocabularyMixin):
|
|
23
27
|
"""Service schema for affiliations."""
|
|
24
28
|
|
|
25
29
|
acronym = SanitizedUnicode()
|
|
@@ -52,6 +52,15 @@ class OpenAIREProjectTransformer(BaseTransformer):
|
|
|
52
52
|
|
|
53
53
|
award["id"] = f"{funder_id}::{code}"
|
|
54
54
|
|
|
55
|
+
funding = next(iter(record.get("funding", [])), None)
|
|
56
|
+
if funding:
|
|
57
|
+
funding_stream_id = funding.get("funding_stream", {}).get("id", "")
|
|
58
|
+
# Example funding stream ID: `EC::HE::HORIZON-AG-UN`. We need the `EC`
|
|
59
|
+
# string, i.e. the second "part" of the identifier.
|
|
60
|
+
program = next(iter(funding_stream_id.split("::")[1:2]), "")
|
|
61
|
+
if program:
|
|
62
|
+
award["program"] = program
|
|
63
|
+
|
|
55
64
|
identifiers = []
|
|
56
65
|
if funder_id == awards_ec_ror_id:
|
|
57
66
|
identifiers.append(
|
|
@@ -10,26 +10,21 @@
|
|
|
10
10
|
|
|
11
11
|
from functools import partial
|
|
12
12
|
|
|
13
|
-
from attr import attr
|
|
14
13
|
from invenio_i18n import lazy_gettext as _
|
|
15
|
-
from marshmallow import
|
|
16
|
-
Schema,
|
|
17
|
-
ValidationError,
|
|
18
|
-
fields,
|
|
19
|
-
post_load,
|
|
20
|
-
pre_dump,
|
|
21
|
-
validate,
|
|
22
|
-
validates_schema,
|
|
23
|
-
)
|
|
14
|
+
from marshmallow import Schema, ValidationError, fields, validate, validates_schema
|
|
24
15
|
from marshmallow_utils.fields import IdentifierSet, SanitizedUnicode
|
|
25
16
|
from marshmallow_utils.schemas import IdentifierSchema
|
|
26
17
|
|
|
27
|
-
from ...services.schema import
|
|
18
|
+
from ...services.schema import (
|
|
19
|
+
BaseVocabularySchema,
|
|
20
|
+
ModePIDFieldVocabularyMixin,
|
|
21
|
+
i18n_strings,
|
|
22
|
+
)
|
|
28
23
|
from ..funders.schema import FunderRelationSchema
|
|
29
24
|
from .config import award_schemes
|
|
30
25
|
|
|
31
26
|
|
|
32
|
-
class AwardSchema(BaseVocabularySchema):
|
|
27
|
+
class AwardSchema(BaseVocabularySchema, ModePIDFieldVocabularyMixin):
|
|
33
28
|
"""Award schema."""
|
|
34
29
|
|
|
35
30
|
identifiers = IdentifierSet(
|
|
@@ -49,32 +44,12 @@ class AwardSchema(BaseVocabularySchema):
|
|
|
49
44
|
|
|
50
45
|
acronym = SanitizedUnicode()
|
|
51
46
|
|
|
47
|
+
program = SanitizedUnicode()
|
|
48
|
+
|
|
52
49
|
id = SanitizedUnicode(
|
|
53
50
|
validate=validate.Length(min=1, error=_("PID cannot be blank."))
|
|
54
51
|
)
|
|
55
52
|
|
|
56
|
-
@validates_schema
|
|
57
|
-
def validate_id(self, data, **kwargs):
|
|
58
|
-
"""Validates ID."""
|
|
59
|
-
is_create = "record" not in self.context
|
|
60
|
-
if is_create and "id" not in data:
|
|
61
|
-
raise ValidationError(_("Missing PID."), "id")
|
|
62
|
-
if not is_create:
|
|
63
|
-
data.pop("id", None)
|
|
64
|
-
|
|
65
|
-
@post_load(pass_many=False)
|
|
66
|
-
def move_id(self, data, **kwargs):
|
|
67
|
-
"""Moves id to pid."""
|
|
68
|
-
if "id" in data:
|
|
69
|
-
data["pid"] = data.pop("id")
|
|
70
|
-
return data
|
|
71
|
-
|
|
72
|
-
@pre_dump(pass_many=False)
|
|
73
|
-
def extract_pid_value(self, data, **kwargs):
|
|
74
|
-
"""Extracts the PID value."""
|
|
75
|
-
data["id"] = data.pid.pid_value
|
|
76
|
-
return data
|
|
77
|
-
|
|
78
53
|
|
|
79
54
|
class AwardRelationSchema(Schema):
|
|
80
55
|
"""Award relation schema."""
|
|
@@ -91,6 +66,8 @@ class AwardRelationSchema(Schema):
|
|
|
91
66
|
)
|
|
92
67
|
)
|
|
93
68
|
)
|
|
69
|
+
acronym = SanitizedUnicode()
|
|
70
|
+
program = SanitizedUnicode()
|
|
94
71
|
|
|
95
72
|
@validates_schema
|
|
96
73
|
def validate_data(self, data, **kwargs):
|
|
@@ -35,5 +35,6 @@ class AwardL10NItemSchema(Schema):
|
|
|
35
35
|
description = L10NString(data_key="description_l10n")
|
|
36
36
|
number = fields.String(dump_only=True)
|
|
37
37
|
acronym = fields.String(dump_only=True)
|
|
38
|
+
program = fields.String(dump_only=True)
|
|
38
39
|
funder = fields.Nested(FunderRelationSchema, dump_only=True)
|
|
39
40
|
identifiers = fields.List(fields.Nested(IdentifierSchema), dump_only=True)
|
|
@@ -9,12 +9,9 @@
|
|
|
9
9
|
"""Names datastreams, transformers, writers and readers."""
|
|
10
10
|
|
|
11
11
|
from invenio_access.permissions import system_identity
|
|
12
|
-
from invenio_pidstore.errors import PIDDoesNotExistError
|
|
13
12
|
from invenio_records.dictutils import dict_lookup
|
|
14
|
-
from marshmallow import ValidationError
|
|
15
13
|
|
|
16
|
-
from ...datastreams import
|
|
17
|
-
from ...datastreams.errors import TransformerError, WriterError
|
|
14
|
+
from ...datastreams.errors import TransformerError
|
|
18
15
|
from ...datastreams.readers import SimpleHTTPReader
|
|
19
16
|
from ...datastreams.transformers import BaseTransformer
|
|
20
17
|
from ...datastreams.writers import ServiceWriter
|
|
@@ -40,13 +37,14 @@ class OrcidTransformer(BaseTransformer):
|
|
|
40
37
|
"""Applies the transformation to the stream entry."""
|
|
41
38
|
record = stream_entry.entry
|
|
42
39
|
person = record["person"]
|
|
43
|
-
orcid_id = record["orcid-identifier"]["
|
|
40
|
+
orcid_id = record["orcid-identifier"]["path"]
|
|
44
41
|
|
|
45
42
|
name = person.get("name")
|
|
46
43
|
if name is None:
|
|
47
44
|
raise TransformerError(f"Name not found in ORCiD entry.")
|
|
48
45
|
|
|
49
46
|
entry = {
|
|
47
|
+
"id": orcid_id,
|
|
50
48
|
"given_name": name.get("given-names"),
|
|
51
49
|
"family_name": name.get("family-name"),
|
|
52
50
|
"identifiers": [{"scheme": "orcid", "identifier": orcid_id}],
|
|
@@ -79,41 +77,14 @@ class OrcidTransformer(BaseTransformer):
|
|
|
79
77
|
class NamesServiceWriter(ServiceWriter):
|
|
80
78
|
"""Names service writer."""
|
|
81
79
|
|
|
82
|
-
def __init__(self, *args,
|
|
80
|
+
def __init__(self, *args, **kwargs):
|
|
83
81
|
"""Constructor."""
|
|
84
82
|
service_or_name = kwargs.pop("service_or_name", "names")
|
|
85
83
|
super().__init__(service_or_name=service_or_name, *args, **kwargs)
|
|
86
|
-
self._scheme_id = scheme_id
|
|
87
84
|
|
|
88
85
|
def _entry_id(self, entry):
|
|
89
86
|
"""Get the id from an entry."""
|
|
90
|
-
|
|
91
|
-
if identifier.get("scheme") == self._scheme_id:
|
|
92
|
-
return identifier["identifier"]
|
|
93
|
-
|
|
94
|
-
def _resolve(self, id_):
|
|
95
|
-
"""Resolve an entry given an id."""
|
|
96
|
-
return self._service.resolve(self._identity, id_=id_, id_type=self._scheme_id)
|
|
97
|
-
|
|
98
|
-
def write(self, stream_entry, *args, **kwargs):
|
|
99
|
-
"""Writes the input entry using a given service."""
|
|
100
|
-
entry = stream_entry.entry
|
|
101
|
-
try:
|
|
102
|
-
vocab_id = self._entry_id(entry)
|
|
103
|
-
# it is resolved before creation to avoid duplicates since
|
|
104
|
-
# the pid is recidv2 not e.g. the orcid
|
|
105
|
-
current = self._resolve(vocab_id)
|
|
106
|
-
if not self._update:
|
|
107
|
-
raise WriterError([f"Vocabulary entry already exists: {entry}"])
|
|
108
|
-
updated = dict(current.to_dict(), **entry)
|
|
109
|
-
return StreamEntry(
|
|
110
|
-
self._service.update(self._identity, current.id, updated)
|
|
111
|
-
)
|
|
112
|
-
except PIDDoesNotExistError:
|
|
113
|
-
return StreamEntry(self._service.create(self._identity, entry))
|
|
114
|
-
|
|
115
|
-
except ValidationError as err:
|
|
116
|
-
raise WriterError([{"ValidationError": err.messages}])
|
|
87
|
+
return entry["id"]
|
|
117
88
|
|
|
118
89
|
|
|
119
90
|
VOCABULARIES_DATASTREAM_READERS = {
|
|
@@ -8,13 +8,6 @@
|
|
|
8
8
|
"$schema": {
|
|
9
9
|
"$ref": "local://definitions-v1.0.0.json#/$schema"
|
|
10
10
|
},
|
|
11
|
-
"id": {
|
|
12
|
-
"description": "URI or classification code as identifier - globally unique among all names schemes.",
|
|
13
|
-
"$ref": "local://definitions-v1.0.0.json#/identifier"
|
|
14
|
-
},
|
|
15
|
-
"pid": {
|
|
16
|
-
"$ref": "local://definitions-v1.0.0.json#/internal-pid"
|
|
17
|
-
},
|
|
18
11
|
"scheme": {
|
|
19
12
|
"description": "Identifier of the name scheme.",
|
|
20
13
|
"$ref": "local://definitions-v1.0.0.json#/identifier"
|
|
@@ -8,16 +8,17 @@
|
|
|
8
8
|
|
|
9
9
|
"""Vocabulary names."""
|
|
10
10
|
|
|
11
|
-
from
|
|
11
|
+
from invenio_db import db
|
|
12
12
|
from invenio_records.dumpers import SearchDumper
|
|
13
13
|
from invenio_records.dumpers.indexedat import IndexedAtDumperExt
|
|
14
14
|
from invenio_records.dumpers.relations import RelationDumperExt
|
|
15
15
|
from invenio_records.systemfields import RelationsField
|
|
16
16
|
from invenio_records_resources.factories.factory import RecordTypeFactory
|
|
17
|
-
from invenio_records_resources.records.systemfields import
|
|
17
|
+
from invenio_records_resources.records.systemfields import (
|
|
18
|
+
ModelPIDField,
|
|
19
|
+
PIDListRelation,
|
|
20
|
+
)
|
|
18
21
|
|
|
19
|
-
from ...records.pidprovider import PIDProviderFactory
|
|
20
|
-
from ...records.systemfields import BaseVocabularyPIDFieldContext
|
|
21
22
|
from ...services.permissions import PermissionPolicy
|
|
22
23
|
from ..affiliations.api import Affiliation
|
|
23
24
|
from .config import NamesSearchOptions, service_components
|
|
@@ -35,21 +36,24 @@ name_relations = RelationsField(
|
|
|
35
36
|
record_type = RecordTypeFactory(
|
|
36
37
|
"Name",
|
|
37
38
|
# Data layer
|
|
39
|
+
pid_field_cls=ModelPIDField,
|
|
38
40
|
pid_field_kwargs={
|
|
39
|
-
"
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
41
|
+
"model_field_name": "pid",
|
|
42
|
+
},
|
|
43
|
+
model_cls_attrs={
|
|
44
|
+
# cannot set to nullable=False because it would fail at
|
|
45
|
+
# service level when create({}), see records-resources.
|
|
46
|
+
"pid": db.Column(db.String(255), unique=True),
|
|
44
47
|
},
|
|
45
48
|
schema_version="1.0.0",
|
|
46
49
|
schema_path="local://names/name-v1.0.0.json",
|
|
47
50
|
record_relations=name_relations,
|
|
48
51
|
record_dumper=SearchDumper(
|
|
52
|
+
model_fields={"pid": ("id", str)},
|
|
49
53
|
extensions=[
|
|
50
54
|
RelationDumperExt("relations"),
|
|
51
55
|
IndexedAtDumperExt(),
|
|
52
|
-
]
|
|
56
|
+
],
|
|
53
57
|
),
|
|
54
58
|
# Service layer
|
|
55
59
|
service_id="names",
|
|
@@ -11,16 +11,16 @@
|
|
|
11
11
|
from functools import partial
|
|
12
12
|
|
|
13
13
|
from invenio_i18n import lazy_gettext as _
|
|
14
|
-
from invenio_records_resources.services.records.schema import BaseRecordSchema
|
|
15
14
|
from marshmallow import ValidationError, fields, post_load, validates_schema
|
|
16
15
|
from marshmallow_utils.fields import IdentifierSet, SanitizedUnicode
|
|
17
16
|
from marshmallow_utils.schemas import IdentifierSchema
|
|
18
17
|
|
|
18
|
+
from ...services.schema import BaseVocabularySchema, ModePIDFieldVocabularyMixin
|
|
19
19
|
from ..affiliations.schema import AffiliationRelationSchema
|
|
20
20
|
from .config import names_schemes
|
|
21
21
|
|
|
22
22
|
|
|
23
|
-
class NameSchema(
|
|
23
|
+
class NameSchema(BaseVocabularySchema, ModePIDFieldVocabularyMixin):
|
|
24
24
|
"""Service schema for names.
|
|
25
25
|
|
|
26
26
|
Note that this vocabulary is very different from the base vocabulary
|
|
@@ -30,7 +30,13 @@ class VocabularyCF(BaseCF):
|
|
|
30
30
|
"""
|
|
31
31
|
|
|
32
32
|
def __init__(
|
|
33
|
-
self,
|
|
33
|
+
self,
|
|
34
|
+
name,
|
|
35
|
+
vocabulary_id,
|
|
36
|
+
multiple=False,
|
|
37
|
+
dump_options=True,
|
|
38
|
+
sort_by=None,
|
|
39
|
+
**kwargs
|
|
34
40
|
):
|
|
35
41
|
"""Constructor."""
|
|
36
42
|
super().__init__(name, **kwargs)
|
|
@@ -38,6 +44,7 @@ class VocabularyCF(BaseCF):
|
|
|
38
44
|
self.vocabulary_id = vocabulary_id
|
|
39
45
|
self.dump_options = dump_options
|
|
40
46
|
self.multiple = multiple
|
|
47
|
+
self.sort_by = sort_by
|
|
41
48
|
|
|
42
49
|
@property
|
|
43
50
|
def mapping(self):
|
|
@@ -78,6 +85,7 @@ class VocabularyCF(BaseCF):
|
|
|
78
85
|
identity,
|
|
79
86
|
fields=self.field_keys,
|
|
80
87
|
type=self.vocabulary_id,
|
|
88
|
+
sort=self.sort_by,
|
|
81
89
|
)
|
|
82
90
|
options = []
|
|
83
91
|
for vocab in vocabs:
|