source: publico/il.spdo/trunk/il/spdo/saconfig.py @ 5382

Última Alteração nesse arquivo desde 5382 foi 5382, incluída por fabianosantos, 9 anos atrás

Reconfiguração da conexão ao banco de dados para permitir configuração
global padrão e configuração de acordo com DSN registrado localmente
em cada site usando collective.saconnect.

File size: 1.1 KB
Linha 
1from zope.component import provideUtility, queryAdapter
2from zope.app.component.hooks import getSite
3from zope.component.interfaces import ComponentLookupError
4
5from z3c.saconfig.interfaces import IScopedSession, IEngineFactory
6from z3c.saconfig import GloballyScopedSession, EngineFactory
7
8from collective.saconnect.interfaces import ISQLAlchemyConnectionStrings
9from il.spdo.config import DEFAULT_DSN
10
11SessionUtility = GloballyScopedSession(u'spdo_engine')
12provideUtility(SessionUtility, provides=IScopedSession, name=u'spdo_session')
13
14class SPDOEngineFactory(EngineFactory):
15
16    def configuration(self):
17        #TODO:fazer logging da conexao usada.
18        try:
19            saconnect = ISQLAlchemyConnectionStrings(getSite())
20            dsn = saconnect['spdo']
21            print 'SAConnect engine config'
22        except (ComponentLookupError, KeyError), e:
23            print 'Fallback engine config: ' + str(e)
24            dsn = DEFAULT_DSN #fallback to default DSN
25
26        return (dsn,),{}
27
28#registra um engine global de fallback
29SPDOGlobalEngine = EngineFactory(DEFAULT_DSN)
30provideUtility(SPDOGlobalEngine, provides=IEngineFactory, name=u'spdo_engine')
Note: Veja TracBrowser para ajuda no uso do navegador do trac.
 

The contents and data of this website are published under license:
Creative Commons 4.0 Brasil - Atribuir Fonte - Compartilhar Igual.