Mac效率神器Alfred Workflows
Alfred 是 Mac 上一款著名的效率应用,强大的功能和众多的扩展能让你在实际操作中大幅提升工作效率,
这里简单介绍下 Alfred 的工作流
背景&效果展示
作为一名程序员经常会遇到时间戳转时间、时间转时间戳的情况,以前都会打开网页在线工具进行转换。
每次打开浏览器找到网址,然后复制内容进行转换都需要 5秒以上的时间。
有什么快捷的方式能帮助我们快速的进行这个操作吗,这里我想到的 Alfred 的工作流。
Alfred工作流可以直接脚本开发,下面是工作流开发完的效果。
1)首先唤起Alfred输入框,这里看自己设置的快捷键了
2)输入这里工作流对应的keyword (tm或tmt)然后空格输入需要转换的内容
3)回车键将转换之后的内容复制到剪切板
这个简单的工作流可以实现linux类型的时间戳转换成 yyyy-MM-dd HH:mm:ss 类型的时间字符串,
也可以将 yyyy-MM-dd HH:mm:ss 类型的时间字符串转换成时间。
转换完的内容会自动放到剪切板里面,可以直接使用 command + v
进行粘贴,也可以使用Alfred的历史剪切板进行复制。
工作流开发
1、创建空的工作流
为了简单快捷这里使用的是python开发的这个功能。
开发这个工作流首先需要再 Alfred 面板上创建一个空的工作流
Alfred -> Preferences -> Workflows -> 左下角的 + -> Blank Workflows
如下图:
2、添加流程节点
这里使用的是 Script Filter
类型的节点,可以支持keyword触发。
节点配置如下,keyword 为触发的命令关键字。下面是运行命令的配置 Script输入框中写需要运行的命令,
这里使用 {query} 方式将转换的内容传递给python脚本。
复制到剪切板的节点如下,创建好节点用线连接就行。
3、python脚本开发
脚本的位置放到当前工作流的根目录就行,这样不行写绝对路径,也方便工作流的导出。
1. 打开工作流根目录:右键选中工作流,点 open in find 或者 open in terminal 打开工作流根目录:右键选中工作流,点 open in find 或者 open in terminal
2.Alfred官方提供了一个python类库方便开发工作流。在工作流根目录执行命令
pip install --target=. Alfred-Workflow
3.创建脚本 timestamp_2_time.py,然后开发对应的代码即可 。代码里面有注释大家可以看下
# -*- coding: utf-8 -*-
import sys
from datetime import datetime
from workflow import Workflow, ICON_CLOCK # 导包
def main(wf):
query = wf.args[0] # 获取传入的参数,这里能获取到需要转换的呢绒
if not query:
return
# 时间戳转时间字符串的方法
d = datetime.fromtimestamp(int(query) / 1000)
str1 = d.strftime("%Y-%m-%d %H:%M:%S")
'''
调用框架的方法添加运行的结果
可选参数是标题、副标题,arg是下一个节点的入参,icon是这个item展示的图标
如果有多个结果可以放多个,然后通过上下键选择
'''
wf.add_item(title=query, subtitle=str1, arg=str1, valid=True, icon=ICON_CLOCK)
# 展示结果内容list
wf.send_feedback()
if __name__ == '__main__':
'''构造 Workflow 对象,运行完退出
'''
wf = Workflow()
sys.exit(wf.run(main))
通过这几行简单的代码实现了时间戳转换成时间的小功能,
相比于以前的使用网页的形式,这个工作流可以将时间缩短到1秒,每次为你省下 4 秒钟的时间 😂😂😂
debug
开发的时候可能会遇到bug,可以通过下图方式打开运行日志查问题。
开发好的工作流要使用直接导入就行
tmwf.tar
下载之后 tar -xvf tmwf.tar
解压导入就行。
这里需要注意下,我本地的python路径是 /usr/local/bin/python
大家需要换成自己的python路径。
链接:https://juejin.cn/post/7252541723149238330
来源:稀土掘金