public String getUrl() {
return url;
}
+
+ @Override
+ public String toString() {
+ return getUrl() + ", " + getNumber();
+ }
}
private static Log log = LogFactory.getLog(Config.class);
private static Config instance;
}
public List<NicoFeed> getNicoFeeds() {
- throw new UnsupportedOperationException("Not yet implemented");
+ List<NicoFeed> list = new ArrayList<NicoFeed>();
+ try {
+ List lines = FileUtils.readLines(FEEDURL_FILE, getEncoding());
+ for (Object line : lines) {
+ final String str = line.toString();
+ if (str.isEmpty() || str.startsWith("#")) {
+ // 空行, コメント行はスキップ.
+ continue;
+ }
+
+ String[] values = str.split(",");
+ NicoFeed feed = new NicoFeed(values[0].trim(), Integer.parseInt(values[1].trim()));
+ list.add(feed);
+ }
+ } catch (IOException ex) {
+ log.error("ファイルが見つかりません: " + FEEDURL_FILE);
+ }
+ return list;
}
}
# http://www.nicovideo.jp/tag/科学?sort=f&rss=2.0, 3\r
\r
# 新着コメント動画\r
-# http://www.nicovideo.jp/recent?rss=2.0\r
+# http://www.nicovideo.jp/recent?rss=2.0,10\r
\r
# 自然のマイリストランキング(月間)\r
# http://www.nicovideo.jp/ranking/mylist/monthly/nature?rss=2.0,10\r
import java.io.IOException;
import java.lang.reflect.Field;
import java.util.List;
+import nicobrowser.Config.NicoFeed;
import org.apache.commons.io.FileUtils;
import org.junit.After;
import org.junit.BeforeClass;
private static File CONFIG_FILE;
private static File FEEDURL_FILE;
private final File TEST_PROPERTY_FILE;
-// private final File TEST_FEED_FILE;
+ private final File TEST_FEED_FILE;
public ConfigTest() {
TEST_PROPERTY_FILE = new File("test/testdata/nicobrowser.properties");
-// TEST_FEED_FILE = new File("test/testdata/feedurl.txt");
+ TEST_FEED_FILE = new File("test/testdata/feedurl.txt");
}
@BeforeClass
try {
Config.createNewConfigFiles();
FileUtils.copyFile(TEST_PROPERTY_FILE, CONFIG_FILE);
+ FileUtils.copyFile(TEST_FEED_FILE, FEEDURL_FILE);
} catch (Exception ex) {
throw new RuntimeException(ex);
}
initConfig();
List<Config.NicoFeed> feeds = Config.getInstance().getNicoFeeds();
+ assertEquals(5, feeds.size());
+
+ NicoFeed feed = feeds.get(2);
+ assertEquals("http://www.nicovideo.jp/tag/科学?sort=f&rss=2.0", feed.getUrl());
+ assertEquals(3, feed.getNumber());
+
+ for (Config.NicoFeed nf : feeds) {
+ System.out.println(nf);
+ }
}
}
--- /dev/null
+http://www.nicovideo.jp/ranking/mylist/daily/all?rss=atom, 20\r
+\r
+\r
+# URL, 抽出数\r
+# というフォーマットで記載する.\r
+# カンマの後のスペースはあっても無くても可.\r
+# 抽出数は100以内.\r
+# 行頭が#の行はコメント扱い.\r
+\r
+\r
+### 記述例 ###\r
+### フィードのURLについては http://nicowiki.com/?RSSフィード一覧 などを参照のこと.\r
+\r
+# 新着投稿動画\r
+http://www.nicovideo.jp/newarrival?rss=2.0, 1\r
+\r
+# 新着動画(カテゴリ:科学)\r
+http://www.nicovideo.jp/tag/科学?sort=f&rss=2.0, 3\r
+\r
+# 新着コメント動画\r
+http://www.nicovideo.jp/recent?rss=2.0, 5\r
+\r
+# 自然のマイリストランキング(月間)\r
+http://www.nicovideo.jp/ranking/mylist/monthly/nature?rss=2.0,10\r