--- loncom/build/lpml_parse.pl 2001/11/29 15:01:04 1.23
+++ loncom/build/lpml_parse.pl 2001/12/07 04:45:16 1.29
@@ -1,14 +1,42 @@
#!/usr/bin/perl
-# Scott Harrison
+# The LearningOnline Network with CAPA
+# lpml_parse.pl - Linux Packaging Markup Language parser
+#
+# $Id: lpml_parse.pl,v 1.29 2001/12/07 04:45:16 harris41 Exp $
+#
+# Written by Scott Harrison, harris41@msu.edu
+#
+# Copyright Michigan State University Board of Trustees
+#
+# This file is part of the LearningOnline Network with CAPA (LON-CAPA).
+#
+# LON-CAPA is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# LON-CAPA is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with LON-CAPA; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# /home/httpd/html/adm/gpl.txt
+#
+# http://www.lon-capa.org/
+#
# YEAR=2001
# May 2001
# 06/19/2001,06/20,06/24 - Scott Harrison
# 9/5/2001,9/6,9/7,9/8 - Scott Harrison
# 9/17,9/18 - Scott Harrison
# 11/4,11/5,11/6,11/7,11/16,11/17 - Scott Harrison
+# 12/2,12/3,12/4,12/5,12/6 - Scott Harrison
#
-# $Id: lpml_parse.pl,v 1.23 2001/11/29 15:01:04 harris41 Exp $
###
###############################################################################
@@ -49,7 +77,7 @@ Only the 1st argument is mandatory for t
Example:
cat ../../doc/loncapafiles.lpml |\\
-perl lpml_parse.pl html default /home/sherbert/loncapa /tmp/install
+perl lpml_parse.pl html development default /home/sherbert/loncapa /tmp/install
END
# ------------------------------------------------- Grab command line arguments
@@ -77,6 +105,8 @@ if (@ARGV) {
my $targetroot;
my $sourceroot;
+my $targetrootarg;
+my $sourcerootarg;
if (@ARGV) {
$sourceroot = shift @ARGV;
}
@@ -85,6 +115,8 @@ if (@ARGV) {
}
$sourceroot=~s/\/$//;
$targetroot=~s/\/$//;
+$sourcerootarg=$sourceroot;
+$targetrootarg=$targetroot;
my $logcmd='| tee -a WARNINGS';
@@ -193,11 +225,13 @@ $cleanstring=~s/\>\s*\n\s*\\>\new(\$cleans
$parser->xml_mode('1');
# Define handling methods for mode-dependent text rendering
+
$parser->{textify}={
targetroot => \&format_targetroot,
sourceroot => \&format_sourceroot,
categories => \&format_categories,
category => \&format_category,
+ abbreviation => \&format_abbreviation,
targetdir => \&format_targetdir,
chown => \&format_chown,
chmod => \&format_chmod,
@@ -317,7 +365,57 @@ exit;
# ------------------------ Final output at end of markup parsing and formatting
sub end {
if ($mode eq 'html') {
- return "
THE END\n";
+ # START TEMP WAY
+# my $totallinecount;
+# my $totalbytecount;
+# map {$totallinecount+=$linecount{$_};
+# $totalbytecount+=$bytecount{$_}}
+# @categorynamelist;
+ # END TEMP WAY
+ return "
".
+ "Summary of Source Repository".
+ "".
+ "
".
+ "
".
+ "Files, Directories, and Symbolic Links".
+ "Files (not referenced by globs) | $file_count | ".
+ "
".
+ "Files (referenced by globs) | ".
+ "$fileglobnames_count | ".
+ "
".
+ "Total Files | ".
+ "".($fileglobnames_count+$file_count)." | ".
+ "
".
+ "File globs | ".
+ "".$fileglob_count." | ".
+ "
".
+ "Directories | ".
+ "".$directory_count." | ".
+ "
".
+ "Symbolic links | ".
+ "".$link_count." | ".
+ "
".
+ "
".
+ "".
+ "File Category Count".
+ "Icon | Name | Number of Occurrences | ".
+ join("\n",(map {"
---|
| ".
+ "$_ | $categorycount{$_} |
"}
+ @categorynamelist)).
+ "
".
+ "