From b0942d695b4f6d417f72ada7b77a817d0f6da078 Mon Sep 17 00:00:00 2001
From: KnugiHK <24708955+KnugiHK@users.noreply.github.com>
Date: Sun, 30 Jun 2024 19:16:58 +0800
Subject: [PATCH] Add base tag to reduce the output size (#103)
---
Whatsapp_Chat_Exporter/data_model.py | 1 +
Whatsapp_Chat_Exporter/ios_handler.py | 9 ++++++---
Whatsapp_Chat_Exporter/utility.py | 1 +
Whatsapp_Chat_Exporter/whatsapp.html | 1 +
4 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/Whatsapp_Chat_Exporter/data_model.py b/Whatsapp_Chat_Exporter/data_model.py
index d732810..68dad15 100644
--- a/Whatsapp_Chat_Exporter/data_model.py
+++ b/Whatsapp_Chat_Exporter/data_model.py
@@ -34,6 +34,7 @@ class ChatStore():
self.their_avatar = None
self.their_avatar_thumb = None
self.status = None
+ self.media_base = ""
def add_message(self, id, message):
if not isinstance(message, Message):
diff --git a/Whatsapp_Chat_Exporter/ios_handler.py b/Whatsapp_Chat_Exporter/ios_handler.py
index fbd4310..0eb970a 100644
--- a/Whatsapp_Chat_Exporter/ios_handler.py
+++ b/Whatsapp_Chat_Exporter/ios_handler.py
@@ -246,10 +246,13 @@ def media(db, data, media_folder, filter_date, filter_chat, separate_media=False
while content is not None:
file_path = f"{media_folder}/Message/{content['ZMEDIALOCALPATH']}"
ZMESSAGE = content["ZMESSAGE"]
- message = data[content["ZCONTACTJID"]].messages[ZMESSAGE]
+ contact = data[content["ZCONTACTJID"]]
+ message = contact.messages[ZMESSAGE]
message.media = True
+ if contact.media_base == "":
+ contact.media_base = media_folder + "/"
if os.path.isfile(file_path):
- message.data = file_path
+ message.data = '/'.join(file_path.split("/")[1:])
if content["ZVCARDSTRING"] is None:
guess = mime.guess_type(file_path)[0]
if guess is not None:
@@ -259,7 +262,7 @@ def media(db, data, media_folder, filter_date, filter_chat, separate_media=False
else:
message.mime = content["ZVCARDSTRING"]
if separate_media:
- chat_display_name = slugify(data[content["ZCONTACTJID"]].name or message.sender \
+ chat_display_name = slugify(contact.name or message.sender \
or content["ZCONTACTJID"].split('@')[0], True)
current_filename = file_path.split("/")[-1]
new_folder = os.path.join(media_folder, "separated", chat_display_name)
diff --git a/Whatsapp_Chat_Exporter/utility.py b/Whatsapp_Chat_Exporter/utility.py
index fc75ae8..16a81de 100644
--- a/Whatsapp_Chat_Exporter/utility.py
+++ b/Whatsapp_Chat_Exporter/utility.py
@@ -93,6 +93,7 @@ def rendering(
w3css=w3css,
next=next,
status=chat.status,
+ media_base=chat.media_base
)
)
diff --git a/Whatsapp_Chat_Exporter/whatsapp.html b/Whatsapp_Chat_Exporter/whatsapp.html
index 4688236..17604cd 100644
--- a/Whatsapp_Chat_Exporter/whatsapp.html
+++ b/Whatsapp_Chat_Exporter/whatsapp.html
@@ -87,6 +87,7 @@
max-height: 100px !important;
}
+