oarepo-runtime 1.5.64__tar.gz → 1.5.66__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {oarepo_runtime-1.5.64/oarepo_runtime.egg-info → oarepo_runtime-1.5.66}/PKG-INFO +1 -1
- oarepo_runtime-1.5.66/oarepo_runtime/info/check.py +96 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/records/systemfields/selectors.py +11 -17
- oarepo_runtime-1.5.66/oarepo_runtime/tasks.py +6 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66/oarepo_runtime.egg-info}/PKG-INFO +1 -1
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime.egg-info/SOURCES.txt +2 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime.egg-info/entry_points.txt +2 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/setup.cfg +3 -1
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/LICENSE +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/MANIFEST.in +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/README.md +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/__init__.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/cli/__init__.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/cli/assets.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/cli/base.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/cli/cf.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/cli/check.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/cli/configuration.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/cli/fixtures.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/cli/index.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/cli/validate.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/datastreams/__init__.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/datastreams/asynchronous.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/datastreams/catalogue.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/datastreams/datastreams.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/datastreams/errors.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/datastreams/ext.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/datastreams/fixtures.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/datastreams/json.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/datastreams/readers/__init__.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/datastreams/readers/attachments.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/datastreams/readers/excel.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/datastreams/readers/json.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/datastreams/readers/service.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/datastreams/readers/yaml.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/datastreams/semi_asynchronous.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/datastreams/synchronous.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/datastreams/transformers.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/datastreams/types.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/datastreams/utils.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/datastreams/writers/__init__.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/datastreams/writers/attachments_file.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/datastreams/writers/attachments_service.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/datastreams/writers/service.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/datastreams/writers/utils.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/datastreams/writers/validation_errors.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/datastreams/writers/yaml.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/ext.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/ext_config.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/i18n/__init__.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/info/__init__.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/info/views.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/profile.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/proxies.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/records/__init__.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/records/dumpers/__init__.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/records/dumpers/edtf_interval.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/records/dumpers/multilingual_dumper.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/records/entity_resolvers/__init__.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/records/entity_resolvers/proxies.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/records/owners/__init__.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/records/owners/registry.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/records/relations/__init__.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/records/relations/base.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/records/relations/internal.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/records/relations/lookup.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/records/relations/pid_relation.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/records/systemfields/__init__.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/records/systemfields/featured_file.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/records/systemfields/has_draftcheck.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/records/systemfields/icu.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/records/systemfields/mapping.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/records/systemfields/owner.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/records/systemfields/record_status.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/records/systemfields/synthetic.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/resources/__init__.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/resources/file_resource.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/resources/localized_ui_json_serializer.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/services/__init__.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/services/components.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/services/config/__init__.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/services/config/permissions_presets.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/services/config/service.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/services/custom_fields/__init__.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/services/custom_fields/mappings.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/services/expansions/__init__.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/services/expansions/expandable_fields.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/services/expansions/service.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/services/facets/__init__.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/services/facets/base.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/services/facets/date.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/services/facets/enum.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/services/facets/facet_groups_names.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/services/facets/max_facet.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/services/facets/nested_facet.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/services/facets/params.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/services/facets/year_histogram.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/services/files/__init__.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/services/files/components.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/services/files/service.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/services/generators.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/services/permissions/__init__.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/services/permissions/generators.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/services/relations/__init__.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/services/relations/components.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/services/relations/errors.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/services/relations/mapping.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/services/results.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/services/schema/__init__.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/services/schema/cf.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/services/schema/i18n.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/services/schema/i18n_ui.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/services/schema/i18n_validation.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/services/schema/marshmallow.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/services/schema/oneofschema.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/services/schema/polymorphic.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/services/schema/ui.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/services/schema/validation.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/services/search.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/translations/cs/LC_MESSAGES/messages.mo +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/translations/cs/LC_MESSAGES/messages.po +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/translations/default_translations.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/translations/en/LC_MESSAGES/messages.mo +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/translations/en/LC_MESSAGES/messages.po +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/translations/jinjax_messages.jinja +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/translations/messages.pot +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/uow.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/utils/__init__.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/utils/functools.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/utils/path.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime.egg-info/dependency_links.txt +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime.egg-info/requires.txt +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime.egg-info/top_level.txt +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/pyproject.toml +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/setup.py +0 -0
- {oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/tests/pkg_data/__init__.py +0 -0
@@ -0,0 +1,96 @@
|
|
1
|
+
import json, random
|
2
|
+
from flask import Response, Blueprint
|
3
|
+
from flask import current_app as flask_current_app
|
4
|
+
from invenio_db import db # sql alchemy session
|
5
|
+
from invenio_cache import current_cache # redis
|
6
|
+
import redis
|
7
|
+
from invenio_search import current_search_client # opensearch
|
8
|
+
from celery import current_app as celery_current_app, shared_task
|
9
|
+
|
10
|
+
|
11
|
+
def check_db_connection():
|
12
|
+
if not has_database_connection():
|
13
|
+
return "DB connection failed"
|
14
|
+
else:
|
15
|
+
return "ok"
|
16
|
+
|
17
|
+
def has_database_connection():
|
18
|
+
try:
|
19
|
+
db.session.begin()
|
20
|
+
db.session.execute("select * from alembic_version").scalar()
|
21
|
+
return True
|
22
|
+
except:
|
23
|
+
return False
|
24
|
+
finally:
|
25
|
+
db.session.rollback()
|
26
|
+
|
27
|
+
def check_cache_connection():
|
28
|
+
try:
|
29
|
+
rand = random.randint(1, 1000)
|
30
|
+
if current_cache.set('mykey', str(rand)):
|
31
|
+
val = current_cache.get('mykey')
|
32
|
+
if val == str(rand):
|
33
|
+
return "ok"
|
34
|
+
else:
|
35
|
+
return "Cache returned unexpected value."
|
36
|
+
else:
|
37
|
+
return "Failed to set cache key."
|
38
|
+
except redis.exceptions.ConnectionError as e:
|
39
|
+
if isinstance(e.__cause__, ConnectionRefusedError):
|
40
|
+
return "Cache connection error"
|
41
|
+
return "Cache exception"
|
42
|
+
except Exception as other:
|
43
|
+
return str(other)
|
44
|
+
|
45
|
+
|
46
|
+
|
47
|
+
# https://github.com/celery/celery/issues/4283
|
48
|
+
def check_message_queue():
|
49
|
+
from kombu.exceptions import OperationalError
|
50
|
+
try:
|
51
|
+
#celery_current_app.autodiscover_tasks(['oarepo_runtime.info'])
|
52
|
+
ping_task = celery_current_app.send_task('ping')
|
53
|
+
if ping_task.get(timeout=2) == 'pong':
|
54
|
+
return "ok"
|
55
|
+
except OperationalError as e:
|
56
|
+
if isinstance(e.__cause__, ConnectionRefusedError):
|
57
|
+
return "RabbitMQ connection refused"
|
58
|
+
return "Other RabbitMQ-related error"
|
59
|
+
except Exception as other:
|
60
|
+
return str(other)
|
61
|
+
|
62
|
+
|
63
|
+
def check_opensearch():
|
64
|
+
try:
|
65
|
+
is_available = current_search_client.ping()
|
66
|
+
if is_available:
|
67
|
+
return "ok"
|
68
|
+
else:
|
69
|
+
return "OpenSearch is not available"
|
70
|
+
except Exception as e:
|
71
|
+
return str(e)
|
72
|
+
|
73
|
+
|
74
|
+
blueprint = Blueprint("repository-check", __name__, url_prefix="/.well-known")
|
75
|
+
|
76
|
+
@blueprint.route("/check")
|
77
|
+
def check_connections() -> Response:
|
78
|
+
"""
|
79
|
+
Function to check all necessary connections (database, redis, rabbitmq, opensearch)
|
80
|
+
Return Response 200 if everything is OK or Response 500 with json and all failed tests
|
81
|
+
"""
|
82
|
+
check_list = {}
|
83
|
+
with flask_current_app.app_context():
|
84
|
+
check_list['db'] = check_db_connection()
|
85
|
+
check_list['cache'] = check_cache_connection()
|
86
|
+
check_list['mq'] = check_message_queue()
|
87
|
+
check_list['opensearch'] = check_opensearch()
|
88
|
+
|
89
|
+
failed_checks = {key: value for key, value in check_list.items() if value != 'ok'}
|
90
|
+
|
91
|
+
if failed_checks:
|
92
|
+
return Response(json.dumps(failed_checks), status=500, content_type='application/json')
|
93
|
+
|
94
|
+
return Response(json.dumps(check_list), status=200, content_type='application/json') # good
|
95
|
+
|
96
|
+
|
{oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/records/systemfields/selectors.py
RENAMED
@@ -1,7 +1,10 @@
|
|
1
|
-
|
1
|
+
import dataclasses
|
2
|
+
from typing import Any, Callable, List, Protocol, Tuple
|
2
3
|
|
4
|
+
from oarepo_runtime.records.relations.lookup import lookup_key
|
3
5
|
|
4
|
-
|
6
|
+
|
7
|
+
class Selector(Protocol):
|
5
8
|
def select(self, record) -> List[Any]:
|
6
9
|
return []
|
7
10
|
|
@@ -25,6 +28,7 @@ class FirstItemSelector(PathSelector):
|
|
25
28
|
return []
|
26
29
|
|
27
30
|
|
31
|
+
@dataclasses.dataclass
|
28
32
|
class FilteredSelector(Selector):
|
29
33
|
"""
|
30
34
|
Selector which filters output of another selector
|
@@ -43,17 +47,9 @@ class FilteredSelector(Selector):
|
|
43
47
|
}
|
44
48
|
}
|
45
49
|
"""
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
selector: Selector,
|
50
|
-
filter: Callable[[Any], bool],
|
51
|
-
projection: Callable[[Any], Any] | str = None,
|
52
|
-
):
|
53
|
-
|
54
|
-
self.selector = selector
|
55
|
-
self.filter = filter
|
56
|
-
self.projection = projection
|
50
|
+
selector: Selector
|
51
|
+
filter: Callable[[Any], bool]
|
52
|
+
projection: Callable[[Any], Any] | str = None
|
57
53
|
|
58
54
|
def select(self, record):
|
59
55
|
selected = self.selector.select(record)
|
@@ -62,10 +58,7 @@ class FilteredSelector(Selector):
|
|
62
58
|
ret = []
|
63
59
|
for select_element in selected:
|
64
60
|
if isinstance(self.projection, str):
|
65
|
-
|
66
|
-
result = select_element[self.projection]
|
67
|
-
else:
|
68
|
-
result = []
|
61
|
+
result = [x.value for x in lookup_key(select_element, self.projection)]
|
69
62
|
else:
|
70
63
|
result = self.projection(select_element)
|
71
64
|
if isinstance(result, list):
|
@@ -77,6 +70,7 @@ class FilteredSelector(Selector):
|
|
77
70
|
return ret
|
78
71
|
|
79
72
|
|
73
|
+
@dataclasses.dataclass
|
80
74
|
class MultiSelector(Selector):
|
81
75
|
"""Selector concatenating outputs of multiple selectors"""
|
82
76
|
|
@@ -9,6 +9,7 @@ oarepo_runtime/ext.py
|
|
9
9
|
oarepo_runtime/ext_config.py
|
10
10
|
oarepo_runtime/profile.py
|
11
11
|
oarepo_runtime/proxies.py
|
12
|
+
oarepo_runtime/tasks.py
|
12
13
|
oarepo_runtime/uow.py
|
13
14
|
oarepo_runtime.egg-info/PKG-INFO
|
14
15
|
oarepo_runtime.egg-info/SOURCES.txt
|
@@ -53,6 +54,7 @@ oarepo_runtime/datastreams/writers/validation_errors.py
|
|
53
54
|
oarepo_runtime/datastreams/writers/yaml.py
|
54
55
|
oarepo_runtime/i18n/__init__.py
|
55
56
|
oarepo_runtime/info/__init__.py
|
57
|
+
oarepo_runtime/info/check.py
|
56
58
|
oarepo_runtime/info/views.py
|
57
59
|
oarepo_runtime/records/__init__.py
|
58
60
|
oarepo_runtime/records/dumpers/__init__.py
|
@@ -5,7 +5,9 @@ oarepo_runtime = oarepo_runtime.ext:OARepoRuntime
|
|
5
5
|
oarepo_runtime = oarepo_runtime.ext:OARepoRuntime
|
6
6
|
|
7
7
|
[invenio_base.blueprints]
|
8
|
+
oarepo_runtime_check = oarepo_runtime.info.check:blueprint
|
8
9
|
oarepo_runtime_info = oarepo_runtime.info.views:create_wellknown_blueprint
|
9
10
|
|
10
11
|
[invenio_celery.tasks]
|
12
|
+
oarepo_runtime_check = oarepo_runtime.tasks
|
11
13
|
oarepo_runtime_datastreams = oarepo_runtime.datastreams
|
@@ -1,6 +1,6 @@
|
|
1
1
|
[metadata]
|
2
2
|
name = oarepo-runtime
|
3
|
-
version = 1.5.
|
3
|
+
version = 1.5.66
|
4
4
|
description = A set of runtime extensions of Invenio repository
|
5
5
|
authors = Alzbeta Pokorna
|
6
6
|
readme = README.md
|
@@ -50,8 +50,10 @@ invenio_base.api_apps =
|
|
50
50
|
oarepo_runtime = oarepo_runtime.ext:OARepoRuntime
|
51
51
|
invenio_celery.tasks =
|
52
52
|
oarepo_runtime_datastreams = oarepo_runtime.datastreams
|
53
|
+
oarepo_runtime_check = oarepo_runtime.tasks
|
53
54
|
invenio_base.blueprints =
|
54
55
|
oarepo_runtime_info = oarepo_runtime.info.views:create_wellknown_blueprint
|
56
|
+
oarepo_runtime_check = oarepo_runtime.info.check:blueprint
|
55
57
|
|
56
58
|
[oarepo.i18n]
|
57
59
|
languages =
|
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.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/datastreams/readers/__init__.py
RENAMED
File without changes
|
{oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/datastreams/readers/attachments.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/datastreams/readers/service.py
RENAMED
File without changes
|
File without changes
|
{oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/datastreams/semi_asynchronous.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/datastreams/writers/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/datastreams/writers/service.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
|
{oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/records/dumpers/edtf_interval.py
RENAMED
File without changes
|
File without changes
|
{oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/records/entity_resolvers/__init__.py
RENAMED
File without changes
|
{oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/records/entity_resolvers/proxies.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/records/relations/__init__.py
RENAMED
File without changes
|
File without changes
|
{oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/records/relations/internal.py
RENAMED
File without changes
|
File without changes
|
{oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/records/relations/pid_relation.py
RENAMED
File without changes
|
{oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/records/systemfields/__init__.py
RENAMED
File without changes
|
{oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/records/systemfields/featured_file.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/records/systemfields/mapping.py
RENAMED
File without changes
|
{oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/records/systemfields/owner.py
RENAMED
File without changes
|
{oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/records/systemfields/record_status.py
RENAMED
File without changes
|
{oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/records/systemfields/synthetic.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
|
{oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/services/custom_fields/__init__.py
RENAMED
File without changes
|
{oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/services/custom_fields/mappings.py
RENAMED
File without changes
|
{oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/services/expansions/__init__.py
RENAMED
File without changes
|
File without changes
|
{oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/services/expansions/service.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/services/facets/facet_groups_names.py
RENAMED
File without changes
|
File without changes
|
{oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/services/facets/nested_facet.py
RENAMED
File without changes
|
File without changes
|
{oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/services/facets/year_histogram.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/services/permissions/__init__.py
RENAMED
File without changes
|
{oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/services/permissions/generators.py
RENAMED
File without changes
|
{oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/services/relations/__init__.py
RENAMED
File without changes
|
{oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/services/relations/components.py
RENAMED
File without changes
|
File without changes
|
{oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/services/relations/mapping.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/services/schema/i18n_validation.py
RENAMED
File without changes
|
{oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/services/schema/marshmallow.py
RENAMED
File without changes
|
{oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/services/schema/oneofschema.py
RENAMED
File without changes
|
{oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/services/schema/polymorphic.py
RENAMED
File without changes
|
File without changes
|
{oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/services/schema/validation.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/translations/default_translations.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime/translations/jinjax_messages.jinja
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{oarepo_runtime-1.5.64 → oarepo_runtime-1.5.66}/oarepo_runtime.egg-info/dependency_links.txt
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|