--- /dev/null
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+"""
+@author: Frank Brehm
+@contact: frank.brehm@pixelpark.com
+@copyright: © 2017 by Frank Brehm, Berlin
+@summary: The module for the show-module CGI application to show
+ information about all Puppet modules from cache.
+"""
+from __future__ import absolute_import
+
+# Standard modules
+import os
+import logging
+import textwrap
+import copy
+
+# Third party modules
+
+# Own modules
+from . import __version__
+
+from .common import pp, to_str
+
+from .base_app import BaseHookApp
+
+LOG = logging.getLogger(__name__)
+
+DEFAULT_PARENT_DIR = '/etc/puppetlabs/code/fileserver'
+
+
+# =============================================================================
+class ShowModulesApp(BaseHookApp):
+ """
+ Class for the application objects.
+ """
+
+ # -------------------------------------------------------------------------
+ def __init__(self, appname=None, verbose=0, version=__version__):
+ """Constructor."""
+
+ self.description = textwrap.dedent('''\
+ returns a list with all used Puppet modules
+ ''').strip()
+
+ self.cache_file = None
+
+ super(ShowModulesApp, self).__init__(
+ appname=appname, verbose=verbose, version=version)
+
+# # -------------------------------------------------------------------------
+# def as_dict(self, short=True):
+# """
+# Transforms the elements of the object into a dict
+#
+# @return: structure as dict
+# @rtype: dict
+# """
+#
+# res = super(ShowModulesApp, self).as_dict()
+#
+# return res
+
+ # -------------------------------------------------------------------------
+ def evaluate_config(self, config, yaml_file):
+
+ super(ShowModulesApp, self).evaluate_config(config, yaml_file)
+
+ # -------------------------------------------------------------------------
+ def post_init(self):
+
+ self.read_stdin = False
+ self.cache_file = os.path.join(self.data_dir, 'modules-info.yaml')
+
+ self.initialized = True
+
+ # -------------------------------------------------------------------------
+ def run(self):
+ """Main routine."""
+
+ self.print_out("Hallo!")
+
+# =============================================================================
+
+if __name__ == "__main__":
+
+ pass
+
+# =============================================================================
+# vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4 list
--- /dev/null
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+
+# Standard modules
+import os
+import sys
+import logging
+
+# own modules:
+basedir = os.path.abspath(os.path.dirname(__file__))
+libdir = os.path.join(basedir, 'lib')
+
+sys.path.insert(0, libdir)
+
+from webhooks.show_modules import ShowModulesApp
+
+MY_APPNAME = os.path.basename(sys.argv[0])
+LOG = logging.getLogger(MY_APPNAME)
+
+app = ShowModulesApp(appname=MY_APPNAME)
+
+if app.verbose > 2:
+ LOG.debug("{c} object:\n{o}".format(c=app.__class__.__name__, o=app))
+
+app()
+
+sys.exit(0)
+
+# vim: ts=4 et