ArchiveBox/archivebox/cli/archivebox_shell.py

35 lines
859 B
Python
Raw Normal View History

#!/usr/bin/env python3
__package__ = 'archivebox.cli'
__command__ = 'archivebox shell'
import sys
import argparse
2024-10-01 00:44:18 +00:00
from pathlib import Path
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
2024-10-01 00:44:18 +00:00
from ..main import shell
@docstring(shell.__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=shell.__doc__,
add_help=True,
formatter_class=SmartFormatter,
)
2019-04-27 21:26:24 +00:00
parser.parse_args(args or ())
reject_stdin(__command__, stdin)
shell(
2024-10-01 00:44:18 +00:00
out_dir=Path(pwd) if pwd else DATA_DIR,
2019-04-27 21:26:24 +00:00
)
if __name__ == '__main__':
2019-04-27 21:26:24 +00:00
main(args=sys.argv[1:], stdin=sys.stdin)