Use resolve from trytond.tools

resolve method was added in changeset 06e955c4465e
This commit is contained in:
Cédric Krier
2016-07-29 11:08:23 +02:00
parent 9a3283d826
commit 251ea4df6a
+2 -15
View File
@@ -10,6 +10,7 @@ from trytond.exceptions import LoginException
from trytond.model import ModelSQL, fields
from trytond.pool import PoolMeta, Pool
from trytond.transaction import Transaction
from trytond.tools import resolve
__all__ = ['User', 'SMSCode']
logger = logging.getLogger(__name__)
@@ -18,27 +19,13 @@ logger = logging.getLogger(__name__)
def send_sms(text, to):
assert len(text) <= 160, text
if config.has_option('authentication_sms', 'function'):
func = _resolve(config.get('authentication_sms', 'function'))
func = resolve(config.get('authentication_sms', 'function'))
if func:
from_ = config.get('authentication_sms', 'from', default=None)
return func(text, to, from_)
logger.error('Could not send SMS to %s: "%s"', to, text)
def _resolve(name):
"""Resolve a dotted name to a global object."""
name = name.split('.')
used = name.pop(0)
found = importlib.import_module(used)
for n in name:
used = used + '.' + n
try:
found = getattr(found, n)
except AttributeError:
found = importlib.import_module(used)
return found
class User:
__metaclass__ = PoolMeta
__name__ = 'res.user'