archivebox_init.py 985 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. #!/usr/bin/env python3
  2. __package__ = 'archivebox.cli'
  3. __command__ = 'archivebox init'
  4. import sys
  5. import argparse
  6. from typing import Optional, List, IO
  7. from ..main import init, docstring
  8. from ..config import OUTPUT_DIR
  9. from ..logging_util import SmartFormatter, reject_stdin
  10. @docstring(init.__doc__)
  11. def main(args: Optional[List[str]]=None, stdin: Optional[IO]=None, pwd: Optional[str]=None) -> None:
  12. parser = argparse.ArgumentParser(
  13. prog=__command__,
  14. description=init.__doc__,
  15. add_help=True,
  16. formatter_class=SmartFormatter,
  17. )
  18. parser.add_argument(
  19. '--force', # '-f',
  20. action='store_true',
  21. help='Ignore unrecognized files in current directory and initialize anyway',
  22. )
  23. command = parser.parse_args(args or ())
  24. reject_stdin(__command__, stdin)
  25. init(
  26. force=command.force,
  27. out_dir=pwd or OUTPUT_DIR,
  28. )
  29. if __name__ == '__main__':
  30. main(args=sys.argv[1:], stdin=sys.stdin)