-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdata_load.py
More file actions
75 lines (57 loc) · 1.94 KB
/
data_load.py
File metadata and controls
75 lines (57 loc) · 1.94 KB
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
71
72
73
74
75
from groupy import Client
import json
init_data = open("init_info.txt", "r").readlines()
api_token = init_data[0][:-1]
group_name = init_data[1]
print(api_token, group_name)
def save_json(obj, name):
with open('obj/'+ name + '.json', 'w') as f:
f.write(json.dumps(obj))
def load_json(name):
with open('obj/'+ name + '.json', 'r') as f:
return json.loads(f.read())
def save_obj(obj, name ):
with open('obj/'+ name + '.pkl', 'wb') as f:
pickle.dump(obj, f, pickle.HIGHEST_PROTOCOL)
def load_obj(name ):
with open('obj/' + name + '.pkl', 'rb') as f:
return pickle.load(f)
client = Client.from_token(api_token)
groups = list(client.groups.list())
print(groups)
group_list = list(filter(lambda x: x.name == group_name, groups))
if len(group_list) == 0:
print("Couldn't find a group by that name, sorry!")
exit()
group = group_list[0]
id_to_member = {}
for member in group.members:
id_to_member[member.user_id] = member.nickname
print(group)
print("Identified Group")
messages = list(group.messages.list_all())
print(messages)
people = {}
for message in messages:
person = message.user_id
if not message.name == "GroupMe":
like_list = message.favorited_by
if person in like_list:
like_list.remove(person)
likes = len(like_list)
if not person in people:
people[person] = (0,0,set([]))
s = people[person][2]
s.add(message.name)
people[person] = (people[person][0] + likes, people[person][1]+1, s)
for person in people:
people[person] = (people[person][0], people[person][1], list(people[person][2]))
print(f"Processed {len(messages)} Messages")
print(people)
save_json(people, "people_data")
data_file = open("obj/additional_data.txt", 'w')
data_file.write(group_name + "\n")
data_file.write(json.dumps(id_to_member))
data_file.write("\n" + str(len(messages)))
data_file.write("\n" + str(messages[-1].id))
data_file.close()