| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 | 
							- import argparse
 
- import json
 
- import sys
 
- def parse_arguments(*unparsed_arguments):
 
-     parser = argparse.ArgumentParser(add_help=False)
 
-     parser.add_argument('--output', required=True)
 
-     parser.add_argument('--json', action='store_true', required=True)
 
-     parser.add_argument('--list', action='store_true', required=True)
 
-     return parser.parse_args(unparsed_arguments)
 
- BUILTIN_BLOCK_DEVICES = {
 
-     'blockdevices': [
 
-         {'name': 'loop0', 'path': '/dev/loop0', 'mountpoint': None, 'type': 'loop'},
 
-         {'name': 'cryptroot', 'path': '/dev/mapper/cryptroot', 'mountpoint': '/', 'type': 'crypt'},
 
-         {
 
-             'name': 'vgroup-lvolume',
 
-             'path': '/dev/mapper/vgroup-lvolume',
 
-             'mountpoint': '/mnt/lvolume',
 
-             'type': 'lvm',
 
-         },
 
-         {
 
-             'name': 'vgroup-lvolume-real',
 
-             'path': '/dev/mapper/vgroup-lvolume-real',
 
-             'mountpoint': None,
 
-             'type': 'lvm',
 
-         },
 
-     ]
 
- }
 
- def load_snapshots():
 
-     try:
 
-         return json.load(open('/tmp/fake_lvm.json'))
 
-     except FileNotFoundError:
 
-         return []
 
- def print_logical_volumes_json(arguments, snapshots):
 
-     data = dict(BUILTIN_BLOCK_DEVICES)
 
-     for snapshot in snapshots:
 
-         data['blockdevices'].extend(
 
-             {
 
-                 'name': snapshot['lv_name'],
 
-                 'path': snapshot['lv_path'],
 
-                 'mountpoint': None,
 
-                 'type': 'lvm',
 
-             }
 
-             for snapshot in snapshots
 
-         )
 
-     print(json.dumps(data))
 
- def main():
 
-     arguments = parse_arguments(*sys.argv[1:])
 
-     snapshots = load_snapshots()
 
-     assert arguments.output == 'name,path,mountpoint,type'
 
-     print_logical_volumes_json(arguments, snapshots)
 
- if __name__ == '__main__':
 
-     main()
 
 
  |