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

Source Code for Module zephir.backend.local_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  # local_rpc.py 
 9  #   
10  # exemple de fonctions xml-rpc supplémentaires intégrées à zephir 
11  #        
12  ########################################################################### 
13  """module pour ajout de fonctionnalités (contributions)""" 
14   
15  # import principaux du backend zephir 
16  from zephir.backend.db_utils import * 
17  from zephir.backend import config 
18  from zephir.backend.config import u 
19  from zephir.backend.xmlrpceole import XMLRPCEole as XMLRPC 
20  # divers imports utiles 
21  import sys,os,shutil,time,base64 
22   
23   
24 -class RPCLocal(XMLRPC):
25 """serveur XMLRPC pour ajout de fonctions 26 """
27 - def __init__(self,parent):
28 self.dbpool = db_connect() 29 self.dbpool.noisy = 0 30 XMLRPC.__init__(self) 31 self.parent = parent
32 33 # # exemple de fonction xmlrpc 34 # 35 # # pour permettre aux utilisateurs d'accéder à cette fonction, vous devez créer un groupe 36 # # de droits dans la base de données qui fasse référence à cette fonction, puis ajoutez ce 37 # # groupe aux droits accessibles à l'utilisateur depuis l'application web. 38 # # exemple : insert into groupes_droits (libelle,droits) values ('fonctions locales', '[\'local.hello_world\',\'local.ma_fonction\']') 39 # # pour l'instant l'ajout doit être fait manuellement dans la base, mais si nécessaire, 40 # # une fonctionnalité de gestion des groupes de droits pourrait être ajoutée à l'application web 41 # 42 # def xmlrpc_hello_world(self,cred_user): 43 # """renvoie un message de bienvenue. L'argument cred_user 44 # ne doit pas être donné à l'appel de la fonction. 45 # Il est renseigné automatiquement par le backend 46 # exemple d'appel à cette fonction depuis python 47 # >> import xmlrpclib 48 # >> zephir=xmlrpclib.ServerProxy('https://user:password@adresse_zephir:7080') 49 # >> zephir.local.hello_world() 50 # """ 51 # hostname = os.environ['HOSTNAME'] 52 # # la fonction transforme toutes les chaines contenues dans l'objet passé en 53 # # paramètre en chaines unicode (UTF-8) 54 # message = u("""Bonjour %s, bienvenue sur le serveur %s (zephir)""" % (cred_user,hostname)) 55 # return message 56