| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 | 
							- import argparse
 
- import json
 
- import sys
 
- def parse_arguments(*unparsed_arguments):
 
-     parser = argparse.ArgumentParser(add_help=False)
 
-     parser.add_argument('--snapshot', action='store_true', required=True)
 
-     parser.add_argument('--extents')
 
-     parser.add_argument('--size')
 
-     parser.add_argument('--permission', required=True)
 
-     parser.add_argument('--name', dest='snapshot_name', required=True)
 
-     parser.add_argument('logical_volume_device')
 
-     return parser.parse_args(unparsed_arguments)
 
- def load_snapshots():
 
-     try:
 
-         return json.load(open('/tmp/fake_lvm.json'))
 
-     except FileNotFoundError:
 
-         return []
 
- def save_snapshots(snapshots):
 
-     json.dump(snapshots, open('/tmp/fake_lvm.json', 'w'))
 
- def main():
 
-     arguments = parse_arguments(*sys.argv[1:])
 
-     snapshots = load_snapshots()
 
-     assert arguments.extents or arguments.size
 
-     snapshots.append(
 
-         {'lv_name': arguments.snapshot_name, 'lv_path': f'/dev/vgroup/{arguments.snapshot_name}'},
 
-     )
 
-     save_snapshots(snapshots)
 
- if __name__ == '__main__':
 
-     main()
 
 
  |