ジョルダン検索するAlfred workflow

電車を検索するのに、いちいちジョルダンのページに行って入力すのが面倒だったので、Alfredから直接ジョルダンのページを開けるスクリプトを書きました。こんな感じ。

スクリーンショット 2015-05-18 1.02.11

Workflow自体はコチラにあがってます。リンク先のページからDownloadして、ダブルクリックすればインストールできると思います(要Powerpack)

使い方

  1. Alfredを立ち上げる
  2. jorudanを入力
  3. 引数は下記の通り
    1. 第1引数: 出発地の駅名
    2. 第2引数: 到着地の駅名
    3. 第3引数: 到着時刻を数字4桁で。(例えば12時34分到着だったら1234を入力)

注意点

  • 引数と引数の間は半角スペースで区切って下さい(全角不可)
  • 基本的にはコマンド実行時の日付の到着時刻指定でしか検索できません

現状、この仕様で特に問題ないのでこんな感じになってます。

仕組み

やってることは非常に単純で引数で受け取った文字列をGetパラメータにして、ジョルダンのURLを開いているというだけのものです。下記のソースコードはPython2.7系でコマンドラインから使うことが可能です。

スクリーンショット 2015-05-18 1.37.25

大したことない解説

最初はShellスクリプトで作ろうかと思ったけど、日付の処理らへんがPythonのモジュール使ったほうが圧倒的に楽そうだったのでPythonで作成しました。Pythonラブ。注意点としては、2バイト文字を使うので文字コードを正しく扱うことらへんでしょうか。

実際にAlfredで動かす際は、stdinから引数を受け取るわけではないのでちょっとコードが変わります。上記の37-42行目、46行目を削除し、コメントの部分をコメント解除することで正しく動作します。あとGetパラメータの引数でよくわからないもののも有りましたが、とりあえす正しく動いてそうなのでOKかなと。

補足

  • AlfredのWorkflowはだいたい3000円程度(執筆時£17)払ってPowerpackを購入していないと使用できないのであしからず。
  • WebアプリでAPIコールしまくるものではなく、単純にブラウザでページを開く行為を簡易化したものなのんで特に問題ないかと‥

Alfredまじ便利すぎてやばいですね。Quicksilverとか使ってた頃が懐かしい。