]> git.donarmstrong.com Git - infobot.git/commitdiff
ability to reload extra modules automatically
authordms <dms@c11ca15a-4712-0410-83d8-924469b57eb5>
Thu, 14 Sep 2000 12:07:54 +0000 (12:07 +0000)
committerdms <dms@c11ca15a-4712-0410-83d8-924469b57eb5>
Thu, 14 Sep 2000 12:07:54 +0000 (12:07 +0000)
git-svn-id: https://svn.code.sf.net/p/infobot/code/trunk/blootbot@97 c11ca15a-4712-0410-83d8-924469b57eb5

src/modules.pl

index a4e729b0b336f414b74135783ce594a08ecd0bc9..746de958cf9218959fdea5e2c6fec87a32747a78 100644 (file)
@@ -175,16 +175,16 @@ sub loadMyModulesNow {
        $loaded++;
     }
 
-    &status("Modules: Loaded/Total [$loaded/$total]");
+    &status("Module: Loaded/Total [$loaded/$total]");
 }
 
 ### rename to moduleReloadAll?
 sub reloadAllModules {
-    &status("Modules: reloading all.");
+###    &status("Module: reloading all.");
     foreach (map { substr($_,2) } keys %moduleAge) {
         &reloadModule($_);
     }
-    &status("Modules: reloading done.");
+###    &status("Module: reloading done.");
 }
 
 ### rename to modulesReload?
@@ -193,12 +193,12 @@ sub reloadModule {
     my $file   = (grep /\/$mod/, keys %INC)[0];
 
     if (!defined $file) {
-###    &DEBUG("rM: mod '$mod' was not found in \%INC.");
+       &WARN("rM: Cannot reload $mod ($file) since it was not loaded anyway.");
        return;
     }
 
     if (! -f $file) {
-       &DEBUG("rM: file '$file' does not exist?");
+       &ERROR("rM: file '$file' does not exist?");
        return;
     }
 
@@ -218,7 +218,7 @@ sub reloadModule {
     } else {
        my $basename = $file;
        $basename =~ s/^.*\///;
-       &status("Modules: reloaded $basename");
+       &status("Module: reloaded $basename");
        $moduleAge{$file} = $age;
     }
 }
@@ -232,9 +232,8 @@ local %perlModulesMissing = ();
 
 sub loadPerlModule {
     return 0 if (exists $perlModulesMissing{$_[0]});
-    return 1 if (exists $perlModulesLoaded{$_[0]});
-
     &reloadModule($_[0]);
+    return 1 if (exists $perlModulesLoaded{$_[0]});
 
     eval "use $_[0]";
     if ($@) {
@@ -268,7 +267,11 @@ sub loadMyModule {
     }
     my $modulefile = "$bot_src_dir/Modules/$modulebase";
 
-    return 1 if (grep /$modulefile/, keys %INC);
+    # call reloadModule() which checks age of file and reload.
+    if (grep /\/$modulebase$/, keys %INC) {
+       &reloadModule($modulebase);
+       return;
+    }
 
     if (! -f $modulefile) {
        &ERROR("lMM: module ($modulebase) does not exist.");