ArchiveBox/archivebox/cli/archivebox_init.py

53 lines
1.4 KiB
Python
Raw Normal View History

#!/usr/bin/env python3
__package__ = 'archivebox.cli'
__command__ = 'archivebox init'
import sys
import argparse
2019-04-27 21:26:24 +00:00
from typing import Optional, List, IO
from ..main import init
from ..util import docstring
2019-04-27 21:26:24 +00:00
from ..config import OUTPUT_DIR
from ..logging_util import SmartFormatter, reject_stdin
@docstring(init.__doc__)
2019-04-27 21:26:24 +00:00
def main(args: Optional[List[str]]=None, stdin: Optional[IO]=None, pwd: Optional[str]=None) -> None:
parser = argparse.ArgumentParser(
prog=__command__,
description=init.__doc__,
add_help=True,
formatter_class=SmartFormatter,
)
2019-05-01 06:27:50 +00:00
parser.add_argument(
'--force', # '-f',
action='store_true',
help='Ignore unrecognized files in current directory and initialize anyway',
)
parser.add_argument(
'--quick', '-q',
action='store_true',
help='Run any updates or migrations without rechecking all snapshot dirs',
)
parser.add_argument(
'--setup', #'-s',
action='store_true',
help='Automatically install dependencies and extras used for archiving',
)
2019-05-01 06:27:50 +00:00
command = parser.parse_args(args or ())
2019-04-27 21:26:24 +00:00
reject_stdin(__command__, stdin)
2019-05-01 06:27:50 +00:00
init(
force=command.force,
quick=command.quick,
setup=command.setup,
2019-05-01 06:27:50 +00:00
out_dir=pwd or OUTPUT_DIR,
)
if __name__ == '__main__':
2019-04-27 21:26:24 +00:00
main(args=sys.argv[1:], stdin=sys.stdin)