fava.ext¶
Fava 的扩展系统。
- 异常 fava.ext.ExtensionConfigError(error, config)¶
- 类 fava.ext.FavaExtensionBase(ledger, config=None)¶
Fava 扩展的基类。
所有扩展都应继承此类。
find_extension()将在指定模块中发现该类的所有子类。- 属性 jinja_env: 环境¶
此扩展的 Jinja 环境。
- class fava.ext.FavaExtensionError(source: Meta | None, message: str, entry: Directive | None)¶
Fava 扩展中的错误。
- exception fava.ext.JinjaLoaderMissingError¶
- fava.ext.extension_endpoint(func_or_endpoint_name=None, methods=None)¶
用于将函数标记为端点的装饰器。
可作为 @extension_endpoint 或 @extension_endpoint(endpoint_name, methods) 使用。
当用作 @extension_endpoint 时,端点名称为函数名称,方法为 "GET"。
当用作 @extension_endpoint(endpoint_name, methods) 时,使用给定的端点名称和方法,但两者均为可选。若 endpoint_name 为 None,则默认使用函数名称;若 methods 为 None,则默认为 "GET"。
- 返回类型:
Callable[[TypeVar(T, bound=FavaExtensionBase)],Response] |Callable[[Callable[[TypeVar(T, bound=FavaExtensionBase)],Response]],Callable[[TypeVar(T, bound=FavaExtensionBase)],Response]]
- fava.ext.find_extensions(base_path, name)¶
在模块中查找扩展。
- 参数:
base_path (
Path) – 该模块可以相对于此路径指定。name (
str) – 包含扩展的模块名称。
- 返回:
tuple[list[type[FavaExtensionBase]],list[FavaExtensionError]] – 一个元组 (classes, errors),其中 classes 是在name中找到的FavaExtensionBase的子类列表。
fava.ext.auto_commit¶
Fava 的自动提交钩子。
这主要作为示例,说明 Fava 的扩展系统(目前仅支持钩子)的工作方式。
- 类 fava.ext.auto_commit.AutoCommit(账本, 配置=无)¶
Fava 的自动提交钩子。