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