$| = 1;
use strict;
+use vars qw($bot_base_dir $bot_src_dir $bot_misc_dir $bot_state_dir
+ $bot_data_dir $bot_config_dir $bot_log_dir $bot_run_dir
+ $bot_pid $memusage %param
+);
-require "src/core.pl";
-require "src/logger.pl";
-require "src/modules.pl";
-require "src/Factoids/DBCommon.pl";
-&loadConfig( $bot_config_dir . "/infobot.config" );
+# Check for arguments
+if ( !scalar @ARGV ) {
+ print "Usage: $0 <pack1.fact> [<pack2.fact> <pack2.fact> ...]\n";
+ print "Example: $0 areacodes.fact usazips.fact\n";
+ exit 1;
+}
+
+
+# set any $bot_*_dir var's
+$bot_base_dir = '.';
+$bot_config_dir = 'files/';
+$bot_data_dir = 'files/';
+$bot_state_dir = 'files/';
+$bot_run_dir = '.';
+$bot_src_dir = "$bot_base_dir/src";
+$bot_log_dir = "$bot_base_dir/log";
+$bot_misc_dir = "$bot_base_dir/files";
+$bot_pid = $$;
+
+require "$bot_src_dir/logger.pl";
+require "$bot_src_dir/core.pl";
+require "$bot_src_dir/modules.pl";
+
+# Initialize enough to get DB access
+&setupConfig();
+&loadCoreModules();
&loadDBModules();
+&loadFactoidsModules();
+&setup();
-unless (@_) {
- print "hrm.. usage\n";
+if ( !scalar @ARGV ) {
+ print "Usage: $0 <pack1.fact> [<pack2.fact> <pack2.fact> ...]\n";
+ print "Example: $0 areacodes.fact usazips.fact\n";
exit 0;
}
-foreach (@_) {
+foreach (@ARGV) {
next unless ( -f $_ );
+ my $file = $_;
- open( IN, $_ ) or die "error: cannot open $_\n";
- print "Opened $_ for input...\n";
+ open( IN, $file ) or die "error: cannot open $file\n";
+ print "Opened $file for input...\n";
print "inserting... ";
while (<IN>) {
- next unless (/^(.*?) => (.*)$/);
+ chomp;
+ next if /^#/;
+ next unless (/=>/);
+
+ # Split into "key => value" pairs
+ my ($key, $value) = split(/=>/,$_,2);
+
+ # Strip extra begin/end whitespace
+ $key =~ s/^\s*(.*?)\s*$/$1/;
+ $value =~ s/^\s*(.*?)\s*$/$1/;
+
+ # convert tabs
+ $key =~ s/\t/ /g;
+ $value =~ s/\t/ /g;
### TODO: check if it already exists. if so, don't add.
- &setFactInfo( $1, "factoid_value", $2 );
- print ":: $1 ";
+ ### TODO: combine 2 setFactInfo's into single
+ &setFactInfo( $key, "factoid_value", $value );
+ &setFactInfo( $key, "created_by", $file );
+ print ":: $key ";
}
close IN;
}
+print "...Done!\n";
# vim:ts=4:sw=4:expandtab:tw=80