Skip to content
Snippets Groups Projects
Unverified Commit 45132dea authored by Agate's avatar Agate :speech_balloon:
Browse files

Improved some error handling

parent b853f38c
No related branches found
No related tags found
No related merge requests found
Pipeline #11101 passed
...@@ -23,6 +23,7 @@ from funkwhale_api.taskapp import celery ...@@ -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): ...@@ -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 ...@@ -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 ...@@ -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( ...@@ -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()
try:
f.download_audio_from_remote(actor=actor) 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"]
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment