11#!/usr/bin/env python
22
3- import os
4- import sys
5- import re
6- import json
7- import requests
83import argparse
9- import tldextract
10- import CloudFlare
114import logging as log # for verbose output
125import socket # to get default hostname
6+ import sys
7+
8+ import CloudFlare
9+ import tldextract
10+
1311from .__about__ import __version__
1412
1513
@@ -28,25 +26,27 @@ def update(cf_username, cf_key, hostname, ip, proxied=True, ttl=120):
2826
2927 cf = CloudFlare .CloudFlare (email = cf_username , token = cf_key )
3028 # now get the zone id
29+ zones = []
3130 try :
3231 params = {'name' : zone_domain }
3332 zones = cf .zones .get (params = params )
3433 except CloudFlare .exceptions .CloudFlareAPIError as e :
35- log .error ('badauth - %s' % ( e ) )
36- exit ()
34+ log .error ('bad auth - %s' % e )
35+ exit (1 )
3736 except Exception as e :
38- exit ('/zones.get - %s - api call failed' % ( e ) )
37+ exit ('/zones.get - %s - api call failed' % e )
3938
4039 if len (zones ) == 0 :
41- log .error ('nohost ' )
42- exit ()
40+ log .error ('no host ' )
41+ exit (1 )
4342
4443 if len (zones ) != 1 :
4544 exit ('/zones.get - %s - api call returned %d items' % (zone_domain , len (zones )))
4645
4746 zone_id = zones [0 ]['id' ]
4847 log .info ("Zone ID is {}" .format (zone_id ))
4948
49+ dns_records = []
5050 try :
5151 params = {'name' : hostname , 'match' : 'all' , 'type' : ip_address_type }
5252 dns_records = cf .zones .dns_records .get (zone_id , params = params )
@@ -86,7 +86,7 @@ def update(cf_username, cf_key, hostname, ip, proxied=True, ttl=120):
8686 'ttl' : ttl
8787 }
8888 try :
89- dns_record = cf .zones .dns_records .put (zone_id , dns_record_id , data = dns_record )
89+ cf .zones .dns_records .put (zone_id , dns_record_id , data = dns_record )
9090 except CloudFlare .exceptions .CloudFlareAPIError as e :
9191 exit ('/zones.dns_records.put %s - %d %s - api call failed' % (hostname , e , e ))
9292 log .info ('UPDATED: %s %s -> %s' % (hostname , old_ip , ip ))
@@ -101,7 +101,7 @@ def update(cf_username, cf_key, hostname, ip, proxied=True, ttl=120):
101101 'ttl' : ttl
102102 }
103103 try :
104- dns_record = cf .zones .dns_records .post (zone_id , data = dns_record )
104+ cf .zones .dns_records .post (zone_id , data = dns_record )
105105 except CloudFlare .exceptions .CloudFlareAPIError as e :
106106 exit ('/zones.dns_records.post %s - %d %s - api call failed' % (hostname , e , e ))
107107 log .info ('CREATED: %s %s' % (hostname , ip ))
0 commit comments