# by the xk.
###
-require "src/logger.pl";
require "src/core.pl";
+require "src/logger.pl";
+require "src/modules.pl";
require "src/Misc.pl";
require "src/Files.pl";
-package MYSQL;
-require "src/Factoids/db_mysql.pl";
-package DBM;
-require "src/Factoids/db_dbm.pl";
+&loadDBModules();
+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";
my $key;
my %db;
-### open all the data...
-&loadConfig("files/blootbot.config");
-$dbname = $param{'DBFile'};
-my $dbh_mysql = MYSQL::openDB();
-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