Changeset View
Changeset View
Standalone View
Standalone View
swh/web/misc/origin_save.py
# Copyright (C) 2018-2019 The Software Heritage developers | # Copyright (C) 2018-2019 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 | ||||
import json | import json | ||||
from django.conf.urls import url | from django.conf.urls import url | ||||
from django.core.paginator import Paginator | from django.core.paginator import Paginator | ||||
from django.http import HttpResponse, HttpResponseForbidden | from django.http import ( | ||||
HttpResponse, HttpResponseForbidden, HttpResponseServerError | |||||
) | |||||
from django.shortcuts import render | from django.shortcuts import render | ||||
from rest_framework.decorators import api_view, authentication_classes | from rest_framework.decorators import api_view, authentication_classes | ||||
from swh.web.common.exc import ForbiddenExc | from swh.web.common.exc import ForbiddenExc | ||||
from swh.web.common.models import SaveOriginRequest | from swh.web.common.models import SaveOriginRequest | ||||
from swh.web.common.origin_save import ( | from swh.web.common.origin_save import ( | ||||
create_save_origin_request, get_savable_visit_types, | create_save_origin_request, get_savable_visit_types, | ||||
Show All 21 Lines | def _origin_save_request(request, visit_type, origin_url): | ||||
try: | try: | ||||
response = json.dumps(create_save_origin_request(visit_type, | response = json.dumps(create_save_origin_request(visit_type, | ||||
origin_url), | origin_url), | ||||
separators=(',', ': ')) | separators=(',', ': ')) | ||||
return HttpResponse(response, content_type='application/json') | return HttpResponse(response, content_type='application/json') | ||||
except ForbiddenExc as exc: | except ForbiddenExc as exc: | ||||
return HttpResponseForbidden(json.dumps({'detail': str(exc)}), | return HttpResponseForbidden(json.dumps({'detail': str(exc)}), | ||||
content_type='application/json') | content_type='application/json') | ||||
except Exception as exc: | |||||
return HttpResponseServerError(json.dumps({'detail': str(exc)}), | |||||
content_type='application/json') | |||||
def _visit_save_types_list(request): | def _visit_save_types_list(request): | ||||
visit_types = json.dumps(get_savable_visit_types(), | visit_types = json.dumps(get_savable_visit_types(), | ||||
separators=(',', ': ')) | separators=(',', ': ')) | ||||
return HttpResponse(visit_types, content_type='application/json') | return HttpResponse(visit_types, content_type='application/json') | ||||
▲ Show 20 Lines • Show All 48 Lines • Show Last 20 Lines |