時刻表を表示するwidget
とりあえず動くようになったので、公開。
時刻表情報を駅探から取得するサーバプログラム(Perl+各種CPANモジュール)を別途どこかで動かしておく必要があるので、お手軽とは言えないけれども。
準備:
- サーバプログラム(ttserver.pl)とモジュール(ScrapingEkitan.pm)を、サーバを実行するディレクトリに配置。cgi-binとかに置くのがお手軽
- chumbyに差すUSBメモリを準備。widget本体と、profile.xmlをルートにコピー
- profile.xmlの以下の行をサーバプログラムを動かすURLに修正
- ScrapingEkitan.pmの以下の部分を、閲覧したい時刻表のURLに置き換える(平日、土曜、休日)。
- chumbyからwidgetを起動。時刻表が表示されることを確認
<widget_parameter> <name>serverurl</name> <value>http://example.com/cgi-bin/ttserver.pl> </widget_parameter>
# JR鹿児島本線 博多駅 門司港方面 our $SCRAPER_URI_WEEKDAY = 'http://www8.ekitan.com/norikae/Time/0_54-27_1_0.html'; our $SCRAPER_URI_SATURDAY = 'http://www8.ekitan.com/norikae/Time/0_54-27_1_1.html'; our $SCRAPER_URI_HOLIDAY = 'http://www8.ekitan.com/norikae/Time/0_54-27_1_2.html';
ttserver.plの処理がかなり重いので、表示されるまで少し時間がかかる(こちらの環境で4,5秒)。表示できない場合は、切り分けとしてサーバプログラムのURLを直接叩いてxmlが表示されるかどうか確認するとよい。
改善したい事は色々あるけど、まずは記念すべきchumby widget第一号ということで。汎用性を上げてオフィシャルに登録できるようになると良いが、当面はこんな感じかな。
widgetのソース(ttwidget.as)。XPath4AS2を使わせていただいた。