Alfred-Workflow 项目教程

Alfred-Workflow 项目教程

alfred-workflow Full-featured library for writing Alfred 3 & 4 workflows alfred-workflow 项目地址: https://gitcode.com/gh_mirrors/al/alfred-workflow

1. 项目介绍

Alfred-Workflow 是一个用于编写 Alfred 3 和 Alfred 4 工作流的 Python 库。它为开发者提供了一系列工具,使得创建功能丰富且响应迅速的 Alfred 工作流变得更加简单。Alfred-Workflow 支持 macOS 10.7+,并且兼容 Python 2.7。

主要特性

  • 自动保存设置:方便管理工作流的配置。
  • 数据缓存:支持数据缓存并设置过期时间。
  • 模糊过滤:智能处理带有变音符号的字符。
  • Keychain 支持:安全存储密码和 API 密钥。
  • 轻量级 Web API:提供类似 Requests 的接口,方便进行网络请求。
  • 后台任务:保持工作流响应迅速。
  • Alfred JSON 反馈:简化生成 Alfred 反馈的过程。
  • 错误处理:自动捕获和记录工作流中的错误。
  • 开发辅助:支持“魔法”参数,方便开发和调试。
  • Unicode 支持:全面支持 Unicode 字符。
  • 自动更新检查:通过 GitHub 发布自动检查更新。
  • 通知中心支持:通过 macOS 的通知中心发送通知。

2. 项目快速启动

安装

使用 pip 安装

你可以直接在 Alfred 工作流目录中使用 pip 安装 Alfred-Workflow:

pip install --target=. Alfred-Workflow
从源码安装
  1. 从 GitHub 发布页面下载 alfred-workflow-X.X.X.zip
  2. 解压 ZIP 文件并将 workflow 目录放置在你的工作流根目录(即 info.plist 所在目录)。

使用示例

以下是一个简单的 Alfred-Workflow 脚本示例:

#!/usr/bin/python
# encoding: utf-8

import sys
from workflow import Workflow3

def main(wf):
    # 获取命令行参数
    args = wf.args
    
    # 添加一个 Alfred 反馈项
    wf.add_item(u'项目标题', u'项目副标题')
    
    # 发送反馈到 Alfred
    wf.send_feedback()

if __name__ == '__main__':
    wf = Workflow3()
    sys.exit(wf.run(main))

3. 应用案例和最佳实践

缓存数据

Alfred-Workflow 提供了方便的数据缓存功能,可以缓存数据并在指定时间后过期:

def get_web_data():
    return web.get('http://www.example.com').json()

def main(wf):
    # 缓存数据 30 秒
    data = wf.cached_data('example', get_web_data, max_age=30)
    
    for datum in data:
        wf.add_item(datum['title'], datum['author'])
    
    wf.send_feedback()

网络请求

使用 Alfred-Workflow 的 web 模块进行网络请求:

data = web.get('http://www.example.com/api/1/stuff').json()

Keychain 访问

安全存储和获取密码:

wf = Workflow()
wf.save_password('account_name', 'password123')

password = wf.get_password('account_name')

4. 典型生态项目

Alfred 工作流

  • Alfred 3 & 4:Alfred-Workflow 主要用于编写 Alfred 3 和 Alfred 4 的工作流。
  • Alfred 扩展:Alfred 提供了丰富的扩展功能,Alfred-Workflow 可以帮助你更轻松地创建这些扩展。

Python 生态

  • Requests:Alfred-Workflow 的 web 模块基于 Requests 库,提供了类似的功能和接口。
  • Keyring:Alfred-Workflow 的 Keychain 支持基于 Python-Keyring 库,提供了安全的密码存储功能。

通过以上内容,你可以快速上手使用 Alfred-Workflow 创建功能强大的 Alfred 工作流。

alfred-workflow Full-featured library for writing Alfred 3 & 4 workflows alfred-workflow 项目地址: https://gitcode.com/gh_mirrors/al/alfred-workflow

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

翟桔贞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值