osbot-utils 1.56.0__py3-none-any.whl → 1.57.0__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.
- osbot_utils/helpers/flows/Flow.py +22 -6
- osbot_utils/helpers/flows/Flow__Events.py +8 -0
- osbot_utils/helpers/flows/models/Flow__Event_Type.py +2 -0
- osbot_utils/version +1 -1
- {osbot_utils-1.56.0.dist-info → osbot_utils-1.57.0.dist-info}/METADATA +2 -2
- {osbot_utils-1.56.0.dist-info → osbot_utils-1.57.0.dist-info}/RECORD +8 -8
- {osbot_utils-1.56.0.dist-info → osbot_utils-1.57.0.dist-info}/LICENSE +0 -0
- {osbot_utils-1.56.0.dist-info → osbot_utils-1.57.0.dist-info}/WHEEL +0 -0
@@ -34,7 +34,20 @@ class Flow(Type_Safe):
|
|
34
34
|
cformat : CFormat
|
35
35
|
executed_tasks : typing.List
|
36
36
|
|
37
|
+
def add_flow_artifact(self, description=None, key=None, data=None, artifact_type=None): # todo: figure out how to make this work since at the moment most are showing an unknown type
|
38
|
+
result_data = dict(flow_run_id = self.flow_id,
|
39
|
+
description = description or 'description' ,
|
40
|
+
key = key or 'an-artifact-key' ,
|
41
|
+
data = data or {"link": "https://www.google.com", "link_text": "link to Google"}, # test data to see if it worksw
|
42
|
+
type = artifact_type or "link" ) # type clashed with built-in type
|
37
43
|
|
44
|
+
flow_events.on__new_artifact(self, result_data )
|
45
|
+
|
46
|
+
def add_flow_result(self, key, description):
|
47
|
+
result_data = dict(flow_run_id = self.flow_id,
|
48
|
+
key = key ,
|
49
|
+
description = description )
|
50
|
+
flow_events.on__new_result(self, result_data )
|
38
51
|
|
39
52
|
def config_logger(self):
|
40
53
|
with self.logger as _:
|
@@ -70,15 +83,11 @@ class Flow(Type_Safe):
|
|
70
83
|
if self.flow_config.log_to_memory:
|
71
84
|
self.captured_exec_logs = self.log_messages_with_colors()
|
72
85
|
self.logger.remove_memory_logger() # todo: move to method that does post-execute tasks
|
86
|
+
if self.flow_return_value:
|
87
|
+
self.add_flow_result(key = 'flow-return-value', description=f'{self.flow_return_value}')
|
73
88
|
flow_events.on__flow__stop(self)
|
74
89
|
return self
|
75
90
|
|
76
|
-
def f__flow_id(self):
|
77
|
-
return self.cformat.green(self.flow_id)
|
78
|
-
|
79
|
-
def f__flow_name(self):
|
80
|
-
return self.cformat.blue(self.flow_name)
|
81
|
-
|
82
91
|
def captured_logs(self):
|
83
92
|
return ansis_to_texts(self.captured_exec_logs)
|
84
93
|
|
@@ -93,6 +102,13 @@ class Flow(Type_Safe):
|
|
93
102
|
else:
|
94
103
|
self.flow_return_value = self.flow_target(*self.flow_args, **self.flow_kwargs) # if the flow is sync, just execute the flow target
|
95
104
|
|
105
|
+
def f__flow_id(self):
|
106
|
+
return self.cformat.green(self.flow_id)
|
107
|
+
|
108
|
+
def f__flow_name(self):
|
109
|
+
return self.cformat.blue(self.flow_name)
|
110
|
+
|
111
|
+
|
96
112
|
def log_captured_stdout(self, stdout):
|
97
113
|
for line in stdout.value().splitlines():
|
98
114
|
if line:
|
@@ -27,6 +27,14 @@ class Flow_Events(Type_Safe):
|
|
27
27
|
flow_event = Flow__Event(event_type=Flow__Event_Type.FLOW_MESSAGE, event_source=flow, event_data=event_data)
|
28
28
|
self.raise_event(flow_event)
|
29
29
|
|
30
|
+
def on__new_artifact(self, flow, result_data):
|
31
|
+
flow_event = Flow__Event(event_type=Flow__Event_Type.NEW_ARTIFACT , event_source=flow, event_data=result_data)
|
32
|
+
self.raise_event(flow_event)
|
33
|
+
|
34
|
+
def on__new_result(self, flow, result_data):
|
35
|
+
flow_event = Flow__Event(event_type=Flow__Event_Type.NEW_RESULT , event_source=flow, event_data=result_data)
|
36
|
+
self.raise_event(flow_event)
|
37
|
+
|
30
38
|
def on__task__start(self, task):
|
31
39
|
flow_event = Flow__Event(event_type=Flow__Event_Type.TASK_START, event_source=task)
|
32
40
|
self.raise_event(flow_event)
|
@@ -4,5 +4,7 @@ class Flow__Event_Type(Type_Safe):
|
|
4
4
|
FLOW_MESSAGE: str = 'flow_message'
|
5
5
|
FLOW_START : str = 'flow_start'
|
6
6
|
FLOW_STOP : str = 'flow_stop'
|
7
|
+
NEW_ARTIFACT: str = 'new_artifact'
|
8
|
+
NEW_RESULT : str = 'new_result'
|
7
9
|
TASK_START : str = 'task_start'
|
8
10
|
TASK_STOP : str = 'task_stop'
|
osbot_utils/version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
v1.
|
1
|
+
v1.57.0
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: osbot_utils
|
3
|
-
Version: 1.
|
3
|
+
Version: 1.57.0
|
4
4
|
Summary: OWASP Security Bot - Utils
|
5
5
|
Home-page: https://github.com/owasp-sbot/OSBot-Utils
|
6
6
|
License: MIT
|
@@ -22,7 +22,7 @@ Description-Content-Type: text/markdown
|
|
22
22
|
|
23
23
|
Powerful Python util methods and classes that simplify common apis and tasks.
|
24
24
|
|
25
|
-

|
26
26
|
[](https://codecov.io/gh/owasp-sbot/OSBot-Utils)
|
27
27
|
|
28
28
|
|
@@ -154,8 +154,8 @@ osbot_utils/helpers/cache_requests/Cache__Requests__Row.py,sha256=h-yc7NkpScbHww
|
|
154
154
|
osbot_utils/helpers/cache_requests/Cache__Requests__Table.py,sha256=RgxAYhm-FIrXXteQRtD91pOLq8JXhSzxb51Jb6MTUdY,391
|
155
155
|
osbot_utils/helpers/cache_requests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
156
156
|
osbot_utils/helpers/cache_requests/flows/flow__Cache__Requests.py,sha256=xgx_oExxkcvRwQN1UCobimECIMUKGoIX5oGdCmp8Nyw,243
|
157
|
-
osbot_utils/helpers/flows/Flow.py,sha256=
|
158
|
-
osbot_utils/helpers/flows/Flow__Events.py,sha256=
|
157
|
+
osbot_utils/helpers/flows/Flow.py,sha256=EpREDUue3OF7KkX2ocGfUT5NGUmqNPzpSv5qFo0rXXY,8914
|
158
|
+
osbot_utils/helpers/flows/Flow__Events.py,sha256=u9GzVNd08Hr49ZRIpoRDhwJnAHUFB-XzFzmNw-r3_Q0,2535
|
159
159
|
osbot_utils/helpers/flows/Task.py,sha256=ITR6qFd_BWEFtWJ5wZUFcxq3A3FyN4YzU7_CeIuUph0,4809
|
160
160
|
osbot_utils/helpers/flows/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
161
161
|
osbot_utils/helpers/flows/decorators/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -163,7 +163,7 @@ osbot_utils/helpers/flows/decorators/flow.py,sha256=LUL7bHjZ_lC3QoTNh-KsDZHzjE2u
|
|
163
163
|
osbot_utils/helpers/flows/decorators/task.py,sha256=9bhQBPJU1dO-J4FAsFkmxqQMBNtay4FT_b1BdpHJ9sA,734
|
164
164
|
osbot_utils/helpers/flows/models/Flow__Config.py,sha256=NLIfT0S8zxbig6Q1p9KeoyE2qRVWorHxk-JXCv9Yx-U,382
|
165
165
|
osbot_utils/helpers/flows/models/Flow__Event.py,sha256=O2SNmDG8FTsQQqm5tWmbomQsC_usA7EqMQhTWIFl4KM,157
|
166
|
-
osbot_utils/helpers/flows/models/Flow__Event_Type.py,sha256=
|
166
|
+
osbot_utils/helpers/flows/models/Flow__Event_Type.py,sha256=vPDW-7D96Sjn0X6-V1Xgp4ytQ58SgSbX0kyflXNwmK4,353
|
167
167
|
osbot_utils/helpers/flows/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
168
168
|
osbot_utils/helpers/html/Dict_To_Css.py,sha256=u6B4Mx7PXr-gDrTrs1hgknnvsZVK4Fic5LqedKjo-lk,1097
|
169
169
|
osbot_utils/helpers/html/Dict_To_Html.py,sha256=OlRSaDGOeseBNTxRB2ho5whqEacMXeAXWOfeVSEYqC4,3355
|
@@ -302,8 +302,8 @@ osbot_utils/utils/Toml.py,sha256=SD6IA4-mrtoBXcI0dIGKV9POMQNd6WYKvmDQq7GQ6ZQ,143
|
|
302
302
|
osbot_utils/utils/Version.py,sha256=Ww6ChwTxqp1QAcxOnztkTicShlcx6fbNsWX5xausHrg,422
|
303
303
|
osbot_utils/utils/Zip.py,sha256=G6Hk_hDcm9yvWzhTKzhT0R_6f0NBIAchHqMxGb3kfh4,14037
|
304
304
|
osbot_utils/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
305
|
-
osbot_utils/version,sha256
|
306
|
-
osbot_utils-1.
|
307
|
-
osbot_utils-1.
|
308
|
-
osbot_utils-1.
|
309
|
-
osbot_utils-1.
|
305
|
+
osbot_utils/version,sha256=-M9mlli4O3LFg1u4RXSB9HGXK1Oa4UQlFSszYzJo7pc,8
|
306
|
+
osbot_utils-1.57.0.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
307
|
+
osbot_utils-1.57.0.dist-info/METADATA,sha256=Y_i8XIlAw6apKcCZkM-wT8Dm-gcCsOkMIfwTUrX6w1I,1266
|
308
|
+
osbot_utils-1.57.0.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
309
|
+
osbot_utils-1.57.0.dist-info/RECORD,,
|
File without changes
|
File without changes
|