br-compensations (0.1.33)
Installation
pip install --index-url https://git.misyagin.com/api/packages/ekzoman/pypi/simple/ --extra-index-url https://pypi.org/simple br-compensationsAbout this package
Плагин Alliance Auth для управления боевыми компенсациями
BR Compensations
Плагин Alliance Auth учета компенсаций потерь в EVE Online.
Описание
BR Compensations — это плагин для Alliance Auth, который позволяет вести учет компенсаций за потери кораблей на боевых вылетах.
Возможности
- 📊 Разбор боевых отчетов и загрузка киллмэйлов
- 🌐 Интеграция с EVE API через eveuniverse
- 📱 Адаптивный интерфейс
Требования
- Python 3.8+
- Alliance Auth 4.11.2+
- Django 3.2+
- eveuniverse 1.4.0+
Установка
1. Установка через pip
pip install br-compensations
2. Настройка Alliance Auth
Добавьте 'br_compensations' в INSTALLED_APPS в файле local.py:
INSTALLED_APPS = [
# ... другие приложения
'eveuniverse',
'br_compensations',
]
3. Настройка Celery Beat
# Автоматическая обработка баттл репортов и киллмэйлов
CELERYBEAT_SCHEDULE['Process scheduled reports'] = {
'task': 'br_compensations.tasks.process_queued_links',
'schedule': crontab(minute='*/5'),
}
# Автоматическая загрузка киллов из внутриигровой почты персонажей
CELERYBEAT_SCHEDULE['Get kills from user inbox'] = {
'task': 'br_compensations.tasks.fetch_characters_mails',
'schedule': crontab(minute='*/5'),
}
# Автоматическая загрузка баттл репортов с br.evetools.org
CELERYBEAT_SCHEDULE['Get new battle reports'] = {
'task': 'br_compensations.tasks.load_battle_reports',
'schedule': crontab(minute='*/30')
}
4. Применение миграций
python manage.py migrate br_compensations
5. Сбор статических файлов
python manage.py collectstatic
6. Перезапуск сервера
# Если используете systemd
sudo systemctl restart myauth
# Или если используете supervisor
sudo supervisorctl restart myauth
Настройка
Права доступа
Плагин использует следующие права доступа:
| Право | Описание |
|---|---|
br_compensations.can_manage |
Доступ к модулю компенсаций |
Настройте права доступа через админ-панель Alliance Auth: Auth → Permissions.
Настройка URL
URL автоматически добавляются через auth_hooks.py. Доступ к модулю осуществляется через главное меню Alliance Auth.
Использование
Управление статусом компенсаций
| Статус | Код | Описание |
|---|---|---|
| Новый | N |
Ожидает обработки |
| Компенсирован | C |
Одобрено к выплате |
| Отклонен | R |
Отклонено |
Управление статусом боевых отчетов
| Статус | Код | Описание |
|---|---|---|
| Новый | N |
Ожидает обработки |
| В обработке | P |
Обрабатывается |
| Завершен | C |
Успешно обработан |
| Ошибка | F |
Ошибка обработки |
| Переинициализация | R |
Требуется повторная обработка |
API
Плагин предоставляет REST API для интеграции с внешними системами.
Эндпоинты
Боевые отчеты
GET /api/battle-reports/— список всех отчётовPOST /api/battle-reports/— создание нового отчётаGET /api/battle-reports/{id}/— детали отчётаPATCH /api/battle-reports/{id}/— обновление отчёта
Киллмэйлы
GET /api/killmails/— список киллмэйловGET /api/killmails/{id}/— детали киллмэйлаPATCH /api/killmails/{id}/— обновление статуса киллмэйла
Фильтры
GET /api/filters/— список фильтровPOST /api/filters/— добавление фильтраDELETE /api/filters/{id}/— удаление фильтра
Парсер почты
GET /api/mailparser/— список персонажей для парсинга почтыPOST /api/mailparser/— добавление персонажаDELETE /api/mailparser/{id}/— удаление персонажа
Поиск сущностей
POST /api/filter-term/find— поиск сущностей в EVE Universe
API требует аутентификации через токен Alliance Auth.
Конфигурация
Настройка прокси
Для работы с внешними API через прокси настройте параметры в админ-панели:
| Параметр | Описание |
|---|---|
| HTTP Proxy | HTTP прокси (формат: http://host:port) |
| HTTPS Proxy | HTTPS прокси (формат: https://host:port) |
| SOCKS5 Proxy | SOCKS5 прокси (формат: socks5://host:port) |
Типы активности
| Тип | Код | Описание |
|---|---|---|
| CTA | C |
Call To Arms |
| HOMEDEF | H |
Home defence |
| OTHER | O |
Other |
Задачи Celery
| Задача | Интервал | Описание |
|---|---|---|
process_queued_links |
5 мин | Обработка отложенных ссылок |
fetch_characters_mails |
5 мин | Загрузка киллов из почты |
load_battle_reports |
30 мин | Загрузка БР с br.evetools.org |
fetch_all_characters_mails |
по требованию | Полная загрузка почты |
process_mass_action |
по требованию | Массовая обработка киллмэйлов |
Поддержка
Лицензия
Этот проект распространяется под лицензией MIT. Подробности см. в файле LICENSE.
Благодарности
- Команде Alliance Auth за отличную платформу
- Сообществу EVE Online за вдохновение