MCQ module: need a reason for doing a report

This commit is contained in:
Némunaire 2012-06-28 19:35:09 +02:00
parent c89ef4c543
commit 907a655732

View File

@ -9,6 +9,7 @@ import socket
import sys import sys
import threading import threading
import time import time
from urllib.parse import quote
from module_state import ModuleState from module_state import ModuleState
import module_states_file as xmlparser import module_states_file as xmlparser
@ -131,10 +132,10 @@ class Question:
def author(self): def author(self):
return User(self.node["writer"]) return User(self.node["writer"])
def report(self): def report(self, raison="Sans raison"):
conn = http.client.HTTPConnection(CONF.getNode("server")["url"]) conn = http.client.HTTPConnection(CONF.getNode("server")["url"])
try: try:
conn.request("GET", "report.php?id=" + hashlib.md5(self.id.encode()).hexdigest()) conn.request("GET", "report.php?id=" + hashlib.md5(self.id.encode()).hexdigest() + "&raison=" + quote(raison))
except socket.gaierror: except socket.gaierror:
print ("[%s] impossible de récupérer la page %s."%(s, p)) print ("[%s] impossible de récupérer la page %s."%(s, p))
return False return False
@ -349,9 +350,11 @@ def parseanswer(msg):
msg.send_chn("Cette question a été écrite par %s et validée par %s, le %s" % SESSIONS[msg.sender].question.tupleInfo) msg.send_chn("Cette question a été écrite par %s et validée par %s, le %s" % SESSIONS[msg.sender].question.tupleInfo)
return True return True
elif msg.cmd[0] == "report" or msg.cmd[0] == "reportquestion": elif msg.cmd[0] == "report" or msg.cmd[0] == "reportquestion":
if SESSIONS[msg.sender].question.report(): if len(msg.cmd) == 1:
msg.send_chn("Cette question vient vient d'etre signalée.") msg.send_chn("Veuillez indiquer une raison de report")
SESSIONS[msg.channel].askNext() elif SESSIONS[msg.sender].question.report(' '.join(msg.cmd[1:])):
msg.send_chn("Cette question vient d'être signalée.")
SESSIONS[msg.sender].askNext()
else: else:
msg.send_chn("Une erreur s'est produite lors du signalement de la question, veuillez recommencer plus tard.") msg.send_chn("Une erreur s'est produite lors du signalement de la question, veuillez recommencer plus tard.")
return True return True
@ -362,8 +365,8 @@ def parseanswer(msg):
elif msg.cmd[0] == "report" or msg.cmd[0] == "reportquestion": elif msg.cmd[0] == "report" or msg.cmd[0] == "reportquestion":
if len(msg.cmd) == 1: if len(msg.cmd) == 1:
msg.send_chn("Veuillez indiquer une raison de report") msg.send_chn("Veuillez indiquer une raison de report")
if SESSIONS[msg.channel].question.report(msg.cmd[1]): elif SESSIONS[msg.channel].question.report(' '.join(msg.cmd[1:])):
msg.send_chn("Cette question vient vient d'etre signalée.") msg.send_chn("Cette question vient d'être signalée.")
SESSIONS[msg.channel].prepareNext() SESSIONS[msg.channel].prepareNext()
else: else:
msg.send_chn("Une erreur s'est produite lors du signalement de la question, veuillez recommencer plus tard.") msg.send_chn("Une erreur s'est produite lors du signalement de la question, veuillez recommencer plus tard.")