{ version => '02', contest_name => 'TARA Grid Dip psk-rtty Shindig', contest_id => 'TARA-GRID-DIP', filter => { # mode => \"IN ('PSK31', 'BPSK', 'BPSK31', 'RTTY')", # TODO -- include *PSK* band => \"IN ('160M','80M','40M','20M','15M','10M','6M')", }, defaults => { log_cols => [qw/ call qso_date time_on band mode srx grid4 /], # http://www.n2ty.org/seasons/tara_grid_score.html placeholders => [qw/ Name Email EntryCategory EntryMode SOAPBOX /], scoreboard_cols => [qw/ entrycategory entrymode /], dropbox_options => { EntryCategory => ['QRP', 'LOW', 'HIGH', 'ROVER', 'SWL', 'Check Log'], EntryMode => ['PSK', 'RTTY'], }, update => sub { my $row = shift; my %h; if( $row->{srx} =~ /\b([A-Z][A-Z])(\d\d)([a-z][a-z])?\b/i ){ $h{gridsquare} = uc "$1$2$3"; $h{grid4} = uc "$1$2"; $h{grid2} = uc "$1"; } if( !$h{grid4} && !$row->{grid4} ){ $h{contest_use} = "No Grid"; } return \%h; }, Qs => [ { label => "ERRORS", weight => 0, group_by => 'call,qso_date,time_on,band,srx, contest_use', where => { contest_use => {'!='=>1} } }, { label => "Qs", weight => 1, group_by => 'band,call,grid4', where => { contest_use => 1 } }, ], mults => [ { weight=> 1, label => 'Grid Squares', group_by => 'band,grid4', where => { contest_use => 1 } }, ], contest_url => 'http://www.n2ty.org/seasons/tara_grid_rules.html', contest_logo => 'http://www.n2ty.org/seasons/images/tara_head_grid.jpg', }, years => { 2010 => { sample => '', filter => { qso_date => '20100807', }, closed => 1, }, 2011 => { sample => '', filter => { qso_date => '20110806', }, }, }, }