mpsd-quota should provide user-readable error messages, not bare python exceptions
The output of mpsd-quota looks very unprofessional in case of errors:
root@mpsd-hpc-login1:~# mpsd-quota
df: /home/root: No such file or directory
Traceback (most recent call last):
File "/usr/bin/mpsd-quota", line 8, in <module>
sys.exit(main())
File "/usr/lib/python3/dist-packages/mpsd_hpc_tools/quota.py", line 200, in main
output = compose_quota_report(user=args.user, bytes=args.bytes)
File "/usr/lib/python3/dist-packages/mpsd_hpc_tools/quota.py", line 132, in compose_quota_report
used_bytes, avail_bytes = home_bytes_used_quota(str(homedir))
File "/usr/lib/python3/dist-packages/mpsd_hpc_tools/quota.py", line 111, in home_bytes_used_quota
used = get_df_output(path, "used")
File "/usr/lib/python3/dist-packages/mpsd_hpc_tools/quota.py", line 82, in get_df_output
stdout = subprocess.check_output(cmd.split()).decode()
File "/usr/lib/python3.9/subprocess.py", line 424, in check_output
return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
File "/usr/lib/python3.9/subprocess.py", line 528, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['df', '--output=used', '--block-size=KB', '/home/root']' returned non-zero exit status 1.
root@mpsd-hpc-login1:~# mpsd-quota --user sidlerdo
Traceback (most recent call last):
File "/usr/bin/mpsd-quota", line 8, in <module>
sys.exit(main())
File "/usr/lib/python3/dist-packages/mpsd_hpc_tools/quota.py", line 200, in main
output = compose_quota_report(user=args.user, bytes=args.bytes)
File "/usr/lib/python3/dist-packages/mpsd_hpc_tools/quota.py", line 133, in compose_quota_report
rel = used_bytes / avail_bytes * 100 # relative usage in percent
ZeroDivisionError: division by zero