@@ -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 """
0 commit comments