]> Frank Brehm's Git Trees - pixelpark/admin-tools.git/commitdiff
Add method get_soa() to class PdnsApiZone
authorFrank Brehm <frank.brehm@pixelpark.com>
Fri, 12 Jan 2018 15:48:09 +0000 (16:48 +0100)
committerFrank Brehm <frank.brehm@pixelpark.com>
Fri, 12 Jan 2018 15:48:09 +0000 (16:48 +0100)
pp_lib/pdns_zone.py

index ce68151196beac2b812e607a6d144927aab6b420..a1236c18a9e6325fbeac62d3b3916289111088a2 100644 (file)
@@ -21,9 +21,9 @@ from .common import pp, to_bytes, to_utf8, to_bool
 
 from .errors import PpError
 from .obj import PpBaseObjectError, PpBaseObject
-from .pdns_record import PdnsApiRrset
+from .pdns_record import PdnsApiRrset, PdnsSoaData
 
-__version__ = '0.4.2'
+__version__ = '0.4.3'
 
 LOG = logging.getLogger(__name__)
 
@@ -371,6 +371,23 @@ class PdnsApiZone(PpBaseObject):
 
         return tpl.format(**params)
 
+    # -------------------------------------------------------------------------
+    def get_soa(self):
+
+        soa = 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
+
+        return soa
+
 # =============================================================================
 
 if __name__ == "__main__":