松尾です。 githubのmaster branchにmerge timelineとexclude-if timelineに 対応するための変更をcommitしました。
TwitterのAPIで取得できるtimelineを組み合わせた複合timelineです。 ・exclude-if timeline exclude-if timelineは :exclude-if/FUNC/SPEC のように記述します。 SPECで指定されたtimeline中のtweetから、関数FUNCがnon-nilを返す ものを「省いた」timelineとなります。 FUNCはtweetに対応した連想リストをひとつ受け取る関数で、λ式か 関数のシンボルで指定できます。 例えば :exclude-if/(lambda (tweet) (string-match "WORD" (cdr (assq 'text tweet))))/:home はhome timelineから、本文中に"WORD"を含むものを除外したtimeline となります。この例では引数として与えられた連想リストからtextを 引いていますが、他にもid, user-name, user-screen-name, user-id, source, source-uri等の情報が使えます。 ・merge timeline merge timelineは (SPEC1+SPEC2+SPEC3) のように記述します。 指定したSPECのtimelineを合併させたtimelineになります。 例えば (:home+:mentions) とするとhome timelineに加えて自分宛の mentionも同じbufferにまとめて表示されます。 (:direct_messages+:direct_messages_sent)も見やすいと思います。 tweetは投稿時間順に並びますので、更新のタイミングによっては新しく 取得したtweetがbufferの端ではなく途中に追加されることもあります。 merge timeline上で同一のtweetが重複して表示されることはありません。 但し、別のユーザによる公式RTに関しては再表示される場合もあります。 NEWS、NEWS.jaも参照ください。 また、twittering-new-tweets-rendered-hookというhookを追加しました。 既存のtwittering-new-tweets-hookは「新規tweetを取得した時」に呼び 出されるので、exclude-if timeline等で実際には表示されないtweetに 対しても呼び出されます。また、取得指示後にbufferを閉じていた場合に も呼び出されてしまいます。 新しいtwittering-new-tweets-rendered-hookは「新規tweetが描画された時」 に呼び出され、実際に表示されるtweetだけが対象となります。 --- 松尾 直志 <[email protected]> ------------------------------------------------------------------------------ Virtualization & Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/ _______________________________________________ twmode-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/twmode-users
