--- doc/help/usage.pl 2004/09/14 19:57:15 1.2 +++ doc/help/usage.pl 2004/09/14 22:26:17 1.3 @@ -4,14 +4,21 @@ use strict; use HTML::TokeParser; use Getopt::Long; -my ($help) = (0,0,0); -&GetOptions( "help" => \$help); +my ($usage,$build_unused) = (0,0); +&GetOptions( "usage" => \$usage, + "build-unused" => \$build_unused); sub get_all_files { my $dir="../../loncom/html/adm/help/tex/"; opendir(DIR,$dir); my @files=sort {uc($a) cmp uc($b)} (readdir(DIR)); - return @files; + my @realfiles; + foreach my $file (@files) { + if ($file eq '.' || $file eq '..' || $file eq 'CVS' || + $file eq 'Latex_Footer.tex' || $file eq 'Latex_Header.tex') {next;} + push(@realfiles,$file); + } + return @realfiles; } sub get_usage { @@ -30,7 +37,9 @@ sub print_unused { my ($all,$usage)=@_; my %all; my %no_exist; - foreach my $file (@{ $all }) {$all{$file}=[];} + foreach my $file (@{ $all }) { + $all{$file}=[]; + } my @order=('author','course','developer'); foreach my $list (@{ $usage }) { foreach my $file (@{ $list }) { @@ -58,14 +67,42 @@ sub print_unused { } } +sub texxml_unused { + my ($all,$usage)=@_; + my %all; + foreach my $file (@{ $all }) {$all{$file}='1';} + foreach my $list (@{ $usage }) { + foreach my $file (@{ $list }) { + if (exists($all{$file})) { + delete($all{$file}); + } + } + } + print("\n"); + print("\n"); + foreach my $file (sort {uc($a) cmp uc($b)} (keys(%all))) { + print("<section name=\"$file\">\n"); + print("<file name=\"$file\">\n"); + print("</section>\n"); + } + print("</texxml>\n"); +} + sub main { my @all_files=&get_all_files(); my @author_usage=&get_usage('author'); my @course_usage=&get_usage('course'); my @developer_usage=&get_usage('developer'); - &print_unused(\@all_files,[\@author_usage,\@course_usage, - \@developer_usage]); + if ($usage) { + &print_unused(\@all_files,[\@author_usage,\@course_usage, + \@developer_usage]); + } elsif($build_unused) { + &texxml_unused(\@all_files,[\@author_usage,\@course_usage, + \@developer_usage]); + } else { + print("Please specify either --usage or --build-unused\n"); + } } &main;