]> git.donarmstrong.com Git - infobot.git/blobdiff - blootbot/scripts/dbm2mysql.pl
woot! %myModules is dead
[infobot.git] / blootbot / scripts / dbm2mysql.pl
index c64c375e4a40d4bdfa57ba0cb707d88879fcc969..922bbb5542cab2b6da4a1d8a1e193a0465f30a51 100755 (executable)
@@ -9,12 +9,11 @@ require "src/modules.pl";
 require "src/Misc.pl";
 require "src/Files.pl";
 &loadDBModules();
-package MYSQL;
-require "src/db_mysql.pl";
-package DBM;
-require "src/db_dbm.pl";
+require "src/dbi.pl";
 package main;
 
+# todo: main()
+
 if (!scalar @ARGV) {
     print "Usage: dbm2mysql <whatever dbm>\n";
     print "Example: dbm2mysql.pl apt\n";
@@ -26,25 +25,29 @@ my $dbfile = shift;
 my $key;
 my %db;
 
-### open all the data...
+# open dbm.
+if (!dbmopen(%db, $dbfile, 0666)) {
+    &ERROR("Failed open to dbm file ($dbfile).");
+    exit 1;
+}
+&status("::: opening dbm file: $dbfile");
+
+# open all the data...
 &loadConfig("files/blootbot.config");
 $dbname = $param{'DBName'};
-my $dbh_mysql = MYSQL::openDB($param{'DBName'}, $param{'SQLUser'}, $param{'SQLPass'});
-DBM::openDB();
+my $dbh_mysql = sqlOpenDB($param{'DBName'},
+       $param{'DBType'}, $param{'SQLUser'}, $param{'SQLPass'});
+print "DEBUG: scalar db == '". scalar(keys %db) ."'.\n";
 
-print "scalar db == '". scalar(keys %db) ."'.\n";
-
-my ($ndef, $i) = (1,1);
 my $factoid;
+my $ndef = 1;
+my $i = 1;
 foreach $factoid (keys %db) {
-    foreach (@DBM::extra_format) {
-       my $val = &DBM::getFactInfo($key, $_, $db{$key});
-       if (!defined $val) {
-           $ndef++;
-           next;
-       }
-       &MYSQL::setFactInfo($key, $_, $val); # fact, type, what
-    }
+    &sqlReplace("factoids", {
+       factoid_key     => $_,
+       factoid_value   => $db{$_},
+    } );
+
     $i++;
     print "i=$i... " if ($i % 100 == 0);
     print "ndef=$ndef... " if ($ndef % 1000 == 0);
@@ -52,3 +55,4 @@ foreach $factoid (keys %db) {
 
 print "Done.\n";
 &closeDB();
+dbmclose(%db);