GunRunMaps/marshalinfo.pl

140 lines
4.9 KiB
Perl

#!/usr/bin/perl
#
# Tool to clean up marshal spreadsheet data, 2017
#
use strict;
use warnings;
use Data::Dumper;
my $clubs = {
'AAC' => {
},
'Eerste Rivier' => {
'captain' => 'Raphael Manual',
'captain_ph' => '084-494-4525',
'email' => 'raphaeljm1@gmail.com',
},
'Spartan Harriers' => {
'captain' => 'Gavin Craig',
'captain_ph' => '076-569-6898',
'email' => 'gavinc@ctpflexibles.co.za',
},
'Nantes' => {
'captain' => 'Caroline Peters',
'captain_ph' => '073-029-7879',
'email' => 'carolinepeters1964@gmail.com',
},
'Midas Spartans' => {
'captain' => 'Michael Schouw',
'captain_ph' => '083-635-1346',
'email' => 'schouw.za@gmail.com',
},
'Edgemead Runners' => {
'captain' => 'Stephan Roux ',
'captain_ph' => '082-433-0230',
'email' => 'raceconvener@edgemeaddrunners.org.za',
},
};
my @marshals;
sub assign_club {
my $position = shift;
my $club = shift;
$marshals[$position]->{'club'} = $club;
foreach my $key ( keys %{ $clubs->{$club} } ) {
$marshals[$position]->{$key} = $clubs->{$club}->{$key};
}
}
for ( my $position = 0; $position < 324; $position++ ) {
if ($position > 0 && $position <= 10) {
assign_club( $position, 'AAC' );
$marshals[$position]->{'captain'} = "William Ruijsch van Dugteren";
$marshals[$position]->{'captain_ph'} = '';
} elsif ($position > 10 && $position <= 35 ) {
assign_club( $position, 'AAC' );
$marshals[$position]->{'captain'} = "Darwees Gesant";
} elsif ($position > 35 && $position <= 54 ) {
assign_club( $position, 'AAC' );
$marshals[$position]->{'captain'} = "Faried Rinquest";
} elsif ($position > 54 && $position <= 69 ) {
assign_club( $position, 'AAC' );
$marshals[$position]->{'captain'} = '';
} elsif ($position > 69 && $position <= 80 ) {
assign_club( $position, 'AAC' );
$marshals[$position]->{'captain'} = 'Colin Sedeman';
} elsif ($position > 80 && $position <= 126 ) {
assign_club( $position, 'Eerste Rivier' );
} elsif ($position > 126 && $position <= 127 ) {
assign_club( $position, 'Spartan Harriers' );
} elsif ($position > 127 && $position <= 131 ) {
assign_club( $position, 'Eerste Rivier' );
} elsif ($position > 131 && $position <= 132 ) {
assign_club( $position, 'Spartan Harriers' );
} elsif ($position > 132 && $position <= 153 ) {
assign_club( $position, 'Nantes' );
} elsif ($position > 153 && $position <= 199 ) {
assign_club( $position, 'Midas Spartans' );
} elsif ($position > 199 && $position <= 238 ) {
assign_club( $position, 'Nantes' );
} elsif ($position > 238 && $position <= 250 ) {
assign_club( $position, 'Spartan Harriers' );
} elsif ($position > 250 && $position <= 256 ) {
assign_club( $position, 'Spartan Harriers' );
} elsif ($position > 256 && $position <= 257 ) {
assign_club( $position, 'Edgemead Runners' );
} elsif ($position > 257 && $position <= 261 ) {
assign_club( $position, 'Spartan Harriers' );
} elsif ($position > 261 && $position <= 264 ) {
assign_club( $position, 'Edgemead Runners' );
} elsif ($position > 264 && $position <= 274 ) {
assign_club( $position, 'Spartan Harriers' );
} elsif ($position > 274 && $position <= 281 ) {
assign_club( $position, 'AAC' );
$marshals[$position]->{'captain'} = 'Keith Bake';
} elsif ($position > 281 && $position <= 297 ) {
assign_club( $position, 'Edgemead Runners' );
} elsif ($position > 297 && $position <= 301 ) {
assign_club( $position, 'AAC' );
$marshals[$position]->{'captain'} = 'Colin Sedeman';
} elsif ($position > 301 && $position <= 313 ) {
assign_club( $position, 'AAC' );
$marshals[$position]->{'captain'} = 'Keith Bake';
} elsif ($position > 313 && $position <= 323 ) {
assign_club( $position, 'AAC' );
$marshals[$position]->{'captain'} = 'Colin Sedeman';
}
}
=cut
AAC : Positions 1 to 10 Start - William Ruijsch van Dugteren
AAC : Positions 11 to 35 Darawees Gasant
AAC : positions 36 to 54 Faried Rinquest
AAC : Positions 55 to 69 may be John Damata
AAC : Positions 70 to 80, 298 to 301 and 314 to 323 - Collin Sedeman
AAC: Positions 275 to 281, and 302 to 313 - Keith Bake
Eerste Rivier : Positions 81 to 126 and 128 to 131 (50 marshals ) - Rapheal Manual 084 494 4525 raphaeljm1@gmail.com
Nantes : Positions 133 to 153 and 200 to 238 (60 marshals ) - Caroline Peters 073 029 7879 carolinepeters1964@gmail.com
Midas Spartans : Positions 154 to 199 (47 marshals ) - Michael Schouw 083 635 1346 schouw.za*gmail.com
Spartan Harriers : Positions 239 to 250, 132 x 2, 127, 251 to 256, 258 to 261, 265 to 274 ( 35 marshals ) - Gavin Craig 076 569 6898 gavinc@ctpflexibles.co.za
Edgemead Runners : Positions 257, 262 to 265 and 282 to 297 ( 20 marshals ) - Stephan Roux 082 433 0230 raceconvener@edgemeaddrunners.org.za
=cut
#warn Dumper(@marshals);
print "CASE\n";
foreach (1..$#marshals) {
my $data = $marshals[$_]->{'email'};
print qq(
WHEN "position" = $_
THEN '$data'
) if $data;
}
print "END\n";