Compare commits
63 Commits
c1be4b900b
...
RFB_5.1
| Author | SHA1 | Date | |
|---|---|---|---|
| c4e60fb621 | |||
| 1409ddaf77 | |||
| 358a58e2ff | |||
| d1d3567f2f | |||
| d75042ca7a | |||
| 5e42fd69cd | |||
| 9cb9e1b082 | |||
| 68654664df | |||
| 42272fc9c6 | |||
| 037b691921 | |||
| 621c097ca7 | |||
| eff04e68f4 | |||
| aec3fccfea | |||
| bfa74b51c3 | |||
| a317dd9d6a | |||
| 9efb351522 | |||
|
|
04574f5621 | ||
|
|
9aa698dcfe | ||
| 101a5a09d3 | |||
| edf044b0ab | |||
| 31c1ab16fa | |||
|
|
ee7c6eee86 | ||
|
|
59488f2c37 | ||
|
|
a2475c262a | ||
| 1151027466 | |||
| a27d2c3d0b | |||
| 8c8ea3f9a9 | |||
| d080faac2f | |||
| 7ebe5f822b | |||
|
|
94b7e34573 | ||
|
|
3a360e0c79 | ||
|
|
da7e7ad833 | ||
|
|
9249af4b75 | ||
| 56ab87467d | |||
| c984bc359e | |||
| b2d7a80a66 | |||
| 1b26964eed | |||
| c9ab12ab5f | |||
| cb5ad666d9 | |||
| 4001c70428 | |||
| 087af690dd | |||
| 46bba1ef85 | |||
| 88264f0d4d | |||
| 43c3c6e02d | |||
| 0ed7b5f06d | |||
| 7ebfc4eeaa | |||
| 0542feba36 | |||
| c68b4739fd | |||
| 80a35988e0 | |||
| 5f9ff8bd0d | |||
| bc5974d6ee | |||
| b163583143 | |||
| afa184f8e7 | |||
| c9d02b5991 | |||
| 86e7600042 | |||
| 0c0c18c783 | |||
| 84a3fa9149 | |||
| ffd4108be8 | |||
| 313a2784a1 | |||
| a3ea23f5d0 | |||
|
|
96e72f2ee3 | ||
|
|
02592f145c | ||
|
|
af9cacb3d8 |
4
.gitignore
vendored
4
.gitignore
vendored
@@ -2,4 +2,6 @@
|
|||||||
/TestJson
|
/TestJson
|
||||||
/logs/*
|
/logs/*
|
||||||
*.venv
|
*.venv
|
||||||
*.env
|
*.env
|
||||||
|
/shotmaps/*
|
||||||
|
get_data copy.py
|
||||||
132
README.md
132
README.md
@@ -1,89 +1,119 @@
|
|||||||

|

|
||||||
|
|
||||||
RFB Stat - это система для автоматического сбора баскетбольной статистики.
|
# RFB Stat
|
||||||
|
|
||||||
Требования
|
**RFB Stat** — это система для автоматического сбора баскетбольной статистики.
|
||||||
|
|
||||||
* Ubuntu Linux
|
## Требования
|
||||||
* Доступ к репозиторию `https://git.tvstart.ru/`
|
|
||||||
* *Права root для установки!!*
|
|
||||||
|
|
||||||
# Установка
|
- **Ubuntu Linux**
|
||||||
|
- Доступ к репозиторию `https://git.tvstart.ru/`
|
||||||
|
- **Права root для установки**
|
||||||
|
|
||||||
|
## Установка
|
||||||
|
|
||||||
Скрипт установки выполняет полную настройку системы:
|
Скрипт установки выполняет полную настройку системы:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
chmod +x deploy.sh
|
chmod +x deploy.sh
|
||||||
|
```
|
||||||
|
```shell
|
||||||
./deploy.sh -t <команда> -r <релиз>
|
./deploy.sh -t <команда> -r <релиз>
|
||||||
```
|
```
|
||||||
Параметры командной строки
|
|
||||||
|
|
||||||
-t - Название команды (опционально, определяется по IP если не указано)
|
### Параметры командной строки
|
||||||
|
|
||||||
-r - Релиз (ветка или тег в git, по умолчанию: main)
|
| Опция | Описание |
|
||||||
|
|-------|----------|
|
||||||
|
| `-t` | Название команды (опционально, определяется по IP, если не указано) |
|
||||||
|
| `-r` | Релиз (ветка или тег в git; по умолчанию: `main`) |
|
||||||
|
| `-l` | Лига (опционально) |
|
||||||
|
| `-h` | Справка по использованию |
|
||||||
|
|
||||||
-l Лига (опционально)
|
### Примеры использования
|
||||||
|
|
||||||
-h - Справка по использованию
|
1. **Установка с автоопределением команды по IP**
|
||||||
|
|
||||||
# Примеры использования
|
```shell
|
||||||
|
./deploy.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
2. **Установка для конкретной команды**
|
||||||
|
|
||||||
|
```shell
|
||||||
|
./deploy.sh -t cska -r main
|
||||||
|
```
|
||||||
|
|
||||||
|
3. **Установка тестовой версии**
|
||||||
|
|
||||||
|
```shell
|
||||||
|
./deploy.sh -t zenit -r TEST -l vtb
|
||||||
|
```
|
||||||
|
|
||||||
|
## Установленные пакеты и зависимости
|
||||||
|
|
||||||
|
### Системные пакеты:
|
||||||
|
|
||||||
|
- Python3
|
||||||
|
- pip3
|
||||||
|
- virtualenv
|
||||||
|
- Git
|
||||||
|
- Net-tools
|
||||||
|
|
||||||
|
### Виртуальное окружение Python с зависимостями:
|
||||||
|
|
||||||
|
- requests>=2.31.0
|
||||||
|
- pandas>=2.0.0
|
||||||
|
- numpy>=1.24.0
|
||||||
|
- fastapi>=0.115.0
|
||||||
|
- uvicorn>=0.30.0
|
||||||
|
- python-telegram-handler
|
||||||
|
- python-dotenv
|
||||||
|
- nasio
|
||||||
|
- pillow
|
||||||
|
|
||||||
|
### Дополнительные инструкции для установки зависимостей
|
||||||
|
|
||||||
|
Для установки пакетов из дополнительного репозитория, используйте следующую команду:
|
||||||
|
|
||||||
Установка с автоопределением команды по IP
|
|
||||||
```shell
|
```shell
|
||||||
./deploy.sh
|
pip install -r requirements.txt --extra-index-url https://git.tvstart.ru/api/packages/lexx/pypi/simple
|
||||||
```
|
```
|
||||||
Установка для конкретной команды
|
|
||||||
```shell
|
|
||||||
./deploy.sh -t cska -r main
|
|
||||||
```
|
|
||||||
Установка тестовой версии
|
|
||||||
```shell
|
|
||||||
./deploy.sh -t zenit -r TEST -l vtb
|
|
||||||
```
|
|
||||||
# Пакеты и прочее что будет установленно:
|
|
||||||
Системные пакеты:
|
|
||||||
|
|
||||||
* Python3
|
## Управление сервисами
|
||||||
* pip3
|
|
||||||
* virtualenv
|
|
||||||
* Git
|
|
||||||
* Net-tools
|
|
||||||
|
|
||||||
Виртуальное окружение Python с зависимостями:
|
### Просмотр статуса сервисов
|
||||||
|
|
||||||
* requests
|
|
||||||
* pandas
|
|
||||||
* numpy
|
|
||||||
* fastapi
|
|
||||||
* uvicorn
|
|
||||||
* requests
|
|
||||||
* python-telegram-handler
|
|
||||||
|
|
||||||
# Управление сервисами
|
|
||||||
Просмотр статуса
|
|
||||||
```shell
|
```shell
|
||||||
systemctl status rfb-data.service
|
systemctl status rfb-data.service
|
||||||
```
|
```
|
||||||
Перезапуск сервиса
|
|
||||||
|
### Перезапуск сервисов
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
systemctl restart rfb-data.service rfb-visual.service
|
systemctl restart rfb-data.service rfb-visual.service
|
||||||
```
|
```
|
||||||
Остановка сервиса
|
|
||||||
|
### Остановка сервисов
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
systemctl stop rfb-data.service rfb-visual.service
|
systemctl stop rfb-data.service rfb-visual.service
|
||||||
```
|
```
|
||||||
Запуск сервиса
|
|
||||||
|
### Запуск сервисов
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
systemctl start rfb-data.service rfb-visual.service
|
systemctl start rfb-data.service rfb-visual.service
|
||||||
```
|
```
|
||||||
Просмотр логов
|
|
||||||
```shell
|
|
||||||
journalctl -u rfb-data.service -f
|
|
||||||
```
|
|
||||||
# Онлайн состояние системы
|
|
||||||
|
|
||||||
После установки статус приложение доступен по адресу:
|
### Просмотр логов
|
||||||
|
|
||||||
|
```shell
|
||||||
|
journalctl -t RFB -f
|
||||||
|
```
|
||||||
|
|
||||||
|
### Онлайн состояние системы
|
||||||
|
После установки статус приложения доступен по адресу:
|
||||||
|
|
||||||
`http://ВАШ_IP_АДРЕС:8000/status`
|
`http://ВАШ_IP_АДРЕС:8000/status`
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
28
deploy.sh
28
deploy.sh
@@ -46,7 +46,7 @@ log_debug() {
|
|||||||
|
|
||||||
# Функция проверки зависимостей системы
|
# Функция проверки зависимостей системы
|
||||||
check_dependencies() {
|
check_dependencies() {
|
||||||
local deps=("git" "python3" "pip3" "netstat" "systemctl")
|
local deps=("git" "python3" "pip" "netstat" "systemctl")
|
||||||
local missing=()
|
local missing=()
|
||||||
|
|
||||||
for dep in "${deps[@]}"; do
|
for dep in "${deps[@]}"; do
|
||||||
@@ -82,13 +82,13 @@ install_packages() {
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if ! command -v pip3 &> /dev/null; then
|
if ! command -v pip &> /dev/null; then
|
||||||
log_error "pip3 не установлен!"
|
log_error "pip не установлен!"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
log_info "Версия Python: $(python3 --version)"
|
log_info "Версия Python: $(python3 --version)"
|
||||||
log_info "Версия pip: $(pip3 --version)"
|
log_info "Версия pip: $(pip --version)"
|
||||||
}
|
}
|
||||||
|
|
||||||
# Функция загрузки кода
|
# Функция загрузки кода
|
||||||
@@ -155,15 +155,15 @@ setup_venv() {
|
|||||||
log_info "Активация виртуального окружения и установка зависимостей..."
|
log_info "Активация виртуального окружения и установка зависимостей..."
|
||||||
source .venv/bin/activate
|
source .venv/bin/activate
|
||||||
|
|
||||||
# Обновление pip3
|
# Обновление pip
|
||||||
if ! pip3 install --upgrade pip3; then
|
if ! pip install --upgrade pip; then
|
||||||
log_warn "Не удалось обновить pip3"
|
log_warn "Не удалось обновить pip"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Проверка наличия requirements.txt
|
# Проверка наличия requirements.txt
|
||||||
if [ -f "requirements.txt" ]; then
|
if [ -f "requirements.txt" ]; then
|
||||||
log_info "Установка зависимостей из requirements.txt..."
|
log_info "Установка зависимостей из requirements.txt..."
|
||||||
if pip3 install -r requirements.txt; then
|
if pip install -r requirements.txt; then
|
||||||
log_info "Все зависимости успешно установлены"
|
log_info "Все зависимости успешно установлены"
|
||||||
else
|
else
|
||||||
log_error "Ошибка при установке зависимостей из requirements.txt"
|
log_error "Ошибка при установке зависимостей из requirements.txt"
|
||||||
@@ -171,7 +171,7 @@ setup_venv() {
|
|||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
log_warn "Файл requirements.txt не найден, устанавливаем базовые зависимости..."
|
log_warn "Файл requirements.txt не найден, устанавливаем базовые зависимости..."
|
||||||
if ! pip3 install requests pandas numpy fastapi uvicorn python-telegram-handler python-dotenv; then
|
if ! pip install requests pandas numpy fastapi uvicorn python-telegram-handler python-dotenv; then
|
||||||
log_error "Ошибка при установке базовых зависимостей"
|
log_error "Ошибка при установке базовых зависимостей"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
@@ -192,7 +192,7 @@ except ImportError as e:
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
log_info "Установленные пакеты:"
|
log_info "Установленные пакеты:"
|
||||||
pip3 list --format=columns
|
pip list --format=columns
|
||||||
}
|
}
|
||||||
# Функция создания systemd сервиса
|
# Функция создания systemd сервиса
|
||||||
create_systemd_service() {
|
create_systemd_service() {
|
||||||
@@ -241,7 +241,7 @@ create_systemd_service() {
|
|||||||
log_info "Создание файла сервиса: $data_service_file"
|
log_info "Создание файла сервиса: $data_service_file"
|
||||||
cat > "$data_service_file" << EOF
|
cat > "$data_service_file" << EOF
|
||||||
[Unit]
|
[Unit]
|
||||||
Description=KHL Data Service
|
Description=RFB Data Service
|
||||||
Documentation=https://git.tvstart.ru/ychernenko/RFB
|
Documentation=https://git.tvstart.ru/ychernenko/RFB
|
||||||
After=network.target
|
After=network.target
|
||||||
Wants=network.target
|
Wants=network.target
|
||||||
@@ -317,6 +317,7 @@ detect_team() {
|
|||||||
["10.10.35.28"]="mba-mai"
|
["10.10.35.28"]="mba-mai"
|
||||||
["10.10.35.29"]="Pari Nizhny Novgorod"
|
["10.10.35.29"]="Pari Nizhny Novgorod"
|
||||||
["10.10.35.30"]="unics"
|
["10.10.35.30"]="unics"
|
||||||
|
["10.10.35.31"]="enisey"
|
||||||
)
|
)
|
||||||
|
|
||||||
# Определение команды по IP
|
# Определение команды по IP
|
||||||
@@ -506,9 +507,6 @@ main() {
|
|||||||
# Загрузка кода
|
# Загрузка кода
|
||||||
download_code "$release"
|
download_code "$release"
|
||||||
|
|
||||||
# Проверка файлов
|
|
||||||
check_required_files
|
|
||||||
|
|
||||||
# Настройка виртуального окружения
|
# Настройка виртуального окружения
|
||||||
setup_venv
|
setup_venv
|
||||||
|
|
||||||
@@ -560,7 +558,7 @@ main() {
|
|||||||
log_info ""
|
log_info ""
|
||||||
log_info "Для просмотра логов:"
|
log_info "Для просмотра логов:"
|
||||||
log_info " journalctl -u $SERVICE_NAME -f"
|
log_info " journalctl -u $SERVICE_NAME -f"
|
||||||
log_info " journalctl -t KHL -f"
|
log_info " journalctl -t RFB -f"
|
||||||
log_info ""
|
log_info ""
|
||||||
log_info "Управление сервисом:"
|
log_info "Управление сервисом:"
|
||||||
log_info " Перезапуск: systemctl restart $SERVICE_NAME"
|
log_info " Перезапуск: systemctl restart $SERVICE_NAME"
|
||||||
|
|||||||
4128
get_data.py
4128
get_data.py
File diff suppressed because it is too large
Load Diff
41
replace.bat
41
replace.bat
@@ -1,41 +0,0 @@
|
|||||||
@echo off
|
|
||||||
setlocal
|
|
||||||
|
|
||||||
set "vmix_file=%~1"
|
|
||||||
if "%vmix_file%"=="" (
|
|
||||||
echo Usage: %0 filename.vmix
|
|
||||||
pause
|
|
||||||
exit /b 1
|
|
||||||
)
|
|
||||||
|
|
||||||
if not exist "%vmix_file%" (
|
|
||||||
echo File "%vmix_file%" not found!
|
|
||||||
pause
|
|
||||||
exit /b 1
|
|
||||||
)
|
|
||||||
|
|
||||||
set "replace=https://per.tvstart.ru"
|
|
||||||
set "temp_file=%vmix_file%.tmp"
|
|
||||||
|
|
||||||
echo Processing: %vmix_file%
|
|
||||||
|
|
||||||
powershell -Command "
|
|
||||||
$content = Get-Content '%vmix_file%' -Raw
|
|
||||||
$pattern = 'https?:\/\/\d*\.\d*\.\d*\.\d*:\d*|https?:\/\/\w*\.\w*\.\w*'
|
|
||||||
$replacement = '%replace%'
|
|
||||||
$result = $content -replace $pattern, $replacement
|
|
||||||
$result | Out-File '%temp_file%' -Encoding UTF8
|
|
||||||
"
|
|
||||||
|
|
||||||
if exist "%temp_file%" (
|
|
||||||
move /y "%temp_file%" "%vmix_file%" > nul
|
|
||||||
echo Replacement completed successfully!
|
|
||||||
echo URLs matching these patterns were replaced:
|
|
||||||
echo - IP addresses with ports (http://127.0.0.1:8000 etc.)
|
|
||||||
echo - Three-part domains (https://gfx.tvstart.ru etc.)
|
|
||||||
echo Replacement: %replace%
|
|
||||||
) else (
|
|
||||||
echo Error: Failed to process file
|
|
||||||
)
|
|
||||||
|
|
||||||
pause
|
|
||||||
@@ -7,4 +7,5 @@ requests>=2.31.0
|
|||||||
python-telegram-handler
|
python-telegram-handler
|
||||||
python-dotenv
|
python-dotenv
|
||||||
--extra-index-url https://git.tvstart.ru/api/packages/lexx/pypi/simple
|
--extra-index-url https://git.tvstart.ru/api/packages/lexx/pypi/simple
|
||||||
nasio
|
nasio
|
||||||
|
pillow
|
||||||
Reference in New Issue
Block a user