diff options
| author | P. Christeas <p_christ@hol.gr> | 2008-12-28 12:25:22 +0200 |
|---|---|---|
| committer | P. Christeas <p_christ@hol.gr> | 2008-12-28 12:25:22 +0200 |
| commit | cb42fd7a590a0a4c4cf75e5c439a50d8592554e9 (patch) | |
| tree | 89093b235302d3b823e3aad1e15b8b981c665696 /bin/sql_db.py | |
| parent | a89ae314d25cd47b527cb50dbdc18dc44ad79213 (diff) | |
| parent | f0b13583ecd1dcd8a1ddabd9e67540c5e308220f (diff) | |
Merge branch 'master' of /home/panos/tmp/tinyerp/openobject-server/ into mdv-gpl3
Conflicts:
bin/addons/base/ir/ir_actions.py
bin/report/interface.py
bin/tools/config.py
bzr revid: p_christ@hol.gr-20081228102522-po9ix8j0l6f5akxp
Diffstat (limited to 'bin/sql_db.py')
| -rw-r--r-- | bin/sql_db.py | 36 |
1 files changed, 19 insertions, 17 deletions
diff --git a/bin/sql_db.py b/bin/sql_db.py index f9ae97b9163..22e2065868e 100644 --- a/bin/sql_db.py +++ b/bin/sql_db.py @@ -197,42 +197,44 @@ class PoolManager(object): _dsn = None maxconn = int(tools.config['db_maxconn']) or 64 - def dsn(db_name): - if PoolManager._dsn is None: - PoolManager._dsn = '' + @classmethod + def dsn(cls, db_name): + if cls._dsn is None: + cls._dsn = '' for p in ('host', 'port', 'user', 'password'): cfg = tools.config['db_' + p] if cfg: - PoolManager._dsn += '%s=%s ' % (p, cfg) - return '%s dbname=%s' % (PoolManager._dsn, db_name) - dsn = staticmethod(dsn) + cls._dsn += '%s=%s ' % (p, cfg) + return '%s dbname=%s' % (cls._dsn, db_name) - def get(db_name): - if db_name not in PoolManager._pools: + @classmethod + def get(cls, db_name): + if db_name not in cls._pools: logger = netsvc.Logger() try: logger.notifyChannel('dbpool', netsvc.LOG_INFO, 'Connecting to %s' % (db_name,)) - PoolManager._pools[db_name] = ConnectionPool(ThreadedConnectionPool(1, PoolManager.maxconn, PoolManager.dsn(db_name)), db_name) + cls._pools[db_name] = ConnectionPool(ThreadedConnectionPool(1, cls.maxconn, cls.dsn(db_name)), db_name) except Exception, e: logger.notifyChannel('dbpool', netsvc.LOG_ERROR, 'Unable to connect to %s: %s' % (db_name, str(e))) raise - return PoolManager._pools[db_name] - get = staticmethod(get) + return cls._pools[db_name] - def close(db_name): - if db_name in PoolManager._pools: + @classmethod + def close(cls, db_name): + if db_name in cls._pools: logger = netsvc.Logger() logger.notifyChannel('dbpool', netsvc.LOG_INFO, 'Closing all connections to %s' % (db_name,)) - PoolManager._pools[db_name].closeall() - del PoolManager._pools[db_name] - close = staticmethod(close) + cls._pools[db_name].closeall() + del cls._pools[db_name] def db_connect(db_name, serialize=0): return PoolManager.get(db_name) def close_db(db_name): - return PoolManager.close(db_name) + PoolManager.close(db_name) + tools.cache.clean_cache_for_db(db_name) + # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: |
