Ver Mensaje Individual
  #2 (permalink)  
Antiguo 16/06/2009, 18:00
Avatar de razpeitia
razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 9 meses
Puntos: 1360
Respuesta: Patrón singleton para acceso a base de datos

Ejemplo de un singleton
Código python:
Ver original
  1. class  Singleton (object):
  2.    instance = None      
  3.     def __new__(cls, *args, **kargs):
  4.         if cls.instance is None:
  5.             cls.instance = object.__new__(cls, *args, **kargs)
  6.         return cls.instance
  7.  
  8. #Usage
  9. mySingleton1 =  Singleton()
  10. mySingleton2 =  Singleton()
  11.  
  12. #mySingleton1 y mySingleton2 son la misma instancia
  13. print mySingleton1 is mySingleton2


En tu codigo tenias unos cuantos enters de mas, los borre y lo publico
Código python:
Ver original
  1. class GestorBD(object):
  2.     instance=None
  3.     def __new__(cls, *args, **kargs):
  4.         if cls.instance is None:
  5.             cls.instance=object.__new__(cls, *args, **kargs)          
  6.         return cls.instance
  7.    
  8.     def conectar(self):
  9.         self.conexion=psycopg.connect("host='xxx.xxx.xxx.xxx' port= 'xxx' dbname='xx' user= 'xx' password= 'xx'")
  10.    
  11.     def desconexion(self):
  12.         self.conexion.close()
  13.        
  14.     def execute(self, consulta):
  15.         self.cursor=self.conexion.cursor()
  16.         self.cursor.execute(consulta)        
  17.         registros=self.cursor.fetchall()
  18.         return registros
  19.    
  20.     def modify(self, consulta):
  21.         self.cursor=self.conexion.cursor()
  22.         self.cursor.execute(consulta)  
  23.    
  24.     def commit(self):
  25.         self.conexion.commit()