X-Git-Url: https://git.sesse.net/?p=ccbs;a=blobdiff_plain;f=parse%2Fparse-ddreurope-tournament.pl;h=09f428ab35a1d8adcb2efad160f12e3cfdb6ab77;hp=53c8f5dbf279b614d2784338d249309cf4a1550b;hb=147774d67c3932c9ee5e42b93f348c5023d74f4b;hpb=ae2305178ef61a2b9f85dde8d0f9315751378348 diff --git a/parse/parse-ddreurope-tournament.pl b/parse/parse-ddreurope-tournament.pl index 53c8f5d..09f428a 100644 --- a/parse/parse-ddreurope-tournament.pl +++ b/parse/parse-ddreurope-tournament.pl @@ -6,11 +6,10 @@ use Date::Manip; # Parses tournament results from the DDR Europe result list my $season = shift; -my ($name, $round, $group, $player, @rsongs); +my ($name, $round, $group, $player, $position, @rsongs); die "Missing season (give on command line)." if (!defined($season)); -# commented out -- see player below -# print "begin;\n"; +print "begin;\n"; while (<>) { if (/

\s* (.*?) \s* <\/h2>/x) { @@ -41,12 +40,17 @@ while (<>) { # Player's results (header) if (/^ .*? class="link"> (.*?) <\/a> $/x) { $player = $1; - printf "INSERT INTO players (nick) VALUES ('%s');\n", $player; - printf "INSERT INTO roundparticipation (tournament, round, parallel, player) VALUES (\n"; + + # Woot, evil + printf "INSERT INTO players SELECT nextval('players_player_seq') AS player, '%s' AS nick WHERE '%s' NOT IN ( SELECT nick FROM players );\n", $player, $player; + + printf "INSERT INTO roundparticipation (tournament, round, parallel, player, position) VALUES (\n"; print " (SELECT tournament FROM tournaments WHERE name='$name'),\n"; print " $round, $group,\n"; - print " (SELECT player FROM players WHERE nick='$player')\n"; + print " (SELECT player FROM players WHERE nick='$player'),\n"; + print " $position\n"; print ");\n"; + ++$position; } # Player's results (score) @@ -97,6 +101,8 @@ while (<>) { $group = $2; $group = 0 if ($1 eq 'Players'); + $position = 1; + print "INSERT INTO groups (tournament, round, parallel) VALUES (\n"; print " (SELECT tournament FROM tournaments WHERE name='$name'),\n"; print " $round, $group);\n"; @@ -150,6 +156,12 @@ sub song_map { $song =~ s/Keep On Movin/Keep On Movin'/; $song =~ s/So Deep/So Deep (Perfect Sphere Mix)/; $song =~ s/Aarons Party/Aaron's Party (Come Get It)/; + $song =~ s/Candy \*/Candy/; + $song =~ s/www\.blondie girl/www.blonde girl (MOMO Mix)/; + $song =~ s/DXY/DXY!/; + $song =~ s/Burning the floor/Burnin' the Floor/; + $song =~ s/Never Gonna Make/Never Gonna Make (Factory Team Mix)/; + $song =~ s/Max300/Max 300/; return $song; }