archivebox_shell.py 749 B

1234567891011121314151617181920212223242526272829303132
  1. #!/usr/bin/env python3
  2. __package__ = 'archivebox.cli'
  3. __command__ = 'archivebox shell'
  4. __description__ = 'Enter an interactive ArchiveBox Django shell'
  5. import sys
  6. import argparse
  7. from typing import Optional, List, IO
  8. from ..main import shell
  9. from ..config import OUTPUT_DIR
  10. from ..util import reject_stdin
  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=__description__,
  15. add_help=True,
  16. )
  17. parser.parse_args(args or ())
  18. reject_stdin(__command__, stdin)
  19. shell(
  20. out_dir=pwd or OUTPUT_DIR,
  21. )
  22. if __name__ == '__main__':
  23. main(args=sys.argv[1:], stdin=sys.stdin)