summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
581d42c)
- accept title and author from SUMMARY files (first line is title, second line is author if starting with ©, rest is descriptions
- accept URL from URL files (first line)
-The GUI is now good enough to be released (export is still CLI-only though).
-
+- the GUI is now good enough to be released (export is still CLI-only though)
- bugs fixed
- GUI improved (a lot)
- should be good enough for 1.0.0
- bugs fixed
- GUI improved (a lot)
- should be good enough for 1.0.0
-Minimum JVM version: Java 1.6 (all binary JAR files will be released in 1.6).
-
+- minimum JVM version: Java 1.6 (all binary JAR files will be released in 1.6)
- bugs fixed
## Version 0.9.1
- bugs fixed
## Version 0.9.1
if (meta != null) {
writer.write(meta.getUuid());
}
if (meta != null) {
writer.write(meta.getUuid());
}
- writer.write("\n\n");
- writer.write(builder.toString());
} finally {
writer.close();
}
} finally {
writer.close();
}
import be.nikiroo.utils.ImageUtils;
import be.nikiroo.utils.MarkableFileInputStream;
import be.nikiroo.utils.Progress;
import be.nikiroo.utils.ImageUtils;
import be.nikiroo.utils.MarkableFileInputStream;
import be.nikiroo.utils.Progress;
+import be.nikiroo.utils.StringUtils;
/**
* Support class for EPUB files created with this program (as we need some
/**
* Support class for EPUB files created with this program (as we need some
* @author niki
*/
class Epub extends InfoText {
* @author niki
*/
class Epub extends InfoText {
+ private File tmp;
+ private String desc;
private URL fakeSource;
private InputStream fakeIn;
private URL fakeSource;
private InputStream fakeIn;
@Override
protected String getDesc(URL source, InputStream in) throws IOException {
@Override
protected String getDesc(URL source, InputStream in) throws IOException {
+ if (desc != null) {
+ return desc;
+ }
+
if (fakeIn != null) {
fakeIn.reset();
return super.getDesc(fakeSource, fakeIn);
if (fakeIn != null) {
fakeIn.reset();
return super.getDesc(fakeSource, fakeIn);
fakeSource = tmp.toURI().toURL();
BufferedImage cover = null;
fakeSource = tmp.toURI().toURL();
BufferedImage cover = null;
+ String url = source.toString();
+ String title = null;
+ String author = null;
+
for (ZipEntry entry = zipIn.getNextEntry(); entry != null; entry = zipIn
.getNextEntry()) {
if (!entry.isDirectory()
&& entry.getName().startsWith(getDataPrefix())) {
String entryLName = entry.getName().toLowerCase();
for (ZipEntry entry = zipIn.getNextEntry(); entry != null; entry = zipIn
.getNextEntry()) {
if (!entry.isDirectory()
&& entry.getName().startsWith(getDataPrefix())) {
String entryLName = entry.getName().toLowerCase();
boolean imageEntry = false;
for (String ext : getImageExt(false)) {
if (entryLName.endsWith(ext)) {
boolean imageEntry = false;
for (String ext : getImageExt(false)) {
if (entryLName.endsWith(ext)) {
}
}
} else if (entry.getName().equals(getDataPrefix() + "URL")) {
}
}
} else if (entry.getName().equals(getDataPrefix() + "URL")) {
+ String[] descArray = StringUtils
+ .unhtml(IOUtils.readSmallStream(zipIn)).trim()
+ .split("\n");
+ if (descArray.length > 0) {
+ url = descArray[0].trim();
+ }
} else if (entry.getName().equals(getDataPrefix() + "SUMMARY")) {
} else if (entry.getName().equals(getDataPrefix() + "SUMMARY")) {
+ String[] descArray = StringUtils
+ .unhtml(IOUtils.readSmallStream(zipIn)).trim()
+ .split("\n");
+ int skip = 0;
+ if (descArray.length > 1) {
+ title = descArray[0].trim();
+ skip = 1;
+ if (descArray.length > 2
+ && descArray[1].startsWith("©")) {
+ author = descArray[1].substring(1).trim();
+ skip = 2;
+ }
+ }
+ this.desc = "";
+ for (int i = skip; i < descArray.length; i++) {
+ this.desc += descArray[i].trim() + "\n";
+ }
+
+ this.desc = this.desc.trim();
} else {
// Hopefully the data file
IOUtils.write(zipIn, tmp);
} else {
// Hopefully the data file
IOUtils.write(zipIn, tmp);
tmpInfo.delete();
} else {
meta = new MetaData();
tmpInfo.delete();
} else {
meta = new MetaData();
- meta.setUuid(source.toString());
meta.setLang("EN");
meta.setTags(new ArrayList<String>());
meta.setSource(getSourceName());
meta.setLang("EN");
meta.setTags(new ArrayList<String>());
meta.setSource(getSourceName());
- meta.setUrl(source.toString());
+ meta.setUuid(url);
+ meta.setUrl(url);
+ meta.setTitle(title);
+ meta.setAuthor(author);