-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathaudio_test.py
58 lines (41 loc) · 1.44 KB
/
audio_test.py
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
import Channel
import Router
import sys
import os
import datetime
import time
import requests
from AudioHandler import AudioHandler
DATE = lambda x: datetime.datetime.fromtimestamp(int(x)) if x > 0 else "NOT YET" if x==0 else "NEVER"
try:
addr = sys.argv[1]
except IndexError:
print("Error, fisrt argument must be peer ip")
print("Like: python3.8 chatest_test.py 216.239.34.117")
#displays ip
myip=requests.get("https://ifconfig.me").content.decode('utf-8')
print(f"by the way, your ip is: {myip}. Tell it to your friend")
exit(-1)
def display_message(elem):
block = "___________________\n"
if elem[0]: block += f"[Sent] at: {DATE(elem[1][1])} arrived at: {DATE(elem[1][2])}\n"
else: block += f"[Recv] sent at: {DATE(elem[1][1])}\n"
block += elem[1][0]
return block
channel = Channel.Channel()
channel.start()
router = Router.Router(channel)
audioHandler = AudioHandler()
while True:
if not channel.is_running(): raise channel.lastException
router.update_conversations()
recv = []
while (msg:=router.pop_out_msg(addr)):
recv.append(router.get_out_msg(msg))
feed = sorted(recv, key=lambda x: x[2], reverse=True)
for i,_,__ in feed: audioHandler.play_audio(i)
os.system("clear")
print("~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
print(f"Chatting with {addr}")
print(f"Updated on {DATE(time.time())}")
router.send(audioHandler.get_audio(),addr)