-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrequester.py
More file actions
133 lines (90 loc) · 3.26 KB
/
requester.py
File metadata and controls
133 lines (90 loc) · 3.26 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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
import json
import requests
class Requester:
def __init__(self):
self.url = "http://127.0.0.1:5000"
def request(self, method, endpoint, params=None):
url = self.url + endpoint
if method == "GET":
r = requests.get(url, params=params)
return r.text
else:
r = requests.post(url, data=params)
return r.json()
def login(self, username, real_name):
endpoint = "/user_exists"
params = {"username": username, "real_name": real_name}
user_exists = self.request("POST", endpoint, params)
if user_exists["exists"]:
return True
return False
def create_account(self, username, real_name):
endpoint = "/user_exists"
params = {"username": username}
exists = self.request("POST", endpoint, params)
if exists["exists"]:
return False
endpoint = "/add_user"
params = {"username": username, "real_name": real_name}
self.request("POST", endpoint, params)
return True
def get_all_users(self):
endpoint = "/get_all_users"
users = self.request("GET", endpoint)
return json.loads(users)
def prepare_conversation(self, user_one, user_two):
endpoint = "/create_conversation_db"
params = {"user_one": user_one, "user_two": user_two}
self.request("POST", endpoint, params)
endpoint = "/get_message_history"
history = self.request("POST", endpoint, params)
return history
def send_message(self, author, friend_name, message):
endpoint = f"/send_message/{friend_name}"
params = {
"author": author,
"message": message,
}
self.request("POST", endpoint, params)
return True
def get_user_avatar(self, username):
endpoint = f"/get_user_avatar/{username}"
avatar = self.request("GET", endpoint)
return json.loads(avatar)
def update_avatar(self, username, img_b64):
endpoint = f"/update_avatar/{username}"
params = {
"img_b64": img_b64
}
self.request("POST", endpoint, params)
return True
def get_new_messages(self, timestamp, user_one, user_two):
""" user_one is the author's username, and user_two is the friend's """
endpoint = "/get_new_messages"
params = {
"timestamp": timestamp,
"user_one": user_one,
"user_two": user_two,
}
new_messages = self.request("POST", endpoint, params)
return new_messages
def add_friend(self, user_one, user_two):
endpoint = "/add_friend"
params = {
"user_one": user_one,
"user_two": user_two,
}
success = self.request("POST", endpoint, params)
return success["success"]
def get_friends(self, username):
endpoint = f"/get_friends/{username}"
friends = self.request("GET", endpoint)
return json.loads(friends)
def block_friend(self, user_one, user_two):
endpoint = "/block_friend"
params = {
"user_one": user_one,
"user_two": user_two,
}
self.request("POST", endpoint, params)
return True