]> git.donarmstrong.com Git - infobot.git/blob - scripts/dbm2mysql.pl
dunno
[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
14 package main;
15
16 # todo: main()
17
18 if ( !scalar @ARGV ) {
19     print "Usage: dbm2mysql <whatever dbm>\n";
20     print "Example: dbm2mysql.pl apt\n";
21     print "NOTE: suffix '-is' and '-extra' are used.\n";
22     exit 0;
23 }
24
25 my $dbfile = shift;
26 my $key;
27 my %db;
28
29 # open dbm.
30 if ( !dbmopen( %db, $dbfile, 0666 ) ) {
31     &ERROR("Failed open to dbm file ($dbfile).");
32     exit 1;
33 }
34 &status("::: opening dbm file: $dbfile");
35
36 # open all the data...
37 &loadConfig("files/infobot.config");
38 $dbname = $param{'DBName'};
39 my $dbh_mysql = sqlOpenDB(
40     $param{'DBName'},  $param{'DBType'},
41     $param{'SQLUser'}, $param{'SQLPass'}
42 );
43 print "DEBUG: scalar db == '" . scalar( keys %db ) . "'.\n";
44
45 my $factoid;
46 my $ndef = 1;
47 my $i    = 1;
48 foreach $factoid ( keys %db ) {
49     &sqlReplace(
50         "factoids",
51         {
52             factoid_key   => $_,
53             factoid_value => $db{$_},
54         }
55     );
56
57     $i++;
58     print "i=$i... "       if ( $i % 100 == 0 );
59     print "ndef=$ndef... " if ( $ndef % 1000 == 0 );
60 }
61
62 print "Done.\n";
63 &closeDB();
64 dbmclose(%db);
65
66 # vim:ts=4:sw=4:expandtab:tw=80