]> Frank Brehm's Git Trees - pixelpark/admin-tools.git/commitdiff
Transforming bin/dns-deploy-zones to the new schema
authorFrank Brehm <frank.brehm@pixelpark.com>
Fri, 22 Jan 2021 13:40:22 +0000 (14:40 +0100)
committerFrank Brehm <frank.brehm@pixelpark.com>
Fri, 22 Jan 2021 13:40:22 +0000 (14:40 +0100)
bin/barracuda-sync
bin/dns-deploy-zones
lib/pp_lib/deploy_zones_from_pdns.py
lib/pp_lib/pdns_app.py
lib/pp_lib/pdns_record.py
lib/pp_lib/pdns_zone.py
lib/pp_lib/pidfile.py

index 5f3e66cfc92c8e3eb564ba9f610873a838025e5f..4a19aee4c41f5ead038ba20cee92ade594a7df19 100755 (executable)
@@ -4,7 +4,6 @@ from __future__ import print_function
 
 # Standard modules
 import sys
-import gettext
 
 __exp_py_version_major__ = 3
 __min_py_version_minor__ = 4
index 3a038c585a50fa2438037087dde2f6db75a270dc..0d17aa872db5fc1894b3a566c04c9e05cbecd932 100755 (executable)
@@ -1,31 +1,54 @@
 #!/usr/bin/env python3
 
+from __future__ import print_function
+
 # Standard modules
 import sys
+
+__exp_py_version_major__ = 3
+__min_py_version_minor__ = 4
+
+if sys.version_info[0] != __exp_py_version_major__:
+    print("This script is intended to use with Python {}.".format(
+            __exp_py_version_major__), file=sys.stderr)
+    print("You are using Python: {0}.{1}.{2}-{3}-{4}.".format(
+        *sys.version_info) + "\n", file=sys.stderr)
+    sys.exit(1)
+
+if sys.version_info[1] < __min_py_version_minor__:
+    print("A minimal Python version of {maj}.{min} is necessary to execute this script.".format(
+        maj=__exp_py_version_major__, min=__min_py_version_minor__), file=sys.stderr)
+    print("You are using Python: {0}.{1}.{2}-{3}-{4}.".format(
+        *sys.version_info) + "\n", file=sys.stderr)
+    sys.exit(1)
+
+# Standard modules
 import os
-import logging
 import locale
 
+try:
+    import pathlib
+    from pathlib import Path
+except ImportError:
+    from pathlib2 import Path
+    import pathlib2 as pathlib
+
 # own modules:
-cur_dir = os.getcwd()
-base_dir = cur_dir
-
-if sys.argv[0] != '' and sys.argv[0] != '-c':
-    bin_dir = os.path.dirname(os.path.realpath(sys.argv[0]))
-else:
-    bin_dir = os.path.dirname(os.path.realpath(__file__))
-base_dir = os.path.abspath(os.path.join(bin_dir, '..'))
-module_dir = os.path.join(base_dir, 'pp_lib')
-if os.path.exists(module_dir):
-    sys.path.insert(0, base_dir)
-
-#from pp_lib.config_named_app import PpConfigNamedApp
-from pp_lib.deploy_zones_from_pdns import PpDeployZonesApp
 
-log = logging.getLogger(__name__)
+my_path = Path(__file__)
+my_real_path = my_path.resolve()
+bin_path = my_real_path.parent
+base_dir = bin_path.parent
+lib_dir = base_dir.joinpath('lib')
+module_dir = lib_dir.joinpath('pp_lib')
+
+if module_dir.exists():
+    sys.path.insert(0, str(lib_dir))
+
+from pp_lib.deploy_zones_from_pdns import PpDeployZonesApp
 
 __author__ = 'Frank Brehm <frank.brehm@pixelpark.com>'
-__copyright__ = '(C) 2018 by Frank Brehm, Pixelpark GmbH, Berlin'
+__copyright__ = '(C) 2021 by Frank Brehm, Pixelpark GmbH, Berlin'
 
 appname = os.path.basename(sys.argv[0])
 
index 4c404d0d0c85949079fd8fbf488e8eabddb13633..d1894310056314d9bb8ff72bf5e55f3b248e739d 100644 (file)
@@ -3,7 +3,7 @@
 """
 @author: Frank Brehm
 @contact: frank.brehm@pixelpark.com
-@copyright: © 2018 by Frank Brehm, Berlin
+@copyright: © 2021 by Frank Brehm, Berlin
 @summary: A module for the application class for configuring named
 """
 from __future__ import absolute_import
@@ -31,13 +31,13 @@ import six
 from pytz import timezone, UnknownTimeZoneError
 
 # Own modules
-from .common import pp, compare_fqdn, to_str, to_bool
+from fb_tools.common import pp, compare_fqdn, to_str, to_bool
 
 from .pdns_app import PpPDNSAppError, PpPDNSApplication
 
 from .pidfile import PidFileError, PidFile
 
-__version__ = '0.5.4'
+__version__ = '0.5.5'
 LOG = logging.getLogger(__name__)
 
 
index 1cda9a9404f129d9fd51d7b16db0fc89ea816c9e..6cd43857fc70a25767bb277735ebed3c7ea821cf 100644 (file)
@@ -3,7 +3,7 @@
 """
 @author: Frank Brehm
 @contact: frank.brehm@pixelpark.com
-@copyright: © 2018 by Frank Brehm, Berlin
+@copyright: © 2021 by Frank Brehm, Berlin
 @summary: The module for a application object related to PowerDNS.
 """
 from __future__ import absolute_import
@@ -25,13 +25,13 @@ import requests
 import psutil
 
 # Own modules
-from .common import pp
+from fb_tools.common import pp
 
 from .cfg_app import PpCfgAppError, PpConfigApplication
 from .pdns_zone import PdnsApiZone
 from .pdns_record import PdnsSoaData
 
-__version__ = '0.6.5'
+__version__ = '0.6.6'
 LOG = logging.getLogger(__name__)
 _LIBRARY_NAME = "pp-pdns-api-client"
 
index 17a29fc7c56bfb36292e735c3c487d7bfea56005..886b2d61d7faa5f67c04682569639f7eeb26a5c2 100644 (file)
@@ -17,11 +17,10 @@ import datetime
 # Third party modules
 
 # Own modules
-from .common import pp, compare_fqdn, to_utf8, to_str
+from fb_tools.common import pp, compare_fqdn, to_utf8, to_str
+from fb_tools.obj import FbBaseObjectError, FbBaseObject
 
-from .obj import PpBaseObjectError, PpBaseObject
-
-__version__ = '0.4.6'
+__version__ = '0.4.7'
 
 LOG = logging.getLogger(__name__)
 
@@ -40,7 +39,7 @@ TYPE_ORDER = {
 }
 
 # =============================================================================
-class PdnsApiRrsetError(PpBaseObjectError):
+class PdnsApiRrsetError(FbBaseObjectError):
     pass
 
 
@@ -85,7 +84,7 @@ def compare_rrsets(x, y):
     return 0
 
 # =============================================================================
-class PdnsApiRecord(PpBaseObject):
+class PdnsApiRecord(FbBaseObject):
 
     # -------------------------------------------------------------------------
     def __init__(
@@ -173,7 +172,7 @@ class PdnsApiRecord(PpBaseObject):
 
 
 # =============================================================================
-class PdnsSoaData(PpBaseObject):
+class PdnsSoaData(FbBaseObject):
 
     re_soa_data = re.compile(r'^\s*(\S+)\s+(\S+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s*$')
     re_ws = re.compile(r'\s+')
@@ -392,7 +391,7 @@ class PdnsSoaData(PpBaseObject):
         return True
 
 # =============================================================================
-class PdnsApiRrset(PpBaseObject):
+class PdnsApiRrset(FbBaseObject):
 
     default_ttl = 3600
 
index 3188d1b626cadd1b9141d6bf622ba4770de19097..b8ea11c0c355653328c8d1c1d7f68c1f1ffe5185 100644 (file)
@@ -3,7 +3,7 @@
 """
 @author: Frank Brehm
 @contact: frank.brehm@pixelpark.com
-@copyright: © 2018 by Frank Brehm, Publicies Pixelpark GmbH, Berlin
+@copyright: © 2021 by Frank Brehm, Publicies Pixelpark GmbH, Berlin
 @summary: An encapsulation class for zone objects by PowerDNS API
 """
 from __future__ import absolute_import
@@ -17,23 +17,23 @@ import datetime
 from dns.resolver import Resolver, NoAnswer
 
 # Own modules
-from .common import pp, to_utf8, to_bool
-from .common import RE_DOT_AT_END
+from fb_tools.common import pp, to_utf8, to_bool
+from fb_tools.common import RE_DOT_AT_END
+from fb_tools.obj import FbBaseObjectError, FbGenericBaseObject, FbBaseObject
 
-from .obj import PpBaseObjectError, PpBaseObject
 from .pdns_record import PdnsApiRrset, PdnsSoaData
 
-__version__ = '0.5.6'
+__version__ = '0.5.7'
 
 LOG = logging.getLogger(__name__)
 
 # =============================================================================
-class PdnsApiZoneError(PpBaseObjectError):
+class PdnsApiZoneError(FbBaseObjectError):
     pass
 
 
 # =============================================================================
-class PdnsApiZone(PpBaseObject):
+class PdnsApiZone(FbBaseObject):
 
     # -------------------------------------------------------------------------
     def __init__(
@@ -308,7 +308,7 @@ class PdnsApiZone(PpBaseObject):
         res['api_rectify'] = self.api_rectify
 
         for rrset in self.rrsets:
-            if isinstance(rrset, PpBaseObject):
+            if isinstance(rrset, FbGenericBaseObject):
                 res['rrsets'].append(rrset.as_dict(short))
             else:
                 res['rrsets'].append(rrset)
index b938c2a286a466f7698ded1461aba5e09e02603c..f91ad4d81da1348bb3ddc1ba9ea2389f1b1afc22 100644 (file)
@@ -24,20 +24,16 @@ import six
 from six import reraise
 
 # Own modules
+from fb_tools.errors import ReadTimeoutError
+from fb_tools.common import to_utf8
+from fb_tools.obj import FbBaseObjectError, FbBaseObject
 
-from .errors import ReadTimeoutError
-
-from .obj import PpBaseObjectError
-from .obj import PpBaseObject
-
-from .common import to_utf8
-
-__version__ = '0.2.5'
+__version__ = '0.2.6'
 
 LOG = logging.getLogger(__name__)
 
 # =============================================================================
-class PidFileError(PpBaseObjectError):
+class PidFileError(FbBaseObjectError):
     """Base error class for all exceptions happened during
     handling a pidfile."""
 
@@ -106,7 +102,7 @@ class PidFileInUseError(PidFileError):
 
 
 # =============================================================================
-class PidFile(PpBaseObject):
+class PidFile(FbBaseObject):
     """
     Base class for a pidfile object.
     """