oarepo-runtime 1.3.20__tar.gz → 1.3.21__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (89) hide show
  1. {oarepo-runtime-1.3.20/oarepo_runtime.egg-info → oarepo-runtime-1.3.21}/PKG-INFO +1 -1
  2. oarepo-runtime-1.3.21/oarepo_runtime/drafts/systemfields/has_draftcheck.py +47 -0
  3. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/ext.py +3 -0
  4. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/ext_config.py +3 -0
  5. oarepo-runtime-1.3.21/oarepo_runtime/ui/__init__.py +0 -0
  6. oarepo-runtime-1.3.21/oarepo_runtime/utils/__init__.py +0 -0
  7. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21/oarepo_runtime.egg-info}/PKG-INFO +1 -1
  8. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime.egg-info/SOURCES.txt +3 -0
  9. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime.egg-info/requires.txt +2 -0
  10. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/setup.cfg +3 -1
  11. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/LICENSE +0 -0
  12. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/MANIFEST.in +0 -0
  13. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/README.md +0 -0
  14. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/__init__.py +0 -0
  15. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/cf/__init__.py +0 -0
  16. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/cf/cli.py +0 -0
  17. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/cf/mappings.py +0 -0
  18. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/cli/__init__.py +0 -0
  19. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/cli/assets.py +0 -0
  20. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/cli/base.py +0 -0
  21. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/cli/check.py +0 -0
  22. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/cli/index.py +0 -0
  23. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/cli/validate.py +0 -0
  24. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/config/__init__.py +0 -0
  25. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/config/permissions_presets.py +0 -0
  26. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/config/service.py +0 -0
  27. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/datastreams/__init__.py +0 -0
  28. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/datastreams/batch.py +0 -0
  29. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/datastreams/catalogue.py +0 -0
  30. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/datastreams/cli.py +0 -0
  31. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/datastreams/config.py +0 -0
  32. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/datastreams/datastreams.py +0 -0
  33. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/datastreams/errors.py +0 -0
  34. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/datastreams/fixtures.py +0 -0
  35. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/datastreams/readers/__init__.py +0 -0
  36. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/datastreams/readers/excel.py +0 -0
  37. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/datastreams/readers/json.py +0 -0
  38. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/datastreams/readers/service.py +0 -0
  39. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/datastreams/readers/yaml.py +0 -0
  40. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/datastreams/transformers.py +0 -0
  41. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/datastreams/writers/__init__.py +0 -0
  42. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/datastreams/writers/service.py +0 -0
  43. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/datastreams/writers/validation_errors.py +0 -0
  44. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/datastreams/writers/yaml.py +0 -0
  45. {oarepo-runtime-1.3.20/oarepo_runtime/expansions → oarepo-runtime-1.3.21/oarepo_runtime/drafts}/__init__.py +0 -0
  46. {oarepo-runtime-1.3.20/oarepo_runtime/facets → oarepo-runtime-1.3.21/oarepo_runtime/drafts/systemfields}/__init__.py +0 -0
  47. {oarepo-runtime-1.3.20/oarepo_runtime/i18n → oarepo-runtime-1.3.21/oarepo_runtime/expansions}/__init__.py +0 -0
  48. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/expansions/expandable_fields.py +0 -0
  49. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/expansions/service.py +0 -0
  50. {oarepo-runtime-1.3.20/oarepo_runtime/tasks → oarepo-runtime-1.3.21/oarepo_runtime/facets}/__init__.py +0 -0
  51. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/facets/base.py +0 -0
  52. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/facets/date.py +0 -0
  53. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/facets/enum.py +0 -0
  54. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/facets/max_facet.py +0 -0
  55. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/facets/nested_facet.py +0 -0
  56. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/facets/params.py +0 -0
  57. {oarepo-runtime-1.3.20/oarepo_runtime/ui → oarepo-runtime-1.3.21/oarepo_runtime/i18n}/__init__.py +0 -0
  58. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/i18n/default_translations.py +0 -0
  59. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/i18n/dumper.py +0 -0
  60. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/i18n/schema.py +0 -0
  61. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/i18n/ui_schema.py +0 -0
  62. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/i18n/validation.py +0 -0
  63. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/marshmallow.py +0 -0
  64. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/polymorphic.py +0 -0
  65. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/relations/__init__.py +0 -0
  66. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/relations/base.py +0 -0
  67. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/relations/components.py +0 -0
  68. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/relations/internal.py +0 -0
  69. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/relations/lookup.py +0 -0
  70. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/relations/mapping.py +0 -0
  71. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/relations/pid_relation.py +0 -0
  72. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/relations/uow.py +0 -0
  73. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/resolvers/__init__.py +0 -0
  74. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/resolvers/proxies.py +0 -0
  75. {oarepo-runtime-1.3.20/oarepo_runtime/utils → oarepo-runtime-1.3.21/oarepo_runtime/tasks}/__init__.py +0 -0
  76. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/tasks/datastreams.py +0 -0
  77. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/translations/cs/LC_MESSAGES/messages.mo +0 -0
  78. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/translations/cs/LC_MESSAGES/messages.po +0 -0
  79. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/translations/en/LC_MESSAGES/messages.po +0 -0
  80. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/translations/messages.pot +0 -0
  81. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/ui/marshmallow.py +0 -0
  82. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/utils/path.py +0 -0
  83. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/validation/__init__.py +0 -0
  84. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime/validation/dates.py +0 -0
  85. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime.egg-info/dependency_links.txt +0 -0
  86. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime.egg-info/entry_points.txt +0 -0
  87. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/oarepo_runtime.egg-info/top_level.txt +0 -0
  88. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/pyproject.toml +0 -0
  89. {oarepo-runtime-1.3.20 → oarepo-runtime-1.3.21}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: oarepo-runtime
3
- Version: 1.3.20
3
+ Version: 1.3.21
4
4
  Summary: A set of runtime extensions of Invenio repository
5
5
  Description-Content-Type: text/markdown
6
6
  Provides-Extra: devs
@@ -0,0 +1,47 @@
1
+ from invenio_records.dictutils import dict_set
2
+ from invenio_records.systemfields import SystemField
3
+ from sqlalchemy.orm.exc import NoResultFound
4
+
5
+ from oarepo_runtime.cf import CustomFieldsMixin
6
+
7
+
8
+ # taken from https://github.com/inveniosoftware/invenio-rdm-records/blob/master/invenio_rdm_records/records/systemfields/has_draftcheck.py
9
+ class HasDraftCheckField(CustomFieldsMixin, SystemField):
10
+ """PID status field which checks against an expected status."""
11
+
12
+ def __init__(self, draft_cls=None, key=None, **kwargs):
13
+ """Initialize the PIDField.
14
+
15
+ It stores the `record.has_draft` value in the secondary storage
16
+ system's record or defaults to `False` if the `draft_cls` is not passed
17
+ e.g Draft records.
18
+
19
+ :param key: Attribute name of the HasDraftCheckField.
20
+ :param draft_cls: The draft class to use for querying.
21
+ """
22
+ super().__init__(key=key, **kwargs)
23
+ self.draft_cls = draft_cls
24
+
25
+ #
26
+ # Data descriptor methods (i.e. attribute access)
27
+ #
28
+ def __get__(self, record, owner=None):
29
+ if record is None:
30
+ return self # returns the field itself.
31
+
32
+ # If not draft_cls is passed return False
33
+ if self.draft_cls is None:
34
+ return False
35
+
36
+ try:
37
+ self.draft_cls.get_record(record.id)
38
+ return True
39
+ except NoResultFound:
40
+ return False
41
+
42
+ def pre_dump(self, record, data, **kwargs):
43
+ dict_set(data, self.key, record.has_draft)
44
+ """
45
+ def post_load(self, record, data, **kwargs):
46
+ record.pop(self.key, None)
47
+ """
@@ -40,3 +40,6 @@ class OARepoRuntime(object):
40
40
 
41
41
  elif k.startswith("DATASTREAMS_"):
42
42
  app.config.setdefault(k, getattr(ext_config, k))
43
+
44
+ elif k == "HAS_DRAFT_CUSTOM_FIELD":
45
+ app.config.setdefault(k, getattr(ext_config, k))
@@ -11,6 +11,7 @@ from oarepo_runtime.datastreams.readers.service import ServiceReader
11
11
  from oarepo_runtime.datastreams.readers.yaml import YamlReader
12
12
  from oarepo_runtime.datastreams.writers.service import ServiceWriter
13
13
  from oarepo_runtime.datastreams.writers.yaml import YamlWriter
14
+ from invenio_records_resources.services.custom_fields import BooleanCF
14
15
 
15
16
  OAREPO_PERMISSIONS_PRESETS = {
16
17
  "read_only": ReadOnlyPermissionPolicy,
@@ -53,3 +54,5 @@ DATASTREAMS_TRANSFORMERS = {}
53
54
  DEFAULT_DATASTREAMS_EXCLUDES = []
54
55
 
55
56
  DATASTREAMS_CONFIG_GENERATOR = default_config_generator
57
+
58
+ HAS_DRAFT_CUSTOM_FIELD = [BooleanCF("has_draft")]
File without changes
File without changes
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: oarepo-runtime
3
- Version: 1.3.20
3
+ Version: 1.3.21
4
4
  Summary: A set of runtime extensions of Invenio repository
5
5
  Description-Content-Type: text/markdown
6
6
  Provides-Extra: devs
@@ -45,6 +45,9 @@ oarepo_runtime/datastreams/writers/__init__.py
45
45
  oarepo_runtime/datastreams/writers/service.py
46
46
  oarepo_runtime/datastreams/writers/validation_errors.py
47
47
  oarepo_runtime/datastreams/writers/yaml.py
48
+ oarepo_runtime/drafts/__init__.py
49
+ oarepo_runtime/drafts/systemfields/__init__.py
50
+ oarepo_runtime/drafts/systemfields/has_draftcheck.py
48
51
  oarepo_runtime/expansions/__init__.py
49
52
  oarepo_runtime/expansions/expandable_fields.py
50
53
  oarepo_runtime/expansions/service.py
@@ -21,3 +21,5 @@ invenio-app
21
21
  invenio-search[opensearch2]
22
22
  oarepo<12,>=11.0
23
23
  uritemplate>=4.1.1
24
+ oarepo-model-builder
25
+ oarepo-model-builder-tests
@@ -1,6 +1,6 @@
1
1
  [metadata]
2
2
  name = oarepo-runtime
3
- version = 1.3.20
3
+ version = 1.3.21
4
4
  description = A set of runtime extensions of Invenio repository
5
5
  authors = Alzbeta Pokorna
6
6
  readme = README.md
@@ -33,6 +33,8 @@ tests =
33
33
  invenio-search[opensearch2]
34
34
  oarepo>=11.0,<12
35
35
  uritemplate>=4.1.1
36
+ oarepo-model-builder
37
+ oarepo-model-builder-tests
36
38
 
37
39
  [options.package_data]
38
40
  * = *.json, *.rst, *.md, *.json5, *.jinja2
File without changes