]>
gitweb.pimeys.fr Git - NK2015_Client_Python_Alpha.git/blob - client.py
3a722028d9eab00d3248a245b83f3f0a29ecd7fe
2 # -*- coding: utf-8 -*-
4 # Définition des fonctions de base de communication du client
5 # Pour l'instant ce script sert essentiellement à les charger en mémoire pour les utiliser à la main
7 import os
, sys
, string
, time
, random
17 from pprint
import pprint
19 sys
.path
.append(client_config
.rsa_path
)
22 class DeadServer(Exception):
26 """Lit sur la socket jusqu'à ce que l'output soit déJSON-izable"""
33 return json
.loads(output
)
36 if i
==10 and output
=="":
39 def connect(sock
,where
,port
=None):
41 port
=client_config
.port
43 ip
={"ici":"localhost","vent":"vent.crans.org","eva":"eva.crans.org","cerebro":"cerebro.crans.org"}[where
]
46 sock
.connect((ip
,port
))
47 return ssl
.wrap_socket(sock
,ca_certs
=client_config
.ca_certfile
)
48 # cert_reqs=ssl.CERT_NONE,ciphers="AES256-SHA")
53 c
=dict([i
[0] for i
in c
["subject"]])
54 awaited
={'commonName': u
'note.crans.org',
56 'emailAddress': u
'legallic@crans.org',
57 'localityName': u
'Cachan',
58 'organizationName': u
'BDE ENS Cachan',
59 'organizationalUnitName': u
'Kfet',
60 'stateOrProvinceName': u
'\xc3\x8ele de France'}
61 if all([c
[cle
]==awaited
[cle
] for cle
in awaited
.keys()]):
64 raise KeyboardInterrupt("Imposteur !")
66 def hello(socket
,version
):
67 socket
.send('hello "%s"'%(version))
70 def login(socket
,user
,mdp
="",typ
="bdd"):
71 if user
in ["20-100","moibdd","#1"]:
72 a
.write('login ["#1","plop","bdd",[[],[],false]]')
73 elif user
in ["vincent","moi"]:
74 a
.write('login ["vincent","plop","special",[]]')
75 elif user
in ["toto"]:
76 a
.write('login ["toto","plop","bdd",[[],[],false]]')
78 a
.write('login ["%s","%s","%s",[[],[],false]]'%(user
,mdp
,typ
))
81 def search(socket
,term
):
82 a
.write("search %s"%(term))
96 print "Serveur down ?"
98 if __name__
=="__main__":
99 where
=raw_input("quel serveur ?")
100 #port=int(raw_input("port ? "))
105 print hello(a
,"Python Client alpha")
106 print login(a
,"20-100","plop")
107 print "Socket créée dans la variable \"a\""