Package zephir :: Package backend :: Module ent_rpc
[frames] | no frames]

Source Code for Module zephir.backend.ent_rpc

 1  # -*- coding: UTF-8 -*- 
 2  ########################################################################### 
 3  # Eole NG - 2007   
 4  # Copyright Pole de Competence Eole  (Ministere Education - Academie Dijon) 
 5  # Licence CeCill  cf /root/LicenceEole.txt 
 6  # eole@ac-dijon.fr  
 7  #   
 8  # ent_rpc.py 
 9  #   
10  # fonctions xmlrpc pour la gestion des plages d'identifiants ent 
11  #        
12  ########################################################################### 
13  """module de gestion des identifiants ent 
14  """ 
15  from zephir.backend.db_utils import * 
16  from zephir.backend import config 
17  from zephir.backend.config import u, log 
18  from zephir.backend.entid import IdPoolManager 
19  from zephir.backend.xmlrpceole import XMLRPCEole as XMLRPC 
20   
21 -class ENTRPC(XMLRPC):
22 """serveur XMLRPC zephir pour la gestion centralisé des identifiants ENT 23 """ 24
25 - def __init__(self, parent):
26 self.dbpool = db_connect() 27 self.dbpool.noisy = 0 28 self.parent = parent 29 self.id_manager = IdPoolManager(self.parent.s_pool) 30 XMLRPC.__init__(self)
31
32 - def xmlrpc_get_id_pools(self, cred_user, code_ent = None):
33 """renvoie des informations sur les pools d'identifiants ENT""" 34 return u(self.id_manager.get_pool(code_ent))
35
36 - def xmlrpc_get_code_ent(self, cred_user):
37 """renvoie des informations sur les pools d'identifiants ENT""" 38 return 1, u(self.id_manager.get_code_ent())
39
40 - def xmlrpc_get_id_range(self, cred_user, id_serveur, cle_pub, nb_id = 100):
41 """réserve une plage d'identifiant pour un établissement donné (serveur scribe)""" 42 return u(self.id_manager.get_id_range(id_serveur, cle_pub, nb_id))
43
44 - def xmlrpc_validate_id_range(self, cred_user, code_ent, id_serveur, md5, ranges):
45 """confirme la prise en compte d'une plage d'identifiants côté établissement""" 46 return u(self.id_manager.validate_id_range(code_ent, id_serveur, md5, ranges))
47
48 - def xmlrpc_reserve_range(self, cred_user, min, max):
49 """Réserve manuellement une plage d'identifiants""" 50 return u(self.id_manager.reserve_range(min, max))
51