File:  [LON-CAPA] / loncom / localize / localize / synch.pl
Revision 1.2: download - view: text, annotated - select for diffs
Fri Sep 26 15:23:24 2003 UTC (20 years, 7 months ago) by www
Branches: MAIN
CVS tags: HEAD
Utility

sub readlexicon {
    my $fn=shift;
    open(IN,$fn);
    my %lexicon=();
    my $contents=join('',<IN>);
    close(IN);
    $contents=~s/package Apache\:[^\;]+//;
    $contents=~s/use base[^\;]+//;
    eval($contents.'; %lexicon=%Lexicon;');
    delete $lexicon{'_AUTO'};
    delete $lexicon{'char_encoding'};
    delete $lexicon{'language_code'};
    return %lexicon;
}

my %master=();
foreach (<*.pm>) {
    print "Reading: ".$_."\n";
    %master=(%master,&readlexicon($_));
}
foreach (<*.pm>) {
    print "Synching: ".$_."\n";
    my %lang=&readlexicon($_);
    copy ($fn,$fn.'.original');
    open(IN,$fn.'.original');
    open(OUT,'>'.$fn);
    my $found=0;
    foreach (<IN>) {
	if ($_=~/\#\s*SYNCMARKER/) { $found=1; last; } 
	print OUT $_;
    }
    if ($found) {
	print OUT "\n\#SYNC ".localtime."\n";

	print OUT "\n\#SYNCMARKER\n";
	foreach (<IN>) {
	    print OUT $_;
	}
    }
    close (IN);
    close (OUT);
}

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>