Current File : //opt/cloudlinux/venv/bin/lvestats_config_reader.py
# coding: utf-8

# Copyright © Cloud Linux GmbH & Cloud Linux Software, Inc 2010-2021 All Rights Reserved
#
# Licensed under CLOUD LINUX LICENSE AGREEMENT
# http://cloudlinux.com/docs/LICENSE.TXT

import argparse
import sys
import json

from lvestats.plugins.generic.statsnotifier import get_stats_notifier_parameters
from clcommon.utils import is_user_present

SUPPORTED_PARAMS = ['notification_allowed']


if __name__ == '__main__':
    parser = argparse.ArgumentParser(description='Tool for getting parameters from config')
    parser.add_argument('-u', '--user', required=True, help='Specify username')
    parser.add_argument('parameter', help='Parameter to read',
                        choices=SUPPORTED_PARAMS)

    args = parser.parse_args()
    target_user = args.user
    if not is_user_present(target_user):
        print(json.dumps({'error': f'No such user {target_user}'}))
        sys.exit(-1)
    try:
        result = get_stats_notifier_parameters(target_user)
        print(json.dumps({args.parameter: result}))
        sys.exit(0)
    except Exception as e:
        print(json.dumps({'error': str(e)}))
        sys.exit(-1)