跳转至

元素扩展

Utilities for element extensions in ZJUI-Learn.

from prairielearn import ...

clean_identifier_name

clean_identifier_name(name: str) -> str

Escapes a string so that it becomes a valid Python identifier.

返回:

类型 描述
str

The input as a valid Python identifier

load_all_extensions

load_all_extensions(data: QuestionData) -> dict[str, Any]

Load all available extensions for a given element.

返回:

类型 描述
dict[str, Any]

An ordered dictionary mapping the extension name to its defined variables and functions

引发:

类型 描述
ValueError

If the element does not have any extensions defined.

load_extension

load_extension(
    data: QuestionData, extension_name: str
) -> Any

Load a single specific extension by name for an element.

返回:

类型 描述
Any

A dictionary of defined variables and functions.

引发:

类型 描述
ValueError

If the extension isn't defined in the provided data

load_host_script

load_host_script(script_name: str) -> ModuleType

Small convenience function to load a host element script from an extension.

返回:

类型 描述
ModuleType

The imported module