git.schokokeks.org
Repositories
Help
Report an Issue
tor-webwml.git
Code
Commits
Branches
Tags
Suche
Strukturansicht:
c0884e60a
Branches
Tags
bridges
docs-debian
jobs
master
press-clips
tor-webwml.git
include
functions.wmi
Do not mark missing translations as bad if the original itself is obsolete
Peter Palfrader
commited
c0884e60a
at 2005-10-05 04:13:04
functions.wmi
Blame
History
Raw
#!/usr/bin/wml <: sub getMetadata($) { my ($file) = @_; open(F, "$file") or die ("Cannot open $file: $!\n"); my $found_metadata = 0; while (<F>) { chomp; if ($_ eq '## translation metadata') { $found_metadata = 1; last; }; }; die ("Did not find translation metadata in $file") unless $found_metadata; my %data; while (<F>) { chomp; if (/^#\s*(\S*):\s*(.*?)\s*$/) { $data{$1} = $2; } else { last; }; }; return %data; }; sub translation_get_masterrevision_file($) { my ($page) = @_; %master = getMetadata("en/$page"); die ("Cannot find 'Revision' header in master's translation metadata of en/$page") unless exists $master{'Revision'}; my ($rev) = $master{'Revision'} =~ m/([0-9.]+)/; if ($rev eq '') { $rev = '(Revision not a valid number)'; }; return $rev; }; sub translation_get_masterrevision() { translation_get_masterrevision_file($WML_SRC_FILENAME); }; sub translation_get_basedonrevision_langfile($$) { my ($lang, $page) = @_; %translation = getMetadata("$lang/$page"); die ("Cannot find 'Based-On-Revision' header in translations's translation metadata of $lang/$page") unless exists $translation{'Based-On-Revision'}; my ($rev) = $translation{'Based-On-Revision'}; if ($rev eq '') { $rev = '(unknown)'; }; return $rev }; sub translation_get_basedonrevision() { translation_get_basedonrevision_langfile($(LANG), $WML_SRC_FILENAME); }; sub translation_current() { return (translation_get_masterrevision() eq translation_get_basedonrevision()); }; sub file_is_obsolete($$) { my ($lang, $page) = @_; %translation = getMetadata("$lang/$page"); return (exists $translation{'Status'} && ($translation{'Status'} eq 'obsolete')) }; :>