* Import keyanalyze into signing-party. Thanks to Matthew Wilcox for the
[pgp-tools.git] / keyanalyze / willy / msd2html
1 #!/usr/bin/perl
2 # this short script is for making the HTML for the top50 report monthly
3 # Copyright (c)2001 M. Drew Streib
4 # This code is released under the GPL version 2 or later.
5
6 # Modifications (c) Copyright 2003-2004 Matthew Wilcox for subset analyses.
7
8 $options = $ARGV[0];
9 $server='http://keyserver.kjsl.com:11371/';
10 $oldmsd = 0;
11 $oldrank = 0;
12
13 while ($line = <STDIN>) {
14 $line =~ /\s+(\d+)\s+((\w|\d)+)\s+((\w|\d)+)\s+((\d|\.)+)/;
15 $rank = $1;
16 $key0 = $2;
17 $key = $4;
18 $msd = $6;
19 $keylink = substr($key, 0, 2)."/$key";
20 if ($msd == $oldmsd) {
21 $rank = $oldrank;
22 } else {
23 $oldrank = $rank;
24 $oldmsd = $msd;
25 }
26
27 $command = "gpg --options $options --list-keys $key";
28 $output = `$command`;
29 if ($output =~ /\d\d\d\d\-\d\d\-\d\d (.*) <.*/) {
30 $name = $1;
31 } elsif ($output =~ /\d\d\d\d\-\d\d\-\d\d (.*)\n/) {
32 $name = $1;
33 } else {
34 print "failed to parse: $output";
35 $name = $rank;
36 }
37
38 $command = 'grep "'.$key.'" msd-sorted.txt';
39 $rawmsd = `$command`;
40 if ($rawmsd) {
41 $rawmsd =~ / *(\d+) \w+ \w+ *((\d|\.)+)/;
42 $grank = $1;
43 $gmsd = $2;
44 } else {
45 $grank = '';
46 $gmsd = '';
47 }
48
49 print "<TR><TD>$rank</TD><TD><A href=\"${keylink}\">$key</A></TD><TD><A href=\"${server}pks/lookup?search=0x$key\&amp;op=vindex\">$name</A></TD><TD align=\"right\">$msd</TD><TD align=\"right\">$grank</TD><TD align=\"right\">$gmsd</TD></TR>\n";
50 }