トップ 差分 一覧 ソース 検索 ヘルプ PDF RSS ログイン

Programming_getnews

ニュース取得システムのページ

MSN/NHKのニュースと電車の運行状況を取得して表示するプログラム。研究室の本棚の上の入り口よりのディスプレイに出力している。本体は研究室のサーバーのinternal_onlyにある。フィードの取得はPerlのcgi、表示にはAjaxを使用している。

構成

  • 構成ファイル
    • feed.css
    • feed.js
    • feedProxy.cgi
    • getTrainInfo.cgi
    • index.html
    • ObjTree.js
    • prototype.js
    • その他画像ファイル

運用

  • サーバー側
  • 表示側

研究室サーバの/internal_only/trafic_info/index.html にブラウザでアクセスして放っておく。

改造

個々の動作

feedProxy.cgi と getTrainInfo.cgi が外部サイトのフィードを取得し、feed.js が定期的にこの2つのcgiから取得情報を読み取って画面を更新する。

feed.css

feed.js

中核的な存在。パース/描画の呼び出しを定期的に行っている。フィード自体の取得とパースはそれぞれfeedProxy.cgiとgetTrainInfo.cgiが担当する。定期的にページを切り替えるスレッドが動いている。

  • 設定用パラメータ
変数名 用途
page_switch_interval ページの切り替え周期
channel_switch_interval 取得してあるフィードの中から、表示する情報を切り替える周期。
reload_interval 外部情報の再取得を行う周期。
area height_max 名前のとおり。
主な関数
  • load_feed

フィードの読み込み、ページ切り替えスレッドの生成を行っている。channel_switch_intervalごとに呼ばれている。読み込みはローカルの各種cgiに対して行っており、外部サイトのフィードの取得を行っている訳ではない。

  • reload_site

外部サイトのフィードの再取得を行っていると思われる。reload_intervalごとに呼ばれる。

  • switch_panel

定期的に呼び出される描画用情報の更新スレッド。画面に表示するパネルの情報を設定する。各表示要素(筆者がjsを理解しきっていないので、ここは補足求む)に非表示ならnone,表示するならblock属性を割り当てる。

feedProxy.cgi

MSN,NHKからニュース情報を取得するcgi。同時にfeed.jsに取得したxmlを渡す役割も兼ねている。なぜか接続の際、ユーザエージェントをPS3にして接続している。

getTrainInfo.cgi

電車情報を取得するcgi。feedProxy.cgiと同様に、取得したxmlをfeed.jsに渡す役割を兼ねている。

index.html

ObjTree.js

prototype.js

Ajaxのライブラリ。

Copyright(C) by 芝浦工業大学 工学部通信工学科, 森野研究室. All Rights Reserved.