Files
website-v2/core/management/commands/boost_setup.py
Brian Perrett e230128f61 Add authors to LibraryVersions. (#1347)
- fixes #1325
- reuses the logic that imports authors for libraries to do the same for
LibraryVersions.
- Authors are only added if an email is listed for the author in the
metadata
2024-10-10 10:39:16 -07:00

46 lines
1.8 KiB
Python

import djclick as click
from django.conf import settings
from django.core.management import call_command
from django.utils import timezone
@click.command()
@click.option("--token", is_flag=False, help="Github API token")
def command(token):
"""Calls all commands needed to set up the Boost database for the first time."""
start = timezone.now()
if not token:
token = settings.GITHUB_TOKEN
click.secho("Importing versions...", fg="green")
call_command("import_versions", "--token", token)
click.secho("Finished importing versions.", fg="green")
click.secho("Importing libraries...", fg="green")
call_command("update_libraries", "--token", token)
click.secho("Finished importing libraries.", fg="green")
click.secho("Saving library-version relationships...", fg="green")
call_command("import_library_versions", "--token", token)
click.secho("Finished saving library-version relationships.", fg="green")
click.secho("Adding library maintainers...", fg="green")
call_command("update_maintainers")
click.secho("Finished adding library maintainers.", fg="green")
click.secho("Adding library authors...", fg="green")
call_command("update_authors")
click.secho("Finished adding library authors.", fg="green")
click.secho("Adding library version authors...", fg="green")
call_command("update_library_version_authors")
click.secho("Finished adding library version authors.", fg="green")
click.secho("Importing most recent beta version...", fg="green")
call_command("import_beta_release", "--token", token, "--delete-versions")
click.secho("Finished importing most recent beta version.", fg="green")
end = timezone.now()
click.secho(f"All done! Completed in {end - start}", fg="green")