SOP Analyzer - Приложение для анализа .sop файлов

SOP Analyzer - это инструмент командной строки для анализа и просмотра содержимого файлов пакетов SimpleOne (.sop). Утилита предоставляет подробную информацию о метаданных пакета, статистике записей, таблицах и выполняемых операциях.

Возможности

  • :package: Метаданные пакета: информация о названии, ID приложения, версии и временных метках
  • :bar_chart: Статистика записей: общее количество записей, операции удаления, сильные перезаписи
  • :card_file_box: Анализ таблиц: детальная информация по таблицам и действиям над ними
  • :wrench: Диагностика: инструменты для отладки проблем с файлами
  • :clipboard: Несколько форматов вывода: читаемый текст и структурированный JSON

Установка

Требования

  • Python 3.7+
  • Стандартные библиотеки Python (не требует дополнительных зависимостей)

Установка из исходного кода

git clone https://github.com/CodeeCod/SOP-Analyzer.git
cd sop-analyzer

Использование

Базовое использование

python3 sop_analyzer.py package.sop

Опции командной строки

Опция Описание
--metadata Показать только метаданные пакета
--stats Показать статистику записей
--tables Показать информацию о таблицах
--json Вывод в формате JSON
--debug Диагностическая информация
--verbose, -v Подробный вывод

Примеры использования

Полный отчет:

python3 sop_analyzer.py package.sop

Только метаданные:

python3 sop_analyzer.py package.sop --metadata

Статистика записей:

python3 sop_analyzer.py package.sop --stats

Информация о таблицах:

python3 sop_analyzer.py package.sop --tables

Вывод в JSON формате:

python3 sop_analyzer.py package.sop --json

Диагностическая информация:

python3 sop_analyzer.py package.sop --debug

Структура вывода

Метаданные пакета

  • Название пакета
  • ID приложения
  • Временная метка
  • Версия

Статистика записей

  • Общее количество записей
  • Количество операций удаления
  • Количество сильных перезаписей
  • Распределение по типам действий

Информация о таблицах

  • Название таблицы
  • Количество записей
  • Статистика действий по типам

Формат JSON вывода

При использовании опции --json утилита выводит структурированные данные:

{
  "metadata": {
    "name": "[SA] build.2007",
    "pack_application_id": "155931135900000002",
    "timestamp": null,
    "version": "Неизвестно"
  },
  "record_statistics": {
    "total_records": 133,
    "delete_operations": 0,
    "strong_overwrites": 0,
    "actions_breakdown": {
      "update": 60,
      "insert": 73
    }
  },
  "tables": [
    {
      "name": "sys_translation",
      "record_count": 60,
      "actions": {
        "insert": 52,
        "update": 8
      }
    }

Диагностика проблем

Если утилита не может прочитать файл, используйте опцию --debug для получения диагностической информации:

python3 sop_analyzer.py problematic.sop --debug

Это покажет:

  • Размер файла данных
  • Первые и последние байты данных
  • Список файлов в архиве

Обработка ошибок

Утилита включает несколько методов декомпрессии для обработки различных форматов сжатия данных. При возникновении ошибок автоматически предоставляется диагностическая информация.

4 лайка