Alfred-workflow 基于python开发案例

2021-08-12 10:26:30 浏览数 (1)

###前言 Alfred被称为MacOS的效率神器,除了可以使用Alfred内置的Keyword之外,也可以通过使用多种语言的脚本代码开发的workflow来实现自定义Keyword功能,笔者在使用Alfred的过程中,也在网络渠道下载了适合使用的其他作者开发的workflow,鉴于此,尝试通过使用python语言来开发一个workflow。

刚开始笔者根本不知道workflow和Alfred与python之间的关系,更不知道从何做起,通过不断查阅网上资料以及其他开发者的程序,才对其间的关系初步了解。简单来说,使用python语言来写某个功能实现的代码,该代码需要使用workflow程序作为载体,而改workflow程序则需要Alfred作为运行载体。

下面笔者来通过实现一个小demo——输入ip,查询服务器地址,来帮助希望能够使用python开发Alfred-workflow的小伙伴入门,理清python开发的流程。

###环境: 系统:MacOS 软件:Alfred v3.5.1 Powerpack Python环境:Python2.7.10(MacOS自带) Python模块:Alfred-Workflow (sudo pip install Alfred-Workflow)

###步骤

  • 创建workflow程序
  • 配置workflow程序
  • 实现workflow程序 让我们来分析一下这段代码
代码语言:javascript复制
# -*- coding:utf-8 -*-
#导入需要使用到的模块
import sys
import urllib2,json
from workflow import Workflow

def main(wf):
	#获取链接返回的数据,根据用户键入的信息来查询"{query}"
    response = urllib2.urlopen(url="http://ip.taobao.com/service/getIpInfo.php?ip={query}").read()
	#使用json解析数据
    responseJson = json.loads(response)
	#获取数据中的国家/省地/城市
    info = responseJson.get("data").get("country") '/' responseJson.get("data").get("region") '/' responseJson.get("data").get("city")
    #将数据添加都Alfred的显示项目中
    wf.add_item(info)
	#给Alfred发送一个数据反馈
    wf.send_feedback()

if __name__ == u"__main__":
	#实例化一个Workflow对象
    wf = Workflow()
    #运行主函数,结束后退出程序
    sys.exit(wf.run(main))
  • 效果

###结尾 虽然是一个简单的demo,但是基本能够帮助Alfred初学者使用python语言简单的理清开发Alfred-workflow的整体过程,完成这个案例,相信对初次接触Alfred-workflow开发的小伙伴来说是一个友好的入门帮助。

最后,祝您生活愉快。

0 人点赞