* mixi.el (mixi-make-comment): Add the COUNT slot.
authorbg66 <bg66>
Sat, 3 Nov 2007 06:39:40 +0000 (06:39 +0000)
committerbg66 <bg66>
Sat, 3 Nov 2007 06:39:40 +0000 (06:39 +0000)
(mixi-comment-count): New function.
(mixi-topic-comment-list-regexp): Fix regexp.
(mixi-event-comment-list-regexp): Ditto.
(mixi-get-comments): Follow the change above.
* mixi-utils.el (mixi-make-author): Add the ADD-COMMENT-COUNT argument.
* sb-mixi.el (shimbun-mixi-add-comment-count-to-author): New user
option.
(shimbun-mixi-get-headers): Use it.

ChangeLog
mixi-ja.texi
mixi-utils.el
mixi.el
sb-mixi.el

index adb6f3b..b66d3af 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2007-11-03  OHASHI Akira  <bg66@koka-in.org>
+
+       * mixi.el (mixi-make-comment): Add the COUNT slot.
+       (mixi-comment-count): New function.
+       (mixi-topic-comment-list-regexp): Fix regexp.
+       (mixi-event-comment-list-regexp): Ditto.
+       (mixi-get-comments): Follow the change above.
+       * mixi-utils.el (mixi-make-author): Add the ADD-COMMENT-COUNT argument.
+       * sb-mixi.el (shimbun-mixi-add-comment-count-to-author): New user
+       option.
+       (shimbun-mixi-get-headers): Use it.
+
 2007-10-29  OHASHI Akira  <bg66@koka-in.org>
 
        * mixi.el (mixi-community-name-regexp): Follow the change of mixi.
index cd44a83..706ec7d 100755 (executable)
@@ -577,6 +577,10 @@ comment \e$B%*%V%8%'%/%H$N3F<o>pJs$r<hF@$9$k$?$a$N%"%/%;%5%a%=%C%I$N0lMw$r0J\e(B
 @ref{mixi-remove-markup} \e$B$r;HMQ$9$k$3$H$,$G$-$^$9!#\e(B
 @end defun
 
+@defun mixi-comment-count comment
+\e$B?F%*%V%8%'%/%H$,%H%T%C%/$^$?$O%$%Y%s%H$N$H$-$N$_%3%a%s%HHV9f$rJV5Q$7$^$9!#\e(B
+@end defun
+
 @subsection message \e$B%*%V%8%'%/%H\e(B
 @cindex message \e$B%*%V%8%'%/%H\e(B
 
index e4cb651..d2646d0 100644 (file)
                                   ")"))))
             (concat prefix subject suffix))))))
 
-(defun mixi-make-author (object)
+(defun mixi-make-author (object &optional add-comment-count)
   (with-mixi-class object
-    (if (eq class 'mixi-news)
-       (mixi-news-media object)
-      (let ((owner (if (eq class 'mixi-log)
-                      (mixi-log-friend object)
-                    (mixi-object-owner object))))
-       (mixi-friend-nick owner)))))
+    (cond ((eq class 'mixi-news)
+          (mixi-news-media object))
+         ((and add-comment-count
+               (eq class 'mixi-comment)
+               (mixi-bbs-p (mixi-comment-parent object)))
+          (concat (mixi-comment-count object) " "
+                  (mixi-friend-nick (mixi-comment-owner object))))
+         (t
+          (let ((owner (if (eq class 'mixi-log)
+                           (mixi-log-friend object)
+                         (mixi-object-owner object))))
+            (mixi-friend-nick owner))))))
 
 (defun mixi-make-date (object)
   (let* ((time (mixi-object-time object))
diff --git a/mixi.el b/mixi.el
index 481773f..dbf2a30 100644 (file)
--- a/mixi.el
+++ b/mixi.el
   (autoload 'w3m-retrieve "w3m")
   (autoload 'url-retrieve-synchronously "url"))
 
-(defconst mixi-revision "$Revision: 1.175 $")
+(defconst mixi-revision "$Revision: 1.176 $")
 
 (defgroup mixi nil
   "API library for accessing to mixi."
@@ -2235,9 +2235,9 @@ Increase this value when unexpected error frequently occurs."
     (funcall func parent page)))
 
 ;; Comment object.
-(defun mixi-make-comment (parent owner time content)
+(defun mixi-make-comment (parent owner time content &optional count)
   "Return a comment object."
-  (cons 'mixi-comment (vector parent owner time content)))
+  (cons 'mixi-comment (vector parent owner time content count)))
 
 (defmacro mixi-comment-p (comment)
   `(eq (mixi-object-class ,comment) 'mixi-comment))
@@ -2266,6 +2266,12 @@ Increase this value when unexpected error frequently occurs."
     (signal 'wrong-type-argument (list 'mixi-comment-p comment)))
   (aref (cdr comment) 3))
 
+(defun mixi-comment-count (comment)
+  "Return the count of COMMENT."
+  (unless (mixi-comment-p comment)
+    (signal 'wrong-type-argument (list 'mixi-comment-p comment)))
+  (aref (cdr comment) 4))
+
 (defun mixi-diary-comment-list-page (diary)
   (concat "/view_diary.pl?full=1"
          "&id=" (mixi-diary-id diary)
@@ -2297,7 +2303,8 @@ Increase this value when unexpected error frequently occurs."
 
 ;; FIXME: Split regexp to time, owner(id and nick) and contents.
 (defconst mixi-topic-comment-list-regexp
-  "<span class=\"date\">\\([0-9]+\\)ǯ\\([0-9]+\\)·î\\([0-9]+\\)Æü \\([0-9]+\\):\\([0-9]+\\)</span></dt>
+  "<dt class=\"commentDate clearfix\"><span class=\"senderId\">\\(<input id=\"commentCheck01\" name=\"comment_id\" type=\"checkbox\" value=\"[0-9]+\" /><label for=\"commentCheck01\">\\|\\)\\([0-9]+\\)\\(<span class=\"deleteTextArea\"><a href=\"delete_bbs_comment\\.pl\\?id=[0-9]+&comm_id=[0-9]+&comment_id=[0-9]+\">¼«Ê¬¤Î¥³¥á¥ó¥È¤òºï½ü¤¹¤ë</a></span>\\|</label>\\|\\)</span>
+<span class=\"date\">\\([0-9]+\\)ǯ\\([0-9]+\\)·î\\([0-9]+\\)Æü \\([0-9]+\\):\\([0-9]+\\)</span></dt>
 <dd>
 <dl class=\"commentContent01\">
 <dt><a href=\"show_friend\\.pl\\?id=\\([0-9]+\\)\">\\(.*\\)</a></dt>
@@ -2312,7 +2319,8 @@ Increase this value when unexpected error frequently occurs."
 
 ;; FIXME: Split regexp to time, owner(id and nick) and contents.
 (defconst mixi-event-comment-list-regexp
-  "<span class=\"date\">\\([0-9]+\\)ǯ\\([0-9]+\\)·î\\([0-9]+\\)Æü \\([0-9]+\\):\\([0-9]+\\)</span></dt>
+  "<dt class=\"commentDate clearfix\"><span class=\"senderId\">\\(<input id=\"commentCheck01\" name=\"comment_id\" type=\"checkbox\" value=\"[0-9]+\" /><label for=\"commentCheck01\">\\|\\)\\([0-9]+\\)\\(<span class=\"deleteTextArea\"><a href=\"delete_bbs_comment\\.pl\\?id=[0-9]+&comm_id=[0-9]+&comment_id=[0-9]+\">¼«Ê¬¤Î¥³¥á¥ó¥È¤òºï½ü¤¹¤ë</a></span>\\|</label>\\|\\)</span>
+<span class=\"date\">\\([0-9]+\\)ǯ\\([0-9]+\\)·î\\([0-9]+\\)Æü \\([0-9]+\\):\\([0-9]+\\)</span></dt>
 <dd>
 <dl class=\"commentContent01\">
 <dt><a href=\"show_friend\\.pl\\?id=\\([0-9]+\\)\">\\(.*\\)</a></dt>
@@ -2336,7 +2344,8 @@ Increase this value when unexpected error frequently occurs."
       (setq page nil))
     (let ((items (mixi-get-matched-items page regexp range t)))
       (mapcar (lambda (item)
-               (let (owner-id owner-nick year month day hour minute content)
+               (let (owner-id owner-nick year month day hour minute content
+                              count)
                  (if (eq (mixi-object-class parent) 'mixi-diary)
                      (progn
                        (setq owner-id (nth 1 item))
@@ -2347,14 +2356,15 @@ Increase this value when unexpected error frequently occurs."
                        (setq hour (nth 7 item))
                        (setq minute (nth 8 item))
                        (setq content (nth 9 item)))
-                   (setq owner-id (nth 5 item))
-                   (setq owner-nick (nth 6 item))
-                   (setq year (nth 0 item))
-                   (setq month (nth 1 item))
-                   (setq day (nth 2 item))
-                   (setq hour (nth 3 item))
-                   (setq minute (nth 4 item))
-                   (setq content (nth 7 item)))
+                   (setq owner-id (nth 8 item))
+                   (setq owner-nick (nth 9 item))
+                   (setq year (nth 3 item))
+                   (setq month (nth 4 item))
+                   (setq day (nth 5 item))
+                   (setq hour (nth 6 item))
+                   (setq minute (nth 7 item))
+                   (setq content (nth 10 item))
+                   (setq count (nth 1 item)))
                  (mixi-make-comment parent (mixi-make-friend owner-id
                                                              owner-nick)
                                     (encode-time
@@ -2364,7 +2374,7 @@ Increase this value when unexpected error frequently occurs."
                                      (string-to-number day)
                                      (string-to-number month)
                                      (string-to-number year))
-                                    content)))
+                                    content count)))
              items))))
 
 (defmacro mixi-new-comment-list-page ()
index 56375ed..0b2feb0 100644 (file)
@@ -33,7 +33,7 @@
 (require 'mixi-utils)
 (require 'shimbun)
 
-(defconst shimbun-mixi-revision "$Revision: 1.59 $")
+(defconst shimbun-mixi-revision "$Revision: 1.60 $")
 
 (eval-and-compile
   (luna-define-class shimbun-mixi (shimbun) (comment-cache))
@@ -121,6 +121,11 @@ of mixi object."
   :group 'shimbun
   :type 'boolean)
 
+(defcustom shimbun-mixi-add-comment-count-to-author t
+  "*If non-nil, add comment count to author."
+  :group 'shimbun
+  :type 'boolean)
+
 ;; FIXME: Don't use this user option.
 (defcustom shimbun-mixi-page-articles 10
   "*How many articles are there in one page."
@@ -181,7 +186,7 @@ of mixi object."
                                       "^new-"
                                       (shimbun-current-group-internal
                                        shimbun)))
-             (mixi-make-author object)
+             (mixi-make-author object shimbun-mixi-add-comment-count-to-author)
              (mixi-make-date object)
              id
              (if (eq class 'mixi-comment)