@@ -35,14 +35,13 @@ def convert_to_datetime(timestamp):
3535 parameters_csv = csv .DictReader (open (f'parameters/bi-{ query_id } .txt' ), delimiter = '|' )
3636
3737 for query_parameters in parameters_csv :
38- query_parameters = {k : int (v ) if re .match (r'^[0-9]+$' , v ) else v for k , v in query_parameters .items ()}
39- query_parameters = {
40- k .replace ('[]' , '' ):
41- v .split (';' ) if re .findall ('\[\]$' , k ) else v for k , v in query_parameters .items ()
42- }
43- #re.findall('\[\]$', 'A')
44- query_parameters = {k : convert_to_datetime (v ) if re .findall ('date' , k .lower ()) else v for k , v in query_parameters .items ()}
45- print (query_parameters )
38+ # convert fields based on type designators
39+ query_parameters = {k : int (v ) if re .match ('.*:(ID|LONG)' , k ) else v for k , v in query_parameters .items ()}
40+ query_parameters = {k : convert_to_datetime (v ) if re .match ('.*:DATETIME' , k ) else v for k , v in query_parameters .items ()}
41+ query_parameters = {k : v .split (';' ) if re .findall ('\[\]$' , k ) else v for k , v in query_parameters .items ()}
42+ # drop type designators
43+ type_pattern = re .compile (':.*' )
44+ query_parameters = {type_pattern .sub ('' , k ): v for k , v in query_parameters .items ()}
4645 run_query (session , query_id , query_spec , query_parameters )
4746
4847driver .close ()
0 commit comments