oarepo-runtime 1.4.4__tar.gz → 1.4.5__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (96) hide show
  1. {oarepo-runtime-1.4.4/oarepo_runtime.egg-info → oarepo-runtime-1.4.5}/PKG-INFO +1 -1
  2. oarepo-runtime-1.4.5/oarepo_runtime/relations/errors.py +5 -0
  3. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/relations/pid_relation.py +17 -10
  4. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5/oarepo_runtime.egg-info}/PKG-INFO +1 -1
  5. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime.egg-info/SOURCES.txt +1 -0
  6. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/setup.cfg +1 -1
  7. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/LICENSE +0 -0
  8. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/MANIFEST.in +0 -0
  9. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/README.md +0 -0
  10. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/__init__.py +0 -0
  11. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/cf/__init__.py +0 -0
  12. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/cf/cli.py +0 -0
  13. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/cf/mappings.py +0 -0
  14. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/cli/__init__.py +0 -0
  15. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/cli/assets.py +0 -0
  16. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/cli/base.py +0 -0
  17. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/cli/check.py +0 -0
  18. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/cli/index.py +0 -0
  19. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/cli/validate.py +0 -0
  20. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/config/__init__.py +0 -0
  21. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/config/permissions_presets.py +0 -0
  22. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/config/service.py +0 -0
  23. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/datastreams/__init__.py +0 -0
  24. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/datastreams/batch.py +0 -0
  25. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/datastreams/catalogue.py +0 -0
  26. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/datastreams/cli.py +0 -0
  27. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/datastreams/config.py +0 -0
  28. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/datastreams/datastreams.py +0 -0
  29. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/datastreams/errors.py +0 -0
  30. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/datastreams/fixtures.py +0 -0
  31. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/datastreams/readers/__init__.py +0 -0
  32. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/datastreams/readers/attachments.py +0 -0
  33. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/datastreams/readers/excel.py +0 -0
  34. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/datastreams/readers/json.py +0 -0
  35. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/datastreams/readers/service.py +0 -0
  36. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/datastreams/readers/yaml.py +0 -0
  37. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/datastreams/transformers.py +0 -0
  38. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/datastreams/utils.py +0 -0
  39. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/datastreams/writers/__init__.py +0 -0
  40. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/datastreams/writers/attachment.py +0 -0
  41. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/datastreams/writers/service.py +0 -0
  42. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/datastreams/writers/validation_errors.py +0 -0
  43. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/datastreams/writers/yaml.py +0 -0
  44. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/drafts/__init__.py +0 -0
  45. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/drafts/systemfields/__init__.py +0 -0
  46. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/drafts/systemfields/has_draftcheck.py +0 -0
  47. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/expansions/__init__.py +0 -0
  48. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/expansions/expandable_fields.py +0 -0
  49. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/expansions/service.py +0 -0
  50. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/ext.py +0 -0
  51. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/ext_config.py +0 -0
  52. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/facets/__init__.py +0 -0
  53. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/facets/base.py +0 -0
  54. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/facets/date.py +0 -0
  55. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/facets/enum.py +0 -0
  56. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/facets/max_facet.py +0 -0
  57. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/facets/nested_facet.py +0 -0
  58. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/facets/params.py +0 -0
  59. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/i18n/__init__.py +0 -0
  60. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/i18n/default_translations.py +0 -0
  61. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/i18n/dumper.py +0 -0
  62. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/i18n/schema.py +0 -0
  63. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/i18n/ui_schema.py +0 -0
  64. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/i18n/validation.py +0 -0
  65. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/marshmallow.py +0 -0
  66. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/polymorphic.py +0 -0
  67. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/profile.py +0 -0
  68. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/relations/__init__.py +0 -0
  69. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/relations/base.py +0 -0
  70. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/relations/components.py +0 -0
  71. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/relations/internal.py +0 -0
  72. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/relations/lookup.py +0 -0
  73. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/relations/mapping.py +0 -0
  74. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/relations/uow.py +0 -0
  75. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/resolvers/__init__.py +0 -0
  76. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/resolvers/proxies.py +0 -0
  77. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/tasks/__init__.py +0 -0
  78. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/tasks/datastreams.py +0 -0
  79. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/translations/cs/LC_MESSAGES/messages.mo +0 -0
  80. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/translations/cs/LC_MESSAGES/messages.po +0 -0
  81. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/translations/en/LC_MESSAGES/messages.po +0 -0
  82. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/translations/messages.pot +0 -0
  83. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/ui/__init__.py +0 -0
  84. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/ui/marshmallow.py +0 -0
  85. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/uow.py +0 -0
  86. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/utils/__init__.py +0 -0
  87. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/utils/path.py +0 -0
  88. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/validation/__init__.py +0 -0
  89. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime/validation/dates.py +0 -0
  90. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime.egg-info/dependency_links.txt +0 -0
  91. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime.egg-info/entry_points.txt +0 -0
  92. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime.egg-info/requires.txt +0 -0
  93. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/oarepo_runtime.egg-info/top_level.txt +0 -0
  94. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/pyproject.toml +0 -0
  95. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/setup.py +0 -0
  96. {oarepo-runtime-1.4.4 → oarepo-runtime-1.4.5}/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.4.4
3
+ Version: 1.4.5
4
4
  Summary: A set of runtime extensions of Invenio repository
5
5
  Description-Content-Type: text/markdown
6
6
  License-File: LICENSE
@@ -0,0 +1,5 @@
1
+ class InvalidRelationError(KeyError):
2
+ def __init__(self, message, related_id, location):
3
+ self.related_id = related_id
4
+ self.location = location
5
+ super().__init__(message)
@@ -1,6 +1,7 @@
1
1
  from invenio_db import db
2
2
 
3
3
  from .base import Relation, RelationResult
4
+ from .errors import InvalidRelationError
4
5
  from .lookup import LookupResult
5
6
 
6
7
 
@@ -8,19 +9,23 @@ class PIDRelationResult(RelationResult):
8
9
  def resolve(self, id_):
9
10
  """Resolve the value using the record class."""
10
11
  # TODO: handle permissions here !!!!!!
11
- pid_field = self.field.pid_field.field
12
- cache_key = (
13
- pid_field._provider.pid_type
14
- if pid_field._provider
15
- else pid_field._pid_type,
16
- id_,
17
- )
12
+ pid_field_context = self.field.pid_field
13
+ if hasattr(pid_field_context, "pid_type"):
14
+ pid_type = pid_field_context.pid_type
15
+ else:
16
+ pid_field = pid_field_context.field
17
+ pid_type = (
18
+ pid_field._provider.pid_type
19
+ if pid_field._provider
20
+ else pid_field._pid_type
21
+ )
22
+ cache_key = (pid_type, id_)
18
23
  if cache_key in self.cache:
19
24
  obj = self.cache[cache_key]
20
25
  return obj
21
26
 
22
27
  try:
23
- obj = self.field.pid_field.resolve(id_)
28
+ obj = pid_field_context.resolve(id_)
24
29
  # We detach the related record model from the database session when
25
30
  # we add it in the cache. Otherwise, accessing the cached record
26
31
  # model, will execute a new select query after a db.session.commit.
@@ -28,8 +33,10 @@ class PIDRelationResult(RelationResult):
28
33
  self.cache[cache_key] = obj
29
34
  return obj
30
35
  except Exception as e:
31
- raise KeyError(
32
- f"Repository object {cache_key} has not been found or there was an exception accessing it"
36
+ raise InvalidRelationError(
37
+ f"Repository object {cache_key} has not been found or there was an exception accessing it. Referenced from {self.field.key}.",
38
+ related_id=id_,
39
+ location=self.field.key,
33
40
  ) from e
34
41
 
35
42
  def _needs_update_relation_value(self, relation: LookupResult):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: oarepo-runtime
3
- Version: 1.4.4
3
+ Version: 1.4.5
4
4
  Summary: A set of runtime extensions of Invenio repository
5
5
  Description-Content-Type: text/markdown
6
6
  License-File: LICENSE
@@ -72,6 +72,7 @@ oarepo_runtime/i18n/validation.py
72
72
  oarepo_runtime/relations/__init__.py
73
73
  oarepo_runtime/relations/base.py
74
74
  oarepo_runtime/relations/components.py
75
+ oarepo_runtime/relations/errors.py
75
76
  oarepo_runtime/relations/internal.py
76
77
  oarepo_runtime/relations/lookup.py
77
78
  oarepo_runtime/relations/mapping.py
@@ -1,6 +1,6 @@
1
1
  [metadata]
2
2
  name = oarepo-runtime
3
- version = 1.4.4
3
+ version = 1.4.5
4
4
  description = A set of runtime extensions of Invenio repository
5
5
  authors = Alzbeta Pokorna
6
6
  readme = README.md
File without changes
File without changes
File without changes