sys.path.append(client_config.rsa_path)
import monRSA
+class DeadServer(Exception):
+ pass
+
def full_read(sock):
"""Lit sur la socket jusqu'à ce que l'output soit déJSON-izable"""
output=""
+ i = 0
while True:
output+=sock.read()
+ i += 1
try:
return json.loads(output)
except:
pass
+ if i==10 and output=="":
+ raise DeadServer
def connect(sock,where,port=None):
if port==None:
raise KeyboardInterrupt("Imposteur !")
def hello(socket,version):
- socket.send('hello "%s"'%(version))
+ socket.send('["hello", "%s"]' % (version))
return lit(a)
def login(socket,user,mdp="",typ="bdd"):
if user in ["20-100","moibdd","#1"]:
- a.write('login ["#1","plop","bdd",[[],[],false]]')
+ a.write('["login", ["#1","plop","bdd",[[],[],false]]]')
elif user in ["vincent","moi"]:
- a.write('login ["vincent","plop","special",[]]')
+ a.write('["login", ["vincent","plop","special",[]]]')
elif user in ["toto"]:
- a.write('login ["toto","plop","bdd",[[],[],false]]')
+ a.write('["login", ["toto","plop","bdd",[[],[],false]]]')
else:
- a.write('login ["%s","%s","%s",[[],[],false]]'%(user,mdp,typ))
+ a.write('["login", ["%s","%s","%s",[[],[],false]]]'%(user,mdp,typ))
return lit(a)
def search(socket,term):
- a.write("search %s"%(term))
+ a.write('["search", %s]' % (term))
return lit(a)
def lit(socket):
print obj["errmsg"]
return obj["msg"]
except ssl.SSLError:
- return "Rien à lire"
- except ValueError:
- return "Serveur mort ?"
+ print "Rien à lire"
+ except DeadServer:
+ print "Serveur down ?"
if __name__=="__main__":
where=raw_input("quel serveur ?")