twitter-mode更新
source parameter申請がapproveされたので、その部分だけ更新して上げた。
Webで見ると、"from twitter-mode"と出るようになったはず。
| 固定リンク
| コメント (0)
| トラックバック (0)
source parameter申請がapproveされたので、その部分だけ更新して上げた。
Webで見ると、"from twitter-mode"と出るようになったはず。
| 固定リンク
| コメント (0)
| トラックバック (0)
へなちょこ。xml-http-requestとjunk/httpの両方を使っているのは単なる手抜き。
(require "xml-http-request")
(require "junk/http")
(defvar *tinyurl-base-url*
"http://tinyurl.com/api-create.php?url=")
(defun tinyurl-create-url (url)
(let ((api-url
(concat *tinyurl-base-url* url)))
(multiple-value-bind (response status)
(msxml::http-get api-url)
(cond ((= status 200)
response)
(t
(error "~S~%~%~S" status response))))))
(defun tinyurl-url ()
(let (url)
(save-excursion
(or (selection-start-end (beg end)
(setq url (buffer-substring beg end)))
(and (skip-syntax-spec-backward "w_")
(looking-at "https?://[^ \t\r\n\"]+")
(setq url (match-string 0)))
(let ((temp (get-clipboard-data)))
(when (string-match "https?://[^ \t\r\n]+" temp)
(setq url (match-string 0))))))
(read-string "URL: " :default url)))
(defun tinyurl-lookup-url (url)
(unless (string-match "http://tinyurl.com/[a-z0-9]+" url)
(error "Invalid TinyURL: ~S" url))
(multiple-value-bind (sock status headers)
(junk::junk-http-get-url url)
(cond ((equal status "301")
(junk::junk-http-get-header-value "location" headers))
(t
(error "ERROR: ~S" status)))))
(defun tinyurl-create ()
"URLをTinyURLに変換する。成功すれば変換後のURLをクリップボードにコピーする。"
(interactive)
(let ((url (tinyurl-url))
tinyurl)
(when url
(when (setq tinyurl (tinyurl-create-url url))
(copy-to-clipboard tinyurl)
(message "~A" tinyurl)))))
(defun tinyurl-lookup ()
"TinyURLをURLに戻す。成功すれば戻したURLをクリップボードにコピーする。"
(interactive)
(let ((url (tinyurl-url))
original-url)
(when (and url
(setq original-url (tinyurl-lookup-url url)))
(copy-to-clipboard original-url)
(message "~A" original-url))))
| 固定リンク
| コメント (0)
| トラックバック (0)
とりあえず一通り実装してみたものを上げてみた。実際のところスレッドが検索できないので、IMAPで常用するのは難しいだろう。というかあまり意味がないと思う。
そう思いつつも実装してみていたのは、Gmailをオンラインデータベース代わりにして何か遊べないものかと思っていたからなんだけど、マヌケにも最後の方になって致命的なことに気付いた。
IMAPってCRUDの"U"がないじゃん・・・。
IMAPさわるのも5年振りくらいなので、すっかり忘れていた。最後に「下書き」回りをやっててやっと思い出した。
他のMUAも下書きメールの上書き保存は、フォルダに新規追加して元のを消す、というやり方をしてる。ていうか他に方法がない。新規追加したメールのUIDを取得する方法もない(APPENDUIDはGmailのIMAPでは実装されていない)。
というわけなので、あまり使い道がなさそう。他のことやってた方が良かったか・・・。
| 固定リンク
| コメント (0)
| トラックバック (0)
SEARCH TEXTでMessage-Idが検索できると思ったのは勘違いで、できたりできなかったりする。 今のところ法則性が見つからない・・・。
日付での検索で時間がずれるのは、Webからの検索と同様っぽい。
| 固定リンク
| コメント (0)
| トラックバック (0)
SEARCHでは、限られたフィールドしか検索できないということは、Message-Idとかでスレッドを検索で引っ張り出すことができないってことか?それなりに作ってしまってから気が付いたけどそれって致命的じゃね?
試してみたらSEARCH TEXTでヘッダまで対象にしてくれてるみたいなので、できないことはないっぽいけど、スレッド全体を引っ張り出すのは手間暇かかりすぎるな~。
Gmailさん、スレッドの情報付けてくれないかな~。ヘッダに付け加えたって構わないから・・・。
| 固定リンク
| コメント (0)
| トラックバック (0)
試していて気付いたことを忘れないうちに。
アーカイブされたかどうかはメール単位。 Gmailのインタフェース上ではアーカイブされていないメールが1通でもあればInboxにスレッドとして表示されるが、IMAPでは当然ながらInboxにはアーカイブされていないメールのみしかいない。
Gmail側のスレッドでまとめている情報をくれればうれしいんだけど、今のところ見当たらない。
| 固定リンク
| コメント (0)
| トラックバック (0)
Helpに書かれている内容だけでは良くわからないので、とりあえずSEARCH系のコマンドを実際に試してみている。
"ALL TEXT"とかでWebからと同様の検索フレーズを投げれば後は良きに計らってくれるのを期待していたが、やっぱりダメっぽい。てことは、クライアント側で頑張ってコマンドを組み立ててやらなくてはダメってことか。条件を色々組み合わせようとするとちょっと面倒だな~。
個人的にはWebから検索する時には、検索ワードとTo/Fromの組み合わせ以外ほとんど使わないのでとりあえずその線で試してみるけど。
検索速度が速いのは流石だな~。検索がうまく使えそうならクライアントをでっち上げる意味があるかもしれない。
| 固定リンク
| コメント (0)
| トラックバック (0)
最近のコメント