CUCC Expedition Handbook

The list of people on expo

These are nerd-instructions. Find a nerd if you think this needs to be done.

The folk list

This is part of the "new expo year" preparations. The folk.csv file is stored on the server under version control in the :expoweb: repository in expoweb/folk/folk.csv

Before expo starts the folk.csv file is updated.

Edit folk/folk.csv, adding the new year to the end of the header line, a new column, with just a comma (blank cell) for people who weren't there, a 1 for people who are there, and a -1 for people who are there but didn't go caving. This is adding an extra column to every line in the file.

Add new lines for new people, with the right number of columns.

This process is tedious and error-prone and ripe for improvement especially as expo proceeds and you have many more names to add. Adding a list of people from the bier book and their aliases (the name in brackets) would be a lot better, but some way to make sure that names match with previous years would be good.

Contrary to what you might expect we find that it is much more reliable to edit this using a text editor rather than a spreadsheet program.

The nerd can log in using the 'expo' userid.

The nerd needs to do this:

  1. Upload the edited copy of folk.csv to the server using the version control system.
  2. Log in to the expo server and run the update script (see below)
  3. Watch any error messages scroll by.
  4. Look at the new folk list HTML file at
  5. Re-run the import script until you have got rid of all the import errors.

This is how you login and run the script:

cd expoweb/folk
chmod +w index.htm
python ../scripts/ <folk.csv >index.htm

If there are no errors, you will just see the prompt reappear in your ssh session and you will see the result online at

It is recommended that the nerd does this locally on their own laptop first. It does not need to be an expo laptop, even a Windows 10 laptop is fine if the script is run in a WSL terminal. The only software you need to install is the default python package.


This bizarre Folk update process is a relic of the pre-troggle "script and spreadsheet" phase of the Expo website. Another relic is the complex QM process. The script actually post-dates troggle, but was written stand-alone because of the steep learning curve of getting to grips with Django and because troggle in those days was undocumented. All these will (2021+) eventually be merged into troggle - we hope.