Files
drf-rack/net/xeaf/rack/utils/exceptions/not_found_exception.py

46 lines
1.4 KiB
Python

# DRF Rack
# Библиотека классов расширений для Django REST Framework
#
# Автор: Николай В. Анохин <n.anokhin@xeaf.net>
# Все права защищены. Лицензия: MIT
"""
Описание класса NotFoundException
"""
from typing import Any
from django.utils.translation import gettext as _
from rest_framework import status
from net.xeaf.rack.core import CoreException
class NotFoundException(CoreException):
"""
Исключение, возникающее при невозможности найти запрашиваемый объект
"""
def __init__(self, detail: list | str | None = None, meta: dict | None = None, **kwargs: Any):
"""
Инициализация
:param detail: Информация об ошибке
:param meta: Информация для обработки ошибки
:param kwargs: Дополнительные параметры
"""
# Сообщение об ошибке по умолчанию
if detail is None:
detail = _(self.Msg.DEFAULT_MESSAGE)
super().__init__(status.HTTP_404_NOT_FOUND, detail, meta, **kwargs)
class Msg:
"""
Константы сообщений
"""
DEFAULT_MESSAGE = _("rack.errors.http.not_found")
""" Объект не найден """