File:  [LON-CAPA] / doc / help / usage.pl
Revision 1.1: download - view: text, annotated - select for diffs
Tue Sep 14 19:47:02 2004 UTC (19 years, 7 months ago) by albertel
Branches: MAIN
CVS tags: HEAD
- find out usage counts of .tex files

    1: #!/usr/bin/perl
    2: use strict;
    3: 
    4: use HTML::TokeParser;
    5: use Getopt::Long;
    6: 
    7: my ($help) = (0,0,0);
    8: &GetOptions( "help"     => \$help);
    9: 
   10: sub get_all_files {
   11:     my $dir="../../loncom/html/adm/help/tex/";
   12:     opendir(DIR,$dir);
   13:     my @files=sort {uc($a) cmp uc($b)} (readdir(DIR));
   14:     return @files;
   15: }
   16: 
   17: sub get_usage {
   18:     my ($which)=@_;
   19:     my @files;
   20:     my $p = HTML::TokeParser->new("$which.manual.texxml");
   21:     while (my $token = $p->get_token()) {
   22: 	if ($token->[0] eq 'S' && $token->[1] eq 'file') {
   23: 	    push(@files,$token->[2]{'name'});
   24: 	}
   25:     }
   26:     return @files;
   27: }
   28: 
   29: sub print_unused {
   30:     my ($all,$usage)=@_;
   31:     my %all;
   32:     my %no_exist;
   33:     foreach my $file (@{ $all }) {$all{$file}=0;}
   34:     foreach my $list (@{ $usage }) {
   35: 	foreach my $file (@{ $list }) {
   36: 	    if (exists($all{$file})) { $all{$file}++; } else { $no_exist{$file}++; }
   37: 	}
   38:     }
   39:     print("Usage count for existing Files:\n");
   40:     foreach my $file (sort {uc($a) cmp uc($b)} (keys(%all))) {
   41: 	printf("%-50s: %s\n",$file,$all{$file});
   42:     }
   43:     print("Usage count for nonexistint Files:\n");
   44:     foreach my $file (sort {uc($a) cmp uc($b)} (keys(%no_exist))) {
   45: 	printf("%-50s: %s\n",$file,$no_exist{$file});
   46:     }
   47: }
   48: 
   49: sub main {
   50:     my @all_files=&get_all_files();
   51:     my @author_usage=&get_usage('author');
   52:     my @course_usage=&get_usage('course');
   53:     my @developer_usage=&get_usage('developer');
   54: 
   55:     &print_unused(\@all_files,[\@author_usage,\@course_usage,
   56: 			       \@developer_usage]);
   57: }
   58: 
   59: &main;

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