Добавление классов CoreEnum и UILanguage

This commit is contained in:
2026-07-10 18:43:57 +03:00
parent 0370f20efd
commit ef09fb4de3
13 changed files with 377 additions and 3 deletions

View File

@@ -8,4 +8,5 @@
Пакет базовых классов
"""
from .core_enum import CoreEnum
from .core_test_case import CoreTestCase

View File

@@ -0,0 +1,47 @@
# DRF Rack
# Библиотека классов расширений для Django REST Framework
#
# Автор: Николай В. Анохин <n.anokhin@xeaf.net>
# Все права защищены. Лицензия: MIT
"""
Описание класса CoreEnum
"""
from enum import StrEnum
class CoreEnum(StrEnum):
"""
Реализует базовые методы для классов перечислений
"""
@classmethod
def choices(cls) -> list[tuple[str, str]]:
"""
Возвращает список для организации выбора значения
:return: Список для выбора значения
"""
return [(item.value, item.name) for item in cls]
@classmethod
def keys(cls) -> list[str]:
"""
Возвращает список ключей
:return: Список ключей
"""
return [item.name for item in cls]
@classmethod
def values(cls) -> list[str]:
"""
Возвращает список значений
:return: Список значений
"""
return [item.value for item in cls]