Remove trailing whitespaces.
This commit is contained in:
parent
310e2cc347
commit
27b3592e16
1 changed files with 899 additions and 899 deletions
|
|
@ -2,7 +2,7 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
"""
|
||||
SAT plugin for managing Quiz game
|
||||
SAT plugin for managing Quiz game
|
||||
Copyright (C) 2009, 2010, 2011, 2012, 2013 Jérôme Poisson (goffi@goffi.org)
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
|
|
@ -133,7 +133,7 @@ class Quiz():
|
|||
for data in game_data:
|
||||
data_elt = domish.Element((None,data))
|
||||
data_elt.addContent(game_data[data])
|
||||
game_data_elt.addChild(data_elt)
|
||||
game_data_elt.addChild(data_elt)
|
||||
return game_data_elt
|
||||
|
||||
def __xml_to_game_data(self, game_data_elt):
|
||||
|
|
@ -161,17 +161,17 @@ class Quiz():
|
|||
score = {}
|
||||
for player in game_data['players']:
|
||||
score[player] = players_data[player]['score']
|
||||
|
||||
|
||||
answer_result_elt = domish.Element((None,'answer_result'))
|
||||
answer_result_elt['player'] = player_answering
|
||||
answer_result_elt['good_answer'] = str(good_answer)
|
||||
|
||||
|
||||
for player in score:
|
||||
score_elt = domish.Element((None,"score"))
|
||||
score_elt['player'] = player
|
||||
score_elt['score'] = str(score[player])
|
||||
answer_result_elt.addChild(score_elt)
|
||||
|
||||
answer_result_elt.addChild(score_elt)
|
||||
|
||||
return answer_result_elt
|
||||
|
||||
def __create_started_elt(self, players):
|
||||
|
|
@ -193,7 +193,7 @@ class Quiz():
|
|||
question_elt['timer'] = str(timer)
|
||||
question_elt.addContent(question)
|
||||
return question_elt
|
||||
|
||||
|
||||
def __start_play(self, room_jid, game_data, profile):
|
||||
"""Start the game (tell to the first player after dealer to play"""
|
||||
game_data['stage'] = "play"
|
||||
|
|
@ -231,14 +231,14 @@ class Quiz():
|
|||
for player in players:
|
||||
self.host.plugins["XEP-0249"].invite(jid.JID(player), room.occupantJID.userhostJID(), {"game":"Quiz"}, profile)
|
||||
self.waiting_inv[_room] = (time(), players) #TODO: remove invitation waiting for too long, using the time data
|
||||
|
||||
|
||||
def after_init(ignore):
|
||||
room_name = "sat_quiz_%s" % self.host.plugins["XEP-0045"].getUniqueName(profile_key)
|
||||
print "\n\n===> room_name:", room_name
|
||||
muc_service = None
|
||||
for service in self.host.memory.getServerServiceEntities("conference", "text", profile):
|
||||
if not ".irc." in service.userhost():
|
||||
#FIXME:
|
||||
#FIXME:
|
||||
#This awfull ugly hack is here to avoid an issue with openfire: the irc gateway
|
||||
#use "conference/text" identity (instead of "conference/irc"), there is certainly a better way
|
||||
#to manage this, but this hack fill do it for test purpose
|
||||
|
|
@ -247,7 +247,7 @@ class Quiz():
|
|||
if not muc_service:
|
||||
error(_("Can't find a MUC service"))
|
||||
return
|
||||
|
||||
|
||||
_jid, xmlstream = self.host.getJidNStream(profile)
|
||||
d = self.host.plugins["XEP-0045"].join(jid.JID("%s@%s" % (room_name, muc_service.userhost())), _jid.user, {}, profile).addCallback(quizRoomJoined)
|
||||
|
||||
|
|
@ -355,18 +355,18 @@ class Quiz():
|
|||
game_data["timer"] = reactor.callLater(timer, self.timerExpired, room_jid, profile)
|
||||
game_data["time_left"] = None
|
||||
|
||||
def checkAnswer(self, room_jid, player, answer, profile):
|
||||
def checkAnswer(self, room_jid, player, answer, profile):
|
||||
"""Check if the answer given is right"""
|
||||
game_data = self.games[room_jid.userhost()]
|
||||
players_data = game_data['players_data']
|
||||
good_answer = game_data['question_id'] == "1" and answer=="42"
|
||||
players_data[player]['score'] += 1 if good_answer else -1
|
||||
players_data[player]['score'] = min(9, max(0, players_data[player]['score']))
|
||||
|
||||
|
||||
mess = self.createGameElt(room_jid)
|
||||
mess.firstChildElement().addChild(self.__answer_result(player, good_answer, game_data))
|
||||
self.host.profiles[profile].xmlstream.send(mess)
|
||||
|
||||
|
||||
if good_answer:
|
||||
reactor.callLater(4, self.askQuestion, room_jid, profile)
|
||||
else:
|
||||
|
|
@ -382,7 +382,7 @@ class Quiz():
|
|||
|
||||
for player in players:
|
||||
players_data[player]['game_score'] = 0
|
||||
|
||||
|
||||
new_game_data = {"instructions": _(u"""Bienvenue dans cette partie rapide de quizz, le premier à atteindre le score de 9 remporte le jeu
|
||||
|
||||
Attention, tu es prêt ?""")}
|
||||
|
|
@ -393,20 +393,20 @@ Attention, tu es prêt ?""")}
|
|||
reactor.callLater(10, self.askQuestion, room_jid, profile)
|
||||
|
||||
def quiz_game_cmd(self, mess_elt, profile):
|
||||
from_jid = jid.JID(mess_elt['from'])
|
||||
from_jid = jid.JID(mess_elt['from'])
|
||||
room_jid = jid.JID(from_jid.userhost())
|
||||
game_elt = mess_elt.firstChildElement()
|
||||
game_data = self.games[room_jid.userhost()]
|
||||
players_data = game_data['players_data']
|
||||
|
||||
|
||||
for elt in game_elt.elements():
|
||||
|
||||
|
||||
if elt.name == 'started': #new game created
|
||||
players = []
|
||||
for player in elt.elements():
|
||||
players.append(unicode(player))
|
||||
self.host.bridge.quizGameStarted(room_jid.userhost(), from_jid.full(), players, profile)
|
||||
|
||||
|
||||
elif elt.name == 'player_ready': #ready to play
|
||||
player = elt['player']
|
||||
status = self.games[room_jid.userhost()]['status']
|
||||
|
|
@ -418,10 +418,10 @@ Attention, tu es prêt ?""")}
|
|||
|
||||
elif elt.name == 'game_data':
|
||||
self.host.bridge.quizGameNew(room_jid.userhost(), self.__xml_to_game_data(elt), profile)
|
||||
|
||||
|
||||
elif elt.name == 'question': #A question is asked
|
||||
self.host.bridge.quizGameQuestion(room_jid.userhost(), elt["id"], unicode(elt), int(elt["timer"]), profile )
|
||||
|
||||
|
||||
elif elt.name == 'player_answer':
|
||||
player = elt['player']
|
||||
pause = game_data['stage'] == 'question' #we pause the game only if we are have a question at the moment
|
||||
|
|
@ -429,7 +429,7 @@ Attention, tu es prêt ?""")}
|
|||
mess = self.createGameElt(room_jid)
|
||||
buzzer_elt = mess.firstChildElement().addElement('player_buzzed')
|
||||
buzzer_elt['player'] = player
|
||||
buzzer_elt['pause'] = str(pause)
|
||||
buzzer_elt['pause'] = str(pause)
|
||||
self.host.profiles[profile].xmlstream.send(mess)
|
||||
if pause:
|
||||
self.pauseTimer(room_jid)
|
||||
|
|
@ -442,17 +442,17 @@ Attention, tu es prêt ?""")}
|
|||
say_elt['delay'] = "3"
|
||||
reactor.callLater(2, self.host.profiles[profile].xmlstream.send, mess)
|
||||
reactor.callLater(6, self.checkAnswer, room_jid, player, _answer, profile=profile)
|
||||
|
||||
|
||||
elif elt.name == 'player_buzzed':
|
||||
self.host.bridge.quizGamePlayerBuzzed(room_jid.userhost(), elt["player"], elt['pause'] == str(True), profile)
|
||||
|
||||
|
||||
elif elt.name == 'player_says':
|
||||
self.host.bridge.quizGamePlayerSays(room_jid.userhost(), elt["player"], unicode(elt), int(elt["delay"]), profile)
|
||||
|
||||
|
||||
elif elt.name == 'answer_result':
|
||||
player, good_answer, score = self.__answer_result_to_signal_args(elt)
|
||||
self.host.bridge.quizGameAnswerResult(room_jid.userhost(), player, good_answer, score, profile)
|
||||
|
||||
|
||||
elif elt.name == 'timer_expired':
|
||||
self.host.bridge.quizGameTimerExpired(room_jid.userhost(), profile)
|
||||
|
||||
|
|
@ -461,13 +461,13 @@ Attention, tu es prêt ?""")}
|
|||
|
||||
else:
|
||||
error (_('Unmanaged game element: %s') % elt.name)
|
||||
|
||||
|
||||
def getHandler(self, profile):
|
||||
return QuizGameHandler(self)
|
||||
|
||||
class QuizGameHandler (XMPPHandler):
|
||||
implements(iwokkel.IDisco)
|
||||
|
||||
|
||||
def __init__(self, plugin_parent):
|
||||
self.plugin_parent = plugin_parent
|
||||
self.host = plugin_parent.host
|
||||
|
|
|
|||
Loading…
Reference in a new issue