2016-10-02 20:48:14 +00:00
|
|
|
from common.log import logUtils as log
|
2016-05-18 17:12:46 +00:00
|
|
|
from constants import exceptions
|
2016-10-02 20:48:14 +00:00
|
|
|
from constants import serverPackets
|
|
|
|
from objects import glob
|
|
|
|
|
2016-04-19 17:40:59 +00:00
|
|
|
|
2016-09-02 15:45:10 +00:00
|
|
|
def handle(userToken, _):
|
2016-04-19 17:40:59 +00:00
|
|
|
try:
|
|
|
|
# We don't have the beatmap, we can't spectate
|
2016-10-07 11:43:47 +00:00
|
|
|
if userToken.spectating not in glob.tokens.tokens:
|
|
|
|
raise exceptions.tokenNotFoundException
|
2016-04-19 17:40:59 +00:00
|
|
|
|
|
|
|
# Send the packet to host
|
2016-10-07 11:43:47 +00:00
|
|
|
glob.tokens.tokens[userToken.spectating].enqueue(serverPackets.noSongSpectator(userToken.userID))
|
2016-04-19 17:40:59 +00:00
|
|
|
except exceptions.tokenNotFoundException:
|
|
|
|
# Stop spectating if token not found
|
2016-06-04 10:44:54 +00:00
|
|
|
log.warning("Spectator can't spectate: token not found")
|
2016-04-19 17:40:59 +00:00
|
|
|
userToken.stopSpectating()
|