From a8e57d9c6a9e444563d0c14887f906151587b2a7 Mon Sep 17 00:00:00 2001 From: Laurent Peuch Date: Sun, 13 Aug 2017 23:34:35 +0200 Subject: [PATCH] [mod] don't request the server if a dyndns domain is already subscribed --- src/yunohost/domain.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/yunohost/domain.py b/src/yunohost/domain.py index 5fb7ed313..a8142fe88 100644 --- a/src/yunohost/domain.py +++ b/src/yunohost/domain.py @@ -83,20 +83,21 @@ def domain_add(auth, domain, dyndns=False): if dyndns: if len(domain.split('.')) < 3: raise MoulinetteError(errno.EINVAL, m18n.n('domain_dyndns_invalid')) - from yunohost.dyndns import dyndns_subscribe + if os.path.exists('/etc/cron.d/yunohost-dyndns'): + raise MoulinetteError(errno.EPERM, + m18n.n('domain_dyndns_already_subscribed')) try: r = requests.get('https://dyndns.yunohost.org/domains', timeout=30) except requests.ConnectionError as e: raise MoulinetteError(errno.EHOSTUNREACH, m18n.n('domain_dyndns_dynette_is_unreachable', error=str(e))) + from yunohost.dyndns import dyndns_subscribe + dyndomains = json.loads(r.text) dyndomain = '.'.join(domain.split('.')[1:]) if dyndomain in dyndomains: - if os.path.exists('/etc/cron.d/yunohost-dyndns'): - raise MoulinetteError(errno.EPERM, - m18n.n('domain_dyndns_already_subscribed')) dyndns_subscribe(domain=domain) else: raise MoulinetteError(errno.EINVAL,