@@ -32,28 +32,41 @@ def main():
3232 for zone in sorted (zones , key = lambda v : v ['name' ]):
3333 zone_name = zone ['name' ]
3434 zone_id = zone ['id' ]
35+ zone_type = zone ['type' ]
3536 if 'email' in zone ['owner' ]:
3637 zone_owner = zone ['owner' ]['email' ]
3738 else :
3839 zone_owner = '"' + zone ['owner' ]['name' ] + '"'
3940 zone_plan = zone ['plan' ]['name' ]
4041
42+ print ('%s %-35s %-30s %-20s %s' % (zone_id , zone_name , zone_type , zone_owner , zone_plan ))
43+
4144 try :
4245 dns_records = cf .zones .dns_records .get (zone_id )
4346 except CloudFlare .exceptions .CloudFlareAPIError as e :
44- exit ('/zones/dns_records %d %s - api call failed' % (e , e ))
45-
46- print (zone_id , zone_name , zone_owner , zone_plan )
47+ sys .stderr .write ('/zones/dns_records %d %s - api call failed\n ' % (e , e ))
48+ continue
4749
4850 prog = re .compile ('\.*' + zone_name + '$' )
4951 dns_records = sorted (dns_records , key = lambda v : prog .sub ('' , v ['name' ]) + '_' + v ['type' ])
5052 for dns_record in dns_records :
51- r_name = dns_record ['name' ]
52- r_type = dns_record ['type' ]
53- r_value = dns_record ['content' ]
54- r_ttl = dns_record ['ttl' ]
55- r_id = dns_record ['id' ]
56- print ('\t %s %60s %6d %-5s %s' % (r_id , r_name , r_ttl , r_type , r_value ))
53+ r_name = dns_record ['name' ]
54+ r_type = dns_record ['type' ]
55+ if 'content' in dns_record :
56+ r_value = dns_record ['content' ]
57+ else :
58+ # should not happen
59+ r_value = ''
60+ if 'priority' in dns_record :
61+ r_priority = dns_record ['priority' ]
62+ else :
63+ r_priority = ''
64+ r_ttl = dns_record ['ttl' ]
65+ if zone_type == 'secondary' :
66+ r_id = 'secondary'
67+ else :
68+ r_id = dns_record ['id' ]
69+ print ('\t %s %60s %6d %-5s %4s %s' % (r_id , r_name , r_ttl , r_type , r_priority , r_value ))
5770
5871 print ('' )
5972
0 commit comments