forked from Infra/risotto
Vocabulary
This commit is contained in:
parent
b944a609a5
commit
a152654b5b
|
@ -8,3 +8,19 @@ CONFIGURATION_DIR = 'configurations'
|
||||||
TEMPLATE_DIR = 'templates'
|
TEMPLATE_DIR = 'templates'
|
||||||
TMP_DIR = 'tmp'
|
TMP_DIR = 'tmp'
|
||||||
ROUGAIL_DTD_PATH = '../rougail/data/creole.dtd'
|
ROUGAIL_DTD_PATH = '../rougail/data/creole.dtd'
|
||||||
|
POSTGRESQL_ADDRESS = 'localhost'
|
||||||
|
POSTGRESQL_PORT = 5432
|
||||||
|
|
||||||
|
def get_config():
|
||||||
|
return {'database': {'host': 'localhost',
|
||||||
|
'port': 5432,
|
||||||
|
'dbname': 'risotto',
|
||||||
|
'user': 'risotto',
|
||||||
|
'password': 'risotto',
|
||||||
|
},
|
||||||
|
'http_server': {'port': 8080},
|
||||||
|
'global': {'message_root_path': 'messages',
|
||||||
|
'debug': False,
|
||||||
|
'internal_user': 'internal',
|
||||||
|
'rougail_dtd_path': '../rougail/data/creole.dtd'}
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,21 @@
|
||||||
|
import psycopg2
|
||||||
|
|
||||||
|
KEY_DATABASE_NAME = 'dbname'
|
||||||
|
KEY_DATABASE_USER = 'user'
|
||||||
|
KEY_DATABASE_PASSWORD = 'password'
|
||||||
|
KEY_DATABASE_HOST = 'host'
|
||||||
|
|
||||||
|
|
||||||
|
def connect(conf, database_options=None):
|
||||||
|
if database_options is None:
|
||||||
|
option = conf.option['database']
|
||||||
|
database_options = {
|
||||||
|
'host': option[KEY_DATABASE_HOST],
|
||||||
|
'dbname': option[KEY_DATABASE_NAME],
|
||||||
|
'user': option[KEY_DATABASE_USER],
|
||||||
|
'password': option[KEY_DATABASE_PASSWORD]
|
||||||
|
|
||||||
|
}
|
||||||
|
if not database_options['host']:
|
||||||
|
raise Exception('cannot find postgresql')
|
||||||
|
return psycopg2.connect(**database_options)
|
|
@ -7,9 +7,12 @@ from .utils import _
|
||||||
from .error import CallError, NotAllowedError
|
from .error import CallError, NotAllowedError
|
||||||
from .logger import log
|
from .logger import log
|
||||||
from .config import DEBUG
|
from .config import DEBUG
|
||||||
|
from .config import get_config
|
||||||
from .context import Context
|
from .context import Context
|
||||||
from . import register
|
from . import register
|
||||||
|
|
||||||
|
def connect(db_conf):
|
||||||
|
return psycopg2.connect(**db_conf)
|
||||||
|
|
||||||
class CallDispatcher:
|
class CallDispatcher:
|
||||||
def valid_public_function(self,
|
def valid_public_function(self,
|
||||||
|
@ -94,11 +97,14 @@ class CallDispatcher:
|
||||||
risotto_context.function = obj['function']
|
risotto_context.function = obj['function']
|
||||||
if obj['risotto_context']:
|
if obj['risotto_context']:
|
||||||
kw['risotto_context'] = risotto_context
|
kw['risotto_context'] = risotto_context
|
||||||
|
if obj['database']:
|
||||||
|
db_conf = get_config.get('database')
|
||||||
|
risotto_context.db_cursor = await connect(db_conf).cursor()
|
||||||
returns = await risotto_context.function(self.injected_self[obj['module']], **kw)
|
returns = await risotto_context.function(self.injected_self[obj['module']], **kw)
|
||||||
except CallError as err:
|
except CallError as err:
|
||||||
raise err
|
raise err
|
||||||
except Exception as err:
|
except Exception as err:
|
||||||
if DEBUG:
|
if get_config().get('global').get('debug'):
|
||||||
print_exc()
|
print_exc()
|
||||||
log.error_msg(risotto_context,
|
log.error_msg(risotto_context,
|
||||||
kwargs,
|
kwargs,
|
||||||
|
|
Loading…
Reference in New Issue