aboutsummaryrefslogtreecommitdiffstats
path: root/funny.html
blob: a044843ec9d0147c53dc9f89bc69995d643922dd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#!/usr/bin/perl
#
# Extract information on the fetchmail project size from the NEWS file
#
# Note: this only works if you have a news file from 5.1.1 or later --
# I didn't patch the code sizes into NEWS until then.
#
my($release, $date, $jdate);

%month_offsets = (
	"Jan",   0,
	"Feb",   31,
	"Mar",   59,
	"Apr",   90,
	"May",   120,
	"Jun",   151,
	"Jul",   181,
	"Aug",   212,
	"Sep",   243,
	"Oct",   273,
	"Nov",   304,
	"Dec",   334,
);


sub day_offset
{
    my($datestring) = @_;
    my($wday, $month, $day, $time, $zone, $year) = split(' ', $datestring);
    my($jdate);

    # We don't deal with leap years here because the baseline day is after
    # the last leap year (1996) and there's a long time before the next
    # one (2004).
    $jdate = ($year - 1996) * 365;

    $jdate += $month_offsets{$month};

    $jdate += ($day - 1);

    # Baseline day for the size data was Fri Oct 25 23:02:26 EDT 1996 
    $jdate -= 297;

    return($jdate);
}

open(NEWS, "NEWS");
$timestamp = `date`;
chop 
= "unknown"; $date = "unknown"; $jdate = "unknown"; print <<EOF; # Population data from fetchmail NEWS file, as of $timestamp. # # Output other than pass-through % lines is tab-separated fields. # Field 1: release ID # Field 2: count of source lines under version control # Field 3: count of fetchmail-friends subscribers # Field 4: count of fetchmail-announce subscribers # Field 5: total subscribers to both lists # Field 6: date of release (days since first datum) # Field 7: date of release (RFC822 date format) # EOF while ($_ = <NEWS>) { my($sum); if (/^%/) { print $_; } elsif (/^fetchmail-([^ ]*) \(([^)]+)\)(, [0-9]* lines)?:/) { $release = $1; $date = $2; $jdate = &day_offset($date); if ($3) { $lines = substr($3, 2, length($3) - 8); } else { $lines = 'na' } } elsif (/There are ([0-9]*) people on fetchmail-friends and ([0-9]*) on fetchmail-announce/) { $sum = $1 + $2; print "${release}\t${lines}\t$1\t$2\t${sum}\t${jdate}\t${date}\n"; $release = "unknown"; $date = "unknown"; } elsif (/There are ([0-9]*) people on the fetchmail-friends list./) { print "$release\t${lines}\t$1\t0\t$1\t$jdate\t$date\n"; $release = "unknown"; $date = "unknown"; } } # end