package talkcrawler;
import java.io.IOException;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;
import java.util.TimeZone;
public class TalkCrawler {
/**
* COMMAND
* 引数がない場合には、前日の月のクローリングを行う
* 年月が指定された場合には、指定の月のクローリングを行う
* 引数に「all」が指定された場合には、すべてのクローリングをやり直す
*
* @param args
* @throws IOException
* @throws java.text.ParseException
*/
public static void main(String[] args) throws IOException, ParseException {
Calendar calendar = Calendar.getInstance();
if (args.length >= 1) {
String argStr = args[0];
if (argStr.toLowerCase().equals("all")) {
// 引数に「all」が指定された場合には、すべてのクローリングをやり直す
TalkCrawlerProperties prop = new TalkCrawlerProperties().load();
MonthlyIndex ins = new MonthlyIndex(prop);
ins.load();
return;
}
else {
// 年月が指定された場合には、指定の月のクローリングを行う
DateFormat inputDate = new SimpleDateFormat("yyyy-MM");
calendar.setTime(inputDate.parse(argStr));
calendar.add(Calendar.MONTH, 1);
}
}
else {
// 引数がない場合には、前日の月のクローリングを行う
calendar.setTime(new Date());
calendar.add(Calendar.DAY_OF_MONTH, -1);
}
DateFormat df = new SimpleDateFormat("yyyy-MMMMMMMM", Locale.UK);
df.setTimeZone(TimeZone.getTimeZone("GMT"));
String monthly = df.format(calendar.getTime());
System.out.println("TalkCrawler "+ monthly);
TalkCrawlerProperties prop = new TalkCrawlerProperties().load();
DailyIndex ins = new DailyIndex(prop, monthly, "date.html");
ins.load();
}
}