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

Source Code for Module zephir.backend.scheduler_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  # modules_rpc.py 
 9  #   
10  # fonctions xmlrpc pour la gestion des modules dans Zephir 
11  #        
12  ########################################################################### 
13  """module de gestion des modules Eole 
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.xmlrpceole import XMLRPCEole as XMLRPC 
19  from zephir.backend.lib_backend import ResourceAuthError 
20   
21 -class RPCScheduler(XMLRPC):
22 """serveur XMLRPC zephir pour la gestion des tâches 23 """ 24
25 - def __init__(self,parent):
26 self.dbpool = db_connect() 27 self.dbpool.noisy = 0 28 self.parent = parent 29 # mise à jour des modules si besoin 30 XMLRPC.__init__(self)
31
32 - def xmlrpc_get_tasks(self,cred_user,id_res=None,type_res='serveur',all=False):
33 """récupère le contenu d'une variante sur un autre zephir""" 34 tasks = self.parent.scheduler.get_tasks(id_res,type_res,all) 35 tasks = [str(t) for t in tasks] 36 return 1,u(tasks)
37
38 - def xmlrpc_add_single(self, cred_user, name, cmd, month, day, hour, min):
39 """ajoute une tâche unique""" 40 id_task = self.parent.scheduler.add_task(name, cmd, month, day, hour, min, 'null', 0) 41 return 1, id_task
42
43 - def xmlrpc_add_loop(self, cred_user, name, cmd, day, hour, min):
44 """ajoute une tâche lancée à intervalle régulier""" 45 id_task = self.parent.scheduler.add_task(name, cmd, 'null', day, hour, min, 'null', 1) 46 return 1, id_task
47
48 - def xmlrpc_add_daily(self, cred_user, name, cmd, hour, min):
49 """ajoute un tâche journalière""" 50 id_task = self.parent.scheduler.add_task(name, cmd, 'null', 'null', hour, min, 'null', 2) 51 return 1, id_task
52
53 - def xmlrpc_add_weekly(self, cred_user, name, cmd, hour, min, week_day):
54 """ajoute un tâche hebdomadaire""" 55 id_task = self.parent.scheduler.add_task(name, cmd, 'null', 'null', hour, min, week_day, 3) 56 return 1, id_task
57
58 - def xmlrpc_add_monthly(self, cred_user, name, cmd, day, hour, min):
59 """ajoute un tâche mensuelle""" 60 id_task = self.parent.scheduler.add_task(name, cmd, 'null', day, hour, min, 'null', 4) 61 return 1, id_task
62
63 - def xmlrpc_del_task(self, cred_user, id_task):
64 """suppression d'une tâche""" 65 if self.parent.scheduler.del_task(id_task): 66 return 1, "OK" 67 else: 68 return 0, u("""Erreur lors de la suppression""")
69
70 - def xmlrpc_assign_task(self, cred_user, id_task, id_res, type_res='serveur'):
71 """assignation d'une tâche à une ressource (groupe ou serveur)""" 72 return self.parent.scheduler.assign_task(cred_user, id_task, id_res, type_res)
73
74 - def xmlrpc_unassign_task(self, cred_user, id_task, id_res, type_res='serveur'):
75 """dé-assignation d'une tâche à une ressource (groupe ou serveur)""" 76 return self.parent.scheduler.unassign_task(cred_user, id_task, id_res, type_res)
77