]> git.etc.gen.nz Git - mythtv-status.git/commitdiff
Move the limiting of how many auto expire shows to display to an outer loop.
authorAndrew Ruthven <andrew@etc.gen.nz>
Tue, 17 Jun 2008 21:42:25 +0000 (09:42 +1200)
committerAndrew Ruthven <andrew@cerberus.etc.gen.nz>
Tue, 17 Jun 2008 21:50:28 +0000 (09:50 +1200)
This stops us from building a MythTV::Program object for every show in the
auto expire list, even those we aren't going to display.

Thanks to Tom Metro for pointing out this needless work.

bin/mythtv-status

index 342728654475b4b6552038161bd84b7af437db3f..4e495fad959d71b9a66c67b0ebcd5661b42c8c68 100755 (executable)
@@ -223,12 +223,7 @@ my @blocks = (
     'type' => 'sub',
     'defaults' => 'schedule',
     'sub' => \&process_auto_expire,
-    'filter' => {
-      'startTime' => sub {
-       $auto_expire_count--;
-       return ($auto_expire_count < 0);
-      },
-    },
+    'filter' =>  {},   # Over ride the default filter from 'schedule'.
   },
 
   # Diskspace, before storage groups
@@ -747,7 +742,7 @@ sub process_auto_expire {
     next if $show->{'progflags'} eq 'LiveTV';
 
     my %vars = (
-      'title'     => $show->{'parentid'},
+      'title'     => $show->{'parentid'} || 'Unknown',
       'startTime' => strftime("%FT%T", localtime($show->{'starttime'})),
       'NODE_TEXT' => $show->{'description'},
       'subTitle'  => $show->{'subtitle'},
@@ -759,6 +754,9 @@ sub process_auto_expire {
     my $str = substitute_vars($block, \%vars);
     push @lines, $str
       if defined $str;
+
+    # Don't do more work than is required.
+    last if --$auto_expire_count <= 0;
   }
 
   return join("\n", @lines);