From: Steinar H. Gunderson Date: Sun, 13 Feb 2005 18:27:27 +0000 (+0000) Subject: Some more score parsing fixes, looks like most stuff is OK now. X-Git-Url: https://git.sesse.net/?p=ccbs;a=commitdiff_plain;h=ae2305178ef61a2b9f85dde8d0f9315751378348 Some more score parsing fixes, looks like most stuff is OK now. --- diff --git a/parse/parse-ddreurope-tournament.pl b/parse/parse-ddreurope-tournament.pl index ad3fe07..53c8f5d 100644 --- a/parse/parse-ddreurope-tournament.pl +++ b/parse/parse-ddreurope-tournament.pl @@ -37,6 +37,48 @@ while (<>) { print " (SELECT scoringsystem FROM scoringsystems WHERE name='$system')\n"; print ");\n"; } + + # 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"; + print " (SELECT tournament FROM tournaments WHERE name='$name'),\n"; + print " $round, $group,\n"; + print " (SELECT player FROM players WHERE nick='$player')\n"; + print ");\n"; + } + + # Player's results (score) + if (//x) { + my $i = 0; + + # random songs + while (s/ (\d+) <\/td>//x) { + printf "INSERT INTO scores (tournament, round, parallel, player, song, chosen, score) 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 song FROM songs WHERE lower(title)=lower('$rsongs[$i]')),\n"; + print " 'f',\n"; + print " $1);\n"; + ++$i; + } + + # chosen songs + while (s/ .*? class="link"> (.*?) <\/a> .*? (\d+) <\/td>//x) { + my $song = song_map($1); + $song =~ s/'/\\'/g; + + printf "INSERT INTO scores (tournament, round, parallel, player, song, chosen, score) 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 song FROM songs WHERE lower(title)=lower('$song')),\n"; + print " 't',\n"; + print " $2);\n"; + } + } # New round if (/

Round \s* (\d+) \s* <\/h3>/x) { @@ -88,47 +130,6 @@ while (<>) { print " round=$round;\n"; } - # 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"; - print " (SELECT tournament FROM tournaments WHERE name='$name'),\n"; - print " $round, $group,\n"; - print " (SELECT player FROM players WHERE nick='$player')\n"; - print ");\n"; - } - - # Player's results (score) - if (//x) { - my $i = 0; - - # random songs - while (s/ (\d+) <\/td>//x) { - printf "INSERT INTO scores (tournament, round, parallel, player, song, chosen, score) 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 song FROM songs WHERE lower(title)=lower('$rsongs[$i]')),\n"; - print " 'f',\n"; - print " $1);\n"; - ++$i; - } - - # chosen songs - while (s/ .*? class="link"> (.*?) <\/a> .*? (\d+) <\/td>//x) { - my $song = song_map($1); - $song =~ s/'/\\'/g; - - printf "INSERT INTO scores (tournament, round, parallel, player, song, chosen, score) 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 song FROM songs WHERE lower(title)=lower('$song')),\n"; - print " 't',\n"; - print " $2);\n"; - } - } } printf "commit;\n";