2016-05-17 21:40:34 +00:00
|
|
|
from helpers import consoleHelper
|
|
|
|
from constants import bcolors
|
2016-05-18 17:12:46 +00:00
|
|
|
from objects import glob
|
|
|
|
from constants import serverPackets
|
|
|
|
from constants import exceptions
|
2016-04-19 17:40:59 +00:00
|
|
|
|
|
|
|
def handle(userToken, _):
|
|
|
|
try:
|
|
|
|
# get user token data
|
|
|
|
userID = userToken.userID
|
|
|
|
username = userToken.username
|
|
|
|
|
|
|
|
# Remove our userID from host's spectators
|
|
|
|
target = userToken.spectating
|
|
|
|
targetToken = glob.tokens.getTokenFromUserID(target)
|
|
|
|
if targetToken == None:
|
|
|
|
raise exceptions.tokenNotFoundException
|
|
|
|
targetToken.removeSpectator(userID)
|
|
|
|
|
|
|
|
# Send the spectator left packet to host
|
|
|
|
targetToken.enqueue(serverPackets.removeSpectator(userID))
|
|
|
|
|
|
|
|
# Console output
|
|
|
|
# TODO: Move messages in stop spectating
|
|
|
|
consoleHelper.printColored("> {} are no longer spectating whoever they were spectating".format(username), bcolors.PINK)
|
|
|
|
consoleHelper.printColored("> {}'s spectators: {}".format(str(target), str(targetToken.spectators)), bcolors.BLUE)
|
|
|
|
except exceptions.tokenNotFoundException:
|
|
|
|
consoleHelper.printColored("[!] Spectator stop: token not found", bcolors.RED)
|
|
|
|
finally:
|
|
|
|
# Set our spectating user to 0
|
|
|
|
userToken.stopSpectating()
|