archivebox_shell.py 801 B

12345678910111213141516171819202122232425262728293031323334
  1. #!/usr/bin/env python3
  2. __package__ = 'archivebox.cli'
  3. __command__ = 'archivebox shell'
  4. import sys
  5. import argparse
  6. from typing import Optional, List, IO
  7. from ..main import shell
  8. from ..util import docstring
  9. from ..config import OUTPUT_DIR
  10. from ..logging_util import SmartFormatter, reject_stdin
  11. @docstring(shell.__doc__)
  12. def main(args: Optional[List[str]]=None, stdin: Optional[IO]=None, pwd: Optional[str]=None) -> None:
  13. parser = argparse.ArgumentParser(
  14. prog=__command__,
  15. description=shell.__doc__,
  16. add_help=True,
  17. formatter_class=SmartFormatter,
  18. )
  19. parser.parse_args(args or ())
  20. reject_stdin(__command__, stdin)
  21. shell(
  22. out_dir=pwd or OUTPUT_DIR,
  23. )
  24. if __name__ == '__main__':
  25. main(args=sys.argv[1:], stdin=sys.stdin)