-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp.py
61 lines (50 loc) · 1.68 KB
/
app.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
59
60
61
from flask import Flask, render_template
from flask_socketio import SocketIO, emit, join_room, leave_room
app = Flask(__name__)
app.config['SECRET_KEY'] = 'secret!'
socketio = SocketIO(app)
#Create single page route
@app.route('/')
def index():
return render_template('index.html')
#After a user signs in allow them to join their own room
@socketio.on('welcome')
def handleWelcome(room):
print('Room Name:' + room)
join_room(room)
#Once a user leaves emit function call to update active user list
@socketio.on('leaving')
def handleDisconnect(user):
# print('Buh Bye ' + user)
emit('goodbye', user, broadcast=True)
#Open up a new Chat Room for the Chatter and Chattee
@socketio.on('show_room')
def handleChatOpen(room, user):
print('Welcome to:' + room)
emit('send_chat', room)
emit('handle_chatObj',user, room=room)
emit('join', user + ": "+ "has joined", room=room)
#Notify other user that you are leaving
@socketio.on('logout')
def handleGoodBye(room, user):
print (user + " is leaving " + room)
emit('left', user + ": "+ "has left", room=room)
leave_room(room)
@socketio.on('my_event')
def handleConnetion(message):
print('Statement: ' + message)
@socketio.on('chat')
def handlePrivateChat(message, room, user):
print('Are we talking?: ' + message + ' '+ room)
emit('lets_talk', user + ': ' + message, room=room)
#Used for when users sign in
@socketio.on('login')
def handleName(users):
for name in users:
emit('new_user', name, broadcast=True)
#used to determine the primary user of the local host
@socketio.on('primary_user')
def handlePrimaryUser(prime):
emit('primary_user', prime)
if __name__ == '__main__':
socketio.run(app)