package org.geometerplus.fbreader.formats.umd;
import org.geometerplus.fbreader.bookmodel.BookModel;
import org.geometerplus.fbreader.formats.FormatPlugin;
import org.geometerplus.fbreader.formats.txt.TxtReader;
import org.geometerplus.fbreader.library.Book;
import org.geometerplus.zlibrary.core.filesystem.ZLFile;
import org.geometerplus.zlibrary.core.image.ZLImage;
/**
* @author hym E-mail:hymmyh@gmail.com
* @version 创建时间:2011-1-27 下午01:15:55
* 类说明
*/
public class UmdPlugin extends FormatPlugin {
private UMDFile umdFile;
@Override
public boolean acceptsFile(ZLFile file) {
return "umd".equalsIgnoreCase(file.getExtension());
}
@Override
public String readAnnotation(ZLFile file) {
return "flybook-umd";
}
@Override
public ZLImage readCover(ZLFile file) {
// System.out.println("---hym file size--:"+file.size());
umdFile = new UMDFile();
umdFile.readcover(file.getPath(),file.size());
return new UmdCoverReader().readCover(file,umdFile) ;
}
@Override
public boolean readMetaInfo(Book book) {
// 作者 书名 等
umdFile = new UMDFile();
boolean flag = umdFile.readmeta(book.File.getPath());
int pageNum = umdFile.getContentSize();
// System.out.println("pageNum " + pageNum);
book.addAuthor(umdFile.bookInfo.author);
book.setTitle(umdFile.bookInfo.title);
return flag;
}
@Override
public boolean readModel(BookModel model) {
//
return new UmdReader(model).readBook(model.Book.File);
}
}