]> Frank Brehm's Git Trees - pixelpark/puppetmaster-webhooks.git/commitdiff
Starting extending get-module-changes
authorFrank Brehm <frank.brehm@pixelpark.com>
Fri, 4 Oct 2019 09:29:06 +0000 (11:29 +0200)
committerFrank Brehm <frank.brehm@pixelpark.com>
Fri, 4 Oct 2019 09:29:06 +0000 (11:29 +0200)
lib/webhooks/__init__.py
lib/webhooks/get_module_changes.py

index 867247bcfcd0bd08115daa671617f955142a91f6..3b073094a0a0a7334d349dba2bbfa4e96a9c2e3f 100644 (file)
@@ -1,6 +1,6 @@
 #!/bin/env python3
 # -*- coding: utf-8 -*-
 
-__version__ = '1.6.5'
+__version__ = '1.7.0'
 
 # vim: ts=4 et list
index dd8063eae23116deb6297bdca1b1a0b5927cd083..4dcff09c6b0839ca63defd3805e2a025a5e3bc5a 100644 (file)
@@ -77,12 +77,16 @@ class GetModuleChangesApp(BaseHookApp):
     def __init__(self, appname=None, base_dir=None, verbose=0, version=__version__):
         """Constructor."""
 
+        self._check_date = None
+
         description = _(
             "Generates a list of all Puppets modules, which are newer "
             "in Puppet forge than in a defined environment.")
 
         self._environment = self.default_env
 
+        self._check_date = datetime.datetime.now(LOCALTZ)
+
         super(GetModuleChangesApp, self).__init__(
             appname=appname, base_dir=base_dir, verbose=verbose, version=version,
             no_cc=True, description=description)
@@ -106,6 +110,20 @@ class GetModuleChangesApp(BaseHookApp):
 
         self._environment = val
 
+    # -----------------------------------------------------------
+    @property
+    def check_date(self):
+        """The timestamp of the check as a datetime object."""
+        return self._check_date
+
+    # -----------------------------------------------------------
+    @property
+    def check_date_str(self):
+        """The timestamp of the check as a string."""
+        if self.check_date is None:
+            return None
+        return format_datetime(self.check_date, 'yyyy-MM-dd HH:mm:ss z', tzinfo=LOCALTZ)
+
     # -------------------------------------------------------------------------
     def as_dict(self, short=True):
         """
@@ -117,6 +135,8 @@ class GetModuleChangesApp(BaseHookApp):
 
         res = super(GetModuleChangesApp, self).as_dict(short=short)
 
+        res['check_date'] = self.check_date
+        res['check_date_str'] = self.check_date_str
         res['default_env'] = self.default_env
         res['environment'] = self.environment
 
@@ -170,6 +190,8 @@ class GetModuleChangesApp(BaseHookApp):
         version_infos = self.get_newer_modules(module_infos)
         self.generate_version_msgs(version_infos)
 
+        self.error_data.append("\n" + _("Checked at: {}").format(self.check_date_str))
+
     # -------------------------------------------------------------------------
     def get_newer_modules(self, module_infos):
 
@@ -243,15 +265,12 @@ class GetModuleChangesApp(BaseHookApp):
             "Results of checking for newer versions of Puppet modules "
             "in environment {!r}:").format(self.environment)
 
-        dt = datetime.datetime.now(LOCALTZ)
-        dt_str = format_datetime(dt, 'yyyy-MM-dd HH:mm:ss z', tzinfo=LOCALTZ)
-
         if not version_infos:
             msg = _(
                 "Didn't found any modules in environment {!r} with a\n"
                 "newer version on Puppet Forge.").format(self.environment) + "\n\n:-D"
             self.error_data.append(msg)
-            self.error_data.append("\n" + _("Checked at: {}").format(dt_str))
+            self.error_data.append("\n" + _("Checked at: {}").format(self.check_date_str))
             return
 
         msg = ngettext(
@@ -305,8 +324,6 @@ class GetModuleChangesApp(BaseHookApp):
                 forge_version=str(version_info['forge_version'])
             ))
 
-        self.error_data.append("\n" + _("Checked at: {}").format(dt_str))
-
 
 # =============================================================================
 if __name__ == "__main__":