invenio-vocabularies 3.0.0__py2.py3-none-any.whl → 3.2.0__py2.py3-none-any.whl

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 (28) hide show
  1. invenio_vocabularies/__init__.py +1 -1
  2. invenio_vocabularies/assets/semantic-ui/js/invenio_vocabularies/src/contrib/forms/Funding/CustomAwardForm.js +8 -3
  3. invenio_vocabularies/contrib/affiliations/mappings/os-v1/affiliations/affiliation-v1.0.0.json +1 -1
  4. invenio_vocabularies/contrib/affiliations/mappings/os-v2/affiliations/affiliation-v1.0.0.json +1 -1
  5. invenio_vocabularies/contrib/affiliations/mappings/v7/affiliations/affiliation-v1.0.0.json +1 -1
  6. invenio_vocabularies/contrib/awards/mappings/os-v1/awards/award-v1.0.0.json +1 -1
  7. invenio_vocabularies/contrib/awards/mappings/os-v2/awards/award-v1.0.0.json +1 -1
  8. invenio_vocabularies/contrib/awards/mappings/v7/awards/award-v1.0.0.json +1 -1
  9. invenio_vocabularies/contrib/funders/mappings/os-v1/funders/funder-v1.0.0.json +1 -1
  10. invenio_vocabularies/contrib/funders/mappings/os-v2/funders/funder-v1.0.0.json +1 -1
  11. invenio_vocabularies/contrib/funders/mappings/v7/funders/funder-v1.0.0.json +1 -1
  12. invenio_vocabularies/ext.py +39 -0
  13. invenio_vocabularies/records/mappings/os-v1/vocabularies/vocabulary-v1.0.0.json +3 -3
  14. invenio_vocabularies/records/mappings/os-v2/vocabularies/vocabulary-v1.0.0.json +3 -3
  15. invenio_vocabularies/records/mappings/v7/vocabularies/vocabulary-v1.0.0.json +3 -3
  16. invenio_vocabularies/records/systemfields/relations.py +2 -2
  17. invenio_vocabularies/services/custom_fields/__init__.py +6 -2
  18. invenio_vocabularies/services/custom_fields/subject.py +80 -0
  19. invenio_vocabularies/services/custom_fields/vocabulary.py +4 -2
  20. invenio_vocabularies/views.py +1 -24
  21. invenio_vocabularies/webpack.py +2 -2
  22. {invenio_vocabularies-3.0.0.dist-info → invenio_vocabularies-3.2.0.dist-info}/METADATA +18 -3
  23. {invenio_vocabularies-3.0.0.dist-info → invenio_vocabularies-3.2.0.dist-info}/RECORD +28 -27
  24. {invenio_vocabularies-3.0.0.dist-info → invenio_vocabularies-3.2.0.dist-info}/entry_points.txt +6 -0
  25. {invenio_vocabularies-3.0.0.dist-info → invenio_vocabularies-3.2.0.dist-info}/AUTHORS.rst +0 -0
  26. {invenio_vocabularies-3.0.0.dist-info → invenio_vocabularies-3.2.0.dist-info}/LICENSE +0 -0
  27. {invenio_vocabularies-3.0.0.dist-info → invenio_vocabularies-3.2.0.dist-info}/WHEEL +0 -0
  28. {invenio_vocabularies-3.0.0.dist-info → invenio_vocabularies-3.2.0.dist-info}/top_level.txt +0 -0
@@ -10,6 +10,6 @@
10
10
 
11
11
  from .ext import InvenioVocabularies
12
12
 
13
- __version__ = "3.0.0"
13
+ __version__ = "3.2.0"
14
14
 
15
15
  __all__ = ("__version__", "InvenioVocabularies")
@@ -16,13 +16,18 @@ function CustomAwardForm({ deserializeFunder, selectedFunding }) {
16
16
  function deserializeFunderToDropdown(funderItem) {
17
17
  let funderName = null;
18
18
  let funderPID = null;
19
+ let funderCountry = null;
19
20
 
20
21
  if (funderItem.name) {
21
22
  funderName = funderItem.name;
22
23
  }
23
24
 
24
- if (funderItem.pid) {
25
- funderPID = funderItem.pid;
25
+ if (funderItem.id) {
26
+ funderPID = funderItem.id;
27
+ }
28
+
29
+ if (funderItem.country) {
30
+ funderCountry = funderItem.country;
26
31
  }
27
32
 
28
33
  if (!funderName && !funderPID) {
@@ -30,7 +35,7 @@ function CustomAwardForm({ deserializeFunder, selectedFunding }) {
30
35
  }
31
36
 
32
37
  return {
33
- text: funderName || funderPID,
38
+ text: [funderName, funderCountry, funderPID].filter((val) => val).join(", "),
34
39
  value: funderItem.id,
35
40
  key: funderItem.id,
36
41
  ...(funderName && { name: funderName }),
@@ -84,7 +84,7 @@
84
84
  },
85
85
  "title": {
86
86
  "type": "object",
87
- "dynamic": true
87
+ "dynamic": "true"
88
88
  }
89
89
  }
90
90
  }
@@ -84,7 +84,7 @@
84
84
  },
85
85
  "title": {
86
86
  "type": "object",
87
- "dynamic": true
87
+ "dynamic": "true"
88
88
  }
89
89
  }
90
90
  }
@@ -84,7 +84,7 @@
84
84
  },
85
85
  "title": {
86
86
  "type": "object",
87
- "dynamic": true
87
+ "dynamic": "true"
88
88
  }
89
89
  }
90
90
  }
@@ -47,7 +47,7 @@
47
47
  },
48
48
  "title": {
49
49
  "type": "object",
50
- "dynamic": true
50
+ "dynamic": "true"
51
51
  },
52
52
  "number": {
53
53
  "type": "keyword"
@@ -47,7 +47,7 @@
47
47
  },
48
48
  "title": {
49
49
  "type": "object",
50
- "dynamic": true
50
+ "dynamic": "true"
51
51
  },
52
52
  "number": {
53
53
  "type": "keyword"
@@ -47,7 +47,7 @@
47
47
  },
48
48
  "title": {
49
49
  "type": "object",
50
- "dynamic": true
50
+ "dynamic": "true"
51
51
  },
52
52
  "number": {
53
53
  "type": "keyword"
@@ -62,7 +62,7 @@
62
62
  },
63
63
  "title": {
64
64
  "type": "object",
65
- "dynamic": true
65
+ "dynamic": "true"
66
66
  }
67
67
  }
68
68
  }
@@ -62,7 +62,7 @@
62
62
  },
63
63
  "title": {
64
64
  "type": "object",
65
- "dynamic": true
65
+ "dynamic": "true"
66
66
  }
67
67
  }
68
68
  }
@@ -62,7 +62,7 @@
62
62
  },
63
63
  "title": {
64
64
  "type": "object",
65
- "dynamic": true
65
+ "dynamic": "true"
66
66
  }
67
67
  }
68
68
  }
@@ -1,6 +1,7 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  #
3
3
  # Copyright (C) 2020-2022 CERN.
4
+ # Copyright (C) 2023 Graz University of Technology.
4
5
  #
5
6
  # Invenio-Vocabularies is free software; you can redistribute it and/or
6
7
  # modify it under the terms of the MIT License; see LICENSE file for more
@@ -123,3 +124,41 @@ class InvenioVocabularies(object):
123
124
  service=self.service,
124
125
  config=app.config["VOCABULARIES_RESOURCE_CONFIG"],
125
126
  )
127
+
128
+
129
+ def finalize_app(app):
130
+ """Finalize app.
131
+
132
+ NOTE: replace former @record_once decorator
133
+ """
134
+ init(app)
135
+
136
+
137
+ def api_finalize_app(app):
138
+ """Api Finalize app.
139
+
140
+ NOTE: replace former @record_once decorator
141
+ """
142
+ init(app)
143
+
144
+
145
+ def init(app):
146
+ """Init app."""
147
+ # Register services - cannot be done in extension because
148
+ # Invenio-Records-Resources might not have been initialized.
149
+ sregistry = app.extensions["invenio-records-resources"].registry
150
+ ext = app.extensions["invenio-vocabularies"]
151
+ sregistry.register(ext.affiliations_service, service_id="affiliations")
152
+ sregistry.register(ext.awards_service, service_id="awards")
153
+ sregistry.register(ext.funders_service, service_id="funders")
154
+ sregistry.register(ext.names_service, service_id="names")
155
+ sregistry.register(ext.subjects_service, service_id="subjects")
156
+ sregistry.register(ext.service, service_id="vocabularies")
157
+ # Register indexers
158
+ iregistry = app.extensions["invenio-indexer"].registry
159
+ iregistry.register(ext.affiliations_service.indexer, indexer_id="affiliations")
160
+ iregistry.register(ext.awards_service.indexer, indexer_id="awards")
161
+ iregistry.register(ext.funders_service.indexer, indexer_id="funders")
162
+ iregistry.register(ext.names_service.indexer, indexer_id="names")
163
+ iregistry.register(ext.subjects_service.indexer, indexer_id="subjects")
164
+ iregistry.register(ext.service.indexer, indexer_id="vocabularies")
@@ -81,7 +81,7 @@
81
81
  },
82
82
  "title": {
83
83
  "type": "object",
84
- "dynamic": true,
84
+ "dynamic": "true",
85
85
  "properties": {
86
86
  "en": {
87
87
  "type": "search_as_you_type",
@@ -91,7 +91,7 @@
91
91
  },
92
92
  "description": {
93
93
  "type": "object",
94
- "dynamic": true
94
+ "dynamic": "true"
95
95
  },
96
96
  "icon": {
97
97
  "type": "keyword",
@@ -102,7 +102,7 @@
102
102
  },
103
103
  "props": {
104
104
  "type": "object",
105
- "dynamic": true
105
+ "dynamic": "true"
106
106
  }
107
107
  }
108
108
  }
@@ -81,7 +81,7 @@
81
81
  },
82
82
  "title": {
83
83
  "type": "object",
84
- "dynamic": true,
84
+ "dynamic": "true",
85
85
  "properties": {
86
86
  "en": {
87
87
  "type": "search_as_you_type",
@@ -91,7 +91,7 @@
91
91
  },
92
92
  "description": {
93
93
  "type": "object",
94
- "dynamic": true
94
+ "dynamic": "true"
95
95
  },
96
96
  "icon": {
97
97
  "type": "keyword",
@@ -102,7 +102,7 @@
102
102
  },
103
103
  "props": {
104
104
  "type": "object",
105
- "dynamic": true
105
+ "dynamic": "true"
106
106
  }
107
107
  }
108
108
  }
@@ -81,7 +81,7 @@
81
81
  },
82
82
  "title": {
83
83
  "type": "object",
84
- "dynamic": true,
84
+ "dynamic": "true",
85
85
  "properties": {
86
86
  "en": {
87
87
  "type": "search_as_you_type",
@@ -91,7 +91,7 @@
91
91
  },
92
92
  "description": {
93
93
  "type": "object",
94
- "dynamic": true
94
+ "dynamic": "true"
95
95
  },
96
96
  "icon": {
97
97
  "type": "keyword",
@@ -102,7 +102,7 @@
102
102
  },
103
103
  "props": {
104
104
  "type": "object",
105
- "dynamic": true
105
+ "dynamic": "true"
106
106
  }
107
107
  }
108
108
  }
@@ -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-Records-Resources 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
@@ -38,7 +38,7 @@ class CustomFieldsRelation(RelationsField):
38
38
  relations[cf.name] = cf.relation_cls(
39
39
  f"custom_fields.{cf.name}",
40
40
  keys=cf.field_keys,
41
- pid_field=Vocabulary.pid.with_type_ctx(cf.vocabulary_id),
41
+ pid_field=cf.pid_field,
42
42
  cache_key=cf.vocabulary_id,
43
43
  )
44
44
 
@@ -1,12 +1,16 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  #
3
- # Copyright (C) 2022 CERN.
3
+ # Copyright (C) 2022-2024 CERN.
4
4
  #
5
5
  # Invenio-RDM-Records is free software; you can redistribute it and/or modify
6
6
  # it under the terms of the MIT License; see LICENSE file for more details.
7
7
 
8
8
  """Custom Fields for InvenioRDM."""
9
9
 
10
+ from .subject import SUBJECT_FIELDS, SUBJECT_FIELDS_UI
10
11
  from .vocabulary import VocabularyCF
11
12
 
12
- __all__ = "VocabularyCF"
13
+ __all__ = [
14
+ "VocabularyCF",
15
+ "SUBJECT_FIELDS_UI" "SUBJECT_FIELDS",
16
+ ]
@@ -0,0 +1,80 @@
1
+ # -*- coding: utf-8 -*-
2
+ #
3
+ # Copyright (C) 2024-2024 CERN.
4
+ #
5
+ # Invenio-RDM-Records is free software; you can redistribute it and/or modify
6
+ # it under the terms of the MIT License; see LICENSE file for more details.
7
+
8
+
9
+ """Custom fields."""
10
+ from invenio_i18n import lazy_gettext as _
11
+
12
+ from ...contrib.subjects.api import Subject
13
+ from ...contrib.subjects.schema import SubjectRelationSchema
14
+ from .vocabulary import VocabularyCF
15
+
16
+
17
+ class SubjectCF(VocabularyCF):
18
+ """Custom field for subjects."""
19
+
20
+ field_keys = ["id", "subject"]
21
+
22
+ def __init__(self, **kwargs):
23
+ """Constructor."""
24
+ super().__init__(
25
+ vocabulary_id="subjects",
26
+ schema=SubjectRelationSchema,
27
+ ui_schema=SubjectRelationSchema,
28
+ **kwargs
29
+ )
30
+ self.pid_field = Subject.pid
31
+
32
+ @property
33
+ def mapping(self):
34
+ """Return the mapping."""
35
+ _mapping = {
36
+ "type": "object",
37
+ "properties": {
38
+ "@v": {"type": "keyword"},
39
+ "id": {"type": "keyword"},
40
+ "subject": {"type": "keyword"},
41
+ },
42
+ }
43
+
44
+ return _mapping
45
+
46
+
47
+ SUBJECT_FIELDS_UI = [
48
+ {
49
+ "section": _("Subjects"),
50
+ "fields": [
51
+ dict(
52
+ field="subjects",
53
+ ui_widget="SubjectAutocompleteDropdown",
54
+ isGenericVocabulary=False,
55
+ props=dict(
56
+ label="Keywords and subjects",
57
+ icon="tag",
58
+ description="The subjects related to the community",
59
+ placeholder="Search for a subject by name e.g. Psychology ...",
60
+ autocompleteFrom="api/subjects",
61
+ noQueryMessage="Search for subjects...",
62
+ autocompleteFromAcceptHeader="application/vnd.inveniordm.v1+json",
63
+ required=False,
64
+ multiple=True,
65
+ clearable=True,
66
+ allowAdditions=False,
67
+ ),
68
+ )
69
+ ],
70
+ }
71
+ ]
72
+
73
+
74
+ SUBJECT_FIELDS = {
75
+ SubjectCF(
76
+ name="subjects",
77
+ multiple=True,
78
+ dump_options=False,
79
+ )
80
+ }
@@ -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-RDM-Records is free software; you can redistribute it and/or modify
6
6
  # it under the terms of the MIT License; see LICENSE file for more details.
@@ -12,6 +12,7 @@ from invenio_records_resources.services.custom_fields.base import BaseCF
12
12
  from marshmallow import fields
13
13
 
14
14
  from ...proxies import current_service
15
+ from ...records.api import Vocabulary
15
16
  from ...resources.serializer import VocabularyL10NItemSchema
16
17
  from ...services.schema import VocabularyRelationSchema
17
18
 
@@ -49,6 +50,7 @@ class VocabularyCF(BaseCF):
49
50
  self.sort_by = sort_by
50
51
  self.schema = schema
51
52
  self.ui_schema = ui_schema
53
+ self.pid_field = Vocabulary.pid.with_type_ctx(self.vocabulary_id)
52
54
 
53
55
  @property
54
56
  def mapping(self):
@@ -58,7 +60,7 @@ class VocabularyCF(BaseCF):
58
60
  "properties": {
59
61
  "@v": {"type": "keyword"},
60
62
  "id": {"type": "keyword"},
61
- "title": {"type": "object", "dynamic": True},
63
+ "title": {"type": "object", "dynamic": "true"},
62
64
  },
63
65
  }
64
66
 
@@ -1,6 +1,7 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  #
3
3
  # Copyright (C) 2020-2022 CERN.
4
+ # Copyright (C) 2023 Graz University of Technology.
4
5
  #
5
6
  # Invenio-Vocabularies is free software; you can redistribute it and/or
6
7
  # modify it under the terms of the MIT License; see LICENSE file for more
@@ -13,30 +14,6 @@ from flask import Blueprint
13
14
  blueprint = Blueprint("invenio_vocabularies_ext", __name__)
14
15
 
15
16
 
16
- @blueprint.record_once
17
- def init(state):
18
- """Init app."""
19
- app = state.app
20
- # Register services - cannot be done in extension because
21
- # Invenio-Records-Resources might not have been initialized.
22
- sregistry = app.extensions["invenio-records-resources"].registry
23
- ext = app.extensions["invenio-vocabularies"]
24
- sregistry.register(ext.affiliations_service, service_id="affiliations")
25
- sregistry.register(ext.awards_service, service_id="awards")
26
- sregistry.register(ext.funders_service, service_id="funders")
27
- sregistry.register(ext.names_service, service_id="names")
28
- sregistry.register(ext.subjects_service, service_id="subjects")
29
- sregistry.register(ext.service, service_id="vocabularies")
30
- # Register indexers
31
- iregistry = app.extensions["invenio-indexer"].registry
32
- iregistry.register(ext.affiliations_service.indexer, indexer_id="affiliations")
33
- iregistry.register(ext.awards_service.indexer, indexer_id="awards")
34
- iregistry.register(ext.funders_service.indexer, indexer_id="funders")
35
- iregistry.register(ext.names_service.indexer, indexer_id="names")
36
- iregistry.register(ext.subjects_service.indexer, indexer_id="subjects")
37
- iregistry.register(ext.service.indexer, indexer_id="vocabularies")
38
-
39
-
40
17
  def create_blueprint_from_app(app):
41
18
  """Create app blueprint."""
42
19
  return app.extensions["invenio-vocabularies"].resource.as_blueprint()
@@ -1,6 +1,6 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  #
3
- # Copyright (C) 2019-2022 CERN.
3
+ # Copyright (C) 2019-2024 CERN.
4
4
  # Copyright (C) 2019-2022 Northwestern University.
5
5
  # Copyright (C) 2022 TU Wien.
6
6
  # Copyright (C) 2022 Graz University of Technology.
@@ -34,7 +34,7 @@ theme = WebpackThemeBundle(
34
34
  "react-dnd-html5-backend": "^11.1.0",
35
35
  "react-dropzone": "^11.0.0",
36
36
  "react-i18next": "^11.11.0",
37
- "react-invenio-forms": "^2.0.0",
37
+ "react-invenio-forms": "^3.0.0",
38
38
  "react-searchkit": "^2.0.0",
39
39
  "yup": "^0.32.0",
40
40
  },
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: invenio-vocabularies
3
- Version: 3.0.0
3
+ Version: 3.2.0
4
4
  Summary: "Invenio module for managing vocabularies."
5
5
  Home-page: https://github.com/inveniosoftware/invenio-vocabularies
6
6
  Author: CERN
@@ -24,8 +24,8 @@ Requires-Dist: invenio-search[opensearch2] <3.0.0,>=2.1.0 ; extra == 'opensearch
24
24
  Provides-Extra: postgresql
25
25
  Provides-Extra: sqlite
26
26
  Provides-Extra: tests
27
- Requires-Dist: pytest-black >=0.3.0 ; extra == 'tests'
28
- Requires-Dist: invenio-app <2.0.0,>=1.3.3 ; extra == 'tests'
27
+ Requires-Dist: pytest-black-ng >=0.4.0 ; extra == 'tests'
28
+ Requires-Dist: invenio-app <2.0.0,>=1.4.0 ; extra == 'tests'
29
29
  Requires-Dist: invenio-db[mysql,postgresql] <2.0.0,>=1.0.14 ; extra == 'tests'
30
30
  Requires-Dist: pytest-invenio <3.0.0,>=2.1.0 ; extra == 'tests'
31
31
  Requires-Dist: Sphinx >=4.5 ; extra == 'tests'
@@ -74,6 +74,21 @@ https://invenio-vocabularies.readthedocs.io/
74
74
  Changes
75
75
  =======
76
76
 
77
+ Version 3.2.0 (released 2024-03-22)
78
+
79
+ - funding: add country and ror to funder search results
80
+ - init: move record_once to finalize_app (removes deprecation on `before_first_request`)
81
+ - installation: upgrade invenio-app
82
+
83
+
84
+ Version 3.1.0 (released 2024-03-05)
85
+
86
+ - custom_fields: added subject field
87
+ - custom_fields: add pid_field to custom fields
88
+ - mappings: change "dynamic" values to string
89
+ - ci: upgrade tests matrix
90
+ - bumps react-invenio-forms
91
+
77
92
  Version 3.0.0 (released 2024-01-30)
78
93
 
79
94
  - installation: bump invenio-records-resources
@@ -1,11 +1,11 @@
1
- invenio_vocabularies/__init__.py,sha256=lH2T1FtldUSAC2epp_K0fq7af3_YbrXoqzA2zge2i7w,377
1
+ invenio_vocabularies/__init__.py,sha256=T7_NfvtdyJ5WKhZsXZ5oAtejPyW8TBTuWr1mzkm3CHw,377
2
2
  invenio_vocabularies/cli.py,sha256=Ymuy0l846eJXIA4UybunSqq7P9m2N0OdTtj6nEgd1-0,6355
3
3
  invenio_vocabularies/config.py,sha256=mLypkeVrPKZPtokvHSF-_Q7YcV4sCVONiyhGhu-34hI,3772
4
- invenio_vocabularies/ext.py,sha256=wMJfv3GG4ZOp-c4ePVrNhxi9KyWAb874b9_D23K1orU,3805
4
+ invenio_vocabularies/ext.py,sha256=ukuvkhkLPBy2AITFLojLYTIUlP2qcbHNkt6ES8i1TwY,5310
5
5
  invenio_vocabularies/fixtures.py,sha256=nNWwH04HFASjfj1oy5kMdcQGKmVjzUuA5wSw-ER1QAg,1585
6
6
  invenio_vocabularies/proxies.py,sha256=H_bcJXPTwGbErx-pF89ChayOZcXJXJGZW7O0xkJkYQ4,693
7
- invenio_vocabularies/views.py,sha256=SKXfzdsHEfarpua6snB4D7nQLv9KczYexCHmEYMPKHM,2548
8
- invenio_vocabularies/webpack.py,sha256=7A1DkwwTw0NRn-aZNvh_rBEx5o_Eyx6NiMXw31y2BnQ,1891
7
+ invenio_vocabularies/views.py,sha256=fo71zH5c-YkkNq0mBXqVdXQ52xieku1gVQEyp3ww-dM,1344
8
+ invenio_vocabularies/webpack.py,sha256=aLRm0ut3rXPb8D87pVA9mO_ODq7WOSZdsJQyU4iMLoI,1891
9
9
  invenio_vocabularies/alembic/17c703ce1eb7_create_names_table.py,sha256=2QGs0Ofi6yd93VzIBqghNi47hrZtuLf0DylKyvVzskI,1572
10
10
  invenio_vocabularies/alembic/4a9a4fd235f8_create_vocabulary_schemes.py,sha256=Ywtp8qOFcI3PxUXemHdvy_VwdcUVtMFV1sFgNAmYrms,1054
11
11
  invenio_vocabularies/alembic/4f365fced43f_create_vocabularies_tables.py,sha256=jSrr0CLRchYADjkFeod0L-oophq2woXtRwbUU5Vytiw,3039
@@ -23,7 +23,7 @@ invenio_vocabularies/assets/semantic-ui/js/invenio_vocabularies/src/index.js,sha
23
23
  invenio_vocabularies/assets/semantic-ui/js/invenio_vocabularies/src/contrib/index.js,sha256=iSx-bdQkKj6XA9NAam31bdcQmFygljQnjLcFjjK3lwU,245
24
24
  invenio_vocabularies/assets/semantic-ui/js/invenio_vocabularies/src/contrib/forms/index.js,sha256=7sSg482yJODQHU4jkP-hWJjpBOw7ubFr5nPZl5D_1gQ,262
25
25
  invenio_vocabularies/assets/semantic-ui/js/invenio_vocabularies/src/contrib/forms/Funding/AwardResults.js,sha256=AgqJg9GEcJvKZR4plZsH0j7cm9C3yjT9YCPI6uvmOyc,3499
26
- invenio_vocabularies/assets/semantic-ui/js/invenio_vocabularies/src/contrib/forms/Funding/CustomAwardForm.js,sha256=PRlPCk6oh7Cxb4QlEmyekv5efWihCi5uqVeL_Cdl91Y,3644
26
+ invenio_vocabularies/assets/semantic-ui/js/invenio_vocabularies/src/contrib/forms/Funding/CustomAwardForm.js,sha256=Hht40rz6JgeKvjbEemLM4QBD2N3HWcmSRarZVywGiwc,3798
27
27
  invenio_vocabularies/assets/semantic-ui/js/invenio_vocabularies/src/contrib/forms/Funding/FunderDropdown.js,sha256=pPMB9Hirc8z3efquecrO_CKlfXE1ws6OqDB7fB30l5k,2431
28
28
  invenio_vocabularies/assets/semantic-ui/js/invenio_vocabularies/src/contrib/forms/Funding/FundingField.js,sha256=r8t_6xIM49UdjV38ltuzM5KMJIJ_oOgHc1__KsyvjGE,6555
29
29
  invenio_vocabularies/assets/semantic-ui/js/invenio_vocabularies/src/contrib/forms/Funding/FundingField.test.js,sha256=z_4lWkf3h9Uin8OzSBSKY1wpUxtbnjE2kRUjW80jAhA,35
@@ -51,11 +51,11 @@ invenio_vocabularies/contrib/affiliations/jsonschemas/__init__.py,sha256=ILyZ5ke
51
51
  invenio_vocabularies/contrib/affiliations/jsonschemas/affiliations/affiliation-v1.0.0.json,sha256=dNzPBRoEGD_xPznFzPW_mDGR0sk8zsmixiGmciHXEgQ,677
52
52
  invenio_vocabularies/contrib/affiliations/mappings/__init__.py,sha256=q7hb9lcT9KLRSGr6G7qpL8Top6wZfzj_E4uzGxnraTw,295
53
53
  invenio_vocabularies/contrib/affiliations/mappings/os-v1/__init__.py,sha256=uEiG5rFrjhpFxg5pD5j5E96_xrPojsla9PhtlOqSCw4,256
54
- invenio_vocabularies/contrib/affiliations/mappings/os-v1/affiliations/affiliation-v1.0.0.json,sha256=oHJiDYnfsJhb4HCbUeDm7FNfiisX_HBeyg5x-DLk83s,1723
54
+ invenio_vocabularies/contrib/affiliations/mappings/os-v1/affiliations/affiliation-v1.0.0.json,sha256=nZfC3UVkS2OWndElvx85eoxz_u0c47GFzoPcrNHXzNY,1725
55
55
  invenio_vocabularies/contrib/affiliations/mappings/os-v2/__init__.py,sha256=qgNQbJjbfA2hSpFJtXrsUQBZdKwg-5Y1isoXzj31InE,256
56
- invenio_vocabularies/contrib/affiliations/mappings/os-v2/affiliations/affiliation-v1.0.0.json,sha256=oHJiDYnfsJhb4HCbUeDm7FNfiisX_HBeyg5x-DLk83s,1723
56
+ invenio_vocabularies/contrib/affiliations/mappings/os-v2/affiliations/affiliation-v1.0.0.json,sha256=nZfC3UVkS2OWndElvx85eoxz_u0c47GFzoPcrNHXzNY,1725
57
57
  invenio_vocabularies/contrib/affiliations/mappings/v7/__init__.py,sha256=zr9YyyKyqMAnahKbnIFGr_Z7PXy9ONoU08i9z5cRguQ,259
58
- invenio_vocabularies/contrib/affiliations/mappings/v7/affiliations/affiliation-v1.0.0.json,sha256=oHJiDYnfsJhb4HCbUeDm7FNfiisX_HBeyg5x-DLk83s,1723
58
+ invenio_vocabularies/contrib/affiliations/mappings/v7/affiliations/affiliation-v1.0.0.json,sha256=nZfC3UVkS2OWndElvx85eoxz_u0c47GFzoPcrNHXzNY,1725
59
59
  invenio_vocabularies/contrib/awards/__init__.py,sha256=KwCmwFalz-3pDs9iTa5TKUidBjLepnUMqpCBXRiQOO8,474
60
60
  invenio_vocabularies/contrib/awards/api.py,sha256=OXukE7PLXs45BTtqVrhvGBNqLmQaI-CgXmHTCi36LZk,303
61
61
  invenio_vocabularies/contrib/awards/awards.py,sha256=N-BNE2ffUu-IlfKFBjMjfYqxL0vmpO8YMPe4q4e-rTo,2695
@@ -70,11 +70,11 @@ invenio_vocabularies/contrib/awards/jsonschemas/__init__.py,sha256=XB2l9hr53vqTk
70
70
  invenio_vocabularies/contrib/awards/jsonschemas/awards/award-v1.0.0.json,sha256=kNw4djIuqo7Ing9O5w4k3n_HIejX4f5hpApnmJpDt7A,1029
71
71
  invenio_vocabularies/contrib/awards/mappings/__init__.py,sha256=PbM5urjiSrJSx4Ak-H_lJrOOVKGT38MrGgRv61gIbAM,243
72
72
  invenio_vocabularies/contrib/awards/mappings/os-v1/__init__.py,sha256=r8IZvjorG9SVz32Hv1fncoqLfz-5Ml0Ph3jiYWCHBPk,250
73
- invenio_vocabularies/contrib/awards/mappings/os-v1/awards/award-v1.0.0.json,sha256=JoIRAsprEY8yI1AyzjwAhVG-cYqXfLBNOjjM854GGsE,1475
73
+ invenio_vocabularies/contrib/awards/mappings/os-v1/awards/award-v1.0.0.json,sha256=KBAVvfuZDe_K8YISgbKCcpCZVVh-vkQIbt00OP1MPZA,1477
74
74
  invenio_vocabularies/contrib/awards/mappings/os-v2/__init__.py,sha256=9gRLFRtjhNJcbop3qz8iRpQVEng_wudDTbOFsS-gxjk,250
75
- invenio_vocabularies/contrib/awards/mappings/os-v2/awards/award-v1.0.0.json,sha256=JoIRAsprEY8yI1AyzjwAhVG-cYqXfLBNOjjM854GGsE,1475
75
+ invenio_vocabularies/contrib/awards/mappings/os-v2/awards/award-v1.0.0.json,sha256=KBAVvfuZDe_K8YISgbKCcpCZVVh-vkQIbt00OP1MPZA,1477
76
76
  invenio_vocabularies/contrib/awards/mappings/v7/__init__.py,sha256=fERdPp7K7ajaoUu_4_HVLfF-WD_qcl7QgST6yGb68s4,253
77
- invenio_vocabularies/contrib/awards/mappings/v7/awards/award-v1.0.0.json,sha256=JoIRAsprEY8yI1AyzjwAhVG-cYqXfLBNOjjM854GGsE,1475
77
+ invenio_vocabularies/contrib/awards/mappings/v7/awards/award-v1.0.0.json,sha256=KBAVvfuZDe_K8YISgbKCcpCZVVh-vkQIbt00OP1MPZA,1477
78
78
  invenio_vocabularies/contrib/funders/__init__.py,sha256=YxFXBDnT7NM8rFwxT_Ge3xXR2n17EM0alknQq7r_Bt8,478
79
79
  invenio_vocabularies/contrib/funders/api.py,sha256=QKGGeSnPHSoBfucvpaVruXT_txYidofZ080G3IxFkIo,306
80
80
  invenio_vocabularies/contrib/funders/config.py,sha256=-GncyorRv86fbM1WXi-w7X9QW7GqJz_uqs75Icx5Y3w,1704
@@ -90,11 +90,11 @@ invenio_vocabularies/contrib/funders/jsonschemas/__init__.py,sha256=O4XwUXCk-gx_
90
90
  invenio_vocabularies/contrib/funders/jsonschemas/funders/funder-v1.0.0.json,sha256=V_E72iXF__W4SzxlHw8u3wQC9feZJWIalDRO95fTICw,783
91
91
  invenio_vocabularies/contrib/funders/mappings/__init__.py,sha256=aSr-tZd9rsjet6leeS336gdSdZHXwZKdaPStNtVNQVk,244
92
92
  invenio_vocabularies/contrib/funders/mappings/os-v1/__init__.py,sha256=xXEX3tacmXp0I1KFtDw7ohIahozd2oIGp1UN40IhFic,251
93
- invenio_vocabularies/contrib/funders/mappings/os-v1/funders/funder-v1.0.0.json,sha256=X641W9NZF5k-L-puKJUjd-8-3QAAEI5E0Wtg2KVqcjY,1273
93
+ invenio_vocabularies/contrib/funders/mappings/os-v1/funders/funder-v1.0.0.json,sha256=hxiPQnaZfb6V2v1GrrWiZAeBQRvlrAJ6-P-79wrJDho,1275
94
94
  invenio_vocabularies/contrib/funders/mappings/os-v2/__init__.py,sha256=YvMRlKYTnEmyTzI9smZp_lO3w-zcK-8IpqT-jGUXEEY,251
95
- invenio_vocabularies/contrib/funders/mappings/os-v2/funders/funder-v1.0.0.json,sha256=X641W9NZF5k-L-puKJUjd-8-3QAAEI5E0Wtg2KVqcjY,1273
95
+ invenio_vocabularies/contrib/funders/mappings/os-v2/funders/funder-v1.0.0.json,sha256=hxiPQnaZfb6V2v1GrrWiZAeBQRvlrAJ6-P-79wrJDho,1275
96
96
  invenio_vocabularies/contrib/funders/mappings/v7/__init__.py,sha256=yFHmi3QYD65YKzLU5vMEtwAZn0gwkFYa6Db_tSbHjKE,254
97
- invenio_vocabularies/contrib/funders/mappings/v7/funders/funder-v1.0.0.json,sha256=X641W9NZF5k-L-puKJUjd-8-3QAAEI5E0Wtg2KVqcjY,1273
97
+ invenio_vocabularies/contrib/funders/mappings/v7/funders/funder-v1.0.0.json,sha256=hxiPQnaZfb6V2v1GrrWiZAeBQRvlrAJ6-P-79wrJDho,1275
98
98
  invenio_vocabularies/contrib/names/__init__.py,sha256=DBfsM7JMETZGaV5QmXEwE7zhCaAXvc2SZN6uXnW_V-c,451
99
99
  invenio_vocabularies/contrib/names/api.py,sha256=sEPn_jFX3gyoxgbdEUSIvOoPCUI8pocI6qCZO6mzCgQ,300
100
100
  invenio_vocabularies/contrib/names/config.py,sha256=hKDTEEBYGYOY6sMOArZjjkq2HJ6MJtRZp1geGLAFgRg,1735
@@ -148,14 +148,14 @@ invenio_vocabularies/records/jsonschemas/vocabularies/definitions-v1.0.0.json,sh
148
148
  invenio_vocabularies/records/jsonschemas/vocabularies/vocabulary-v1.0.0.json,sha256=IaWHDhQqZ0kFeA4EMmJwa16aJP7m62CywYkfrFCf4PA,1295
149
149
  invenio_vocabularies/records/mappings/__init__.py,sha256=kER6e5hZFmPpesFAx-oQsMseep8RXobQRiLIE2r5IMc,244
150
150
  invenio_vocabularies/records/mappings/os-v1/__init__.py,sha256=XaGt61tsIKfG59y59Bf0NaPzJECWZnzHSTbAQNUwlVo,248
151
- invenio_vocabularies/records/mappings/os-v1/vocabularies/vocabulary-v1.0.0.json,sha256=pE_3XDQHfZPKU6LJWLLKlBtv56VG49gsuxG7cTGBBCQ,2121
151
+ invenio_vocabularies/records/mappings/os-v1/vocabularies/vocabulary-v1.0.0.json,sha256=1Py4-BpcK8UMBt06p3zVPLqID8XeDsF2CUmwuKUx0Ug,2127
152
152
  invenio_vocabularies/records/mappings/os-v2/__init__.py,sha256=5dVZCOKIEzr7qtuX__RbFPggcA5yKu5JBkUtXotbjYY,243
153
- invenio_vocabularies/records/mappings/os-v2/vocabularies/vocabulary-v1.0.0.json,sha256=pE_3XDQHfZPKU6LJWLLKlBtv56VG49gsuxG7cTGBBCQ,2121
153
+ invenio_vocabularies/records/mappings/os-v2/vocabularies/vocabulary-v1.0.0.json,sha256=1Py4-BpcK8UMBt06p3zVPLqID8XeDsF2CUmwuKUx0Ug,2127
154
154
  invenio_vocabularies/records/mappings/v7/__init__.py,sha256=QK__a1749g2UN3fBqOr9jx8ccZHWAuvd6DSN4B1jJW4,258
155
- invenio_vocabularies/records/mappings/v7/vocabularies/vocabulary-v1.0.0.json,sha256=pE_3XDQHfZPKU6LJWLLKlBtv56VG49gsuxG7cTGBBCQ,2121
155
+ invenio_vocabularies/records/mappings/v7/vocabularies/vocabulary-v1.0.0.json,sha256=1Py4-BpcK8UMBt06p3zVPLqID8XeDsF2CUmwuKUx0Ug,2127
156
156
  invenio_vocabularies/records/systemfields/__init__.py,sha256=MRLoLF3h8VYuqJ9tbbgXjXkTDUniz24pVnujLX-psZI,406
157
157
  invenio_vocabularies/records/systemfields/pid.py,sha256=5e2zZD0uHP5r32--KmuzjfHk3B5GXEV3yBuoKeit9mQ,3740
158
- invenio_vocabularies/records/systemfields/relations.py,sha256=fObQUlla8aqRTXAEjIMAndMA9rrIy3c6bVWVQgkMcmk,1557
158
+ invenio_vocabularies/records/systemfields/relations.py,sha256=UbaiuxvAZorxNN4t63Y5ePc5OUJ_cYGAxLsFcET3E-g,1528
159
159
  invenio_vocabularies/resources/__init__.py,sha256=XZvY92BJx8VyBsDYYGAdU0ILO9QApmiTY1ZH-hr3BSg,384
160
160
  invenio_vocabularies/resources/resource.py,sha256=CyMCC4QMar8dQR9xP2Fk160blj5KzAwM8nvqzDMXyy8,4525
161
161
  invenio_vocabularies/resources/schema.py,sha256=B_Y7uOSfVlogUmiDZfRpa3EWx1VJmbrzTtLachv8yEw,541
@@ -168,8 +168,9 @@ invenio_vocabularies/services/querystr.py,sha256=X3JHVF9B0O0iLWrnW3ok_bf_8jA-Cs_
168
168
  invenio_vocabularies/services/schema.py,sha256=ShnnH_ILHZGxE546J6Jsdwdeix6jLubSRomzf472DK8,4307
169
169
  invenio_vocabularies/services/service.py,sha256=W3wtKOttQjOr8Nkaus6m3KRuCMBqBsWUCAVv7Dj8bvM,7392
170
170
  invenio_vocabularies/services/tasks.py,sha256=zTAWdnI5celWBKrF986wQzCmkOTGOwTghtN7U5FMZ5Q,783
171
- invenio_vocabularies/services/custom_fields/__init__.py,sha256=1emONO3aiE7TanAoyUSkWE6gwZiBwjzzJ5y8jeomOLc,310
172
- invenio_vocabularies/services/custom_fields/vocabulary.py,sha256=KS7da-GXWuCvlLaZ5ICLJWI9rL24kBG564vAJkmOx4I,2900
171
+ invenio_vocabularies/services/custom_fields/__init__.py,sha256=QgvSsn-S1xLzbZ57pjjGTt5oI3HqzXHVjwGTtuPgzN8,421
172
+ invenio_vocabularies/services/custom_fields/subject.py,sha256=BQxvfZLqGpv3uSHCfzaCBjceZnynHeXNS4lDcYi8S-k,2171
173
+ invenio_vocabularies/services/custom_fields/vocabulary.py,sha256=eCvqrNloMMCCvqR49IQwzk2p4xapx5_bmQhd6ByJZFM,3019
173
174
  invenio_vocabularies/translations/messages.pot,sha256=IzTTWdWknzmKKtl1UNUxPOwHjfBB_iidm_eeEY2kV-M,3907
174
175
  invenio_vocabularies/translations/af/LC_MESSAGES/messages.mo,sha256=HokSco2JpukLl_j07yQ2wjKmUf8_Zzru6KQtYdyLtEo,523
175
176
  invenio_vocabularies/translations/af/LC_MESSAGES/messages.po,sha256=XXoiqCtGELaxl6hxRj31D3DCdgBUrz0oD3MYJUpcklM,3976
@@ -265,10 +266,10 @@ invenio_vocabularies/translations/zh_CN/LC_MESSAGES/messages.mo,sha256=g1I5aNO8r
265
266
  invenio_vocabularies/translations/zh_CN/LC_MESSAGES/messages.po,sha256=vg8qC8ofpAdJ3mQz7mWM1ylKDpiNWXFs7rlMdSPkgKk,4629
266
267
  invenio_vocabularies/translations/zh_TW/LC_MESSAGES/messages.mo,sha256=cqSm8NtMAwrP9O6qbmtkDtRT1e9D93qpsJN5X9_PPVw,600
267
268
  invenio_vocabularies/translations/zh_TW/LC_MESSAGES/messages.po,sha256=9ACePz_EpB-LfcIJajZ2kp8Q04tcdrQLOtug162ZUss,4115
268
- invenio_vocabularies-3.0.0.dist-info/AUTHORS.rst,sha256=8d0p_WWE1r9DavvzMDi2D4YIGBHiMYcN3LYxqQOj8sY,291
269
- invenio_vocabularies-3.0.0.dist-info/LICENSE,sha256=UvI8pR8jGWqe0sTkb_hRG6eIrozzWwWzyCGEpuXX4KE,1062
270
- invenio_vocabularies-3.0.0.dist-info/METADATA,sha256=Odw3WEiV1rijKIP81IbCj8POkNcVwfab5NVn5kiOU7U,5924
271
- invenio_vocabularies-3.0.0.dist-info/WHEEL,sha256=-G_t0oGuE7UD0DrSpVZnq1hHMBV9DD2XkS5v7XpmTnk,110
272
- invenio_vocabularies-3.0.0.dist-info/entry_points.txt,sha256=cBazxlQQIn53RNdPI8edCL5v1k-6fE7UU4O0QssUoBE,2309
273
- invenio_vocabularies-3.0.0.dist-info/top_level.txt,sha256=x1gRNbaODF_bCD0SBLM3nVOFPGi06cmGX5X94WKrFKk,21
274
- invenio_vocabularies-3.0.0.dist-info/RECORD,,
269
+ invenio_vocabularies-3.2.0.dist-info/AUTHORS.rst,sha256=8d0p_WWE1r9DavvzMDi2D4YIGBHiMYcN3LYxqQOj8sY,291
270
+ invenio_vocabularies-3.2.0.dist-info/LICENSE,sha256=UvI8pR8jGWqe0sTkb_hRG6eIrozzWwWzyCGEpuXX4KE,1062
271
+ invenio_vocabularies-3.2.0.dist-info/METADATA,sha256=P_Hv7pjmodRu8F38__8YDHbgLwqHrHhGsW0a2a_qc0M,6371
272
+ invenio_vocabularies-3.2.0.dist-info/WHEEL,sha256=-G_t0oGuE7UD0DrSpVZnq1hHMBV9DD2XkS5v7XpmTnk,110
273
+ invenio_vocabularies-3.2.0.dist-info/entry_points.txt,sha256=Cca3c5XGXkQItZ2-1oeN5xffwM8I1J3XjSvdq9-l_Bw,2497
274
+ invenio_vocabularies-3.2.0.dist-info/top_level.txt,sha256=x1gRNbaODF_bCD0SBLM3nVOFPGi06cmGX5X94WKrFKk,21
275
+ invenio_vocabularies-3.2.0.dist-info/RECORD,,
@@ -16,12 +16,18 @@ invenio_vocabularies_funders = invenio_vocabularies.views:create_funders_bluepri
16
16
  invenio_vocabularies_names = invenio_vocabularies.views:create_names_blueprint_from_app
17
17
  invenio_vocabularies_subjects = invenio_vocabularies.views:create_subjects_blueprint_from_app
18
18
 
19
+ [invenio_base.api_finalize_app]
20
+ invenio_vocabularies = invenio_vocabularies.ext:api_finalize_app
21
+
19
22
  [invenio_base.apps]
20
23
  invenio_vocabularies = invenio_vocabularies:InvenioVocabularies
21
24
 
22
25
  [invenio_base.blueprints]
23
26
  invenio_vocabularies_ext = invenio_vocabularies.views:blueprint
24
27
 
28
+ [invenio_base.finalize_app]
29
+ invenio_vocabularies = invenio_vocabularies.ext:finalize_app
30
+
25
31
  [invenio_db.alembic]
26
32
  invenio_vocabularies = invenio_vocabularies:alembic
27
33