OSDN Git Service

新しいコメント取得APIに渡すためのパラメータ作成メソッド実装
authoryukihane <yukihane.feather@gmail.com>
Sun, 14 Aug 2011 22:29:42 +0000 (07:29 +0900)
committeryukihane <yukihane.feather@gmail.com>
Mon, 15 Aug 2011 02:02:23 +0000 (11:02 +0900)
src/nicobrowser/NicoHttpClient.java

index be4664e..963906b 100644 (file)
@@ -29,6 +29,7 @@ import java.net.URLEncoder;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Enumeration;
+import java.util.HashMap;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
@@ -831,6 +832,55 @@ public class NicoHttpClient {
         }
     }
 
+    private String createCommendDownloadParameter(VideoInfo vi, boolean isTcomm, WayBackInfo wayback) {
+        final String quote = "\"";
+        final Map<String, String> th = new HashMap<String, String>();
+        th.put("thread", vi.getThreadId());
+        th.put("version", "20090904");
+        th.put("user_id", vi.getUserId());
+
+        final Map<String, String> leaf = new HashMap<String, String>();
+        leaf.put("thread", vi.getThreadId());
+        leaf.put("user_id", vi.getUserId());
+
+        // TODO videoLengh は秒数が入っているんだっけ?
+        final int length = (int) Math.ceil(vi.getVideoLength() / 60.0);
+        final String element = "0-" + length + ":100," + vi.getResFrom();
+
+        final StringBuilder str = new StringBuilder();
+        str.append("<packet>");
+
+        str.append("<thread");
+        for (String k : th.keySet()) {
+            final String v = th.get(k);
+            str.append(" ");
+            str.append(k);
+            str.append("=");
+            str.append(quote);
+            str.append(v);
+            str.append(quote);
+        }
+        str.append(" />");
+
+        str.append("<thread_leaves");
+        for (String k : leaf.keySet()) {
+            final String v = th.get(k);
+            str.append(" ");
+            str.append(k);
+            str.append("=");
+            str.append(quote);
+            str.append(v);
+            str.append(quote);
+        }
+        str.append(">");
+        str.append(element);
+        str.append("</thread_leaves>");
+
+        str.append("</packet>");
+
+        return str.toString();
+    }
+
     /**
      * 2010/12/22 までのコメント表示仕様に基づいた取得パラメータ生成.
      * 「コメントの量を減らす」にチェックを入れた場合は現在でもこれが用いられているはず.