]> git.sesse.net Git - ccbs/blobdiff - parse/parse-ddreurope-tournament.pl
Add scripts and example SQL for parsing the EM2 series from 2002.
[ccbs] / parse / parse-ddreurope-tournament.pl
index 3f75c41ec2926a3728ba69161a180cfece04ae7e..e3d6ba5fa3992476ce45256755afdb7ee7631d21 100644 (file)
@@ -1,4 +1,4 @@
-h#! /usr/bin/perl
+#! /usr/bin/perl
 use strict;
 use warnings;
 use Date::Manip;
@@ -24,10 +24,11 @@ while (<>) {
             /x) {
                my ($country, $location, $date, $mix, $system) = ($1, $2, $3, $4, $5);
                $mix =~ s/Euromix/EuroMix/;
+               $system = '10K Machine score' if ($system =~ /^\s*$/);
 
                print "INSERT INTO tournaments \n";
                print "  (season, tournamentname, country, location, \"date\", machine, scoringsystem) VALUES (\n";
-               print "    (SELECT season FROM seasons WHERE seasonname='$season'  AND season=( SELECT season FROM seasons WHERE seasonname='$season' ),\n";
+               print "    (SELECT season FROM seasons WHERE seasonname='$season' AND season=( SELECT season FROM seasons WHERE seasonname='$season' )),\n";
                print "    '$name',\n";
                print "    (SELECT country FROM countries WHERE countryname='$country'),\n";
                print "    '$location',\n";
@@ -51,7 +52,7 @@ while (<>) {
        }
 
        # Player's results (score)
-       if (/<td \s* class=dtdm>/x) {
+       if (/<td \s* class=dtd (?: m | song ) >/x) {
                my $i = 0;
 
                # random songs
@@ -74,7 +75,7 @@ while (<>) {
                        $song =~ s/'/\\'/g;
                
                        printf "INSERT INTO scores (tournament, round, parallel, player, songnumber, song, chosen, score) VALUES (\n";
-                       print "   (SELECT tournament FROM tournaments WHERE tournamentname='$name'  AND season=( SELECT season FROM seasons WHERE seasonname='$season' )),\n";
+                       print "   (SELECT tournament FROM tournaments WHERE tournamentname='$name' AND season=( SELECT season FROM seasons WHERE seasonname='$season' )),\n";
                        print "   $round, $group,\n";
                        print "   (SELECT player FROM players WHERE nick='$player'),\n";
                        print "   $i,\n";
@@ -146,7 +147,7 @@ while (<>) {
                $points = 'NULL' unless defined($points);
 
                # 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", $nick, $nick;
+               printf "INSERT INTO players SELECT nextval('players_player_seq') AS player, '%s' AS nick, ( SELECT country FROM countries WHERE countryname='Norway' ) AS country WHERE '%s' NOT IN ( SELECT nick FROM players );\n", $nick, $nick;
                
                print "INSERT INTO tournamentrankings (tournament, ranking, player, points) VALUES (\n";
                print "   (SELECT tournament FROM tournaments WHERE tournamentname='$name' AND season=( SELECT season FROM seasons WHERE seasonname='$season' )),\n";
@@ -165,7 +166,7 @@ while (<>) {
                $points = 'NULL' unless defined($points);
 
                # 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", $nick, $nick;
+               printf "INSERT INTO players SELECT nextval('players_player_seq') AS player, '%s' AS nick, ( SELECT country FROM countries WHERE countryname='Norway' ) AS country WHERE '%s' NOT IN ( SELECT nick FROM players );\n", $nick, $nick;
                
                print "INSERT INTO tournamentrankings (tournament, ranking, player, points) VALUES (\n";
                print "   (SELECT tournament FROM tournaments WHERE tournamentname='$name' AND season=( SELECT season FROM seasons WHERE seasonname='$season' )),\n";