Bug fix on missing group name

This commit is contained in:
KnugiHK
2024-09-15 11:33:23 +08:00
parent 3e6fdaa126
commit fed14ceb29

View File

@@ -29,24 +29,41 @@ def contacts(db, data):
def messages(db, data, media_folder, timezone_offset, filter_date, filter_chat): def messages(db, data, media_folder, timezone_offset, filter_date, filter_chat):
c = db.cursor() c = db.cursor()
# Get contacts # Get contacts
c.execute(f"""SELECT count() c.execute(
FROM ZWACHATSESSION f"""SELECT count()
WHERE 1=1 FROM (SELECT DISTINCT ZCONTACTJID,
{get_chat_condition(filter_chat[0], True, ["ZWACHATSESSION.ZCONTACTJID"])} ZPARTNERNAME,
{get_chat_condition(filter_chat[1], False, ["ZWACHATSESSION.ZCONTACTJID"])}""") ZWAPROFILEPUSHNAME.ZPUSHNAME
FROM ZWACHATSESSION
INNER JOIN ZWAMESSAGE
ON ZWAMESSAGE.ZCHATSESSION = ZWACHATSESSION.Z_PK
LEFT JOIN ZWAPROFILEPUSHNAME
ON ZWACHATSESSION.ZCONTACTJID = ZWAPROFILEPUSHNAME.ZJID
LEFT JOIN ZWAGROUPMEMBER
ON ZWAMESSAGE.ZGROUPMEMBER = ZWAGROUPMEMBER.Z_PK
WHERE 1=1
{get_chat_condition(filter_chat[0], True, ["ZWACHATSESSION.ZCONTACTJID", "ZMEMBERJID"], "ZGROUPINFO", "ios")}
{get_chat_condition(filter_chat[1], False, ["ZWACHATSESSION.ZCONTACTJID", "ZMEMBERJID"], "ZGROUPINFO", "ios")}
GROUP BY ZCONTACTJID);"""
)
total_row_number = c.fetchone()[0] total_row_number = c.fetchone()[0]
print(f"Processing contacts...({total_row_number})") print(f"Processing contacts...({total_row_number})")
c.execute( c.execute(
f"""SELECT ZCONTACTJID, f"""SELECT DISTINCT ZCONTACTJID,
ZPARTNERNAME, ZPARTNERNAME,
ZPUSHNAME ZWAPROFILEPUSHNAME.ZPUSHNAME
FROM ZWACHATSESSION FROM ZWACHATSESSION
INNER JOIN ZWAMESSAGE
ON ZWAMESSAGE.ZCHATSESSION = ZWACHATSESSION.Z_PK
LEFT JOIN ZWAPROFILEPUSHNAME LEFT JOIN ZWAPROFILEPUSHNAME
ON ZWACHATSESSION.ZCONTACTJID = ZWAPROFILEPUSHNAME.ZJID ON ZWACHATSESSION.ZCONTACTJID = ZWAPROFILEPUSHNAME.ZJID
WHERE 1=1 LEFT JOIN ZWAGROUPMEMBER
{get_chat_condition(filter_chat[0], True, ["ZWACHATSESSION.ZCONTACTJID"])} ON ZWAMESSAGE.ZGROUPMEMBER = ZWAGROUPMEMBER.Z_PK
{get_chat_condition(filter_chat[1], False, ["ZWACHATSESSION.ZCONTACTJID"])};""" WHERE 1=1
{get_chat_condition(filter_chat[0], True, ["ZWACHATSESSION.ZCONTACTJID", "ZMEMBERJID"], "ZGROUPINFO", "ios")}
{get_chat_condition(filter_chat[1], False, ["ZWACHATSESSION.ZCONTACTJID", "ZMEMBERJID"], "ZGROUPINFO", "ios")}
GROUP BY ZCONTACTJID;"""
) )
content = c.fetchone() content = c.fetchone()
while content is not None: while content is not None: