From: bg66 
Date: Thu, 7 Aug 2008 14:26:50 +0000 (+0000)
Subject: (mixi-get-friends): Follow the change of mixi.
X-Git-Tag: mixi-el-1_5_0~2
X-Git-Url: http://git.chise.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6760587c1526fcfbb1f165c4d7152f13903141d6;p=elisp%2Fmixi.git
(mixi-get-friends): Follow the change of mixi.
(mixi-my-friend-list-page): New function.
(mixi-friend-list-page): Change from macro to function.
(mixi-my-friend-list-nick-regexp): New constant.
(mixi-friend-list-nick-regexp): Fix regexp.
---
diff --git a/ChangeLog b/ChangeLog
index 8b13054..6971cd7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2008-08-07  OHASHI Akira  
+
+	* mixi.el (mixi-get-friends): Follow the change of mixi.
+	(mixi-my-friend-list-page): New function.
+	(mixi-friend-list-page): Change from macro to function.
+	(mixi-my-friend-list-nick-regexp): New constant.
+	(mixi-friend-list-nick-regexp): Fix regexp.
+
 2008-08-05  OHASHI Akira  
 
 	* sb-mixi.el (shimbun-mixi-default-group-alist): Add echo group.
diff --git a/mixi.el b/mixi.el
index 80491ea..a9e04ff 100644
--- a/mixi.el
+++ b/mixi.el
@@ -142,7 +142,7 @@
   (autoload 'w3m-retrieve "w3m")
   (autoload 'url-retrieve-synchronously "url"))
 
-(defconst mixi-revision "$Revision: 1.191 $")
+(defconst mixi-revision "$Revision: 1.192 $")
 
 (defgroup mixi nil
   "API library for accessing to mixi."
@@ -1058,12 +1058,16 @@ Increase this value when unexpected error frequently occurs."
     (signal 'wrong-type-argument (list 'mixi-friend-p friend)))
   (aset (cdr friend) 13 profile))
 
-(defmacro mixi-friend-list-page (&optional friend)
-  `(concat "/list_friend.pl?page=%d"
-	   (when ,friend (concat "&id=" (mixi-friend-id ,friend)))))
+(defun mixi-my-friend-list-page (&optional dummy)
+  (concat "/list_friend_simple.pl?page=%d"))
+
+(defun mixi-friend-list-page (friend)
+  (concat "/list_friend.pl?page=%d&id=" (mixi-friend-id friend)))
 
 (defconst mixi-friend-list-id-regexp
   "\\(.+\\)([0-9]+)
")
 (defconst mixi-friend-list-nick-regexp
   "\\(.+\\)¤µ¤ó([0-9]+)")
 
@@ -1080,19 +1084,25 @@ Increase this value when unexpected error frequently occurs."
       (setq range (nth 0 friend-or-range)))
     (unless (or (null friend) (mixi-friend-p friend))
       (signal 'wrong-type-argument (list 'mixi-friend-p friend)))
-    (let ((ids (mixi-get-matched-items (mixi-friend-list-page friend)
-				       mixi-friend-list-id-regexp
-				       range))
-	  (nicks (mixi-get-matched-items (mixi-friend-list-page friend)
-					 mixi-friend-list-nick-regexp
-					 range)))
-      (let ((index 0)
-	    ret)
-	(while (< index (length ids))
-	  (setq ret (cons (mixi-make-friend (nth 0 (nth index ids))
-					    (nth 0 (nth index nicks))) ret))
-	  (incf index))
-	(reverse ret)))))
+    (let (list-page list-nick-regexp)
+      (if (or (null friend) (equal friend mixi-me))
+	  (setq list-page 'mixi-my-friend-list-page
+		list-nick-regexp mixi-my-friend-list-nick-regexp)
+	  (setq list-page 'mixi-friend-list-page
+		list-nick-regexp mixi-friend-list-nick-regexp))
+      (let ((ids (mixi-get-matched-items (funcall list-page friend)
+					 mixi-friend-list-id-regexp
+					 range))
+	    (nicks (mixi-get-matched-items (funcall list-page friend)
+					   list-nick-regexp
+					   range)))
+	(let ((index 0)
+	      ret)
+	  (while (< index (length ids))
+	    (setq ret (cons (mixi-make-friend (nth 0 (nth index ids))
+					      (nth 0 (nth index nicks))) ret))
+	    (incf index))
+	  (reverse ret))))))
 
 ;; Favorite.
 (defmacro mixi-favorite-list-page ()