Improved some error handling
This commit is contained in:
parent
b853f38c74
commit
45132dea75
|
@ -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)
|
||||
)
|
||||
|
|
|
@ -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"]
|
||||
|
|
Loading…
Reference in New Issue