]> git.donarmstrong.com Git - infobot.git/commitdiff
- news: don't delete news cache if tehre are no news for that chan
authordms <dms@c11ca15a-4712-0410-83d8-924469b57eb5>
Sun, 6 May 2001 14:13:06 +0000 (14:13 +0000)
committerdms <dms@c11ca15a-4712-0410-83d8-924469b57eb5>
Sun, 6 May 2001 14:13:06 +0000 (14:13 +0000)
- news: add debugging.

git-svn-id: https://svn.code.sf.net/p/infobot/code/trunk/blootbot@477 c11ca15a-4712-0410-83d8-924469b57eb5

src/IRC/Schedulers.pl

index 2420895ed6701087ac69b0a01a5c9b77c4bfe980..82261388fb62409c89008ed57e782ded559cb89e 100644 (file)
@@ -281,14 +281,21 @@ sub newsFlush {
        return if ($_[0] eq "2");       # defer.
     }
 
-    return unless (&IsChanConf("news") > 0);
+    if (&IsChanConf("news") > 0) {
+    } else {
+       &DEBUG("newsFlush: news disabled?");
+       return;
+    }
 
     my $delete = 0;
     my $oldest = time();
+    my %none;
     foreach $chan (keys %::news) {
        my $i           = 0;
        my $total       = scalar(keys %{ $::news{$chan} });
 
+       &DEBUG("newsFlush: chan => $chan");
+
        foreach $item (keys %{ $::news{$chan} }) {
            my $t = $::news{$chan}{$item}{Expire};
 
@@ -308,17 +315,20 @@ sub newsFlush {
 
            # todo: show how old it was.
            delete $::news{$chan}{$item};
-           &status("NEWS: deleted '$item'");
+           &status("NEWS: (newsflush) deleted '$item'");
            $delete++;
            $i++;
        }
 
-       &status("NEWS {$chan}: deleted [$i/$total] news entries.");
+       &status("NEWS (newsflush) {$chan}: deleted [$i/$total] news entries.");
+       $none{$chan} = 1 if ($total == $i);
     }
 
     # todo: flush users aswell.
     my $duser  = 0;
     foreach $chan (keys %::newsuser) {
+       next if (exists $none{$chan});
+
        foreach (keys %{ $::newsuser{$chan} }) {
            my $t = $::newsuser{$chan}{$_};
            if (!defined $t or ($t > 2 and $t < 1000)) {
@@ -336,7 +346,7 @@ sub newsFlush {
     if ($delete or $duser) {
        &DEBUG("newsF: Writing news.");
        &News::writeNews();
-       &status("NEWS deleted: $delete news entries; $duser user cache.");
+       &status("NEWS (newsflush) deleted: $delete news entries; $duser user cache.");
     }
 }