oarepo-runtime 1.5.40__tar.gz → 1.5.42__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.40/oarepo_runtime.egg-info → oarepo_runtime-1.5.42}/PKG-INFO +1 -1
  2. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/records/systemfields/icu.py +24 -1
  3. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/records/systemfields/owner.py +6 -0
  4. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/services/custom_fields/mappings.py +84 -5
  5. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42/oarepo_runtime.egg-info}/PKG-INFO +1 -1
  6. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/setup.cfg +1 -1
  7. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/LICENSE +0 -0
  8. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/MANIFEST.in +0 -0
  9. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/README.md +0 -0
  10. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/__init__.py +0 -0
  11. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/cli/__init__.py +0 -0
  12. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/cli/assets.py +0 -0
  13. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/cli/base.py +0 -0
  14. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/cli/cf.py +0 -0
  15. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/cli/check.py +0 -0
  16. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/cli/configuration.py +0 -0
  17. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/cli/fixtures.py +0 -0
  18. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/cli/index.py +0 -0
  19. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/cli/validate.py +0 -0
  20. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/datastreams/__init__.py +0 -0
  21. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/datastreams/asynchronous.py +0 -0
  22. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/datastreams/catalogue.py +0 -0
  23. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/datastreams/datastreams.py +0 -0
  24. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/datastreams/errors.py +0 -0
  25. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/datastreams/ext.py +0 -0
  26. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/datastreams/fixtures.py +0 -0
  27. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/datastreams/json.py +0 -0
  28. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/datastreams/readers/__init__.py +0 -0
  29. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/datastreams/readers/attachments.py +0 -0
  30. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/datastreams/readers/excel.py +0 -0
  31. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/datastreams/readers/json.py +0 -0
  32. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/datastreams/readers/service.py +0 -0
  33. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/datastreams/readers/yaml.py +0 -0
  34. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/datastreams/semi_asynchronous.py +0 -0
  35. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/datastreams/synchronous.py +0 -0
  36. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/datastreams/transformers.py +0 -0
  37. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/datastreams/types.py +0 -0
  38. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/datastreams/utils.py +0 -0
  39. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/datastreams/writers/__init__.py +0 -0
  40. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/datastreams/writers/attachments_file.py +0 -0
  41. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/datastreams/writers/attachments_service.py +0 -0
  42. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/datastreams/writers/service.py +0 -0
  43. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/datastreams/writers/utils.py +0 -0
  44. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/datastreams/writers/validation_errors.py +0 -0
  45. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/datastreams/writers/yaml.py +0 -0
  46. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/ext.py +0 -0
  47. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/ext_config.py +0 -0
  48. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/i18n/__init__.py +0 -0
  49. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/info/__init__.py +0 -0
  50. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/info/views.py +0 -0
  51. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/profile.py +0 -0
  52. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/proxies.py +0 -0
  53. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/records/__init__.py +0 -0
  54. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/records/dumpers/__init__.py +0 -0
  55. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/records/dumpers/edtf_interval.py +0 -0
  56. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/records/dumpers/multilingual_dumper.py +0 -0
  57. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/records/entity_resolvers/__init__.py +0 -0
  58. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/records/entity_resolvers/proxies.py +0 -0
  59. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/records/owners/__init__.py +0 -0
  60. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/records/owners/registry.py +0 -0
  61. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/records/relations/__init__.py +0 -0
  62. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/records/relations/base.py +0 -0
  63. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/records/relations/internal.py +0 -0
  64. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/records/relations/lookup.py +0 -0
  65. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/records/relations/pid_relation.py +0 -0
  66. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/records/systemfields/__init__.py +0 -0
  67. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/records/systemfields/featured_file.py +0 -0
  68. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/records/systemfields/has_draftcheck.py +0 -0
  69. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/records/systemfields/mapping.py +0 -0
  70. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/records/systemfields/record_status.py +0 -0
  71. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/records/systemfields/selectors.py +0 -0
  72. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/records/systemfields/synthetic.py +0 -0
  73. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/resources/__init__.py +0 -0
  74. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/resources/file_resource.py +0 -0
  75. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/resources/localized_ui_json_serializer.py +0 -0
  76. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/services/__init__.py +0 -0
  77. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/services/components.py +0 -0
  78. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/services/config/__init__.py +0 -0
  79. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/services/config/permissions_presets.py +0 -0
  80. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/services/config/service.py +0 -0
  81. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/services/custom_fields/__init__.py +0 -0
  82. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/services/expansions/__init__.py +0 -0
  83. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/services/expansions/expandable_fields.py +0 -0
  84. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/services/expansions/service.py +0 -0
  85. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/services/facets/__init__.py +0 -0
  86. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/services/facets/base.py +0 -0
  87. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/services/facets/date.py +0 -0
  88. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/services/facets/enum.py +0 -0
  89. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/services/facets/facet_groups_names.py +0 -0
  90. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/services/facets/max_facet.py +0 -0
  91. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/services/facets/nested_facet.py +0 -0
  92. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/services/facets/params.py +0 -0
  93. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/services/files/__init__.py +0 -0
  94. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/services/files/components.py +0 -0
  95. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/services/files/service.py +0 -0
  96. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/services/generators.py +0 -0
  97. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/services/relations/__init__.py +0 -0
  98. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/services/relations/components.py +0 -0
  99. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/services/relations/errors.py +0 -0
  100. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/services/relations/mapping.py +0 -0
  101. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/services/results.py +0 -0
  102. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/services/schema/__init__.py +0 -0
  103. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/services/schema/cf.py +0 -0
  104. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/services/schema/i18n.py +0 -0
  105. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/services/schema/i18n_ui.py +0 -0
  106. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/services/schema/i18n_validation.py +0 -0
  107. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/services/schema/marshmallow.py +0 -0
  108. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/services/schema/oneofschema.py +0 -0
  109. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/services/schema/polymorphic.py +0 -0
  110. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/services/schema/ui.py +0 -0
  111. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/services/schema/validation.py +0 -0
  112. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/services/search.py +0 -0
  113. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/translations/cs/LC_MESSAGES/messages.mo +0 -0
  114. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/translations/cs/LC_MESSAGES/messages.po +0 -0
  115. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/translations/default_translations.py +0 -0
  116. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/translations/en/LC_MESSAGES/messages.mo +0 -0
  117. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/translations/en/LC_MESSAGES/messages.po +0 -0
  118. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/translations/jinjax_messages.jinja +0 -0
  119. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/translations/messages.pot +0 -0
  120. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/uow.py +0 -0
  121. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/utils/__init__.py +0 -0
  122. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/utils/functools.py +0 -0
  123. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime/utils/path.py +0 -0
  124. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime.egg-info/SOURCES.txt +0 -0
  125. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime.egg-info/dependency_links.txt +0 -0
  126. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime.egg-info/entry_points.txt +0 -0
  127. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime.egg-info/requires.txt +0 -0
  128. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/oarepo_runtime.egg-info/top_level.txt +0 -0
  129. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/pyproject.toml +0 -0
  130. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/setup.py +0 -0
  131. {oarepo_runtime-1.5.40 → oarepo_runtime-1.5.42}/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.40
3
+ Version: 1.5.42
4
4
  Summary: A set of runtime extensions of Invenio repository
5
5
  Description-Content-Type: text/markdown
6
6
  License-File: LICENSE
@@ -146,6 +146,12 @@ class ICUSearchField(ICUField):
146
146
  "tokenizer": "standard",
147
147
  "filter": ["stemming_filter_en"],
148
148
  },
149
+ "ascii_folding_analyzer": {
150
+ "tokenizer": "standard",
151
+ "filter": [
152
+ "ascii_folding_filter"
153
+ ]
154
+ },
149
155
  }
150
156
 
151
157
  default_stemming_filters = {
@@ -159,6 +165,10 @@ class ICUSearchField(ICUField):
159
165
  "name": "english",
160
166
  "language": "english",
161
167
  },
168
+ "ascii_folding_filter": {
169
+ "type": "asciifolding",
170
+ "preserve_original": True
171
+ }
162
172
  }
163
173
 
164
174
  def __init__(self, source_field, key=None):
@@ -170,11 +180,24 @@ class ICUSearchField(ICUField):
170
180
  self.attr_name: {
171
181
  "type": "object",
172
182
  "properties": {
183
+ # normal stemming
173
184
  lang: setting.get(
174
185
  "search",
175
186
  {
176
187
  "type": "text",
177
- "analyzer": f"stemming_analyzer_{lang}",
188
+ "boost": 1,
189
+ "fields": {
190
+ "stemmed": {
191
+ "type": "text",
192
+ "analyzer": f"stemming_analyzer_{lang}",
193
+ "boost": 0.5,
194
+ },
195
+ "ascii_folded": {
196
+ "type": "text",
197
+ "analyzer": "ascii_folding_analyzer",
198
+ "boost": 0.3,
199
+ },
200
+ }
178
201
  },
179
202
  )
180
203
  for lang, setting in self.languages.items()
@@ -82,6 +82,12 @@ class OwnersField(MappingSystemFieldMixin, SystemField):
82
82
  return {
83
83
  self.attr_name: {
84
84
  "type": "object",
85
+ "properties": {
86
+ "user": {
87
+ "type": "keyword",
88
+ "ignore_above": 256
89
+ }
90
+ }
85
91
  },
86
92
  }
87
93
 
@@ -19,7 +19,7 @@ from oarepo_runtime.records.systemfields.mapping import MappingSystemFieldMixin
19
19
  class Mapping(InvenioMapping):
20
20
  @classmethod
21
21
  def properties_for_fields(
22
- cls, given_fields_names, available_fields, field_name="custom_fields"
22
+ cls, given_fields_names, available_fields, field_name="custom_fields"
23
23
  ):
24
24
  """Prepare search mapping properties for each field."""
25
25
 
@@ -34,7 +34,7 @@ class Mapping(InvenioMapping):
34
34
 
35
35
  @classmethod
36
36
  def settings_for_fields(
37
- cls, given_fields_names, available_fields, field_name="custom_fields"
37
+ cls, given_fields_names, available_fields, field_name="custom_fields"
38
38
  ):
39
39
  """Prepare mapping settings for each field."""
40
40
 
@@ -72,10 +72,11 @@ def prepare_cf_indices():
72
72
  if record_class:
73
73
  prepare_cf_index(record_class, config)
74
74
  parent_class = getattr(record_class, "parent_record_cls", None)
75
- prepare_cf_index(parent_class, config)
75
+ prepare_parent_mapping(parent_class, config)
76
+ prepare_cf_index(parent_class, config, path=["parent", "properties"])
76
77
 
77
78
 
78
- def prepare_cf_index(record_class, config):
79
+ def prepare_cf_index(record_class, config, path=[]):
79
80
  if not record_class:
80
81
  return
81
82
 
@@ -85,6 +86,11 @@ def prepare_cf_index(record_class, config):
85
86
  settings = fld.mapping_settings
86
87
  dynamic_templates = fld.dynamic_templates
87
88
 
89
+ for pth in reversed(path):
90
+ mapping = {
91
+ pth: mapping
92
+ }
93
+
88
94
  # upload mapping
89
95
  try:
90
96
  record_index = dsl.Index(
@@ -109,6 +115,79 @@ def prepare_cf_index(record_class, config):
109
115
  click.secho(e.info["error"]["reason"], fg="red")
110
116
 
111
117
 
118
+ def prepare_parent_mapping(parent_class, config):
119
+ if not parent_class:
120
+ return
121
+ parent_mapping = {
122
+ "parent": {
123
+ "type": "object",
124
+ "properties": {
125
+ "created": {
126
+ "type": "date",
127
+ "format": "strict_date_time||strict_date_time_no_millis||basic_date_time||basic_date_time_no_millis||basic_date||strict_date||strict_date_hour_minute_second||strict_date_hour_minute_second_fraction"
128
+ },
129
+ "id": {
130
+ "type": "keyword",
131
+ "ignore_above": 1024
132
+ },
133
+ "pid": {
134
+ "properties": {
135
+ "obj_type": {
136
+ "type": "keyword",
137
+ "ignore_above": 1024
138
+ },
139
+ "pid_type": {
140
+ "type": "keyword",
141
+ "ignore_above": 1024
142
+ },
143
+ "pk": {
144
+ "type": "long"
145
+ },
146
+ "status": {
147
+ "type": "keyword",
148
+ "ignore_above": 1024
149
+ }
150
+ }
151
+ },
152
+ "updated": {
153
+ "type": "date",
154
+ "format": "strict_date_time||strict_date_time_no_millis||basic_date_time||basic_date_time_no_millis||basic_date||strict_date||strict_date_hour_minute_second||strict_date_hour_minute_second_fraction"
155
+ },
156
+ "uuid": {
157
+ "type": "keyword",
158
+ "ignore_above": 1024
159
+ },
160
+ "version_id": {
161
+ "type": "long"
162
+ }
163
+ }
164
+ }
165
+ }
166
+
167
+ # upload mapping
168
+ try:
169
+ record_index = dsl.Index(
170
+ build_alias_name(
171
+ config.record_cls.index._name,
172
+ ),
173
+ using=current_search_client,
174
+ )
175
+ update_index(record_index, {}, parent_mapping)
176
+
177
+ if hasattr(config, "draft_cls"):
178
+ draft_index = dsl.Index(
179
+ build_alias_name(
180
+ config.draft_cls.index._name,
181
+ ),
182
+ using=current_search_client,
183
+ )
184
+ update_index(draft_index, {}, parent_mapping)
185
+
186
+ except search.RequestError as e:
187
+ click.secho("An error occurred while creating parent mapping.", fg="red")
188
+ click.secho(e.info["error"]["reason"], fg="red")
189
+
190
+
112
191
  def update_index(record_index, settings, mapping, dynamic_templates=None):
113
192
  if settings:
114
193
  record_index.close()
@@ -125,6 +204,6 @@ def update_index(record_index, settings, mapping, dynamic_templates=None):
125
204
 
126
205
  def get_mapping_fields(record_class) -> Iterable[MappingSystemFieldMixin]:
127
206
  for cfg_name, cfg_value in inspect.getmembers(
128
- record_class, lambda x: isinstance(x, MappingSystemFieldMixin)
207
+ record_class, lambda x: isinstance(x, MappingSystemFieldMixin)
129
208
  ):
130
209
  yield cfg_value
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: oarepo-runtime
3
- Version: 1.5.40
3
+ Version: 1.5.42
4
4
  Summary: A set of runtime extensions of Invenio repository
5
5
  Description-Content-Type: text/markdown
6
6
  License-File: LICENSE
@@ -1,6 +1,6 @@
1
1
  [metadata]
2
2
  name = oarepo-runtime
3
- version = 1.5.40
3
+ version = 1.5.42
4
4
  description = A set of runtime extensions of Invenio repository
5
5
  authors = Alzbeta Pokorna
6
6
  readme = README.md
File without changes