* xyzzy lisp :
こんなのを用意してみた。
cronがちゃんと働けば、一日3回更新チェックをするはず。
update : 2008-02-06 (Wed) 12:38:19
cronがちゃんと働けば、一日3回更新チェックをするはず。
(defun ni::add-site-from-raido () (interactive) (ni::load-site-data) (mapcar (lambda (x) (ignore-errors (ni::site-add x))) (set-difference (let ((stream (ni::http-get-url "http://raido.sakura.ne.jp/southly/lisp/ni/ni-status.txt"))) (do* ((line (read-line stream nil nil) (read-line stream nil nil)) (r nil)) ((not line) (nreverse r)) (unless (string-matchp "^\\(4[0-9][0-9]\\|NIL\\)" line) (push (second (split-string line " ")) r)))) (mapcar (lambda (x) (cdr (assoc "src" x :test #'equal))) ni::*site-data*) :test #'string=))) (define-key ni::*site-map* #\N 'ni::add-site-from-raido)
- 2008-02-06 : タイムアウトしているときは除外しましょうということで修正
update : 2008-02-06 (Wed) 12:38:19