oarepo-runtime 1.5.31__py3-none-any.whl → 1.5.33__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.
- oarepo_runtime/cli/index.py +36 -15
- oarepo_runtime/services/schema/ui.py +1 -0
- {oarepo_runtime-1.5.31.dist-info → oarepo_runtime-1.5.33.dist-info}/METADATA +1 -1
- {oarepo_runtime-1.5.31.dist-info → oarepo_runtime-1.5.33.dist-info}/RECORD +8 -8
- {oarepo_runtime-1.5.31.dist-info → oarepo_runtime-1.5.33.dist-info}/LICENSE +0 -0
- {oarepo_runtime-1.5.31.dist-info → oarepo_runtime-1.5.33.dist-info}/WHEEL +0 -0
- {oarepo_runtime-1.5.31.dist-info → oarepo_runtime-1.5.33.dist-info}/entry_points.txt +0 -0
- {oarepo_runtime-1.5.31.dist-info → oarepo_runtime-1.5.33.dist-info}/top_level.txt +0 -0
oarepo_runtime/cli/index.py
CHANGED
@@ -95,17 +95,6 @@ def record_or_service(model):
|
|
95
95
|
return record
|
96
96
|
|
97
97
|
|
98
|
-
def model_records_generator(model_class):
|
99
|
-
try:
|
100
|
-
for x in db.session.query(model_class.model_cls.id).filter(
|
101
|
-
model_class.model_cls.is_deleted.is_(False)
|
102
|
-
):
|
103
|
-
rec_id = x[0]
|
104
|
-
yield model_class.get_record(rec_id)
|
105
|
-
except Exception as e:
|
106
|
-
click.secho(f"Could not index {model_class}: {e}", fg="red", file=sys.stderr)
|
107
|
-
|
108
|
-
|
109
98
|
@index.command()
|
110
99
|
@with_appcontext
|
111
100
|
@click.argument("model", required=False)
|
@@ -119,14 +108,22 @@ def reindex(model, bulk_size, verbose):
|
|
119
108
|
for service_id in services:
|
120
109
|
click.secho(f"Preparing to index {service_id}", file=sys.stderr)
|
121
110
|
|
122
|
-
|
111
|
+
try:
|
112
|
+
service = current_service_registry.get(service_id)
|
113
|
+
except KeyError:
|
114
|
+
click.secho(f"Service {service_id} not in known services:", color="red")
|
115
|
+
for known_service_id, known_service in sorted(current_service_registry._services.items()):
|
116
|
+
click.secho(f" {known_service_id} -> {type(known_service).__module__}.{type(known_service).__name__}", color="red")
|
117
|
+
sys.exit(1)
|
123
118
|
record_class = getattr(service.config, "record_cls", None)
|
124
119
|
|
125
120
|
id_generators = []
|
126
121
|
|
122
|
+
record_generator = RECORD_GENERATORS.get(service_id, model_records_generator)
|
123
|
+
|
127
124
|
if record_class and hasattr(service, "indexer"):
|
128
125
|
try:
|
129
|
-
id_generators.append(
|
126
|
+
id_generators.append(record_generator(record_class))
|
130
127
|
except Exception as e:
|
131
128
|
click.secho(
|
132
129
|
f"Could not get record ids for {service_id}, exception {e}",
|
@@ -137,7 +134,7 @@ def reindex(model, bulk_size, verbose):
|
|
137
134
|
|
138
135
|
if draft_class and hasattr(service, "indexer"):
|
139
136
|
try:
|
140
|
-
id_generators.append(
|
137
|
+
id_generators.append(record_generator(draft_class))
|
141
138
|
except Exception as e:
|
142
139
|
click.secho(
|
143
140
|
f"Could not get draft record ids for {service_id}, exception {e}",
|
@@ -151,7 +148,6 @@ def reindex(model, bulk_size, verbose):
|
|
151
148
|
for bulk in generate_bulk_data(gen, service.indexer, bulk_size=bulk_size):
|
152
149
|
index_result = service.indexer.client.bulk(bulk)
|
153
150
|
count += len(bulk) // 2
|
154
|
-
|
155
151
|
for index_item_result in index_result["items"]:
|
156
152
|
result = index_item_result["index"]
|
157
153
|
if result["status"] != 200:
|
@@ -215,3 +211,28 @@ def dump_yaml(data):
|
|
215
211
|
io = StringIO()
|
216
212
|
yaml.dump(data, io, allow_unicode=True)
|
217
213
|
return io.getvalue()
|
214
|
+
|
215
|
+
|
216
|
+
def model_records_generator(model_class):
|
217
|
+
try:
|
218
|
+
for x in db.session.query(model_class.model_cls.id).filter(
|
219
|
+
model_class.model_cls.is_deleted.is_(False)
|
220
|
+
):
|
221
|
+
rec_id = x[0]
|
222
|
+
yield model_class.get_record(rec_id)
|
223
|
+
except Exception as e:
|
224
|
+
click.secho(f"Could not index {model_class}: {e}", fg="red", file=sys.stderr)
|
225
|
+
|
226
|
+
def users_record_generator(model_class):
|
227
|
+
from invenio_accounts.models import User
|
228
|
+
from invenio_users_resources.records.api import UserAggregate
|
229
|
+
try:
|
230
|
+
for x in db.session.query(User.id):
|
231
|
+
rec_id = x[0]
|
232
|
+
yield UserAggregate.get_record(rec_id)
|
233
|
+
except Exception as e:
|
234
|
+
click.secho(f"Could not index {model_class}: {e}", fg="red", file=sys.stderr)
|
235
|
+
|
236
|
+
RECORD_GENERATORS = {
|
237
|
+
'users': users_record_generator
|
238
|
+
}
|
@@ -124,6 +124,7 @@ if False: # NOSONAR
|
|
124
124
|
|
125
125
|
|
126
126
|
class InvenioUISchema(ma.Schema):
|
127
|
+
_schema = ma.fields.Str(attribute="$schema", data_key="$schema")
|
127
128
|
id = ma.fields.Str()
|
128
129
|
created = LocalizedDateTime(dump_only=True)
|
129
130
|
updated = LocalizedDateTime(dump_only=True)
|
@@ -11,7 +11,7 @@ oarepo_runtime/cli/cf.py,sha256=W0JEJK2JqKubQw8qtZJxohmADDRUBode4JZAqYLDGvc,339
|
|
11
11
|
oarepo_runtime/cli/check.py,sha256=AvC5VHAnwmtCd8R-Caj8v6nCAREKjObTdNtLJ24aJO8,4935
|
12
12
|
oarepo_runtime/cli/configuration.py,sha256=cLXoGDtjuA5uv9ZfYFcH0C4wcadj0qWC3P_E4Bf5-z0,1061
|
13
13
|
oarepo_runtime/cli/fixtures.py,sha256=teMbU-ocrSOmmCJvK-ICl6lMTAOWxJ5Tpkg6JQc0Y0s,5486
|
14
|
-
oarepo_runtime/cli/index.py,sha256=
|
14
|
+
oarepo_runtime/cli/index.py,sha256=6SaM3Ml6qCRakXbGz3afBAYM9hFRYrPIa6vw3pwqR_Q,8158
|
15
15
|
oarepo_runtime/cli/validate.py,sha256=HpSvHQCGHlrdgdpKix9cIlzlBoJEiT1vACZdMnOUGEY,2827
|
16
16
|
oarepo_runtime/datastreams/__init__.py,sha256=_i52Ek9J8DMARST0ejZAZPzUKm55xrrlKlCSO7dl6y4,1008
|
17
17
|
oarepo_runtime/datastreams/asynchronous.py,sha256=1I1mEaTxyrcHD7LK6O9z2QX37AgeejflxynGmLreLQ0,7396
|
@@ -102,7 +102,7 @@ oarepo_runtime/services/schema/i18n_validation.py,sha256=fyMTi2Rw-KiHv7c7HN61zGx
|
|
102
102
|
oarepo_runtime/services/schema/marshmallow.py,sha256=LmcSxvbZ9jIhkNHCqqxt1SA2UNijoDmIzqli1MkoTrE,1153
|
103
103
|
oarepo_runtime/services/schema/oneofschema.py,sha256=X_pXzrkYcLGGAtGN1qltrz45OzD_atrJHkHkp3L01xg,6660
|
104
104
|
oarepo_runtime/services/schema/polymorphic.py,sha256=f9yC7MGVynAFGM0fXIq0NbqGJxI65Xpi8GaM2ZM4c6Q,561
|
105
|
-
oarepo_runtime/services/schema/ui.py,sha256=
|
105
|
+
oarepo_runtime/services/schema/ui.py,sha256=qDR-nukJmeLwDZCdqcBg3CbseQ_A_BdxXyt_R4Qc_2c,3732
|
106
106
|
oarepo_runtime/services/schema/validation.py,sha256=fahqKGDdIYWux5ZeoljrEe8VD2fDZR9VpfvYmTYAmpw,1050
|
107
107
|
oarepo_runtime/translations/default_translations.py,sha256=060GBlA1ghWxfeumo6NqxCCZDb-6OezOuF6pr-_GEOQ,104
|
108
108
|
oarepo_runtime/translations/jinjax_messages.jinja,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -115,9 +115,9 @@ oarepo_runtime/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hS
|
|
115
115
|
oarepo_runtime/utils/functools.py,sha256=gKS9YZtlIYcDvdNA9cmYO00yjiXBYV1jg8VpcRUyQyg,1324
|
116
116
|
oarepo_runtime/utils/path.py,sha256=V1NVyk3m12_YLbj7QHYvUpE1wScO78bYsX1LOLeXDkI,3108
|
117
117
|
tests/pkg_data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
118
|
-
oarepo_runtime-1.5.
|
119
|
-
oarepo_runtime-1.5.
|
120
|
-
oarepo_runtime-1.5.
|
121
|
-
oarepo_runtime-1.5.
|
122
|
-
oarepo_runtime-1.5.
|
123
|
-
oarepo_runtime-1.5.
|
118
|
+
oarepo_runtime-1.5.33.dist-info/LICENSE,sha256=h2uWz0OaB3EN-J1ImdGJZzc7yvfQjvHVYdUhQ-H7ypY,1064
|
119
|
+
oarepo_runtime-1.5.33.dist-info/METADATA,sha256=8SWJONfiL0aijLAY7T3HCmdN4RegicsAM3feIB68qRU,4680
|
120
|
+
oarepo_runtime-1.5.33.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
121
|
+
oarepo_runtime-1.5.33.dist-info/entry_points.txt,sha256=QrlXAKuPDVBinaSh_v3yO9_Nb9ZNmJCJ0VFcCW-z0Jg,327
|
122
|
+
oarepo_runtime-1.5.33.dist-info/top_level.txt,sha256=bHhlkT1_RQC4IkfTQCqA3iN4KCB6cSFQlsXpQMSP-bE,21
|
123
|
+
oarepo_runtime-1.5.33.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|