# Portability: UNIVERSAL
# Last validated: 2026-05-17
# Next review: 2027-05-17

PROFILER
--------

Обработчик для анализа файлов и папок в системе BACH.


ОПИСАНИЕ
------------

PROFILER Handler предлагает функции для анализа и управления файлами:
- Поиск файлов по совпадению ключевых слов.
- Подробные профили файлов и папок (размер, категория, метаданные)
- Расчет хеша SHA256
- Автоматическая категоризация файлов (8 предустановленных категорий)
- Статистика папок с выводом размера по типу файла


ОПЕРАЦИИ
-----------

поиск <ключевое слово> [--path=DIR] [--type=ext]
  Поиск файловой системы по ключевому слову. Макс. 50 просмотров.
  Опции:
    --path=Путь поиска DIR (по умолчанию: .)
    --type=ext Фильтровать только тип файла (например, py, txt, json)
  Пример: конфигурация поиска профилировщика --path=. --type=json

профиль <путь>
  Анализ файла или папки. Выводит размер, категорию и метаданные.
  Пример: данные профиля профилировщика/myfile.txt

хеш <путь>
  Вычислить хэш SHA256 файла.
  Пример: хэш профилировщика archive.zip

categorize <путь>
  Автоматическое определение категории файла на основе расширения.
  Пример: профилировщик классифицирует документ.docx

stats <путь>
  Показать подробную статистику папок: количество файлов, общий размер,
  Распределение по категориям использования памяти.
  Пример: статистика профилировщика ./projects

status
  Показать состояние ProFiler и доступные категории.


ПРИМЕРЫ
---------

требования к поиску профилировщика --path=. --type=txt
  -> Находит до 50 файлов с «требованиями» в имени (только .txt)

профиль профилировщика /home/cfm-cosmology/results
  -> Профиль папки: 1243 файла, 15,7 ГБ, 8 подпапок

хеш-данные профилировщика/model.pkl
  -> SHA256: a7f8c3e9d... (Размер файла: 2,3 МБ)

профилировщик классифицирует config.json
  -> config.json: Данные (.json)

статистика профилировщика ./documents
  -> Статистика папок с категоризацией (документы: 234 файла, 456 МБ и т. д.)

статус профилировщика
  -> Обзор состояния и категорий ProFiler


КАТЕГОРИИ
----------

8 предопределенных категорий файлов:

  Документы — .pdf, .doc, .docx, .txt, .odt, .xls, .xlsx, .csv, .pptx.
  Изображения — .jpg, .jpeg, .png, .gif, .bmp, .svg, .webp, .tiff, .ico.
  Аудио — .mp3, .wav, .flac, .ogg, .aac, .wma, .m4a.
  Видео — .mp4, .avi, .mkv, .mov, .wmv, .flv, .webm.
  Архивы - .zip, .rar, .7z, .tar, .gz, .bz2.
  Код — .py, .js, .ts, .html, .css, .java, .c, .cpp, .rs, .go, .sql.
  Данные — .json, .xml, .yaml, .yml, .toml, .ini, .cfg.
  Исполняемый файл — .exe, .msi, .bat, .cmd, .ps1, .sh
  Прочее — все остальные окончания


ФАЙЛЫ
-------

hub/profiler.py Реализация обработчика (hub/)
Extensions/ProFiler/ Каталог расширений (необязательно)


СМОТРИТЕ ТАКЖЕ
----------

hub/base.py — класс BaseHandler
docs/help/handler.txt — документация обработчика в целом.
