Bug fix on calls without chat #58

This commit is contained in:
KnugiHK
2023-08-12 15:51:05 +08:00
parent d772efe779
commit bd2f063cc0

View File

@@ -593,10 +593,13 @@ def calls(db, data):
video_call, video_call,
duration, duration,
call_result, call_result,
bytes_transferred bytes_transferred,
chat.subject as chat_subject
FROM call_log FROM call_log
INNER JOIN jid INNER JOIN jid
ON call_log.jid_row_id = jid._id""" ON call_log.jid_row_id = jid._id
LEFT JOIN chat
ON call_log.jid_row_id = chat.jid_row_id"""
) )
chat = ChatStore(Device.ANDROID, "WhatsApp Calls") chat = ChatStore(Device.ANDROID, "WhatsApp Calls")
content = c.fetchone() content = c.fetchone()
@@ -608,16 +611,17 @@ def calls(db, data):
key_id=content["call_id"], key_id=content["call_id"],
) )
_jid = content["raw_string"] _jid = content["raw_string"]
if _jid in data: name = data[_jid].name if _jid in data else content["chat_subject"] or None
name = data[_jid].name if _jid is not None and "@" in _jid:
fallback = _jid.split('@')[0] if "@" in _jid else None fallback = _jid.split('@')[0]
call.sender = name or fallback else:
fallback = None
call.sender = name or fallback
call.meta = True call.meta = True
call.data = ( call.data = (
f"A {'video' if content['video_call'] else 'voice'} " f"A {'video' if content['video_call'] else 'voice'} "
f"call {'to' if call.from_me else 'from'} " f"call {'to' if call.from_me else 'from'} "
f"{name or fallback} was " f"{call.sender} was "
) )
if content['call_result'] == 2: if content['call_result'] == 2:
call.data += "not answered." if call.from_me else "missed." call.data += "not answered." if call.from_me else "missed."