ArchiveBox/archivebox/cli/archivebox_init.py

58 lines
1.5 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
2024-10-01 00:25:15 +00:00
from archivebox.misc.util import docstring
2024-10-01 00:44:18 +00:00
from archivebox.config import DATA_DIR
from ..logging_util import SmartFormatter, reject_stdin
from ..main import init
@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(
'--install', #'-s',
action='store_true',
help='Automatically install dependencies and extras used for archiving',
)
parser.add_argument(
'--setup', #'-s',
action='store_true',
help='DEPRECATED: equivalent to --install',
)
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,
install=command.install or command.setup,
2024-10-01 00:44:18 +00:00
out_dir=pwd or DATA_DIR,
2019-05-01 06:27:50 +00:00
)
if __name__ == '__main__':
2019-04-27 21:26:24 +00:00
main(args=sys.argv[1:], stdin=sys.stdin)