From e8c1c1671b16492823f4b5ae6e6fc4e325bc666c Mon Sep 17 00:00:00 2001 From: Hofei90 <29521028+Hofei90@users.noreply.github.com> Date: Wed, 17 May 2023 14:06:06 +0200 Subject: [PATCH] =?UTF-8?q?Skript=20angepasst=20f=C3=BCr=20Windows?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- setup_logging.py | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/setup_logging.py b/setup_logging.py index 543cb69..6e465a2 100644 --- a/setup_logging.py +++ b/setup_logging.py @@ -14,8 +14,10 @@ import logging import os import shlex import subprocess +import sys -from systemd import journal +if sys.platform == "linux": + from systemd import journal def __setup_logging(loglevel, frm, startmethode, unitname): @@ -27,7 +29,6 @@ def __setup_logging(loglevel, frm, startmethode, unitname): logger.handlers = [] if startmethode == "auto": log_handler = journal.JournalHandler(SYSLOG_IDENTIFIER=unitname) - else: log_handler = logging.StreamHandler() log_handler.setLevel(loglevel) @@ -37,7 +38,7 @@ def __setup_logging(loglevel, frm, startmethode, unitname): def __get_service_unit_pid(unitname): - """Ermittelt ob das ausführende Skript mit einer Service Unit gestartet worden ist, wenn ja so ist das + """Ermittelt, ob das ausführende Skript mit einer Service-Unit gestartet worden ist, wenn ja so ist das Ergebnis (pid_service_unit) != 0""" cmd = "systemctl show -p MainPID {}".format(unitname) cmd = shlex.split(cmd) @@ -49,12 +50,15 @@ def __get_service_unit_pid(unitname): def __get_startmethode(unitname): - """Verglicht die PID vom skript mit der pid Service Unit Prüfung - wenn die Nummern gleich sind wird auf auto gestellt, wenn nicht auf manuell""" - pid_service_unit = __get_service_unit_pid(unitname) - pid_skript = os.getpid() - if pid_service_unit == pid_skript: - startmethode = "auto" + """Vergleicht die PID vom Skript mit der PID von der Service-Unit. + Wenn die Nummern gleich sind und die platform linux ist, wird auf auto gestellt, ansonsten auf manuell""" + if sys.platform == "linux": + pid_service_unit = __get_service_unit_pid(unitname) + pid_skript = os.getpid() + if pid_service_unit == pid_skript: + startmethode = "auto" + else: + startmethode = "manuell" else: startmethode = "manuell" return startmethode