| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 | import argparseimport jsonimport sysdef parse_arguments(*unparsed_arguments):    parser = argparse.ArgumentParser(add_help=False)    parser.add_argument('--report-format', required=True)    parser.add_argument('--options', required=True)    parser.add_argument('--select', required=True)    return parser.parse_args(unparsed_arguments)def load_snapshots():    try:        return json.load(open('/tmp/fake_lvm.json'))    except FileNotFoundError:        return []def print_snapshots_json(arguments, snapshots):    assert arguments.report_format == 'json'    assert arguments.options == 'lv_name,lv_path'    assert arguments.select == 'lv_attr =~ ^s'    print(        json.dumps(            {                'report': [                    {                        'lv': snapshots,                    }                ],                'log': [],            }        )    )def main():    arguments = parse_arguments(*sys.argv[1:])    snapshots = load_snapshots()    print_snapshots_json(arguments, snapshots)if __name__ == '__main__':    main()
 |