Fixed login validator, added some debug lines

This commit is contained in:
2019-10-15 22:21:43 +13:00
parent 465ad76281
commit e004c00496
2 changed files with 12 additions and 11 deletions

View File

@@ -38,14 +38,20 @@ def main(hostname, url, username, password):
click.echo('Updating DNS for ' + hostname)
(directadmin_zone, directadmin_name) = get_zone_and_name(hostname)
da_client = get_directadmin_client(url, username, password)
da_client = ""
try:
da_client = get_directadmin_client(url, username, password)
except DirectAdminClientException as e:
click.echo(e)
exit(1)
current_ip = requests.get('https://icanhazip.com').text.strip()
hostname_resolves_to = socket.gethostbyname(hostname).strip()
click.echo(current_ip)
click.echo(hostname_resolves_to)
click.echo("Current External IP: {}".format(current_ip))
click.echo("Hostname resolves to: {}".format(hostname_resolves_to))
if current_ip != hostname_resolves_to:
click.echo("Current IP has changed, updating...")
try:
response = da_client.update_dns_record(directadmin_zone,
"A",

View File

@@ -30,9 +30,6 @@ class DirectAdminClient:
response = self.login_test()
except DirectAdminClientException as e:
raise e
def make_request(self, endpoint, data=None):
response = None # Empty response variable
@@ -69,11 +66,9 @@ class DirectAdminClient:
def login_test(self):
r = self.make_request('CMD_API_LOGIN_TEST')
response = parse_qs(r.read().decode('utf8'),
keep_blank_values=0,
strict_parsing=1)
return self.__process_response__(response)
if "<!DOCTYPE html>" in r.read().decode('utf8'):
raise DirectAdminClientException('Not Logged in! Check Username and Password/Login Key')
return r.getheaders()[0][1]
def get_domain_list(self):
r = self.make_request('CMD_API_SHOW_DOMAINS')