diff --git a/Whatsapp_Chat_Exporter/data_model.py b/Whatsapp_Chat_Exporter/data_model.py index 53d9bb6..6c912a5 100644 --- a/Whatsapp_Chat_Exporter/data_model.py +++ b/Whatsapp_Chat_Exporter/data_model.py @@ -22,6 +22,7 @@ class ChatStore(): self.my_avatar = None self.their_avatar = None self.their_avatar_thumb = None + self.status = None def add_message(self, id, message): if not isinstance(message, Message): @@ -40,6 +41,7 @@ class ChatStore(): 'my_avatar': self.my_avatar, 'their_avatar': self.their_avatar, 'their_avatar_thumb': self.their_avatar_thumb, + 'status': self.status, 'messages': serialized_msgs } diff --git a/Whatsapp_Chat_Exporter/extract.py b/Whatsapp_Chat_Exporter/extract.py index 6ee7c27..6da5c06 100644 --- a/Whatsapp_Chat_Exporter/extract.py +++ b/Whatsapp_Chat_Exporter/extract.py @@ -155,10 +155,12 @@ def contacts(db, data): total_row_number = c.fetchone()[0] print(f"Processing contacts...({total_row_number})") - c.execute("""SELECT jid, COALESCE(display_name, wa_name) as display_name FROM wa_contacts; """) + c.execute("""SELECT jid, COALESCE(display_name, wa_name) as display_name, status FROM wa_contacts; """) row = c.fetchone() while row is not None: data[row["jid"]] = ChatStore(Device.ANDROID, row["display_name"]) + if row["status"] is not None: + data[row["jid"]].status = row["status"] row = c.fetchone() @@ -702,7 +704,8 @@ def create_html( f"{safe_file_name}-{current_page + 1}.html", chat.my_avatar, chat.their_avatar, - chat.their_avatar_thumb + chat.their_avatar_thumb, + chat.status ) render_box = [message] current_size = 0 @@ -723,7 +726,8 @@ def create_html( False, chat.my_avatar, chat.their_avatar, - chat.their_avatar_thumb + chat.their_avatar_thumb, + chat.status ) else: render_box.append(message) @@ -739,7 +743,8 @@ def create_html( False, chat.my_avatar, chat.their_avatar, - chat.their_avatar_thumb + chat.their_avatar_thumb, + chat.status ) if current % 10 == 0: print(f"Generating chats...({current}/{total_row_number})", end="\r") diff --git a/Whatsapp_Chat_Exporter/utility.py b/Whatsapp_Chat_Exporter/utility.py index d05cda3..e2b6c8f 100644 --- a/Whatsapp_Chat_Exporter/utility.py +++ b/Whatsapp_Chat_Exporter/utility.py @@ -71,7 +71,8 @@ def rendering( next, my_avatar, their_avatar, - their_avatar_thumb + their_avatar_thumb, + status ): if their_avatar_thumb is None and their_avatar is not None: their_avatar_thumb = their_avatar @@ -84,7 +85,8 @@ def rendering( their_avatar=their_avatar, their_avatar_thumb=their_avatar_thumb, w3css=w3css, - next=next + next=next, + status=status, ) ) diff --git a/Whatsapp_Chat_Exporter/whatsapp.html b/Whatsapp_Chat_Exporter/whatsapp.html index a873f79..dfa5763 100644 --- a/Whatsapp_Chat_Exporter/whatsapp.html +++ b/Whatsapp_Chat_Exporter/whatsapp.html @@ -89,7 +89,13 @@ -
Chat history with {{ name }}
+
+ Chat history with {{ name }} + {% if status is not none %} +
+ {{ status }} + {% endif %} +
{% set last = {'last': 946688461.001} %}