import org.apache.commons.cli.ParseException;
import org.apache.commons.cli.PosixParser;
import org.apache.commons.io.FilenameUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class Main {
- public static final String VERSION = "version 0.9.2";
- private static Log log = LogFactory.getLog(Main.class);
+ public static final String VERSION = "0.11.0";
+ private static Logger log = LoggerFactory.getLogger(Main.class);
public static void main(String[] args) throws Exception {
final boolean res = Config.createNewConfigFiles();
NicoHttpClient instance = null;
try {
log.info("リストを取得します");
- instance = new NicoHttpClient();
+ if (config.getProxyUse()) {
+ final int port = Integer.parseInt(config.getProxyPort());
+ instance = new NicoHttpClient(config.getProxyHost(), port);
+ } else {
+ instance = new NicoHttpClient();
+ }
List<NicoFeed> feeds = config.getNicoFeeds();
for (NicoFeed f : feeds) {
List<NicoContent> list = instance.getContentsFromRss(f.getUrl());
setParameter(1, NicoContent.Status.GET_FILE);
@SuppressWarnings("unchecked")
List<NicoContent> results = query.getResultList();
- instance.login(config.getNicoMail(), config.getNicoPassword());
Date prevDate = null;
for (NicoContent c : results) {
if (c.getFailTimes() >= config.getMaxRetry()) {
}
prevDate = Calendar.getInstance().getTime();
File saveDir = new File(config.getSrcSaveDir());
- NamePattern np = new NamePattern(config.getFileNamePattern(), config.getFileNameReplaceFrom(), config.
- getFileNameReplaceTo(), c.getTitle());
+ NamePattern np = new NamePattern(config.getFileNamePattern(), c.getTitle());
log.info("ファイルを取得します: " + c.getNicoId() + " " + c.getTitle());
+ final boolean authed = instance.challengeAuth();
+ if (!authed) {
+ log.info("ログインします");
+ instance.login(config.getNicoMail(), config.getNicoPassword());
+ }
try {
VideoInfo vi = instance.getVideoInfo(c.getNicoId());
GetFlvResult result = instance.getFlvFile(vi, saveDir, np, c.getStatus(), config.needLowFile(),
ProgressListener.EMPTY_LISTENER);
- c.setFileName(FilenameUtils.getBaseName(result.getFile().toString()));
+ final File f = result.getFile();
+ if(f != null){
+ c.setFileName(FilenameUtils.getBaseName(f.toString()));
+ }
c.setAuthor(result.getAuthor());
Status status = result.getStatus();
c.setStatus(status);