extract modification date from vCard (vcfParser)

pull/14/head
reger 10 years ago
parent 8768896975
commit 41c4eade51

@ -32,6 +32,7 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
@ -39,6 +40,7 @@ import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import net.yacy.cora.date.ISO8601Formatter;
import net.yacy.cora.document.encoding.UTF8;
import net.yacy.cora.document.id.AnchorURL;
import net.yacy.cora.order.Base64Order;
@ -81,6 +83,7 @@ public class vcfParser extends AbstractParser implements Parser {
final HashMap<String, String> parsedData = new HashMap<String, String>();
final List<AnchorURL> anchors = new ArrayList<AnchorURL>();
final LinkedList<String> parsedNames = new LinkedList<String>();
Date revDate = null; // rev=modified date
boolean useLastLine = false;
int lineNr = 0;
@ -183,6 +186,13 @@ public class vcfParser extends AbstractParser implements Parser {
parsedDataText.append(value).append("\r\n");
}
parsedDataText.append("\r\n");
// get specific meta data from parsed key-value
value = parsedData.get("REV"); // modified date
if (value != null && !value.isEmpty()) {
try {
revDate = ISO8601Formatter.FORMATTER.parse(value, 0).getTime();
} catch(ParseException ex){ }
}
parsedData.clear();
} else if (key.toUpperCase().startsWith("URL")) {
try {
@ -235,7 +245,7 @@ public class vcfParser extends AbstractParser implements Parser {
null,
null, // a treeset of image URLs
false,
new Date())};
revDate)}; // modified date
} catch (final Exception e) {
if (e instanceof InterruptedException) throw (InterruptedException) e;
if (e instanceof Parser.Failure) throw (Parser.Failure) e;

Loading…
Cancel
Save