松尾です。
良さそうですね。
今回の commit を導入すれば後は twittering-api-host,
twittering-web-host, twittering-api-search-host を変更するだけで
StatusNet を使えるようになるんですよね?
取り込む前にいくつか気になったところを確認させてください。
> 1. 時間の書式が少し異なる。
> Twitter -> "2010-05-08T05:59:41Z"
> StatusNet -> "2010-05-08T08:44:39+00:00"
この部分ですが、時差は無視して良いんでしょうか。
http://status.net/ を見てもどういう値があり得るか分からなかった
のですが、運用によってはローカルタイムが使われる可能性もある気が
します。
ISO 8601形式( http://ja.wikipedia.org/wiki/ISO_8601 ) の時差が
指定されていると思って解釈するパッチを作ってみました。
こちらを試してみてもらえませんか。問題なければ増田さんのcommitを
取り込むときに併せて commit します。
> 3. image URL の指定が少し異なる。
> Twitter -> rel="image"
> StatusNet -> rel="related"
rel="related"の場合は必ずアイコン画像と思って良いでしょうか。
現状では user-profile-image-url のURLは実際にダウンロードしてみて
画像形式を判断しています。大きいデータとか画像とかの場合に
嫌なことになるかもしれません。
---
松尾 直志 <[email protected]>
diff --git a/twittering-mode.el b/twittering-mode.el
index c4d85b5..9944f5b 100644
--- a/twittering-mode.el
+++ b/twittering-mode.el
@@ -3135,13 +3135,19 @@ BUFFER may be a buffer or the name of an existing
buffer."
(time-str (car (cddr (assq 'updated atom-xml-entry))))
(author-str (car (cddr (assq 'name (assq 'author atom-xml-entry))))))
`((created-at
+ ;; ISO 8601
;; Twitter -> "2010-05-08T05:59:41Z"
;; StatusNet -> "2010-05-08T08:44:39+00:00"
- . ,(if (string-match "\\(.*\\)T\\(.*\\)[Z+]" time-str)
+ . ,(if (string-match
"\\(.*\\)T\\(.*\\)\\(Z\\|\\([-+][0-2][0-9]\\):?\\([0-5][0-9]\\)\\)" time-str)
;; time-str is formatted as
;; "Combined date and time in UTC:" in ISO 8601.
- (format "%s %s +0000"
- (match-string 1 time-str) (match-string 2 time-str))
+ (let ((timezone (match-string 3 time-str)))
+ (format "%s %s %s"
+ (match-string 1 time-str) (match-string 2 time-str)
+ (if (string= "Z" timezone)
+ "+0000"
+ (concat (match-string 4 time-str)
+ (match-string 5 time-str)))))
;; unknown format?
time-str))
(id . ,(progn
------------------------------------------------------------------------------
_______________________________________________
twmode-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/twmode-users