(mixi-news-finished-regexp): Follow the change of mixi.
[elisp/mixi.git] / sb-mixi.el
index 1c2873b..e6b04e5 100644 (file)
@@ -18,9 +18,9 @@
 ;; GNU General Public License for more details.
 
 ;; You should have received a copy of the GNU General Public License
-;; along with this program; if not, you can either send email to this
-;; program's maintainer or write to: The Free Software Foundation,
-;; Inc.; 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+;; along with GNU Emacs; see the file COPYING.  If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
 
 ;;; Commentary:
 
@@ -33,6 +33,8 @@
 (require 'mixi-utils)
 (require 'shimbun)
 
+(defconst shimbun-mixi-revision "$Revision: 1.61 $")
+
 (eval-and-compile
   (luna-define-class shimbun-mixi (shimbun) (comment-cache))
   (luna-define-internal-accessors 'shimbun-mixi))
@@ -41,6 +43,7 @@
   '(("new-diaries" . mixi-get-new-diaries)
     ("new-comments" . mixi-get-new-comments)
     ("new-bbses" . mixi-get-new-bbses)
+    ("new-bbs-comments" . mixi-get-new-bbs-comments)
     ("messages" . mixi-get-messages)
     ("messages.sent" .
      (lambda (range)
     ("news.newest.it" .
      (lambda (range)
        (mixi-get-news 'IT 'newest range)))
+    ("news.newest.game-anime" .
+     (lambda (range)
+       (mixi-get-news 'game-anime 'newest range)))
+    ("news.newest.column" .
+     (lambda (range)
+       (mixi-get-news 'column 'newest range)))
     ("news.pickup.domestic" .
      (lambda (range)
        (mixi-get-news 'domestic 'pickup range)))
        (mixi-get-news 'entertainment 'pickup range)))
     ("news.pickup.it" .
      (lambda (range)
-       (mixi-get-news 'IT 'pickup range))))
+       (mixi-get-news 'IT 'pickup range)))
+    ("news.pickup.game-anime" .
+     (lambda (range)
+       (mixi-get-news 'game-anime 'pickup range)))
+    ("news.pickup.column" .
+     (lambda (range)
+       (mixi-get-news 'column 'pickup range))))
   "An alist of mixi shimbun group default definition.")
 
 (defcustom shimbun-mixi-group-alist nil
@@ -111,12 +126,17 @@ of mixi object."
   :type '(repeat (cons :fromat "%v"
                       (string :tag "Group name")
                       (radio (string :tag "URL")
-                             (const :tag "New diaries" mixi-get-new-diaries)
-                             (const :tag "New comments" mixi-get-new-comments)
-                             (const :tag "New BBSes" mixi-get-new-bbses)
-                             (const :tag "Messages" mixi-get-messages)
-                             (const :tag "Logs" mixi-get-logs)
-                             (function :tag "Other function")))))
+                             (function :tag "Function")))))
+
+(defcustom shimbun-mixi-get-profile-with-diary t
+  "*If non-nil, get his/her profile together with diaries."
+  :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
@@ -154,6 +174,11 @@ of mixi object."
     (catch 'stop
       (while objects
        (let ((object (car objects)))
+         (when (and shimbun-mixi-get-profile-with-diary
+                    (mixi-diary-p object))
+           (let ((owner (mixi-diary-owner object)))
+             (unless (mixi-object-realized-p owner)
+               (mixi-realize-friend owner))))
          (when (mixi-parent-p object)
            (let* ((comments (mixi-get-comments object range))
                   (comment-headers (shimbun-mixi-get-headers shimbun
@@ -173,7 +198,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)