diff --git a/cave_data/1623-114.html b/cave_data/1623-114.html index ab4add32d..80963725f 100644 --- a/cave_data/1623-114.html +++ b/cave_data/1623-114.html @@ -1,94 +1,108 @@ - + +
This does not appear to be in the Austrians' Kataster. -
-AERW email 30 June 2020: -The name Verlorenschacht was probably invented by me, and in the absence -of the 1980 logbook, there is no real reason to believe it was a schacht, -just something they thought worth a number in a year when we were making -the effort to actually number stuff we found. It is _probably_ not (as you -might hope) somewhere between 113 and 115, but it _might_ be ... There is -something in that area that one steps over on a particular (probably -obscure) route from one cave to another. I don't *think* it got a -number but it *might* be 114. If that surmise is anywhere near, then it -is between the Stogerweg and 113, rather than close to 115. -
-> But it is definitely not a "Schacht": more a horizontal scramble with a -> couple of pits. [Philip] - -That doesn't sound like the thing in the 113 area I'm thinking of - that -was at least a bit of a climb down at the entrance (enough not to venture -in without at least a handline). Of course, if it was something on the -Wildenseealm walk, then it is nowhere near 113/41/115. -
-The missing 1980 logbook really is critical to this one. -
-Philip Sargent email 1 July 2020 to Wookey: -
-> According to AERW it might or might not be the same cave, or be might -> be remembering something else; but it is arguably in the right place -> as at least two groups have found it while looking for 115 coming from -> the path - and 113 is on the other (upper) side of the path - so it is -> topologically between 113 and 115 even if not geometrically between 113 and 115. -> -> I say let's go for it and rub out the uncertainty. -> Which means I had better write up a sketch survey for all 15m of it. -
-I've not followed the whole thread/saga, but at this stage I think this sounds reasonable. Almost anything would be an improvment and so long as we're reasonably sure that the original 114 is not marked as such in a way that might one day be noticed (and it seems unlikely that the 1980 logbook will surface at this point) any reasonable effort to get a cave in about the right place should suffice. -
-Wookey - -
This does not appear to be in the Austrians' Kataster. +
+AERW email 30 June 2020: +The name Verlorenschacht was probably invented by me, and in the absence +of the 1980 logbook, there is no real reason to believe it was a schacht, +just something they thought worth a number in a year when we were making +the effort to actually number stuff we found. It is _probably_ not (as you +might hope) somewhere between 113 and 115, but it _might_ be ... There is +something in that area that one steps over on a particular (probably +obscure) route from one cave to another. I don't *think* it got a +number but it *might* be 114. If that surmise is anywhere near, then it +is between the Stogerweg and 113, rather than close to 115. +
+> But it is definitely not a "Schacht": more a horizontal scramble with a +> couple of pits. [Philip] + +That doesn't sound like the thing in the 113 area I'm thinking of - that +was at least a bit of a climb down at the entrance (enough not to venture +in without at least a handline). Of course, if it was something on the +Wildenseealm walk, then it is nowhere near 113/41/115. +
+The missing 1980 logbook really is critical to this one. +
+Philip Sargent email 1 July 2020 to Wookey: +
+> According to AERW it might or might not be the same cave, or be might +> be remembering something else; but it is arguably in the right place +> as at least two groups have found it while looking for 115 coming from +> the path - and 113 is on the other (upper) side of the path - so it is +> topologically between 113 and 115 even if not geometrically between 113 and 115. +> +> I say let's go for it and rub out the uncertainty. +> Which means I had better write up a sketch survey for all 15m of it. +
+I've not followed the whole thread/saga, but at this stage I think this sounds reasonable. Almost anything would be an improvment and so long as we're reasonably sure that the original 114 is not marked as such in a way that might one day be noticed (and it seems unlikely that the 1980 logbook will surface at this point) any reasonable effort to get a cave in about the right place should suffice. +
+Wookey
The core problem is integrating the PuTTy key management software (pagent.exe) with a terminal window. We need a terminal window to run rsync as none of the packaged software (Filezilla, PuTTy) includes an rsync client. -
The solution we have now for rsync is to use WSL1 and to create another key, distinct from the PuTTy one, and to upload that key to the expo server. Because this is treating WSL as if it were a different machine requiring its own key quite separate from the Windows key, we expect this to continue to work when WSL2 becomes the default behaviour on Windows10. +
The solution we have now for rsync is to use WSL and to create another key, distinct from the PuTTy one, and to upload that key to the expo server. Because this is treating WSL as if it were a different machine requiring its own key quite separate from the Windows key. (This works the same way in WSL1 and WSL2)..
So on a machine with WSL enabled, create an ordinary cmd window and get into the WSL environment using the wsl command: WSL1 unfortunately introduces a wonderful new problem of file permissions. Every file on the Windows filesystem NTFS has a set of permissions managed by the filesystem. Every NTFS file that WSL knows about (if mounted with -o metadata) acquires a completely parallel set of file permissions that are fundamentally different things and are never in sync in any sense. All sorts of fun results. This is fixed by WSL2 which has an entirely separate filesystem, a Virtual Hardware Disk (VHD).
+ WSL unfortunately introduces a wonderful new problem of file permissions. Every file on the Windows filesystem NTFS has a set of permissions managed by the filesystem. Every NTFS file that WSL knows about (if mounted with -o metadata) acquires a completely parallel set of file permissions that are fundamentally different things and are never in sync in any sense. All sorts of fun results. The alternative is to store all your data in the \\wsl$\ ext4 filesystem (WSL2 only, not WSL1).
If you are disturbed by the instructions to produce an entirely different key for WSL to use when your PC already has a perfectly good PuTTy key installed on the server, then you are right. It is inelegant. But it works, the instructions are shorter and there are fewer things that go wrong. If you are terribly offended by that then you can set your PC up to use one key shared between WSL and normal-Windows as described in this October 2019 article. (Don't set up a password on the key because then you don't need to install keychain.) But beware, this sort of thing goes out of date quite rapidly.
@@ -165,7 +166,7 @@ Now finally you can use all the usual command line tools at yor wsl command line
Geartape lists for CUCC and previous expo years
An Sequence Diagram is on the the types of Interaction Diagram used to understand complex systems.
+ A Sequence Diagram is oen the the types of Interaction Diagram used to understand complex systems.
We also have a "activity" lifecycle diagram which shows clearly the states which a wallet can be in during its life.
- Both "activity" and "sequence" diagrams are part of the UML software specifiction system. We also have a "class" diagram for troggle.
+ Both "activity" and "sequence" diagrams are part of the UML software specification system. We also have a "class" diagram for troggle.
That page also defines the "essential", "specification" and "implementation" levels at which troggle is designed and maintained.
D:\CUCC-Expo\expoweb\ wsl
@@ -141,21 +141,22 @@ Now finally you can use all the usual command line tools at yor wsl command line
-WSL1 tricks and tips
+WSL tricks and tips
-Gear tape colours for Expo 2021
-TO BE UPDATED FOR 2021
+Gear tape colours for Expo 2022
+TO BE UPDATED FOR 2022
diff --git a/handbook/i/dumpsterfire.jpg b/handbook/i/dumpsterfire.jpg
new file mode 100644
index 000000000..a5af72ac9
Binary files /dev/null and b/handbook/i/dumpsterfire.jpg differ
diff --git a/handbook/i/killitwithfire.jpg b/handbook/i/killitwithfire.jpg
new file mode 100644
index 000000000..9775c707e
Binary files /dev/null and b/handbook/i/killitwithfire.jpg differ
diff --git a/handbook/l/seq-wallet.html b/handbook/l/seq-wallet.html
index 42957aa95..fd1cb29fb 100644
--- a/handbook/l/seq-wallet.html
+++ b/handbook/l/seq-wallet.html
@@ -15,7 +15,7 @@ CUCC Expo Handbook: Wallet Process UML Diagrams
-
This diagram
diff --git a/handbook/planning.html b/handbook/planning.html
index a44de9af5..56040d8f9 100644
--- a/handbook/planning.html
+++ b/handbook/planning.html
@@ -29,7 +29,7 @@
diff --git a/handbook/rig/rigit.html b/handbook/rig/rigit.html
index e18d4792d..284b532b0 100644
--- a/handbook/rig/rigit.html
+++ b/handbook/rig/rigit.html
@@ -54,7 +54,7 @@ href="../../fixaid.htm">Fixed Aids list up to date.
See the 2020 appraisal of anchors and choice of bolt types for future expos.
Rope should be chained only when it is washed and checked. Dirty or unchecked rope may be coiled. Rope should be washed, checked and measured at the end of each expo. See the Courant rope care notice. +
Rope should be chained only when it is washed and checked. Dirty or unchecked rope may be coiled. Rope should be washed, checked and measured at the end of each expo. See the Courant rope care notice.
Rope should be labeled at both ends with "CUCC", the year of first use and the rope length. Where the manufacturer specifies the maximum end of life date, this may also be specified, eg CUCC 2016-25. The maximum end of life date may be determined by cutting of a section of rope and finding the plastic strip that should contain the manufacturer and date of manufacture.
diff --git a/handbook/survey/newwallet.html b/handbook/survey/newwallet.html
index 17999d0a3..dcb4231f9 100644
--- a/handbook/survey/newwallet.html
+++ b/handbook/survey/newwallet.html
@@ -162,13 +162,13 @@ Please only copy files to the server that you created yourself and which liv
If you used a PDA instead of making notes on paper, you need to store your .topo files in the right place.
- If you using the expo laptop just upload the .topo files in an ordinary online wallet
+ If you using the expo laptop just upload the .topo files in an ordinary online wallet
wallet, as there is no physical wallet,
e.g. for 2018#16 it would be:
If you are not in the potato hut and your screen is too small to use the upload form then email all the .topo files
to a friendly nerd (not necessarily on expo) who will upload them in the right place.
diff --git a/handbook/troggle/trog2030.html b/handbook/troggle/trog2030.html
index acc11768f..1948e4864 100644
--- a/handbook/troggle/trog2030.html
+++ b/handbook/troggle/trog2030.html
@@ -92,7 +92,7 @@ we are trying to make future maintenance easier, not harder. But it looks like R
There is not yet a front-end (javascript) framework on the client, i.e. a phone app or webpage, which is stable enough for us to commit
-effort to. Bits of troggle use very old jQuery ("edit this page", and the svx file editor) , and Flask looks interesting
+effort to (we managed to remove all the jQuery by using recent HTML5 capabilities). Flask looks interesting
(but maybe is only simpler when
starting a new project and doesn't scale to complexity the way Django does, but maybe in 2025 we
could see a good way to move all the user interface (rewritten to be GIS-centric?) to the client
diff --git a/handbook/troggle/trogdesign.html b/handbook/troggle/trogdesign.html
index 731f2524b..75b935fa0 100644
--- a/handbook/troggle/trogdesign.html
+++ b/handbook/troggle/trogdesign.html
@@ -18,7 +18,7 @@
Every extra plugin increases the "vulnerability surface" of troggle with respect to django upgrade problems so we now only install a new plugin if it is really, really necessary and we have removed as many as we could. For example, when django-staticfiles broke during one upgrade we discovered that we could use our own troggle.expopages as a workaround, so we are not planning on reinstalling staticfiles if we don't have to.
- Well we might not use django indefinitely, but unlike many frameworks the necessary functions are separately replaceable. So this gives us an evolution path. We can incrementally reduce the amount of django we use, replacing it with our own simpler python that does only what we need.
The separate functions within the framework form a "stack". These functions exist in all web application frameworks but in Django they are loosely coupled.
The stack is:
See the django design philosophy on 'loose coupling and tight cohesion'. Note that having a URL dispatcher that supports reverse resolution is important: it is a key reason why we need a framework and not just a mess of javascript. We have nearly 100 URL patterns.
+ See the django design philosophy on 'loose coupling and tight cohesion'. Note that having a URL dispatcher that supports
+reverse resolution
+is important: it is a key reason why we need a framework and not just a mess of javascript. We have nearly 100 URL patterns.
+We should try to reduce the number of distinct URLs perhaps, but they help document the structure too.
This is a book: Kill It With Fire: Managing Aging Computer Systems (And Future Proof Modern Ones)
+ Read the brief reviews:
+
+
+
+ About a third of the book is about management and doing repair/rewrite inside large organisations, but
+nearly half of it is directly relevant to us:
+
+ The book was published in March 2021.
+ So how do we repair old code? By refactoring. I use the first edition of Fowler's book rather than the 2nd. And Brett Slatkin's Effective Python (second edition) is absolutely invaluable.
+ If you don't already know how to do this, then you should probably not be attempting to work on the troggle code. But in case you are an experienced linux user who has always had someone else set up the system for them, then Ubuntu is the easiest and more forgiving to install, either directly on the computer or inside WSL. Because we are using fairly old releases of Django, you will want Ubuntu-20.04
+ If you don't already know how to do this, then you should probably not be attempting to work on the troggle code. But in case you are an experienced linux user who has always had someone else set up the system for them, then Ubuntu is the easiest and more forgiving to install, either directly on the computer or inside WSL. Because we are using fairly old, stable releases of Django, you will want Ubuntu-20.04
The standard documentation for Ubuntu or debian below all works, but you should first skim the
-Windows expo laptop description of WSL1 and WSL2. The default
-is that WSL2 will be installed, but all our practical experience so far is with WSL1.
+Windows expo laptop configuration too. So far as expo software is concerned, WSL1 and WSL2 behave identically.
+
Python is not installed by default usually, and in any case we need specific versions to be installed. For Ubuntu 20.04 the default is python3.9 but this is incompatible with standard debian Buster which is what is live on our server, so we also need python3.7 . If you are planning on helping the migration of troggle from debian Buster (v10) to Bullseye (v11) then you will also want python3.8 .
+
+
+ Python is not installed by default usually, and in any case we need specific versions to be installed. For Ubuntu 20.04 the default is python3.9 but this is incompatible with standard debian Buster which is what is live on our server, so we also need python3.7 .
+ If you are planning on helping the migration of troggle from debian Buster (v10) to Bullseye (v11) then you will also want python3.8 .
-WARNING: only the WSL and debian variants are current in October 2021. All the others are so old that
+WARNING: only the WSL and debian variants are current in December 2021. All the others are so old that
they will need serious work to be useable. Copy what you need from WSL and debian variants of
localsettings.py
@@ -332,7 +335,7 @@ and run the tests again:
And, you may be surprised to discover, we have given a lot of thought into how to make it easier for you
to get involved in the programming while not screwing up this multi-decade software project.
+ Everyone at some point feels like giving up and wonders if we should just rewrite it all from scratch using 'modern' techniques.
+Several of us have given this a lot of thought, see 'A kinder, simpler troggle',
+the 2030 plan, architecture constraints and most importantly, the 4-layer stack any future technology with some public URLs would need to emulate.
+ We have also been learning from the global software community when you really do need to 'Kill it with Fire': what are
+the characteristics of code and of organisations that mean that it is a good idea to give up, and if so how to
+manage the rewrite. The answers are "almost never" and "don't": as explained in this summary of the book 'Kill it with Fire'.
+
Perhaps you can program something external to troggle, in JavaScript say, using troggle data?
It's a simple sequence whcih steadily builds your expertise:
+ It's a simple sequence which steadily builds your expertise:
This happens all the time. If ever troggle is crashing on you very mysteriously, it is almost certainly due to a typo in troggle/urls.py . Odd but true.
+ This happens all the time. If ever troggle is crashing on you very mysteriously, it is almost certainly due to a typo in troggle/urls.py . Odd but true.
A web API to expose the troggle database (read-only) would allow some keen
person to write a special-purpose app on a phone, e.g. an entrance-locator
@@ -53,6 +54,8 @@ enthusiast must have done this already surely ? Ah yes, Brython.
Which is fun, but not useful. And not just because it may be immature. None of
this addresses our biggest problem: devising something that can be
diff --git a/handbook/troggle/trogtests.html b/handbook/troggle/trogtests.html
new file mode 100644
index 000000000..33ddc0251
--- /dev/null
+++ b/handbook/troggle/trogtests.html
@@ -0,0 +1,72 @@
+
+
+
+
+ We have a suite of more than 70 smoke tests
+which are run manually by troggle programmers like this:
+ These are 'end to end' tests which very quickly show whether something is badly broken. The tests are for two purposes only:
+ This is surprisingly effective. Django produces excellently detailed tracebacks when an fault happens,
+which allow us to home in on the precise part of the code which has been broken by a version upgrade.
+ We do also have a handful of unit tests which just poke data into the database and check that it can be read out again.
+
+The test code is all in troggle/core/TESTS/.
+ The test 'test_page_expofile' checks that a particular PDF is being served correctly by the web server
+and that the resulting page is the correct length of 2,299,270 bytes:
+
+ This test suite uses the the
+django test system. One of the things this does
+is to ensure that all the settings are imported correctly and makes it easy to specify a test as an input URL and expected
+HTML output using a Django object text client.
+It sets up a very fast in-memory sqlite database purely for tests.
+No tests are run with the real expo database.
+
+ The tests can be run at a more verbose level by setting the -v 3 flag.
+
+ As yet we have no test database set up, so the in-memory database starts entirely empty. However we have 'fixtures' in
+troggle/core/fixtures/
+which are JSON files containing dummy data which is read in before a few of the tests.
+
+ Something is stopping the test suite running on the server. We haven't fixed this yet.
+
+ We could do with a lot more unit tests which test small, specific things. If we have a lot of these it will make future re-engineering of troggle easier, as we can more confidently tackle big re-writes and still be sure that nothing is broken.
+ We haven't got any tests which check that the input parsers work. None.
+
+ Have a look at Wikpedia's review of types of software testing for ideas.
+ If you want to write some tests and are having trouble finding something which is untested, have a look at the list of
+url paths in the routing system in troggle/urls.py
+and look for types of url which do not appear in the test suite checks.
+
+ We have a small suite of tests which are run manually by troggle programmers like this:
- The test 'test_page_expofile' checks that a particular PDF is being served correctly by the web server
-and that the resulting page is the correct length of 2,299,270 bytes:
-
- This test suite is part of the
-django test system which is a very thin layer on top of the standard python library module
-unittest. One of the things this layer does
-is to ensure that all the settings are imported correctly, and it sets up a very fast in-memory sqlite database purely for tests.
-No tests are run with the real expo database.
- The tests can be run at a more verbose level by setting the -v 3 flag.
-
- As yet we have no test database set up, so the in-memory database is entirely empty. However we have 'fixtures' in
-troggle/core/fixtures/
-which are JSON files containing dummy data which is used in the more complex tests.
-
- If you want to write some tests and are having trouble finding something which is untested, have a look at the list of
-url paths in the routing system in troggle/urls.py
-and look for types of url which do not appear in the test suite checks.
-
- Links to recent expos: previous expo
+ Links to recent expos: previous expo. There was no expo in 1986, 2020 or 2021.
Caving trips records.
-
-Link to last expedition: 2019 To discuss.. (not just x miles of newly surveyed cave)
- Caving trips records.
+
Back to Expo Planning Guide.
diff --git a/years/2022/index.html b/years/2022/index.html
new file mode 100644
index 000000000..ff600d258
--- /dev/null
+++ b/years/2022/index.html
@@ -0,0 +1,119 @@
+
+
+ Caving trips records.
+
+Link to last expedition: 2019 To discuss.. (not just x miles of newly surveyed cave)
+
+Back to Expo Planning Guide.
+
+
diff --git a/years/2021/logbook.html b/years/2022/logbook.html
old mode 100755
new mode 100644
similarity index 88%
rename from years/2021/logbook.html
rename to years/2022/logbook.html
index f74293438..1483c7952
--- a/years/2021/logbook.html
+++ b/years/2022/logbook.html
@@ -6,7 +6,7 @@
frontispiece
This year’s aims are to continue pushing leads from Balkonhoehle, and possibly Fischgesicht
and Keinewassermelon. Storing your electronic survey .topo files
/home/expo/expofiles/surveyscans/2018/2018#16/
-in the same way as you do scanned notes or scanned survey sketches. (We used to call them sometihng different, but this turns out to be both confusing and not necessary.)
+in the same way as you do scanned notes or scanned survey sketches. (We used to use a different naming scheme for non-physical wallets, but that turned out to be both confusing and not necessary.)
Things that could be a bit sticky 2 - front-end code
diff --git a/handbook/troggle/trogdjango.html b/handbook/troggle/trogdjango.html
index 6830d299b..546379ad2 100644
--- a/handbook/troggle/trogdjango.html
+++ b/handbook/troggle/trogdjango.html
@@ -41,18 +41,21 @@ note that the suffix on a name ''_set actually denotes a function cal
Why we still use django
+Why we still use django
-
-
diff --git a/handbook/troggle/trogindex.html b/handbook/troggle/trogindex.html
index 22fc8ae62..9b0e58b95 100644
--- a/handbook/troggle/trogindex.html
+++ b/handbook/troggle/trogindex.html
@@ -24,6 +24,7 @@
+
Troggle laptop configuration - how to set up a software development machine
@@ -36,7 +37,7 @@
Troggle and Django - The Django web framework we use
Troggle: updating Django - Upgrading troggle to use a later Django version
-Troggle unit tests - test suite for programmers
+Troggle tests - test suite for programmers
Troggle & expo systems - status update - where we are now
@@ -48,7 +49,7 @@
-
+
diff --git a/handbook/troggle/trogkill.html b/handbook/troggle/trogkill.html
new file mode 100644
index 000000000..471539a9f
--- /dev/null
+++ b/handbook/troggle/trogkill.html
@@ -0,0 +1,63 @@
+
+
+
+
+CUCC Expedition Handbook
+Troggle - Kill it with Fire
+
+
+
+
+
+
+Refactoring
+
+
+Return to: Troggle intro
+Return to: Troggle Programming Guide
+
+
+
diff --git a/handbook/troggle/troglaptop.html b/handbook/troggle/troglaptop.html
index 836d182f6..56617ffbf 100644
--- a/handbook/troggle/troglaptop.html
+++ b/handbook/troggle/troglaptop.html
@@ -30,7 +30,7 @@ http://expo.survex.com/repositories/troggle/.git/tree/README.txt
Installing linux
-
WSL on Windows
Installing python
-
@@ -209,7 +212,7 @@ We have at one time made localsettings in /_deploy/ appropriate for
sudo apt install python3 python3-pip
+sudo apt install sqlite3 sqlite3-doc
+sudo apt install survex
sudo apt install software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt install python3.7 python3.7-venv python3.7-doc binutils binfmt-support
-sudo apt install sqlite3 sqlite3-doc
-sudo apt install survex
cd /usr/bin
sudo ln -s python3 python
sudo ln -s pip3 pip
-python manage.py test -v 2
Click on the triangle to see how to run the folk script.
+Click on the triangle to see how to run the folk script. You don't need to do this now.
The folk generation script is top of the list in
@@ -355,7 +358,7 @@ cd ../../troggle
- http://localhost:8000/stats
- http://localhost:8000/people (takes a minute or so)
- http://localhost:8000/expofiles/surveyscans/2019/walletindex.html
-<
- http://localhost:8000/survexfile/caves/
+
- http://localhost:8000/survexfile/caves/
- http://localhost:8000/expofiles/training-info/Idiots guide to accessing expo git.pptx
- http://localhost:8000/1623/291/291.htm
- http://localhost:8000/caves
diff --git a/handbook/troggle/trognotes.html b/handbook/troggle/trognotes.html
index c6e9f9a49..40dfece6a 100644
--- a/handbook/troggle/trognotes.html
+++ b/handbook/troggle/trognotes.html
@@ -49,6 +49,16 @@ live and in-use: all the foreign keys and relationship cardinalities.
Kill it with Fire
+
+
+Perhaps an external add-on?
@@ -57,7 +67,7 @@ to get involved in the progra
Creating your own system development machine
-
Fixing broken URL dispatch
-Fixing a broken HTML template
-
+[to be written]
Running databaseReset
@@ -82,7 +92,7 @@ to get involved in the progra
Running the test suite
This manual is very incomplete - notes
diff --git a/handbook/troggle/trogspeculate.html b/handbook/troggle/trogspeculate.html
index fb188c363..f81d78976 100644
--- a/handbook/troggle/trogspeculate.html
+++ b/handbook/troggle/trogspeculate.html
@@ -31,6 +31,7 @@ Wikipedia list of javascript frameworks.] With our deep historical perspecti
we can expect this
menagerie to sort itself out into a stable, standardised foundation
within the next couple of decades but probably not within the next 10 years.
+(ECMAscript 12 is definitely on the way to making these frameworks redundant.)
Pyodide - full browser using webassembly (2021) and
Skulpt (which has, since 2017, a full-blown
commerical system() built on top of it - by a CambridgeCL spinout)
+WASM - CPython in webassembly (2021)
+
CUCC Expedition Handbook
+Handbook Troggle - Automated Testing
+
+Troggle Automated Testing
+
+
+ troggle$ python manage.py test -v 1
+
+Example test
+
+
+
+ def test_page_expofile(self):
+ # Flat file tests.
+ response = self.client.get('/expofiles/documents/surveying/tunnel-loefflerCP35-only.pdf')
+ self.assertEqual(response.status_code, 200)
+ self.assertEqual(len(response.content), 2299270)
+
Django test system
+Troggle tests
+Automated testing on the server
+How you can help
+
+Go on to: Troggle architecture
+Return to: Troggle intro
+Troggle index:
+Index of all troggle documents
+
+
diff --git a/handbook/troggle/unittests.html b/handbook/troggle/unittests.html
deleted file mode 100644
index 2153fafa8..000000000
--- a/handbook/troggle/unittests.html
+++ /dev/null
@@ -1,48 +0,0 @@
-
-
-
-
-CUCC Expedition Handbook
-Handbook Troggle - Unit Tests
-
-Troggle Unit Tests
-
-The test code is all in troggle/core/TESTS/tests.py.
- troggle$ python manage.py test -v 1
-
-
- def test_page_expofile(self):
- # Flat file tests.
- response = self.client.get('/expofiles/documents/surveying/tunnel-loefflerCP35-only.pdf')
- self.assertEqual(response.status_code, 200)
- self.assertEqual(len(response.content), 2299270)
-
-Go on to: Troggle architecture
-Return to: Troggle intro
-Troggle index:
-Index of all troggle documents
-
-
diff --git a/infodx.htm b/infodx.htm
index 52693025d..d12142ae1 100644
--- a/infodx.htm
+++ b/infodx.htm
@@ -13,8 +13,8 @@
-
|
2019
|
- 2020
+ 2022
|
expedition planning and logistics
@@ -46,7 +46,7 @@
|
2019
|
- 2020
+ 2022
|
expedition cave exploration and survey data
diff --git a/scripts/make-folklist.py b/scripts/make-folklist.py
index bc6381d35..4f76715fc 100755
--- a/scripts/make-folklist.py
+++ b/scripts/make-folklist.py
@@ -13,18 +13,25 @@ pics = 0
allyears = 0
recordholders = []
output = ""
+n = 0
lines = sys.stdin.readlines()
headcounts_byyear = [0]*(len(lines[0].split(","))-5)
yearnow = date.today().year
+
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:]
+ n +=1
+ try:
+ r = r.replace("\n","")
+ r = r.replace("\r", "")
+ cells = r.split(",") # chomp newline
+ (name, surname, guest, vfho, mug) = cells[:5]
+ years = cells[5:]
+ except:
+ print(f'Exception in line {n}: {r}')
+
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):
@@ -156,7 +163,7 @@ src="i/mug.png" />.
""" % y1)
diff --git a/years/2021/index.html b/years/2021/index.html
index 8cca0a0e2..08c709f2a 100755
--- a/years/2021/index.html
+++ b/years/2021/index.html
@@ -2,116 +2,13 @@
-
Expo 2021
-Expo 2021: Organisation
-
-Back to Expo Planning Guide.
-
-
-
-
-Pre-Expo Planning
-
-
-PDF docs created for planning the 2020 Expo:
-
-
-On expo website:
-
-
-
-Expo reports
-
-
-
-During Expo - mostly data entry
-
-
-
-Last day of expo
-
-
-
-Post-Expo Completion
-
-
-
-
-
-
-2021 Mission statement
-
-
-Criteria for a successful expo
-Organisational targets
-
-
-
-
-Training targets
-
-
-Every Expo - ongoing jobs
-
+Expo 2020
+COVID - No expedition this year
Expo 2022
+Expo 2022: Organisation
+
+Back to Expo Planning Guide.
+
+
+
+
+Pre-Expo Planning
+
+
+PDF docs created for planning the 2020 Expo:
+
+
+On expo website:
+
+
+
+Expo reports
+
+
+
+During Expo - mostly data entry
+
+
+
+Last day of expo
+
+
+
+Post-Expo Completion
+
+
+
+
+
+
+2022 Mission statement
+
+
+Criteria for a successful expo
+Organisational targets
+
+
+
+
+Training targets
+
+
+Every Expo - ongoing jobs
+
+
+CUCC Expo Logbook 2021
+CUCC Expo Logbook 2022
-Expo 2021
-2021 Mission Statement
+Expo 2022
+2022 Mission Statement
Caving targets - placeholder pending discussion
diff --git a/years/2021/whoandwhen.html b/years/2022/whoandwhen.html
old mode 100755
new mode 100644
similarity index 98%
rename from years/2021/whoandwhen.html
rename to years/2022/whoandwhen.html
index 79d0a5280..a0d2e0c98
--- a/years/2021/whoandwhen.html
+++ b/years/2022/whoandwhen.html
@@ -1,6 +1,6 @@