Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # -*- coding: iso-8859-15 -*-
- import psycopg2
- import psycopg2.extras
- import sys
- from config import *
- class DATABASE:
- """Database tools"""
- def __init__(self):
- self.__lastExecutionResult = ''
- self.__lastError = ''
- def getLastError(self):
- """Get de LastError"""
- return self.__lastError
- def getLastExecutionResult(self):
- """Get de LastExecutionResult"""
- return self.__lastExecutionResult
- def __execPSQL(self, procedureName , params):
- """PRIVADA: Esta funcion ejecuta un procedimiento de Postgres.
- Parámetros
- procedureName: nombre del procedimiento postgres
- params: parámetros para la función
- Retorna:
- una lista de 2 elementos.
- El primero es un booleano que indica si la ejecución ha ido OK
- El segundo es el resultado de la ejecución o el mensaje de error
- """
- result = [False,'']
- try:
- conn = psycopg2.connect(CONNECTION_STRING)
- except:
- result[1] = "Unable to connect database %s at %s" % (DATABASE_NAME, DATABASE_HOST)
- return result
- cur = conn.cursor()
- try:
- cur.callproc( procedureName, params)
- result[1] = cur.fetchone()
- conn.commit()
- result[0] = True
- except Exception, e:
- result[1] = e
- finally:
- conn.close()
- return result
- def executeProcedure(self, procedureName , parameters):
- """Ejecuta un procedimiento Postgres. El resultado de la ejecución se consulta por la propiedad lastExecutionResult. El error se consulta por la propidad lastError """
- result = self.__execPSQL( procedureName, parameters)
- if not result[0]:
- self.__lastError = result[1]
- else:
- self.__lastExecutionResult = result[1]
- return result[0]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement