diff --git a/archivebox/cli/archivebox_server.py b/archivebox/cli/archivebox_server.py index dbacf7e5..a4d96dc9 100644 --- a/archivebox/cli/archivebox_server.py +++ b/archivebox/cli/archivebox_server.py @@ -43,6 +43,11 @@ def main(args: Optional[List[str]]=None, stdin: Optional[IO]=None, pwd: Optional action='store_true', help='Run archivebox init before starting the server', ) + parser.add_argument( + '--createsuperuser', + action='store_true', + help='Run archivebox manage createsuperuser before starting the server', + ) command = parser.parse_args(args or ()) reject_stdin(__command__, stdin) @@ -51,6 +56,7 @@ def main(args: Optional[List[str]]=None, stdin: Optional[IO]=None, pwd: Optional reload=command.reload, debug=command.debug, init=command.init, + createsuperuser=command.createsuperuser, out_dir=pwd or OUTPUT_DIR, ) diff --git a/archivebox/main.py b/archivebox/main.py index eb8cd6a0..c666f5d6 100644 --- a/archivebox/main.py +++ b/archivebox/main.py @@ -1060,6 +1060,7 @@ def server(runserver_args: Optional[List[str]]=None, reload: bool=False, debug: bool=False, init: bool=False, + createsuperuser: bool=False, out_dir: Path=OUTPUT_DIR) -> None: """Run the ArchiveBox HTTP server""" @@ -1068,6 +1069,9 @@ def server(runserver_args: Optional[List[str]]=None, if init: run_subcommand('init', stdin=None, pwd=out_dir) + if createsuperuser: + run_subcommand('manage', subcommand_args=['createsuperuser'], pwd=out_dir) + # setup config for django runserver from . import config config.SHOW_PROGRESS = False