summaryrefslogtreecommitdiff
path: root/pistar/pistar-activity-report
blob: 572bf4cd4d429797dcc2203ba7c986197d12d835 (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
#!/usr/bin/perl

use strict;
use Getopt::Std;
use POSIX qw(strftime);
use Sys::Hostname;

our($opt_f, $opt_s, $opt_r);
my $nowiso = strftime "%Y-%m-%d", gmtime(time - 86400);

getopts('f:r:s:');
if( !defined($opt_f)){
	$opt_f = sprintf("/var/log/pi-star/MMDVM-%s.log", $nowiso);
}
if( ! -f $opt_f ){
	print STDERR "File $opt_f not found\n";
	exit 1;
}

if( !defined($opt_s) || !defined($opt_r) ){
	print STDERR "Usage: pistar-activity-report [-f FILE] -s SENDERADDR -r RECEIVEADDR[,RECEIVEADDR]\n";
	exit 1;
}

my $dstar=0;
my $dmr=0;

open(IN, "<" . $opt_f) or die($!);
while(<IN>){
	chomp $_;
	
	if( $_ =~ m/D\-Star,\s+received\s+\w+\send of transmission/ ){
		( my $s = $_ ) =~ s/^.*\s([0-9]+\.[0-9])\sseconds.*$/$1/;
		$dstar += $s;
	} elsif( $_ =~ m/DMR.*received network end of voice/) {
		( my $s = $_ ) =~ s/^.*\s([0-9]+\.[0-9])\sseconds.*$/$1/;
		$dmr += $s; 
	}
}
close(IN);

printf("From: %s\n", $opt_s);
printf("To: %s\n", $opt_r);
printf("Subject: %s - Daily Tx Report for %s (UTC)\n", hostname, $nowiso);
print "\n";
printf("D-STAR TX Seconds: %i\n", $dstar);
printf("DMR TX Seconds: %i\n", $dmr);
print "\n";
print "DSTAR,DMR\n";
printf("%i,%i\n", $dstar, $dmr);

exit 0;