invenio-vocabularies 4.1.1__tar.gz → 4.3.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.

Files changed (406) hide show
  1. invenio-vocabularies-4.3.0/.github/workflows/tests.yml +40 -0
  2. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/CHANGES.rst +14 -0
  3. {invenio-vocabularies-4.1.1/invenio_vocabularies.egg-info → invenio-vocabularies-4.3.0}/PKG-INFO +16 -1
  4. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/__init__.py +1 -1
  5. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/administration/views/vocabularies.py +1 -0
  6. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/cli.py +17 -6
  7. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/config.py +15 -1
  8. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/affiliations/api.py +1 -2
  9. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/affiliations/datastreams.py +33 -8
  10. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/affiliations/services.py +1 -2
  11. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/awards/awards.py +2 -1
  12. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/awards/datastreams.py +1 -0
  13. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/awards/services.py +1 -2
  14. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/common/ror/datastreams.py +39 -5
  15. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/funders/datastreams.py +38 -11
  16. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/funders/funders.py +2 -1
  17. invenio-vocabularies-4.3.0/invenio_vocabularies/contrib/names/datastreams.py +288 -0
  18. invenio-vocabularies-4.3.0/invenio_vocabularies/contrib/names/s3client.py +44 -0
  19. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/datastreams/datastreams.py +61 -13
  20. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/datastreams/readers.py +40 -15
  21. invenio-vocabularies-4.3.0/invenio_vocabularies/datastreams/tasks.py +37 -0
  22. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/datastreams/writers.py +70 -0
  23. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/factories.py +1 -0
  24. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/records/models.py +2 -4
  25. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/records/pidprovider.py +1 -2
  26. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/resources/__init__.py +1 -0
  27. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/resources/schema.py +2 -1
  28. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/services/custom_fields/subject.py +3 -2
  29. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/services/custom_fields/vocabulary.py +1 -1
  30. invenio-vocabularies-4.3.0/invenio_vocabularies/services/tasks.py +28 -0
  31. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/templates/semantic-ui/invenio_vocabularies/subjects.html +1 -1
  32. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0/invenio_vocabularies.egg-info}/PKG-INFO +16 -1
  33. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies.egg-info/SOURCES.txt +3 -0
  34. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies.egg-info/requires.txt +4 -0
  35. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/setup.cfg +3 -0
  36. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/contrib/common/ror/test_ror_datastreams.py +118 -3
  37. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/contrib/names/test_names_datastreams.py +38 -3
  38. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/datastreams/conftest.py +20 -4
  39. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/datastreams/test_datastreams.py +10 -9
  40. invenio-vocabularies-4.3.0/tests/datastreams/test_datastreams_tasks.py +41 -0
  41. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/datastreams/test_readers.py +145 -1
  42. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/datastreams/test_writers.py +36 -2
  43. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/records/test_models.py +0 -1
  44. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/resources/test_tasks_resources.py +5 -1
  45. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/test_cli.py +1 -2
  46. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/test_factory.py +4 -1
  47. invenio-vocabularies-4.1.1/.github/workflows/tests.yml +0 -89
  48. invenio-vocabularies-4.1.1/invenio_vocabularies/contrib/names/datastreams.py +0 -130
  49. invenio-vocabularies-4.1.1/invenio_vocabularies/services/tasks.py +0 -58
  50. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/.dockerignore +0 -0
  51. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/.editorconfig +0 -0
  52. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/.git-blame-ignore-revs +0 -0
  53. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/.github/workflows/i18n-pull.yml +0 -0
  54. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/.github/workflows/i18n-push.yml +0 -0
  55. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/.github/workflows/pypi-publish.yml +0 -0
  56. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/.tx/config +0 -0
  57. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/AUTHORS.rst +0 -0
  58. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/CONTRIBUTING.rst +0 -0
  59. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/INSTALL.rst +0 -0
  60. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/LICENSE +0 -0
  61. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/MANIFEST.in +0 -0
  62. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/README.rst +0 -0
  63. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/babel.ini +0 -0
  64. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/docs/Makefile +0 -0
  65. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/docs/api.rst +0 -0
  66. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/docs/authors.rst +0 -0
  67. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/docs/changes.rst +0 -0
  68. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/docs/conf.py +0 -0
  69. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/docs/configuration.rst +0 -0
  70. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/docs/contributing.rst +0 -0
  71. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/docs/index.rst +0 -0
  72. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/docs/installation.rst +0 -0
  73. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/docs/license.rst +0 -0
  74. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/docs/make.bat +0 -0
  75. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/docs/requirements.txt +0 -0
  76. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/docs/usage.rst +0 -0
  77. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/gen-migration.sh +0 -0
  78. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/administration/__init__.py +0 -0
  79. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/administration/views/__init__.py +0 -0
  80. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/alembic/17c703ce1eb7_create_names_table.py +0 -0
  81. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/alembic/4a9a4fd235f8_create_vocabulary_schemes.py +0 -0
  82. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/alembic/4f365fced43f_create_vocabularies_tables.py +0 -0
  83. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/alembic/55a700f897b6_add_names_and_afiliations_pid_column.py +0 -0
  84. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/alembic/6312f33645c1_create_affiliations_table.py +0 -0
  85. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/alembic/676dd587542d_create_funders_vocabulary_table.py +0 -0
  86. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/alembic/8ff82dfb0be8_create_vocabularies_branch.py +0 -0
  87. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/alembic/__init__.py +0 -0
  88. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/alembic/e1146238edd3_create_awards_table.py +0 -0
  89. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/assets/semantic-ui/js/invenio_vocabularies/.eslintrc.yml +0 -0
  90. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/assets/semantic-ui/js/invenio_vocabularies/.prettierrc +0 -0
  91. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/assets/semantic-ui/js/invenio_vocabularies/index.js +0 -0
  92. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/assets/semantic-ui/js/invenio_vocabularies/package.json +0 -0
  93. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/assets/semantic-ui/js/invenio_vocabularies/src/contrib/forms/Funding/AwardResults.js +0 -0
  94. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/assets/semantic-ui/js/invenio_vocabularies/src/contrib/forms/Funding/CustomAwardForm.js +0 -0
  95. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/assets/semantic-ui/js/invenio_vocabularies/src/contrib/forms/Funding/FunderDropdown.js +0 -0
  96. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/assets/semantic-ui/js/invenio_vocabularies/src/contrib/forms/Funding/FundingField.js +0 -0
  97. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/assets/semantic-ui/js/invenio_vocabularies/src/contrib/forms/Funding/FundingField.test.js +0 -0
  98. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/assets/semantic-ui/js/invenio_vocabularies/src/contrib/forms/Funding/FundingFieldItem.js +0 -0
  99. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/assets/semantic-ui/js/invenio_vocabularies/src/contrib/forms/Funding/FundingModal.js +0 -0
  100. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/assets/semantic-ui/js/invenio_vocabularies/src/contrib/forms/Funding/NoAwardResults.js +0 -0
  101. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/assets/semantic-ui/js/invenio_vocabularies/src/contrib/forms/Funding/index.js +0 -0
  102. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/assets/semantic-ui/js/invenio_vocabularies/src/contrib/forms/index.js +0 -0
  103. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/assets/semantic-ui/js/invenio_vocabularies/src/contrib/index.js +0 -0
  104. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/assets/semantic-ui/js/invenio_vocabularies/src/index.js +0 -0
  105. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/i18next-scanner.config.js +0 -0
  106. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/i18next.js +0 -0
  107. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/messages/index.js +0 -0
  108. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/package.json +0 -0
  109. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/scripts/compileCatalog.js +0 -0
  110. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/scripts/initCatalog.js +0 -0
  111. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/__init__.py +0 -0
  112. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/affiliations/__init__.py +0 -0
  113. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/affiliations/affiliations.py +0 -0
  114. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/affiliations/config.py +0 -0
  115. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/affiliations/facets.py +0 -0
  116. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/affiliations/jsonschemas/__init__.py +0 -0
  117. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/affiliations/jsonschemas/affiliations/affiliation-v1.0.0.json +0 -0
  118. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/affiliations/mappings/__init__.py +0 -0
  119. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/affiliations/mappings/os-v1/__init__.py +0 -0
  120. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/affiliations/mappings/os-v1/affiliations/affiliation-v1.0.0.json +0 -0
  121. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/affiliations/mappings/os-v2/__init__.py +0 -0
  122. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/affiliations/mappings/os-v2/affiliations/affiliation-v1.0.0.json +0 -0
  123. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/affiliations/mappings/v7/__init__.py +0 -0
  124. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/affiliations/mappings/v7/affiliations/affiliation-v1.0.0.json +0 -0
  125. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/affiliations/models.py +0 -0
  126. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/affiliations/resources.py +0 -0
  127. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/affiliations/schema.py +0 -0
  128. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/awards/__init__.py +0 -0
  129. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/awards/api.py +0 -0
  130. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/awards/config.py +0 -0
  131. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/awards/jsonschemas/__init__.py +0 -0
  132. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/awards/jsonschemas/awards/award-v1.0.0.json +0 -0
  133. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/awards/mappings/__init__.py +0 -0
  134. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/awards/mappings/os-v1/__init__.py +0 -0
  135. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/awards/mappings/os-v1/awards/award-v1.0.0.json +0 -0
  136. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/awards/mappings/os-v2/__init__.py +0 -0
  137. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/awards/mappings/os-v2/awards/award-v1.0.0.json +0 -0
  138. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/awards/mappings/v7/__init__.py +0 -0
  139. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/awards/mappings/v7/awards/award-v1.0.0.json +0 -0
  140. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/awards/models.py +0 -0
  141. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/awards/resources.py +0 -0
  142. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/awards/schema.py +0 -0
  143. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/awards/serializer.py +0 -0
  144. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/common/__init__.py +0 -0
  145. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/common/ror/__init__.py +0 -0
  146. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/funders/__init__.py +0 -0
  147. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/funders/api.py +0 -0
  148. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/funders/config.py +0 -0
  149. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/funders/facets.py +0 -0
  150. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/funders/jsonschemas/__init__.py +0 -0
  151. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/funders/jsonschemas/funders/funder-v1.0.0.json +0 -0
  152. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/funders/mappings/__init__.py +0 -0
  153. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/funders/mappings/os-v1/__init__.py +0 -0
  154. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/funders/mappings/os-v1/funders/funder-v1.0.0.json +0 -0
  155. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/funders/mappings/os-v2/__init__.py +0 -0
  156. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/funders/mappings/os-v2/funders/funder-v1.0.0.json +0 -0
  157. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/funders/mappings/v7/__init__.py +0 -0
  158. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/funders/mappings/v7/funders/funder-v1.0.0.json +0 -0
  159. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/funders/models.py +0 -0
  160. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/funders/resources.py +0 -0
  161. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/funders/schema.py +0 -0
  162. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/funders/serializer.py +0 -0
  163. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/funders/services.py +0 -0
  164. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/names/__init__.py +0 -0
  165. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/names/api.py +0 -0
  166. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/names/config.py +0 -0
  167. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/names/jsonschemas/__init__.py +0 -0
  168. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/names/jsonschemas/names/name-v1.0.0.json +0 -0
  169. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/names/mappings/__init__.py +0 -0
  170. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/names/mappings/os-v1/__init__.py +0 -0
  171. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/names/mappings/os-v1/names/name-v1.0.0.json +0 -0
  172. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/names/mappings/os-v2/__init__.py +0 -0
  173. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/names/mappings/os-v2/names/name-v1.0.0.json +0 -0
  174. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/names/mappings/v7/__init__.py +0 -0
  175. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/names/mappings/v7/names/name-v1.0.0.json +0 -0
  176. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/names/models.py +0 -0
  177. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/names/names.py +0 -0
  178. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/names/resources.py +0 -0
  179. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/names/schema.py +0 -0
  180. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/names/services.py +0 -0
  181. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/subjects/__init__.py +0 -0
  182. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/subjects/api.py +0 -0
  183. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/subjects/config.py +0 -0
  184. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/subjects/facets.py +0 -0
  185. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/subjects/jsonschemas/__init__.py +0 -0
  186. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/subjects/jsonschemas/subjects/subject-v1.0.0.json +0 -0
  187. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/subjects/mappings/__init__.py +0 -0
  188. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/subjects/mappings/os-v1/__init__.py +0 -0
  189. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/subjects/mappings/os-v1/subjects/subject-v1.0.0.json +0 -0
  190. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/subjects/mappings/os-v2/__init__.py +0 -0
  191. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/subjects/mappings/os-v2/subjects/subject-v1.0.0.json +0 -0
  192. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/subjects/mappings/v7/__init__.py +0 -0
  193. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/subjects/mappings/v7/subjects/subject-v1.0.0.json +0 -0
  194. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/subjects/models.py +0 -0
  195. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/subjects/resources.py +0 -0
  196. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/subjects/schema.py +0 -0
  197. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/subjects/services.py +0 -0
  198. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/contrib/subjects/subjects.py +0 -0
  199. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/datastreams/__init__.py +0 -0
  200. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/datastreams/errors.py +0 -0
  201. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/datastreams/factories.py +0 -0
  202. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/datastreams/transformers.py +0 -0
  203. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/datastreams/xml.py +0 -0
  204. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/ext.py +0 -0
  205. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/fixtures.py +0 -0
  206. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/proxies.py +0 -0
  207. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/records/__init__.py +0 -0
  208. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/records/api.py +0 -0
  209. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/records/jsonschemas/__init__.py +0 -0
  210. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/records/jsonschemas/vocabularies/definitions-v1.0.0.json +0 -0
  211. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/records/jsonschemas/vocabularies/vocabulary-v1.0.0.json +0 -0
  212. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/records/mappings/__init__.py +0 -0
  213. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/records/mappings/os-v1/__init__.py +0 -0
  214. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/records/mappings/os-v1/vocabularies/vocabulary-v1.0.0.json +0 -0
  215. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/records/mappings/os-v2/__init__.py +0 -0
  216. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/records/mappings/os-v2/vocabularies/vocabulary-v1.0.0.json +0 -0
  217. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/records/mappings/v7/__init__.py +0 -0
  218. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/records/mappings/v7/vocabularies/vocabulary-v1.0.0.json +0 -0
  219. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/records/systemfields/__init__.py +0 -0
  220. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/records/systemfields/pid.py +0 -0
  221. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/records/systemfields/relations.py +0 -0
  222. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/resources/config.py +0 -0
  223. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/resources/resource.py +0 -0
  224. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/resources/serializer.py +0 -0
  225. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/services/__init__.py +0 -0
  226. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/services/components.py +0 -0
  227. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/services/config.py +0 -0
  228. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/services/custom_fields/__init__.py +0 -0
  229. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/services/facets.py +0 -0
  230. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/services/permissions.py +0 -0
  231. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/services/querystr.py +0 -0
  232. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/services/results.py +0 -0
  233. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/services/schema.py +0 -0
  234. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/services/service.py +0 -0
  235. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/templates/semantic-ui/invenio_vocabularies/vocabularies-list.html +0 -0
  236. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/templates/semantic-ui/invenio_vocabularies/vocabulary-details.html +0 -0
  237. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/af/LC_MESSAGES/messages.mo +0 -0
  238. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/af/LC_MESSAGES/messages.po +0 -0
  239. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/ar/LC_MESSAGES/messages.mo +0 -0
  240. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/ar/LC_MESSAGES/messages.po +0 -0
  241. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/bg/LC_MESSAGES/messages.mo +0 -0
  242. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/bg/LC_MESSAGES/messages.po +0 -0
  243. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/ca/LC_MESSAGES/messages.mo +0 -0
  244. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/ca/LC_MESSAGES/messages.po +0 -0
  245. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/cs/LC_MESSAGES/messages.mo +0 -0
  246. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/cs/LC_MESSAGES/messages.po +0 -0
  247. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/da/LC_MESSAGES/messages.mo +0 -0
  248. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/da/LC_MESSAGES/messages.po +0 -0
  249. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/de/LC_MESSAGES/messages.mo +0 -0
  250. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/de/LC_MESSAGES/messages.po +0 -0
  251. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/de_AT/LC_MESSAGES/messages.mo +0 -0
  252. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/de_AT/LC_MESSAGES/messages.po +0 -0
  253. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/de_DE/LC_MESSAGES/messages.mo +0 -0
  254. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/de_DE/LC_MESSAGES/messages.po +0 -0
  255. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/el/LC_MESSAGES/messages.mo +0 -0
  256. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/el/LC_MESSAGES/messages.po +0 -0
  257. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/en/LC_MESSAGES/messages.mo +0 -0
  258. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/en/LC_MESSAGES/messages.po +0 -0
  259. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/en_AT/LC_MESSAGES/messages.mo +0 -0
  260. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/en_AT/LC_MESSAGES/messages.po +0 -0
  261. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/en_HU/LC_MESSAGES/messages.mo +0 -0
  262. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/en_HU/LC_MESSAGES/messages.po +0 -0
  263. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/es/LC_MESSAGES/messages.mo +0 -0
  264. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/es/LC_MESSAGES/messages.po +0 -0
  265. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/es_CU/LC_MESSAGES/messages.mo +0 -0
  266. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/es_CU/LC_MESSAGES/messages.po +0 -0
  267. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/es_MX/LC_MESSAGES/messages.mo +0 -0
  268. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/es_MX/LC_MESSAGES/messages.po +0 -0
  269. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/et/LC_MESSAGES/messages.mo +0 -0
  270. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/et/LC_MESSAGES/messages.po +0 -0
  271. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/et_EE/LC_MESSAGES/messages.mo +0 -0
  272. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/et_EE/LC_MESSAGES/messages.po +0 -0
  273. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/fa/LC_MESSAGES/messages.mo +0 -0
  274. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/fa/LC_MESSAGES/messages.po +0 -0
  275. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/fa_IR/LC_MESSAGES/messages.mo +0 -0
  276. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/fa_IR/LC_MESSAGES/messages.po +0 -0
  277. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/fr/LC_MESSAGES/messages.mo +0 -0
  278. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/fr/LC_MESSAGES/messages.po +0 -0
  279. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/fr_CI/LC_MESSAGES/messages.mo +0 -0
  280. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/fr_CI/LC_MESSAGES/messages.po +0 -0
  281. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/fr_FR/LC_MESSAGES/messages.mo +0 -0
  282. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/fr_FR/LC_MESSAGES/messages.po +0 -0
  283. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/gl/LC_MESSAGES/messages.mo +0 -0
  284. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/gl/LC_MESSAGES/messages.po +0 -0
  285. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/hi_IN/LC_MESSAGES/messages.mo +0 -0
  286. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/hi_IN/LC_MESSAGES/messages.po +0 -0
  287. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/hr/LC_MESSAGES/messages.mo +0 -0
  288. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/hr/LC_MESSAGES/messages.po +0 -0
  289. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/hu/LC_MESSAGES/messages.mo +0 -0
  290. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/hu/LC_MESSAGES/messages.po +0 -0
  291. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/hu_HU/LC_MESSAGES/messages.mo +0 -0
  292. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/hu_HU/LC_MESSAGES/messages.po +0 -0
  293. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/it/LC_MESSAGES/messages.mo +0 -0
  294. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/it/LC_MESSAGES/messages.po +0 -0
  295. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/ja/LC_MESSAGES/messages.mo +0 -0
  296. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/ja/LC_MESSAGES/messages.po +0 -0
  297. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/ka/LC_MESSAGES/messages.mo +0 -0
  298. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/ka/LC_MESSAGES/messages.po +0 -0
  299. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/lt/LC_MESSAGES/messages.mo +0 -0
  300. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/lt/LC_MESSAGES/messages.po +0 -0
  301. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/messages.pot +0 -0
  302. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/ne/LC_MESSAGES/messages.mo +0 -0
  303. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/ne/LC_MESSAGES/messages.po +0 -0
  304. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/no/LC_MESSAGES/messages.mo +0 -0
  305. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/no/LC_MESSAGES/messages.po +0 -0
  306. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/pl/LC_MESSAGES/messages.mo +0 -0
  307. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/pl/LC_MESSAGES/messages.po +0 -0
  308. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/pt/LC_MESSAGES/messages.mo +0 -0
  309. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/pt/LC_MESSAGES/messages.po +0 -0
  310. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/ro/LC_MESSAGES/messages.mo +0 -0
  311. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/ro/LC_MESSAGES/messages.po +0 -0
  312. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/ru/LC_MESSAGES/messages.mo +0 -0
  313. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/ru/LC_MESSAGES/messages.po +0 -0
  314. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/rw/LC_MESSAGES/messages.mo +0 -0
  315. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/rw/LC_MESSAGES/messages.po +0 -0
  316. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/sk/LC_MESSAGES/messages.mo +0 -0
  317. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/sk/LC_MESSAGES/messages.po +0 -0
  318. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/sv/LC_MESSAGES/messages.mo +0 -0
  319. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/sv/LC_MESSAGES/messages.po +0 -0
  320. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/sv_SE/LC_MESSAGES/messages.mo +0 -0
  321. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/sv_SE/LC_MESSAGES/messages.po +0 -0
  322. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/tr/LC_MESSAGES/messages.mo +0 -0
  323. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/tr/LC_MESSAGES/messages.po +0 -0
  324. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/uk/LC_MESSAGES/messages.mo +0 -0
  325. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/uk/LC_MESSAGES/messages.po +0 -0
  326. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/uk_UA/LC_MESSAGES/messages.mo +0 -0
  327. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/uk_UA/LC_MESSAGES/messages.po +0 -0
  328. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/zh_CN/LC_MESSAGES/messages.mo +0 -0
  329. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/zh_CN/LC_MESSAGES/messages.po +0 -0
  330. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/zh_TW/LC_MESSAGES/messages.mo +0 -0
  331. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/translations/zh_TW/LC_MESSAGES/messages.po +0 -0
  332. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/views.py +0 -0
  333. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies/webpack.py +0 -0
  334. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies.egg-info/dependency_links.txt +0 -0
  335. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies.egg-info/entry_points.txt +0 -0
  336. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies.egg-info/not-zip-safe +0 -0
  337. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/invenio_vocabularies.egg-info/top_level.txt +0 -0
  338. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/pyproject.toml +0 -0
  339. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/requirements-feature.txt +0 -0
  340. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/run-js-linter.sh +0 -0
  341. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/run-tests.sh +0 -0
  342. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/setup.py +0 -0
  343. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/conftest.py +0 -0
  344. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/contrib/affiliations/conftest.py +0 -0
  345. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/contrib/affiliations/test_affiliations_api.py +0 -0
  346. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/contrib/affiliations/test_affiliations_datastreams.py +0 -0
  347. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/contrib/affiliations/test_affiliations_jsonschema.py +0 -0
  348. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/contrib/affiliations/test_affiliations_resource.py +0 -0
  349. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/contrib/affiliations/test_affiliations_schema.py +0 -0
  350. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/contrib/affiliations/test_affiliations_service.py +0 -0
  351. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/contrib/awards/conftest.py +0 -0
  352. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/contrib/awards/test_awards_api.py +0 -0
  353. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/contrib/awards/test_awards_datastreams.py +0 -0
  354. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/contrib/awards/test_awards_jsonschema.py +0 -0
  355. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/contrib/awards/test_awards_resource.py +0 -0
  356. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/contrib/awards/test_awards_schema.py +0 -0
  357. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/contrib/awards/test_awards_service.py +0 -0
  358. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/contrib/funders/conftest.py +0 -0
  359. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/contrib/funders/test_funders_api.py +0 -0
  360. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/contrib/funders/test_funders_datastreams.py +0 -0
  361. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/contrib/funders/test_funders_jsonschema.py +0 -0
  362. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/contrib/funders/test_funders_resource.py +0 -0
  363. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/contrib/funders/test_funders_schema.py +0 -0
  364. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/contrib/funders/test_funders_service.py +0 -0
  365. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/contrib/names/conftest.py +0 -0
  366. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/contrib/names/test_names_api.py +0 -0
  367. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/contrib/names/test_names_jsonschema.py +0 -0
  368. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/contrib/names/test_names_resource.py +0 -0
  369. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/contrib/names/test_names_schema.py +0 -0
  370. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/contrib/names/test_names_service.py +0 -0
  371. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/contrib/subjects/conftest.py +0 -0
  372. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/contrib/subjects/test_subjects_api.py +0 -0
  373. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/contrib/subjects/test_subjects_facets.py +0 -0
  374. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/contrib/subjects/test_subjects_jsonschema.py +0 -0
  375. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/contrib/subjects/test_subjects_resource.py +0 -0
  376. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/contrib/subjects/test_subjects_schema.py +0 -0
  377. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/contrib/subjects/test_subjects_service.py +0 -0
  378. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/custom_fields/test_custom_fields.py +0 -0
  379. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/datastreams/test_fixtures.py +0 -0
  380. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/datastreams/test_transformers.py +0 -0
  381. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/datastreams/vocabularies.yaml +0 -0
  382. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/mock_module/__init__.py +0 -0
  383. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/mock_module/api.py +0 -0
  384. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/mock_module/jsonschemas/__init__.py +0 -0
  385. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/mock_module/jsonschemas/records/record-v1.0.0.json +0 -0
  386. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/mock_module/mappings/__init__.py +0 -0
  387. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/mock_module/mappings/v6/__init__.py +0 -0
  388. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/mock_module/mappings/v6/records/record-v1.0.0.json +0 -0
  389. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/mock_module/mappings/v7/__init__.py +0 -0
  390. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/mock_module/mappings/v7/records/record-v1.0.0.json +0 -0
  391. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/mock_module/models.py +0 -0
  392. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/records/conftest.py +0 -0
  393. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/records/test_api.py +0 -0
  394. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/records/test_jsonschema.py +0 -0
  395. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/records/test_relationship.py +0 -0
  396. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/resources/conftest.py +0 -0
  397. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/resources/test_resources_get.py +0 -0
  398. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/resources/test_resources_l10n.py +0 -0
  399. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/resources/test_resources_search.py +0 -0
  400. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/services/conftest.py +0 -0
  401. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/services/test_labels.py +0 -0
  402. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/services/test_permissions.py +0 -0
  403. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/services/test_schema.py +0 -0
  404. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/services/test_service.py +0 -0
  405. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/test_alembic.py +0 -0
  406. {invenio-vocabularies-4.1.1 → invenio-vocabularies-4.3.0}/tests/test_invenio_vocabularies.py +0 -0
@@ -0,0 +1,40 @@
1
+ # -*- coding: utf-8 -*-
2
+ #
3
+ # This file is part of Invenio.
4
+ # Copyright (C) 2020-2024 CERN.
5
+ # Copyright (C) 2022 Graz University of Technology.
6
+ #
7
+ # Invenio is free software; you can redistribute it and/or modify it
8
+ # under the terms of the MIT License; see LICENSE file for more details.
9
+
10
+ name: CI
11
+
12
+ on:
13
+ push:
14
+ branches:
15
+ - master
16
+ pull_request:
17
+ branches:
18
+ - master
19
+ - "maint-**"
20
+ schedule:
21
+ # * is a special character in YAML so you have to quote this string
22
+ - cron: "0 3 * * 6"
23
+ workflow_dispatch:
24
+ inputs:
25
+ reason:
26
+ description: "Reason"
27
+ required: false
28
+ default: "Manual trigger"
29
+
30
+ jobs:
31
+ Python:
32
+ uses: inveniosoftware/workflows/.github/workflows/tests-python.yml@master
33
+ with:
34
+ extras: "tests,oaipmh"
35
+
36
+ JS:
37
+ uses: inveniosoftware/workflows/.github/workflows/tests-js.yml@master
38
+ with:
39
+ js-working-directory: ./invenio_vocabularies/assets/semantic-ui/js/invenio_vocabularies
40
+ translations-working-directory: ./invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies
@@ -8,6 +8,20 @@
8
8
  Changes
9
9
  =======
10
10
 
11
+ Version v4.3.0 (released 2024-08-05)
12
+
13
+ - names: make names_exclude_regex configurable
14
+ - names: validate entry full names
15
+ - names: add orcid public data sync
16
+
17
+ Version v4.2.0 (released 2024-07-24)
18
+
19
+ - ror: check last update; use ld+json for metadata (#367)
20
+ - tasks: remove import funders task
21
+ - funders: add and export custom transformer
22
+ - affiliations: add and export custom transformer
23
+ - datastreams: implement asynchronous writer
24
+
11
25
  Version v4.1.1 (released 2024-07-15)
12
26
 
13
27
  - installation: use invenio-oaipmh-scythe from PyPI
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: invenio-vocabularies
3
- Version: 4.1.1
3
+ Version: 4.3.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,20 @@ Description: ..
50
50
  Changes
51
51
  =======
52
52
 
53
+ Version v4.3.0 (released 2024-08-05)
54
+
55
+ - names: make names_exclude_regex configurable
56
+ - names: validate entry full names
57
+ - names: add orcid public data sync
58
+
59
+ Version v4.2.0 (released 2024-07-24)
60
+
61
+ - ror: check last update; use ld+json for metadata (#367)
62
+ - tasks: remove import funders task
63
+ - funders: add and export custom transformer
64
+ - affiliations: add and export custom transformer
65
+ - datastreams: implement asynchronous writer
66
+
53
67
  Version v4.1.1 (released 2024-07-15)
54
68
 
55
69
  - installation: use invenio-oaipmh-scythe from PyPI
@@ -242,6 +256,7 @@ Keywords: invenio vocabulary management
242
256
  Platform: any
243
257
  Classifier: Development Status :: 5 - Production/Stable
244
258
  Requires-Python: >=3.7
259
+ Provides-Extra: s3fs
245
260
  Provides-Extra: oaipmh
246
261
  Provides-Extra: tests
247
262
  Provides-Extra: elasticsearch7
@@ -10,6 +10,6 @@
10
10
 
11
11
  from .ext import InvenioVocabularies
12
12
 
13
- __version__ = "4.1.1"
13
+ __version__ = "4.3.0"
14
14
 
15
15
  __all__ = ("__version__", "InvenioVocabularies")
@@ -8,6 +8,7 @@
8
8
  # details.
9
9
 
10
10
  """Vocabularies admin interface."""
11
+
11
12
  from invenio_administration.views.base import (
12
13
  AdminResourceEditView,
13
14
  AdminResourceListView,
@@ -1,6 +1,6 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  #
3
- # Copyright (C) 2020-2021 CERN.
3
+ # Copyright (C) 2020-2024 CERN.
4
4
  # Copyright (C) 2021 Graz University of Technology.
5
5
  #
6
6
  # Invenio-Vocabularies is free software; you can redistribute it and/or
@@ -9,7 +9,6 @@
9
9
 
10
10
  """Commands to create and manage vocabularies."""
11
11
 
12
-
13
12
  import click
14
13
  from flask.cli import with_appcontext
15
14
  from invenio_access.permissions import system_identity
@@ -101,7 +100,10 @@ def update(vocabulary, filepath=None, origin=None):
101
100
  config = vc.get_config(filepath, origin)
102
101
 
103
102
  for w_conf in config["writers"]:
104
- w_conf["args"]["update"] = True
103
+ if w_conf["type"] == "async":
104
+ w_conf["args"]["writer"]["args"]["update"] = True
105
+ else:
106
+ w_conf["args"]["update"] = True
105
107
 
106
108
  success, errored, filtered = _process_vocab(config)
107
109
 
@@ -140,18 +142,27 @@ def convert(vocabulary, filepath=None, origin=None, target=None, num_samples=Non
140
142
  type=click.STRING,
141
143
  help="Identifier of the vocabulary item to delete.",
142
144
  )
143
- @click.option("--all", is_flag=True, default=False, help="Not supported yet.")
145
+ @click.option("--all", is_flag=True, default=False)
144
146
  @with_appcontext
145
147
  def delete(vocabulary, identifier, all):
146
148
  """Delete all items or a specific one of the vocabulary."""
147
- if not id and not all:
149
+ if not identifier and not all:
148
150
  click.secho("An identifier or the --all flag must be present.", fg="red")
149
151
  exit(1)
152
+
150
153
  vc = get_vocabulary_config(vocabulary)
151
154
  service = vc.get_service()
152
155
  if identifier:
153
156
  try:
154
- if service.delete(identifier, system_identity):
157
+ if service.delete(system_identity, identifier):
155
158
  click.secho(f"{identifier} deleted from {vocabulary}.", fg="green")
156
159
  except (PIDDeletedError, PIDDoesNotExistError):
157
160
  click.secho(f"PID {identifier} not found.")
161
+ elif all:
162
+ items = service.scan(system_identity)
163
+ for item in items.hits:
164
+ try:
165
+ if service.delete(system_identity, item["id"]):
166
+ click.secho(f"{item['id']} deleted from {vocabulary}.", fg="green")
167
+ except (PIDDeletedError, PIDDoesNotExistError):
168
+ click.secho(f"PID {item['id']} not found.")
@@ -24,7 +24,7 @@ from .datastreams.readers import (
24
24
  ZipReader,
25
25
  )
26
26
  from .datastreams.transformers import XMLTransformer
27
- from .datastreams.writers import ServiceWriter, YamlWriter
27
+ from .datastreams.writers import AsyncWriter, ServiceWriter, YamlWriter
28
28
  from .resources import VocabulariesResourceConfig
29
29
  from .services.config import VocabulariesServiceConfig
30
30
 
@@ -134,6 +134,7 @@ VOCABULARIES_DATASTREAM_TRANSFORMERS = {
134
134
  VOCABULARIES_DATASTREAM_WRITERS = {
135
135
  "service": ServiceWriter,
136
136
  "yaml": YamlWriter,
137
+ "async": AsyncWriter,
137
138
  }
138
139
  """Data Streams writers."""
139
140
 
@@ -154,3 +155,16 @@ VOCABULARIES_TYPES_SEARCH = {
154
155
  "sort": ["name", "count"],
155
156
  }
156
157
  """Vocabulary type search configuration."""
158
+
159
+ VOCABULARIES_ORCID_ACCESS_KEY = "TODO"
160
+ """ORCID access key to access the s3 bucket."""
161
+ VOCABULARIES_ORCID_SECRET_KEY = "TODO"
162
+ """ORCID secret key to access the s3 bucket."""
163
+ VOCABULARIES_ORCID_SUMMARIES_BUCKET = "v3.0-summaries"
164
+ """ORCID summaries bucket name."""
165
+ VOCABULARIES_ORCID_SYNC_MAX_WORKERS = 32
166
+ """ORCID max number of simultaneous workers/connections."""
167
+ VOCABULARIES_ORCID_SYNC_SINCE = {
168
+ "days": 1,
169
+ }
170
+ """ORCID time shift to sync. Parameters accepted are the ones passed to 'datetime.timedelta'."""
@@ -1,6 +1,6 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  #
3
- # Copyright (C) 2021 CERN.
3
+ # Copyright (C) 2021-2024 CERN.
4
4
  #
5
5
  # Invenio-Vocabularies is free software; you can redistribute it and/or
6
6
  # modify it under the terms of the MIT License; see LICENSE file for more
@@ -8,7 +8,6 @@
8
8
 
9
9
  """Vocabulary affiliations."""
10
10
 
11
-
12
11
  from .affiliations import record_type
13
12
 
14
13
  Affiliation = record_type.record_cls
@@ -9,11 +9,11 @@
9
9
 
10
10
  """Affiliations datastreams, transformers, writers and readers."""
11
11
 
12
- from invenio_access.permissions import system_identity
12
+ from flask import current_app
13
13
  from invenio_i18n import lazy_gettext as _
14
14
 
15
15
  from ...datastreams.writers import ServiceWriter
16
- from .config import affiliation_schemes
16
+ from ..common.ror.datastreams import RORTransformer
17
17
 
18
18
 
19
19
  class AffiliationsServiceWriter(ServiceWriter):
@@ -29,9 +29,35 @@ class AffiliationsServiceWriter(ServiceWriter):
29
29
  return entry["id"]
30
30
 
31
31
 
32
+ class AffiliationsRORTransformer(RORTransformer):
33
+ """Affiliations ROR Transformer."""
34
+
35
+ def __init__(
36
+ self, *args, vocab_schemes=None, funder_fundref_doi_prefix=None, **kwargs
37
+ ):
38
+ """Constructor."""
39
+ if vocab_schemes is None:
40
+ vocab_schemes = current_app.config.get("VOCABULARIES_AFFILIATION_SCHEMES")
41
+ super().__init__(
42
+ *args,
43
+ vocab_schemes=vocab_schemes,
44
+ funder_fundref_doi_prefix=funder_fundref_doi_prefix,
45
+ **kwargs,
46
+ )
47
+
48
+
49
+ VOCABULARIES_DATASTREAM_READERS = {}
50
+ """Affiliations datastream readers."""
51
+
32
52
  VOCABULARIES_DATASTREAM_WRITERS = {
33
53
  "affiliations-service": AffiliationsServiceWriter,
34
54
  }
55
+ """Affiliations datastream writers."""
56
+
57
+ VOCABULARIES_DATASTREAM_TRANSFORMERS = {
58
+ "ror-affiliations": AffiliationsRORTransformer,
59
+ }
60
+ """Affiliations datastream transformers."""
35
61
 
36
62
 
37
63
  DATASTREAM_CONFIG = {
@@ -46,17 +72,16 @@ DATASTREAM_CONFIG = {
46
72
  ],
47
73
  "transformers": [
48
74
  {
49
- "type": "ror",
50
- "args": {
51
- "vocab_schemes": affiliation_schemes,
52
- },
75
+ "type": "ror-affiliations",
53
76
  },
54
77
  ],
55
78
  "writers": [
56
79
  {
57
- "type": "affiliations-service",
80
+ "type": "async",
58
81
  "args": {
59
- "identity": system_identity,
82
+ "writer": {
83
+ "type": "affiliations-service",
84
+ }
60
85
  },
61
86
  }
62
87
  ],
@@ -1,6 +1,6 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  #
3
- # Copyright (C) 2021 CERN.
3
+ # Copyright (C) 2021-2024 CERN.
4
4
  #
5
5
  # Invenio-Vocabularies is free software; you can redistribute it and/or
6
6
  # modify it under the terms of the MIT License; see LICENSE file for more
@@ -8,7 +8,6 @@
8
8
 
9
9
  """Vocabulary affiliations."""
10
10
 
11
-
12
11
  from .affiliations import record_type
13
12
 
14
13
  AffiliationsServiceConfig = record_type.service_config_cls
@@ -1,12 +1,13 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  #
3
- # Copyright (C) 2022 CERN.
3
+ # Copyright (C) 2022-2024 CERN.
4
4
  #
5
5
  # Invenio-Vocabularies is free software; you can redistribute it and/or
6
6
  # modify it under the terms of the MIT License; see LICENSE file for more
7
7
  # details.
8
8
 
9
9
  """Vocabulary awards."""
10
+
10
11
  from flask_resources import (
11
12
  BaseListSchema,
12
13
  JSONSerializer,
@@ -7,6 +7,7 @@
7
7
  # details.
8
8
 
9
9
  """Awards datastreams, transformers, writers and readers."""
10
+
10
11
  import io
11
12
 
12
13
  import requests
@@ -1,6 +1,6 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  #
3
- # Copyright (C) 2022 CERN.
3
+ # Copyright (C) 2022-2024 CERN.
4
4
  #
5
5
  # Invenio-Vocabularies is free software; you can redistribute it and/or
6
6
  # modify it under the terms of the MIT License; see LICENSE file for more
@@ -8,7 +8,6 @@
8
8
 
9
9
  """Vocabulary awards."""
10
10
 
11
-
12
11
  from .awards import record_type
13
12
 
14
13
  AwardsServiceConfig = record_type.service_config_cls
@@ -10,6 +10,7 @@
10
10
  """ROR-related Datastreams Readers/Writers/Transformers module."""
11
11
 
12
12
  import io
13
+ from datetime import datetime
13
14
 
14
15
  import requests
15
16
  from idutils import normalize_ror
@@ -22,6 +23,11 @@ from invenio_vocabularies.datastreams.transformers import BaseTransformer
22
23
  class RORHTTPReader(BaseReader):
23
24
  """ROR HTTP Reader returning an in-memory binary stream of the latest ROR data dump ZIP file."""
24
25
 
26
+ def __init__(self, origin=None, mode="r", since=None, *args, **kwargs):
27
+ """Constructor."""
28
+ self._since = since
29
+ super().__init__(origin, mode, *args, **kwargs)
30
+
25
31
  def _iter(self, fp, *args, **kwargs):
26
32
  raise NotImplementedError(
27
33
  "RORHTTPReader downloads one file and therefore does not iterate through items"
@@ -34,15 +40,41 @@ class RORHTTPReader(BaseReader):
34
40
  "RORHTTPReader does not support being chained after another reader"
35
41
  )
36
42
 
43
+ # Follow the DOI to get the link of the linkset
44
+ dataset_doi_link = "https://doi.org/10.5281/zenodo.6347574"
45
+ landing_page = requests.get(dataset_doi_link, allow_redirects=True)
46
+ landing_page.raise_for_status()
47
+
37
48
  # Call the signposting `linkset+json` endpoint for the Concept DOI (i.e. latest version) of the ROR data dump.
38
49
  # See: https://github.com/inveniosoftware/rfcs/blob/master/rfcs/rdm-0071-signposting.md#provide-an-applicationlinksetjson-endpoint
39
- headers = {"Accept": "application/linkset+json"}
40
- api_url = "https://zenodo.org/api/records/6347574"
41
- api_resp = requests.get(api_url, headers=headers)
42
- api_resp.raise_for_status()
50
+ if "linkset" not in landing_page.links:
51
+ raise ReaderError("Linkset not found in the ROR dataset record.")
52
+ linkset_response = requests.get(
53
+ landing_page.links["linkset"]["url"],
54
+ headers={"Accept": "application/linkset+json"},
55
+ )
56
+ linkset_response.raise_for_status()
57
+
58
+ if self._since:
59
+ for link in linkset_response.json()["linkset"]:
60
+ if "type" in link and link["type"] == "application/ld+json":
61
+ json_ld_reponse = requests.get(
62
+ link["anchor"], headers={"Accept": link["type"]}
63
+ )
64
+ json_ld_reponse.raise_for_status()
65
+
66
+ # TODO Update to use dateCreated once the field is added to InvenioRDM. (https://github.com/inveniosoftware/invenio-rdm-records/issues/1777)
67
+ last_dump_date = json_ld_reponse.json()["datePublished"]
68
+ if datetime.fromisoformat(last_dump_date) < datetime.fromisoformat(
69
+ self._since
70
+ ):
71
+ return
72
+ break
73
+ else:
74
+ raise ReaderError("Couldn't find json-ld in publisher's linkset.")
43
75
 
44
76
  # Extract the Landing page Link Set Object located as the first (index 0) item.
45
- landing_page_linkset = api_resp.json()["linkset"][0]
77
+ landing_page_linkset = linkset_response.json()["linkset"][0]
46
78
 
47
79
  # Extract the URL of the only ZIP file linked to the record.
48
80
  landing_page_zip_items = [
@@ -164,3 +196,5 @@ class RORTransformer(BaseTransformer):
164
196
  VOCABULARIES_DATASTREAM_TRANSFORMERS = {
165
197
  "ror": RORTransformer,
166
198
  }
199
+
200
+ VOCABULARIES_DATASTREAM_WRITERS = {}
@@ -9,12 +9,11 @@
9
9
 
10
10
  """Funders datastreams, transformers, writers and readers."""
11
11
 
12
- from idutils import normalize_ror
13
- from invenio_access.permissions import system_identity
12
+ from flask import current_app
14
13
  from invenio_i18n import lazy_gettext as _
15
14
 
16
15
  from ...datastreams.writers import ServiceWriter
17
- from .config import funder_fundref_doi_prefix, funder_schemes
16
+ from ..common.ror.datastreams import RORTransformer
18
17
 
19
18
 
20
19
  class FundersServiceWriter(ServiceWriter):
@@ -30,10 +29,40 @@ class FundersServiceWriter(ServiceWriter):
30
29
  return entry["id"]
31
30
 
32
31
 
32
+ class FundersRORTransformer(RORTransformer):
33
+ """Funders ROR Transformer."""
34
+
35
+ def __init__(
36
+ self, *args, vocab_schemes=None, funder_fundref_doi_prefix=None, **kwargs
37
+ ):
38
+ """Constructor."""
39
+ if vocab_schemes is None:
40
+ vocab_schemes = current_app.config.get("VOCABULARIES_FUNDER_SCHEMES")
41
+ if funder_fundref_doi_prefix is None:
42
+ funder_fundref_doi_prefix = current_app.config.get(
43
+ "VOCABULARIES_FUNDER_DOI_PREFIX"
44
+ )
45
+ super().__init__(
46
+ *args,
47
+ vocab_schemes=vocab_schemes,
48
+ funder_fundref_doi_prefix=funder_fundref_doi_prefix,
49
+ **kwargs,
50
+ )
51
+
52
+
53
+ VOCABULARIES_DATASTREAM_READERS = {}
54
+ """Funders datastreams writers."""
55
+
33
56
  VOCABULARIES_DATASTREAM_WRITERS = {
34
57
  "funders-service": FundersServiceWriter,
35
58
  }
36
- """Funders Data Streams transformers."""
59
+ """Funders datastreams writers."""
60
+
61
+
62
+ VOCABULARIES_DATASTREAM_TRANSFORMERS = {
63
+ "ror-funders": FundersRORTransformer,
64
+ }
65
+ """Funders datastreams transformers."""
37
66
 
38
67
 
39
68
  DATASTREAM_CONFIG = {
@@ -48,18 +77,16 @@ DATASTREAM_CONFIG = {
48
77
  ],
49
78
  "transformers": [
50
79
  {
51
- "type": "ror",
52
- "args": {
53
- "vocab_schemes": funder_schemes,
54
- "funder_fundref_doi_prefix": funder_fundref_doi_prefix,
55
- },
80
+ "type": "ror-funders",
56
81
  },
57
82
  ],
58
83
  "writers": [
59
84
  {
60
- "type": "funders-service",
85
+ "type": "async",
61
86
  "args": {
62
- "identity": system_identity,
87
+ "writer": {
88
+ "type": "funders-service",
89
+ }
63
90
  },
64
91
  }
65
92
  ],
@@ -1,12 +1,13 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  #
3
- # Copyright (C) 2022 CERN.
3
+ # Copyright (C) 2022-2024 CERN.
4
4
  #
5
5
  # Invenio-Vocabularies is free software; you can redistribute it and/or
6
6
  # modify it under the terms of the MIT License; see LICENSE file for more
7
7
  # details.
8
8
 
9
9
  """Vocabulary funders."""
10
+
10
11
  from flask_resources import (
11
12
  BaseListSchema,
12
13
  JSONSerializer,