diff --git a/extract.py b/extract.py index ceceffb..01f1301 100644 --- a/extract.py +++ b/extract.py @@ -84,15 +84,13 @@ def messages(db, data): else: fallback = None - data[content[0]]["messages"][content[1] - ]["sender"] = name or fallback + data[content[0]]["messages"][content[1]]["sender"] = name or fallback else: data[content[0]]["messages"][content[1]]["sender"] = None if content[12] is not None: data[content[0]]["messages"][content[1]]["reply"] = content[12] - data[content[0]]["messages"][content[1] - ]["quoted_data"] = content[14] + data[content[0]]["messages"][content[1]]["quoted_data"] = content[14] else: data[content[0]]["messages"][content[1]]["reply"] = None @@ -216,8 +214,7 @@ def media(db, data, media_folder): # data[content[0]]["messages"][content[1]]["media"] = True # data[content[0]]["messages"][content[1]]["mime"] = "media" # else: - 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" i += 1 if i % 100 == 0: @@ -269,28 +266,33 @@ def create_html(data, output_folder): if not os.path.isdir(output_folder): os.mkdir(output_folder) - for current, i in enumerate(data): - if len(data[i]["messages"]) == 0: + for current, contact in enumerate(data): + if len(data[contact]["messages"]) == 0: continue - phone_number = i.split('@')[0] - if "-" in i: + phone_number = contact.split('@')[0] + if "-" in contact: file_name = "" else: file_name = phone_number - if data[i]["name"] is not None: + if data[contact]["name"] is not None: if file_name != "": file_name += "-" - file_name += data[i]["name"].replace("/", "-") - name = data[i]["name"] + file_name += data[contact]["name"].replace("/", "-") + name = data[contact]["name"] else: name = phone_number safe_file_name = '' - safe_file_name = "".join( - x for x in file_name if x.isalnum() or x in "- ") + safe_file_name = "".join(x for x in file_name if x.isalnum() or x in "- ") with open(f"{output_folder}/{safe_file_name}.html", "w", encoding="utf-8") as f: - f.write(template.render(name=name, msgs=data[i]["messages"].values( - ), my_avatar=None, their_avatar=f"WhatsApp/Avatars/{i}.j")) + f.write( + template.render( + name=name, + msgs=data[contact]["messages"].values(), + my_avatar=None, + their_avatar=f"WhatsApp/Avatars/{contact}.j" + ) + ) if current % 10 == 0: print(f"Creating HTML...({current}/{total_row_number})", end="\r") diff --git a/extract_iphone.py b/extract_iphone.py index 1e06584..e365adf 100644 --- a/extract_iphone.py +++ b/extract_iphone.py @@ -220,28 +220,34 @@ def create_html(data, output_folder): if not os.path.isdir(output_folder): os.mkdir(output_folder) - for current, i in enumerate(data): - if len(data[i]["messages"]) == 0: + for current, contact in enumerate(data): + if len(data[contact]["messages"]) == 0: continue - phone_number = i.split('@')[0] - if "-" in i: + phone_number = contact.split('@')[0] + if "-" in contact: file_name = "" else: file_name = phone_number - if data[i]["name"] is not None: + if data[contact]["name"] is not None: if file_name != "": file_name += "-" - file_name += data[i]["name"].replace("/", "-") - name = data[i]["name"] + file_name += data[contact]["name"].replace("/", "-") + name = data[contact]["name"] else: name = phone_number safe_file_name = '' safe_file_name = "".join(x for x in file_name if x.isalnum() or x in "- ") with open(f"{output_folder}/{safe_file_name}.html", "w", encoding="utf-8") as f: - f.write(template.render(name=name, msgs=data[i]["messages"].values( - ), my_avatar=None, their_avatar=f"WhatsApp/Avatars/{i}.j")) + f.write( + template.render( + name=name, + msgs=data[contact]["messages"].values(), + my_avatar=None, + their_avatar=f"WhatsApp/Avatars/{contact}.j" + ) + ) if current % 10 == 0: print(f"Creating HTML...({current}/{total_row_number})", end="\r")