diff --git a/noinfo/make-indxal3.pl b/noinfo/make-indxal3.pl new file mode 100755 index 000000000..33e9a1316 --- /dev/null +++ b/noinfo/make-indxal3.pl @@ -0,0 +1,565 @@ +require Text::CSV; + +#!/usr/bin/perl -w +use strict; + + +#Change to autogen directory, meking directory as nescessary +-d "autogen" or mkdir "autogen", 0755; + + +#Read in pos file to @pos +open INPUT2, "<all.pos"; +my @pos = <INPUT2>; +close INPUT2; + + + +#Start writing index file +open IDXALL, ">..\/indxal.htm" or die $!; +print IDXALL <<END; +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0//EN"> +<!-- *** This file is auto-generated - edit cavetab.csv instead --> +<html lang="en"> +<head> +<title>Loser Plateau area : Cave description index</title> +</head> +<body> +<h1>Kataster Gruppe 1623:<br>Loser Augst-Eck - INDEX</h1> + +<!-- <dl compact> --> +<table border=0 frame=0> +END + +#Starting to read in csv file, eat header line +<>; +#create Text::CSV object +my $csv = Text::CSV->new(); + +my ($dummy, $kat_num, $kat_status, $ents, $other_number, $mult_ents, $file, $name, $unofficial_name, $comment, $area, $no_info, $explorers, $u_description, $equipment, $qmlist, $katstatus, $references, $u_centre_line, $u_drawn_survey, $survex_file, $length, $depth, $extent, $header,$footer, $notes, $ent_name, $tag_punkt, $other_punkt, $desc_other_punkt, $exact_punkt, $fix_type, $gpspresa, $gpspostsa, $northing, $easting, $altitude, $bearings, $map, $location, $approach, $ent_desc, $ent_photo, $marking); +#While loop which reads in each line of csv file +while (<>) { + chomp; + +#split single line into all the fields using Text::CSV +my $pat1 = ",,"; +my $pat1rep = ",\"\","; +s/$pat1/$pat1rep/g; +s/$pat1/$pat1rep/g; +$_="$_\n"; +if ($csv->parse($_)) { + my @field = $csv->fields; + ($dummy, $kat_num, $kat_status, $ents, $other_number, $mult_ents, $file, $name, $unofficial_name, $comment, $area, $no_info, $explorers, $u_description, $equipment, $qmlist, $katstatus, $references, $u_centre_line, $u_drawn_survey, $survex_file, $length, $depth, $extent, $header,$footer, $notes, $ent_name, $tag_punkt, $other_punkt, $desc_other_punkt, $exact_punkt, $fix_type, $gpspresa, $gpspostsa, $northing, $easting, $altitude, $bearings, $map, $location, $approach, $ent_desc, $ent_photo, $marking) = $csv->fields; +} else { + my $err = $csv->error_input; + print "parse() failed on argument: ", $err, "\n"; +} + +#generate $number variable to hold kataster no. or other no. then empty other number if both are not present + my $number = $kat_num; + if ($number eq "") { + $number = $other_number; + $other_number = ""; + } + + my $e = $ents; + $e =~ s/ +/ /g; + #print IDXALL "<dt><a name=\"$number\">$number <small>$e</small></a><dd>"; + print IDXALL "<tr><td><a name=\"$number\">$number <small>$e</small></a></td><td>"; + if ($file ne "") { + $number =~ s/\//-/g; + $number =~ s/\?/q/; + print "$file\n"; + open FILE, ">..\/$file" or die $!; + print FILE <<END; +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0//EN"> +<!-- *** This file is auto-generated - edit cavetab.csv instead --> +<html lang=en> +<head> +<title> +END + if ($kat_num ne "") { + print FILE "1623:$kat_num\n"; + } else { + print FILE "$number\n"; + } + print FILE <<END; +</title> +</head> +<body> +<center> +END + print FILE "$header\n"; + print FILE <<END; +<table border=0 width=100%> +<tr><th align=left><font size=+2>$number $ents</font></th> +<th align=center><font size=+2>$name</font></th> +<th align=right><font size=+2>$kat_status</font></th></tr> +END + if ($other_number ne "") { + if ($unofficial_name ne "") { + print FILE "<tr><th></th><th align=center lang=de><font size=+2>= $other_number ($unofficial_name)</font></th></tr>"; + } + else { + print FILE "<tr><th></th><th align=center lang=de><font size=+2>= $other_number</font></th></tr>"; + } + } + else { + if ($unofficial_name ne "") { + print FILE "<tr><th></th><th align=center lang=de><font size=+2>($unofficial_name)</font></th></tr>"; + } + } + print FILE <<END; + +</table></center> +<p> +END + if ($length ne "") { + print FILE "<b>Length:</b> $length "; + } + if ($depth ne "") { + print FILE "<b>Depth:</b> $depth "; + } + if ($extent ne "") { + print FILE "<b>Extent:</b> $extent "; + } + print FILE "\n<p>\n"; + +# Entrance specific bit +# If there are multiple entrances + if($mult_ents eq "yes"){ + print FILE "<menu>"; + my $e_mult_ents; + do{ + my $e = <>; + chomp; + $e =~ y/\t/ /; + $e =~ s/\"\"/\"/g; + my @fields = split(/,/, $e); + #print "$e\n"; + #print @fields; + $e = "\"\t"; + my $statement; + foreach $statement (@fields) + { + #print "$_ z\n"; + #print "$statement\n"; + if ($e =~ /\t$/) + { + if ($statement =~ /^"/) + { + if ($statement =~ /"$/) + { + $e = "$e$statement\t"; + } + else + { + $e = "$e$statement,"; + } + } + else + { + $e = "$e\"$statement\"\t"; + } + } + else + { + if ($statement =~ /"$/) + { + $e = "$e$statement\t"; + } + else + { + $e = "$e$statement,"; + } + } + } + + #print "$e\n\n"; + $e =~ s/"\t"/\t/g; + $e =~ s/\\"/"/g; + #print "$_\n\n"; + my ($edummy, $ekat_num, $ekat_status, $eents, $eother_number, $emult_ents, $efile, $ename, $eunofficial_name, $ecomment, $earea, $eno_info, $eexplorers, $eu_description,$eequipment, $eqmlist, $ekatstatus, $ereferences, $eu_centre_line, $eu_drawn_survey, $esurvex_file, $elength, $edepth, $eextent, $eheader, $efooter, $enotes, $eent_name, $etag_punkt, $eother_punkt, $edesc_other_punkt, $eexact_punkt, $efix_type, $egpspresa, $egpspostsa, $enorthing, $eeasting, $ealtitude, $ebearings, $emap, $elocation, $eapproach, $eent_desc, $eent_photo, $emarking) = split /\t/, $e; +#It is an ugly world out here. The last entry does not work the same as the rest so here is a bodge to fix it. + if ($marking =~ m/(.*)...$/) { + $marking = $1; + } + else{ + $marking=""; + } + my $enumber = $ekat_num; + if ($enumber eq "") { + $enumber = $eother_number; + $eother_number = ""; + } + print FILE "\n<li>"; + if ($efile ne ""){ + print FILE "<a href=\"$efile\">"; + } + print FILE "$enumber$eents"; + if ($efile ne ""){ + print FILE "</a>"; + } + print FILE " "; +# decide which epunkt to quote + my $epunkt; + if ($etag_punkt ne "") { + $epunkt=$etag_punkt; + } + elsif ($eother_punkt ne "") { + $epunkt = $eother_punkt; + } + elsif ($eexact_punkt ne "") { + $epunkt = $eexact_punkt; + } + elsif ($egpspostsa ne "") { + $epunkt = $egpspostsa; + } + elsif ($egpspresa ne "") { + $epunkt = $egpspresa; + } + else { + $epunkt = ""; + } +#Find the position of that punkt + + if ($epunkt ne "") { + #print "Looking for $epunkt\n"; + for my $surveypoint ( @pos ) { + #print "b$surveypoint"; + #print "e"; + if ($surveypoint =~ m/\( *([0-9.\-]*), *([0-9.\-]*), *([0-9.\-]*) \) $epunkt(\r\n|\n|\r)/){ + $eeasting=$1; + $enorthing=$2; + $ealtitude=$3; + #print "Found for $epunkt at $eeasting\n"; + } + } + } +#Write out info for entrance + if ($eent_name ne "") { + print FILE "$eent_name"; + } + if ($ealtitude ne "") { + print FILE "<b>Alt:</b> $ealtitude "; + } + if ($enorthing ne "") { + print FILE "<b>N</b>$enorthing "; + } + if ($eeasting ne "") { + print FILE "<b>E</b>$eeasting "; + } + if ($efix_type ne "") { + print FILE "<b>Fix type:</b> $efix_type "; + } + if ($etag_punkt ne "") { + print FILE "<b>Fix position:</b> tag "; + } + else{ + if ($eother_punkt ne "") { + if ($edesc_other_punkt ne "") { + print FILE "<b>Fix position:</b> $edesc_other_punkt "; + } + else{ + print FILE "<b>Fix position:</b> Do not know "; + } + } + else{ + if ($eexact_punkt ne "") { + print FILE "<b>Fix position:</b> exact point "; + } + } + } + if ($epunkt ne "") { + print FILE "<b>Point name:</b> $epunkt "; + } + if ($egpspresa ne "") { + print FILE "<b>GPS pre sa:</b> $egpspresa "; + } + if ($egpspostsa ne "") { + print FILE "<b>GPS post sa:</b> $egpspostsa "; + } + $e_mult_ents = $emult_ents; + } + while($e_mult_ents ne "last entrance"); + print FILE "</menu>"; + } +#If there is only one entrance + else{ +# decide which punkt to quote + my $punkt; + if ($tag_punkt ne "") { + $punkt=$tag_punkt; + } + elsif ($other_punkt ne "") { + $punkt = $other_punkt; + } + elsif ($exact_punkt ne "") { + $punkt = $exact_punkt; + } + elsif ($gpspostsa ne "") { + $punkt = $gpspostsa; + } + elsif ($gpspresa ne "") { + $punkt = $gpspresa; + } + else { + $punkt = ""; + } +#Find the position of that punkt + + if ($punkt ne "") { + #print "Looking for $punkt\n"; + for my $surveypoint ( @pos ) { + #print "b$surveypoint"; + #print "e"; + if ($surveypoint =~ m/\( *([0-9\.\-]*), *([0-9\.\-]*), *([0-9\.\-]*) \) $punkt(\r\n|\n|\r)/){ + $easting=$1; + $northing=$2; + $altitude=$3; + #print "Found for $punkt at $easting\n"; + } + } + } +#Write out info for entrance + if ($ent_name ne "") { + print FILE "<b>Entrance Name:</b> $ent_name <p>"; + } + if ($altitude ne "") { + print FILE "<b>Alt:</b> $altitude "; + } + if ($northing ne "") { + print FILE "<b>N</b>$northing "; + } + if ($easting ne "") { + print FILE "<b>E</b>$easting "; + } + if ($fix_type ne "") { + print FILE "<b>Fix type:</b> $fix_type "; + } + if ($tag_punkt ne "") { + print FILE "<b>Fix position:</b> tag "; + } + else{ + if ($other_punkt ne "") { + if ($desc_other_punkt ne "") { + print FILE "<b>Fix position:</b> $desc_other_punkt "; + } + else{ + print FILE "<b>Fix position:</b> Do not know "; + } + } + else{ + if ($exact_punkt ne "") { + print FILE "<b>Fix position:</b> exact point "; + } + } + } + if ($punkt ne "") { + print FILE "<b>Point name:</b> $punkt "; + } + if ($gpspresa ne "") { + print FILE "<b>GPS pre sa:</b> $gpspresa "; + } + if ($gpspostsa ne "") { + print FILE "<b>GPS pre sa:</b> $gpspostsa "; + } + } +# Cave general bit + #print FILE "\n<p>\n"; + if ($location ne "") { + print FILE "\n<p><b>Location:</b> $location"; + } + if ($bearings ne "") { + print FILE "\n<p><b>Bearings:</b> $bearings"; + } + if ($approach ne "") { + print FILE "\n<p><b>Approach:</b> $approach"; + } + if ($map ne "") { + print FILE "\n<p><b>Map:</b> $map"; + } + if ($ent_desc ne "") { + print FILE "\n<p><b>Entrance Description:</b> $ent_desc"; + } + if ($ent_photo ne "") { + print FILE "\n<p><b>Entrance Photo:</b> $ent_photo"; + } + if ($marking ne "") { + print FILE "\n<p><b>Marking:</b> $marking"; + } + if ($references ne "") { + print FILE "\n<p><b>References:</b> $references"; + } + if ($u_description ne "") { + print FILE "\n<p><b>Underground Description:</b> $u_description"; + } + if ($equipment ne "") { + print FILE "\n<p><b>Equipment:</b> $equipment"; + } + if ($qmlist ne "") { + print FILE "\n<p><b>QM list:</b> $qmlist"; + } + if ($u_drawn_survey ne "") { + print FILE "\n<p><b>Survey:</b> $u_drawn_survey"; + } + if ($notes ne "") { + print FILE "\n<p><b>Notes:</b> $notes"; + } + if ($explorers ne "") { + print FILE "\n<p><b>Explorers:</b> $explorers"; + } + if ($katstatus ne "") { + print FILE "\n<p><b>Kataster Status:</b> $katstatus"; + } + if ($u_centre_line ne "") { + print FILE "\n<p><b>Centre Line:</b> $u_centre_line"; + } + if ($survex_file ne "") { + print FILE "\n<p><b>Survex file:</b> $survex_file"; + } + print FILE "\n<hr>"; + print FILE "\n<!-- LINKS -->"; + if ($footer ne "") { + print FILE "\n<p>$footer"; + } + my $toroot; + $toroot = ""; +#determine the number of directorys deep the caves main page is at in order to link to area descriptions and indxal + if ($file =~ /.*\/.*/) { + $toroot = "../"; + } + if ($file =~ /.*\/.*\/.*/) { + $toroot = '../../'; + } + if ($file =~ /.*\/.*\/.*\/.*/) { + $toroot = '../../../'; + } + if ($area =~ /(1a|1b|1c|1d)/) { + print FILE "\n<img alt=\">\" src=\"..\/..\/icons\/lists\/0.png\">"; + print FILE "\n<a href=\"$toroot"; + print FILE "plateau\/index.htm#$number\">Plateau area index and description</a><br>"; + } + if ($area =~ /(2a|2b)/) { + print FILE "\n<img alt=\">\" src=\"..\/..\/icons\/lists\/0.png\">"; + print FILE "\n<a href=\"$toroot"; + print FILE "smkridge\/index.htm#$number\">Schwarzmooskogel ridge area index and description</a><br>"; + } + if ($area =~ /3/) { + print FILE "\n<img alt=\">\" src=\"..\/..\/icons\/lists\/0.png\">"; + print FILE "\n<a href=\"$toroot"; + print FILE "br-alm\/index.htm#$number\">Bräuning Alm area index and description</a><br>"; + } + if ($area =~ /4/) { + print FILE "\n<img alt=\">\" src=\"..\/..\/icons\/lists\/0.png\">"; + print FILE "\n<a href=\"$toroot"; + print FILE "kratzer\/index.htm#$number\">Kratzer valley index and description</a><br>"; + } + if ($area =~ /5/) { + print FILE "\n<img alt=\">\" src=\"..\/..\/icons\/lists\/0.png\">"; + print FILE "\n<a href=\"$toroot"; + print FILE "wilden\/index.htm#$number\">Schwarzmoos-Wildensee area index and description</a><br>"; + } + if ($area =~ /6/) { + print FILE "\n<img alt=\">\" src=\"..\/..\/icons\/lists\/0.png\">"; + print FILE "\n<a href=\"$toroot"; + print FILE "plateau\/index.htm#$number\">Far plateau area index and description</a><br>"; + } + if ($area =~ /7/) { + print FILE "\n<img alt=\">\" src=\"..\/..\/icons\/lists\/0.png\">"; + print FILE "\n<a href=\"$toroot"; + print FILE "egglgrub\/index.htm#$number\">Egglgrube area index and description</a><br>"; + } + if ($area =~ /(8a|8b|8c|8d)/) { + print FILE "\n<img alt=\">\" src=\"..\/..\/icons\/lists\/0.png\">"; + print FILE "\n<a href=\"$toroot"; + print FILE "loser\/index.htm#$number\">Loser/Augst See area index and description</a><br>"; + } + if ($area =~ /9/) { + print FILE "\n<img alt=\">\" src=\"..\/..\/icons\/lists\/0.png\">"; + print FILE "\n<a href=\"$toroot"; + print FILE "gschwand\/index.htm#$number\">Gschwandt area index and description</a><br>"; + } + if ($area =~ /10/) { + print FILE "\n<img alt=\">\" src=\"..\/..\/icons\/lists\/0.png\">"; + print FILE "\n<a href=\"$toroot"; + print FILE "aaussee\/index.htm#$number\">N & NE shore of Altauseer See</a><br>"; + } + if ($area =~ /11/) { + print FILE "\n<img alt=\">\" src=\"..\/..\/icons\/lists\/0.png\">"; + print FILE "\n<a href=\"$toroot"; + print FILE "augstb\/index.htm#$number\">Augstbach area index and description</a><br>"; + } + print FILE <<END; +<img alt=">" src="../../icons/lists/0.png"> +<a href="../indxal.htm#$number">Full Index</a><br> +<img alt=">" src="../../icons/lists/0.png"> +<a href="../areas.htm">Other Areas</a><br> +<img alt=">" src="../../icons/lists/0.png"> +<a href="../index.htm">Back to Expedition Intro page</a> + +</body> +</html> +END + close FILE; + } + + + if ($name eq "") { + $name = "?"; + } + if ($file ne "") { + print IDXALL "<a href=\"$file\">"; + } + print IDXALL $name; + if (length $unofficial_name) { + print IDXALL " ($unofficial_name)"; + } + if (length $other_number) { + print IDXALL " ($other_number)"; + } + if (length $file) { + print IDXALL "</a>"; + } + if (length $comment) { + print IDXALL " - $comment"; + } + #print IDXALL "\n"; + print IDXALL "</tr>\n"; +} +print IDXALL <<END; +<!--</dl>--> +</table> +<hr> +<!-- LINKS --> +<img alt=">" src="../icons/lists/0.png"> +Back to <a href="../index.htm">CUCC Home page</a><br> +<img alt=">" src="../icons/lists/0.png"> +Back to <a href="index.htm">Expedition Intro page</a><br> +<img alt=">" src="../icons/lists/0.png"> +<b>Main Indices:</b><br> +<img alt="--->" src="../icons/lists/1.png"> +<a href="infodx.htm"><b>Index</b> to Expo</a> information pages<br> +<img alt="--->" src="../icons/lists/1.png"> +<a href="areas.htm">Description of CUCC's area</a> and split to subareas<br> +<img alt="--->" src="../icons/lists/1.png"> +List of (links to) <a href="pubs.htm">published reports and logbooks</a><br> +<img alt=">" src="../icons/lists/0.png"> +<b>Pictures:</b><br> +<img alt="--->" src="../icons/lists/1.png"> +<a href="gall0.htm">Text only Index</a><br> +<img alt="--->" src="../icons/lists/1.png"> +<a href="gallery/0.htm">Index pages (with thumbnails)</a><br> +<img alt=">" src="../icons/lists/0.png"> +Other info:<br> +<img alt="--->" src="../icons/lists/1.png"> +Table of <a href="folk/index.htm">members of CUCC expeditions</a> 1976-99<br> +<img alt="--->" src="../icons/lists/1.png"> +<a href="others/index.htm">Other groups</a> who have worked in the area.<br> +<img alt="--->" src="../icons/lists/1.png"> +<a href="1626/index.htm">Adjacent area 1626</a> + +</body> +</html> +END +close IDXALL;