oarepo-runtime 1.4.5__tar.gz → 1.4.6__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {oarepo-runtime-1.4.5/oarepo_runtime.egg-info → oarepo-runtime-1.4.6}/PKG-INFO +1 -1
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/cli/index.py +41 -20
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/cli/validate.py +26 -2
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6/oarepo_runtime.egg-info}/PKG-INFO +1 -1
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/setup.cfg +1 -1
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/LICENSE +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/MANIFEST.in +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/README.md +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/__init__.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/cf/__init__.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/cf/cli.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/cf/mappings.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/cli/__init__.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/cli/assets.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/cli/base.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/cli/check.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/config/__init__.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/config/permissions_presets.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/config/service.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/datastreams/__init__.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/datastreams/batch.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/datastreams/catalogue.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/datastreams/cli.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/datastreams/config.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/datastreams/datastreams.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/datastreams/errors.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/datastreams/fixtures.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/datastreams/readers/__init__.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/datastreams/readers/attachments.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/datastreams/readers/excel.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/datastreams/readers/json.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/datastreams/readers/service.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/datastreams/readers/yaml.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/datastreams/transformers.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/datastreams/utils.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/datastreams/writers/__init__.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/datastreams/writers/attachment.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/datastreams/writers/service.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/datastreams/writers/validation_errors.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/datastreams/writers/yaml.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/drafts/__init__.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/drafts/systemfields/__init__.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/drafts/systemfields/has_draftcheck.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/expansions/__init__.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/expansions/expandable_fields.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/expansions/service.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/ext.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/ext_config.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/facets/__init__.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/facets/base.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/facets/date.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/facets/enum.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/facets/max_facet.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/facets/nested_facet.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/facets/params.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/i18n/__init__.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/i18n/default_translations.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/i18n/dumper.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/i18n/schema.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/i18n/ui_schema.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/i18n/validation.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/marshmallow.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/polymorphic.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/profile.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/relations/__init__.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/relations/base.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/relations/components.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/relations/errors.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/relations/internal.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/relations/lookup.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/relations/mapping.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/relations/pid_relation.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/relations/uow.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/resolvers/__init__.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/resolvers/proxies.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/tasks/__init__.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/tasks/datastreams.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/translations/cs/LC_MESSAGES/messages.mo +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/translations/cs/LC_MESSAGES/messages.po +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/translations/en/LC_MESSAGES/messages.po +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/translations/messages.pot +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/ui/__init__.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/ui/marshmallow.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/uow.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/utils/__init__.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/utils/path.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/validation/__init__.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/validation/dates.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime.egg-info/SOURCES.txt +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime.egg-info/dependency_links.txt +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime.egg-info/entry_points.txt +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime.egg-info/requires.txt +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime.egg-info/top_level.txt +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/pyproject.toml +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/setup.py +0 -0
- {oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/tests/pkg_data/__init__.py +0 -0
@@ -1,3 +1,4 @@
|
|
1
|
+
import itertools
|
1
2
|
import sys
|
2
3
|
|
3
4
|
import click
|
@@ -85,6 +86,18 @@ def record_or_service(model):
|
|
85
86
|
return record
|
86
87
|
|
87
88
|
|
89
|
+
def model_records_generator(model_class):
|
90
|
+
try:
|
91
|
+
for x in db.session.query(model_class.model_cls.id).filter(
|
92
|
+
model_class.model_cls.is_deleted.is_(False)
|
93
|
+
):
|
94
|
+
rec_id = x[0]
|
95
|
+
yield model_class.get_record(rec_id)
|
96
|
+
except Exception as e:
|
97
|
+
if "Column expression or FROM clause expected" not in str(e):
|
98
|
+
raise
|
99
|
+
|
100
|
+
|
88
101
|
@index.command()
|
89
102
|
@with_appcontext
|
90
103
|
@click.argument("model", required=False)
|
@@ -99,30 +112,38 @@ def reindex(model):
|
|
99
112
|
service = current_service_registry.get(service_id)
|
100
113
|
record_class = getattr(service.config, "record_cls", None)
|
101
114
|
|
102
|
-
|
103
|
-
continue
|
115
|
+
id_generators = []
|
104
116
|
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
117
|
+
if record_class and hasattr(service, "indexer"):
|
118
|
+
try:
|
119
|
+
id_generators.append(model_records_generator(record_class))
|
120
|
+
except Exception as e:
|
121
|
+
click.secho(
|
122
|
+
f"Could not get record ids for {service_id}, exception {e}",
|
123
|
+
file=sys.stderr,
|
124
|
+
)
|
125
|
+
|
126
|
+
draft_class = getattr(service.config, "draft_cls", None)
|
127
|
+
|
128
|
+
if draft_class and hasattr(service, "indexer"):
|
129
|
+
try:
|
130
|
+
id_generators.append(model_records_generator(draft_class))
|
131
|
+
except Exception as e:
|
132
|
+
click.secho(
|
133
|
+
f"Could not get draft record ids for {service_id}, exception {e}",
|
134
|
+
file=sys.stderr,
|
110
135
|
)
|
111
|
-
)
|
112
|
-
except Exception as e:
|
113
|
-
click.secho(
|
114
|
-
f"Could not get record ids for {service_id}, exception {e}",
|
115
|
-
file=sys.stderr,
|
116
|
-
)
|
117
|
-
continue
|
118
136
|
|
119
137
|
click.secho(f"Indexing {service_id}", file=sys.stderr)
|
120
|
-
|
121
|
-
for
|
122
|
-
record
|
123
|
-
|
124
|
-
|
138
|
+
count = 0
|
139
|
+
for gen in id_generators:
|
140
|
+
for record in gen:
|
141
|
+
service.indexer.index(record)
|
142
|
+
count += 1
|
143
|
+
if count:
|
144
|
+
service.indexer.refresh()
|
145
|
+
|
125
146
|
click.secho(
|
126
|
-
f"Indexing {service_id} finished, indexed {
|
147
|
+
f"Indexing {service_id} finished, indexed {count} records",
|
127
148
|
file=sys.stderr,
|
128
149
|
)
|
@@ -22,6 +22,12 @@ class CheckOk(Exception):
|
|
22
22
|
pass
|
23
23
|
|
24
24
|
|
25
|
+
def dump_data(d):
|
26
|
+
io = StringIO()
|
27
|
+
yaml.safe_dump(d, io, allow_unicode=True)
|
28
|
+
return io.getvalue()
|
29
|
+
|
30
|
+
|
25
31
|
@oarepo.command(
|
26
32
|
help="Validate a record. Takes one or two parameters - service name as "
|
27
33
|
"the first one, file name or stdin with record data as the second"
|
@@ -51,12 +57,22 @@ def validate(service_name, record_file, verbose):
|
|
51
57
|
if file_content.startswith("{"):
|
52
58
|
data = json.loads(file_content)
|
53
59
|
else:
|
54
|
-
data = yaml.
|
60
|
+
data = list(yaml.safe_load_all(StringIO(file_content)))
|
55
61
|
|
56
62
|
if not isinstance(data, list):
|
57
63
|
data = [data]
|
58
64
|
for idx, d in enumerate(data):
|
59
|
-
|
65
|
+
try:
|
66
|
+
loaded = schema().load(d)
|
67
|
+
except Exception as e:
|
68
|
+
click.secho(
|
69
|
+
f"Marshmallow validation of record idx {idx + 1} failed",
|
70
|
+
fg="red",
|
71
|
+
)
|
72
|
+
click.secho(dump_data(d))
|
73
|
+
click.secho(e)
|
74
|
+
continue
|
75
|
+
|
60
76
|
click.secho(
|
61
77
|
f"Marshmallow validation of record idx {idx+1} has been successful",
|
62
78
|
fg="green",
|
@@ -74,6 +90,14 @@ def validate(service_name, record_file, verbose):
|
|
74
90
|
click.secho(
|
75
91
|
f"Pre-commit hook of record idx {idx+1} has been successful", fg="green"
|
76
92
|
)
|
93
|
+
except Exception as e:
|
94
|
+
click.secho(
|
95
|
+
f"Pre-commit validation of record idx {idx + 1} failed",
|
96
|
+
fg="red",
|
97
|
+
)
|
98
|
+
click.secho(dump_data(d))
|
99
|
+
click.secho(e)
|
100
|
+
continue
|
77
101
|
|
78
102
|
if verbose:
|
79
103
|
yaml.safe_dump(loaded, sys.stdout, allow_unicode=True)
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/datastreams/readers/__init__.py
RENAMED
File without changes
|
{oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/datastreams/readers/attachments.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/datastreams/writers/__init__.py
RENAMED
File without changes
|
{oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/datastreams/writers/attachment.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/drafts/systemfields/__init__.py
RENAMED
File without changes
|
{oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/drafts/systemfields/has_draftcheck.py
RENAMED
File without changes
|
File without changes
|
{oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/expansions/expandable_fields.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/translations/cs/LC_MESSAGES/messages.mo
RENAMED
File without changes
|
{oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/translations/cs/LC_MESSAGES/messages.po
RENAMED
File without changes
|
{oarepo-runtime-1.4.5 → oarepo-runtime-1.4.6}/oarepo_runtime/translations/en/LC_MESSAGES/messages.po
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|