]> git.sesse.net Git - ccbs/blobdiff - parse/parse-ddreurope-tournament.pl
Some more score parsing fixes, looks like most stuff is OK now.
[ccbs] / parse / parse-ddreurope-tournament.pl
index ad3fe0776b20f38275146f99b547cbbc90f2718b..53c8f5dbf279b614d2784338d249309cf4a1550b 100644 (file)
@@ -37,6 +37,48 @@ while (<>) {
                print "    (SELECT scoringsystem FROM scoringsystems WHERE name='$system')\n";
                print ");\n";
        }
+       
+       # Player's results (header)
+       if (/^ <tr><td \s* class=dtd> .*? 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 (/<td \s* class=dtdm>/x) {
+               my $i = 0;
+
+               # random songs
+               while (s/<td \s* class=dtdm> (\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/<td \s* class=dtdsong> .*? class="link"> (.*?) <\/a> .*? <td class=dtdscore> (\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 (/<h3 \s* class=dthr> Round \s* (\d+) \s* <\/h3>/x) {
@@ -88,47 +130,6 @@ while (<>) {
                print "  round=$round;\n";
        }
 
-       # Player's results (header)
-       if (/^ <tr><td \s* class=dtd> .*? 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 (/<td \s* class=dtdm>/x) {
-               my $i = 0;
-
-               # random songs
-               while (s/<td \s* class=dtdm> (\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/<td \s* class=dtdsong> .*? class="link"> (.*?) <\/a> .*? <td class=dtdscore> (\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";