from django.http import HttpResponse import functools from django.shortcuts import render from django.utils.translation import gettext_lazy as _ from requests.exceptions import Timeout def mastodon_request_included(func): """Handles timeout exception of requests to mastodon, returns http 500""" @functools.wraps(func) def wrapper(*args, **kwargs): try: return func(*args, **kwargs) except (Timeout, ConnectionError): return render( args[0], "common/error.html", {"msg": _("联邦网络请求超时叻_(´ཀ`」 ∠)__ ")} ) return wrapper class HttpResponseInternalServerError(HttpResponse): status_code = 500