]> Frank Brehm's Git Trees - pixelpark/puppet-tools.git/commitdiff
Start output of infos about forge
authorFrank Brehm <frank.brehm@pixelpark.com>
Mon, 13 Feb 2023 16:19:51 +0000 (17:19 +0100)
committerFrank Brehm <frank.brehm@pixelpark.com>
Mon, 13 Feb 2023 16:19:51 +0000 (17:19 +0100)
lib/dpx_puppettools/app/get_forge_module.py

index 6a95fc0851317b55e2fb1567586cb6441b3344c7..4fc07a978b35b0cf089877a947c8e8b3c3b2bc39 100644 (file)
@@ -24,6 +24,7 @@ from ..xlate import XLATOR
 from . import BaseDPXPuppetApplication
 
 from ..forge.mod_info import ForgeModuleInfo
+from ..forge.mod_info import RetrieveForgeDataError
 from ..forge.mod_info import ReadForgeModuleInfoError, WriteForgeModuleInfoError
 
 LOG = logging.getLogger(__name__)
@@ -31,7 +32,7 @@ LOG = logging.getLogger(__name__)
 _ = XLATOR.gettext
 ngettext = XLATOR.ngettext
 
-__version__ = '0.5.0'
+__version__ = '0.6.0'
 
 
 # =============================================================================
@@ -176,7 +177,11 @@ class GetForgeModuleApplication(BaseDPXPuppetApplication):
             except ReadForgeModuleInfoError as e:
                 LOG.debug(_("Could not read cache: {}").format(e))
         if not has_read:
-            self.module_info.retrieve_forge_data()
+            try:
+                self.module_info.retrieve_forge_data()
+            except RetrieveForgeDataError as e:
+                LOG.error(str(e))
+                self.exit(5)
 
         self.show_modinfo()
 
@@ -197,11 +202,27 @@ class GetForgeModuleApplication(BaseDPXPuppetApplication):
         msg = _("Information about module {!r}:").format(self.module_name)
         self.empty_line()
         print(self.colored(msg, 'CYAN'))
-        self.line(width=len(msg), color='CYAN')
+        self.line(width=len(msg), linechar='=', color='CYAN')
         self.empty_line()
 
-        LOG.debug(_("Module-Info:") + '\n' + pp(self.module_info.as_dict()))
+        if self.verbose > 1:
+            LOG.debug(_("Module-Info:") + '\n' + pp(self.module_info.as_dict()))
+            self.empty_line()
+
+        if self.module_info.exists_on_forge:
+            self.show_forgeinfo()
+        else:
+            print(_("Module {!r} not found on Puppet forge.").format(self.module_name))
+        print(_('Last checked for Puppet forge:') + ' ' + self.module_info.date_checked)
+        self.empty_line()
 
+    # -------------------------------------------------------------------------
+    def show_forgeinfo(self):
+
+        msg = _("Information from Puppet forge:")
+        print(msg)
+        self.line(width=len(msg))
+        self.empty_line()
 
 
 # =============================================================================