Package zephir :: Package backend :: Module db_utils
[hide private]
[frames] | no frames]

Source Code for Module zephir.backend.db_utils

 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  # db_utils.py 
 9  #   
10  # fonctions utiles pour l'accès à la base de données (via adbapi) 
11  #        
12  ########################################################################### 
13  from zephir.backend import config 
14  from twisted.enterprise import adbapi 
15   
16 -class DBException(Exception): pass
17
18 -def db_client_failed(error,*args):
19 """errback du deffered 20 """ 21 try: 22 return 0, str(error.type), error.getErrorMessage() 23 except: 24 return 0,''
25
26 -def dbClientSucceeded(l):
27 """callback du deffered 28 """ 29 if l: 30 return 1,'ok' 31 else: 32 return 0,"no records" 33 raise DBException("No records")
34
35 -def db_connect():
36 """crée un pool de connexion pour la base de données zephir 37 """ 38 return adbapi.ConnectionPool("psycopg2",host=config.DB_HOST,user=config.DB_USER,password=config.DB_PASSWD,database=config.DB_NAME)
39
40 -def db_log(dbpool,id_serveur,date,type_msg,msg):
41 """insère un log dans la base zephir 42 """ 43 query = """insert into log_serveur (id_serveur,date,type,message) values (%s,'%s','%s','%s')""" 44 msg = msg.replace("'","\\\'") 45 return dbpool.runOperation(query % (id_serveur,date,type_msg,msg))
46
47 -class Serveur:
48 """classe utilitaire pour récupérer diverses données sur un serveur""" 49
50 - def __init__(self, id_s):
51 """initialise l'objet serveur et récupère les infos 52 """ 53 # réucpération de l'établissement et de l'état 54 import psycopg2 as pgsql 55 cx = PgSQL.connect(database=config.DB_NAME,user=config.DB_USER,password=config.DB_PASSWD) 56 cu = cx.cursor() 57 cu.execute("select * from serveurs where id=%s" % id_s) 58 cu.close() 59 cx.close()
60