@@ -6056,7 +6056,7 @@ def data_store_write(data_set):
60566056 temp = [right .strip ()]
60576057 print (temp )
60586058 for t in temp :
6059- tt = t .split ('=' )
6059+ tt = t .split ('=' , 1 )
60606060 print (tt )
60616061 data [tt [0 ].strip ()]= tt [1 ].strip ()
60626062 print (data [tt [0 ].strip ()])
@@ -6077,7 +6077,7 @@ def data_store_write(data_set):
60776077 #
60786078
60796079 # print(res.text)
6080- if res .status_code == 200 :
6080+ if res .status_code == 200 :
60816081 # CommonUtil.ExecLog(sModuleInfo, f"Captured following output:\n{res.text}", 1)
60826082
60836083 return sr .Set_Shared_Variables (var_name , json .loads (res .text ),pretty = True )
@@ -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
60936143def data_store_insert (data_set ):
60946144 """
@@ -6112,14 +6162,12 @@ def data_store_insert(data_set):
61126162 table_name = columns = var_name = ""
61136163 params = {}
61146164 for left , mid , right in data_set :
6115- if left .strip () == 'table name' :
6165+ if left .strip (). lower () == 'table name' :
61166166 table_name = right .strip ()
61176167 params ['table_name' ] = table_name
6118- if left .strip () == 'data' :
6119- l = ast . literal_eval (right .strip ())
6168+ if left .strip (). lower () == 'data' :
6169+ l = CommonUtil . parse_value_into_object (right .strip ())
61206170
6121- if mid .strip () == "action" :
6122- var_name = right .strip ()
61236171 data = {
61246172 'table_name' :table_name ,
61256173 'data_list' :l
@@ -6134,7 +6182,7 @@ def data_store_insert(data_set):
61346182 verify = False ,
61356183 ** headers
61366184 )
6137- if res .status_code == 201 :
6185+ if res .status_code == 201 :
61386186 CommonUtil .ExecLog (sModuleInfo , "data inserted successfully" , 1 )
61396187 return "passed"
61406188 # return sr.Set_Shared_Variables(var_name, json.loads(res.text),pretty=True)
0 commit comments