From de48a9c85f1d10784d4eb9a4842da606932e7a63 Mon Sep 17 00:00:00 2001 From: ksenia_mikhailova Date: Mon, 30 Jun 2025 16:10:46 +0300 Subject: [PATCH] stat data --- logs/parser.log | 307 ++++++++++++++++++++++++++++++++++++++++++++++++ parser/main.py | 62 +++++----- 2 files changed, 342 insertions(+), 27 deletions(-) diff --git a/logs/parser.log b/logs/parser.log index 0f81f7a..0f02652 100644 --- a/logs/parser.log +++ b/logs/parser.log @@ -44484,3 +44484,310 @@ pywintypes.com_error: (-2147023174, 'Сервер RPC недоступен.', No 2025-06-30 14:20:34,113 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: stats 2025-06-30 14:20:34,113 - parser - INFO - main - collect_statistics - 715 - Начинаем сбор статистики по элементам... 2025-06-30 14:20:34,130 - parser - INFO - main - collect_statistics - 735 - Обрабатываем документ: Сборка изделий +2025-06-30 14:27:00,176 - parser - INFO - main - collect_statistics - 726 - Начинаем сбор статистики по элементам... +2025-06-30 14:27:00,176 - parser - INFO - main - collect_statistics - 746 - Обрабатываем документ: Сборка изделий +2025-06-30 14:27:04,291 - parser - ERROR - main - collect_statistics - 757 - [ERROR] Ошибка при обработке документа #1: '' object has no attribute 'Part' +2025-06-30 14:27:04,374 - parser - INFO - main - collect_statistics - 746 - Обрабатываем документ: Цилиндр +2025-06-30 14:27:04,570 - parser - ERROR - main - collect_statistics - 757 - [ERROR] Ошибка при обработке документа #2: '' object has no attribute 'Part' +2025-06-30 14:27:26,880 - parser - INFO - main - collect_statistics - 726 - Начинаем сбор статистики по элементам... +2025-06-30 14:27:27,224 - parser - INFO - main - collect_statistics - 746 - Обрабатываем документ: Сборка изделий +2025-06-30 14:27:30,887 - parser - ERROR - main - collect_statistics - 757 - [ERROR] Ошибка при обработке документа #1: '' object has no attribute 'Part' +2025-06-30 14:27:31,009 - parser - INFO - main - collect_statistics - 746 - Обрабатываем документ: Цилиндр +2025-06-30 14:27:31,374 - parser - ERROR - main - collect_statistics - 757 - [ERROR] Ошибка при обработке документа #2: '' object has no attribute 'Part' +2025-06-30 14:27:39,178 - parser - INFO - main - collect_statistics - 726 - Начинаем сбор статистики по элементам... +2025-06-30 14:27:39,552 - parser - INFO - main - collect_statistics - 746 - Обрабатываем документ: Сборка изделий +2025-06-30 14:28:32,274 - parser - INFO - main - collect_statistics - 727 - Начинаем сбор статистики по элементам... +2025-06-30 14:28:32,279 - parser - INFO - main - collect_statistics - 747 - Обрабатываем документ: Сборка изделий +2025-06-30 14:29:09,398 - parser - INFO - main - collect_statistics - 727 - Начинаем сбор статистики по элементам... +2025-06-30 14:29:09,402 - parser - INFO - main - collect_statistics - 747 - Обрабатываем документ: Сборка изделий +2025-06-30 14:29:51,396 - parser - INFO - main - collect_statistics - 728 - Начинаем сбор статистики по элементам... +2025-06-30 14:29:51,396 - parser - INFO - main - collect_statistics - 748 - Обрабатываем документ: Сборка изделий +2025-06-30 14:30:43,038 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: open_kompas +2025-06-30 14:30:43,367 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: get_available_actions +2025-06-30 14:30:46,982 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: stats +2025-06-30 14:30:46,982 - parser - INFO - main - collect_statistics - 726 - Начинаем сбор статистики по элементам... +2025-06-30 14:30:46,982 - parser - INFO - main - collect_statistics - 746 - Обрабатываем документ: Держатель для садовых инструментов +2025-06-30 14:31:31,066 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: open_kompas +2025-06-30 14:31:31,390 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: get_available_actions +2025-06-30 14:31:33,829 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: stats +2025-06-30 14:31:33,829 - parser - INFO - main - collect_statistics - 726 - Начинаем сбор статистики по элементам... +2025-06-30 14:31:33,829 - parser - INFO - main - collect_statistics - 746 - Обрабатываем документ: Держатель для садовых инструментов +2025-06-30 14:33:48,212 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: open_kompas +2025-06-30 14:33:48,519 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: get_available_actions +2025-06-30 14:33:50,500 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: stats +2025-06-30 14:33:50,500 - parser - INFO - main - collect_statistics - 727 - Начинаем сбор статистики по элементам... +2025-06-30 14:33:50,500 - parser - INFO - main - collect_statistics - 747 - Обрабатываем документ: Держатель для садовых инструментов +2025-06-30 14:35:25,356 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: open_kompas +2025-06-30 14:35:25,796 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: get_available_actions +2025-06-30 14:35:27,959 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: stats +2025-06-30 14:35:27,960 - parser - INFO - main - collect_statistics - 727 - Начинаем сбор статистики по элементам... +2025-06-30 14:35:27,967 - parser - INFO - main - collect_statistics - 747 - Обрабатываем документ: Держатель для садовых инструментов +2025-06-30 14:36:46,380 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: open_kompas +2025-06-30 14:36:46,709 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: get_available_actions +2025-06-30 14:36:48,670 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: stats +2025-06-30 14:36:48,671 - parser - INFO - main - collect_statistics - 727 - Начинаем сбор статистики по элементам... +2025-06-30 14:36:48,682 - parser - INFO - main - collect_statistics - 747 - Обрабатываем документ: Держатель для садовых инструментов +2025-06-30 14:42:17,096 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: open_kompas +2025-06-30 14:42:17,436 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: get_available_actions +2025-06-30 14:42:19,430 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: stats +2025-06-30 14:42:19,430 - parser - INFO - main - collect_statistics - 727 - Начинаем сбор статистики по элементам... +2025-06-30 14:42:19,501 - parser - INFO - main - collect_statistics - 747 - Обрабатываем документ: Держатель для садовых инструментов +2025-06-30 14:46:48,150 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: open_kompas +2025-06-30 14:46:48,570 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: get_available_actions +2025-06-30 14:46:50,301 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: stats +2025-06-30 14:46:50,301 - parser - INFO - main - collect_statistics - 727 - Начинаем сбор статистики по элементам... +2025-06-30 14:46:50,301 - parser - INFO - main - collect_statistics - 747 - Обрабатываем документ: Держатель для садовых инструментов +2025-06-30 14:48:06,395 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: open_kompas +2025-06-30 14:48:06,730 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: get_available_actions +2025-06-30 14:48:08,708 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: stats +2025-06-30 14:48:08,709 - parser - INFO - main - collect_statistics - 727 - Начинаем сбор статистики по элементам... +2025-06-30 14:48:08,827 - parser - INFO - main - collect_statistics - 747 - Обрабатываем документ: Сборка изделий +2025-06-30 14:51:25,769 - parser - INFO - main - collect_statistics - 728 - Начинаем сбор статистики по элементам... +2025-06-30 14:51:25,784 - parser - INFO - main - collect_statistics - 748 - Обрабатываем документ: Сборка изделий +2025-06-30 14:51:59,318 - parser - INFO - main - collect_statistics - 728 - Начинаем сбор статистики по элементам... +2025-06-30 14:51:59,325 - parser - INFO - main - collect_statistics - 748 - Обрабатываем документ: Сборка изделий +2025-06-30 14:52:15,546 - parser - INFO - main - collect_statistics - 728 - Начинаем сбор статистики по элементам... +2025-06-30 14:52:16,282 - parser - INFO - main - collect_statistics - 748 - Обрабатываем документ: Сборка изделий +2025-06-30 14:52:30,766 - parser - INFO - main - collect_statistics - 728 - Начинаем сбор статистики по элементам... +2025-06-30 14:52:30,766 - parser - INFO - main - collect_statistics - 748 - Обрабатываем документ: Сборка изделий +2025-06-30 14:52:35,331 - parser - ERROR - main - collect_statistics - 759 - [ERROR] Ошибка при обработке документа #1: (-2147352571, 'Несовпадение типов.', None, 1) +2025-06-30 14:52:35,612 - parser - INFO - main - collect_statistics - 748 - Обрабатываем документ: Цилиндр +2025-06-30 14:52:35,828 - parser - ERROR - main - collect_statistics - 759 - [ERROR] Ошибка при обработке документа #2: (-2147352571, 'Несовпадение типов.', None, 1) +2025-06-30 14:54:10,711 - parser - INFO - main - collect_statistics - 728 - Начинаем сбор статистики по элементам... +2025-06-30 14:54:11,252 - parser - INFO - main - collect_statistics - 748 - Обрабатываем документ: Сборка изделий +2025-06-30 14:55:09,693 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: open_kompas +2025-06-30 14:55:10,018 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: get_available_actions +2025-06-30 14:55:12,528 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: stats +2025-06-30 14:55:12,528 - parser - INFO - main - collect_statistics - 728 - Начинаем сбор статистики по элементам... +2025-06-30 14:55:12,546 - parser - INFO - main - collect_statistics - 748 - Обрабатываем документ: Квадрат +2025-06-30 15:01:17,852 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: stats +2025-06-30 15:01:17,852 - parser - INFO - main - collect_statistics - 728 - Начинаем сбор статистики по элементам... +2025-06-30 15:01:17,852 - parser - INFO - main - collect_statistics - 748 - Обрабатываем документ: Квадрат +2025-06-30 15:02:19,091 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: open_kompas +2025-06-30 15:02:19,422 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: get_available_actions +2025-06-30 15:02:21,470 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: stats +2025-06-30 15:02:21,470 - parser - INFO - main - collect_statistics - 727 - Начинаем сбор статистики по элементам... +2025-06-30 15:02:21,568 - parser - INFO - main - collect_statistics - 747 - Обрабатываем документ: Квадрат +2025-06-30 15:04:53,161 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: stats +2025-06-30 15:04:53,161 - parser - INFO - main - collect_statistics - 727 - Начинаем сбор статистики по элементам... +2025-06-30 15:04:53,182 - parser - INFO - main - collect_statistics - 747 - Обрабатываем документ: Квадрат +2025-06-30 15:09:38,484 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: open_kompas +2025-06-30 15:09:39,010 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: get_available_actions +2025-06-30 15:09:41,096 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: stats +2025-06-30 15:09:41,096 - parser - INFO - main - collect_statistics - 727 - Начинаем сбор статистики по элементам... +2025-06-30 15:09:41,108 - parser - INFO - main - collect_statistics - 747 - Обрабатываем документ: Квадрат +2025-06-30 15:16:05,452 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: open_kompas +2025-06-30 15:16:05,794 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: get_available_actions +2025-06-30 15:16:07,819 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: stats +2025-06-30 15:16:07,820 - parser - INFO - main - collect_statistics - 727 - Начинаем сбор статистики по элементам... +2025-06-30 15:16:08,566 - parser - INFO - main - collect_statistics - 747 - Обрабатываем документ: Сборка изделий +2025-06-30 15:16:22,058 - parser - INFO - main - collect_statistics - 747 - Обрабатываем документ: Список деталей +2025-06-30 15:17:42,752 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: open_kompas +2025-06-30 15:17:43,091 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: get_available_actions +2025-06-30 15:17:44,880 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: stats +2025-06-30 15:17:44,880 - parser - INFO - main - collect_statistics - 727 - Начинаем сбор статистики по элементам... +2025-06-30 15:17:44,896 - parser - INFO - main - collect_statistics - 747 - Обрабатываем документ: Сборка изделий +2025-06-30 15:22:45,019 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: open_kompas +2025-06-30 15:22:45,357 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: get_available_actions +2025-06-30 15:22:47,467 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: stats +2025-06-30 15:22:47,467 - parser - INFO - main - collect_statistics - 727 - Начинаем сбор статистики по элементам... +2025-06-30 15:22:47,467 - parser - INFO - main - collect_statistics - 747 - Обрабатываем документ: Сборка изделий +2025-06-30 15:23:16,646 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: open_kompas +2025-06-30 15:23:17,092 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: get_available_actions +2025-06-30 15:23:18,275 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: stats +2025-06-30 15:23:18,275 - parser - INFO - main - collect_statistics - 727 - Начинаем сбор статистики по элементам... +2025-06-30 15:23:18,382 - parser - INFO - main - collect_statistics - 747 - Обрабатываем документ: Квадрат +2025-06-30 15:24:41,682 - parser - INFO - main - collect_statistics - 728 - Начинаем сбор статистики по элементам... +2025-06-30 15:24:41,688 - parser - INFO - main - collect_statistics - 748 - Обрабатываем документ: Квадрат +2025-06-30 15:25:13,233 - parser - INFO - main - collect_statistics - 730 - Начинаем сбор статистики по элементам... +2025-06-30 15:25:13,238 - parser - INFO - main - collect_statistics - 750 - Обрабатываем документ: Квадрат +2025-06-30 15:25:36,236 - parser - INFO - main - collect_statistics - 729 - Начинаем сбор статистики по элементам... +2025-06-30 15:25:36,243 - parser - INFO - main - collect_statistics - 749 - Обрабатываем документ: Квадрат +2025-06-30 15:25:36,762 - parser - ERROR - main - collect_statistics - 760 - [ERROR] Ошибка при обработке документа #1: DispatchBaseClass.__init__() takes from 1 to 2 positional arguments but 3 were given +2025-06-30 15:26:41,296 - parser - INFO - main - collect_statistics - 734 - Начинаем сбор статистики по элементам... +2025-06-30 15:26:41,299 - parser - INFO - main - collect_statistics - 754 - Обрабатываем документ: Квадрат +2025-06-30 15:27:32,019 - parser - INFO - main - collect_statistics - 741 - Начинаем сбор статистики по элементам... +2025-06-30 15:27:32,025 - parser - INFO - main - collect_statistics - 761 - Обрабатываем документ: Квадрат +2025-06-30 15:27:42,421 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: open_kompas +2025-06-30 15:27:42,952 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: get_available_actions +2025-06-30 15:27:44,847 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: stats +2025-06-30 15:27:44,847 - parser - INFO - main - collect_statistics - 741 - Начинаем сбор статистики по элементам... +2025-06-30 15:27:44,847 - parser - INFO - main - collect_statistics - 761 - Обрабатываем документ: Квадрат +2025-06-30 15:28:36,720 - parser - INFO - main - collect_statistics - 743 - Начинаем сбор статистики по элементам... +2025-06-30 15:28:36,742 - parser - INFO - main - collect_statistics - 763 - Обрабатываем документ: Квадрат +2025-06-30 15:28:37,155 - parser - ERROR - main - collect_statistics - 774 - [ERROR] Ошибка при обработке документа #1: (-2147352573, 'Член группы не найден.', None, None) +2025-06-30 15:29:03,077 - parser - INFO - main - collect_statistics - 740 - Начинаем сбор статистики по элементам... +2025-06-30 15:29:03,095 - parser - INFO - main - collect_statistics - 760 - Обрабатываем документ: Квадрат +2025-06-30 15:29:12,872 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: open_kompas +2025-06-30 15:29:13,206 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: get_available_actions +2025-06-30 15:29:15,355 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: stats +2025-06-30 15:29:15,356 - parser - INFO - main - collect_statistics - 740 - Начинаем сбор статистики по элементам... +2025-06-30 15:29:15,368 - parser - INFO - main - collect_statistics - 760 - Обрабатываем документ: Квадрат +2025-06-30 15:29:52,370 - parser - INFO - main - collect_statistics - 740 - Начинаем сбор статистики по элементам... +2025-06-30 15:29:52,374 - parser - INFO - main - collect_statistics - 760 - Обрабатываем документ: Квадрат +2025-06-30 15:29:52,969 - parser - ERROR - main - collect_statistics - 771 - [ERROR] Ошибка при обработке документа #1: (-2147352573, 'Член группы не найден.', None, None) +2025-06-30 15:29:59,567 - parser - INFO - main - collect_statistics - 740 - Начинаем сбор статистики по элементам... +2025-06-30 15:29:59,575 - parser - INFO - main - collect_statistics - 760 - Обрабатываем документ: Квадрат +2025-06-30 15:30:16,167 - parser - INFO - main - collect_statistics - 741 - Начинаем сбор статистики по элементам... +2025-06-30 15:30:16,175 - parser - INFO - main - collect_statistics - 761 - Обрабатываем документ: Квадрат +2025-06-30 15:31:24,490 - parser - INFO - main - collect_statistics - 741 - Начинаем сбор статистики по элементам... +2025-06-30 15:31:24,494 - parser - INFO - main - collect_statistics - 761 - Обрабатываем документ: Квадрат +2025-06-30 15:31:35,977 - parser - INFO - main - collect_statistics - 741 - Начинаем сбор статистики по элементам... +2025-06-30 15:31:35,990 - parser - INFO - main - collect_statistics - 761 - Обрабатываем документ: Квадрат +2025-06-30 15:31:48,662 - parser - INFO - main - collect_statistics - 741 - Начинаем сбор статистики по элементам... +2025-06-30 15:31:48,667 - parser - INFO - main - collect_statistics - 761 - Обрабатываем документ: Квадрат +2025-06-30 15:31:49,046 - parser - ERROR - main - collect_statistics - 772 - [ERROR] Ошибка при обработке документа #1: (-2147352573, 'Член группы не найден.', None, None) +2025-06-30 15:32:01,490 - parser - INFO - main - collect_statistics - 741 - Начинаем сбор статистики по элементам... +2025-06-30 15:32:01,497 - parser - INFO - main - collect_statistics - 761 - Обрабатываем документ: Квадрат +2025-06-30 15:32:01,877 - parser - ERROR - main - collect_statistics - 772 - [ERROR] Ошибка при обработке документа #1: (-2147352573, 'Член группы не найден.', None, None) +2025-06-30 15:32:26,400 - parser - INFO - main - collect_statistics - 741 - Начинаем сбор статистики по элементам... +2025-06-30 15:32:26,407 - parser - INFO - main - collect_statistics - 761 - Обрабатываем документ: Квадрат +2025-06-30 15:32:26,781 - parser - ERROR - main - collect_statistics - 772 - [ERROR] Ошибка при обработке документа #1: (-2147352573, 'Член группы не найден.', None, None) +2025-06-30 15:32:43,855 - parser - INFO - main - collect_statistics - 741 - Начинаем сбор статистики по элементам... +2025-06-30 15:32:43,859 - parser - INFO - main - collect_statistics - 761 - Обрабатываем документ: Квадрат +2025-06-30 15:32:44,266 - parser - ERROR - main - collect_statistics - 772 - [ERROR] Ошибка при обработке документа #1: (-2147352573, 'Член группы не найден.', None, None) +2025-06-30 15:35:28,469 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: open_kompas +2025-06-30 15:35:28,790 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: get_available_actions +2025-06-30 15:35:30,784 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: stats +2025-06-30 15:35:30,785 - parser - INFO - main - collect_statistics - 720 - Начинаем сбор статистики по элементам... +2025-06-30 15:35:30,815 - parser - INFO - main - collect_statistics - 740 - Обрабатываем документ: Квадрат +2025-06-30 15:37:01,297 - parser - INFO - main - collect_statistics - 725 - Начинаем сбор статистики по элементам... +2025-06-30 15:37:01,297 - parser - INFO - main - collect_statistics - 745 - Обрабатываем документ: Квадрат +2025-06-30 15:37:07,434 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: open_kompas +2025-06-30 15:37:07,787 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: get_available_actions +2025-06-30 15:37:10,175 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: stats +2025-06-30 15:37:10,175 - parser - INFO - main - collect_statistics - 725 - Начинаем сбор статистики по элементам... +2025-06-30 15:37:10,175 - parser - INFO - main - collect_statistics - 745 - Обрабатываем документ: Квадрат +2025-06-30 15:44:16,514 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: open_kompas +2025-06-30 15:44:16,839 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: get_available_actions +2025-06-30 15:44:19,053 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: stats +2025-06-30 15:44:19,053 - parser - INFO - main - collect_statistics - 725 - Начинаем сбор статистики по элементам... +2025-06-30 15:44:19,071 - parser - INFO - main - collect_statistics - 745 - Обрабатываем документ: Квадрат +2025-06-30 15:45:38,926 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: open_kompas +2025-06-30 15:45:39,265 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: get_available_actions +2025-06-30 15:45:41,003 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: stats +2025-06-30 15:45:41,004 - parser - INFO - main - collect_statistics - 725 - Начинаем сбор статистики по элементам... +2025-06-30 15:45:41,010 - parser - INFO - main - collect_statistics - 745 - Обрабатываем документ: Сборка изделий +2025-06-30 15:50:33,547 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: open_kompas +2025-06-30 15:50:33,987 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: get_available_actions +2025-06-30 15:50:35,719 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: stats +2025-06-30 15:50:35,719 - parser - INFO - main - collect_statistics - 729 - Начинаем сбор статистики по элементам... +2025-06-30 15:50:35,719 - parser - INFO - main - collect_statistics - 749 - Обрабатываем документ: Сборка изделий +2025-06-30 15:52:13,589 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: open_kompas +2025-06-30 15:52:13,964 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: get_available_actions +2025-06-30 15:52:15,742 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: stats +2025-06-30 15:52:15,742 - parser - INFO - main - collect_statistics - 724 - Начинаем сбор статистики по элементам... +2025-06-30 15:52:15,742 - parser - INFO - main - collect_statistics - 744 - Обрабатываем документ: Сборка изделий +2025-06-30 15:52:23,007 - parser - ERROR - main - collect_statistics - 755 - [ERROR] Ошибка при обработке документа #1: can only concatenate str (not "tuple") to str +2025-06-30 15:52:23,078 - parser - INFO - main - collect_statistics - 744 - Обрабатываем документ: Квадрат +2025-06-30 15:52:23,405 - parser - ERROR - main - collect_statistics - 755 - [ERROR] Ошибка при обработке документа #2: can only concatenate str (not "tuple") to str +2025-06-30 15:53:03,769 - parser - INFO - main - collect_statistics - 725 - Начинаем сбор статистики по элементам... +2025-06-30 15:53:04,142 - parser - INFO - main - collect_statistics - 745 - Обрабатываем документ: Сборка изделий +2025-06-30 15:53:10,156 - parser - ERROR - main - collect_statistics - 756 - [ERROR] Ошибка при обработке документа #1: can only concatenate str (not "tuple") to str +2025-06-30 15:53:10,268 - parser - INFO - main - collect_statistics - 745 - Обрабатываем документ: Квадрат +2025-06-30 15:53:10,742 - parser - ERROR - main - collect_statistics - 756 - [ERROR] Ошибка при обработке документа #2: can only concatenate str (not "tuple") to str +2025-06-30 15:53:22,175 - parser - INFO - main - collect_statistics - 725 - Начинаем сбор статистики по элементам... +2025-06-30 15:53:22,618 - parser - INFO - main - collect_statistics - 745 - Обрабатываем документ: Сборка изделий +2025-06-30 15:53:29,128 - parser - ERROR - main - collect_statistics - 756 - [ERROR] Ошибка при обработке документа #1: can only concatenate str (not "tuple") to str +2025-06-30 15:53:29,266 - parser - INFO - main - collect_statistics - 745 - Обрабатываем документ: Квадрат +2025-06-30 15:53:29,776 - parser - ERROR - main - collect_statistics - 756 - [ERROR] Ошибка при обработке документа #2: can only concatenate str (not "tuple") to str +2025-06-30 15:53:43,183 - parser - INFO - main - collect_statistics - 726 - Начинаем сбор статистики по элементам... +2025-06-30 15:53:43,892 - parser - INFO - main - collect_statistics - 746 - Обрабатываем документ: Сборка изделий +2025-06-30 15:53:49,640 - parser - ERROR - main - collect_statistics - 757 - [ERROR] Ошибка при обработке документа #1: can only concatenate str (not "tuple") to str +2025-06-30 15:53:49,737 - parser - INFO - main - collect_statistics - 746 - Обрабатываем документ: Квадрат +2025-06-30 15:53:50,167 - parser - ERROR - main - collect_statistics - 757 - [ERROR] Ошибка при обработке документа #2: can only concatenate str (not "tuple") to str +2025-06-30 15:54:04,173 - parser - INFO - main - collect_statistics - 726 - Начинаем сбор статистики по элементам... +2025-06-30 15:54:04,535 - parser - INFO - main - collect_statistics - 746 - Обрабатываем документ: Сборка изделий +2025-06-30 15:54:11,270 - parser - ERROR - main - collect_statistics - 757 - [ERROR] Ошибка при обработке документа #1: can only concatenate str (not "tuple") to str +2025-06-30 15:54:11,501 - parser - INFO - main - collect_statistics - 746 - Обрабатываем документ: Квадрат +2025-06-30 15:54:12,051 - parser - ERROR - main - collect_statistics - 757 - [ERROR] Ошибка при обработке документа #2: can only concatenate str (not "tuple") to str +2025-06-30 15:54:21,128 - parser - INFO - main - collect_statistics - 726 - Начинаем сбор статистики по элементам... +2025-06-30 15:54:21,875 - parser - INFO - main - collect_statistics - 746 - Обрабатываем документ: Сборка изделий +2025-06-30 15:54:27,238 - parser - ERROR - main - collect_statistics - 757 - [ERROR] Ошибка при обработке документа #1: can only concatenate str (not "tuple") to str +2025-06-30 15:54:27,408 - parser - INFO - main - collect_statistics - 746 - Обрабатываем документ: Квадрат +2025-06-30 15:54:27,956 - parser - ERROR - main - collect_statistics - 757 - [ERROR] Ошибка при обработке документа #2: can only concatenate str (not "tuple") to str +2025-06-30 15:55:03,068 - parser - INFO - main - collect_statistics - 722 - Начинаем сбор статистики по элементам... +2025-06-30 15:55:04,109 - parser - INFO - main - collect_statistics - 742 - Обрабатываем документ: Сборка изделий +2025-06-30 15:55:09,239 - parser - ERROR - main - collect_statistics - 753 - [ERROR] Ошибка при обработке документа #1: sequence item 1: expected str instance, tuple found +2025-06-30 15:55:09,349 - parser - INFO - main - collect_statistics - 742 - Обрабатываем документ: Квадрат +2025-06-30 15:55:09,708 - parser - ERROR - main - collect_statistics - 753 - [ERROR] Ошибка при обработке документа #2: sequence item 1: expected str instance, tuple found +2025-06-30 15:55:24,551 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: open_kompas +2025-06-30 15:55:24,882 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: get_available_actions +2025-06-30 15:55:26,657 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: stats +2025-06-30 15:55:26,658 - parser - INFO - main - collect_statistics - 722 - Начинаем сбор статистики по элементам... +2025-06-30 15:55:27,049 - parser - INFO - main - collect_statistics - 742 - Обрабатываем документ: Сборка изделий +2025-06-30 15:56:16,925 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: open_kompas +2025-06-30 15:56:17,259 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: get_available_actions +2025-06-30 15:56:18,910 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: stats +2025-06-30 15:56:18,910 - parser - INFO - main - collect_statistics - 722 - Начинаем сбор статистики по элементам... +2025-06-30 15:56:18,910 - parser - INFO - main - collect_statistics - 742 - Обрабатываем документ: Сборка изделий +2025-06-30 15:57:19,177 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: open_kompas +2025-06-30 15:57:19,506 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: get_available_actions +2025-06-30 15:57:21,744 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: stats +2025-06-30 15:57:21,744 - parser - INFO - main - collect_statistics - 723 - Начинаем сбор статистики по элементам... +2025-06-30 15:57:21,774 - parser - INFO - main - collect_statistics - 743 - Обрабатываем документ: Сборка изделий +2025-06-30 15:58:47,672 - parser - INFO - main - collect_statistics - 724 - Начинаем сбор статистики по элементам... +2025-06-30 15:58:47,672 - parser - INFO - main - collect_statistics - 744 - Обрабатываем документ: Сборка изделий +2025-06-30 15:59:33,247 - parser - INFO - main - collect_statistics - 725 - Начинаем сбор статистики по элементам... +2025-06-30 15:59:33,251 - parser - INFO - main - collect_statistics - 745 - Обрабатываем документ: Сборка изделий +2025-06-30 16:00:07,826 - parser - INFO - main - collect_statistics - 725 - Начинаем сбор статистики по элементам... +2025-06-30 16:00:07,840 - parser - INFO - main - collect_statistics - 745 - Обрабатываем документ: Сборка изделий +2025-06-30 16:00:14,516 - parser - ERROR - main - collect_statistics - 756 - [ERROR] Ошибка при обработке документа #1: '' object has no attribute 'Thickness' +2025-06-30 16:00:14,617 - parser - INFO - main - collect_statistics - 745 - Обрабатываем документ: Квадрат +2025-06-30 16:00:14,811 - parser - ERROR - main - collect_statistics - 756 - [ERROR] Ошибка при обработке документа #2: '' object has no attribute 'Thickness' +2025-06-30 16:00:31,169 - parser - INFO - main - collect_statistics - 725 - Начинаем сбор статистики по элементам... +2025-06-30 16:00:31,739 - parser - INFO - main - collect_statistics - 745 - Обрабатываем документ: Сборка изделий +2025-06-30 16:00:36,782 - parser - ERROR - main - collect_statistics - 756 - [ERROR] Ошибка при обработке документа #1: '' object has no attribute 'Thickness' +2025-06-30 16:00:37,065 - parser - INFO - main - collect_statistics - 745 - Обрабатываем документ: Квадрат +2025-06-30 16:00:37,866 - parser - ERROR - main - collect_statistics - 756 - [ERROR] Ошибка при обработке документа #2: '' object has no attribute 'Thickness' +2025-06-30 16:01:22,790 - parser - INFO - main - collect_statistics - 725 - Начинаем сбор статистики по элементам... +2025-06-30 16:01:23,190 - parser - INFO - main - collect_statistics - 745 - Обрабатываем документ: Сборка изделий +2025-06-30 16:01:44,217 - parser - INFO - main - collect_statistics - 726 - Начинаем сбор статистики по элементам... +2025-06-30 16:01:44,224 - parser - INFO - main - collect_statistics - 746 - Обрабатываем документ: Сборка изделий +2025-06-30 16:02:08,719 - parser - INFO - main - collect_statistics - 726 - Начинаем сбор статистики по элементам... +2025-06-30 16:02:08,719 - parser - INFO - main - collect_statistics - 746 - Обрабатываем документ: Сборка изделий +2025-06-30 16:02:14,761 - parser - ERROR - main - collect_statistics - 757 - [ERROR] Ошибка при обработке документа #1: '' object has no attribute 'Part' +2025-06-30 16:02:14,919 - parser - INFO - main - collect_statistics - 746 - Обрабатываем документ: Квадрат +2025-06-30 16:02:15,107 - parser - ERROR - main - collect_statistics - 757 - [ERROR] Ошибка при обработке документа #2: '' object has no attribute 'Part' +2025-06-30 16:02:36,210 - parser - INFO - main - collect_statistics - 721 - Начинаем сбор статистики по элементам... +2025-06-30 16:02:36,494 - parser - INFO - main - collect_statistics - 741 - Обрабатываем документ: Сборка изделий +2025-06-30 16:02:41,828 - parser - ERROR - main - collect_statistics - 752 - [ERROR] Ошибка при обработке документа #1: '' object has no attribute 'Part' +2025-06-30 16:02:41,958 - parser - INFO - main - collect_statistics - 741 - Обрабатываем документ: Квадрат +2025-06-30 16:02:42,162 - parser - ERROR - main - collect_statistics - 752 - [ERROR] Ошибка при обработке документа #2: '' object has no attribute 'Part' +2025-06-30 16:03:00,497 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: open_kompas +2025-06-30 16:03:00,839 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: get_available_actions +2025-06-30 16:03:02,959 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: stats +2025-06-30 16:03:02,959 - parser - INFO - main - collect_statistics - 721 - Начинаем сбор статистики по элементам... +2025-06-30 16:03:03,284 - parser - INFO - main - collect_statistics - 741 - Обрабатываем документ: Сборка изделий +2025-06-30 16:03:08,413 - parser - ERROR - main - collect_statistics - 752 - [ERROR] Ошибка при обработке документа #1: Unknown format code 'f' for object of type 'str' +2025-06-30 16:03:08,513 - parser - INFO - main - collect_statistics - 741 - Обрабатываем документ: Квадрат +2025-06-30 16:03:08,742 - parser - ERROR - main - collect_statistics - 752 - [ERROR] Ошибка при обработке документа #2: Unknown format code 'f' for object of type 'str' +2025-06-30 16:03:59,219 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: open_kompas +2025-06-30 16:03:59,560 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: get_available_actions +2025-06-30 16:04:01,734 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: stats +2025-06-30 16:04:01,734 - parser - INFO - main - collect_statistics - 721 - Начинаем сбор статистики по элементам... +2025-06-30 16:04:02,033 - parser - INFO - main - collect_statistics - 741 - Обрабатываем документ: Сборка изделий +2025-06-30 16:04:06,930 - parser - ERROR - main - collect_statistics - 752 - [ERROR] Ошибка при обработке документа #1: type NoneType doesn't define __round__ method +2025-06-30 16:04:07,046 - parser - INFO - main - collect_statistics - 741 - Обрабатываем документ: Квадрат +2025-06-30 16:04:07,363 - parser - ERROR - main - collect_statistics - 752 - [ERROR] Ошибка при обработке документа #2: type NoneType doesn't define __round__ method +2025-06-30 16:04:41,693 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: open_kompas +2025-06-30 16:04:42,021 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: get_available_actions +2025-06-30 16:04:43,859 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: stats +2025-06-30 16:04:43,859 - parser - INFO - main - collect_statistics - 721 - Начинаем сбор статистики по элементам... +2025-06-30 16:04:44,205 - parser - INFO - main - collect_statistics - 741 - Обрабатываем документ: Сборка изделий +2025-06-30 16:06:06,028 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: open_kompas +2025-06-30 16:06:06,355 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: get_available_actions +2025-06-30 16:06:08,116 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: stats +2025-06-30 16:06:08,116 - parser - INFO - main - collect_statistics - 723 - Начинаем сбор статистики по элементам... +2025-06-30 16:06:08,116 - parser - INFO - main - collect_statistics - 743 - Обрабатываем документ: Сборка изделий +2025-06-30 16:06:52,774 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: open_kompas +2025-06-30 16:06:53,103 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: get_available_actions +2025-06-30 16:06:54,943 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: stats +2025-06-30 16:06:54,943 - parser - INFO - main - collect_statistics - 723 - Начинаем сбор статистики по элементам... +2025-06-30 16:06:54,943 - parser - INFO - main - collect_statistics - 743 - Обрабатываем документ: Сборка изделий +2025-06-30 16:09:04,878 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: open_kompas +2025-06-30 16:09:05,270 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: get_available_actions +2025-06-30 16:09:07,331 - parser - INFO - bridge - callFromJS - 41 - [Python] Получена команда: stats +2025-06-30 16:09:07,331 - parser - INFO - main - collect_statistics - 723 - Начинаем сбор статистики по элементам... +2025-06-30 16:09:07,971 - parser - INFO - main - collect_statistics - 743 - Обрабатываем документ: Сборка изделий +2025-06-30 16:09:09,680 - parser - INFO - main - collect_statistics - 743 - Обрабатываем документ: Квадрат diff --git a/parser/main.py b/parser/main.py index 73c1bbf..4d296fb 100644 --- a/parser/main.py +++ b/parser/main.py @@ -547,7 +547,7 @@ class KompasDocumentParser: viewed.add(obj_id) if result is None: - result = {"Standard": {}, "Sheet": {}, "Pipe": {}, "Weld": {}} + result = {"Standard": {}, "Sheet": {}, "Pipe": {}, "Body": {}, "Weld": {}} property_manager = self.api7_module.IPropertyMng(self.application) @@ -572,11 +572,9 @@ class KompasDocumentParser: print(f"Обрабатываем: {type(f)} - {getattr(f, 'Name', 'Без имени')}") if getattr(f, "Standard", False): material = getattr(f, "Material", "Без материала") - key = ' / '.join([f.Name, material]) + key = " / ".join([f.Name, material]) - entry = { - "name": f.Name - } + entry = {"name": f.Name} result["Standard"].setdefault(key, []).append(entry) @@ -610,8 +608,8 @@ class KompasDocumentParser: success_length, value_length, _ = property_keeper.GetPropertyValue( prop_length, "", True, True ) - success_section, value_section, _ = property_keeper.GetPropertyValue( - prop_section, "", True, True + success_section, value_section, _ = ( + property_keeper.GetPropertyValue(prop_section, "", True, True) ) # Если оба свойства успешно извлечены — сохраняем в результат @@ -622,6 +620,17 @@ class KompasDocumentParser: "section": value_section, } result["Pipe"].setdefault(key_str, []).append(entry) + else: + name = getattr(f, "Name", "Без Имени") + material = getattr(f, "Material", "Неизвестный материал") + key_str = material + mass_inertia = self.api7_module.IMassInertiaParam7(f) + mass = mass_inertia.Mass * 0.001 + entry = { + "mass": round(mass, 6), + "name": name, + } + result["Body"].setdefault(key_str, []).append(entry) if isinstance(f, self.api7_module.IUserDesignationCompObj): weldes = self.api7_module.IFeature7(f).SubFeatures(1, True, True) @@ -645,38 +654,37 @@ class KompasDocumentParser: } result["Weld"].setdefault(key_str, []).append(entry) - - if isinstance(f, self.api7_module.ISheetMetalRuledShell) or isinstance( - f, self.api7_module.ISheetMetalBody + if isinstance( + f, + ( + self.api7_module.ISheetMetalBend, + self.api7_module.ISheetMetalRuledShell, + self.api7_module.ISheetMetalBody, + ), ): - f = self.api7_module.ISheetMetalBody(f) - - mass_inertia = self.api7_module.IMassInertiaParam7(f.Part) + body = self.api7_module.ISheetMetalBody(f) + mass_inertia = self.api7_module.IMassInertiaParam7(body.Part) area = mass_inertia.Area * 0.0001 # м² mass = mass_inertia.Mass * 0.001 # кг - radius = getattr(f, "Radius", None) - material = getattr(f.Part, "Material", "Неизвестный материал") - thickness = getattr(f, "Thickness", "Неизвестная толщина") + radius = getattr(f, "Radius", 0) + if not hasattr(f, 'Radius'): + radius = getattr(body, "Radius", 0) + material = getattr(body.Part, "Material", "Неизвестный материал") + thickness = getattr(body, "Thickness", 0) name = getattr(f, "Name", "Без имени") - key_str = ( - f"{material} / {thickness:.1f} / {radius:.1f}" - if radius - else f"{material} / {thickness:.1f} / без радиуса" - ) + key_str = f"{material} / {thickness:.1f}" + sheets = self.api7_module.IFeature7(f).SubFeatures(1, True, True) entry = { + "radius": round(radius, 6), "area": round(area, 6), "mass": round(mass, 6), "name": name, } - key = (material, thickness, radius) - - result["Sheet"].setdefault(key_str, []).append(entry) - - sheets = self.api7_module.IFeature7(f).SubFeatures(1, True, True) for s in sheets: - area = self.api7_module.IMassInertiaParam7(s.Part).Area * 0.001 + entry["name"] = (", ".join([s.Owner.Name, entry["name"]])) + result["Sheet"].setdefault(key_str, []).append(entry) if isinstance( f,