765_check_struct_work - #785
Conversation
| if not headers: | ||
| return answer(False, "Не найдено ни одного заголовка.") | ||
|
|
||
| flag_intro, struct_label = get_header_1_2_level(headers, []) |
There was a problem hiding this comment.
Указанные в критерии наименования разделов не оформляются стилями заголовков, поэтому подобная логика никогда не сработает правильно - посмотрите шаблон вкр
| required_sections = [ | ||
| "ЗАДАНИЕ", | ||
| "календарный план", | ||
| "РЕФЕРАТ", | ||
| "ABSTRACT", | ||
| "СОДЕРЖАНИЕ", | ||
| "ОПРЕДЕЛЕНИЯ, ОБОЗНАЧЕНИЯ И СОКРАЩЕНИЯ", | ||
| ] |
There was a problem hiding this comment.
- захардкоженный список внутри критерия создаст нам только проблемы
- у нас есть (не помню название - поищите) критерий по проверке обязательных заголовков, которые указаны в https://github.com/moevm/document_insight_system/blob/765_check_struct_work/app/main/checks/report_checks/style_check_settings.py#L120-L182 - стоит объединить его с упомянутым критерием (добавив флаг - отслеживать последовательность или нет) - так у нас не будет дублирования списков заголовков и захардкоженности (не считая конфигов)
( почему-то один из заголовков в нижнем регистре )
| if "ВВЕДЕНИЕ" in text: | ||
| if "heading 2" not in style: | ||
| return answer( | ||
| False, | ||
| "Раздел 'ВВЕДЕНИЕ' должен быть оформлен стилем 'Заголовок 2'", | ||
| ) | ||
| intro_found = True | ||
| break | ||
|
|
||
| if "ОПРЕДЕЛЕНИЯ, ОБОЗНАЧЕНИЯ И СОКРАЩЕНИЯ" in text: | ||
| if "heading 2" not in style: | ||
| return answer( | ||
| False, | ||
| "Раздел 'ОПРЕДЕЛЕНИЯ, ОБОЗНАЧЕНИЯ И СОКРАЩЕНИЯ' должен быть оформлен стилем 'Заголовок 2'", | ||
| ) | ||
| found_sections.append("ОПРЕДЕЛЕНИЯ, ОБОЗНАЧЕНИЯ И СОКРАЩЕНИЯ") | ||
| continue | ||
|
|
||
| for section in required_sections: | ||
| if section in text: | ||
| if "heading" in style: | ||
| return answer( | ||
| False, | ||
| f"Раздел '{section}' не должен быть оформлен как заголовок", | ||
| ) | ||
| found_sections.append(section) | ||
| break |
There was a problem hiding this comment.
не совсем понимаю логику разделения введения / определений (и в одном почему-то break. в другом continue внутри if/else) и в целом последовательности обработки
чтобы не было проблем с "не должен быть оформлен как заголовок" (хотя визуально это он и есть) - надо уточнить, что речь о стиле "Заголовок Х", и, возможно, какой-то отдельный стиль для них сделать в шаблоне?
There was a problem hiding this comment.
не совсем понимаю логику разделения введения / определений (и в одном почему-то break. в другом continue внутри if/else) и в целом последовательности обработки
Все разделы, которые мы ищем, должны находиться до ВВЕДЕНИЯ. Как только мы дошли до ВВЕДЕНИЯ - значит, все разделы до него уже пройдены и мы останавливемся. Если мы нашли другой раздел, то записываем его и идем дальше, пока не встретим ВВЕДЕНИЕ
| " ".join(found_sections) | ||
| != "ЗАДАНИЕ календарный план РЕФЕРАТ ABSTRACT СОДЕРЖАНИЕ ОПРЕДЕЛЕНИЯ, ОБОЗНАЧЕНИЯ И СОКРАЩЕНИЯ" | ||
| ): | ||
| result_str = ( |
There was a problem hiding this comment.
В фидбеке нужна инструкция / указание, что делать для исправления
No description provided.