Python으로 Alfred Workflow 만들기

Alfred의 Powerpack을 구매해서 써오고 있다. 최근 OS X 요세미티에서 Spotlight 기능이 강조될 것이라고 발표되면서, 같은 기능을 하고 있는 Alfred의 영향력이 줄어들지는 않을까하는 우려를 보았다. OS X Mavericks 때도 1Password를 보면서 같은 우려를 한 적이 있었는데, 결과적으로 1Password는 아직까지 잘 써오고 있다. Website password 등을 제외하더라도 Software serial, privacy information 등을 보관하기에 좋다.

그래서 이참에 Alfred도 단순히 Spotlight 대체로 활용하는 것 보다 더 잘 써보자는 마음이 들어서 workflow를 활용해보려고 했다. 상용구 치환 등은 이미 Snippets 등의 built-in 기능으로 제공되고 있고, 다른 APP이나 WEB에서 정보를 긁어다오는 정도로는 유용하게 이용할 수 있을 것 같았다. Workflow는 script language를 이용할 수 있는 장점이 있는데, bash, ruby, php, perl, python 등이 기본으로 지원된다.

Alfred Workflow를 python으로 작성하려고 보니 정말 친절하게 documentation이 되어있다! 링크: Alfred-Workflow (for Python) 간단히 Web API를 이용해서 최근 포스트를 읽어오는 예제에서부터 Multi-step으로 설정사항을 저장하는 꽤 고급 예제까지 포함하고 있다.

선택된 텍스트가 URL 일 때 bitly 에서 단축URL주소를 클립보드로 복사하는 workflow를 시험삼아 만들어보았다. Opt+S를 누르면 현재 선택된 텍스트가 bitly에서 짧은 URL주소로 바뀌는 Python스크립트가 실행되고, 그 결과를 Clipboard에 복사한다.

아래는 그 결과. 좋은 Documentation으로 인해 아주 쉽게 만들었다. 본래는 Alfred Workflow의 Python API에 대해 써볼까했는데, 링크: Alfred-Workflow (for Python)의 튜토리얼이 너무나 잘 되어 있어서 안써도 될 것 같다.