OSDN Git Service

ZeroでWatchページからタイトルを取得する
[coroid/NicoBrowser.git] / src / nicobrowser / util / Util.java
index 3881fc8..bc9408d 100644 (file)
@@ -2,11 +2,19 @@
 package nicobrowser.util;
 
 import java.io.InputStream;
+import java.net.MalformedURLException;
+import java.net.URL;
 import java.util.List;
+import java.util.TreeMap;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class Util {
 
+    private static final Logger logger = LoggerFactory.getLogger(Util.class);
     static ResultParse rp = new ResultParse();
+    static WatchParse wp = new WatchParse();
+    static UserInfo ui = new UserInfo();
 
     public static String getExtention(String contentType) {
         if ("video/flv".equals(contentType) || "video/x-flv".equals(contentType)) {
@@ -19,11 +27,56 @@ public class Util {
         return contentType.split("/")[1];
     }
 
-    public static List<Result> parseSerchResult(InputStream is) {
+    public static List<Result> parseSearchResult(InputStream is) {
         return rp.parse(is);
     }
 
-    public static String getNextPage(InputStream is) {
-        return rp.getNextPage(is);
+    public static TreeMap<Integer, String> getOtherPages(InputStream is) {
+        return rp.getOtherPages(is);
+    }
+
+    /**
+     * ユーザIDを取得する
+     * @param is ニコニコ動画のウォッチページストリーム.
+     * @return ユーザID. 取得できなければnull.
+     */
+    public static String getUserId(InputStream is) {
+        return ui.getUserId(is);
+    }
+
+    /**
+     * 違反通報ページURLを取得する.
+     * @param is ニコニコ動画のウォッチページストリーム.
+     * @return 違反通報ページURL. 取得できなければnull.
+     */
+    public static URL getNotifierUrl(InputStream is) {
+        String res = ui.getNotifierUrl(is);
+        if (res == null) {
+            return null;
+        }
+
+        try {
+            return new URL(res);
+        } catch (MalformedURLException ex) {
+            logger.error(null, ex);
+            return null;
+        }
+    }
+
+    /**
+     * ユーザ名を取得する.
+     * @param is 違反通報ページストリーム.
+     * @return ユーザ名. 取得できなければnull.
+     */
+    public static String getUserName(InputStream is) {
+        String userName = ui.getUserName(is);
+        if ("".equals(userName)) {
+            userName = null;
+        }
+        return userName;
+    }
+
+    public static String getTitle(InputStream watchPage) {
+        return wp.getTitle(watchPage);
     }
 }