]> mj.ucw.cz Git - pynsc.git/commitdiff
test: Make output directory configurable
authorMartin Mares <mj@ucw.cz>
Wed, 7 Aug 2024 21:24:02 +0000 (23:24 +0200)
committerMartin Mares <mj@ucw.cz>
Wed, 7 Aug 2024 21:24:02 +0000 (23:24 +0200)
nsconfig/cli.py

index 3fd9979c74bdbcc852eb9f32062f2d925df3debc..4712c0830466e716428025ddca56be289397603c 100644 (file)
@@ -9,8 +9,8 @@ from texttable import Texttable
 from nsconfig.core import Nsc, NscZonePrimary, NscZoneSecondary, NscZoneAlias
 
 
-def do_test(nsc: Nsc) -> None:
-    test_dir = Path('test')
+def do_test(nsc: Nsc, args: Namespace) -> None:
+    test_dir = Path(args.output)
     test_dir.mkdir(exist_ok=True)
     for z in nsc.get_zones():
         print(f'Zone:        {z.name}')
@@ -91,6 +91,7 @@ def main(nsc: Nsc) -> None:
     subparsers = parser.add_subparsers(help='action to perform', dest='action', required=True, metavar='ACTION')
 
     test_parser = subparsers.add_parser('test', help='test new configuration', description='Test new configuration')
+    test_parser.add_argument('-o', '--output', metavar='DIR', default='test', help='directory to dump configuration to (default: "test")')
 
     status_parser = subparsers.add_parser('status', help='list status of zones', description='List status of zones')
     status_parser.add_argument('-a', '--all', default=False, action='store_true', help='show non-primary zones')
@@ -103,7 +104,7 @@ def main(nsc: Nsc) -> None:
     nsc.process()
 
     if args.action == 'test':
-        do_test(nsc)
+        do_test(nsc, args)
     elif args.action == 'status':
         do_status(nsc, args)
     elif args.action == 'update':