From: Frank Brehm Date: Mon, 15 Jan 2018 15:37:13 +0000 (+0100) Subject: Splitting method get_soa() of class PdnsApiZone into get_soa_rrset(), get_soa_record... X-Git-Tag: 0.1.2~29 X-Git-Url: https://git.uhu-banane.net/?a=commitdiff_plain;h=c7a9029903cda96b5ef14305b792adc2b8950aee;p=pixelpark%2Fadmin-tools.git Splitting method get_soa() of class PdnsApiZone into get_soa_rrset(), get_soa_record() and get_soa() --- diff --git a/pp_lib/pdns_zone.py b/pp_lib/pdns_zone.py index 40988b3..bbc5945 100644 --- a/pp_lib/pdns_zone.py +++ b/pp_lib/pdns_zone.py @@ -24,7 +24,7 @@ from .errors import PpError from .obj import PpBaseObjectError, PpBaseObject from .pdns_record import PdnsApiRrset, PdnsSoaData -__version__ = '0.4.4' +__version__ = '0.4.5' LOG = logging.getLogger(__name__) @@ -372,20 +372,39 @@ class PdnsApiZone(PpBaseObject): return tpl.format(**params) + # ------------------------------------------------------------------------- + def get_soa_rrset(self): + + for rrset in self.rrsets: + if rrset.type == 'SOA': + return rrset + return None + + # ------------------------------------------------------------------------- + def get_soa_record(self): + + rrset = self.get_soa_rrset() + if self.verbose > 3: + LOG.debug("Got SOA RRset:\n{}".format(rrset)) + if not rrset: + return None + if not rrset.records: + return None + return rrset.records[0] + # ------------------------------------------------------------------------- def get_soa(self): soa = None + record = self.get_soa_record() + if self.verbose > 3: + LOG.debug("Got SOA record:\n{}".format(record)) + if not record: + return None - for rrset in self.rrsets: - if rrset.type == 'SOA': - for record in rrset.records: - soa = PdnsSoaData.init_from_data( - data=record.content, appname=self.appname, - verbose=self.verbose, base_dir=self.base_dir) - break - if soa: - break + soa = PdnsSoaData.init_from_data( + data=record.content, appname=self.appname, + verbose=self.verbose, base_dir=self.base_dir) return soa