]> git.ralfj.de Git - zonemaker.git/blobdiff - zonemaker/zone.py
write to stdout only
[zonemaker.git] / zonemaker / zone.py
index 5f8e065d3b1f315f83ce2bf9f47523d4695d1956..f9712e9e5e3aa9a7fa8a94df09a4720fd07998f9 100644 (file)
@@ -1,4 +1,4 @@
-import re
+import re, datetime
 from ipaddress import IPv4Address, IPv6Address
 from typing import List, Dict, Any, Iterator, Tuple, Sequence
 
 from ipaddress import IPv4Address, IPv6Address
 from typing import List, Dict, Any, Iterator, Tuple, Sequence
 
@@ -191,12 +191,11 @@ def SecureDelegation(name: str, tag: int, alg: int, digest: int, key: str) -> Na
 
 
 class Zone:
 
 
 class Zone:
-    def __init__(self, name: str, serialfile: str, dbfile: str, mail: str, NS: List[str],
+    def __init__(self, name: str, serialfile: str, mail: str, NS: List[str],
                  secondary_refresh: int, secondary_retry: int, secondary_expire: int,
                  NX_TTL: int = None, A_TTL: int = None, other_TTL: int = None,
                  domains: Dict[str, Any] = {}) -> None:
         self._serialfile = serialfile
                  secondary_refresh: int, secondary_retry: int, secondary_expire: int,
                  NX_TTL: int = None, A_TTL: int = None, other_TTL: int = None,
                  domains: Dict[str, Any] = {}) -> None:
         self._serialfile = serialfile
-        self._dbfile = dbfile
         
         if not name.endswith('.'): raise Exception("Expected an absolute hostname")
         self._name = check_hostname(name)
         
         if not name.endswith('.'): raise Exception("Expected an absolute hostname")
         self._name = check_hostname(name)
@@ -257,8 +256,8 @@ class Zone:
         # SOA record
         serial = self.inc_serial()
         yield self.RR(self._name, 'SOA',
         # SOA record
         serial = self.inc_serial()
         yield self.RR(self._name, 'SOA',
-                      ('{NS} {mail} ({serial} {refresh} {retry} {expire} {NX_TTL}) ; '+
-                      '(serial refresh retry expire NX_TTL)').format(
+                      ('{NS} {mail} {serial} {refresh} {retry} {expire} {NX_TTL}'+
+                      ' ; primns mail serial refresh retry expire NX_TTL').format(
                           NS=self.abs_hostname(self._NS[0]), mail=self._mail, serial=serial,
                           refresh=time(self._refresh), retry=time(self._retry), expire=time(self._expire),
                           NX_TTL=time(self._NX_TTL))
                           NS=self.abs_hostname(self._NS[0]), mail=self._mail, serial=serial,
                           refresh=time(self._refresh), retry=time(self._retry), expire=time(self._expire),
                           NX_TTL=time(self._NX_TTL))
@@ -272,7 +271,6 @@ class Zone:
                 yield rr
     
     def write(self) -> None:
                 yield rr
     
     def write(self) -> None:
-        with open(self._dbfile, 'w') as f:
-            for rr in self.generate_rrs():
-                f.write(rr+"\n")
-                print(rr)
+        print(";; {0} zone file, generated by zonemaker <https://www.ralfj.de/projects/zonemaker> on {1}".format(self._name, datetime.datetime.now()))
+        for rr in self.generate_rrs():
+            print(rr)