]>
gitweb.pimeys.fr Git - NK2015_Client_Python_Alpha.git/blob - client.py
50da2402fc4a8b22c2c6b0625c6d79e8f0aaaca9
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
)
23 """Lit sur la socket jusqu'à ce que l'output soit déJSON-izable"""
28 return json
.loads(output
)
32 def connect(sock
,where
,port
=None):
34 port
=client_config
.port
36 ip
={"ici":"localhost","vent":"vent.crans.org","eva":"eva.crans.org","cerebro":"cerebro.crans.org"}[where
]
39 sock
.connect((ip
,port
))
40 return ssl
.wrap_socket(sock
,ca_certs
=client_config
.ca_certfile
)
41 # cert_reqs=ssl.CERT_NONE,ciphers="AES256-SHA")
46 c
=dict([i
[0] for i
in c
["subject"]])
47 awaited
={'commonName': u
'note.crans.org',
49 'emailAddress': u
'legallic@crans.org',
50 'localityName': u
'Cachan',
51 'organizationName': u
'BDE ENS Cachan',
52 'organizationalUnitName': u
'Kfet',
53 'stateOrProvinceName': u
'\xc3\x8ele de France'}
54 if all([c
[cle
]==awaited
[cle
] for cle
in awaited
.keys()]):
57 raise KeyboardInterrupt("Imposteur !")
59 def hello(socket
,version
):
60 socket
.send('hello "%s"'%(version))
63 def login(socket
,user
,mdp
="",typ
="bdd"):
64 if user
in ["20-100","moibdd"]:
65 a
.write('login ["20-100","plop","bdd",[["all"],["all"],true]]')
66 elif user
in ["vincent","moi"]:
67 a
.write('login ["vincent","plop","special",["all"]]')
68 elif user
in ["toto"]:
69 a
.write('login ["toto","plop","bdd",[["all"],["all"],true]]')
71 a
.write('login ["%s","%s","%s",[["all"],["all"],true]]'%(user
,mdp
,typ
))
74 def search(socket
,term
):
75 a
.write("search %s"%(term))
89 return "Serveur mort ?"
91 if __name__
=="__main__":
92 where
=raw_input("quel serveur ?")
93 #port=int(raw_input("port ? "))
98 print hello(a
,"Python Client alpha")
99 print login(a
,"20-100","plop")
100 print "Socket créée dans la variable \"a\""