Browse Source

Merge pull request 'Add support for --cache-filename and --store-path' (#3) from override-store-location into master

pull/4/head
Ryan Reed 2 years ago
parent
commit
49f4b2e139
2 changed files with 41 additions and 8 deletions
  1. +27
    -8
      src/transpose/console.py
  2. +14
    -0
      tests/test_console.py

+ 27
- 8
src/transpose/console.py View File

@ -5,15 +5,12 @@ from transpose import Transpose, version, DEFAULT_STORE_PATH, DEFAULT_CACHE_FILE
def entry_point() -> None: def entry_point() -> None:
store_path = os.environ.get("TRANSPOSE_STORE_PATH", DEFAULT_STORE_PATH)
cache_filename = os.environ.get("TRANSPOSE_CACHE_FILENAME", DEFAULT_CACHE_FILENAME)
args = parse_arguments() args = parse_arguments()
t = Transpose( t = Transpose(
target_path=args.target_path, target_path=args.target_path,
store_path=store_path,
cache_filename=cache_filename,
store_path=args.store_path,
cache_filename=args.cache_filename,
) )
if args.action == "apply": if args.action == "apply":
@ -25,7 +22,27 @@ def entry_point() -> None:
def parse_arguments(args=None): def parse_arguments(args=None):
cache_filename = os.environ.get("TRANSPOSE_CACHE_FILENAME", DEFAULT_CACHE_FILENAME)
store_path = os.environ.get("TRANSPOSE_STORE_PATH", DEFAULT_STORE_PATH)
base_parser = argparse.ArgumentParser(add_help=False) base_parser = argparse.ArgumentParser(add_help=False)
base_parser.add_argument(
"--cache-filename",
dest="cache_filename",
nargs="?",
default=cache_filename,
help="The name of the cache file added to the target directory (default: %(default)s)",
)
store_restore_parser = argparse.ArgumentParser(add_help=False)
store_restore_parser.add_argument(
"--store-path",
dest="store_path",
nargs="?",
default=store_path,
help="The path to where the target should be stored (default: %(default)s)",
)
parser = argparse.ArgumentParser( parser = argparse.ArgumentParser(
parents=[base_parser], parents=[base_parser],
description=""" description="""
@ -51,7 +68,7 @@ def parse_arguments(args=None):
restore_parser = subparsers.add_parser( restore_parser = subparsers.add_parser(
"restore", "restore",
help="Move a transposed directory back to it's original location", help="Move a transposed directory back to it's original location",
parents=[base_parser],
parents=[base_parser, store_restore_parser],
) )
restore_parser.add_argument( restore_parser.add_argument(
"target_path", "target_path",
@ -59,7 +76,9 @@ def parse_arguments(args=None):
) )
store_parser = subparsers.add_parser( store_parser = subparsers.add_parser(
"store", help="Move target and create symlink in place", parents=[base_parser]
"store",
help="Move target and create symlink in place",
parents=[base_parser, store_restore_parser],
) )
store_parser.add_argument( store_parser.add_argument(
"name", "name",
@ -67,7 +86,7 @@ def parse_arguments(args=None):
) )
store_parser.add_argument( store_parser.add_argument(
"target_path", "target_path",
help="The path to the directory to be stored",
help="The path to the directory that should be moved to storage",
) )
return parser.parse_args(args) return parser.parse_args(args)


+ 14
- 0
tests/test_console.py View File

@ -8,6 +8,20 @@ def test_parse_arguments():
with pytest.raises(SystemExit): with pytest.raises(SystemExit):
parse_arguments() parse_arguments()
args = parse_arguments(
[
"store",
"--cache-filename",
"test-cache-file.json",
"--store-path",
"/mnt/store",
"MyTarget",
"/tmp/some/path",
]
)
assert args.cache_filename == "test-cache-file.json"
assert args.store_path == "/mnt/store"
def test_parse_arguments_apply(): def test_parse_arguments_apply():
# Missing required argument - target_path (Apply) # Missing required argument - target_path (Apply)


Loading…
Cancel
Save