-
Notifications
You must be signed in to change notification settings - Fork 16
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
Наработки для маркированной трассы со штрафными кругами #421
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
В целом все супер! Проверил на разных базах, в целом все адекватно работает. Базы во вложении, вроде ничего конфиденциального в них нет.
Пара замечаний: настройки нужно починить, проверить, почему при переоткрытии базы многих снимает, остальное мелочи.
2023_11_17_marked_route_new.zip
+ '\n' | ||
+ translate('Print number of penalty laps instead of splits') | ||
+ '\n' | ||
+ translate('when competitor reads out his card') |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Лучше использовать f строки вместо оператора +
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Также, кмк
+ translate('when competitor reads out his card') | |
+ translate('when a competitor reads out his card') |
sportorg/libs/template/template.py
Outdated
@@ -31,6 +31,19 @@ def date(value, fmt=None): | |||
return dateutil.parser.parse(value).strftime(fmt) | |||
|
|||
|
|||
def plural(value, fmt=None): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
это что-то зависимая от языка. Я бы исключал такие функции в главном коде, в самих шаблонах еще можно
|
||
@staticmethod | ||
def detach_penalty_laps2(splits, lap_station): | ||
"""Walkaround: извлекает отметки на штрафной станции. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Надо удалить коммент. Или написать на английском
В общем, стоит удалить ru комменты из кода и функции сделать тож независимыми от языка или сделать в названии соответствующую пометку: например plural_ru |
Co-authored-by: Aleksandr Karpov <[email protected]>
commit 06102cc Author: Sergei Kobelev <[email protected]> Date: Thu Dec 28 16:28:21 2023 +0500 Ignore punches before start (for people who like to test start gates and my favorite triathlon organizers, who deliver activated SIACs through start/controls/finish) (sportorg#425) commit 8d8435a Author: Sergei Kobelev <[email protected]> Date: Wed Dec 20 13:10:15 2023 +0500 feat: recovery features (sportorg#423) commit 698011f Author: Aleksandr Karpov <[email protected]> Date: Wed Dec 20 14:16:09 2023 +0700 fix: shorter tab titles in the settings window (sportorg#424) commit 4ab5f11 Author: Aleksandr Karpov <[email protected]> Date: Wed Dec 20 14:04:43 2023 +0700 feat: new features for a marked track with penalty loops (sportorg#421) Co-authored-by: Aleksandr Karpov <[email protected]>
feat: new features for a marked track with penalty loops (sportorg#421) Co-authored-by: Aleksandr Karpov <[email protected]> Squashed commit of the following: commit 06102cc Author: Sergei Kobelev <[email protected]> Date: Thu Dec 28 16:28:21 2023 +0500 Ignore punches before start (for people who like to test start gates and my favorite triathlon organizers, who deliver activated SIACs through start/controls/finish) (sportorg#425) commit 8d8435a Author: Sergei Kobelev <[email protected]> Date: Wed Dec 20 13:10:15 2023 +0500 feat: recovery features (sportorg#423) commit 698011f Author: Aleksandr Karpov <[email protected]> Date: Wed Dec 20 14:16:09 2023 +0700 fix: shorter tab titles in the settings window (sportorg#424) commit 4ab5f11 Author: Aleksandr Karpov <[email protected]> Date: Wed Dec 20 14:04:43 2023 +0700 feat: new features for a marked track with penalty loops (sportorg#421) Co-authored-by: Aleksandr Karpov <[email protected]> fix: remove unused changes
feat: new features for a marked track with penalty loops (sportorg#421) Co-authored-by: Aleksandr Karpov <[email protected]> Squashed commit of the following: commit 06102cc Author: Sergei Kobelev <[email protected]> Date: Thu Dec 28 16:28:21 2023 +0500 Ignore punches before start (for people who like to test start gates and my favorite triathlon organizers, who deliver activated SIACs through start/controls/finish) (sportorg#425) commit 8d8435a Author: Sergei Kobelev <[email protected]> Date: Wed Dec 20 13:10:15 2023 +0500 feat: recovery features (sportorg#423) commit 698011f Author: Aleksandr Karpov <[email protected]> Date: Wed Dec 20 14:16:09 2023 +0700 fix: shorter tab titles in the settings window (sportorg#424) commit 4ab5f11 Author: Aleksandr Karpov <[email protected]> Date: Wed Dec 20 14:04:43 2023 +0700 feat: new features for a marked track with penalty loops (sportorg#421) Co-authored-by: Aleksandr Karpov <[email protected]> fix: remove unused changes
commit 06102cc Author: Sergei Kobelev <[email protected]> Date: Thu Dec 28 16:28:21 2023 +0500 Ignore punches before start (for people who like to test start gates and my favorite triathlon organizers, who deliver activated SIACs through start/controls/finish) (sportorg#425) commit 8d8435a Author: Sergei Kobelev <[email protected]> Date: Wed Dec 20 13:10:15 2023 +0500 feat: recovery features (sportorg#423) commit 698011f Author: Aleksandr Karpov <[email protected]> Date: Wed Dec 20 14:16:09 2023 +0700 fix: shorter tab titles in the settings window (sportorg#424) commit 4ab5f11 Author: Aleksandr Karpov <[email protected]> Date: Wed Dec 20 14:04:43 2023 +0700 feat: new features for a marked track with penalty loops (sportorg#421) Co-authored-by: Aleksandr Karpov <[email protected]>
Мои наработки для маркировки со штрафными кругами (на пункте оценки печатается штраф, спортсмен проезжает требуемое количество штрафных кругов, отмечаясь на станции, может быть дисквалифицирован если проехал меньше, чем надо). Работу над проверкой маркировки параллельно вёл @sergeikobelev и его изменения попали в master. Соответственно, часть моих изменений перестали быть актуальными.
Настройки хронометража
->Штраф
. Переключение настроек в активное / не активное состояние в зависимости от выбранных настроекНастройки хронометража
->Штраф
. Добавлены всплывающие подсказки (ToolTip) к некоторым настройкамResultStatus.MISS_PENALTY_LAP
(пп4.6.12.7 # не прошел назначенное число штрафных кругов)check_penalty_laps()
— проверка количества штрафных кругов. Сравнивает штраф на маркировке и количество отметок в штрафной станцииdetach_penalty_laps()
,detach_penalty_laps2()
— разделение сплита на два массива: отметки на дистанции и отметки на станции на штрафном кругеchecking()
->calculate_penalty()
->checking()
} в нескольких местах: после первой проверки в сплит участника записываются отметки правильно / неправильно, по которым начисляется штраф; во второй проверке проверяется количество пройденных штрафных круговwin32print
2_marked_route_penalty_A5.html
— шаблон для печати штрафа на пункте оценки (номер / штраф) для термоленты 80мм3_marked_route_penalty_80mm.html
— шаблон для печати штрафа на пункте оценки (номер / штраф) на бумаге A5 (лазерный принтер)1_split_printout.html
добавлена печать штрафного времени и штрафных кругов.test_penalty_checking.py
— тесты для начисления штрафаpenalty_calculation()
иpenalty_calculation_free_order()
) не менял.Тестами охвачена проверка штрафа на дистанции. Постарался рассмотреть как можно больше разных случаев. Сомнительные (с моей точки зрения) моменты выделил в test_non_obvious_behavior(). До тестов на проверку количества штрафных кругов не добрался. Для удобства отладки, к тестам добавил информационные сообщения на случай провала: вывод сплитов и курсов, сколько штрафа ожидается и сколько начислено.
Изменения Сергея Кобелева
Разработка велась в ветке
work
, параллельно с другими изменениями. Изменения влиты вmaster
13 июля. Пробую перечислить отдельные коммиты.Modification of courses for marked route (Russian event type with deсision points)
7 марта
Добавлено диалоговое окно Подготовка к старту -> Изменение дистанций для маркировки — для создания курсов маркировки:
31
->31(31,131)
Check penalty legs visiting
7 марта, branch marked_route_lap_control
Добавлена функция
marked_route_check_penalty_laps()
. Считает количество отметок на станции на штрафном круге и сравнивает с начисленным штрафом. Отсутствует проверка, чтобы штрафные круги обязательно были в конце дистанции.По всей видимости, предполагается, что за лишние отметки штраф начисляться не будет.
Смущает часть:
if mr_if_counting_lap: count_laps = -1
. Возможно, частный случай, когда отметка на штрафном круге совмещена с последним КП. Я обычно прошу, чтобы станцию отметки ставили в дальней части штрафного круга, тогда -1 не нужен.Спортсмен снимается со статусом
ResultStatus.MISSING_PUNCH
(как и при обычной неправильной отметки на заданке) и с комментариемп.п.4.6.12.7
(не прошел назначенное число штрафных кругов).Marked route reports
10 марта, branch marked_route_reports
Добавлены шаблоны:
1_маркировка_с_изображением.html
и1_сплиты_маркировка_только_штраф.html
— сплиты для маркировки2_маркировка_WO.html
и2_маркировка_номер_и_штраф.html
— распечатки для пункта оценки: номер участника и штраф.9_официальный_протокол_штраф_круги_word.docx
и9_официальный_протокол_штраф_минуты_word.docx
— шаблоны результатов для WordCheck result before penalty calculation. Prevent negative penalty (23:59:00 for -1)
23 марта, branch penalty_bug
Проверка штрафа перенесена после проверки правильности прохождения. Штраф не может быть отрицательным.
Disqualify people at file open / event change
23 марта, branch marked_route_dsq_on_file_open
Проверка штрафа и снятие спортсменов за не прохождение штрафных кругов происходит при старте спорторга.
Penalty calculation optimization on file open / import / event change
23 марта, branch penalty_calculation_optimization
Отменён предыдущий коммит, проверка штрафа происходит в другом месте.
New mode for time penalty - add penalty for extra controls
29 марта, branch penalty_for_extra_cp
!!! ветка не влита в
master
!!!Добавлен режим начисления штрафа за лишние КП. Не знаю, как работает, не разбирался.
Изменено диалоговое окно
Настройки хронометража
->Расчёт штрафа из сплитов
. При разных комбинациях настроек другие настройки пропадают. С первого взгляда выглядит неудобно. Логичнее, чтобы оставались видны, но деактивировались, в своей версии сделал таким способом.Version 1.6 release. Sum places - was inaccurate copy-pasted from sum scores. Word templates - new ranking places, macro for ranking replaced with direct realisation (Jinja2 works quite instable).
24 мая, branch penalty_laps_printout
Исправлена неточность при печати штрафа в распечатке через
win32print
.penalty_laps_printout and some templates
24 мая
Не содержится изменений, связанных с маркировкой.
Печать штрафа и штрафных кругов в сплитах через win32print. Ветка интегрирована в master.
Эти ветки влиты в master, можно удалять:
marked_route_dsq_on_file_open
,penalty_calculation_optimization
,penalty_bug
,marked_route_reports
,marked_route_lap_control
. Эта ветка ещё не влита в master:penalty_for_extra_cp