769: check intervals paragraphs - #793
Conversation
640ed39 to
efb337d
Compare
| (paragraph.paragraph_space_after is not None and paragraph.paragraph_space_after != 0) | ||
| or (paragraph.paragraph_space_before is not None and paragraph.paragraph_space_before != 0) | ||
| or (paragraph.paragraph_line_spacing is not None and paragraph.paragraph_line_spacing != 1.5) |
There was a problem hiding this comment.
магические числа из воздуха нам не подойдут
| return answer( | ||
| False, | ||
| f"Абзацы в работе имеют нерекомендованные интервалы: {details}", | ||
| ) |
There was a problem hiding this comment.
- Введите числовую оценку и пороги (в аргументы/параметры критерия) - условно, меньше A нарушений - ок, [A,B] снижаем балл пропорционально, больше В - зануляем
- Уточните
- что значит "нерекомендованные" (и какие рекомендованные)
- как исправить
| _description = "Межстрочный интервал должен быть равен 1.5, а интервал до и после абзаца сответсвенно равен 0pt" | ||
| id = "report_intervals_paragraphs_check" | ||
|
|
||
| def __init__(self, file_info, max_line_spacing=1.5, max_space=12, max_indent=1.5): |
There was a problem hiding this comment.
Вынесите дефолтные значения в https://github.com/moevm/document_insight_system/blob/769_check_intervals_paragraphs/app/main/checks/report_checks/style_check_settings.py - они не так часто меняются, а в качестве аргумента введите словарь (значения из которого заменят дефолтные)
| problematic_paragraphs = [] | ||
|
|
||
| for i, paragraph in enumerate(self.file.paragraphs): | ||
| if not paragraph.paragraph_text or "heading" in paragraph.paragraph_style_name: |
There was a problem hiding this comment.
возможно, для разных стилей текста (не только основного) могут пригодиться проверки на отступы - вынесите в новое ишью
|
|
||
| class ReportIntervalsParagraphsCheck(BaseReportCriterion): | ||
| label = "Проверка значений интервалов между абзацами" | ||
| _description = "Межстрочный интервал должен быть равен 1.5, а интервал до и после абзаца сответсвенно равен 0pt" |
There was a problem hiding this comment.
Если вы контролируете значения в аргументах конструктора - захардкоженные значения не подойдут (т.к. они в любой момент могут не совпасть в реальными в проверке)
No description provided.