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 activity
|
||||||
from . import actors
|
from . import actors
|
||||||
|
from . import exceptions
|
||||||
from . import jsonld
|
from . import jsonld
|
||||||
from . import keys
|
from . import keys
|
||||||
from . import models, signing
|
from . import models, signing
|
||||||
|
@ -212,7 +213,11 @@ def update_domain_nodeinfo(domain):
|
||||||
if service_actor_id
|
if service_actor_id
|
||||||
else None
|
else None
|
||||||
)
|
)
|
||||||
except (serializers.serializers.ValidationError, RequestException) as e:
|
except (
|
||||||
|
serializers.serializers.ValidationError,
|
||||||
|
RequestException,
|
||||||
|
exceptions.BlockedActorOrDomain,
|
||||||
|
) as e:
|
||||||
logger.warning(
|
logger.warning(
|
||||||
"Cannot fetch system actor for domain %s: %s", domain.name, str(e)
|
"Cannot fetch system actor for domain %s: %s", domain.name, str(e)
|
||||||
)
|
)
|
||||||
|
|
|
@ -2,7 +2,6 @@ import base64
|
||||||
import datetime
|
import datetime
|
||||||
import logging
|
import logging
|
||||||
import urllib.parse
|
import urllib.parse
|
||||||
|
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from django.db import transaction
|
from django.db import transaction
|
||||||
from django.db.models import Count, Prefetch, Sum, F, Q
|
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.decorators import action
|
||||||
from rest_framework.response import Response
|
from rest_framework.response import Response
|
||||||
|
|
||||||
|
import requests.exceptions
|
||||||
|
|
||||||
from funkwhale_api.common import decorators as common_decorators
|
from funkwhale_api.common import decorators as common_decorators
|
||||||
from funkwhale_api.common import permissions as common_permissions
|
from funkwhale_api.common import permissions as common_permissions
|
||||||
from funkwhale_api.common import preferences
|
from funkwhale_api.common import preferences
|
||||||
|
@ -532,7 +533,10 @@ def handle_serve(
|
||||||
actor = user.actor
|
actor = user.actor
|
||||||
else:
|
else:
|
||||||
actor = actors.get_service_actor()
|
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()
|
data = f.get_audio_data()
|
||||||
if data:
|
if data:
|
||||||
f.duration = data["duration"]
|
f.duration = data["duration"]
|
||||||
|
|
Loading…
Reference in New Issue