blob: eead386ffd1707bec779228272d7f017a11bf060 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
import json
path = ''
chat_history = json.load(open(path + 'chat_history.json'))
received_saved = chat_history['Received Saved Chat History']
sent_saved = chat_history['Sent Saved Chat History']
conversations = {}
def clean_message_in_chat(chat):
message = chat['Text']
cleaned = message.replace("'", "'")
chat['Text'] = cleaned
return chat
for received in received_saved:
if (received['Media Type'] != 'MEDIA'):
chat = received['From']
cleaned_chat = clean_message_in_chat(received)
if chat in conversations:
conversations[chat]['messages'] += [cleaned_chat]
else:
conversations[chat] = {
'messages': [cleaned_chat]
}
for sent in sent_saved:
if (sent['Media Type'] != 'MEDIA'):
chat = sent['To']
cleaned_chat = clean_message_in_chat(sent)
if chat in conversations:
conversations[chat]['messages'] += [cleaned_chat]
else:
conversations[chat] = {
'messages': [cleaned_chat]
}
for chat, content in conversations.items():
messages = content['messages']
msgs_sorted_by_date = sorted(messages, key = lambda x:x['Created'])
content['messages'] = msgs_sorted_by_date
for idx, chat in enumerate(conversations):
print(f"{idx}: {chat} (Messages: {len(conversations[chat]['messages'])})")
selected_chat_idx = input("Select a chat: ")
selected_chat = list(conversations.values())[int(selected_chat_idx)]
messages = selected_chat['messages']
for message in messages:
print("\n")
message_content = message['Text']
time = message['Created']
if 'From' in message:
recipient = message['From']
print(message_content)
print(f"From: {recipient}")
print(time)
else:
recipient = message['To']
if (len(message_content) >= 150):
for submessage in list(message_content[0+i:150+i] for i in range(0, len(message_content), 150)):
print(submessage.rjust(150))
else:
print(message_content.rjust(150))
print(f"To: {recipient}".rjust(150))
print(time.rjust(150))
|