SOP Analyzer - это инструмент командной строки для анализа и просмотра содержимого файлов пакетов SimpleOne (.sop). Утилита предоставляет подробную информацию о метаданных пакета, статистике записей, таблицах и выполняемых операциях.
- 📦 Метаданные пакета: информация о названии, ID приложения, версии и временных метках
- 📊 Статистика записей: общее количество записей, операции удаления, сильные перезаписи
- 🗃️ Анализ таблиц: детальная информация по таблицам и действиям над ними
- 🔧 Диагностика: инструменты для отладки проблем с файлами
- 📋 Несколько форматов вывода: читаемый текст и структурированный JSON
- Python 3.7+
- Стандартные библиотеки Python (не требует дополнительных зависимостей)
git clone https://github.com/CodeeCod/SOP-Analyzer.git
cd sop-analyzerpython3 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 утилита выводит структурированные данные:
{
"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Это покажет:
- Размер файла данных
- Первые и последние байты данных
- Список файлов в архиве
Утилита включает несколько методов декомпрессии для обработки различных форматов сжатия данных. При возникновении ошибок автоматически предоставляется диагностическая информация.
SOPAnalyzer- основной класс для анализа SOP файловOutputFormatter- класс для форматирования выводаRecordStats- датакласс для статистики записейTableInfo- датакласс для информации о таблицах
Для добавления нового анализатора создайте метод в классе SOPAnalyzer и добавьте соответствующую опцию командной строки.
