Source code for swh.web.save_code_now.management.commands.refresh_savecodenow_statuses

# Copyright (C) 2021-2023  The Software Heritage developers
# See the AUTHORS file at the top-level directory of this distribution
# License: GNU Affero General Public License version 3, or any later version
# See top-level LICENSE file for more information


from django.core.management.base import BaseCommand

from swh.web.save_code_now.origin_save import (
    refresh_save_origin_request_statuses,
    schedule_origins_recurrent_visits,
)


[docs] class Command(BaseCommand): help = "Refresh save code now origin request statuses periodically"
[docs] def handle(self, *args, **options): """Refresh origin save code now requests. For the origin visit types, svn, git, hg, this also installs the origins as recurring origins to visit. """ updated_requests = refresh_save_origin_request_statuses() # then schedule the origins with meaningful status and type to be ingested # regularly nb_origins_scheduled = schedule_origins_recurrent_visits(updated_requests) if len(updated_requests) > 0: msg = f"Successfully updated {len(updated_requests)} save request(s)." if nb_origins_scheduled: msg += ( f"\n{nb_origins_scheduled} origins were also scheduled " "for recurrent visits." ) else: msg = "Nothing to do." self.stdout.write(self.style.SUCCESS(msg))