From c7a9029903cda96b5ef14305b792adc2b8950aee Mon Sep 17 00:00:00 2001 From: Frank Brehm Date: Mon, 15 Jan 2018 16:37:13 +0100 Subject: [PATCH] Splitting method get_soa() of class PdnsApiZone into get_soa_rrset(), get_soa_record() and get_soa() --- pp_lib/pdns_zone.py | 39 +++++++++++++++++++++++++++++---------- 1 file changed, 29 insertions(+), 10 deletions(-) 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 -- 2.39.5