]> git.donarmstrong.com Git - infobot.git/blob - scripts/dbm2mysql.pl
* Rebranding from blootbot to infobot
[infobot.git] / scripts / dbm2mysql.pl
1 #!/usr/bin/perl
2 # by the xk.
3 ###
4
5 require "src/core.pl";
6 require "src/logger.pl";
7 require "src/modules.pl";
8
9 require "src/Misc.pl";
10 require "src/Files.pl";
11 &loadDBModules();
12 require "src/dbi.pl";
13 package main;
14
15 # todo: main()
16
17 if (!scalar @ARGV) {
18     print "Usage: dbm2mysql <whatever dbm>\n";
19     print "Example: dbm2mysql.pl apt\n";
20     print "NOTE: suffix '-is' and '-extra' are used.\n";
21     exit 0;
22 }
23
24 my $dbfile = shift;
25 my $key;
26 my %db;
27
28 # open dbm.
29 if (!dbmopen(%db, $dbfile, 0666)) {
30     &ERROR("Failed open to dbm file ($dbfile).");
31     exit 1;
32 }
33 &status("::: opening dbm file: $dbfile");
34
35 # open all the data...
36 &loadConfig("files/infobot.config");
37 $dbname = $param{'DBName'};
38 my $dbh_mysql = sqlOpenDB($param{'DBName'},
39         $param{'DBType'}, $param{'SQLUser'}, $param{'SQLPass'});
40 print "DEBUG: scalar db == '". scalar(keys %db) ."'.\n";
41
42 my $factoid;
43 my $ndef = 1;
44 my $i = 1;
45 foreach $factoid (keys %db) {
46     &sqlReplace("factoids", {
47         factoid_key     => $_,
48         factoid_value   => $db{$_},
49     } );
50
51     $i++;
52     print "i=$i... " if ($i % 100 == 0);
53     print "ndef=$ndef... " if ($ndef % 1000 == 0);
54 }
55
56 print "Done.\n";
57 &closeDB();
58 dbmclose(%db);