]> git.donarmstrong.com Git - infobot.git/blobdiff - src/modules.pl
more babelfish cleanup
[infobot.git] / src / modules.pl
index 7c5832bca48bd7c31ffb71162e5e1c73df711e5a..854a9e50bab1bafe43139c00762a0d8bf2e5eff1 100644 (file)
@@ -22,39 +22,43 @@ if ($@) {
 
 ### MODULES.
 %myModules = (
-       "bzflag"        => "BZFlag.pl",
-       "countdown"     => "Countdown.pl",
+       "babelfish"     => "babelfish.pl",
+       "botmail"       => "botmail.pl",
+       "BZFlag"        => "BZFlag.pl",
+       "countdown"     => "countdown.pl",
        "debian"        => "Debian.pl",
        "debianExtra"   => "DebianExtra.pl",
-       "dict"          => "Dict.pl",
-       "dumpvars"      => "DumpVars.pl",
-       "symdump"       => "DumpVars2.pl",
+       "Dict"          => "Dict.pl",
+       "DumpVars"      => "DumpVars.pl",
        "exchange"      => "Exchange.pl",
        "factoids"      => "Factoids.pl",
+       "HTTPDtype"     => "HTTPDtype.pl",
+       "insult"        => "insult.pl",
+       "UserDCC"       => "UserDCC.pl",
        "kernel"        => "Kernel.pl",
-       "perlMath"      => "Math.pl",
        "news"          => "News.pl",
+       "nickometer"    => "nickometer.pl",
+       "pager"         => "pager.pl",
+       "perlMath"      => "Math.pl",
        "plug"          => "Plug.pl",
        "quote"         => "Quote.pl",
        "rootwarn"      => "RootWarn.pl",
+       "rss"           => "Rss.pl",
        "search"        => "Search.pl",
        "slashdot"      => "Slashdot3.pl",
+       "symdump"       => "DumpVars2.pl",
        "topic"         => "Topic.pl",
        "units"         => "Units.pl",
        "uptime"        => "Uptime.pl",
-       "ircdcc"        => "UserDCC.pl",
        "userinfo"      => "UserInfo.pl",
        "weather"       => "Weather.pl",
-       "wwwsearch"     => "W3Search.pl",
        "whatis"        => "WhatIs.pl",
+       "wikipedia"     => "wikipedia.pl",
        "wingate"       => "Wingate.pl",
-       "babelfish"     => "babel.pl",
-       "insult"        => "insult.pl",
-       "nickometer"    => "nickometer.pl",
+       "wwwsearch"     => "W3Search.pl",
        "zfi"           => "zfi.pl",
        "zippy"         => "Zippy.pl",
        "zsi"           => "zsi.pl",
-       "botmail"       => "botmail.pl",
 );
 ### THIS IS NOT LOADED ON RELOAD :(
 my @myModulesLoadNow;
@@ -86,7 +90,7 @@ sub loadCoreModules {
 
 sub loadDBModules {
     my $f;
-    # todo: use function to load module.
+    # TODO: use function to load module.
 
     if ($param{'DBType'} =~ /^(mysql|SQLite|pgsql)$/i) {
        eval "use DBI";
@@ -157,7 +161,7 @@ sub loadIRCModules {
            &ERROR("require \"$mod\" => $@");
            &shutdown();
            exit 1;
-        }
+       }
 
        $moduleAge{$mod} = (stat $mod)[9];
        &showProc(" ($_)") if (&IsParam("DEBUG"));
@@ -197,40 +201,44 @@ sub loadMyModulesNow {
 
 ### rename to moduleReloadAll?
 sub reloadAllModules {
+    my $retval = "";
+
     &VERB("Module: reloading all.",2);
 
     # obscure usage of map and regex :)
     foreach (map { s/.*?\/?src/src/; $_ } keys %moduleAge) {
-        &reloadModule($_);
+       $retval .= &reloadModule($_);
     }
 
     &VERB("Module: reloading done.",2);
+    return $retval;
 }
 
 ### rename to modulesReload?
 sub reloadModule {
     my ($mod)  = @_;
     my $file   = (grep /\/$mod/, keys %INC)[0];
+    my $retval = "";
 
     # don't reload if it's not our module.
     if ($mod =~ /::/ or $mod !~ /pl$/) {
        &VERB("Not reloading $mod.",3);
-       return;
+       return $retval;
     }
 
     if (!defined $file) {
        &WARN("rM: Cannot reload $mod since it was not loaded anyway.");
-       return;
+       return $retval;
     }
 
     if (! -f $file) {
        &ERROR("rM: file '$file' does not exist?");
-       return;
+       return $retval;
     }
 
     if (grep /$mod/, @myModulesReloadNot) {
        &DEBUG("rM: should not reload $mod");
-       return;
+       return $retval;
     }
 
     my $age = (stat $file)[9];
@@ -238,13 +246,13 @@ sub reloadModule {
     if (!exists $moduleAge{$file}) {
        &DEBUG("Looks like $file was not loaded; fixing.");
     } else {
-       return if ($age == $moduleAge{$file});
+       return $retval if ($age == $moduleAge{$file});
 
        if ($age < $moduleAge{$file}) {
            &WARN("rM: we're not gonna downgrade '$file'; use touch.");
            &DEBUG("age => $age");
            &DEBUG("mA{$file} => $moduleAge{$file}");
-           return;
+           return $retval;
        }
 
        my $dc  = &Time2String($age   - $moduleAge{$file});
@@ -259,13 +267,15 @@ sub reloadModule {
     delete $INC{$file};
     eval "require \"$file\"";  # require or use?
     if (@$) {
-       &DEBUG("rM: failure: @$");
+       &DEBUG("rM: failure: @$ ");
     } else {
        my $basename = $file;
        $basename =~ s/^.*\///;
        &status("Module: reloaded $basename");
+       $retval = " $basename";
        $moduleAge{$file} = $age;
     }
+    return $retval;
 }
 
 ###
@@ -287,7 +297,7 @@ sub loadPerlModule {
        return 0;
     } else {
        $perlModulesLoaded{$_[0]} = 1;
-       &status("Module: Loaded $_[0] ...");
+       &status("Loaded $_[0]");
        &showProc(" ($_[0])");
        return 1;
     }
@@ -297,7 +307,7 @@ sub loadMyModule {
     my ($tmp) = @_;
     if (!defined $tmp) {
        &WARN("loadMyModule: module is NULL.");
-       return 0; 
+       return 0;
     }
 
     my ($modulename, $modulebase);
@@ -343,7 +353,7 @@ sub loadMyModule {
     } else {
        $moduleAge{$modulefile} = (stat $modulefile)[9];
 
-       &status("myModule: Loaded $modulebase ...");
+       &status("Loaded $modulebase");
        &showProc(" ($modulebase)");
        return 1;
     }
@@ -381,8 +391,8 @@ sub getPerlFiles {
     my($dir) = @_;
 
     if (!opendir(DIR, $dir)) {
-        &ERROR("Cannot open source directory ($dir): $!");
-        exit 1;
+       &ERROR("Cannot open source directory ($dir): $!");
+       exit 1;
     }
 
     my @mods;