1 # -*- coding: utf-8 -*-
10 _logger = logging.getLogger(__name__)
13 'server_version': openerp.release.version,
14 'server_version_info': openerp.release.version_info,
15 'server_serie': openerp.release.serie,
16 'protocol_version': 1,
19 def dispatch(method, params):
20 if method in ['login', 'about', 'timezone_get',
21 'version', 'authenticate']:
23 elif method in ['set_loglevel']:
26 security.check_super(passwd)
28 raise Exception("Method not found: %s" % method)
30 fn = globals()['exp_' + method]
33 def exp_login(db, login, password):
34 # TODO: legacy indirection through 'security', should use directly
36 res = security.login(db, login, password)
37 msg = res and 'successful login' or 'bad login or password'
38 _logger.info("%s from '%s' using database '%s'", msg, login, db.lower())
41 def exp_authenticate(db, login, password, user_agent_env):
42 res_users = openerp.registry(db)['res.users']
43 return res_users.authenticate(db, login, password, user_agent_env)
48 def exp_about(extended=False):
49 """Return information about the OpenERP Server.
51 @param extended: if True then return version info
52 @return string if extended is False else tuple
55 info = _('See http://openerp.com')
58 return info, openerp.release.version
61 def exp_timezone_get(db, login, password):
62 return openerp.tools.misc.get_server_timezone()
64 def exp_set_loglevel(loglevel, logger=None):
65 # TODO Previously, the level was set on the now deprecated
66 # `openerp.netsvc.Logger` class.
69 # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: