1
0
Fork 0
mirror of synced 2024-06-28 11:00:35 +12:00

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

@ -5,10 +5,12 @@ __package__ = 'archivebox.cli'
__command__ = 'archivebox'
__description__ = 'ArchiveBox: The self-hosted internet archive.'
import os
import sys
import argparse
from . import list_subcommands, run_subcommand
from ..legacy.config import OUTPUT_DIR
def parse_args(args=None):
@ -78,8 +80,13 @@ def print_import_tutorial():
def main(args=None):
subcommand, subcommand_args = parse_args(args)
existing_index = os.path.exists(os.path.join(OUTPUT_DIR, 'index.json'))
if subcommand is None:
print_import_tutorial()
if existing_index:
run_subcommand('help', subcommand_args)
else:
print_import_tutorial()
raise SystemExit(0)
run_subcommand(subcommand, subcommand_args)

View file

@ -16,6 +16,8 @@ from ..legacy.main import update_archive_data
def main(args=None, stdin=None):
check_data_folder()
args = sys.argv[1:] if args is None else args
parser = argparse.ArgumentParser(
@ -55,7 +57,6 @@ def main(args=None, stdin=None):
command = parser.parse_args(args)
check_dependencies()
check_data_folder()
### Handle ingesting urls piped in through stdin
# (.e.g if user does cat example_urls.txt | archivebox add)

View file

@ -7,11 +7,14 @@ __description__ = 'Print out some info and statistics about the archive collecti
import sys
import argparse
from ..legacy.main import info
from ..legacy.config import check_data_folder
from ..legacy.util import reject_stdin
from ..legacy.main import info
def main(args=None):
check_data_folder()
args = sys.argv[1:] if args is None else args
parser = argparse.ArgumentParser(

View file

@ -9,10 +9,13 @@ import argparse
from ..legacy.util import reject_stdin, to_json, to_csv
from ..legacy.config import check_data_folder
from ..legacy.main import list_archive_data
def main(args=None):
check_data_folder()
args = sys.argv[1:] if args is None else args
parser = argparse.ArgumentParser(

View file

@ -8,11 +8,14 @@ import sys
import argparse
from ..legacy.main import remove_archive_links
from ..legacy.config import check_data_folder
from ..legacy.util import reject_stdin
from ..legacy.main import remove_archive_links
def main(args=None):
check_data_folder()
args = sys.argv[1:] if args is None else args
parser = argparse.ArgumentParser(

View file

@ -20,6 +20,7 @@ from ..legacy.config import (
USER,
ANSI,
stderr,
check_data_folder,
)
@ -27,6 +28,8 @@ CRON_COMMENT = 'archivebox_schedule'
def main(args=None):
check_data_folder()
args = sys.argv[1:] if args is None else args
parser = argparse.ArgumentParser(

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)

View file

@ -7,11 +7,13 @@ __description__ = 'Enter an interactive ArchiveBox Django shell'
import sys
import argparse
from ..legacy.config import setup_django, OUTPUT_DIR
from ..legacy.config import setup_django, OUTPUT_DIR, 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(

View file

@ -8,11 +8,14 @@ import sys
import argparse
from ..legacy.config import check_data_folder
from ..legacy.util import reject_stdin
from ..legacy.main import update_archive_data
def main(args=None):
check_data_folder()
args = sys.argv[1:] if args is None else args
parser = argparse.ArgumentParser(