deltafi 2.0rc1722614194270__py3-none-any.whl → 2.0rc1723500522958__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.
Potentially problematic release.
This version of deltafi might be problematic. Click here for more details.
- deltafi/action.py +21 -13
- deltafi/plugin.py +2 -1
- {deltafi-2.0rc1722614194270.dist-info → deltafi-2.0rc1723500522958.dist-info}/METADATA +1 -1
- {deltafi-2.0rc1722614194270.dist-info → deltafi-2.0rc1723500522958.dist-info}/RECORD +5 -5
- {deltafi-2.0rc1722614194270.dist-info → deltafi-2.0rc1723500522958.dist-info}/WHEEL +0 -0
deltafi/action.py
CHANGED
|
@@ -27,6 +27,16 @@ from deltafi.result import *
|
|
|
27
27
|
from pydantic import BaseModel
|
|
28
28
|
|
|
29
29
|
|
|
30
|
+
class Join(ABC):
|
|
31
|
+
def join(self, transform_inputs: List[TransformInput]):
|
|
32
|
+
all_content = []
|
|
33
|
+
all_metadata = {}
|
|
34
|
+
for transform_input in transform_inputs:
|
|
35
|
+
all_content += transform_input.content
|
|
36
|
+
all_metadata.update(transform_input.metadata)
|
|
37
|
+
return TransformInput(content=all_content, metadata=all_metadata)
|
|
38
|
+
|
|
39
|
+
|
|
30
40
|
class Action(ABC):
|
|
31
41
|
def __init__(self, action_type: ActionType, description: str, valid_result_types: tuple):
|
|
32
42
|
self.action_type = action_type
|
|
@@ -38,7 +48,7 @@ class Action(ABC):
|
|
|
38
48
|
def build_input(self, context: Context, delta_file_message: DeltaFileMessage):
|
|
39
49
|
pass
|
|
40
50
|
|
|
41
|
-
def
|
|
51
|
+
def execute_join_action(self, event):
|
|
42
52
|
raise RuntimeError(f"Join is not supported for {self.__class__.__name__}")
|
|
43
53
|
|
|
44
54
|
@abstractmethod
|
|
@@ -49,11 +59,7 @@ class Action(ABC):
|
|
|
49
59
|
if event.delta_file_messages is None or not len(event.delta_file_messages):
|
|
50
60
|
raise RuntimeError(f"Received event with no delta file messages for did {event.context.did}")
|
|
51
61
|
if event.context.join is not None:
|
|
52
|
-
result = self.
|
|
53
|
-
event.context,
|
|
54
|
-
self.join([self.build_input(event.context, delta_file_message)
|
|
55
|
-
for delta_file_message in event.delta_file_messages]),
|
|
56
|
-
self.param_class().model_validate(event.params))
|
|
62
|
+
result = self.execute_join_action(event)
|
|
57
63
|
else:
|
|
58
64
|
result = self.execute(
|
|
59
65
|
event.context,
|
|
@@ -123,13 +129,15 @@ class TransformAction(Action, ABC):
|
|
|
123
129
|
def build_input(self, context: Context, delta_file_message: DeltaFileMessage):
|
|
124
130
|
return TransformInput(content=delta_file_message.content_list, metadata=delta_file_message.metadata)
|
|
125
131
|
|
|
126
|
-
def
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
132
|
+
def execute_join_action(self, event):
|
|
133
|
+
if (isinstance(self, Join)):
|
|
134
|
+
return self.execute(
|
|
135
|
+
event.context,
|
|
136
|
+
self.join([self.build_input(event.context, delta_file_message)
|
|
137
|
+
for delta_file_message in event.delta_file_messages]),
|
|
138
|
+
self.param_class().model_validate(event.params))
|
|
139
|
+
else:
|
|
140
|
+
super().execute_join_action(event)
|
|
133
141
|
|
|
134
142
|
@abstractmethod
|
|
135
143
|
def transform(self, context: Context, params: BaseModel, transform_input: TransformInput):
|
deltafi/plugin.py
CHANGED
|
@@ -38,7 +38,7 @@ from deltafi.exception import ExpectedContentException, MissingMetadataException
|
|
|
38
38
|
from deltafi.logger import get_logger
|
|
39
39
|
from deltafi.result import ErrorResult
|
|
40
40
|
from deltafi.storage import ContentService
|
|
41
|
-
from deltafi.action import Action
|
|
41
|
+
from deltafi.action import Action, Join
|
|
42
42
|
|
|
43
43
|
|
|
44
44
|
def _coordinates():
|
|
@@ -164,6 +164,7 @@ class Plugin(object):
|
|
|
164
164
|
'name': self.action_name(action),
|
|
165
165
|
'description': action.description,
|
|
166
166
|
'type': action.action_type.name,
|
|
167
|
+
'supportsJoin': isinstance(action, Join),
|
|
167
168
|
'schema': action.param_class().model_json_schema()
|
|
168
169
|
}
|
|
169
170
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
deltafi/__init__.py,sha256=qv6y7PpBG0ekTN9EuD9Lj8JYOLVqZA6tvHwgjplncAM,709
|
|
2
|
-
deltafi/action.py,sha256=
|
|
2
|
+
deltafi/action.py,sha256=ejORyFe1cFCC04fdNt1VPWHqhNqZGjpLeD9tTQAYs1w,5755
|
|
3
3
|
deltafi/actioneventqueue.py,sha256=mCRE1PFXy_KvaeezTeMze5N400CO1V06zEF8FFD6xZk,2847
|
|
4
4
|
deltafi/actiontype.py,sha256=V7JbTgHQIaWQ2N36pG-XV7kAXhq8qvj954z71iHw_wI,913
|
|
5
5
|
deltafi/domain.py,sha256=98295Cpm-y6BlbI2b7LvHj4OPD6LXOw1bqK9E8Pm5no,12030
|
|
@@ -8,7 +8,7 @@ deltafi/genericmodel.py,sha256=LBIhU1rLU4HjoD8ooMfpbEhcRkrTIeGXCP1-0palKic,1152
|
|
|
8
8
|
deltafi/input.py,sha256=2qQcOWqz7lOXZIZipTz5XtcGESpjdnUAsZ7b9YqHw7M,1656
|
|
9
9
|
deltafi/logger.py,sha256=b6vTKSJjfXfzJIKB7bLrefIvlaIQAxWkeDJYzT1EXes,2141
|
|
10
10
|
deltafi/metric.py,sha256=eIDjZQVO53KuAFoEtjLNFwqMrp_7BC0Td9GLD1tb6sE,967
|
|
11
|
-
deltafi/plugin.py,sha256=
|
|
11
|
+
deltafi/plugin.py,sha256=BxwesFkZ0Zyq2L05nGRz6lMKDxINTqHkcNu_s7r3O_4,12522
|
|
12
12
|
deltafi/result.py,sha256=AMjGygjvix9PdUbQvSa_gZEkTn9BJh2p-BdirqdjJpM,8212
|
|
13
13
|
deltafi/storage.py,sha256=toq58EPZgzj2TfDF-YpFUmRnsWSjACA0KQAZzkM04xU,2740
|
|
14
14
|
deltafi/test_kit/__init__.py,sha256=qv6y7PpBG0ekTN9EuD9Lj8JYOLVqZA6tvHwgjplncAM,709
|
|
@@ -18,6 +18,6 @@ deltafi/test_kit/constants.py,sha256=epz0OS-qILcc8t7iIs5B3m2-wvZx8FpYpyb19ZsImbI
|
|
|
18
18
|
deltafi/test_kit/egress.py,sha256=nF7YYak-_X35m7h2rSIcju86IJBf8cVaFHs7xw7-_b8,1899
|
|
19
19
|
deltafi/test_kit/framework.py,sha256=mgKR1Yd75p76wIqWO5XpP6eMgC8fvz9MAfS01QV9WuU,14910
|
|
20
20
|
deltafi/test_kit/transform.py,sha256=q9zQdZswTKwU5Om8E9Lwg0G5JI8LEXuRZjT9oam-Zoo,4085
|
|
21
|
-
deltafi-2.
|
|
22
|
-
deltafi-2.
|
|
23
|
-
deltafi-2.
|
|
21
|
+
deltafi-2.0rc1723500522958.dist-info/METADATA,sha256=qxdr7QUZ0KVJqruGH0F9UhY-OtnYyoaPv6JEfPsAomM,1446
|
|
22
|
+
deltafi-2.0rc1723500522958.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
|
23
|
+
deltafi-2.0rc1723500522958.dist-info/RECORD,,
|
|
File without changes
|