mirror of
https://expo.survex.com/repositories/expoweb/.git/
synced 2024-11-25 16:52:00 +00:00
196 lines
7.2 KiB
Python
Executable File
196 lines
7.2 KiB
Python
Executable File
#!/usr/bin/python
|
|
import sys, string, re
|
|
|
|
headcount = 0
|
|
pics = 0
|
|
allyears = 0
|
|
recordholders = []
|
|
output = ""
|
|
|
|
lines = sys.stdin.readlines()
|
|
headcounts_byyear = [0]*(len(lines[0].split(","))-5)
|
|
|
|
for r in lines[1:]:
|
|
r = r.replace("\n","")
|
|
r = r.replace("\r", "")
|
|
cells = r.split(",") # chomp newline
|
|
(name, surname, guest, vfho, mug) = cells[:5]
|
|
years = cells[5:]
|
|
expos_caving = len([t for t in years if t == "1"])
|
|
expos_notcaving = len([t for t in years if t == "-1"])
|
|
if(expos_caving == 0 and expos_notcaving == 0):
|
|
sys.stdout.write("Error for", name)
|
|
sys.exit(1)
|
|
if(expos_caving and name != 'Rover Richardson'): headcount += 1
|
|
if mug: pics +=1
|
|
output += '<tr><td>'
|
|
if expos_caving == 0: output += '<span class="didntcave">'
|
|
output += name.replace('""', '"')
|
|
if expos_caving == 0: output += '</span>'
|
|
output += '</td><td>'
|
|
if guest: output += '§'
|
|
output += '</td><td>'
|
|
if vfho: output += '¤'
|
|
output += '</td><td>'
|
|
if mug: output += '<a href=%s><img alt=":-)" src="i/mug.png" /></a>' % mug
|
|
output += '</td>'
|
|
for y in xrange(len(years)):
|
|
if(years[y]):
|
|
m = str(76 + y)[-2:]
|
|
if(years[y]=='-1'):
|
|
m = '<span class="didntcave">'+ m + '</span>'
|
|
else:
|
|
try:
|
|
headcounts_byyear[y] += 1
|
|
except IndexError:
|
|
sys.stderr.write(repr(r) +":::"+ str(y) + "\n")
|
|
raise
|
|
output += '<td class="nonempty">' + m + '</td>'
|
|
else:
|
|
output += '<td></td>'
|
|
# print number of expos, non-caving in red. Only print numbers > 0
|
|
output += '<td style="text-align: right">'
|
|
if(expos_notcaving):
|
|
if(expos_caving):
|
|
output += '%d + <span class="didntcave">%d</span>' % (expos_caving, expos_notcaving)
|
|
else:
|
|
output += '<span class="didntcave">%d</span>' % expos_notcaving
|
|
else:
|
|
output += '%d' % expos_caving
|
|
output += '</td></tr>\n'
|
|
recordholders.append((expos_caving, name))
|
|
|
|
def collapse(m):
|
|
n = (m.span()[1]-m.span()[0]) / 9
|
|
if(n == 1): return m.group()
|
|
else: return '<td colspan="%d"></td>' % n
|
|
|
|
#output = re.sub(r'(<td></td>)+',collapse, output)
|
|
|
|
print """
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
|
<title>CUCC's Austria expeditions: Members</title>
|
|
<link rel="stylesheet" type="text/css" href="../css/main2.css" />
|
|
<style type="text/css">
|
|
<!--
|
|
.didntcave { color: #dd0000 }
|
|
table.fancy { border-collapse: collapse; border: 2px solid black }
|
|
table.fancy td { border: 1px solid black; padding: 2pt }
|
|
table.fancy td.nonempty { background: #eee }
|
|
-->
|
|
</style>
|
|
</head>
|
|
<body>
|
|
|
|
<!-- DO NOT EDIT THIS DOCUMENT BY HAND! It is automatically generated. -->
|
|
<h1>CUCC members and guests in Austria 1976 to present</h1>
|
|
|
|
<p>This is a pretty much complete list of all the personnel on %d CUCC
|
|
expeditions (there was no expo in 1986), together with the total number of
|
|
expeditions each has attended and the total number of people on each expedition.</p>
|
|
|
|
<p>Qualification for inclusion involves some active contribution to the
|
|
expedition such as going underground, surface surveying, sherpa-ing, camp-shopping or
|
|
diving for resurgences. Years marked in <span style="didntcave">red</span>
|
|
indicate some certainty that the person didn't go underground that year.
|
|
Persons marked in <span class="didntcave">red</span> are thought to have never
|
|
been underground on expo at all. Note that diving in <span lang="de-at">Altausseer
|
|
See</span> for the resurgence has been counted as underground:- it certainly
|
|
counts as effort expended in the pursuit of speleology!</p>
|
|
|
|
<p>In the table, a section mark (§) indicates someone who was an
|
|
individual guest of CUCC or of a CUCC member, or who was a member of UBSS or ULSA when
|
|
they were present as guest clubs in 1981,1982 or 2008-onwards. We don't guarantee to have
|
|
got all such people correctly marked. Similarly, the currency symbol (¤)
|
|
marks those who are (or were) individual members of the local Austrian group
|
|
<span lang="de-at">Verein für Höhlenkunde im Obersteier</span>. A
|
|
face icon indicates a link to a mugshot (and brief notes) in our
|
|
Rogues' Gallery. Just one of the listed members is a vehicle - no prizes for
|
|
guessing which one without looking at the photos :-)</p>
|
|
|
|
<p>The table doesn't include the local cavers who have caved with us at various
|
|
times. These include particularly Karl Gaisberger
|
|
<a href="i/karl_gaisberger.jpg"><img alt=":-)" src="i/mug.png" /></a>,
|
|
Gunter Graf, Sepp
|
|
Steinberger and Robert Seebacher <a href="i/robert.jpg"><img alt=":-)"
|
|
src="i/mug.png" /></a>.</p>
|
|
|
|
<hr /><table class="fancy">
|
|
""" % len([t for t in headcounts_byyear if t > 0])
|
|
|
|
|
|
print output
|
|
|
|
print "<tr><td colspan=4><strong>Expo head count</strong></td>",
|
|
for y in headcounts_byyear:
|
|
print '<td style="text-align: right">%d</td>' % y,
|
|
|
|
print """
|
|
<td></td></tr>
|
|
</table>
|
|
<hr />
|
|
|
|
<p>%d people have
|
|
taken part in expo altogether (not counting non-combatants or vehicles(!)),
|
|
of whom %d have their pictures on the site so far.</p>
|
|
|
|
<p>Although few take such statistics seriously, the most dedicated expoers are """ % (headcount, pics)
|
|
|
|
recordholders.sort()
|
|
recordholders.reverse()
|
|
k = 2
|
|
while recordholders[k + 1][0] == recordholders[k][0]:
|
|
k = k + 1
|
|
print "%s (%d expos)," % (recordholders[0][1],recordholders[0][0])
|
|
for r in recordholders[1:k]:
|
|
print "%s (%d)," % (r[1],r[0]),
|
|
|
|
print """and %s (%d). Mark Shinwell holds the record for consecutive
|
|
expo attendance (10), but didn't actually go caving on all those, so
|
|
this record arguably falls to Julian Haines and Brian Outram (9 each).
|
|
A more obscure record was set by Wadders in 2015: longest interval
|
|
between expos (17 years), except that he didn't actually go underground,
|
|
so it may be shared by Mark Dougherty, Juliet Morse and Chris Densham,
|
|
who have all returned after gaps of 13 years</p>""" % (recordholders[k][1],recordholders[k][0])
|
|
|
|
|
|
print """<p>Outside-expo caving has started, with Becka Lawson, Neil Pacey, Julian Todd and Wookey
|
|
joining various Arge and VfHO trips in recent years. However, the much talked-about
|
|
winter expedition/holiday has still not happened, though there is still a lot
|
|
to be said for it. With draughts reversed in the cold, top entrances should
|
|
be more obvious and skiing would make a nice change from sitting watching the
|
|
rain. Some entrances would inevitably be blocked by snow but others seem to
|
|
remain open all winter.</p>
|
|
|
|
<hr />
|
|
|
|
<!-- LINKS -->
|
|
<ul id="links">
|
|
<li>Back to <a href="../../index.htm">CUCC Home page</a></li>
|
|
|
|
<li><b>Main Indices:</b>
|
|
<ul>
|
|
<li><a href="../infodx.htm"><b>Index</b> to Expo</a> information pages</li>
|
|
<li><a href="../areas.htm">Description of CUCC's area</a> and split to subareas</li>
|
|
<li>Full <a href="../indxal.htm">Index to cave descriptions</a> in area 1623</li>
|
|
|
|
<li>Adjacent area <a href="../1626/index.html">1626</a></li>
|
|
<li>List of (links to) <a href="../pubs.htm">published reports and logbooks</a></li>
|
|
</ul></li>
|
|
<li><b>Pictures:</b>
|
|
<ul>
|
|
<li><a href="../gall0.htm">Text only Index</a></li>
|
|
<li><a href="../gallery/0.htm">Index pages (with thumbnails)</a></li>
|
|
</ul></li>
|
|
<li>Other info:
|
|
<ul>
|
|
|
|
<li>Table of <a href="../folk/index.htm">members of CUCC expeditions</a> 1976-present</li>
|
|
<li><a href="../others/index.htm">Other groups</a> who have worked in the area.</li>
|
|
</ul></li></ul>
|
|
</body>
|
|
</html>"""
|