diff --git a/documents/troggle-tables.jpg b/documents/troggle-tables.jpg new file mode 100644 index 000000000..e06f63915 Binary files /dev/null and b/documents/troggle-tables.jpg differ diff --git a/photos/jenny.jpg b/folk/i/jenny.jpg similarity index 100% rename from photos/jenny.jpg rename to folk/i/jenny.jpg diff --git a/handbook/computing/x-todo-styles.css b/handbook/computing/x-todo-styles.css new file mode 100644 index 000000000..0869fb535 --- /dev/null +++ b/handbook/computing/x-todo-styles.css @@ -0,0 +1,84 @@ +button { + color: #ffffff; + font: 18px Georgia, "Times New Roman", Times, serif; + letter-spacing: 1px; + + text-shadow: 0 1px 1px #000000; + + #display: block; + float:right; + margin: auto; + font-size: 1.2em; + line-height: 1.25em; + + padding: 7px 25px; + cursor: pointer; + position: static; + background: #bf3700; + border: 1px solid #60AABF; + -moz-border-radius: 20px; + -webkit-border-radius: 20px; + -khtml-border-radius: 20px; + border-radius: 20px; + /* + -webkit-box-shadow: rgba(0, 0, 0, .25) 0 1px 1px; + -moz-box-shadow: rgba(0, 0, 0, .25) 0 1px 1px; + -o-box-shadow: rgba(0, 0, 0, .25) 0 1px 1px; + box-shadow: rgba(0, 0, 0, .25) 0 1px 1px; + */ + background: #39b2e5; + background: -webkit-gradient(linear, left top, left bottom, from(#39b2e5), to(#6083BF)); + background: -moz-linear-gradient(top, #39b2e5, #6083BF); + background: -o-linear-gradient(top, #39b2e5, #6083BF); + background: linear-gradient(top, #39b2e5, #6083BF); + } + +button:hover, +button:focus { + cursor: pointer; + border-color: blue; + -webkit-box-shadow: aqua 0 0 8px; + -moz-box-shadow: aqua 0 0 8px; + -o-box-shadow: aqua 0 0 8px; + box-shadow: aqua 0 0 8px; +} + +button:active { + background: #39b2e5; + background: -webkit-gradient(linear, left bottom, left top, from(#39b2e5), to(#6083BF)); + background: -moz-linear-gradient(bottom, #39b2e5, #6083BF); + background: -o-linear-gradient(bottom, #39b2e5, #6083BF); + background: linear-gradient(bottom, #39b2e5, #6083BF); +} +h2, h3, h4 { + color: #39b2e5; + margin-bottom: 0; +} + +ul:not(#links) li ul, ul:not(#links) ul { + font: 18px Calibri, sanserif; + font-weight: normal; + list-style-type: disc; + line-height: 1.3; +} + +/* Default State */ +ul:not(#links) { + font: 20px Calibri, sanserif; + font-weight: bold; + color: 6083BF; + margin-top: 0.4em; + margin-left: -1.2em; + margin-right: 5em; + list-style-type: none; + line-height: 1.4; +} + + +/* Toggled State */ +input[type=checkbox] ~ ul:not(#links) li ul { + display: none; + } + input[type=checkbox]:checked ~ ul:not(#links) li ul { + display: block; + } diff --git a/handbook/computing/x-todo.html b/handbook/computing/x-todo.html new file mode 100644 index 000000000..1c0ae13f8 --- /dev/null +++ b/handbook/computing/x-todo.html @@ -0,0 +1,120 @@ + + +Expo Systems Exptl. To-Do List + + + + +

Expo Systems Exptl. To-Do List

+ + + +

Documentation

+ +

Photos

+ +

Surveys data entry

+ +

Troggle

+

Expo Server

+ +

+ This to-do-list gadget itself +

+ +
+ Testing area.. +
Demonstation as initially read from disc
+ + + + diff --git a/handbook/survey/README b/handbook/survey/README new file mode 100644 index 000000000..a1ced9ffd --- /dev/null +++ b/handbook/survey/README @@ -0,0 +1,10 @@ +Add new folders of the form +2017#01 (where 01 is a serial number) for surveys with physical notes +or +2017#X01 (where 01 is a serial number) for surveys with only digital data + + +Dummy text to stop mistaken messages about broken links +from the linkchecker at +brokenlinkcheck.com + diff --git a/handbook/survey/how-to-do-it b/handbook/survey/how-to-do-it new file mode 100644 index 000000000..3a6808a15 --- /dev/null +++ b/handbook/survey/how-to-do-it @@ -0,0 +1,89 @@ +# Instructions +# 2019-03-02 +# Philip Sargent + +Wookey told me to sort out the contents.json files in expofiles/surveyscans/2018/ +and these are my notes to remind myself what this entails. +This note was written during August 2018. + +The job is to populate the contents.json file in each folder, e.g. + +expofiles/surveyscans/2018/2018#03/contents.json + +using the following input materials: +- the wallet 2018#03 and the papers inside it. This is in the 2018 lever-arch file. +- the folder in repo 'loser' holding the appropriate .svx files e.g. + "caves-1623/2017-cucc-24/gshclimb.svx" +- the script expofiles/surveyscans/2018/wallets.py (run by "python wallets.py") + +the "wallets.py" script creates index.html files in each folder /2018/2018#nn/ +and creates or updates a webpage for each person listed in any of the contents.json files +in the folder/2018/ e.g. "Becka Lawson.html". + +The script wallets.py requires that the //loser// repo is populated on the machine that you +run the script on so that it can find the.svx files. Do not run this script on +the expo server itself as the loser repo is in the wrong place and all the .svx files +will be flagged as "not found" (Pauul Fox did this once). + +wallets.py now (Feb.2019) takes a command-line argument for the location of the loser repo, e.g. +python wallets.py "/mnt/d/CUCC-Expo/loser/" + +Before doing anything else, run wallets.py. This will create empty template contents.json +files in each folder. + +You may need to create missing folders,e.g. I just had to create /2018/2018#30 to #32. + +Every time you finish entering the data in contents.json in a folder, +run wallets.py to update the "person" html files and to +re-generate the index.html file for the 2018 folder as +a whole (surveyscans/2018/index.html). + +But wallets.py does not delete old files which are not regenerated. +So it is a good idea to delete all the .html files +before running it. + +The first difficulty is finding out which cave a wallet describes.. +The wallet may say "radaghost to blitzkriek" +(or whatever) but without the name of the cave you can't find the .svx files +as you don't know that you need to look in e.g. loser/caves-1626/2018-dm-07/ +Usually this is written by hand on the label of the wallet. + +There are ambiguities about how the entries in the contents.json actually lead to +reminder instructions in the html files produced, and this is particularly +difficult for electronic caves where the topo files are missing +and for surface prospecting where it is not clear which of the actions +should be done and thus which products should be produced. + +This needs to be documented. + +For prospecting and surface surveying it is not clear whether the default folder +for the url link should be repo //loser// surface/1623/allplateau.svx + +When there are more than one .svx file there seems to be no way of recording the list +in contents.json so it is impossible to tell what was done on that trip or whether +there is anything missing. This is especially true if it was electronic and the +.topo files are missing. Wookey confirms that this ios the case. + +wallets.py will not overwrite any contents.json file, it only creates one where one +doesn't exist. + +wallets.py also creates an index.html file inside each wallet folder dewcribing the status of this +folder. This is linked from the index.html file created in /2018/ by the script which +summarises everything for this year. + +NAMING +The script detects if there are notesX.jpg planX.jpg and elevX.jpgfiles present, and +produces a reminder/warning if they are not,even if these have all been scanned +and given different names. + +The job of the checker (perhaps on a second pass) if to rename files so that these +warnings disappear. + +HINT +When there are a lot on wallets all with the same cave, make your own template +with the cave name and the right folder prefix for the svx folder +(in the loser repo) and copy it in to all those wallet folders - overwriting +the blank template produced by the wallets.py + + + diff --git a/handbook/survey/onlinewallet.html b/handbook/survey/onlinewallet.html index 144aca87e..6508379ac 100644 --- a/handbook/survey/onlinewallet.html +++ b/handbook/survey/onlinewallet.html @@ -17,7 +17,7 @@

The scanned pages

-

These are simply the scanned imaages (or digital photographs) of each page of the original survey notes. +

These are simply the scanned images (or digital photographs) of each page of the original survey notes. They should be named notesXXX.jpg where "XXX" can be anything you like. Typically we have the scanned pages called notes1.jpg, notes2.jpg, notes3.jpg.

It is important that you use use the .jpg (JPEG) file format, and definitely not PNG (very voluminous) @@ -25,7 +25,7 @@ or PDF (very hard to re-use elsewhere). Set the scanner at 300 dpi and adjust th by using photo-editing software to enhance the writing. Also please crop each image to just the area containing the survey data.

As soon as the notes have been scanned you should (a) copy them to a USB stick or email them to someone, (b) upload the entire online wallet to the expo server in Cambridge -expo.survex.com. This is so that these precious files are backed-up as soon as possible. +expo.survex.com. This is so that these precious files are backed-up as soon as possible. (Assuming you have done the key-pair procedure, do the upload by sFTP as you do for photos, but to the directory described in the introduction to online wallets.)

The other files and online index contents.json

All the other files are part of the multi-step process of producing the cave survey - see @@ -51,7 +51,7 @@ have a different Austrian Kataster number issued for it in due course). *ref 2018#06 ; the #number is on the clear pocket containing the original notes -But sometime in mid-Expo 2015 everyone stopped using the survex template file and so this information was not recorded since then. This will be fixed by hand-editing indue course. +But sometime in mid-Expo 2015 everyone stopped using the survex template file and so this information was not recorded since then. This will be fixed by hand-editing in due course. (Note that many old .svx files were processed with an older version of survex which did not suppport this feature and so a comment was used instead.)

Troggle produces very useful auto-generated reports of the status of the wallets and the survex files @@ -127,17 +127,21 @@ in filenames on Windows computers. will, after the appropriate magic has happened, contain a file

-index.html +walletindex.html

which lists all the wallets which have uncompleted tasks, and lists all the people responsible for completing them. -You can see the index.html for 2018 . Also there will be a linked file for each individual +You can see the walletindex.html for 2018 . Also there will be a linked file for each individual for their personal to-do list, and each online wallet contains its own index.html file which describes the survey production status for all the wallets. -

The magic creates index.html files in each folder /2018/2018#nn/ +

The magic also creates walletindex.html files in each folder /2018/2018#nn/ and creates or updates a webpage for each person listed in any of the contents.json files in the folder/2018/ e.g. Becka Lawson.html. +

If you want to see what the files are in each online wallet then look at
+expo.survex.com/expofiles/surveyscans/2018/
+and you can navigate to the individual wallet folders too and look directly at the files there. +

All this magic is created by a script wallets.py.

Setting up the online wallets

@@ -153,8 +157,8 @@ new trip surveys. python wallets.py

This will create a default contents.json and -index.html in each online wallet subfolder and also a -index.html in the /2018/ folder. +walletindex.html in each online wallet subfolder and also a +walletindex.html in the /2018/ folder.

This script works fine on Linux (Debian, Xubuntu, etc.) and also now works fine in the Windows 10 bash system. @@ -177,7 +181,7 @@ You will run python wallets.py

regularly, after every batch of survey data is entered or scanned. -

This will always overwrite all the index.html files but it will never touch +

This will always overwrite all the walletindex.html files but it will never touch the contents.json files.

You will also regularly synchronise your laptop and the expo laptop with
@@ -206,7 +210,7 @@ As all this is not under version control the timestamps of the files are really

So script wallets.py has been fixed so that

@@ -221,9 +225,11 @@ different formats. It also

Things it might do in future (if someone gets around to it) include:
@@ -237,60 +243,14 @@ different formats. It also - checking the date is in the recent past etc.

How contents.json fields match -index.html reports

+walletindex.html reports

to be written...


Old notes, being turned into real documentation...
-# Instructions
-# 2018-08-14
-# Philip Sargent
 
 
-Wookey told me to sort out the contents.json files in expofiles/surveyscans/2018/
-and these are my notes to remind myself what this entails.
-
-The job is to populate the contents.json file in each folder, e.g.
-
-expofiles/surveyscans/2018/2018#03/contents.json
-
-using the following input materials:
-- the wallet 2018#03 and the papers inside it. This is in the 2018 lever-arch file.
-- the folder in repo 'loser' holding the appropriate .svx files e.g.
-  "caves-1623/2017-cucc-24/gshclimb.svx"
-- the script expofiles/surveyscans/2018/wallets.py (run by "python wallets.py")
-
-the "wallets.py" script creates index.html files in each folder /2018/2018#nn/
-and creates or updates a webpage for each person listed in any of the contents.json files
-in the folder/2018/.
-
-The script wallets.py requires that the //loser// repo is populated on the machine that you
-run the script on so that it can find the.svx files. 
-
-If your machine has the ::loser:: repo in a different place from that expected by the script, you can just 
-put the path on the command line:
-
-python wallets.py "/mnt/d/CUCC-Expo/loser/"
-
-Before doing anything else, run wallets.py. This will create empty template contents.json
-files in each folder.
-
-You may need to create missing folders,e.g. I just had to create /2018/2018#30 to #32.
-
-Every time you finish entering the data in contents.json in a folder, 
-run wallets.py to update the "person" html files and to 
-re-generate the index.html file for the 2018 folder as 
-a whole (surveyscans/2018/index.html).
-
-There are ambiguities about how the entries in the contents.json actually lead to
-reminder instructions in the html files produced, and this is particularly
-difficult for electronic caves where the topo files are missing
-and for surface prospecting where it is not clear which of the actions
-should be done and thus which products should be produced.
-
-This needs to be documented.
-
 For prospecting and surface surveying it is not clear whether the default folder
 for the url link should be repo ::loser:: surface/1623/allplateau.svx
 
@@ -309,14 +269,14 @@ the blank template produced by the wallets.py
 # Update March 2019
 
 a consolidated to-do list of the last 3 years on the server:
-http://expo.survex.com/expofiles/surveyscans/2016-18/index.html
+http://expo.survex.com/expofiles/surveyscans/2016-18/walletindex.html
 This is a hand-done kludge and only the first level of links works - which is to the individual person's page.
 
 the lists for the last 3 years individually and all the links are working for each wallet page: 
 both local links to your PC and to the right location of the .svx files on the troggle server.
-http://expo.survex.com/expofiles/surveyscans/2016/index.html
-http://expo.survex.com/expofiles/surveyscans/2017/index.html
-http://expo.survex.com/expofiles/surveyscans/2018/index.html
+http://expo.survex.com/expofiles/surveyscans/2016/walletindex.html
+http://expo.survex.com/expofiles/surveyscans/2017/walletindex.html
+http://expo.survex.com/expofiles/surveyscans/2018/walletindex.html
 and all the names of people have been hand-edited in the .json files to be consistent and identical.
 
 2015 has now been done stand-alone but there is no consolidated report for 2015-18 yet. 
diff --git a/noinfo/wallets.py b/noinfo/wallets.py
old mode 100644
new mode 100755
index b0e58a829..d44917ed4
--- a/noinfo/wallets.py
+++ b/noinfo/wallets.py
@@ -1,43 +1,55 @@
 #!/usr/bin/env python 
 import sys, os, operator, urllib, json, re, time
+from datetime import datetime
 
 # 2017 originally by Martin Green
 # 2018-08-27 edited Philip Sargent
-# 2019-03-02 extended to take command line argument of loser_dir and set mod time of index.html to be sane as json file
+# 2019-03-02 extended to take command line argument of loser_dir and set mod time of index.html to be same as json file
 # 2019-12-17 extra output of links to troggle-generated trip data
+# 2019-12-31 bits to make website link-checker not barf so much. Added endswith() to .startswith() for notes, elev, plan filenames
+# 2020-01-21 Now we are using Windows10-WSL1, +links to expedition logbook on every generated page
+# 2020-03-14 Adding timestamp tovisible outputs
 
-loser_dir = "/home/expo/loser/"
-#loser_dir = "/mnt/d/CUCC-Expo/loser/"  # when running on Win10/bash
+loser_dir = "/home/expo/loser"
+#loser_dir = "/mnt/d/CUCC-Expo/loser/"  # when running on Win10-WSL1
 #loser_dir = "/media/philip/SD-huge/CUCC-Expo/loser/"  # when running on xubuntu laptop 'barbie'
 
 if len(sys.argv) > 1 :
 	if sys.argv[1] != "":
 		loser_dir = sys.argv[1]
 
-print "Loser repo is assumed to be in: " + loser_dir
+dateTimeObj=datetime.now(tz=None)
+timestamp = dateTimeObj.strftime("%d-%b-%Y (%H:%M)")
+
+print "Loser repo (for svx files) is assumed to be in: " + loser_dir + "/"
+
+drawings_dir =  loser_dir[0:len(loser_dir)-5] + "drawings"
+print "Drawings repo (for drawings files) is assumed to be in: " + drawings_dir + "/"
 
 html_base = "%(body)s"
-html_year_index = html_base % {"body": "

%(year)s surveys: wallets status

\n

List of trips: expedition/%(year)s - troggle-processed .svx files and logbook entries on server

\n

Persons

\n\n

Wallets

\n%(wallets)s
\n

Needing Scanning

\n\n

Website (Guidebook description) needing updating\n

\n\n"} +html_year_index = html_base % {"body": "

%(year)s surveys: wallets status

\n

List of trips: expedition/%(year)s - troggle-processed .svx files and logbook entries on server

\nAs of %(timestamp)s\n

Persons

\n\n

Wallets

\n%(wallets)s
\n

Needing Scanning

\n\n

Website (Guidebook description) needing updating\n

\n\n"} html_year_person = "
  • %(person)s
  • \n" html_year_wallet_entry = "%(walletname)s %(cave)s %(name)s %(complaints)s\n" html_person_wallet_entry = "
  • %(walletname)s
  • \n" html_year_scanning_entry = "
  • %(walletname)s %(cave)s %(name)s
  • \n" html_wallet_file_entry = "
  • %(filename)s
  • \n" -html_wallet_index = html_base % {"body": "

    %(title)s : %(cave)s : %(name)s

    \n

    Date: %(date)s

    People: %(people)s

    \n

    Cave Guidebook description - %(description_needed)s \n

    Survex file:
      Local (Windows): %(loser_dirw)s%(survex)s
      Local (Linux): %(loser_dir)s%(survex)s
      Server:            %(survex)s

    Wallet index for this year

    \n

    Issues

    \n%(complaints)s\n

    Files

    \n\n"} +html_wallet_index = html_base % {"body": "

    %(title)s : %(cave)s : %(name)s

    \n

    List of trips: expedition/%(year)s - troggle-processed .svx files and logbook entries on server

    \n

    Date: %(date)s

    People: %(people)s

    \n

    Cave Guidebook description - %(description_needed)s \n

    Survex file:
      
       Local:      file:///%(loser_dir)s/%(survex)s
     Server:      http://expo.survex.com/survexfile/%(survex)s

    Wallet index for this year
    Local location for ::loser:: repo specified on command line is %(loser_dir)s.

    \n

    Issues

    \n%(complaints)s\n

    Files

    \n\n"} html_survex_required = {True: "Survex ", False: ""} html_plan_scanned = {True: "", False: "Plan "} html_elev_scanned = {True: "", False: "Elev "} html_description_written = {True: "", False: "Desc "} html_qms_written = {True: "", False: "QMs "} html_status = {True: "Issues: ", False: ""} -html_person = html_base % {"body": "

    %(person)s

    Outstanding Wallets

    "} +html_person = html_base % {"body": "

    %(person)s

    \n

    List of trips: expedition/%(year)s - troggle-processed .svx files and logbook entries on server

    \n

    Outstanding Wallets

    \nAs of %(timestamp)s\n"} html_complaint_items = "
  • %(count)i %(complaint)s
  • " html_items = "
  • %s
  • " + + blank_json = { "cave": "", "date": "", - "description url": "", + "description url": "/caves", "description written": False, "electronic survey": False, "elev drawn": False, @@ -53,6 +65,7 @@ blank_json = { "survex not required": False, "website updated": False} + #need to use wallets as a dict/tuple (id,cave,name) - not sure how. wallets = [] wallets_needing_scanning = set() @@ -106,7 +119,8 @@ for item in sorted(os.listdir(".")): print "Writing file %s" % (contents_path) json_file = open(contents_path, "w") json.dump(data, json_file, indent = 1) - json_file.close() + json_file.close() + # Get modification time of contents.json # print("json last modified: %s" % time.ctime(os.path.getmtime(contents_path))) json_mtime = os.path.getmtime(contents_path) @@ -131,36 +145,39 @@ for item in sorted(os.listdir(".")): #Notes notes_scanned = reduce(operator.or_, [f.startswith("note") for f in files], False) + notes_scanned = reduce(operator.or_, [f.endswith("note") for f in files], notes_scanned) if not notes_scanned: - complaints.append("The notes needs scanning (no noteN.jpg file found)") + complaints.append("The notes needs scanning (no noteNN.jpg or XXnote.jpg file found)") wallets_needing_scanning.add(item) #Plan drawing required plan_scanned = reduce(operator.or_, [f.startswith("plan") for f in files], False) + plan_scanned = reduce(operator.or_, [f.endswith("plan") for f in files], plan_scanned) plan_drawing_required = not (plan_scanned or data["plan drawn"]) if plan_drawing_required: - complaints.append("The plan needs drawing (no planN.jpg file found)") - person_complaints.append(" plan(s) needs drawing (no planN.jpg file found)") + complaints.append("The plan needs drawing (no planNN.jpg or XXplan.jpg file found)") + person_complaints.append(" plan(s) needs drawing (no planNN.jpg or XXplan.jpg file found)") if not plan_drawing_required and not plan_scanned: - complaints.append("The plan needs scanning (no planN.jpg file found)") + complaints.append("The plan needs scanning (no planNN.jpg or XXplan.jpg file found)") wallets_needing_scanning.add(item) #Elev drawing required elev_scanned = reduce(operator.or_, [f.startswith("elev") for f in files], False) + elev_scanned = reduce(operator.or_, [f.endswith("elev") for f in files], elev_scanned) elev_drawing_required = not (elev_scanned or data["elev drawn"]) if elev_drawing_required: - complaints.append("The elev needs drawing (no elevN.jpg file found)") - person_complaints.append(" elev(s) needs drawing (no elevN.jpg file found)") + complaints.append("The elev needs drawing (no elevNN.jpg or XXelev.jpg file found)") + person_complaints.append(" elev(s) needs drawing (no elevNN.jpg or XXelev.jpg file found)") if not elev_drawing_required and not elev_scanned: - complaints.append("The elev needs scanning (no elevN.jpg file found)") + complaints.append("The elev needs scanning (no elevNN.jpg or XXelev.jpg file found)") wallets_needing_scanning.add(item) #Description if not data["description written"]: complaints.append("The description needs writing") person_complaints.append(" description(s) needs writing") - description_needed = "Not present, needs doing." + description_needed = "A description is indicated as being needed, so may need adding into this cave page." #QMS @@ -170,12 +187,12 @@ for item in sorted(os.listdir(".")): #Website if not data["website updated"]: - complaints.append("The guidebook description on the website needs updating") + complaints.append("The website is marked as needing updating (using the guidebook description)") website_needing_updating.add(item) #Electronic Surveys if not data["electronic survey"]: - complaints.append("Tunnel / Therion files need drawing") + complaints.append("Tunnel / Therion drawing files need drawing") if data["survex file"]: survex_description = data["survex file"] @@ -183,7 +200,7 @@ for item in sorted(os.listdir(".")): survex_description = "Not specified" wallet_index_file = open(os.path.join(item, "index.html"), "w") - wallet_index_file.write(html_wallet_index % {"title": item, + wallet_index_file.write(html_wallet_index % {"title": item, "year": year, "cave": data["cave"], "name": data["name"], "date": data["date"], @@ -237,7 +254,7 @@ for person, person_wallets in people.items(): person_summary = dict(person_summary) year_index_file = open("index.html", "w") -year_index_file.write(html_year_index % {"year": year, "persons": reduce(operator.add, [html_year_person % {"person": person, +year_index_file.write(html_year_index % {"year": year, "timestamp": timestamp, "persons": reduce(operator.add, [html_year_person % {"person": person, "complaints": reduce(operator.add, [html_complaint_items % {"complaint": complaint, "count": count} @@ -270,7 +287,7 @@ year_index_file.close() for person, item_complaint_list in people.items(): person_file = open(person + ".html", "w") - person_file.write(html_person % {"person": person, + person_file.write(html_person % {"person": person, "year": year, "timestamp": timestamp, "wallets": reduce(operator.add, [html_person_wallet_entry % {"walletname": wallet, "walletindex": urllib.quote(wallet) + "/index.html", "complaints": reduce(operator.add, diff --git a/photos/adamc.jpg b/photos/adamc.jpg deleted file mode 100644 index 50cde459c..000000000 Binary files a/photos/adamc.jpg and /dev/null differ diff --git a/photos/aggy_finn.jpg b/photos/aggy_finn.jpg deleted file mode 100644 index 1f23cb2de..000000000 Binary files a/photos/aggy_finn.jpg and /dev/null differ diff --git a/photos/ajday.jpg b/photos/ajday.jpg deleted file mode 100644 index 42a08b908..000000000 Binary files a/photos/ajday.jpg and /dev/null differ diff --git a/photos/alexc.jpg b/photos/alexc.jpg deleted file mode 100644 index 5e2527dbc..000000000 Binary files a/photos/alexc.jpg and /dev/null differ diff --git a/photos/alim.jpg b/photos/alim.jpg deleted file mode 100644 index cb3c42ed9..000000000 Binary files a/photos/alim.jpg and /dev/null differ diff --git a/photos/andy_farrow.jpg b/photos/andy_farrow.jpg deleted file mode 100644 index b2af18644..000000000 Binary files a/photos/andy_farrow.jpg and /dev/null differ diff --git a/photos/andya.jpg b/photos/andya.jpg deleted file mode 100644 index d5976bf27..000000000 Binary files a/photos/andya.jpg and /dev/null differ diff --git a/photos/andyc.jpg b/photos/andyc.jpg deleted file mode 100644 index 0df64e746..000000000 Binary files a/photos/andyc.jpg and /dev/null differ diff --git a/photos/andyw.jpg b/photos/andyw.jpg deleted file mode 100644 index 0d1dfb1d4..000000000 Binary files a/photos/andyw.jpg and /dev/null differ diff --git a/photos/bderby.jpg b/photos/bderby.jpg deleted file mode 100644 index d3b0760de..000000000 Binary files a/photos/bderby.jpg and /dev/null differ diff --git a/photos/beckal.jpg b/photos/beckal.jpg deleted file mode 100644 index a6805d667..000000000 Binary files a/photos/beckal.jpg and /dev/null differ diff --git a/photos/benvm.jpg b/photos/benvm.jpg deleted file mode 100644 index 671eec76e..000000000 Binary files a/photos/benvm.jpg and /dev/null differ diff --git a/photos/bill_miners.jpg b/photos/bill_miners.jpg deleted file mode 100644 index c67549f49..000000000 Binary files a/photos/bill_miners.jpg and /dev/null differ diff --git a/photos/billh.jpg b/photos/billh.jpg deleted file mode 100644 index a3d16c025..000000000 Binary files a/photos/billh.jpg and /dev/null differ diff --git a/photos/bishop.jpg b/photos/bishop.jpg deleted file mode 100644 index 658a27550..000000000 Binary files a/photos/bishop.jpg and /dev/null differ diff --git a/photos/bobb.jpg b/photos/bobb.jpg deleted file mode 100644 index 22f6bacdd..000000000 Binary files a/photos/bobb.jpg and /dev/null differ diff --git a/photos/brian.jpg b/photos/brian.jpg deleted file mode 100644 index 9609023da..000000000 Binary files a/photos/brian.jpg and /dev/null differ diff --git a/photos/budge.jpg b/photos/budge.jpg deleted file mode 100644 index e9101e3e0..000000000 Binary files a/photos/budge.jpg and /dev/null differ diff --git a/photos/callum.jpg b/photos/callum.jpg deleted file mode 100644 index 2f99b87fc..000000000 Binary files a/photos/callum.jpg and /dev/null differ diff --git a/photos/chrisd.jpg b/photos/chrisd.jpg deleted file mode 100644 index 4dd9e4062..000000000 Binary files a/photos/chrisd.jpg and /dev/null differ diff --git a/photos/chriss.jpg b/photos/chriss.jpg deleted file mode 100644 index a830d5547..000000000 Binary files a/photos/chriss.jpg and /dev/null differ diff --git a/photos/claire_purnell.jpg b/photos/claire_purnell.jpg deleted file mode 100644 index 38a582f20..000000000 Binary files a/photos/claire_purnell.jpg and /dev/null differ diff --git a/photos/clive_george.jpg b/photos/clive_george.jpg deleted file mode 100644 index 993d9ddca..000000000 Binary files a/photos/clive_george.jpg and /dev/null differ diff --git a/photos/dan_mace.jpg b/photos/dan_mace.jpg deleted file mode 100644 index 4946b1f5b..000000000 Binary files a/photos/dan_mace.jpg and /dev/null differ diff --git a/photos/dave_collins.jpg b/photos/dave_collins.jpg deleted file mode 100644 index e755b76de..000000000 Binary files a/photos/dave_collins.jpg and /dev/null differ diff --git a/photos/dave_galvin.jpg b/photos/dave_galvin.jpg deleted file mode 100644 index 87add7583..000000000 Binary files a/photos/dave_galvin.jpg and /dev/null differ diff --git a/photos/dave_horsley.jpg b/photos/dave_horsley.jpg deleted file mode 100644 index 4bc92041e..000000000 Binary files a/photos/dave_horsley.jpg and /dev/null differ diff --git a/photos/daveb.jpg b/photos/daveb.jpg deleted file mode 100644 index 983456965..000000000 Binary files a/photos/daveb.jpg and /dev/null differ diff --git a/photos/davef.jpg b/photos/davef.jpg deleted file mode 100644 index b9e900351..000000000 Binary files a/photos/davef.jpg and /dev/null differ diff --git a/photos/daveh.jpg b/photos/daveh.jpg deleted file mode 100644 index ead14637e..000000000 Binary files a/photos/daveh.jpg and /dev/null differ diff --git a/photos/davel.jpg b/photos/davel.jpg deleted file mode 100644 index e515b3f06..000000000 Binary files a/photos/davel.jpg and /dev/null differ diff --git a/photos/del.jpg b/photos/del.jpg deleted file mode 100644 index 93de5f09e..000000000 Binary files a/photos/del.jpg and /dev/null differ diff --git a/photos/dolby.jpg b/photos/dolby.jpg deleted file mode 100644 index 6281041bd..000000000 Binary files a/photos/dolby.jpg and /dev/null differ diff --git a/photos/dougf.jpg b/photos/dougf.jpg deleted file mode 100644 index ecb3dd369..000000000 Binary files a/photos/dougf.jpg and /dev/null differ diff --git a/photos/earl.jpg b/photos/earl.jpg deleted file mode 100644 index b95b1713b..000000000 Binary files a/photos/earl.jpg and /dev/null differ diff --git a/photos/emma_wilson.jpg b/photos/emma_wilson.jpg deleted file mode 100644 index 9ef658985..000000000 Binary files a/photos/emma_wilson.jpg and /dev/null differ diff --git a/photos/erin.jpg b/photos/erin.jpg deleted file mode 100644 index 6edd85ac2..000000000 Binary files a/photos/erin.jpg and /dev/null differ diff --git a/photos/fay.jpg b/photos/fay.jpg deleted file mode 100644 index c7ec32954..000000000 Binary files a/photos/fay.jpg and /dev/null differ diff --git a/photos/fran.jpg b/photos/fran.jpg deleted file mode 100644 index ec22410ec..000000000 Binary files a/photos/fran.jpg and /dev/null differ diff --git a/photos/francis_turner.jpg b/photos/francis_turner.jpg deleted file mode 100644 index cee416564..000000000 Binary files a/photos/francis_turner.jpg and /dev/null differ diff --git a/photos/frankt.jpg b/photos/frankt.jpg deleted file mode 100644 index 478552ae4..000000000 Binary files a/photos/frankt.jpg and /dev/null differ diff --git a/photos/gails.jpg b/photos/gails.jpg deleted file mode 100644 index 8eb56f351..000000000 Binary files a/photos/gails.jpg and /dev/null differ diff --git a/photos/gill_lindsey.jpg b/photos/gill_lindsey.jpg deleted file mode 100644 index 71cb621eb..000000000 Binary files a/photos/gill_lindsey.jpg and /dev/null differ diff --git a/photos/glen.jpg b/photos/glen.jpg deleted file mode 100644 index 5c18f774d..000000000 Binary files a/photos/glen.jpg and /dev/null differ diff --git a/photos/gnash.jpg b/photos/gnash.jpg deleted file mode 100644 index 1366fe7a7..000000000 Binary files a/photos/gnash.jpg and /dev/null differ diff --git a/photos/haines.jpg b/photos/haines.jpg deleted file mode 100644 index 4b5b4d215..000000000 Binary files a/photos/haines.jpg and /dev/null differ diff --git a/photos/henri_welbourne.jpg b/photos/henri_welbourne.jpg deleted file mode 100644 index ce230f67b..000000000 Binary files a/photos/henri_welbourne.jpg and /dev/null differ diff --git a/photos/hilary_greaves.jpg b/photos/hilary_greaves.jpg deleted file mode 100644 index b32aa3f48..000000000 Binary files a/photos/hilary_greaves.jpg and /dev/null differ diff --git a/photos/hippo.jpg b/photos/hippo.jpg deleted file mode 100644 index 10d50be4b..000000000 Binary files a/photos/hippo.jpg and /dev/null differ diff --git a/photos/hughs.jpg b/photos/hughs.jpg deleted file mode 100644 index 413082edf..000000000 Binary files a/photos/hughs.jpg and /dev/null differ diff --git a/photos/ian_harris.jpg b/photos/ian_harris.jpg deleted file mode 100644 index 8da51e36d..000000000 Binary files a/photos/ian_harris.jpg and /dev/null differ diff --git a/photos/ianm.jpg b/photos/ianm.jpg deleted file mode 100644 index 65672c3ed..000000000 Binary files a/photos/ianm.jpg and /dev/null differ diff --git a/photos/jab.jpg b/photos/jab.jpg deleted file mode 100644 index 6970a772d..000000000 Binary files a/photos/jab.jpg and /dev/null differ diff --git a/photos/janetm.jpg b/photos/janetm.jpg deleted file mode 100644 index 3cdf6b65f..000000000 Binary files a/photos/janetm.jpg and /dev/null differ diff --git a/photos/jared.jpg b/photos/jared.jpg deleted file mode 100644 index e21539b63..000000000 Binary files a/photos/jared.jpg and /dev/null differ diff --git a/photos/jennyb.jpg b/photos/jennyb.jpg deleted file mode 100644 index 1e982a183..000000000 Binary files a/photos/jennyb.jpg and /dev/null differ diff --git a/photos/jerry.jpg b/photos/jerry.jpg deleted file mode 100644 index 77225ce7b..000000000 Binary files a/photos/jerry.jpg and /dev/null differ diff --git a/photos/jjr.jpg b/photos/jjr.jpg deleted file mode 100644 index 6d896bacb..000000000 Binary files a/photos/jjr.jpg and /dev/null differ diff --git a/photos/joel.jpg b/photos/joel.jpg deleted file mode 100644 index fce776d57..000000000 Binary files a/photos/joel.jpg and /dev/null differ diff --git a/photos/john_cordingley.jpg b/photos/john_cordingley.jpg deleted file mode 100644 index 46dcf22d2..000000000 Binary files a/photos/john_cordingley.jpg and /dev/null differ diff --git a/photos/johnp.jpg b/photos/johnp.jpg deleted file mode 100644 index 483b19712..000000000 Binary files a/photos/johnp.jpg and /dev/null differ diff --git a/photos/jont_leach.jpg b/photos/jont_leach.jpg deleted file mode 100644 index 35c61a86c..000000000 Binary files a/photos/jont_leach.jpg and /dev/null differ diff --git a/photos/jonw.jpg b/photos/jonw.jpg deleted file mode 100644 index 88d26d828..000000000 Binary files a/photos/jonw.jpg and /dev/null differ diff --git a/photos/jtodd.jpg b/photos/jtodd.jpg deleted file mode 100644 index 3c385d6b6..000000000 Binary files a/photos/jtodd.jpg and /dev/null differ diff --git a/photos/judith.jpg b/photos/judith.jpg deleted file mode 100644 index 3b8a99bee..000000000 Binary files a/photos/judith.jpg and /dev/null differ diff --git a/photos/juliab.jpg b/photos/juliab.jpg deleted file mode 100644 index b8994e2f7..000000000 Binary files a/photos/juliab.jpg and /dev/null differ diff --git a/photos/julian_shilton.jpg b/photos/julian_shilton.jpg deleted file mode 100644 index 00067c8c0..000000000 Binary files a/photos/julian_shilton.jpg and /dev/null differ diff --git a/photos/juliette_kelly.jpg b/photos/juliette_kelly.jpg deleted file mode 100644 index a31ac7168..000000000 Binary files a/photos/juliette_kelly.jpg and /dev/null differ diff --git a/photos/justin_powell.jpg b/photos/justin_powell.jpg deleted file mode 100644 index 937a932d0..000000000 Binary files a/photos/justin_powell.jpg and /dev/null differ diff --git a/photos/katej.jpg b/photos/katej.jpg deleted file mode 100644 index 886866f9e..000000000 Binary files a/photos/katej.jpg and /dev/null differ diff --git a/photos/keith.jpg b/photos/keith.jpg deleted file mode 100644 index a6437c910..000000000 Binary files a/photos/keith.jpg and /dev/null differ diff --git a/photos/kenb.jpg b/photos/kenb.jpg deleted file mode 100644 index 69349c705..000000000 Binary files a/photos/kenb.jpg and /dev/null differ diff --git a/photos/kristian.jpg b/photos/kristian.jpg deleted file mode 100644 index 536cbe916..000000000 Binary files a/photos/kristian.jpg and /dev/null differ diff --git a/photos/mark_byers.jpg b/photos/mark_byers.jpg deleted file mode 100644 index ccc93861e..000000000 Binary files a/photos/mark_byers.jpg and /dev/null differ diff --git a/photos/mark_scott.jpg b/photos/mark_scott.jpg deleted file mode 100644 index ff8ad55b9..000000000 Binary files a/photos/mark_scott.jpg and /dev/null differ diff --git a/photos/markf.jpg b/photos/markf.jpg deleted file mode 100644 index 76056296a..000000000 Binary files a/photos/markf.jpg and /dev/null differ diff --git a/photos/markm.jpg b/photos/markm.jpg deleted file mode 100644 index 480ff1cb3..000000000 Binary files a/photos/markm.jpg and /dev/null differ diff --git a/photos/markr.jpg b/photos/markr.jpg deleted file mode 100644 index aee617cfc..000000000 Binary files a/photos/markr.jpg and /dev/null differ diff --git a/photos/marks.jpg b/photos/marks.jpg deleted file mode 100644 index a406e510f..000000000 Binary files a/photos/marks.jpg and /dev/null differ diff --git a/photos/martin_sluka.jpg b/photos/martin_sluka.jpg deleted file mode 100644 index b866853b7..000000000 Binary files a/photos/martin_sluka.jpg and /dev/null differ diff --git a/photos/marting.jpg b/photos/marting.jpg deleted file mode 100644 index 972e8a403..000000000 Binary files a/photos/marting.jpg and /dev/null differ diff --git a/photos/mattk.jpg b/photos/mattk.jpg deleted file mode 100644 index d82628eb5..000000000 Binary files a/photos/mattk.jpg and /dev/null differ diff --git a/photos/mike_baslington.jpg b/photos/mike_baslington.jpg deleted file mode 100644 index b544aba95..000000000 Binary files a/photos/mike_baslington.jpg and /dev/null differ diff --git a/photos/mike_perryman.jpg b/photos/mike_perryman.jpg deleted file mode 100644 index c3fa788b7..000000000 Binary files a/photos/mike_perryman.jpg and /dev/null differ diff --git a/photos/mikem.jpg b/photos/mikem.jpg deleted file mode 100644 index 0571d7a37..000000000 Binary files a/photos/mikem.jpg and /dev/null differ diff --git a/photos/miketa.jpg b/photos/miketa.jpg deleted file mode 100644 index 2680d5b96..000000000 Binary files a/photos/miketa.jpg and /dev/null differ diff --git a/photos/msabry.jpg b/photos/msabry.jpg deleted file mode 100644 index f30ebb896..000000000 Binary files a/photos/msabry.jpg and /dev/null differ diff --git a/photos/msd.jpg b/photos/msd.jpg deleted file mode 100644 index 4d43a0d41..000000000 Binary files a/photos/msd.jpg and /dev/null differ diff --git a/photos/msd204.jpg b/photos/msd204.jpg deleted file mode 100644 index 3badc3f08..000000000 Binary files a/photos/msd204.jpg and /dev/null differ diff --git a/photos/mts.jpg b/photos/mts.jpg deleted file mode 100644 index 262e5d429..000000000 Binary files a/photos/mts.jpg and /dev/null differ diff --git a/photos/muff.jpg b/photos/muff.jpg deleted file mode 100644 index 0b2a4ee50..000000000 Binary files a/photos/muff.jpg and /dev/null differ diff --git a/photos/nadia.jpg b/photos/nadia.jpg deleted file mode 100644 index e94281e06..000000000 Binary files a/photos/nadia.jpg and /dev/null differ diff --git a/photos/naomi.jpg b/photos/naomi.jpg deleted file mode 100644 index c2b4c3df0..000000000 Binary files a/photos/naomi.jpg and /dev/null differ diff --git a/photos/natdalton.jpg b/photos/natdalton.jpg deleted file mode 100644 index 9093ba9f6..000000000 Binary files a/photos/natdalton.jpg and /dev/null differ diff --git a/photos/nialp.jpg b/photos/nialp.jpg deleted file mode 100644 index f2efca906..000000000 Binary files a/photos/nialp.jpg and /dev/null differ diff --git a/photos/nick_proctor.jpg b/photos/nick_proctor.jpg deleted file mode 100644 index ea5636c2e..000000000 Binary files a/photos/nick_proctor.jpg and /dev/null differ diff --git a/photos/nickt.jpg b/photos/nickt.jpg deleted file mode 100644 index c158ae8ae..000000000 Binary files a/photos/nickt.jpg and /dev/null differ diff --git a/photos/nicky.jpg b/photos/nicky.jpg deleted file mode 100644 index 2a510d00f..000000000 Binary files a/photos/nicky.jpg and /dev/null differ diff --git a/photos/olly.jpg b/photos/olly.jpg deleted file mode 100644 index 1518a49cb..000000000 Binary files a/photos/olly.jpg and /dev/null differ diff --git a/photos/ollym.jpg b/photos/ollym.jpg deleted file mode 100644 index 47ec5a530..000000000 Binary files a/photos/ollym.jpg and /dev/null differ diff --git a/photos/paul_hammond.jpg b/photos/paul_hammond.jpg deleted file mode 100644 index 17e87e1c0..000000000 Binary files a/photos/paul_hammond.jpg and /dev/null differ diff --git a/photos/paul_theobald.jpg b/photos/paul_theobald.jpg deleted file mode 100644 index d0e9ae77b..000000000 Binary files a/photos/paul_theobald.jpg and /dev/null differ diff --git a/photos/pauls.jpg b/photos/pauls.jpg deleted file mode 100644 index 10e4ffe06..000000000 Binary files a/photos/pauls.jpg and /dev/null differ diff --git a/photos/penny.jpg b/photos/penny.jpg deleted file mode 100644 index 0f117e0c7..000000000 Binary files a/photos/penny.jpg and /dev/null differ diff --git a/photos/pete_swain.jpg b/photos/pete_swain.jpg deleted file mode 100644 index 8b3c3bfa9..000000000 Binary files a/photos/pete_swain.jpg and /dev/null differ diff --git a/photos/petel.jpg b/photos/petel.jpg deleted file mode 100644 index c628c6c70..000000000 Binary files a/photos/petel.jpg and /dev/null differ diff --git a/photos/peterc.jpg b/photos/peterc.jpg deleted file mode 100644 index 4986b71ad..000000000 Binary files a/photos/peterc.jpg and /dev/null differ diff --git a/photos/phil_underwood.jpg b/photos/phil_underwood.jpg deleted file mode 100644 index dc041b850..000000000 Binary files a/photos/phil_underwood.jpg and /dev/null differ diff --git a/photos/philt.jpg b/photos/philt.jpg deleted file mode 100644 index fd8d9e986..000000000 Binary files a/photos/philt.jpg and /dev/null differ diff --git a/photos/planc.jpg b/photos/planc.jpg deleted file mode 100644 index ca38c76e6..000000000 Binary files a/photos/planc.jpg and /dev/null differ diff --git a/photos/planc2.jpg b/photos/planc2.jpg deleted file mode 100644 index 0c6a4216b..000000000 Binary files a/photos/planc2.jpg and /dev/null differ diff --git a/photos/plgod.jpg b/photos/plgod.jpg deleted file mode 100644 index 391174a2f..000000000 Binary files a/photos/plgod.jpg and /dev/null differ diff --git a/photos/pms.jpg b/photos/pms.jpg deleted file mode 100644 index 1afcd35a5..000000000 Binary files a/photos/pms.jpg and /dev/null differ diff --git a/photos/pms2.jpg b/photos/pms2.jpg deleted file mode 100644 index 921c48675..000000000 Binary files a/photos/pms2.jpg and /dev/null differ diff --git a/photos/rachel.jpg b/photos/rachel.jpg deleted file mode 100644 index 4ce71ab8f..000000000 Binary files a/photos/rachel.jpg and /dev/null differ diff --git a/photos/ralph_harwood.jpg b/photos/ralph_harwood.jpg deleted file mode 100644 index 200785a42..000000000 Binary files a/photos/ralph_harwood.jpg and /dev/null differ diff --git a/photos/rhrw.jpg b/photos/rhrw.jpg deleted file mode 100644 index c87f65cd5..000000000 Binary files a/photos/rhrw.jpg and /dev/null differ diff --git a/photos/rmt.jpg b/photos/rmt.jpg deleted file mode 100644 index b82661c04..000000000 Binary files a/photos/rmt.jpg and /dev/null differ diff --git a/photos/roshni.jpg b/photos/roshni.jpg deleted file mode 100644 index 7efafee5b..000000000 Binary files a/photos/roshni.jpg and /dev/null differ diff --git a/photos/saml.jpg b/photos/saml.jpg deleted file mode 100644 index cc53ab120..000000000 Binary files a/photos/saml.jpg and /dev/null differ diff --git a/photos/sandeep.jpg b/photos/sandeep.jpg deleted file mode 100644 index bd1d5143e..000000000 Binary files a/photos/sandeep.jpg and /dev/null differ diff --git a/photos/sarah_white.jpg b/photos/sarah_white.jpg deleted file mode 100644 index e89def26e..000000000 Binary files a/photos/sarah_white.jpg and /dev/null differ diff --git a/photos/scf77.jpg b/photos/scf77.jpg deleted file mode 100644 index 307670ae9..000000000 Binary files a/photos/scf77.jpg and /dev/null differ diff --git a/photos/simon_flower.jpg b/photos/simon_flower.jpg deleted file mode 100644 index 809ebaa62..000000000 Binary files a/photos/simon_flower.jpg and /dev/null differ diff --git a/photos/simonk.jpg b/photos/simonk.jpg deleted file mode 100644 index 964d9afc2..000000000 Binary files a/photos/simonk.jpg and /dev/null differ diff --git a/photos/simonr.jpg b/photos/simonr.jpg deleted file mode 100644 index 36a892ba7..000000000 Binary files a/photos/simonr.jpg and /dev/null differ diff --git a/photos/stefk.jpg b/photos/stefk.jpg deleted file mode 100644 index 54ce43d91..000000000 Binary files a/photos/stefk.jpg and /dev/null differ diff --git a/photos/steveb.jpg b/photos/steveb.jpg deleted file mode 100644 index 4f8b30ed9..000000000 Binary files a/photos/steveb.jpg and /dev/null differ diff --git a/photos/stuartb.jpg b/photos/stuartb.jpg deleted file mode 100644 index 8ed393c4b..000000000 Binary files a/photos/stuartb.jpg and /dev/null differ diff --git a/photos/sue_sharman.jpg b/photos/sue_sharman.jpg deleted file mode 100644 index 7bbd7276b..000000000 Binary files a/photos/sue_sharman.jpg and /dev/null differ diff --git a/photos/tanya.jpg b/photos/tanya.jpg deleted file mode 100644 index 926b13981..000000000 Binary files a/photos/tanya.jpg and /dev/null differ diff --git a/photos/tess.jpg b/photos/tess.jpg deleted file mode 100644 index c8aab9a3e..000000000 Binary files a/photos/tess.jpg and /dev/null differ diff --git a/photos/tim_farrar.jpg b/photos/tim_farrar.jpg deleted file mode 100644 index 73b5a3a96..000000000 Binary files a/photos/tim_farrar.jpg and /dev/null differ diff --git a/photos/timp.jpg b/photos/timp.jpg deleted file mode 100644 index 0c84713c8..000000000 Binary files a/photos/timp.jpg and /dev/null differ diff --git a/photos/timvb.jpg b/photos/timvb.jpg deleted file mode 100644 index 14993beea..000000000 Binary files a/photos/timvb.jpg and /dev/null differ diff --git a/photos/tinaw.jpg b/photos/tinaw.jpg deleted file mode 100644 index 49d1567a0..000000000 Binary files a/photos/tinaw.jpg and /dev/null differ diff --git a/photos/tonym.jpg b/photos/tonym.jpg deleted file mode 100644 index da72181f1..000000000 Binary files a/photos/tonym.jpg and /dev/null differ diff --git a/photos/tonyr.jpg b/photos/tonyr.jpg deleted file mode 100644 index e5376ebcc..000000000 Binary files a/photos/tonyr.jpg and /dev/null differ diff --git a/photos/vicb.jpg b/photos/vicb.jpg deleted file mode 100644 index 6428adfa4..000000000 Binary files a/photos/vicb.jpg and /dev/null differ diff --git a/photos/wiggy.jpg b/photos/wiggy.jpg deleted file mode 100644 index 86a8dda14..000000000 Binary files a/photos/wiggy.jpg and /dev/null differ diff --git a/photos/wook91.jpg b/photos/wook91.jpg deleted file mode 100644 index 0958f494b..000000000 Binary files a/photos/wook91.jpg and /dev/null differ diff --git a/photos/wookey.jpg b/photos/wookey.jpg deleted file mode 100644 index d7affcd39..000000000 Binary files a/photos/wookey.jpg and /dev/null differ diff --git a/photos/wstead.jpg b/photos/wstead.jpg deleted file mode 100644 index 2e74e8bce..000000000 Binary files a/photos/wstead.jpg and /dev/null differ diff --git a/scripts/detect-filename-clashes.py b/scripts/detect-filename-clashes.py new file mode 100644 index 000000000..bdfe564e5 --- /dev/null +++ b/scripts/detect-filename-clashes.py @@ -0,0 +1,53 @@ +#!/usr/bin/env python +""" +Recursively checks that no filenames from the current working directory +down are the same, even if they are in different subdirectories. Exits +with status 0 if no matching filenames are found, or 1 if a match is +found. + +2020-03-25 PMS Copied originally from https://gist.github.com/seanh/229455 +Modified to lowercase everything before checking, to detect clashes caused +by capitalisation, and to capture full path for all clashing files +""" +import sys,os +print "Checking for filename clashes...", + +def sortSecond(val): + return val[1] + +allfilenames = [] +detect = [] +clashes = [] +report = [] +exclude = set([".git",".hg"]) +for root, dirs, files in os.walk('.', topdown=True): + dirs[:] = [d for d in dirs if d not in exclude] # modifies dirs in-place. + for filename in files: + if filename.endswith('~'): + # Ignore automatically created backup files. + continue + if os.path.islink(os.path.join(root,filename)): + # Don't count symlinks as filename clashes. + continue + allfilenames.append((root,filename)) + if filename.lower() in detect: + clashes.append(filename.lower()) + else: + detect.append(filename.lower()) + +print len(allfilenames), 'files found...', +if clashes == []: + print 'OK' + sys.exit(0) +else: + print len(clashes)," clash(es) found." + for r,f in allfilenames: + if f in clashes: + report.append((r,f)) + # sorts the array in descending according to + # second element: the clashing filename + report.sort(key = sortSecond) + for r,f in report: + print os.path.join(r,f) + print len(clashes)," clash(es) found." + sys.exit(1) \ No newline at end of file diff --git a/years/2012/logbook.html b/years/2012/logbook.html index 55335d1d8..3a3dbf2ef 100644 --- a/years/2012/logbook.html +++ b/years/2012/logbook.html @@ -4,10 +4,6 @@ 2012 Expo Logbook - -

    Expo 2012

    - -frontispiece flower and sun drawing + +

    Expo 2012

    + +frontispiece flower and sun drawing +
    2012-07-29
    Julia Bradshaw, Anthony Day, Martin Green, Jessica Stirrups, Emma Wilson
    Holy Bondage
    @@ -29,7 +30,7 @@ Witnessed: Jessica Stirrups
    Emma Wilson

    -
    +
     Rope for rigging down to pushing in 204
    @@ -54,12 +55,12 @@ Fat Cat => 140 10mm
     
    2012-08-07
    -
    Wookey Serena
    +
    Wookey, Serena
    Wook comes out in the Wookmobile

    Wook & Serena filled the van with lots of food & gear & set off for expo. Remarkably traffic-free trip in the UK & across europe. Realised -at dover that we'd failed to bring a map of europe in physical or +at Dover that we'd failed to bring a map of europe in physical or digital form, so did a quick download + make plan on cheap UK data. Worked very well offline so failed to get lost at all. Had 4hrs kip en-route. diff --git a/years/2013/logbook.html b/years/2013/logbook.html index 5d23438c9..34b7991fa 100644 --- a/years/2013/logbook.html +++ b/years/2013/logbook.html @@ -4,22 +4,22 @@ 2013 Expo Logbook + - -

    CUCC Logbook 2013

    - + +

    CUCC Logbook 2013


    2013-07-23
    @@ -710,14 +710,14 @@ out and slowly caved back to outside.

    T/U: 14hrs

    - +
    2013-08-07
    +
    hris
    +
    String Theory Rigging Guide
    Estimated lengths by CD. Please amend on derig! Chris
    String Theory Rigging Guide -
    -

    For the Bad Aussee rag:

    Some poeple may wonder who the muddy group are who camp opposite the @@ -726,7 +726,7 @@ back over the last 30 years. The group is the Cambridge University Caving Club, and they have been exploring caves that lie beneath the Loser plateau. The local sheperds will be aware of the many holes on the plateau that can swallow their sheep, - -
    +
    2013-08-07
    @@ -1014,12 +1014,12 @@ further 10-15m pitch which is undescended.
    Rigging guide/elevat
 src=
    The team then derigged.

    -
    +

    Dear Expo,
    Thanks very much for having us! See you again another year.
    Fleur & Pete

    PS - We have taken the old stretcher, some rope + Stu + Chris and all their shit. Will return CUCC kit at Hidden Earth.

    -
    +
    2013-08-10
    diff --git a/years/2014/logbook.html b/years/2014/logbook.html index 0797d6ba7..4d7102249 100644 --- a/years/2014/logbook.html +++ b/years/2014/logbook.html @@ -4,21 +4,20 @@ 2014 Expo Logbook - - -

    CUCC Logbook 2014

    + - + +

    CUCC Logbook 2014


    2014-07-14