Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

373 page with criteria #460

Merged
merged 8 commits into from
Feb 19, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion app/main/check_packs/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from .base_criterion_pack import BaseCriterionPack
from .pack_config import BASE_PACKS, DEFAULT_TYPE, DEFAULT_TYPE_INFO, DEFAULT_PRES_TYPE_INFO, DEFAULT_REPORT_TYPE_INFO, \
REPORT_TYPES
REPORT_TYPES, BASE_PRES_CRITERION, BASE_REPORT_CRITERION
from .utils import init_criterions
54 changes: 51 additions & 3 deletions app/server.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
from lti_session_passback.lti import utils
from lti_session_passback.lti.check_request import check_request
from main.check_packs import BASE_PACKS, BaseCriterionPack, DEFAULT_REPORT_TYPE_INFO, DEFAULT_TYPE, REPORT_TYPES, \
init_criterions
init_criterions, BASE_PRES_CRITERION, BASE_REPORT_CRITERION
from root_logger import get_logging_stdout_handler, get_root_logger
from servants import pre_luncher
from tasks import create_task
Expand Down Expand Up @@ -157,10 +157,13 @@ def upload():
else:
abort(401)
elif request.method == "GET":
pack = db_methods.get_criteria_pack(current_user.criteria)
list_of_check = pack['raw_criterions']
check_labels_and_discrpt = {CRITERIA_LABELS[check[0]]: CRITERIA_DESCRIPTION[check[0]] for check in list_of_check}
Copy link
Contributor

Choose a reason for hiding this comment

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

На этой строчке при запуске с базовыми критериями презентаций падает по KeyError.
Есть подозрения, что там ниже описаны не все критерии

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

6724db1

Исправила.

formats = set(current_user.formats)
file_type = current_user.file_type['type']
formats = formats & ALLOWED_EXTENSIONS[file_type] if formats else ALLOWED_EXTENSIONS[file_type]
return render_template("./upload.html", navi_upload=False, formats=sorted(formats))
return render_template("./upload.html", navi_upload=False, formats=sorted(formats), list_of_check=check_labels_and_discrpt)


@app.route("/tasks", methods=["POST"])
Expand Down Expand Up @@ -270,7 +273,9 @@ def get_status(task_id):
'slides_headers': 'Заголовки слайдов присутствуют и занимают не более двух строк',
'goals_slide': 'Слайд "Цель и задачи"', 'probe_slide': 'Слайд "Апробация работы"',
'actual_slide': 'Слайд с описанием актуальности работы', 'conclusion_slide': 'Слайд с заключением',
'find_slides': 'Поиск ключевого слова в заголовках',
'slide_every_task': 'Наличие слайдов, посвященных задачам',
'find_on_slide': 'Поиск ключевого слова в тексте слайда',
'pres_right_words': 'Проверка наличия определенных (правильных) слов в презентации',
'pres_image_share': 'Проверка доли объема презентации, приходящейся на изображения',
'pres_banned_words_check': 'Проверка наличия запретных слов в презентации',
Expand All @@ -290,9 +295,52 @@ def get_status(task_id):
'image_references': 'Проверка наличия ссылок на все рисунки',
'table_references': 'Проверка наличия ссылок на все таблицы',
'report_section_component': 'Проверка наличия необходимых компонент указанного раздела',
'main_text_check': 'Проверка оформления основного текста отчета'
'main_text_check': 'Проверка оформления основного текста отчета',
'headers_at_page_top_check': 'Проверка расположения разделов первого уровня с новой страницы',
'lr_sections_check': 'Проверка соответствия заголовков разделов требуемым стилям',
'style_check': 'Проверка корректности форматирования текста',
'short_sections_check': "Поиск коротких разделов в отчёте",
'spelling_check': "Проверка наличия орфографических ошибок в тексте",
'future_dev': 'Наличие направлений дальнейшего развития',
}

CRITERIA_DESCRIPTION = {'template_name': 'Шаблон названия: "Презентация_ВКР_Иванов", "ПРЕЗЕНТАЦИЯ_НИР_ИВАНОВ"',
'slides_number': 'Подсчет основных и запасных слайдов',
'slides_enum': 'Проверка наличия и корректности номеров слайдов',
'slides_headers': 'Проверка наличия и корректности заголовков',
'goals_slide': 'Проверка наличия слайда',
'probe_slide': 'Проверка наличия слайда',
'conclusion_slide': 'Проверка наличия слайда',
'find_slides': 'Ключевые слова: "Апробация", "Цели и задачи", "Заключение"',
'find_on_slide': 'Ключевое слово: "Актуальность"',
'slide_every_task': 'Проверка на наличие слайдов',
'pres_right_words': '',
'pres_image_share': 'Доля изображений не должна превышать 0,9',
'pres_banned_words_check': '',
'conclusion_actual': 'Проверка соответствия заключения поставленным задачам (в процентах)',
'conclusion_along': 'Проверка слайда "Заключение"',
'simple_check': 'Проверка отчёта на пустоту страниц',
'banned_words_in_literature': 'Запрещено упоминание слова "wikipedia"',
'banned_words_check': 'Запрещено упоминание слова "мы"',
'page_counter': 'Количество страниц должно быть больше 50ти, не считая "Приложения"',
'image_share_check': 'Доля изображений (не включая "Приложение") не должна превышать 0,9',
'right_words_check': 'Определенное слово: "цель"',
'first_pages_check': 'Обязательные страницы: Титульный лист, Задание на выпускную квалификационную работу, Календарный план, Реферат, Abstract, Cодержание',
'main_character_check': 'И.о. зав. кафедрой: А.А. Лисс',
'needed_headers_check': '',
'header_check': '(Шрифты, отступы и т.д.)',
'literature_references': '',
'image_references': '',
'table_references': '',
'report_section_component': 'Раздел "Введение", компоненты: "цель", "задачи", "объект", "предмет"',
'main_text_check': 'Перечень доспустимых стилей: "Основной текст; ВКР_Основной текст", "ВКР_Подпись таблицы", "ВКР_Подпись для рисунков, схем", "ВКР_Содержимое таблицы"',
'headers_at_page_top_check': '',
'lr_sections_check': '',
'style_check': 'Соответствие допустимым стилям',
'short_sections_check': "Минимальное количество абзацев в разделе: 5, минимальное количество слов в абзаце: 20",
'spelling_check': "",
'future_dev': 'Поиск направления развития в разделе "Заключение"',
}

@app.route("/results/<string:_id>", methods=["GET"])
def results(_id):
Expand Down
29 changes: 29 additions & 0 deletions app/templates/upload.html
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@

{% extends "root.html" %}

{% set title = {'report': "Загрузка отчётов", 'pres': "Загрузка презентаций"}[current_user.file_type['type']] %}
Expand Down Expand Up @@ -58,6 +59,34 @@ <h5 class="texteous ins" id="uploading_label">{{ uploading_label }}</h5>
<div class="text-center">
<button type="button" class="btn btn-block btn-secondary" id="upload_upload_button">Загрузить</button>
</div>
<div>
<br>
<div class="text-center">
<button id="btn_table_info" class="btn btn-text" style="font-size:20px">Подробнее о наборе критериев</button>
</div>
<div class="table_info col-12 col-sm-4 col-md-7 col-lg-8">
<table id="table_info" class="hidden-table">
<tr>
<td class="text-left" style="color:grey;font-size:15px;"><i>Максимальный балл для каждого критерия: <b>1</b>
<br>Итоговый балл считается как сумма полученных баллов / общее количество баллов.</i>
<p>
</td>
</tr>
<tr>
<th scope="col">Критерии:</th>
</tr>
{% for criterion_name, criterion_descrpt in list_of_check.items() %}
<tr data-toggle="collapse" data-target="#verd{{ loop.index }}" class="accordion-toggle">
<td scope="row" class="ins"> <b> <li> {{ criterion_name }} </b>
<p> {% if criterion_descrpt %}
{{ criterion_descrpt }}
{% endif %}
</td>
{% endfor %}
</tr>
</table>
</div>
</div>
</div>
</div>
</div>
Expand Down
1 change: 1 addition & 0 deletions assets/scripts/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -51,3 +51,4 @@ export function collect_values_if_possible(...ids) {
return result;
}
}

15 changes: 14 additions & 1 deletion assets/scripts/upload.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,10 @@ file_formats = file_formats[file_formats.length - 1];
file_formats = file_formats.replaceAll(" ", "");
file_formats = file_formats.split(",");

$("#btn_table_info").click(function(){
toggleTable('table_info');
});

const showSizeExceedMessage = () => {
alert(
"Объем загружаемых вами файлов превышает максимально разрешенный объем " + (file_upload_limit / 1024 / 1024) + " МБ." +
Expand Down Expand Up @@ -189,4 +193,13 @@ upload_button.click(async () => {
upload_button.prop("disabled", true);
await upload();
}
});
});

function toggleTable(tableId) {
var table = document.getElementById(tableId);
if (table.classList.contains("hidden-table")) {
table.classList.remove("hidden-table");
} else {
table.classList.add("hidden-table");
}
}
16 changes: 16 additions & 0 deletions assets/styles/upload.css
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,19 @@ h5 {
#upload_title {
margin-bottom: 1rem !important;
}

.hidden-table {
display: none;
}

#table_info {
width: 300%;
}

.btn-text {
background: none;
border: none;
padding: 0;
font: inherit;
color: blue;
}
Loading