]> Frank Brehm's Git Trees - pixelpark/puppetmaster-webhooks.git/commitdiff
Adding lib/webhooks/forge_module_info.py
authorFrank Brehm <frank.brehm@pixelpark.com>
Wed, 9 Jan 2019 17:23:54 +0000 (18:23 +0100)
committerFrank Brehm <frank.brehm@pixelpark.com>
Wed, 9 Jan 2019 17:23:54 +0000 (18:23 +0100)
lib/webhooks/forge_module_info.py [new file with mode: 0644]
lib/webhooks/get_forge_modules.py

diff --git a/lib/webhooks/forge_module_info.py b/lib/webhooks/forge_module_info.py
new file mode 100644 (file)
index 0000000..da087b7
--- /dev/null
@@ -0,0 +1,92 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+"""
+@author: Frank Brehm
+@contact: frank.brehm@pixelpark.com
+@copyright: © 2018 by Frank Brehm, Publicies Pixelpark GmbH, Berlin
+@summary: A module for encapsulating all information about a Puppet module
+"""
+from __future__ import absolute_import
+
+# Standard modules
+import logging
+import re
+import copy
+import warnings
+import time
+import datetime
+
+# Third party modules
+import requests
+import pytz
+
+# Own modules
+from fb_tools.common import pp, to_str, to_bool, is_sequence
+from fb_tools.obj import FbBaseObjectError, FbBaseObject
+
+from .xlate import XLATOR
+
+__version__ = '0.1.0'
+
+LOG = logging.getLogger(__name__)
+
+_ = XLATOR.gettext
+ngettext = XLATOR.ngettext
+
+
+# =============================================================================
+def parse_forge_date(dt):
+
+    return datetime.datetime.strptime(dt, '%Y-%m-%d %H:%M:%S %z')
+
+
+# =============================================================================
+class ReleasInfoError(FbBaseObjectError):
+
+    pass
+
+
+# =============================================================================
+class ForgeModuleInfoError(FbBaseObjectError):
+
+    pass
+
+
+# =============================================================================
+class ForgeModuleInfoTypeError(ForgeModuleInfoError, TypeError):
+
+    pass
+
+
+# =============================================================================
+class ModuleReleaseInfo(FbBaseObject):
+    """Class for encapsulating information about a Puppet module release from Puppet Forge."""
+
+    # -------------------------------------------------------------------------
+    def __init__(
+            self, appname=None, verbose=0, version=__version__, base_dir=None, initialized=None):
+
+        self._created_at = None
+        self._deleted_at = None
+        self._file_size = None
+        self._file_uri = None
+        self._slug = None
+        self._supported = None
+        self._uri = None
+        self._version = None
+
+        super(ModuleReleaseInfo, self).__init__(
+            appname=appname, verbose=verbose, version=version,
+            base_dir=base_dir, initialized=False,
+        )
+
+
+
+# =============================================================================
+if __name__ == "__main__":
+
+    pass
+
+# =============================================================================
+
+# vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4 list
index 7a5b3d412df6f5bf0aaa7d55de9bf1153b7c3cbd..e45ebf50f99cef0a2ae5fd1ad9f294274287f6fa 100644 (file)
@@ -80,6 +80,8 @@ class GetForgeModulesApp(BaseHookApp):
         self.http_timeout = self.default_http_timeout
         self.modules = None
         self._do_forge = True
+        self.forge_modules = None
+        self.env_modules = None
 
         description = _(
             "Collects information about all used Puppet Modules from {url!r} "