]> Frank Brehm's Git Trees - pixelpark/puppetmaster-webhooks.git/commitdiff
Using lib/webhooks/module_list.py in lib/webhooks/show_modules.py
authorFrank Brehm <frank.brehm@pixelpark.com>
Tue, 4 Sep 2018 15:51:51 +0000 (17:51 +0200)
committerFrank Brehm <frank.brehm@pixelpark.com>
Tue, 4 Sep 2018 15:51:51 +0000 (17:51 +0200)
lib/webhooks/__init__.py
lib/webhooks/module_list.py
lib/webhooks/show_modules.py

index ea0a12ef03f2c6fe95631e84ecb2e49e4e270392..b8c85cc88722669894ba854fd4e71210255ffbd5 100644 (file)
@@ -1,6 +1,6 @@
 #!/bin/env python3
 # -*- coding: utf-8 -*-
 
-__version__ = '0.11.1'
+__version__ = '0.11.2'
 
 # vim: ts=4 et list
index 362c0da18e75e567af8faed0324357096aac711a..b07d236c9f07439877cbd6da34e0c9c5cafe6368 100644 (file)
@@ -32,7 +32,7 @@ from .obj import BaseObject
 
 from .module_info import ModuleInfo
 
-__version__ = '0.1.1'
+__version__ = '0.1.2'
 
 LOG = logging.getLogger(__name__)
 
@@ -85,7 +85,7 @@ class ModuleInfoDict(MutableMapping, BaseObject):
 
         if not isinstance(module_info, ModuleInfo):
             raise TypeError(self.msg_invalid_modinfo_type.format(module_info.__class__.__name__))
-        self._set_item(module_info.name, module_info)
+        self._set_item(module_info.full_name, module_info)
 
     # -------------------------------------------------------------------------
     def as_dict(self, short=True):
index 633bc7e57e5a71f9ee4efdd46c422529472ef245..0a29a952b98bb3e006e2c0abed22eaa8f10e7793 100644 (file)
@@ -31,6 +31,8 @@ from .base_app import BaseHookError, BaseHookApp
 
 from .module_info import ModuleInfo
 
+from .module_list import ModuleInfoDict
+
 LOG = logging.getLogger(__name__)
 
 DEFAULT_PARENT_DIR = '/etc/puppetlabs/code/fileserver'
@@ -205,7 +207,8 @@ class ShowModulesApp(BaseHookApp):
     def output_modules_json(self, module_infos):
 
         output_list = []
-        for module_info in module_infos:
+        for full_name in module_infos.keys():
+            module_info = module_infos[full_name]
             output_data = self.get_output_data(module_info)
             output_list.append(output_data)
 
@@ -218,7 +221,7 @@ class ShowModulesApp(BaseHookApp):
     # -------------------------------------------------------------------------
     def output_modules_html(self, module_infos):
 
-        if not module_infos:
+        if not len(module_infos):
             self.print_out()
             self.print_out('<h2>Keine passenden Module gefunden.</h2>')
             self.print_out()
@@ -247,7 +250,8 @@ class ShowModulesApp(BaseHookApp):
 
         line_class = 'even'
 
-        for module_info in module_infos:
+        for full_name in module_infos.keys():
+            module_info = module_infos[full_name]
             nr_modules += 1
             if nr_modules % 2:
                 line_class = 'odd'
@@ -320,7 +324,8 @@ class ShowModulesApp(BaseHookApp):
 
         nr_modules = 0
 
-        for module_info in module_infos:
+        for full_name in module_infos.keys():
+            module_info = module_infos[full_name]
             nr_modules += 1
             output_data = self.get_output_data(module_info)
             for key in label.keys():
@@ -357,7 +362,8 @@ class ShowModulesApp(BaseHookApp):
         self.print_out(header)
         self.print_out('=' * len(header))
 
-        for module_info in module_infos:
+        for full_name in module_infos.keys():
+            module_info = module_infos[full_name]
             nr_modules += 1
             output_data = self.get_output_data(module_info)
             if not output_data['forge_version']:
@@ -409,7 +415,9 @@ class ShowModulesApp(BaseHookApp):
             raise ShowModulesUncriticalError(
                 "Cache file {!r} not readable.".format(self.cache_file))
 
-        data = []
+        modules = ModuleInfoDict(
+            appname=self.appname, verbose=self.verbose, base_dir=self.base_dir)
+
         LOG.debug("Reading {!r} ...".format(self.cache_file))
         try:
             with open(self.cache_file, 'r', **self.open_args) as fh:
@@ -432,16 +440,16 @@ class ShowModulesApp(BaseHookApp):
                             if not in_main_branches:
                                 continue
                         if self.should_display(module_info):
-                            data.append(module_info)
+                            modules.append(module_info)
         except yaml.YAMLError as e:
             raise ShowModulesUncriticalError(
                 "Could not evaluate content of {f!r}: {e}".format(f=self.cache_file, e=e))
         if self.verbose > 3:
-            LOG.debug("Content of {f!r}:\n{c}".format(f=self.cache_file, c=pp(data)))
-        if not data:
+            LOG.debug("Content of {f!r}:\n{c}".format(f=self.cache_file, c=pp(modules.as_list())))
+        if not len(modules):
             LOG.debug("Did not found any matching modules.")
 
-        return data
+        return modules
 
     # -------------------------------------------------------------------------
     def should_display(self, module_info):