]>
gitweb.pimeys.fr Git - NK2015_Client_Python_Alpha.git/blob - client.py
297e76d741a4179cafc3df4b18a4efb0ad454e24
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\""