oarepo-runtime 1.5.36__tar.gz → 1.5.38__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (131) hide show
  1. {oarepo_runtime-1.5.36/oarepo_runtime.egg-info → oarepo_runtime-1.5.38}/PKG-INFO +1 -1
  2. oarepo_runtime-1.5.38/oarepo_runtime/services/files/components.py +55 -0
  3. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/services/search.py +24 -3
  4. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38/oarepo_runtime.egg-info}/PKG-INFO +1 -1
  5. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime.egg-info/SOURCES.txt +1 -0
  6. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/setup.cfg +1 -1
  7. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/LICENSE +0 -0
  8. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/MANIFEST.in +0 -0
  9. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/README.md +0 -0
  10. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/__init__.py +0 -0
  11. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/cli/__init__.py +0 -0
  12. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/cli/assets.py +0 -0
  13. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/cli/base.py +0 -0
  14. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/cli/cf.py +0 -0
  15. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/cli/check.py +0 -0
  16. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/cli/configuration.py +0 -0
  17. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/cli/fixtures.py +0 -0
  18. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/cli/index.py +0 -0
  19. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/cli/validate.py +0 -0
  20. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/datastreams/__init__.py +0 -0
  21. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/datastreams/asynchronous.py +0 -0
  22. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/datastreams/catalogue.py +0 -0
  23. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/datastreams/datastreams.py +0 -0
  24. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/datastreams/errors.py +0 -0
  25. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/datastreams/ext.py +0 -0
  26. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/datastreams/fixtures.py +0 -0
  27. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/datastreams/json.py +0 -0
  28. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/datastreams/readers/__init__.py +0 -0
  29. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/datastreams/readers/attachments.py +0 -0
  30. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/datastreams/readers/excel.py +0 -0
  31. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/datastreams/readers/json.py +0 -0
  32. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/datastreams/readers/service.py +0 -0
  33. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/datastreams/readers/yaml.py +0 -0
  34. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/datastreams/semi_asynchronous.py +0 -0
  35. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/datastreams/synchronous.py +0 -0
  36. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/datastreams/transformers.py +0 -0
  37. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/datastreams/types.py +0 -0
  38. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/datastreams/utils.py +0 -0
  39. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/datastreams/writers/__init__.py +0 -0
  40. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/datastreams/writers/attachments_file.py +0 -0
  41. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/datastreams/writers/attachments_service.py +0 -0
  42. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/datastreams/writers/service.py +0 -0
  43. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/datastreams/writers/utils.py +0 -0
  44. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/datastreams/writers/validation_errors.py +0 -0
  45. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/datastreams/writers/yaml.py +0 -0
  46. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/ext.py +0 -0
  47. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/ext_config.py +0 -0
  48. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/i18n/__init__.py +0 -0
  49. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/info/__init__.py +0 -0
  50. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/info/views.py +0 -0
  51. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/profile.py +0 -0
  52. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/proxies.py +0 -0
  53. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/records/__init__.py +0 -0
  54. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/records/dumpers/__init__.py +0 -0
  55. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/records/dumpers/edtf_interval.py +0 -0
  56. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/records/dumpers/multilingual_dumper.py +0 -0
  57. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/records/entity_resolvers/__init__.py +0 -0
  58. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/records/entity_resolvers/proxies.py +0 -0
  59. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/records/owners/__init__.py +0 -0
  60. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/records/owners/registry.py +0 -0
  61. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/records/relations/__init__.py +0 -0
  62. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/records/relations/base.py +0 -0
  63. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/records/relations/internal.py +0 -0
  64. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/records/relations/lookup.py +0 -0
  65. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/records/relations/pid_relation.py +0 -0
  66. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/records/systemfields/__init__.py +0 -0
  67. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/records/systemfields/featured_file.py +0 -0
  68. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/records/systemfields/has_draftcheck.py +0 -0
  69. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/records/systemfields/icu.py +0 -0
  70. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/records/systemfields/mapping.py +0 -0
  71. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/records/systemfields/owner.py +0 -0
  72. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/records/systemfields/record_status.py +0 -0
  73. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/records/systemfields/selectors.py +0 -0
  74. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/records/systemfields/synthetic.py +0 -0
  75. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/resources/__init__.py +0 -0
  76. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/resources/file_resource.py +0 -0
  77. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/resources/localized_ui_json_serializer.py +0 -0
  78. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/services/__init__.py +0 -0
  79. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/services/components.py +0 -0
  80. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/services/config/__init__.py +0 -0
  81. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/services/config/permissions_presets.py +0 -0
  82. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/services/config/service.py +0 -0
  83. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/services/custom_fields/__init__.py +0 -0
  84. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/services/custom_fields/mappings.py +0 -0
  85. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/services/expansions/__init__.py +0 -0
  86. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/services/expansions/expandable_fields.py +0 -0
  87. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/services/expansions/service.py +0 -0
  88. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/services/facets/__init__.py +0 -0
  89. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/services/facets/base.py +0 -0
  90. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/services/facets/date.py +0 -0
  91. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/services/facets/enum.py +0 -0
  92. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/services/facets/facet_groups_names.py +0 -0
  93. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/services/facets/max_facet.py +0 -0
  94. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/services/facets/nested_facet.py +0 -0
  95. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/services/facets/params.py +0 -0
  96. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/services/files/__init__.py +0 -0
  97. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/services/files/service.py +0 -0
  98. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/services/generators.py +0 -0
  99. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/services/relations/__init__.py +0 -0
  100. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/services/relations/components.py +0 -0
  101. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/services/relations/errors.py +0 -0
  102. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/services/relations/mapping.py +0 -0
  103. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/services/results.py +0 -0
  104. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/services/schema/__init__.py +0 -0
  105. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/services/schema/cf.py +0 -0
  106. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/services/schema/i18n.py +0 -0
  107. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/services/schema/i18n_ui.py +0 -0
  108. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/services/schema/i18n_validation.py +0 -0
  109. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/services/schema/marshmallow.py +0 -0
  110. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/services/schema/oneofschema.py +0 -0
  111. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/services/schema/polymorphic.py +0 -0
  112. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/services/schema/ui.py +0 -0
  113. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/services/schema/validation.py +0 -0
  114. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/translations/cs/LC_MESSAGES/messages.mo +0 -0
  115. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/translations/cs/LC_MESSAGES/messages.po +0 -0
  116. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/translations/default_translations.py +0 -0
  117. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/translations/en/LC_MESSAGES/messages.mo +0 -0
  118. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/translations/en/LC_MESSAGES/messages.po +0 -0
  119. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/translations/jinjax_messages.jinja +0 -0
  120. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/translations/messages.pot +0 -0
  121. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/uow.py +0 -0
  122. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/utils/__init__.py +0 -0
  123. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/utils/functools.py +0 -0
  124. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime/utils/path.py +0 -0
  125. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime.egg-info/dependency_links.txt +0 -0
  126. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime.egg-info/entry_points.txt +0 -0
  127. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime.egg-info/requires.txt +0 -0
  128. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/oarepo_runtime.egg-info/top_level.txt +0 -0
  129. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/pyproject.toml +0 -0
  130. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/setup.py +0 -0
  131. {oarepo_runtime-1.5.36 → oarepo_runtime-1.5.38}/tests/pkg_data/__init__.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: oarepo-runtime
3
- Version: 1.5.36
3
+ Version: 1.5.38
4
4
  Summary: A set of runtime extensions of Invenio repository
5
5
  Description-Content-Type: text/markdown
6
6
  License-File: LICENSE
@@ -0,0 +1,55 @@
1
+ import mimetypes
2
+ import os
3
+ from invenio_records_resources.services.files.components import FileServiceComponent
4
+ from marshmallow.exceptions import ValidationError
5
+
6
+ class AllowedFileTypesComponent(FileServiceComponent):
7
+
8
+ def guess_content_type(self, filename: str | None) -> str | None:
9
+ if filename:
10
+ return mimetypes.guess_type(filename)[0] or "application/octet-stream"
11
+ return None
12
+
13
+ @property
14
+ def allowed_mimetypes(self):
15
+ """Returns files attribute (field) key."""
16
+ return getattr(self.service.config, "allowed_mimetypes", [])
17
+
18
+ def guess_extension(self, file, mimetype):
19
+ """File extension."""
20
+ # The ``ext`` property is used to in search to aggregate file types, and we want e.g. both ``.jpeg`` and
21
+ # ``.jpg`` to be aggregated under ``.jpg``
22
+ ext_guessed = mimetypes.guess_extension(mimetype)
23
+
24
+ # Check if a valid extension is guessed and it's not the default mimetype
25
+ if (
26
+ ext_guessed is not None
27
+ and mimetype != "application/octet-stream"
28
+ ):
29
+ return ext_guessed[1:]
30
+
31
+ # Support non-standard file extensions that cannot be guessed
32
+ _, ext = os.path.splitext(file)
33
+ if ext and len(ext) <= 5:
34
+ return ext[1:].lower()
35
+
36
+ if ext_guessed:
37
+ return ext_guessed[1:]
38
+
39
+ @property
40
+ def allowed_extensions(self):
41
+ """Returns files attribute (field) key."""
42
+ return getattr(self.service.config, "allowed_extensions", [])
43
+
44
+ def init_files(self, identity, id_, data, uow=None):
45
+ """Initialize the file upload for the record."""
46
+ list_files = list(data.files.entries)
47
+
48
+ for file in list_files:
49
+ allowed_type = self.guess_content_type(file)
50
+ allowed_ext = self.guess_extension(file, allowed_type)
51
+ if len(self.allowed_mimetypes) > 0 and allowed_type not in self.allowed_mimetypes:
52
+ raise ValidationError(f"Mimetype not supported, supported mimetypes: {self.allowed_mimetypes}")
53
+ elif len(self.allowed_extensions) > 0 and allowed_ext not in self.allowed_extensions:
54
+ raise ValidationError(f"Extension not supported, supported extensions: {self.allowed_extensions}")
55
+
@@ -12,6 +12,8 @@ from invenio_records_resources.services.records.params import (
12
12
  SortParam,
13
13
  )
14
14
  from invenio_records_resources.services.records.queryparser import SuggestQueryParser
15
+ from invenio_search.engine import dsl
16
+
15
17
 
16
18
  # TODO: integrate this to invenio_records_resources.services.records and remove SearchOptions class
17
19
  from oarepo_runtime.i18n import lazy_gettext as _
@@ -25,6 +27,27 @@ except ImportError:
25
27
  from invenio_i18n.babel import get_locale
26
28
 
27
29
 
30
+ class FuzzySuggestQueryParser(SuggestQueryParser):
31
+ def __init__(self, identity=None, extra_params=None, **kwargs):
32
+ """Constructor."""
33
+ super().__init__(identity=identity, extra_params=extra_params)
34
+ self.fields = self.extra_params.get("fields", [])
35
+ self.extra_params.setdefault("type", "bool_prefix")
36
+
37
+ def parse(self, query_str):
38
+ """Parse the query."""
39
+ # default behavior
40
+ multi_match_with_bool_prefix = dsl.Q(
41
+ "multi_match", query=query_str, **self.extra_params
42
+ )
43
+ # fuzziness does not seem to work with bool_prefix multimatch query, so we turn this into
44
+ # should multi match query with two clauses
45
+ multi_match_fuzzy = dsl.Q(
46
+ "multi_match", query=query_str, fields=self.fields, fuzziness="AUTO"
47
+ )
48
+ return dsl.Q("bool", should=[multi_match_with_bool_prefix, multi_match_fuzzy])
49
+
50
+
28
51
  class SearchOptions(InvenioSearchOptions):
29
52
  params_interpreters_cls = [
30
53
  QueryStrParam,
@@ -114,9 +137,7 @@ class ICUSuggestParser:
114
137
  f"{fld.field}._index_prefix^{fld.boost * fld.boost_prefix}"
115
138
  )
116
139
 
117
- return SuggestQueryParser.factory(
118
- fields=fields,
119
- )
140
+ return FuzzySuggestQueryParser.factory(fields=fields)
120
141
 
121
142
 
122
143
  @dataclasses.dataclass
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: oarepo-runtime
3
- Version: 1.5.36
3
+ Version: 1.5.38
4
4
  Summary: A set of runtime extensions of Invenio repository
5
5
  Description-Content-Type: text/markdown
6
6
  License-File: LICENSE
@@ -101,6 +101,7 @@ oarepo_runtime/services/facets/max_facet.py
101
101
  oarepo_runtime/services/facets/nested_facet.py
102
102
  oarepo_runtime/services/facets/params.py
103
103
  oarepo_runtime/services/files/__init__.py
104
+ oarepo_runtime/services/files/components.py
104
105
  oarepo_runtime/services/files/service.py
105
106
  oarepo_runtime/services/relations/__init__.py
106
107
  oarepo_runtime/services/relations/components.py
@@ -1,6 +1,6 @@
1
1
  [metadata]
2
2
  name = oarepo-runtime
3
- version = 1.5.36
3
+ version = 1.5.38
4
4
  description = A set of runtime extensions of Invenio repository
5
5
  authors = Alzbeta Pokorna
6
6
  readme = README.md
File without changes