fslasht (3370) の日記

2004 年 01 月 25 日
午後 07:27

はてなダイアリー自動転記スクリプト開発(9) nisejournalに転記処理装備

STATUS: 故障中

(最新版ver.1.05はこちらの日記参照)

 「偽/.-J日記」に「はてな」への転記機能をつけました。
 今のところ日記を1件づつ転記操作する必要があります。連続して転記すると処理中にタイムオーバーになりそうなので、これはコマンドライン版でサポートする予定です。
 今回作成するにあたり、日記のテーマについていただいたコメントが大変約に立ちました。はじめはテーマ毎に解析処理を作るつもりでしたが、おかげで1つ作るだけで済みました。

● デモページとソース
 
 ↓このページで動かせます。
 Pseudo Slashdot Journal あるいは 偽/.日記 ver.1.03 (開発版)

 ソースは、こちら(nisejournal103.tar.gz)
 Linux(Linux(kernel 2.4.19) + PHP4.2.3-11 + Apache1.3.27-13で動作を確認しています。
 今回は、register_globals = offで動くようにしました。また、mod_gzipを使用してページ内容を圧縮して送信します。
 PHPが動く環境で、public_html以下の任意のディレクトリに展開して、nisejournal.php ページをブラウザで開いて下さい。

● 履歴

ver.1.00 2001.8.31
ver.1.01 2003.12.16 新しい/.のHTMLに対応。jstr系→mb系に移行。
ver.1.02 2003.12.26 register_globals = offに対応
ver.1.03 2004.01.25 「はてな」への転記機能,参照先アカウント指定機能

● 参照先アカウントの設定

【slashdotのユーザー名】
 従来のバージョンでは、日記を参照できるのは「ユーザー一覧」フレームのリストに載っているユーザーのみでした(その時点のTOP30に載っているユーザー)。
 今バージョンから、「参照先アカウント」に、slashdotのユーザーID(ニックネーム)を入力することで、同フレームの「表示」リンクから表示できます。
 ニックネーム入力時には、Slashdotのユーザー情報ページへアクセスしIDを取得しています。(存在しないニックネームを入力した際はエラーが表示されます)
 ニックネームは、Cookieに保持されます。

【はてなのアカウント】
 「はてな」に転記処理を行う際に必要となります。
 「参照先アカウント」のフレームで、ユーザー名、パスワードを入力してください。
 入力後、はてなのログインページへアクセスし、セッションキーを取得します。
 ユーザー名、セッションキーをCookieに保持します。
 ★注意★ ここで入力したパスワードは、スクリプトを実行しているサーバ(デモページを使用する場合は、私fslasht宅のサーバ)に送られます。特に記録はしていませんが、うかつに入力するのはいかがなものかと思います。自前のサーバにスクリプトをコピーして実行することをお勧めします。

● 転記処理

 日記を表示すると「はてなへ転記」というボタンがあります。
 このボタンを押すと、上記で設定した「はてなのアカウント」の日記に転記されます。
 転記時は引用という形で表現されます。

 転記処理は「はてな」サーバの状態によって変動しますが、2~20秒程度で完了します。

● テンプレートの編集

 テンプレートファイル(hn_tenki_body.tpl) を編集するtことで、転記時の形式を変更できます。

【テンプレートで使用可能な項目】
  %data_title% タイトル
  %data_body% 本文
  %data_topic% トピック名
  %data_topicblanket%" トピック名([~]で囲む)
  %data_commenturl% コメントページのURL
  %data_commentnum% コメント数
  %data_id% 日記のID
  %data_uid% 日記投稿者のユーザーID
  %data_nick% 日記投稿者のニックネーム
  %data_hour% 日記の投稿時刻(時)
  %data_min% 日記の投稿時刻(分)
  %data_timestamp%" 日記の投稿時刻(Unix timestamp)

 現在のテンプレートファイル

● その他

 転記時に日記に選択されているトピック名をカテゴリとしてタイトルにつけるようにしました。(「[~]」で囲んで追加)
 僕の日記では、トピックはイメージ主導で勝手に意味付けして選んでいたので、結構内容と食い違いが…。実際の意味との変換表を登録できるようにしようかな。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

「毎々お世話になっております。仕様書を頂きたく。」「拝承」 -- ある会社の日常

処理中...