]> sipb.mit.edu Git - ikiwiki.git/commitdiff
po: finish abstracting %filtered by putting it into a blackbox
authorintrigeri <intrigeri@boum.org>
Mon, 10 Nov 2008 14:30:49 +0000 (15:30 +0100)
committerintrigeri <intrigeri@boum.org>
Mon, 10 Nov 2008 14:30:49 +0000 (15:30 +0100)
i.e. it is invisible for everyone but its accessors/mutators

Signed-off-by: intrigeri <intrigeri@boum.org>
IkiWiki/Plugin/po.pm

index 8ea852d04f56f8cbc7f72293c276a655d21bd8c7..0666142cb49628d4294c2390aaecff17f52af12b 100644 (file)
@@ -21,7 +21,6 @@ use UNIVERSAL;
 
 my %translations;
 my @origneedsbuild;
-our %filtered;
 
 memoize("_istranslation");
 memoize("percenttranslated");
@@ -359,30 +358,38 @@ sub mybestlink ($$) { #{{{
        return "";
 } #}}}
 
-sub alreadyfiltered($$) { #{{{
-       my $page=shift;
-       my $destpage=shift;
+# blackbox for %filtered
+{
+       my %filtered;
 
-       return ( exists $filtered{$page}{$destpage}
-                && $filtered{$page}{$destpage} eq 1 );
-} #}}}
-sub setalreadyfiltered($$) { #{{{
-       my $page=shift;
-       my $destpage=shift;
+       sub alreadyfiltered($$) { #{{{
+               my $page=shift;
+               my $destpage=shift;
 
-       $filtered{$page}{$destpage}=1;
-} #}}}
-sub unsetalreadyfiltered($$) { #{{{
-       my $page=shift;
-       my $destpage=shift;
+               return ( exists $filtered{$page}{$destpage}
+                        && $filtered{$page}{$destpage} eq 1 );
+       } #}}}
 
-       if (exists $filtered{$page}{$destpage}) {
-               delete $filtered{$page}{$destpage};
-       }
-} #}}}
-sub resetalreadyfiltered() { #{{{
-       undef %filtered;
-} #}}}
+       sub setalreadyfiltered($$) { #{{{
+               my $page=shift;
+               my $destpage=shift;
+
+               $filtered{$page}{$destpage}=1;
+       } #}}}
+
+       sub unsetalreadyfiltered($$) { #{{{
+               my $page=shift;
+               my $destpage=shift;
+
+               if (exists $filtered{$page}{$destpage}) {
+                       delete $filtered{$page}{$destpage};
+               }
+       } #}}}
+
+       sub resetalreadyfiltered() { #{{{
+               undef %filtered;
+       } #}}}
+}
 
 # We use filter to convert PO to the master page's format,
 # since the rest of ikiwiki should not work on PO files.