Я пытаюсь создать плагин в Thonny, чтобы создать собственный режим упражнений для моих учеников. Они должны иметь возможность писать необходимый код, запускать тесты и отправлять результаты на мой собственный сервер. Кажется, эта часть работает до сих пор, но я не хочу, чтобы у них были определенные возможности, такие как открытие других файлов или закрытие текущего файла. У Тонни есть некоторые команды, которые требуют большего понимания.
Как отключить или удалить эти команды из моего пользовательского плагина? Они будут отключены/удалены только тогда, когда в переменных среды ОС установлена определенная строка. Я уже пробовал несколько вещей:
Я снова добавил команды с тем же идентификатором команды, но с настраиваемым обработчиком -> функция, которая показывает информационное окно с сообщением о том, что это невозможно.
Я пытаюсь создать плагин в Thonny, чтобы создать собственный режим упражнений для моих учеников. Они должны иметь возможность писать необходимый код, запускать тесты и отправлять результаты на мой собственный сервер. Кажется, эта часть работает до сих пор, но я не хочу, чтобы у них были определенные возможности, такие как открытие других файлов или закрытие текущего файла. У Тонни есть некоторые команды, которые требуют большего понимания. Как отключить или удалить эти команды из моего пользовательского плагина? Они будут отключены/удалены только тогда, когда в переменных среды ОС установлена определенная строка. [b]Я уже пробовал несколько вещей:[/b] [list] [*]Я снова добавил команды с тем же идентификатором команды, но с настраиваемым обработчиком -> функция, которая показывает информационное окно с сообщением о том, что это невозможно. [code]wb = get_workbench() commands_to_disable = [ "new_file", "open_file", "recents", "close_file", "close_files", "save_all_files", "save_file_as", "save_copy", "debug", "SupportUkraine" ]
for cmd in commands_to_disable: try: wb.add_command( cmd, handler=disabled_in_exercise_mode ) except Exception: pass [/code]
[*]Я пытался удалить команды на основе command_id из списка _commands, но они все еще существуют после загрузки.
[*]Я попробовал добавить команды снова полностью таким же образом, но установил для include_in_toolbar и include_in_menu значение False.
[*]Я попробовал добавить функцию Tester в эти команды возвращают False.
[/list] Если ничего не помогает, я думаю, мне следует изменить код Тонни и отправить собственный код на ноутбуки студентов.