1414columns = ['filename' , 'pathname' , 'checksum' , 'tlshchecksum' , 'ossname' , 'ossversion' , 'license' , 'platformname' ,
1515 'platformversion' ]
1616
17+ DB_USER = 'bin_analysis_script_user'
18+ DB_PSWD = 'script_123'
19+
1720
1821def connect_to_lge_bin_db ():
1922 conn = ""
2023 cur = ""
21- user = 'bin_analysis_script_user'
22- password = 'script_123'
24+ user = DB_USER
25+ password = DB_PSWD
2326 host_product = 'bat.lge.com'
2427 dbname = 'bat'
2528 port = '5432'
@@ -73,29 +76,29 @@ def get_oss_info_from_db(platform_version, bin_info_list, return_list):
7376
7477def get_oss_info_by_tlsh_and_filename (file_name , checksum_value , tlsh_value , source_path , platform_version , conn , cur ):
7578 sql_statement = "SELECT filename,pathname,checksum,tlshchecksum,ossname,ossversion,license,platformname,platformversion FROM lgematching "
76- sql_statement_checksum = " WHERE filename='{ fname}' AND checksum='{ checksum}';" . format ( fname = file_name ,
77- checksum = checksum_value ) # Checking checksum first.
78- sql_statement_filename = "SELECT tlshchecksum FROM lgematching WHERE filename='{ fname}' AND tlshchecksum <> '0' ORDER BY ( " \
79+ sql_statement_checksum = " WHERE filename=%( fname)s AND checksum=%( checksum)s;"
80+ sql_checksum_params = { 'fname' : file_name , ' checksum' : checksum_value }
81+ sql_statement_filename = "SELECT tlshchecksum FROM lgematching WHERE filename=%( fname)s AND tlshchecksum <> '0' ORDER BY ( " \
7982 "CASE " \
80- "WHEN sourcepath = '{ src_path}' AND lower(platformname)='{ plat_name}' " \
81- "AND platformversion='{ plat_version}' THEN 1 " \
82- "WHEN sourcepath = '{ src_path}' AND lower(platformname)='{ plat_name}' THEN 2 " \
83- "WHEN lower(platformname)='{ plat_name}' AND platformversion='{ plat_version}' THEN 3 " \
84- "WHEN lower(platformname)='{ plat_name}' THEN 4 " \
83+ "WHEN sourcepath = %( src_path)s AND lower(platformname)=%( plat_name)s " \
84+ "AND platformversion=%( plat_version)s THEN 1 " \
85+ "WHEN sourcepath = %( src_path)s AND lower(platformname)=%( plat_name)s THEN 2 " \
86+ "WHEN lower(platformname)=%( plat_name)s AND platformversion=%( plat_version)s THEN 3 " \
87+ "WHEN lower(platformname)=%( plat_name)s THEN 4 " \
8588 "ELSE 5 " \
86- "END), updatedate DESC;" . format ( fname = file_name , src_path = source_path , plat_version = platform_version ,
87- plat_name = "android" )
89+ "END), updatedate DESC;"
90+ sql_filename_params = { 'fname' : file_name , 'src_path' : source_path , 'plat_version' : platform_version , ' plat_name' : "android" }
8891 auto_id_comment = ""
8992 final_result_item = ""
9093 is_new = False
9194
9295 # Match checksum and fileName
93- df_result = get_list_by_using_query (sql_statement + sql_statement_checksum , columns , conn , cur )
96+ df_result = get_list_by_using_query (sql_statement + sql_statement_checksum , sql_checksum_params , columns , conn , cur )
9497 if df_result is not None and len (df_result ) > 0 : # Found a file with the same checksum.
9598 final_result_item = df_result
9699 else : # Can't find files that have same name and checksum
97100 # Match tlsh and fileName
98- df_result = get_list_by_using_query (sql_statement_filename , ['tlshchecksum' ], conn , cur )
101+ df_result = get_list_by_using_query (sql_statement_filename , sql_filename_params , ['tlshchecksum' ], conn , cur )
99102 if df_result is None or len (df_result ) <= 0 :
100103 final_result_item = ""
101104 auto_id_comment = "New Binary/"
@@ -116,16 +119,15 @@ def get_oss_info_by_tlsh_and_filename(file_name, checksum_value, tlsh_value, sou
116119
117120 if matched_tlsh != "" :
118121 final_result_item = get_list_by_using_query (
119- sql_statement + " WHERE filename='{fname}' AND tlshchecksum='{tlsh}';" .format (fname = file_name ,
120- tlsh = matched_tlsh ),
122+ sql_statement + " WHERE filename=%(fname)s AND tlshchecksum=%(tlsh)s;" , {'fname' : file_name , 'tlsh' : matched_tlsh },
121123 columns , conn , cur )
122124
123125 return final_result_item , auto_id_comment , is_new
124126
125127
126- def get_list_by_using_query (sql_query , columns , conn , cur ):
128+ def get_list_by_using_query (sql_query , params , columns , conn , cur ):
127129 result_rows = "" # DataFrame
128- cur .execute (sql_query )
130+ cur .execute (sql_query , params )
129131 rows = cur .fetchall ()
130132
131133 if rows is not None and len (rows ) > 0 :
0 commit comments