Alfred-workflow 基于python开发案例

前言

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程序
    让我们来分析一下这段代码
# -*- 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开发的小伙伴来说是一个友好的入门帮助。

最后,祝您生活愉快。
这里写图片描述

猜你喜欢

转载自blog.csdn.net/bacteriumx/article/details/79338824
今日推荐