{ version => '01', contest_name => 'Annual 24-hour Happy Birthday Rudolph Sprint', contest_id => 'Rudolph-Hell-Sprint', filter => { mode => \"IN ('FMHELL','HELL','HELL80','PSKHELL')", band => \"IN('160M','80M','40M','20M','15M','10M','6M')", }, defaults => { contest_url => 'http://sites.google.com/site/feldhellclub/2010-sprints', log_cols => [qw/ call qso_date time_on band dxccprefix grid4 srx calc1 calc2 /], # TODO: name placeholders => [qw/ Name Email Class /], dropbox_options => { Class => [ 'Standard', 'QRP', ], }, update => sub { my $row = shift; my %h; my $srx = $row->{srx}; $srx =~ s/^599 (\d+)/$1/; # hack for RST being in exchange field. $h{calc1} = $1 if $srx =~ /\D/ && $srx =~ /\b(\d+)\b/; $h{calc1} ||= 0; $h{calc2} = ($row->{call} . " " . $row->{srx}) =~ /\bQRP\b/i ? 'QRP' : 'STANDARD' ; return \%h; }, Qs => [ { label => 'FH Member', weight=>3, group_by => 'call, band', where =>{calc1=>{'>'=>0},calc2=>'STANDARD'} }, { label => 'FH QRP', weight=>5, group_by => 'call, band', where =>{calc1=>{'>'=>0},calc2=>'QRP' } }, { label => 'Non-FH', weight=>1, group_by => 'call, band', where =>{calc1=>0, calc2=>'STANDARD'} }, { label => 'Non-FH QRP', weight=>3, group_by => 'call, band', where =>{calc1=>0, calc2=>'QRP' } }, ], mults => [ { label => 'DXCC', group_by => 'dxccprefix' }, ], # TODO: # bonus => [ # { label => "Rudolph", weight => 50, group_by => 'qso_date', where => { name =>{ilike=>'%rudolph$'} } }, # ], }, years => { 2010 => { sample => '', filter => { qso_date => '20101211', }, }, }, }