script_filter_object#

todo: add docstring

class afwf.script_filter_object.ScriptFilterObject[source]#

[CN]

所有的 ScriptFilter 中出现的 Object 比如 Item, 或是 ScriptFilter 本身都是这个 类的子类.

根据 Alfred 的 官方文档 Script Filter 是一个 JSON 的数据结构. 但这个 JSON 数据结构与 Python OOP 的序列化接口 有差别. OOP 序列化接口是为了能从 JSON 中还原 object. 而 Script Filter 接口是为 Alfred 服务的. 例如 OOP 中如果一个 attribute 的值为 None, 那么序列化后还是需要保留 这个值. Script Filter 中如果一个 attribute 被解读为 Omit, 这个 attribute 就彻底 不应该存在, 不然会出现歧义. 所以 ScriptFilterObject 是一种特殊的对象, 同时提供了 OOP 序列化接口 和 Script Filter 序列化接口.

to_script_filter() dict[source]#

Convert object to Alfred Workflow Script Filter friendly dictionary.