meta.setTitle(getTitle());
meta.setAuthor(getAuthor());
- meta.setDate(getDate());
+ meta.setDate(bsHelper.formatDate(getDate()));
meta.setTags(getTags());
meta.setSource(getType().getSourceName());
meta.setUrl(getSource().toString());
private String getAuthor() {
Element doc = getSourceNode();
- Elements tabEls = doc.getElementsByClass("projet-titre");
-
- String value = "";
- if (tabEls.size() >= 2) {
- value = StringUtils.unhtml(tabEls.get(1).text()).trim();
+ Element tabEls = doc.getElementsByClass("presentation-projet").first();
+ if (tabEls != null) {
+ String[] tab = tabEls.outerHtml().split("<br>");
+ return getVal(tab, 1);
}
- return value;
+ return "";
}
private List<String> getTags() {
- List<String> tags = new ArrayList<String>();
-
Element doc = getSourceNode();
- Elements tabEls = doc.getElementsByClass("projet-titre");
-
- if (tabEls.size() >= 4) {
- String values = StringUtils.unhtml(tabEls.get(3).text()).trim();
- for (String value : values.split(",")) {
- tags.add(value);
+ Element tabEls = doc.getElementsByClass("presentation-projet").first();
+ if (tabEls != null) {
+ String[] tab = tabEls.outerHtml().split("<br>");
+ List<String> tags = new ArrayList<String>();
+ for (String tag : getVal(tab, 3).split(" ")) {
+ tags.add(tag);
}
+ return tags;
}
- return tags;
+ return new ArrayList<String>();
+
}
private String getDate() {
}
}
- if (!value.isEmpty()) {
- try {
- long time = StringUtils.toTime(value);
- value = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
- .format(time);
- } catch (ParseException e) {
- }
- }
-
return value;
}
@Override
protected String getDesc() {
Element doc = getSourceNode();
- Elements tabEls = doc.getElementsByClass("projet-titre");
-
- String value = "";
- if (tabEls.size() >= 5) {
- value = StringUtils.unhtml(tabEls.get(4).text()).trim();
+ Element tabEls = doc.getElementsByClass("presentation-projet").first();
+ if (tabEls != null) {
+ String[] tab = tabEls.outerHtml().split("<br>");
+ return getVal(tab, 4);
}
- return value;
+ return "";
}
private Image getCover() {
InputStream coverIn;
try {
- coverIn = Instance.getCache().open(new URL(coverUrl), this,
- true);
+ coverIn = Instance.getInstance().getCache().open(new URL(coverUrl), this, true);
try {
return new Image(coverIn);
} finally {
coverIn.close();
}
} catch (IOException e) {
- Instance.getTraceHandler().error(e);
+ Instance.getInstance().getTraceHandler().error(e);
}
}
}
return null;
}
+ private String getVal(String[] tab, int i) {
+ String val = "";
+
+ if (i < tab.length) {
+ val = StringUtils.unhtml(tab[i]);
+ int pos = val.indexOf(":");
+ if (pos >= 0) {
+ val = val.substring(pos + 1).trim();
+ }
+ }
+
+ return val;
+ }
+
@Override
protected List<Entry<String, URL>> getChapters(Progress pg)
throws IOException {
StringBuilder builder = new StringBuilder();
- InputStream in = Instance.getCache().open(chapUrl, this, false);
+ InputStream in = Instance.getInstance().getCache().open(chapUrl, this, false);
try {
Element pageDoc = DataUtil.load(in, "UTF-8", chapUrl.toString());
Element content = pageDoc.getElementById("content");
Elements linkEls = content.getElementsByTag("img");
for (Element linkEl : linkEls) {
- if (linkEl.attr("src").trim().isEmpty()) {
+ if (linkEl.absUrl("src").isEmpty()) {
continue;
}
builder.append("[");
- builder.append(linkEl.absUrl("src").trim());
+ builder.append(linkEl.absUrl("src"));
builder.append("]<br/>");
}