Skip to content

Commit fab9876

Browse files
committed
INTEGRITY: Refactor confirm merge code.
1 parent 3a95049 commit fab9876

File tree

5 files changed

+249
-354
lines changed

5 files changed

+249
-354
lines changed

db_functions.py

Lines changed: 23 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -114,8 +114,6 @@ def insert_fileset(
114114
):
115115
status = "detection" if detection else src
116116
game = "NULL"
117-
key = "NULL" if key == "" else key
118-
megakey = "NULL" if megakey == "" else megakey
119117

120118
if detection:
121119
status = "detection"
@@ -212,7 +210,7 @@ def normalised_path(name):
212210
return "/".join(path_list)
213211

214212

215-
def insert_file(file, detection, src, conn):
213+
def insert_file(file, detection, src, conn, fileset_id=None):
216214
# Find full md5, or else use first checksum value
217215
checksum = ""
218216
checksize = 5000
@@ -249,18 +247,27 @@ def insert_file(file, detection, src, conn):
249247
values.extend([checksum, detection, detection_type])
250248

251249
# Parameterised Query
252-
query = "INSERT INTO file ( name, size, `size-r`, `size-rd`, `modification-time`, checksum, fileset, detection, detection_type, `timestamp` ) VALUES (%s, %s, %s, %s, %s, %s, @fileset_last, %s, %s, NOW())"
253-
254250
with conn.cursor() as cursor:
255-
cursor.execute(query, values)
251+
query = ""
252+
if fileset_id is None:
253+
query = "INSERT INTO file ( name, size, `size-r`, `size-rd`, `modification-time`, checksum, detection, detection_type, `timestamp`, fileset ) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, NOW(), @fileset_last)"
254+
cursor.execute(query, values)
255+
else:
256+
query = "INSERT INTO file ( name, size, `size-r`, `size-rd`, `modification-time`, checksum, detection, detection_type, `timestamp`, fileset ) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, NOW(), %s)"
257+
values.append(fileset_id)
258+
cursor.execute(query, values)
256259

257-
if detection:
258-
with conn.cursor() as cursor:
259-
cursor.execute(
260-
"UPDATE fileset SET detection_size = %s WHERE id = @fileset_last AND detection_size IS NULL",
261-
(checksize,),
262-
)
263-
with conn.cursor() as cursor:
260+
if detection:
261+
if fileset_id is None:
262+
cursor.execute(
263+
"UPDATE fileset SET detection_size = %s WHERE id = @fileset_last AND detection_size IS NULL",
264+
(checksize,),
265+
)
266+
else:
267+
cursor.execute(
268+
"UPDATE fileset SET detection_size = %s WHERE id = %s AND detection_size IS NULL",
269+
(checksize, fileset_id),
270+
)
264271
cursor.execute("SET @file_last = LAST_INSERT_ID()")
265272

266273

@@ -270,6 +277,8 @@ def insert_filechecksum(file, checktype, file_id, conn):
270277

271278
checksum = file[checktype]
272279
checksize, checktype, checksum = get_checksum_props(checktype, checksum)
280+
if checksize == "1048576":
281+
checksize = "1M"
273282

274283
query = "INSERT INTO filechecksum (file, checksize, checktype, checksum) VALUES (%s, %s, %s, %s)"
275284
with conn.cursor() as cursor:
@@ -2480,7 +2489,7 @@ def create_user_fileset(fileset, game_metadata, src, transaction_id, user, conn,
24802489
return
24812490

24822491
(fileset_id, _) = insert_fileset(
2483-
src, False, key, None, transaction_id, None, conn, ip=ip
2492+
src, False, key, "", transaction_id, None, conn, ip=ip
24842493
)
24852494

24862495
insert_game(engine_name, engineid, title, gameid, extra, platform, lang, conn)

0 commit comments

Comments
 (0)