#!/bin/sh ######################################################################### # # FILE : createScriptTable # DATE : 13.09.2002 # AUTHOR : Patrick Meier / patrick.meier@gmx.net # DESCRIPTION : create an html-table with all script-descriptions and links # # Copyrigth (C) 2001 by Patrick Meier, Switzerland # ######################################################################### PN=`basename "$0"` STARTSTRING="==>" MAINIMAGESPATH="../../" TABLECOLOR="#FFFFCC" EVENROWCOLOR="#CCCCCC" ODDROWCOLOR="#DDDDCC" HEADERFILE="header.html" FOOTERFILE="footer.html" DESCRIPTIONFILE="description.txt" HTMLIDENT="\t" ######################################################################### # Usage ######################################################################### Usage() { echo "$PN - create a table with all script-descriptions" echo "usage: $PN [-p path] [-html] [-tc \"$TABLECOLOR\"] [-erc \"$EVENROWCOLOR\"] [-orc \"$ODDROWCOLOR\"] [-header header.html] [-footer footer.html] filename.csv " >&2 echo "" >&2 echo " -header filename the header of the html-file" >&2 echo " -footer filename the footer of the html-file" >&2 echo " -tc color color of the table (works not by Netscape)" >&2 echo " -erc color even row color of the generated table " >&2 echo " -orc color odd row color of the generated table " >&2 exit 1 } ######################################################################### # ParameterFailed ######################################################################### ParameterFailed() { echo "${STARTSTRING}Parameter faild: $1 ..." >&2 echo "" >&2 Usage } ######################################################################### # getDescription ######################################################################### getDescription() { for j in $@/* do if [ -f "$j" ] && [ "$DESCRIPTIONFILE" != "${j##*/}" ] then description="`cat $j | grep -v "createScriptTable" | grep "DESCRIPTION :" | sed 's/DESCRIPTION ://g;s/# //g;s/#//g;s/" //g'`" echo "${j##*/}: $description" fi done } ######################################################################### # getHTMLStartTable ######################################################################### getHTMLStartTable() { # create table echo "" echo "" printf "$HTMLIDENT\n" echo "" } ######################################################################### # getHTMLEndTable ######################################################################### getHTMLEndTable() { echo "

Script

Description

" echo "

" } ######################################################################### # createHTML ######################################################################### createHTML() { cat $2 | awk -F": " '{ ident="'$HTMLIDENT'"; number=0; even=0; # loop throw all entries do { scriptname=$1 description=$2 # set row color if( even ) { print(""); even=0; } else { print(""); even=1; } print(ident "

"scriptname"

"); print(ident "

"description"

"); print(""); } while( getline ) }' } ######################################################################### # main ######################################################################### HTML="" BINPATH="." while [ $# -gt 0 ] do case "$1" in -html) HTML="yes";; -p) if [ $# -gt 1 ] ; then BINPATH="$2"; shift; else ParameterFailed $1; fi;; -erc) if [ $# -gt 1 ] ; then EVENROWCOLOR="$2"; shift; else ParameterFailed $1; fi;; -orc) if [ $# -gt 1 ] ; then ODDROWCOLOR="$2"; shift; else ParameterFailed $1; fi;; -tc) if [ $# -gt 1 ] ; then TABLECOLOR="$2"; shift; else ParameterFailed $1; fi;; -header) if [ $# -gt 1 ] ; then HEADERFILE="$2"; shift; else ParameterFailed $1; fi;; -footer) if [ $# -gt 1 ] ; then FOOTERFILE="$2"; shift; else ParameterFailed $1; fi;; -h) Usage; exit 1;; -*) Usage; exit 1;; *) break; esac shift done if [ -n "$HTML" ] then if [ -r "$HEADERFILE" ] then cat $HEADERFILE | sed "s/xx\.xx\.xxxx/`date '+%d.%m.%Y'`/g" | sed "s/xxxx/`date '+%Y'`/g" fi fi for i in `find "$BINPATH" -type d` do description="" if [ -f "$i/$DESCRIPTIONFILE" ] then description="`cat $i/$DESCRIPTIONFILE`" fi if [ -n "$HTML" ] then echo "

$i

" echo "

$description

" getHTMLStartTable $i getDescription $i | createHTML $i getHTMLEndTable $i else echo "$i: $description" getDescription $i echo "" fi done if [ -n "$HTML" ] then if [ -r "$FOOTERFILE" ] then cat $FOOTERFILE | sed "s/xx\.xx\.xxxx/`date '+%d.%m.%Y'`/g" | sed "s/xxxx/`date '+%Y'`/g" fi fi