Aleksey Misyagin ekzoman
  • Joined on 2026-01-17

br-compensations (0.1.33)

Published 2026-06-29 09:54:32 +03:00 by ekzoman

Installation

pip install --index-url https://git.misyagin.com/api/packages/ekzoman/pypi/simple/ --extra-index-url https://pypi.org/simple br-compensations

About this package

Плагин Alliance Auth для управления боевыми компенсациями

BR Compensations

PyPI version License: MIT Python Version

Плагин 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 за вдохновение

Requirements

Requires Python: >=3.8
Details
PyPI
2026-06-29 09:54:32 +03:00
2
Aleksei Misiagin
MIT
510 KiB
Assets (2)
Versions (157) View all
0.1.36 2026-06-29
0.1.35 2026-06-29
0.1.34 2026-06-29
0.1.33 2026-06-29
0.1.32 2026-06-28