From 534500d21247d4c904090425d3a924c18afea135 Mon Sep 17 00:00:00 2001 From: Evgeny Zinoviev Date: Fri, 12 Feb 2021 23:20:45 +0300 Subject: initial --- isv.py | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 isv.py (limited to 'isv.py') diff --git a/isv.py b/isv.py new file mode 100644 index 0000000..ab4268b --- /dev/null +++ b/isv.py @@ -0,0 +1,42 @@ +import subprocess +import configstore +import json + + +def __run(argv: list, fmt='json-w-units'): + argv.insert(0, configstore.get_isv_bin()) + if configstore.use_sudo(): + argv.insert(0, 'sudo') + argv.append('--format') + argv.append(fmt) + + result = subprocess.run(argv, capture_output=True) + if result.returncode != 0: + raise ChildProcessError("isv returned %d: %s" % (result.returncode, result.stderr)) + + return json.loads(result.stdout) if 'json' in fmt else result.stdout.decode('utf-8') + + +def general_status(as_table=False): + kwargs = {} + if as_table: + kwargs['fmt'] = 'table' + return __run(['--get-general-status'], **kwargs) + + +def day_generated(y: int, m: int, d: int): + return __run(['--get-day-generated', str(y), str(m), str(d)]) + + +def rated_information(as_table=False): + kwargs = {} + if as_table: + kwargs['fmt'] = 'table' + return __run(['--get-rated-information'], **kwargs) + + +def faults(as_table=False): + kwargs = {} + if as_table: + kwargs['fmt'] = 'table' + return __run(['--get-faults-warnings'], **kwargs) -- cgit v1.2.3