OSDN Git Service

ZeroでWatchページからタイトルを取得する
[coroid/NicoBrowser.git] / src / nicobrowser / util / Util.java
1 /*$Id$*/
2 package nicobrowser.util;
3
4 import java.io.InputStream;
5 import java.net.MalformedURLException;
6 import java.net.URL;
7 import java.util.List;
8 import java.util.TreeMap;
9 import org.slf4j.Logger;
10 import org.slf4j.LoggerFactory;
11
12 public class Util {
13
14     private static final Logger logger = LoggerFactory.getLogger(Util.class);
15     static ResultParse rp = new ResultParse();
16     static WatchParse wp = new WatchParse();
17     static UserInfo ui = new UserInfo();
18
19     public static String getExtention(String contentType) {
20         if ("video/flv".equals(contentType) || "video/x-flv".equals(contentType)) {
21             return "flv";
22         } else if ("video/mp4".equals(contentType)) {
23             return "mp4";
24         } else if ("application/x-shockwave-flash".equals(contentType)) {
25             return "swf";
26         }
27         return contentType.split("/")[1];
28     }
29
30     public static List<Result> parseSearchResult(InputStream is) {
31         return rp.parse(is);
32     }
33
34     public static TreeMap<Integer, String> getOtherPages(InputStream is) {
35         return rp.getOtherPages(is);
36     }
37
38     /**
39      * ユーザIDを取得する
40      * @param is ニコニコ動画のウォッチページストリーム.
41      * @return ユーザID. 取得できなければnull.
42      */
43     public static String getUserId(InputStream is) {
44         return ui.getUserId(is);
45     }
46
47     /**
48      * 違反通報ページURLを取得する.
49      * @param is ニコニコ動画のウォッチページストリーム.
50      * @return 違反通報ページURL. 取得できなければnull.
51      */
52     public static URL getNotifierUrl(InputStream is) {
53         String res = ui.getNotifierUrl(is);
54         if (res == null) {
55             return null;
56         }
57
58         try {
59             return new URL(res);
60         } catch (MalformedURLException ex) {
61             logger.error(null, ex);
62             return null;
63         }
64     }
65
66     /**
67      * ユーザ名を取得する.
68      * @param is 違反通報ページストリーム.
69      * @return ユーザ名. 取得できなければnull.
70      */
71     public static String getUserName(InputStream is) {
72         String userName = ui.getUserName(is);
73         if ("".equals(userName)) {
74             userName = null;
75         }
76         return userName;
77     }
78
79     public static String getTitle(InputStream watchPage) {
80         return wp.getTitle(watchPage);
81     }
82 }