Skip to content

Commit

Permalink
Add httrack2warc version to warcinfo
Browse files Browse the repository at this point in the history
  • Loading branch information
ato committed Oct 27, 2017
1 parent f41b904 commit ec0b6d6
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 4 deletions.
25 changes: 21 additions & 4 deletions src/au/gov/nla/httrack2warc/Httrack2Warc.java
Original file line number Diff line number Diff line change
Expand Up @@ -23,16 +23,14 @@
import java.io.IOException;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.net.URL;
import java.net.URLEncoder;
import java.nio.file.*;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.time.Instant;
import java.time.ZoneId;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
import java.util.UUID;
import java.util.*;

public class Httrack2Warc {
private final static Logger log = LoggerFactory.getLogger(Httrack2Warc.class);
Expand Down Expand Up @@ -149,13 +147,32 @@ private String formatWarcInfo(HttrackCrawl crawl) {
info.append("software: HTTrack/").append(crawl.getHttrackVersion()).append(" http://www.httrack.com/\r\n");
}

String selfVersion = getSelfVersion();
if (selfVersion != null) {
info.append("software: httrack2warc/").append(selfVersion).append(" https://github.com/nla/httrack2warc\r\n");
} else {
info.append("software: httrack2warc https://github.com/nla/httrack2warc\r\n");
}

if (crawl.getHttrackOptions() != null) {
info.append("httrackOptions: ").append(crawl.getHttrackOptions()).append("\r\n");
}

return info.toString();
}

static String getSelfVersion() {
URL resource = Httrack2Warc.class.getResource("/META-INF/maven/au.gov.nla/httrack2warc/pom.properties");
if (resource == null) return null;
try (InputStream stream = resource.openStream()) {
Properties properties = new Properties();
properties.load(stream);
return properties.getProperty("version");
} catch (IOException e) {
return null;
}
}

private static String encodePath(Path path) throws UnsupportedEncodingException {
return URLEncoder.encode(path.toString(), "UTF-8")
.replace("+", "%20")
Expand Down
1 change: 1 addition & 0 deletions test/au/gov/nla/httrack2warc/Httrack2WarcTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ public void test() throws IOException {
} else if (type.equals("warcinfo")) {
String payload = slurp(warcRecord.getPayloadContent());
assertEquals("software: HTTrack/3.49-2 http://www.httrack.com/\r\n" +
"software: httrack2warc https://github.com/nla/httrack2warc\r\n" +
"httrackOptions: -%H http://test.example.org/\r\n", payload);
}
}
Expand Down

0 comments on commit ec0b6d6

Please sign in to comment.