1
0
Fork 0

feat: Make sure that depth can only be either 1 or 0

This commit is contained in:
Cristian 2020-07-07 10:25:02 -05:00
parent 32e790979e
commit a6940092bb
2 changed files with 9 additions and 3 deletions

View file

@ -49,11 +49,11 @@ def main(args: Optional[List[str]]=None, stdin: Optional[IO]=None, pwd: Optional
"--depth", "--depth",
action="store", action="store",
default=0, default=0,
choices=[0,1],
type=int, type=int,
help="Recursively archive all linked pages up to this many hops away" help="Recursively archive all linked pages up to this many hops away"
) )
command = parser.parse_args(args or ()) command = parser.parse_args(args or ())
#import_str = accept_stdin(stdin)
add( add(
import_str=command.import_path, import_str=command.import_path,
import_path=None, import_path=None,

View file

@ -5,7 +5,13 @@ from .fixtures import *
def test_depth_flag_is_accepted(process): def test_depth_flag_is_accepted(process):
arg_process = subprocess.run(["archivebox", "add", "https://example.com", "--depth=0"], capture_output=True) arg_process = subprocess.run(["archivebox", "add", "https://example.com", "--depth=0"], capture_output=True)
assert 'unrecognized arguments: --depth' not in arg_process.stderr.decode('utf-8') assert 'unrecognized arguments: --depth' not in arg_process.stderr.decode("utf-8")
def test_depth_flag_fails_if_it_is_not_0_or_1(process):
arg_process = subprocess.run(["archivebox", "add", "https://example.com", "--depth=5"], capture_output=True)
assert 'invalid choice' in arg_process.stderr.decode("utf-8")
arg_process = subprocess.run(["archivebox", "add", "https://example.com", "--depth=-1"], capture_output=True)
assert 'invalid choice' in arg_process.stderr.decode("utf-8")
def test_depth_flag_0_crawls_only_the_arg_page(tmp_path, process): def test_depth_flag_0_crawls_only_the_arg_page(tmp_path, process):
arg_process = subprocess.run(["archivebox", "add", "https://example.com", "--depth=0"], capture_output=True) arg_process = subprocess.run(["archivebox", "add", "https://example.com", "--depth=0"], capture_output=True)