Changeset View
Changeset View
Standalone View
Standalone View
swh/web/api/views/origin_save.py
# Copyright (C) 2018-2019 The Software Heritage developers | # Copyright (C) 2018-2021 The Software Heritage developers | ||||
# See the AUTHORS file at the top-level directory of this distribution | # See the AUTHORS file at the top-level directory of this distribution | ||||
# License: GNU Affero General Public License version 3, or any later version | # License: GNU Affero General Public License version 3, or any later version | ||||
# See top-level LICENSE file for more information | # See top-level LICENSE file for more information | ||||
from swh.web.api.apidoc import api_doc, format_docstring | from swh.web.api.apidoc import api_doc, format_docstring | ||||
from swh.web.api.apiurls import api_route | from swh.web.api.apiurls import api_route | ||||
from swh.web.common.origin_save import ( | from swh.web.common.origin_save import ( | ||||
create_save_origin_request, | create_save_origin_request, | ||||
get_save_origin_requests, | get_save_origin_requests, | ||||
refresh_save_origin_request_statuses, | |||||
) | ) | ||||
@api_route( | @api_route( | ||||
r"/origin/save/(?P<visit_type>.+)/url/(?P<origin_url>.+)/", | r"/origin/save/(?P<visit_type>.+)/url/(?P<origin_url>.+)/", | ||||
"api-1-save-origin", | "api-1-save-origin", | ||||
methods=["GET", "POST"], | methods=["GET", "POST"], | ||||
throttle_scope="swh_save_origin", | throttle_scope="swh_save_origin", | ||||
▲ Show 20 Lines • Show All 67 Lines • ▼ Show 20 Lines | if request.method == "POST": | ||||
sor = create_save_origin_request(visit_type, origin_url) | sor = create_save_origin_request(visit_type, origin_url) | ||||
del sor["id"] | del sor["id"] | ||||
else: | else: | ||||
sor = get_save_origin_requests(visit_type, origin_url) | sor = get_save_origin_requests(visit_type, origin_url) | ||||
for s in sor: | for s in sor: | ||||
del s["id"] | del s["id"] | ||||
return sor | return sor | ||||
@api_route( | |||||
r"/origin/save/refresh/", | |||||
"api-1-refresh-save-request-statuses", | |||||
methods=["GET"], | |||||
throttle_scope="swh_save_origin", | |||||
never_cache=True, | |||||
) | |||||
@api_doc("/origin/save/refresh") | |||||
@format_docstring() | |||||
def api_refresh_save_request_statuses(request): | |||||
"""Periodically refresh the non-terminal save requests statuses. | |||||
""" | |||||
return refresh_save_origin_request_statuses() |