Show
Ignore:
Timestamp:
06/26/08 21:28:15 (4 years ago)
Author:
kake
Message:

Use metadata_was instead of metadata_wasnt when generating RSS feeds (enormous efficiency improvement).

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • wiki-toolkit/trunk/lib/Wiki/Toolkit/Feed/Listing.pm

    r431 r446  
    2323    $args{days} ? $criteria{days}           = $args{days} 
    2424                : $criteria{last_n_changes} = $args{items} || 15; 
     25 
     26    my %was_filter; 
     27    if ( $args{filter_on_metadata} ) { 
     28        %was_filter = %{ $args{filter_on_metadata} }; 
     29    } 
     30 
     31    if ( $args{ignore_minor_edits} ) { 
     32        %was_filter = ( %was_filter, major_change => 1 ); 
     33    } 
    2534   
    26     $criteria{metadata_wasnt} = { major_change => 0 }     if $args{ignore_minor_edits}; 
    27     $criteria{metadata_was}   = $args{filter_on_metadata} if $args{filter_on_metadata}; 
     35    $criteria{metadata_was} = \%was_filter; 
    2836 
    2937    my @changes = $wiki->list_recent_changes(%criteria); 
     
    3240} 
    3341 
    34 =item B<fetch_oldest_for_recently_changed> 
     42=item B<fetch_newest_for_recently_changed> 
    3543 
    3644Based on the supplied criteria (but not using all of those used by 
     
    4351    my ($self, %args) = @_; 
    4452 
    45     my %criteria = (ignore_case => 1); 
    46  
    47     $args{days} ? $criteria{days}           = $args{days} 
    48                 : $criteria{last_n_changes} = $args{items} || 15; 
    49  
    50     $criteria{metadata_wasnt} = { major_change => 0 }     if $args{ignore_minor_edits}; 
    51     $criteria{metadata_was}   = $args{filter_on_metadata} if $args{filter_on_metadata}; 
    52  
    53     my @changes = $self->{wiki}->list_recent_changes(%criteria); 
    54  
     53    my @changes = $self->fetch_recently_changed_nodes( %args ); 
    5554    return $changes[0]; 
    5655}