expoweb/noinfo/make-folklist.py

188 lines
6.9 KiB
Python
Raw Normal View History

#!/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 += '&sect;'
output += '</td><td>'
if vfho: output += '&curren;'
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>'
if(expos_notcaving):
output += '<td style="text-align: right">%d + <span class="didntcave">%d</span></td></tr>\n' % (expos_caving, expos_notcaving)
else:
output += '<td style="text-align: right">%d</td></tr>\n' % expos_caving
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>
2015-01-13 17:45:43 +00:00
<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
2015-01-13 17:45:43 +00:00
expeditions each has attended and the total number of people on each expedition.</p>
<p>Qualification for inclusion involves some active contribution to the
2015-01-13 17:45:43 +00:00
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 (&sect;) indicates someone who was an
2015-01-13 17:45:43 +00:00
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 (&curren;)
marks those who are (or were) individual members of the local Austrian group
<span lang="de-at">Verein f&uuml;r H&ouml;hlenkunde im Obersteier</span>. A
2015-01-13 17:45:43 +00:00
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][1:-1],recordholders[0][0])
for r in recordholders[1:k]:
print "%s (%d)," % (r[1][1:-1],r[0]),
2015-01-13 17:38:27 +00:00
print """and %s (%d). Mark Shinwell holds the record for consecutive
2015-01-13 17:45:43 +00:00
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 Juliet Morse in 2010: longest
interval between expos (14 years).""" % (recordholders[k][1][1:-1],recordholders[k][0])
2011-09-27 03:48:10 +01:00
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>"""