Skip to content

765_check_struct_work - #785

Open
LapshinAE0 wants to merge 12 commits into
devfrom
765_check_struct_work
Open

765_check_struct_work#785
LapshinAE0 wants to merge 12 commits into
devfrom
765_check_struct_work

Conversation

@LapshinAE0

Copy link
Copy Markdown
Collaborator

No description provided.

if not headers:
return answer(False, "Не найдено ни одного заголовка.")

flag_intro, struct_label = get_header_1_2_level(headers, [])

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Указанные в критерии наименования разделов не оформляются стилями заголовков, поэтому подобная логика никогда не сработает правильно - посмотрите шаблон вкр

@github-actions github-actions Bot added the has conflicts if new merge has conflicts label Mar 16, 2026
@github-actions github-actions Bot removed the has conflicts if new merge has conflicts label Jul 17, 2026

@HadronCollider HadronCollider left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. см. ниже
  2. добейтесь прохождения проверок от CI

Comment on lines +24 to +31
required_sections = [
"ЗАДАНИЕ",
"календарный план",
"РЕФЕРАТ",
"ABSTRACT",
"СОДЕРЖАНИЕ",
"ОПРЕДЕЛЕНИЯ, ОБОЗНАЧЕНИЯ И СОКРАЩЕНИЯ",
]

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. захардкоженный список внутри критерия создаст нам только проблемы
  2. у нас есть (не помню название - поищите) критерий по проверке обязательных заголовков, которые указаны в https://github.com/moevm/document_insight_system/blob/765_check_struct_work/app/main/checks/report_checks/style_check_settings.py#L120-L182 - стоит объединить его с упомянутым критерием (добавив флаг - отслеживать последовательность или нет) - так у нас не будет дублирования списков заголовков и захардкоженности (не считая конфигов)

( почему-то один из заголовков в нижнем регистре )

Comment on lines +43 to +69
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

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

не совсем понимаю логику разделения введения / определений (и в одном почему-то break. в другом continue внутри if/else) и в целом последовательности обработки

чтобы не было проблем с "не должен быть оформлен как заголовок" (хотя визуально это он и есть) - надо уточнить, что речь о стиле "Заголовок Х", и, возможно, какой-то отдельный стиль для них сделать в шаблоне?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

не совсем понимаю логику разделения введения / определений (и в одном почему-то break. в другом continue внутри if/else) и в целом последовательности обработки

Все разделы, которые мы ищем, должны находиться до ВВЕДЕНИЯ. Как только мы дошли до ВВЕДЕНИЯ - значит, все разделы до него уже пройдены и мы останавливемся. Если мы нашли другой раздел, то записываем его и идем дальше, пока не встретим ВВЕДЕНИЕ

" ".join(found_sections)
!= "ЗАДАНИЕ календарный план РЕФЕРАТ ABSTRACT СОДЕРЖАНИЕ ОПРЕДЕЛЕНИЯ, ОБОЗНАЧЕНИЯ И СОКРАЩЕНИЯ"
):
result_str = (

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

В фидбеке нужна инструкция / указание, что делать для исправления

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

2 participants