Changeset View
Changeset View
Standalone View
Standalone View
swh/web/common/origin_save.py
Show First 20 Lines • Show All 240 Lines • ▼ Show 20 Lines | else: | ||||
if save_task_status in (SAVE_TASK_SCHEDULED, SAVE_TASK_NOT_YET_SCHEDULED): | if save_task_status in (SAVE_TASK_SCHEDULED, SAVE_TASK_NOT_YET_SCHEDULED): | ||||
visit_date, save_task_status = _check_visit_update_status( | visit_date, save_task_status = _check_visit_update_status( | ||||
save_request, save_task_status | save_request, save_task_status | ||||
) | ) | ||||
else: | else: | ||||
save_task_status = save_request.loading_task_status | save_task_status = save_request.loading_task_status | ||||
if save_request.loading_task_status != save_task_status: | if ( | ||||
# avoid to override final loading task status when already found | |||||
# as visit status is no longer checked once a visit date has been found | |||||
save_request.loading_task_status not in (SAVE_TASK_FAILED, SAVE_TASK_SUCCEEDED) | |||||
and save_request.loading_task_status != save_task_status | |||||
): | |||||
save_request.loading_task_status = save_task_status | save_request.loading_task_status = save_task_status | ||||
must_save = True | must_save = True | ||||
if must_save: | if must_save: | ||||
save_request.save() | save_request.save() | ||||
return { | return { | ||||
"id": save_request.id, | "id": save_request.id, | ||||
"visit_type": save_request.visit_type, | "visit_type": save_request.visit_type, | ||||
"origin_url": save_request.origin_url, | "origin_url": save_request.origin_url, | ||||
"save_request_date": save_request.request_date.isoformat(), | "save_request_date": save_request.request_date.isoformat(), | ||||
"save_request_status": save_request.status, | "save_request_status": save_request.status, | ||||
"save_task_status": save_task_status, | "save_task_status": save_request.loading_task_status, | ||||
"visit_date": visit_date.isoformat() if visit_date else None, | "visit_date": visit_date.isoformat() if visit_date else None, | ||||
} | } | ||||
def create_save_origin_request(visit_type: str, origin_url: str) -> Dict[str, Any]: | def create_save_origin_request(visit_type: str, origin_url: str) -> Dict[str, Any]: | ||||
""" | """ | ||||
Create a loading task to save a software origin into the archive. | Create a loading task to save a software origin into the archive. | ||||
▲ Show 20 Lines • Show All 389 Lines • Show Last 20 Lines |