Files
vk-scripts/config.py
Andrey f760e94206 Initial commit: VK media tools
Скрипты для выгрузки фото и видео из диалогов ВКонтакте,
обработки (дедупликация + CLIP-классификация) и загрузки в Immich.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-16 21:14:50 +03:00

86 lines
3.7 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"""
Конфигурация скрипта для выгрузки фото из диалогов ВКонтакте.
Как получить токен:
1. Перейди по ссылке в браузере:
https://oauth.vk.com/authorize?client_id=2685278&scope=messages,photos,offline&redirect_uri=https://oauth.vk.com/blank.html&display=page&response_type=token&v=5.199
2. Авторизуйся и разреши доступ
3. Скопируй access_token из адресной строки (значение между access_token= и &expires_in)
4. Вставь его ниже в переменную VK_TOKEN
"""
# Токен доступа VK API (обязательно заполнить)
VK_TOKEN: str = ""
# Папка для сохранения фото (относительный или абсолютный путь)
DOWNLOAD_DIR: str = "downloads"
# Папка для результатов обработки (дубликаты, мусор, review) — рядом с downloads
OUTPUT_DIR: str = "output"
# Файл прогресса для механизма resume
PROGRESS_FILE: str = "progress.json"
# Версия VK API
API_VERSION: str = "5.199"
# Минимум свободного места на диске (в МБ), при котором скрипт остановится
MIN_FREE_SPACE_MB: int = 500
# Задержка между скачиваниями файлов (секунды) — чтобы не перегружать сеть
DOWNLOAD_DELAY: float = 0.1
# Количество попыток при сетевых ошибках
MAX_RETRIES: int = 3
# Таймаут для скачивания одного фото (секунды)
DOWNLOAD_TIMEOUT: int = 30
# Количество параллельных потоков для скачивания фото
DOWNLOAD_WORKERS: int = 8
# ---------------------------------------------------------------------------
# Настройки обработки фото (process_photos.py)
# ---------------------------------------------------------------------------
# Файл прогресса обработки
PROCESS_PROGRESS_FILE: str = "process_progress.json"
# Файл лога перемещений (для отката)
ROLLBACK_LOG_FILE: str = "rollback_log.json"
# Размер хеша (hash_size x hash_size бит, 8 = 64 бита)
HASH_SIZE: int = 8
# Порог расстояния Хэмминга для near-дубликатов (0 = только точные, 8 = средний)
DEDUP_THRESHOLD: int = 8
# Потоки для параллельного хеширования
HASH_WORKERS: int = 8
# Размер батча для CLIP-классификации
CLIP_BATCH_SIZE: int = 16
# Минимальный порог уверенности CLIP (ниже → папка _review)
# Для CLIP ViT-B-32 cosine similarity обычно в диапазоне 0.12-0.35
CLIP_CONFIDENCE_MIN: float = 0.15
# ---------------------------------------------------------------------------
# Настройки скачивания видео (main_video.py)
# ---------------------------------------------------------------------------
# Папка для сохранения видео
VIDEO_DOWNLOAD_DIR: str = "downloads_video"
# Файл прогресса для видео
VIDEO_PROGRESS_FILE: str = "video_progress.json"
# Потоки скачивания (меньше чем для фото — видео тяжёлые)
VIDEO_DOWNLOAD_WORKERS: int = 4
# Таймаут скачивания одного видео (секунды, видео крупнее фото)
VIDEO_DOWNLOAD_TIMEOUT: int = 300
# Минимум свободного места для видео (МБ)
VIDEO_MIN_FREE_SPACE_MB: int = 2000