check for data folder when running most subcommands

This commit is contained in:
Nick Sweeting 2019-04-22 19:06:48 -04:00
parent bb10171f99
commit f0f516e853
9 changed files with 44 additions and 6 deletions

View file

@ -7,11 +7,13 @@ __description__ = 'Run the ArchiveBox HTTP server'
import sys
import argparse
from ..legacy.config import setup_django, OUTPUT_DIR
from ..legacy.config import setup_django, OUTPUT_DIR, ANSI, check_data_folder
from ..legacy.util import reject_stdin
def main(args=None):
check_data_folder()
args = sys.argv[1:] if args is None else args
parser = argparse.ArgumentParser(
@ -26,11 +28,22 @@ def main(args=None):
default=None,
help='Arguments to pass to Django runserver'
)
parser.add_argument(
'--reload',
action='store_true',
help='Enable auto-reloading when code or templates change',
)
command = parser.parse_args(args)
reject_stdin(__command__)
setup_django(OUTPUT_DIR)
from django.core.management import call_command
print('{green}[+] Starting ArchiveBox webserver...{reset}'.format(**ANSI))
if not command.reload:
command.runserver_args.append('--noreload')
call_command("runserver", *command.runserver_args)