diff options
| author | dd <dd@wx.tnyzeq.icu> | 2024-10-06 17:56:28 +0200 |
|---|---|---|
| committer | dd <dd@wx.tnyzeq.icu> | 2024-10-06 18:10:26 +0200 |
| commit | dc35fa097f50b756df307122cc6a32148a12cb96 (patch) | |
| tree | 7e37edf9faa3742c45f1e77ea7709f759b9de33d | |
| parent | e119b73e2111943dcba994e03580eb8fdc50bc84 (diff) | |
| download | vyos-jenkins-dc35fa097f50b756df307122cc6a32148a12cb96.tar.gz vyos-jenkins-dc35fa097f50b756df307122cc6a32148a12cb96.zip | |
updated circinus builder logging
| -rw-r--r-- | new/lib/github.py | 6 | ||||
| -rw-r--r-- | new/lib/helpers.py | 35 |
2 files changed, 34 insertions, 7 deletions
diff --git a/new/lib/github.py b/new/lib/github.py index 3cdd27d..b53f49b 100644 --- a/new/lib/github.py +++ b/new/lib/github.py @@ -1,4 +1,5 @@ #!/usr/bin/env python3 +import inspect import logging import os from pprint import pprint @@ -8,8 +9,11 @@ import requests from requests import HTTPError import yaml +sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))))) + from helpers import setup_logging from lib.cache import Cache +from lib.helpers import refuse_root class GitHub: @@ -162,6 +166,8 @@ if __name__ == "__main__": setup_logging() try: + refuse_root() + command = sys.argv[1] if len(sys.argv) > 1 else None if command is None: diff --git a/new/lib/helpers.py b/new/lib/helpers.py index d2ea3f4..d488eb9 100644 --- a/new/lib/helpers.py +++ b/new/lib/helpers.py @@ -6,17 +6,19 @@ import subprocess import sys + def rmtree(directory): try: shutil.rmtree(directory) except PermissionError: logging.error( - "Unable to delete '%s' due to permissions." + "Unable to delete '%s' due to permissions." " Please delete this directory yourself" " with root privileges and then rerun again." % directory ) exit(1) + def execute(command, passthrough=False, timeout=None, **kwargs): if passthrough: kwargs["stdout"] = sys.stdout @@ -58,19 +60,38 @@ def quote_all(*args): return tuple(quoted) +class LessThanLevelFilter(logging.Filter): + def __init__(self, exclusive_maximum, name="LessThanLevelFilter"): + super(LessThanLevelFilter, self).__init__(name) + self.maximum_level = exclusive_maximum + + def filter(self, record): + return 1 if record.levelno < self.maximum_level else 0 + + def setup_logging(): logger = logging.getLogger() logger.setLevel(logging.INFO) formatter = logging.Formatter("%(asctime)s - %(levelname)s - %(message)s") - console = logging.StreamHandler(sys.stdout) - console.setLevel(logging.INFO) - console.setFormatter(formatter) - logger.addHandler(console) + + stderr_level = logging.WARNING + + stdout = logging.StreamHandler(sys.stdout) + stdout.setLevel(logging.INFO) + stdout.addFilter(LessThanLevelFilter(stderr_level)) + stdout.setFormatter(formatter) + logger.addHandler(stdout) + + stderr = logging.StreamHandler(sys.stderr) + stderr.setLevel(stderr_level) + stderr.setFormatter(formatter) + logger.addHandler(stderr) + def refuse_root(): - if os.getuid() == 0: + if os.geteuid() == 0: logging.error( "ERROR: 'root' user detected, please don't run this script as root," " run as any other regular user that has docker access (usermod -aG docker YOUR_USER)," " the root privileges would break some packages.") - exit(1)
\ No newline at end of file + exit(1) |
