oarepo-runtime 1.5.84__py3-none-any.whl → 1.5.85__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.
@@ -8,7 +8,9 @@ from invenio_records import Record
8
8
 
9
9
  from oarepo_runtime.services.custom_fields import CustomFieldsMixin, CustomFields, InlinedCustomFields
10
10
  from oarepo_runtime.services.generators import RecordOwners
11
-
11
+ from invenio_rdm_records.services.config import RDMRecordServiceConfig
12
+ from invenio_drafts_resources.services.records.config import RecordServiceConfig as DraftsRecordServiceConfig
13
+ from invenio_records_resources.services.records.config import RecordServiceConfig as RecordsRecordServiceConfig
12
14
 
13
15
  try:
14
16
  from invenio_drafts_resources.services.records.uow import ParentRecordCommitOp
@@ -90,16 +92,24 @@ class CustomFieldsComponent(ServiceComponent):
90
92
  for c in config:
91
93
  record[c.name] =data.get(c.name)
92
94
 
93
- def process_service_configs(service_configs):
94
- """
95
- Processes a list of service_config classes. If a class has a `components` attribute,
96
- it extends the result with the values in it.
95
+ def process_service_configs(service_config):
97
96
 
98
- :param service_config: List of service_config classes to process.
99
- :return: A flattened list of processed components.
100
- """
101
97
  processed_components = []
98
+ target_classes = {
99
+ RDMRecordServiceConfig,
100
+ DraftsRecordServiceConfig,
101
+ RecordsRecordServiceConfig,
102
+ }
103
+
104
+ for end_index, cls in enumerate(type(service_config).mro()):
105
+ if cls in target_classes:
106
+ break
107
+
108
+ # We need this because if the "build" function is present in service_config,
109
+ # there are two service_config instances in the MRO (Method Resolution Order) output.
110
+ start_index = 2 if hasattr(service_config, "build") else 1
102
111
 
112
+ service_configs = type(service_config).mro()[start_index:end_index + 1]
103
113
  for config in service_configs:
104
114
 
105
115
  if hasattr(config, "build"):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: oarepo-runtime
3
- Version: 1.5.84
3
+ Version: 1.5.85
4
4
  Summary: A set of runtime extensions of Invenio repository
5
5
  Description-Content-Type: text/markdown
6
6
  License-File: LICENSE
@@ -73,7 +73,7 @@ oarepo_runtime/resources/file_resource.py,sha256=Ta3bFce7l0xwqkkOMOEu9mxbB8BbKj5
73
73
  oarepo_runtime/resources/json_serializer.py,sha256=82_-xQEtxKaPakv8R1oBAFbGnxskF_Ve4tcfcy4PetI,963
74
74
  oarepo_runtime/resources/localized_ui_json_serializer.py,sha256=3V9cJaG_e1PMXKVX_wKfBp1LmbeForwHyBNYdyha4uQ,1878
75
75
  oarepo_runtime/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
76
- oarepo_runtime/services/components.py,sha256=k--zu1RinwoKzg5qHp4H-Ddp9AFyjMJ97fydQ0DvI-A,4238
76
+ oarepo_runtime/services/components.py,sha256=UuRKnJuUFrOVHBBG229i52T4XhZk1kECo-WKZhieWeI,4811
77
77
  oarepo_runtime/services/generators.py,sha256=j87HitHA_w2awsz0C5IAAJ0qjg9JMtvdO3dvh6FQyfg,250
78
78
  oarepo_runtime/services/results.py,sha256=Ap2mUJHl3V4BSduTrBWPuco0inQVq0QsuCbVhez48uY,5705
79
79
  oarepo_runtime/services/search.py,sha256=9xGTN5Yg6eTdptQ9qjO_umbacf9ooMuHYGXWYfla4-M,6227
@@ -135,9 +135,9 @@ tests/marshmallow_to_json/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJW
135
135
  tests/marshmallow_to_json/test_datacite_ui_schema.py,sha256=82iLj8nW45lZOUewpWbLX3mpSkpa9lxo-vK-Qtv_1bU,48552
136
136
  tests/marshmallow_to_json/test_simple_schema.py,sha256=izZN9p0v6kovtSZ6AdxBYmK_c6ZOti2_z_wPT_zXIr0,1500
137
137
  tests/pkg_data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
138
- oarepo_runtime-1.5.84.dist-info/LICENSE,sha256=h2uWz0OaB3EN-J1ImdGJZzc7yvfQjvHVYdUhQ-H7ypY,1064
139
- oarepo_runtime-1.5.84.dist-info/METADATA,sha256=vf27mv-YipJbe7gw3xWB9blq9p1Bszu5U4AEwT92ePg,4720
140
- oarepo_runtime-1.5.84.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
141
- oarepo_runtime-1.5.84.dist-info/entry_points.txt,sha256=k7O5LZUOGsVeSpB7ulU0txBUNp1CVQG7Q7TJIVTPbzU,491
142
- oarepo_runtime-1.5.84.dist-info/top_level.txt,sha256=bHhlkT1_RQC4IkfTQCqA3iN4KCB6cSFQlsXpQMSP-bE,21
143
- oarepo_runtime-1.5.84.dist-info/RECORD,,
138
+ oarepo_runtime-1.5.85.dist-info/LICENSE,sha256=h2uWz0OaB3EN-J1ImdGJZzc7yvfQjvHVYdUhQ-H7ypY,1064
139
+ oarepo_runtime-1.5.85.dist-info/METADATA,sha256=xLjyEEsOykQC2jIlRcsENaEErL8ggHJWWzpXvhsiRWM,4720
140
+ oarepo_runtime-1.5.85.dist-info/WHEEL,sha256=OVMc5UfuAQiSplgO0_WdW7vXVGAt9Hdd6qtN4HotdyA,91
141
+ oarepo_runtime-1.5.85.dist-info/entry_points.txt,sha256=k7O5LZUOGsVeSpB7ulU0txBUNp1CVQG7Q7TJIVTPbzU,491
142
+ oarepo_runtime-1.5.85.dist-info/top_level.txt,sha256=bHhlkT1_RQC4IkfTQCqA3iN4KCB6cSFQlsXpQMSP-bE,21
143
+ oarepo_runtime-1.5.85.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (72.1.0)
2
+ Generator: setuptools (75.2.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5