]> Frank Brehm's Git Trees - pixelpark/admin-tools.git/commitdiff
Changing output about starting and ending
authorFrank Brehm <frank.brehm@pixelpark.com>
Mon, 5 Feb 2018 14:13:39 +0000 (15:13 +0100)
committerFrank Brehm <frank.brehm@pixelpark.com>
Mon, 5 Feb 2018 14:13:39 +0000 (15:13 +0100)
pp_lib/deploy_zones_from_pdns.py

index afba2efaa378b86a6f90663668ebad3e4cf3125f..fb0d533efbc0cd9bfe3d7337ebe9220f31e6dc7e 100644 (file)
@@ -30,6 +30,7 @@ from functools import cmp_to_key
 import six
 from six import reraise
 import requests
+from pytz import timezone, UnknownTimeZoneError
 
 from six.moves.urllib.parse import urlunsplit
 
@@ -44,7 +45,7 @@ from .pdns_record import compare_rrsets
 
 from .pidfile import PidFileError, InvalidPidFileError, PidFileInUseError, PidFile
 
-__version__ = '0.5.2'
+__version__ = '0.5.3'
 LOG = logging.getLogger(__name__)
 
 
@@ -307,6 +308,9 @@ class PpDeployZonesApp(PpPDNSApplication):
         super(PpDeployZonesApp, self).post_init()
         self.initialized = False
 
+        if not self.quiet:
+            print('')
+
         LOG.debug("Post init phase.")
 
         LOG.debug("Checking for masters, which are local addresses ...")
@@ -320,7 +324,8 @@ class PpDeployZonesApp(PpPDNSApplication):
                     "Address {!r} not in list of local addresses.".format(addr))
                 ext_masters.append(addr)
         self.zone_masters = ext_masters
-        LOG.info("Using list of masters for slave zones:\n{}".format(pp(self.zone_masters)))
+        LOG.info("Using masters for slave zones: {}".format(
+            ', '.join(map(lambda x: '{!r}'.format(x), self.zone_masters))))
 
         self.pidfile = PidFile(
             filename=self.pidfile_name, appname=self.appname, verbose=self.verbose,
@@ -347,6 +352,15 @@ class PpDeployZonesApp(PpPDNSApplication):
     # -------------------------------------------------------------------------
     def _run(self):
 
+        local_tz_name = 'Europe/Berlin'
+        if 'TZ' in os.environ and os.environ['TZ']:
+            local_tz_name = os.environ['TZ']
+        try:
+            local_tz = timezone(local_tz_name)
+        except UnknownTimeZoneError:
+            LOG.error("Unknown time zone: {!r}.".format(local_tz_name))
+            self.exit(6)
+
         my_uid = os.geteuid()
         if my_uid:
             msg = "You must be root to execute this script."
@@ -366,7 +380,8 @@ class PpDeployZonesApp(PpPDNSApplication):
 
         try:
 
-            LOG.info("Here we go again ...")
+            LOG.info("Starting: {}".format(
+                datetime.datetime.now(local_tz).strftime('%Y-%m-%d %H:%M:%S %Z')))
 
             self.zones = self.get_api_zones()
             self.zones.sort(key=lambda x: cmp_to_key(compare_fqdn)(x.name_unicode))
@@ -388,6 +403,8 @@ class PpDeployZonesApp(PpPDNSApplication):
         finally:
             self.cleanup()
             self.pidfile = None
+            LOG.info("Ending: {}".format(
+                datetime.datetime.now(local_tz).strftime('%Y-%m-%d %H:%M:%S %Z')))
 
     # -------------------------------------------------------------------------
     def cleanup(self):