Создание собственного плагина Thonny для ограничения функций для студентов.Python

Программы на Python
Ответить
Anonymous
 Создание собственного плагина Thonny для ограничения функций для студентов.

Сообщение Anonymous »

Я пытаюсь создать плагин в Thonny, чтобы создать собственный режим упражнений для моих учеников. Они должны иметь возможность писать необходимый код, запускать тесты и отправлять результаты на мой собственный сервер. Кажется, эта часть работает до сих пор, но я не хочу, чтобы у них были определенные возможности, такие как открытие других файлов или закрытие текущего файла. У Тонни есть некоторые команды, которые требуют большего понимания.
Как отключить или удалить эти команды из моего пользовательского плагина? Они будут отключены/удалены только тогда, когда в переменных среды ОС установлена ​​определенная строка.
Я уже пробовал несколько вещей:
  • Я снова добавил команды с тем же идентификатором команды, но с настраиваемым обработчиком -> функция, которая показывает информационное окно с сообщением о том, что это невозможно.

    Код: Выделить всё

    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
    
  • Я пытался удалить команды на основе command_id из списка _commands, но они все еще существуют после загрузки.
  • Я попробовал добавить команды снова полностью таким же образом, но установил для include_in_toolbar и include_in_menu значение False.
  • Я попробовал добавить функцию Tester в эти команды возвращают False.
Если ничего не помогает, я думаю, мне следует изменить код Тонни и отправить собственный код на ноутбуки студентов.

Подробнее здесь: https://stackoverflow.com/questions/798 ... r-students
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»