{ version => '01', contest_name => 'SARTG WW RTTY Contest', contest_id => 'SARTG-RTTY', filter => { mode => \"IN ('RTTY')", band => \"IN('80M','40M','20M','15M','10M')", }, defaults => { contest_url => 'http://www.sartg.com/contest/wwrules.htm', log_cols => [qw/ mycall call qso_date time_on freq band mode rst_sent stx rst_rcvd srx cont dxccprefix pfx calc1 /], placeholders => [qw/ cont country Email /], dropbox_options => { cont => [qw/ AF AN AS EU NA OC SA /], country => [ sort keys %{{ do 'dxcc.inc' }} ], CATEGORY => [ do{ my @x; foreach my $pwr (qw/ HIGH LOW /){ foreach my $bnd (qw/ ALL 80M 40M 20M 15M 10M /){ foreach my $op (qw/ SINGLE-OP MULTI-ONE SWL CHECKLOG /){ push @x, join ' ', $op, $bnd, $pwr; } } } sort @x } ], }, update => sub { my $row = shift; my $s = $row->{dxccprefix}; if( $s =~ /^(K|VE|JA|VK)$/ ){ my $n = ( $row->{pfx} =~ /(\d+)/g )[-1]; $s .= $n; } return { calc1 => $s, # the "country". DXCC, or Call area (e.g. K4) for K/VE/JA/VK. }; }, # TODO --- support scoring of single-band class, # where qso's on other bands count as 0 points, 0 # multipliers, 0 QSOs. Qs => [ { label => 'Own Country', weight => 5, group_by => 'call, band', where => {calc1=>$INPUT{country}} }, { label => 'Own Continent', weight => 10, group_by => 'call, band, dxccprefix', where => {calc1=>{'!='=>$INPUT{country}},cont=>$INPUT{cont}} }, { label => 'Other Continents', weight => 15, group_by => 'call, band, cont', where => {cont=>{'!='=>$INPUT{cont}}} }, ], mults => [ { label => 'DXCC', group_by => 'dxccprefix,band' }, { label => 'K/VE/VK/JA Call Areas', group_by => 'calc1,band', where => {dxccprefix=>[qw/K VE VK JA/]} }, ], cabrillo => { cabrillo_url => 'http://www.sartg.com/contest/wwcabril.htm', version => '2.0', headers => [qw/ CATEGORY CLUB NAME ADDRESS OPERATORS SOAPBOX /], qso_cols => [qw/cab_freq cab_mode cab_date cab_time mycall rst_sent stx call rst_rcvd srx /], qso_fmt => do { "%-5s %-2s %-10s %-04s %-13s %-3s %04d %-13s %-3s %04d" }, # --------info sent------- -------info rcvd-------- # QSO: freq mo date time call rst exch call rst exch t # QSO: ***** ** yyyy-mm-dd nnnn ************* nnn ****** ************* nnn ****** * # QSO: 14000 RY 2001-08-16 1048 7S3A 599 001 4K6GF 599 116 0 # 000000000111111111122222222223333333333444444444455555555556666666666777777777788 # 123456789012345678901234567890123456789012345678901234567890123456789012345678901 }, }, years => { 2010 => { sample => '77b66dbbfbfaf8db6b3cbebbd600bc6b', filter => { qso_date => { -between => [20100821, 20100822] }, }, }, }, }