From 51d4e34a07d540993e7e0856cc760af2a1079ff2 Mon Sep 17 00:00:00 2001 From: Raphael Dannecker Date: Mon, 22 Sep 2025 13:17:57 +0200 Subject: [PATCH] No longer output error messages from the vminfo script to stdout The error messages were corrupting the contents of the .vminfo.json file. Error messages are now sent to stderr. --- roles/lmn_vm/files/vm-vminfo | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/roles/lmn_vm/files/vm-vminfo b/roles/lmn_vm/files/vm-vminfo index f19b4ce..bbf6e3b 100755 --- a/roles/lmn_vm/files/vm-vminfo +++ b/roles/lmn_vm/files/vm-vminfo @@ -4,6 +4,7 @@ import argparse import struct import subprocess import json +import sys from os import environ,path from impacket.krb5.ccache import CCache @@ -25,7 +26,7 @@ def get_printers(): printers.append(printer) return printers except subprocess.CalledProcessError as e: - print(f"Fehler beim Abrufen der Drucker: {e}") + sys.stderr.write(f"Fehler beim Abrufen der Drucker: {e}") return [] def get_groups(username): @@ -34,7 +35,7 @@ def get_groups(username): groups = result.stdout.strip().split('\0') return groups except subprocess.CalledProcessError as e: - print(f"Fehler beim Abrufen der Gruppen: {e}") + sys.stderr.write(f"Fehler beim Abrufen der Gruppen: {e}") return [] def get_krb5 (): @@ -50,7 +51,7 @@ def get_krb5 (): krb5['endtime'] = ccache.credentials[0]['time']['endtime'] krb5['renew_till'] = ccache.credentials[0]['time']['renew_till'] except: - print("Fehler beim Ticket laden") + sys.stderr.write("Fehler beim Ticket laden") return krb5 def get_mounts(): @@ -96,7 +97,7 @@ def main(): nethome = f"/srv/samba/schools/default-school/teachers/{vminfo['User']}" else: result = subprocess.run(['find', '/srv/samba/schools/default-school/students/', '-name', vminfo['User'], '-maxdepth', '2', '-type', 'd'], capture_output=True, text=True, check=False) - nethome = result.stdout + nethome = result.stdout.splitlines()[0] vminfo['Printers'] = get_printers() vminfo['krb5'] = get_krb5() @@ -105,7 +106,7 @@ def main(): vminfo['QuickAccess'] = get_quickaccess() vminfo_json = json.dumps(vminfo, ensure_ascii=False, indent=4) - print(vminfo_json) + print(vminfo_json) if __name__ == '__main__': main()