From 4262a2b07e25c07980c164966d48eb3ce870bd22 Mon Sep 17 00:00:00 2001 From: Martin Levy Date: Mon, 22 Jun 2020 18:36:14 -0700 Subject: [PATCH] added zone type and more dns info in dump - mainly for documentation reasons --- examples/example_zones.py | 31 ++++++++++++++++++++++--------- 1 file changed, 22 insertions(+), 9 deletions(-) diff --git a/examples/example_zones.py b/examples/example_zones.py index 875e8f1..1f100f9 100755 --- a/examples/example_zones.py +++ b/examples/example_zones.py @@ -32,28 +32,41 @@ def main(): for zone in sorted(zones, key=lambda v: v['name']): zone_name = zone['name'] zone_id = zone['id'] + zone_type = zone['type'] if 'email' in zone['owner']: zone_owner = zone['owner']['email'] else: zone_owner = '"' + zone['owner']['name'] + '"' zone_plan = zone['plan']['name'] + print('%s %-35s %-30s %-20s %s' % (zone_id, zone_name, zone_type, zone_owner, zone_plan)) + try: dns_records = cf.zones.dns_records.get(zone_id) except CloudFlare.exceptions.CloudFlareAPIError as e: - exit('/zones/dns_records %d %s - api call failed' % (e, e)) - - print(zone_id, zone_name, zone_owner, zone_plan) + sys.stderr.write('/zones/dns_records %d %s - api call failed\n' % (e, e)) + continue prog = re.compile('\.*'+zone_name+'$') dns_records = sorted(dns_records, key=lambda v: prog.sub('', v['name']) + '_' + v['type']) for dns_record in dns_records: - r_name = dns_record['name'] - r_type = dns_record['type'] - r_value = dns_record['content'] - r_ttl = dns_record['ttl'] - r_id = dns_record['id'] - print('\t%s %60s %6d %-5s %s' % (r_id, r_name, r_ttl, r_type, r_value)) + r_name = dns_record['name'] + r_type = dns_record['type'] + if 'content' in dns_record: + r_value = dns_record['content'] + else: + # should not happen + r_value = '' + if 'priority' in dns_record: + r_priority = dns_record['priority'] + else: + r_priority = '' + r_ttl = dns_record['ttl'] + if zone_type == 'secondary': + r_id = 'secondary' + else: + r_id = dns_record['id'] + print('\t%s %60s %6d %-5s %4s %s' % (r_id, r_name, r_ttl, r_type, r_priority, r_value)) print('')