Skip to content

433 aspect ratio check#756

Open
baydakov-georgiy wants to merge 7 commits intodevfrom
433_aspect_ratio_check
Open

433 aspect ratio check#756
baydakov-georgiy wants to merge 7 commits intodevfrom
433_aspect_ratio_check

Conversation

@baydakov-georgiy
Copy link
Collaborator

Задача #433

Copy link
Collaborator

@HadronCollider HadronCollider left a comment

Choose a reason for hiding this comment

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

  • Подтяните изменения из ветки dev
  • Новые критерии импортируются в модуле https://github.com/moevm/document_insight_system/blob/master/app/main/checks/presentation_checks/__init__.py (для презентаций в своём), чтобы они могли быть использованы в системе - сейчас в запущенной системе к ним нет доступа и они не используются (= не могут быть запущены для документов)
  • При нестандартных значениях возможен забавный результат (но проверка работает верно)
    • image

description = ""
id = 'pres_aspect_ratio_check'

def __init__(self, file_info, correct_ratios=["4:3", "16:9"]):
Copy link
Collaborator

Choose a reason for hiding this comment

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

Вспомните про неизменяемость объектов и работу значений по умолчанию - к счастью, в коде значение correct_ratios никак не меняется, т.е. непредвиденных результатов не будет, но лучше изменить на кортеж или None (при этом подавать в конструктор могут и список)

Comment on lines +35 to +38
self.correct_ratios = [Ratio(*map(int, x.split(':'))) for x in correct_ratios]

def __is_correct_ratio(self, aspect_ratio: Ratio):
return any(aspect_ratio == ratio for ratio in self.correct_ratios)
Copy link
Collaborator

Choose a reason for hiding this comment

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

  • Для проверки вхождения aspect_ratio в self.correct_ratios достаточно конструкции in
  • При использовании множества (set) проверка вхождения будет быстрее (O(1)), чем линейный поиск в списке (O(n))


correct_ratios_str = ", ".join(map(str, self.correct_ratios))
return answer(False,
f'Соотношение сторон слайдов ({aspect_ratio}) не соответствует стандарту ({correct_ratios_str}).') No newline at end of file
Copy link
Collaborator

@HadronCollider HadronCollider Feb 15, 2026

Choose a reason for hiding this comment

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

Чтобы не пугать пользователя фидбеком Соотношение сторон слайдов (68336:47625) не соответствует стандарту (16:9, 4:3). - давайте указывать в дополнение (или вместо вычисленных aspect_ratio) ширина/высота (=размеры полученные из файла) - чтобы было понятно о чем речь и где проблема

Также добавьте краткую инструкцию - как исправить

@github-actions github-actions bot added the has conflicts if new merge has conflicts label Feb 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Changes requested has conflicts if new merge has conflicts

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Критерий слайды - требуемое соотношение сторон слайда (4 на 3 или 9 на 16)

2 participants