gooderp18绿色标准版
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

61 lines
1.6KB

  1. # -*- coding: utf-8 -*-
  2. import logging
  3. import odoo.release
  4. import odoo.tools
  5. from odoo.exceptions import AccessDenied
  6. from odoo.modules.registry import Registry
  7. from odoo.tools.translate import _
  8. _logger = logging.getLogger(__name__)
  9. RPC_VERSION_1 = {
  10. 'server_version': odoo.release.version,
  11. 'server_version_info': odoo.release.version_info,
  12. 'server_serie': odoo.release.serie,
  13. 'protocol_version': 1,
  14. }
  15. def exp_login(db, login, password):
  16. return exp_authenticate(db, login, password, None)
  17. def exp_authenticate(db, login, password, user_agent_env):
  18. if not user_agent_env:
  19. user_agent_env = {}
  20. res_users = Registry(db)['res.users']
  21. try:
  22. credential = {'login': login, 'password': password, 'type': 'password'}
  23. return res_users.authenticate(db, credential, {**user_agent_env, 'interactive': False})['uid']
  24. except AccessDenied:
  25. return False
  26. def exp_version():
  27. return RPC_VERSION_1
  28. def exp_about(extended=False):
  29. """Return information about the OpenERP Server.
  30. @param extended: if True then return version info
  31. @return string if extended is False else tuple
  32. """
  33. info = _('See http://openerp.com')
  34. if extended:
  35. return info, odoo.release.version
  36. return info
  37. def exp_set_loglevel(loglevel, logger=None):
  38. # TODO Previously, the level was set on the now deprecated
  39. # `odoo.netsvc.Logger` class.
  40. return True
  41. def dispatch(method, params):
  42. g = globals()
  43. exp_method_name = 'exp_' + method
  44. if exp_method_name in g:
  45. return g[exp_method_name](*params)
  46. else:
  47. raise Exception("Method not found: %s" % method)
上海开阖软件有限公司 沪ICP备12045867号-1