2024-11-16 16:24:17 +03:00
|
|
|
|
# Описание
|
|
|
|
|
|
ПО TraceDelivery (DoDoTrace) предназначено для доставки файлов с удаленной машины
|
|
|
|
|
|
на машину пользователя по протоколу SFTP.
|
|
|
|
|
|
|
|
|
|
|
|
# Настройка перед запуском
|
|
|
|
|
|
Для настройки ПО в каталоге `data` расположены 2 файла: `connection.json` и `path.json`.
|
|
|
|
|
|
|
|
|
|
|
|
## `connection.json`
|
|
|
|
|
|
Отвечает за настройку подключения к удаленной машине.
|
|
|
|
|
|
|
|
|
|
|
|
Параметры:
|
|
|
|
|
|
- host: IP-адрес хоста в формате строки. Пример `"172.21.5.240"`,
|
|
|
|
|
|
- port: порт в формате целого числа. По умолчанию - порт 22. Пример `22`,
|
|
|
|
|
|
- username: имя пользователя для удаленной машины в формате строки. Пример `"smart"`
|
|
|
|
|
|
- password: пароль пользователя на удаленной машине в формате строки. Пример `"00000000"`
|
|
|
|
|
|
|
|
|
|
|
|
Пример заполнения настроек для подключения к ТСК:
|
|
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
|
{
|
|
|
|
|
|
"host": "172.21.5.240",
|
|
|
|
|
|
"port": 22,
|
|
|
|
|
|
"username": "smart",
|
|
|
|
|
|
"password": "00000000"
|
|
|
|
|
|
}
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## `path.json`
|
|
|
|
|
|
Отвечает за настройку объектов (каталогов) подписок.
|
|
|
|
|
|
|
|
|
|
|
|
Параметры:
|
|
|
|
|
|
- source: путь к каталогу - источнику файлов в формате строки
|
|
|
|
|
|
- buffer: путь к каталогу - буферу на машине пользователя в формате строки
|
|
|
|
|
|
- destination: путь к каталогу назначения, куда будут сохранены файлы в формате строки
|
|
|
|
|
|
- apply_filter: флаг применения фильтра в булевом формате
|
|
|
|
|
|
- sigma_filter: степень фильтрации в формате целого числа
|
|
|
|
|
|
|
|
|
|
|
|
Пример заполнения настроек для подключения к ТСК:
|
|
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
|
[
|
|
|
|
|
|
{
|
|
|
|
|
|
"source": "/home/smart/PN/TWC/trace/Weld Point",
|
|
|
|
|
|
"buffer": "/home/andrei/PycharmProjects/traceDelivery/buffer",
|
|
|
|
|
|
"destination": "/home/andrei/Desktop/bla",
|
|
|
|
|
|
"apply_filter": true,
|
|
|
|
|
|
"sigma_filter": 3
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
"source": "/home/smart/PN/TWC/trace/test1",
|
|
|
|
|
|
"buffer": "/home/andrei/PycharmProjects/traceDelivery/buffer",
|
|
|
|
|
|
"destination": "/home/andrei/Desktop/bla",
|
|
|
|
|
|
"apply_filter": false,
|
|
|
|
|
|
"sigma_filter": 3
|
|
|
|
|
|
}
|
|
|
|
|
|
]
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
P.S.:
|
|
|
|
|
|
1. По структуре должно быть представлено в виде списка словарей.
|
|
|
|
|
|
2. Параметр `buffer` у каждого объекта должен указывать на один и тот же каталог: поведение при разных буферах не проверялось.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Запуск
|
|
|
|
|
|
|
|
|
|
|
|
## Подготовка
|
|
|
|
|
|
1. Создать виртуальное окружение внутри корневого каталога проекта
|
|
|
|
|
|
2. Активировать виртуальное окружение
|
|
|
|
|
|
3. Установить зависимости из `requirements.txt`
|
|
|
|
|
|
|
|
|
|
|
|
## Запуск
|
|
|
|
|
|
1. Убедиться, что виртуальное окружение активировано
|
|
|
|
|
|
2. Выполнить в терминале `python3 src/main.py`
|
|
|
|
|
|
|
|
|
|
|
|
При успешном запуске в терминале появятся сообщения вида:
|
|
|
|
|
|
```
|
|
|
|
|
|
2024-11-16 16:21:31.829 | INFO | subscription.subscriber:_init_state:14 - Subscription to /home/smart/PN/TWC/trace/Weld Point done!
|
|
|
|
|
|
2024-11-16 16:21:31.938 | INFO | subscription.subscriber:_init_state:14 - Subscription to /home/smart/PN/TWC/trace/test1 done!
|
|
|
|
|
|
|
|
|
|
|
|
```
|