mirror of
https://github.com/KnugiHK/WhatsApp-Chat-Exporter.git
synced 2026-04-18 00:44:59 +00:00
Add a notification of other file type and avatar placeholder
This commit is contained in:
@@ -80,7 +80,7 @@ while content is not None:
|
|||||||
if guess is not None:
|
if guess is not None:
|
||||||
data[content[0]]["messages"][content[1]]["mime"] = guess
|
data[content[0]]["messages"][content[1]]["mime"] = guess
|
||||||
else:
|
else:
|
||||||
data[content[0]]["messages"][content[1]]["mime"] = "image/jpeg"
|
data[content[0]]["messages"][content[1]]["mime"] = "data/data"
|
||||||
else:
|
else:
|
||||||
data[content[0]]["messages"][content[1]]["mime"] = content[4]
|
data[content[0]]["messages"][content[1]]["mime"] = content[4]
|
||||||
else:
|
else:
|
||||||
@@ -97,7 +97,7 @@ while content is not None:
|
|||||||
data[content[0]]["messages"][content[1]]["data"] = "{The media is missing}"
|
data[content[0]]["messages"][content[1]]["data"] = "{The media is missing}"
|
||||||
data[content[0]]["messages"][content[1]]["mime"] = "media"
|
data[content[0]]["messages"][content[1]]["mime"] = "media"
|
||||||
i += 1
|
i += 1
|
||||||
if i % 1000 == 0:
|
if i % 100 == 0:
|
||||||
print(f"Gathering media...({i}/{total_row_number})", end="\r")
|
print(f"Gathering media...({i}/{total_row_number})", end="\r")
|
||||||
content = c.fetchone()
|
content = c.fetchone()
|
||||||
print(f"Gathering media...({total_row_number}/{total_row_number})", end="\r")
|
print(f"Gathering media...({total_row_number}/{total_row_number})", end="\r")
|
||||||
@@ -132,9 +132,12 @@ for current, i in enumerate(data):
|
|||||||
if file_name != "":
|
if file_name != "":
|
||||||
file_name += "-"
|
file_name += "-"
|
||||||
file_name += data[i]["name"].replace("/", "-")
|
file_name += data[i]["name"].replace("/", "-")
|
||||||
|
name = data[i]["name"]
|
||||||
|
else:
|
||||||
|
name = phone_number
|
||||||
|
|
||||||
with open(f"{output_folder}/{file_name}.html", "w", encoding="utf-8") as f:
|
with open(f"{output_folder}/{file_name}.html", "w", encoding="utf-8") as f:
|
||||||
f.write(template.render(name=data[i]["name"] if data[i]["name"] is not None else phone_number, msgs=data[i]["messages"].values()))
|
f.write(template.render(name=name, msgs=data[i]["messages"].values(), my_avatar=None, their_avatar=f"WhatsApp/Avatars/{i}.j"))
|
||||||
if current % 10 == 0:
|
if current % 10 == 0:
|
||||||
print(f"Creating HTML...({current}/{total_row_number})", end="\r")
|
print(f"Creating HTML...({current}/{total_row_number})", end="\r")
|
||||||
|
|
||||||
|
|||||||
@@ -79,7 +79,7 @@ while content is not None:
|
|||||||
if guess is not None:
|
if guess is not None:
|
||||||
data[content[0]]["messages"][content[1]]["mime"] = guess
|
data[content[0]]["messages"][content[1]]["mime"] = guess
|
||||||
else:
|
else:
|
||||||
data[content[0]]["messages"][content[1]]["mime"] = "image/jpeg"
|
data[content[0]]["messages"][content[1]]["mime"] = "data/data"
|
||||||
else:
|
else:
|
||||||
data[content[0]]["messages"][content[1]]["mime"] = content[4]
|
data[content[0]]["messages"][content[1]]["mime"] = content[4]
|
||||||
else:
|
else:
|
||||||
@@ -95,7 +95,7 @@ while content is not None:
|
|||||||
data[content[0]]["messages"][content[1]]["data"] = "{The media is missing}"
|
data[content[0]]["messages"][content[1]]["data"] = "{The media is missing}"
|
||||||
data[content[0]]["messages"][content[1]]["mime"] = "media"
|
data[content[0]]["messages"][content[1]]["mime"] = "media"
|
||||||
i += 1
|
i += 1
|
||||||
if i % 1000 == 0:
|
if i % 100 == 0:
|
||||||
print(f"Gathering media...({i}/{total_row_number})", end="\r")
|
print(f"Gathering media...({i}/{total_row_number})", end="\r")
|
||||||
content = c.fetchone()
|
content = c.fetchone()
|
||||||
print(f"Gathering media...({total_row_number}/{total_row_number})", end="\r")
|
print(f"Gathering media...({total_row_number}/{total_row_number})", end="\r")
|
||||||
@@ -130,9 +130,12 @@ for current, i in enumerate(data):
|
|||||||
if file_name != "":
|
if file_name != "":
|
||||||
file_name += "-"
|
file_name += "-"
|
||||||
file_name += data[i]["name"].replace("/", "-")
|
file_name += data[i]["name"].replace("/", "-")
|
||||||
|
name = data[i]["name"]
|
||||||
|
else:
|
||||||
|
name = phone_number
|
||||||
|
|
||||||
with open(f"{output_folder}/{file_name}.html", "w", encoding="utf-8") as f:
|
with open(f"{output_folder}/{file_name}.html", "w", encoding="utf-8") as f:
|
||||||
f.write(template.render(name=data[i]["name"] if data[i]["name"] is not None else phone_number, msgs=data[i]["messages"].values()))
|
f.write(template.render(name=name, msgs=data[i]["messages"].values(), my_avatar=None, their_avatar=f"WhatsApp/Avatars/{i}.j"))
|
||||||
if current % 10 == 0:
|
if current % 10 == 0:
|
||||||
print(f"Creating HTML...({current}/{total_row_number})", end="\r")
|
print(f"Creating HTML...({current}/{total_row_number})", end="\r")
|
||||||
|
|
||||||
|
|||||||
@@ -12,14 +12,14 @@
|
|||||||
header {
|
header {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
z-index: 20;
|
z-index: 20;
|
||||||
border-bottom: 2px solid #e3e6e8;
|
border-bottom: 2px solid #e3e6e7;
|
||||||
font-size: 2em;
|
font-size: 2em;
|
||||||
font-weight: bolder;
|
font-weight: bolder;
|
||||||
background-color: white;
|
background-color: white;
|
||||||
padding: 20px 0 20px 0;
|
padding: 20px 0 20px 0;
|
||||||
}
|
}
|
||||||
footer {
|
footer {
|
||||||
border-top: 2px solid #e3e6e8;
|
border-top: 2px solid #e3e6e7;
|
||||||
font-size: 2em;
|
font-size: 2em;
|
||||||
padding: 20px 0 20px 0;
|
padding: 20px 0 20px 0;
|
||||||
}
|
}
|
||||||
@@ -68,14 +68,14 @@
|
|||||||
<source src="{% filter escape %}{{ msg.data }}{% endfilter %}" />
|
<source src="{% filter escape %}{{ msg.data }}{% endfilter %}" />
|
||||||
</video>
|
</video>
|
||||||
{% elif "/" in msg.mime %}
|
{% elif "/" in msg.mime %}
|
||||||
{document}
|
{The file cannot be displayed here, however it should be located at {% filter escape %}{{ msg.data }}{% endfilter %}}
|
||||||
{% else %}
|
{% else %}
|
||||||
{% filter escape %}{{ msg.data }}{% endfilter %}
|
{% filter escape %}{{ msg.data }}{% endfilter %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="w3-col m2 l2" style="padding-left: 10px"><span>{icon}</span></div>
|
<div class="w3-col m2 l2" style="padding-left: 10px"><img src="{{ my_avatar }}"></div>
|
||||||
</div>
|
</div>
|
||||||
{% else %}
|
{% else %}
|
||||||
<div class="w3-row">
|
<div class="w3-row">
|
||||||
@@ -83,7 +83,7 @@
|
|||||||
<div style="text-align: right; color:#70777c;">{{ msg.time }}</div>
|
<div style="text-align: right; color:#70777c;">{{ msg.time }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="w3-row">
|
<div class="w3-row">
|
||||||
<div class="w3-col m2 l2"><span>{icon}</span></div>
|
<div class="w3-col m2 l2"><img src="{{ their_avatar }}"></div>
|
||||||
<div class="w3-col m10 l10">
|
<div class="w3-col m10 l10">
|
||||||
<div style="text-align: left;">
|
<div style="text-align: left;">
|
||||||
{% if msg.media == false %}
|
{% if msg.media == false %}
|
||||||
@@ -100,7 +100,7 @@
|
|||||||
<source src="{% filter escape %}{{ msg.data }}{% endfilter %}" />
|
<source src="{% filter escape %}{{ msg.data }}{% endfilter %}" />
|
||||||
</video>
|
</video>
|
||||||
{% elif "/" in msg.mime %}
|
{% elif "/" in msg.mime %}
|
||||||
{document}
|
{The file cannot be displayed here, however it should be located at {% filter escape %}{{ msg.data }}{% endfilter %}}
|
||||||
{% else %}
|
{% else %}
|
||||||
{% filter escape %}{{ msg.data }}{% endfilter %}
|
{% filter escape %}{{ msg.data }}{% endfilter %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|||||||
Reference in New Issue
Block a user