]> git.donarmstrong.com Git - infobot.git/blobdiff - scripts/dbm2mysql.pl
use result div in babelfish
[infobot.git] / scripts / dbm2mysql.pl
index c64c375e4a40d4bdfa57ba0cb707d88879fcc969..a199cf799da385536784ea2696ea8e3bc3e9c170 100755 (executable)
@@ -9,13 +9,13 @@ 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;
 
-if (!scalar @ARGV) {
+# todo: main()
+
+if ( !scalar @ARGV ) {
     print "Usage: dbm2mysql <whatever dbm>\n";
     print "Example: dbm2mysql.pl apt\n";
     print "NOTE: suffix '-is' and '-extra' are used.\n";
@@ -26,29 +26,41 @@ my $dbfile = shift;
 my $key;
 my %db;
 
-### open all the data...
-&loadConfig("files/blootbot.config");
-$dbname = $param{'DBName'};
-my $dbh_mysql = MYSQL::openDB($param{'DBName'}, $param{'SQLUser'}, $param{'SQLPass'});
-DBM::openDB();
+# open dbm.
+if ( !dbmopen( %db, $dbfile, 0666 ) ) {
+    &ERROR("Failed open to dbm file ($dbfile).");
+    exit 1;
+}
+&status("::: opening dbm file: $dbfile");
 
-print "scalar db == '". scalar(keys %db) ."'.\n";
+# open all the data...
+&loadConfig("files/infobot.config");
+$dbname = $param{'DBName'};
+my $dbh_mysql = sqlOpenDB(
+    $param{'DBName'},  $param{'DBType'},
+    $param{'SQLUser'}, $param{'SQLPass'}
+);
+print "DEBUG: scalar db == '" . scalar( keys %db ) . "'.\n";
 
-my ($ndef, $i) = (1,1);
 my $factoid;
-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
-    }
+my $ndef = 1;
+my $i    = 1;
+foreach $factoid ( keys %db ) {
+    &sqlReplace(
+        "factoids",
+        {
+            factoid_key   => $_,
+            factoid_value => $db{$_},
+        }
+    );
+
     $i++;
-    print "i=$i... " if ($i % 100 == 0);
-    print "ndef=$ndef... " if ($ndef % 1000 == 0);
+    print "i=$i... "       if ( $i % 100 == 0 );
+    print "ndef=$ndef... " if ( $ndef % 1000 == 0 );
 }
 
 print "Done.\n";
 &closeDB();
+dbmclose(%db);
+
+# vim:ts=4:sw=4:expandtab:tw=80