Improved some error handling

environments/review-docs-devel-1399dq/deployments/6607
Agate 2020-06-14 15:09:14 +02:00
rodzic b853f38c74
commit 45132dea75
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 6B501DFD73514E14
2 zmienionych plików z 12 dodań i 3 usunięć

Wyświetl plik

@ -23,6 +23,7 @@ from funkwhale_api.taskapp import celery
from . import activity
from . import actors
from . import exceptions
from . import jsonld
from . import keys
from . import models, signing
@ -212,7 +213,11 @@ def update_domain_nodeinfo(domain):
if service_actor_id
else None
)
except (serializers.serializers.ValidationError, RequestException) as e:
except (
serializers.serializers.ValidationError,
RequestException,
exceptions.BlockedActorOrDomain,
) as e:
logger.warning(
"Cannot fetch system actor for domain %s: %s", domain.name, str(e)
)

Wyświetl plik

@ -2,7 +2,6 @@ import base64
import datetime
import logging
import urllib.parse
from django.conf import settings
from django.db import transaction
from django.db.models import Count, Prefetch, Sum, F, Q
@ -15,6 +14,8 @@ from rest_framework import views, viewsets
from rest_framework.decorators import action
from rest_framework.response import Response
import requests.exceptions
from funkwhale_api.common import decorators as common_decorators
from funkwhale_api.common import permissions as common_permissions
from funkwhale_api.common import preferences
@ -532,7 +533,10 @@ def handle_serve(
actor = user.actor
else:
actor = actors.get_service_actor()
f.download_audio_from_remote(actor=actor)
try:
f.download_audio_from_remote(actor=actor)
except requests.exceptions.RequestException:
return Response({"detail": "Remove track is unavailable"}, status=503)
data = f.get_audio_data()
if data:
f.duration = data["duration"]