Skip to content

Commit

Permalink
CRITERIA_INFO with label and description is ready to use
Browse files Browse the repository at this point in the history
  • Loading branch information
MarinaProsche committed Apr 2, 2024
1 parent 9c70306 commit fdc8aaa
Show file tree
Hide file tree
Showing 36 changed files with 122 additions and 81 deletions.
22 changes: 14 additions & 8 deletions app/main/checks/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,16 +13,22 @@
)

CLASSES_INFO = {
'pres': {cls.id: (cls, cls.description) for _, cls in classes_pres},
'report': {cls.id: (cls, cls.description) for _, cls in classes_report}
'pres': {cls.id: (cls, cls.label, cls.description) for _, cls in classes_pres},
'report': {cls.id: (cls, cls.label, cls.description) for _, cls in classes_report}
}

AVAILABLE_CHECKS = {
'pres': {cls_id: cls for cls_id, (cls, _) in CLASSES_INFO['pres'].items()},
'report': {cls_id: cls for cls_id, (cls, _) in CLASSES_INFO['report'].items()}
'pres': {cls_id: cls for cls_id, (cls, _, _) in CLASSES_INFO['pres'].items()},
'report': {cls_id: cls for cls_id, (cls, _, _) in CLASSES_INFO['report'].items()}
}

CRITERIA_LABELS = {
**{cls_id: cls_desc for cls_id, (_, cls_desc) in CLASSES_INFO['pres'].items()},
**{cls_id: cls_desc for cls_id, (_, cls_desc) in CLASSES_INFO['report'].items()}
}
CRITERIA_INFO = {
**{cls_id: {'label': cls_lbl, 'description': cls_desc} for cls_id, (_, cls_lbl, cls_desc) in CLASSES_INFO['pres'].items()},
**{cls_id: {'label': cls_lbl, 'description': cls_desc} for cls_id, (_, cls_lbl, cls_desc) in CLASSES_INFO['report'].items()}
}

print(CRITERIA_INFO)
# CRITERIA_LABELS = {
# **{cls_id: cls_desc for cls_id, (_, cls_desc) in CLASSES_INFO['pres'].items()},
# **{cls_id: cls_desc for cls_id, (_, cls_desc) in CLASSES_INFO['report'].items()}
# }
3 changes: 2 additions & 1 deletion app/main/checks/presentation_checks/banned_words.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@


class PresBannedWordsCheck(BasePresCriterion):
description = "Проверка наличия запретных слов в презентации"
description = ''
label = "Проверка наличия запретных слов в презентации"
id = 'pres_banned_words_check'

def __init__(self, file_info, words=[], min_count=3, max_count=6):
Expand Down
3 changes: 2 additions & 1 deletion app/main/checks/presentation_checks/empty_slide_check.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@


class PresEmptySlideCheck(BasePresCriterion):
description = "Проверка наличия пустых слайдов в презентации"
label = "Проверка наличия пустых слайдов в презентации"
description = ""
id = 'pres_empty_slide'

def __init__(self, file_info, status=False):
Expand Down
3 changes: 2 additions & 1 deletion app/main/checks/presentation_checks/find_def_sld.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@


class FindDefSld(BasePresCriterion):
description = "Поиск ключевого слова в заголовках"
label = "Поиск ключевого слова в заголовках"
description = 'Ключевые слова: "Апробация", "Цели и задачи", "Заключение"'
id = 'find_slides'

def __init__(self, file_info, key_slide):
Expand Down
3 changes: 2 additions & 1 deletion app/main/checks/presentation_checks/find_tasks.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@


class FindTasks(BasePresCriterion):
description = "Наличие слайдов, посвященных задачам"
label = "Наличие слайдов, посвященных задачам"
description = 'Проверка на наличие слайдов'
id = 'slide_every_task'

def __init__(self, file_info, min_percent=50, keyword='Цель и задачи'):
Expand Down
3 changes: 2 additions & 1 deletion app/main/checks/presentation_checks/further_dev.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@


class FurtherDev(BasePresCriterion):
description = "Наличие направлений дальнейшего развития"
label = "Наличие направлений дальнейшего развития"
description = 'Поиск направления развития в разделе "Заключение"'
id = 'future_dev'

def __init__(self, file_info, conclusion='Заключение'):
Expand Down
3 changes: 2 additions & 1 deletion app/main/checks/presentation_checks/image_share.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@


class PresImageShareCheck(BasePresCriterion):
description = "Проверка доли объема презентации, приходящейся на изображения"
label = "Проверка доли объема презентации, приходящейся на изображения"
description = 'Доля изображений не должна превышать 0,9'
id = 'pres_image_share'

def __init__(self, file_info, limit=0.9):
Expand Down
3 changes: 2 additions & 1 deletion app/main/checks/presentation_checks/pres_right_words.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@


class PresRightWordsCheck(BasePresCriterion):
description = "Проверка наличия определенных (правильных) слов в презентации"
label = "Проверка наличия определенных (правильных) слов в презентации"
description = ""
id = 'pres_right_words'

def __init__(self, file_info, patterns=[]):
Expand Down
3 changes: 2 additions & 1 deletion app/main/checks/presentation_checks/search_keyword.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@


class SearchKeyWord(BasePresCriterion):
description = "Поиск ключевого слова в тексте слайда"
label = "Поиск ключевого слова в тексте слайда"
description = 'Ключевое слово: "Актуальность"'
id = 'find_on_slide'

def __init__(self, file_info, key_slide):
Expand Down
3 changes: 2 additions & 1 deletion app/main/checks/presentation_checks/sld_enum.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@


class SldEnumCheck(BasePresCriterion):
description = "Нумерация слайдов"
label = "Нумерация слайдов"
description = 'Проверка наличия и корректности номеров слайдов'
id = 'slides_enum'

def __init__(self, file_info):
Expand Down
3 changes: 2 additions & 1 deletion app/main/checks/presentation_checks/sld_num.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@


class SldNumCheck(BasePresCriterion):
description = "Количество основных слайдов"
label = "Количество основных слайдов"
description = 'Подсчет основных и запасных слайдов'
id = 'slides_number'

def __init__(self, file_info, slides_number, detect_additional=True):
Expand Down
3 changes: 2 additions & 1 deletion app/main/checks/presentation_checks/sld_similarity.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@


class SldSimilarity(BasePresCriterion):
description = "Соответствие заключения задачам"
label = "Соответствие заключения задачам"
description = 'Проверка соответствия заключения поставленным задачам (в процентах)'
id = 'conclusion_actual'

def __init__(self, file_info, goals='Цель и задачи', conclusion='Заключение', min_percent=50):
Expand Down
3 changes: 2 additions & 1 deletion app/main/checks/presentation_checks/template_name.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@


class TemplateNameCheck(BasePresCriterion):
description = "Проверка соответствия названия файла шаблону"
label = "Проверка соответствия названия файла шаблону"
description = 'Шаблон названия: "Презентация_ВКР_Иванов", "ПРЕЗЕНТАЦИЯ_НИР_ИВАНОВ"'
id = 'template_name'

def __init__(self, file_info, regex="(Презентация|ПРЕЗЕНТАЦИЯ)_(ВКР|НИР)_(([А-ЯЁ][а-яё]+)|([А-ЯЁ]*))"):
Expand Down
3 changes: 2 additions & 1 deletion app/main/checks/presentation_checks/title_format.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@


class TitleFormatCheck(BasePresCriterion):
description = "Заголовки слайдов присутствуют и занимают не более двух строк"
label = "Заголовки слайдов присутствуют и занимают не более двух строк"
description = 'Проверка наличия и корректности заголовков'
id = 'slides_headers'

def __init__(self, file_info):
Expand Down
3 changes: 2 additions & 1 deletion app/main/checks/presentation_checks/verify_git_link.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@


class PresVerifyGitLinkCheck(BasePresCriterion):
description = "Проверка действительности ссылки на github"
label = "Проверка действительности ссылки на github"
description = ''
id = 'verify_git_link'

def __init__(self, file_info, deep_check=True):
Expand Down
3 changes: 2 additions & 1 deletion app/main/checks/report_checks/banned_words_check.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@


class ReportBannedWordsCheck(BaseReportCriterion):
description = "Проверка наличия запретных слов в тексте отчёта"
label = "Проверка наличия запретных слов в тексте отчёта"
description = 'Запрещено упоминание слова "мы"'
id = 'banned_words_check'

def __init__(self, file_info, words=["мы"], min_count=3, max_count=6):
Expand Down
3 changes: 2 additions & 1 deletion app/main/checks/report_checks/banned_words_in_literature.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@


class BannedWordsInLiteratureCheck(BaseReportCriterion):
description = "Проверка наличия запрещенных слов в списке литературы"
label = "Проверка наличия запрещенных слов в списке литературы"
description = 'Запрещено упоминание слова "wikipedia"'
id = 'banned_words_in_literature'

def __init__(self, file_info, banned_words=["wikipedia"]):
Expand Down
3 changes: 2 additions & 1 deletion app/main/checks/report_checks/chapters.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@


class ReportChapters(BaseReportCriterion):
description = "Проверка оформления заголовков отчета"
label = "Проверка оформления заголовков отчета"
description = '(Шрифты, отступы и т.д.)'
id = 'header_check'

def __init__(self, file_info):
Expand Down
3 changes: 2 additions & 1 deletion app/main/checks/report_checks/first_pages_check.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@


class ReportFirstPagesCheck(BaseReportCriterion):
description = "Проверка наличия обязательных страниц в отчете"
label = "Проверка наличия обязательных страниц в отчете"
description = 'Обязательные страницы: Титульный лист, Задание на выпускную квалификационную работу, Календарный план, Реферат, Abstract, Cодержание'
id = 'first_pages_check'
priority = True

Expand Down
3 changes: 2 additions & 1 deletion app/main/checks/report_checks/headers_at_page_top_check.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@


class ReportHeadersAtPageTopCheck(BaseReportCriterion):
description = "Проверка расположения разделов первого уровня с новой страницы"
label = "Проверка расположения разделов первого уровня с новой страницы"
description = ''
id = "headers_at_page_top_check"

def __init__(self, file_info, headers=[]):
Expand Down
3 changes: 2 additions & 1 deletion app/main/checks/report_checks/image_references.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@


class ImageReferences(BaseReportCriterion):
description = "Проверка наличия ссылок на все рисунки"
label = "Проверка наличия ссылок на все рисунки"
description = ''
id = 'image_references'

def __init__(self, file_info, image_style="ВКР_Подпись для рисунков"):
Expand Down
3 changes: 2 additions & 1 deletion app/main/checks/report_checks/image_share_check.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@


class ReportImageShareCheck(BaseReportCriterion):
description = "Проверка доли объема отчёта, приходящейся на изображения"
label = "Проверка доли объема отчёта, приходящейся на изображения"
description = 'Доля изображений (не включая "Приложение") не должна превышать 0,9'
id = 'image_share_check'

def __init__(self, file_info, limit=0.3):
Expand Down
3 changes: 2 additions & 1 deletion app/main/checks/report_checks/literature_references.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@


class ReferencesToLiteratureCheck(BaseReportCriterion):
description = "Проверка наличия ссылок на все источники"
label = "Проверка наличия ссылок на все источники"
description = ''
id = 'literature_references'

def __init__(self, file_info, min_ref=1, max_ref=1000):
Expand Down
3 changes: 2 additions & 1 deletion app/main/checks/report_checks/main_character_check.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@


class ReportMainCharacterCheck(BaseReportCriterion):
description = "Проверка фамилии и должности заведующего кафедрой"
label = "Проверка фамилии и должности заведующего кафедрой"
description = 'И.о. зав. кафедрой: А.А. Лисс'
id = 'main_character_check'
priority = True

Expand Down
3 changes: 2 additions & 1 deletion app/main/checks/report_checks/main_text_check.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@


class ReportMainTextCheck(BaseReportCriterion):
description = "Проверка оформления основного текста отчета"
label = "Проверка оформления основного текста отчета"
description = 'Перечень доспустимых стилей: "Основной текст; ВКР_Основной текст", "ВКР_Подпись таблицы", "ВКР_Подпись для рисунков, схем", "ВКР_Содержимое таблицы"'
id = 'main_text_check'

def __init__(self, file_info,
Expand Down
3 changes: 2 additions & 1 deletion app/main/checks/report_checks/needed_headers_check.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@


class ReportNeededHeadersCheck(BaseReportCriterion):
description = "Проверка наличия обязательных заголовков в отчете"
label = "Проверка наличия обязательных заголовков в отчете"
description = ''
id = 'needed_headers_check'
priority = True

Expand Down
3 changes: 2 additions & 1 deletion app/main/checks/report_checks/page_counter.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@


class ReportPageCounter(BaseReportCriterion):
description = "Проверка количества страниц в файле"
label = "Проверка количества страниц в файле"
description = 'Количество страниц должно быть больше 50ти, не считая "Приложения"'
id = 'page_counter'
priority = True

Expand Down
3 changes: 2 additions & 1 deletion app/main/checks/report_checks/right_words_check.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@


class ReportRightWordsCheck(BaseReportCriterion):
description = "Проверка наличия определенных (правильных) слов в тексте отчёта"
label = "Проверка наличия определенных (правильных) слов в тексте отчёта"
description = 'Определенное слово: "цель"'
id = 'right_words_check'

def __init__(self, file_info, patterns=["цел[ьией]"]):
Expand Down
3 changes: 2 additions & 1 deletion app/main/checks/report_checks/section_component.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@


class ReportSectionComponent(BaseReportCriterion):
description = "Проверка наличия необходимых компонентов указанного раздела"
label = "Проверка наличия необходимых компонентов указанного раздела"
description = 'Раздел "Введение", компоненты: "цель", "задачи", "объект", "предмет"'
id = 'report_section_component'

def __init__(self, file_info, chapter='Введение', patterns=('цель', 'задач', 'объект', 'предмет'), headers_map = None):
Expand Down
3 changes: 2 additions & 1 deletion app/main/checks/report_checks/sections_check.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@

class LRReportSectionCheck(BaseReportCriterion):
# TODO: DEPRECATED
description = "Проверка соответствия заголовков разделов требуемым стилям"
label = "Проверка соответствия заголовков разделов требуемым стилям"
description = ''
id = "lr_sections_check"

def __init__(self, file_info, presets: str = 'LR_HEADERS',
Expand Down
3 changes: 2 additions & 1 deletion app/main/checks/report_checks/short_sections_check.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@


class ReportShortSectionsCheck(BaseReportCriterion):
description = "Поиск коротких разделов в отчёте"
label = "Поиск коротких разделов в отчёте"
description = "Минимальное количество абзацев в разделе: 5, минимальное количество слов в абзаце: 20"
id = "short_sections_check"

def __init__(self, file_info, min_section_count=5, min_section_len=20, main_heading_style="heading 2",
Expand Down
3 changes: 2 additions & 1 deletion app/main/checks/report_checks/simple_check.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@


class ReportSimpleCheck(BaseReportCriterion):
description = "Простая проверка на пустоту файла"
label = "Простая проверка на пустоту файла"
description = 'Проверка отчёта на пустоту страниц'
id = 'simple_check'

def __init__(self, file_info):
Expand Down
3 changes: 2 additions & 1 deletion app/main/checks/report_checks/spelling_check.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@


class SpellingCheck(BaseReportCriterion):
description = "Проверка наличия орфографических ошибок в тексте."
label = "Проверка наличия орфографических ошибок в тексте."
description = ''
id = 'spelling_check'

def __init__(self, file_info, min_errors_count=200, max_errors_count=400):
Expand Down
3 changes: 2 additions & 1 deletion app/main/checks/report_checks/style_check.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@

class ReportStyleCheck(BaseReportCriterion):
# TODO: DEPRECATED
description = "Проверка корректности форматирования текста"
label = "Проверка корректности форматирования текста"
description = 'Соответствие допустимым стилям'
id = "style_check"

default_key_properties = ("font_name", "alignment")
Expand Down
3 changes: 2 additions & 1 deletion app/main/checks/report_checks/table_references.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@


class TableReferences(BaseReportCriterion):
description = "Проверка наличия ссылок на все таблицы"
label = "Проверка наличия ссылок на все таблицы"
description = ""
id = 'table_references'

def __init__(self, file_info, table_style="ВКР_Подпись таблицы"):
Expand Down
Loading

0 comments on commit fdc8aaa

Please sign in to comment.