package org.arong.egdownloader.ui.work;
import java.io.File;
import java.util.List;
import javax.swing.SwingWorker;
import org.arong.egdownloader.model.SearchTask;
import org.arong.egdownloader.spider.WebClient;
import org.arong.egdownloader.ui.ComponentConst;
import org.arong.egdownloader.ui.window.EgDownloaderWindow;
import org.arong.util.FileUtil;
/**
* 搜索漫画缓存封面下载的线程
* @author dipoo
* @since 2015-03-15
*/
public class DownloadCacheCoverWorker extends SwingWorker<Void, Void>{
private List<SearchTask> tasks;
private EgDownloaderWindow mainWindow;
public DownloadCacheCoverWorker(List<SearchTask> tasks, EgDownloaderWindow mainWindow){
this.mainWindow = mainWindow;
this.tasks = tasks;
}
protected Void doInBackground() throws Exception {
SearchTask task;
String localPath;
File cover;
if(tasks != null){
for(int i = 0; i < tasks.size(); i ++){
task = tasks.get(i);
localPath = ComponentConst.CACHE_PATH + "/" + FileUtil.filterDir(task.getUrl());
cover = new File(localPath);
if(cover == null || !cover.exists()){
try{
FileUtil.storeStream(ComponentConst.CACHE_PATH, FileUtil.filterDir(task.getUrl()),
WebClient.getStreamUseJavaWithCookie(task.getCoverUrl(), mainWindow.setting.getCookieInfo()));
}catch(Exception e){
//最多下两次
try{
FileUtil.storeStream(ComponentConst.CACHE_PATH, FileUtil.filterDir(task.getUrl()),
WebClient.getStreamUseJavaWithCookie(task.getCoverUrl(), mainWindow.setting.getCookieInfo()));
}catch(Exception e1){
}
}
}
}
}
return null;
}
}