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.
This commit is contained in:
Raphael Dannecker 2025-09-22 13:17:57 +02:00
parent 2660cc05c8
commit 51d4e34a07

View file

@ -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()