Skip to content

Commit 9286abd

Browse files
[Add] data-store:overwrite action
1 parent 13f565d commit 9286abd

2 files changed

Lines changed: 57 additions & 6 deletions

File tree

Framework/Built_In_Automation/Sequential_Actions/action_declarations/common.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -90,12 +90,13 @@
9090
{"name":"download attachment from global", "function": "download_attachment_from_global", "screenshot": "none" },
9191

9292
# data-store actions
93-
{"name": "data store: read", "function": "data_store_read", "screenshot": "none"},
94-
{"name": "data store: get data", "function": "data_store_get_data", "screenshot": "none"},
95-
{"name": "data store: stats", "function": "data_store_get_stats", "screenshot": "none"},
96-
{"name": "data store: write", "function": "data_store_write", "screenshot": "none"},
97-
{"name": "data store: insert", "function": "data_store_insert", "screenshot": "none"},
98-
{"name": "data store: insert column", "function": "data_store_insert_column", "screenshot": "none"},
93+
{"name": "data store: read", "function": "data_store_read", "screenshot": "none"},
94+
{"name": "data store: get data", "function": "data_store_get_data", "screenshot": "none"},
95+
{"name": "data store: stats", "function": "data_store_get_stats", "screenshot": "none"},
96+
{"name": "data store: write", "function": "data_store_write", "screenshot": "none"},
97+
{"name": "data store: overwrite", "function": "data_store_overwrite", "screenshot": "none"},
98+
{"name": "data store: insert", "function": "data_store_insert", "screenshot": "none"},
99+
{"name": "data store: insert column", "function": "data_store_insert_column", "screenshot": "none"},
99100

100101

101102
# Client specific actions

Framework/Built_In_Automation/Sequential_Actions/common_functions.py

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6089,6 +6089,56 @@ def data_store_write(data_set):
60896089
return CommonUtil.Exception_Handler(sys.exc_info())
60906090

60916091

6092+
def data_store_overwrite(data_set):
6093+
"""
6094+
This function overwrites on existing data. So be careful.
6095+
Just provide raw list of list of strings.
6096+
Args:
6097+
data_set:
6098+
------------------------------------------------------------------------------
6099+
table name | input parameter | table_name
6100+
data | input parameter | [[str, str, ...] , [...], .... ]
6101+
data store: overwrite | common action | response_var
6102+
------------------------------------------------------------------------------
6103+
"""
6104+
6105+
sModuleInfo = inspect.currentframe().f_code.co_name + " : " + MODULE_NAME
6106+
6107+
try:
6108+
table_id = var_name = data = None
6109+
for left, mid, right in data_set:
6110+
left = left.strip().lower()
6111+
if left == "table id":
6112+
table_id = right.strip()
6113+
if left == "data":
6114+
data = CommonUtil.parse_value_into_object(right.strip())
6115+
if left == "data store: overwrite":
6116+
var_name = right.strip()
6117+
6118+
if None in (table_id, data, var_name):
6119+
CommonUtil.ExecLog(sModuleInfo, "table id, data and var_name is required", 3)
6120+
return "zeuz_failed"
6121+
6122+
data_adjusted = [[[str(row_i), str(col_i), cell] for col_i, cell in enumerate(row)] for row_i, row in enumerate(data)]
6123+
headers = RequestFormatter.add_api_key_to_headers({})
6124+
res = requests.post(
6125+
RequestFormatter.form_uri(f"data_store/update_datastore/{table_id}"),
6126+
data={
6127+
'data': json.dumps(data_adjusted)
6128+
},
6129+
verify=False,
6130+
**headers
6131+
)
6132+
if res.status_code == 200:
6133+
return sr.Set_Shared_Variables(var_name, res.json())
6134+
else:
6135+
CommonUtil.ExecLog(sModuleInfo, "No data found to update , please check your dataset", 1)
6136+
return "passed"
6137+
6138+
except Exception:
6139+
return CommonUtil.Exception_Handler(sys.exc_info())
6140+
6141+
60926142

60936143
def data_store_insert(data_set):
60946144
"""

0 commit comments

Comments
 (0)