探索python-shortcuts生态:如何贡献代码添加新的Siri动作

【免费下载链接】python-shortcuts Create Siri Shortcuts with Python 【免费下载链接】python-shortcuts 项目地址: https://gitcode.com/gh_mirrors/py/python-shortcuts

python-shortcuts是一个强大的Python库,允许开发者通过Python代码创建Siri快捷方式。本文将详细介绍如何为这个开源项目贡献代码,添加新的Siri动作,帮助你成为社区贡献者的完整指南。

了解项目结构

在开始贡献之前,首先需要了解python-shortcuts的项目结构。核心动作相关代码位于以下目录:

所有Siri动作都继承自BaseAction类,每个动作都有自己的Python文件,如calculation.pytext.py等。

开发新Siri动作的步骤

1. 创建动作类

首先,需要创建一个新的动作类,继承自BaseAction。所有动作类都遵循相似的结构:

from .base import BaseAction

class NewAction(BaseAction):
    def __init__(self, parameter1, parameter2):
        super().__init__()
        self.parameter1 = parameter1
        self.parameter2 = parameter2
        
    def to_dict(self):
        return {
            "WFWorkflowActionIdentifier": "your.action.identifier",
            "WFWorkflowActionParameters": {
                "Parameter1": self.parameter1,
                "Parameter2": self.parameter2,
            }
        }
        
    @classmethod
    def from_dict(cls, data):
        return cls(
            parameter1=data["WFWorkflowActionParameters"]["Parameter1"],
            parameter2=data["WFWorkflowActionParameters"]["Parameter2"],
        )

2. 实现核心方法

每个动作类必须实现两个核心方法:

  • to_dict():将Python对象转换为Siri快捷方式可以理解的字典格式
  • from_dict(cls, data):从字典数据创建动作实例的类方法

这些方法确保动作可以在Python和Siri快捷方式格式之间正确转换。

3. 注册新动作

创建动作类后,需要在动作注册表中注册它。打开shortcuts/actions/registry.py文件,找到ActionRegistry类的register_action方法:

def register_action(self, action_class: Type[BaseAction]) -> None:
    self.actions[action_class.identifier] = action_class

然后在文件末尾添加注册代码:

from .new_action import NewAction

registry.register_action(NewAction)

4. 添加测试用例

为确保新动作正常工作,需要添加测试用例。测试文件应放在tests/actions/目录下,遵循现有测试文件的命名规范,如tests/actions/new_action/tests.py

5. 更新文档

最后,不要忘记更新项目文档,在docs/new_action.md中添加新动作的说明和使用示例。

提交贡献的流程

  1. 克隆仓库:git clone https://gitcode.com/gh_mirrors/py/python-shortcuts
  2. 创建分支:git checkout -b feature/new-action
  3. 实现新动作并提交代码
  4. 运行测试:pytest tests/actions/new_action/tests.py
  5. 创建Pull Request,描述你的贡献

结语

通过以上步骤,你可以轻松地为python-shortcuts项目添加新的Siri动作,为社区贡献力量。无论是简单的文本处理还是复杂的计算功能,每个新动作都能让这个工具变得更加强大。开始你的贡献之旅吧!

【免费下载链接】python-shortcuts Create Siri Shortcuts with Python 【免费下载链接】python-shortcuts 项目地址: https://gitcode.com/gh_mirrors/py/python-shortcuts

更多推荐