(Exported from Philip Sargent's Google Keep notes on 2025-09-18 17:56)
Contact Philip if you wish to share these lists on your Google Keep account.
Expo Waddington Archive - Winter 2025-26
Scan all the xeroxes of the survey books 1990-2001 and put paper in recycling. CHECK them all first.
Give all non-expo-area Austria stuff to CUCC Library
EXPO data glitches
346 survex files in :loser: have [ in them as of 21/4/2025. Change to unicode? instead.. (+ the template of course)
grep -nirc --exclude="*.pyc" --exclude="*.3d" "\[" *| grep -v "0$"| grep "svx"| wc
fix LoadSurvexLeg() UNSET 'survexfile' variable, setting to caves-1623/76/rift in https://expo.survex.com/survexdebug
2017 files in #57 should be in #59 and need new wallet #57 to hold Elaine & Corin's 2012-DD-06 'Big D' - see index pages
2012-ns-05
weird problems with 2015-dl-01, 02 and GMH#BUGGER bad cave '[]' on Entrance object 1623-2024-ND-01A
Why are cave ids not appearing in the wallets pages for some (new) caves e.g. 2023#70 not showing 1623-316
make .svx for 114 inc leg from GPS to entrance
Why is Puffball not parsing as a cave in old logbooks ?
1 completed item
Why does 1623.GMH not work as a tag station but 1623.gmh does, when the *fix is GMH ?!
EXPO folk and signup
Make year_box hyperlink to PersonExpedition on folk list page.
auto add year to folk.csv on 1st January .ie a terminal comma and "2026" in header.
report number of "years" for each person when running the folk script. I found someone with not enough commas... DataIssue
add-person-to current-expo, form for adding to folk list, also as a button on the Person's personal page (for old expoers) ? AND on the folklist page itself?
Redo folk.csv
regenerate the CSV file from the db, check that this is correct. Then we can have forms to do various things, and regenerate it
Need a new field for blog separate from the mugshot field, change the standalone script to work with this too.
make folk.htm as part of initial troggle install setup on a new machine
create folk.htm as part of databaseReset process instead of as separate script
Split the folk.csv into several files
1 completed item
sort folk by surname
QMs
fix long list of bad URLs generated which are meant to be to survex file
need more fixtures or factories to test QM pages
add ticked-off text to COMMENT field on the QM so that it appears in the reports.
Find URL from just the resolution station of the ticked QM
Find URL to survexfile from just the location station of the QM, make a link from the QM page
Review possible re-design of QM system for TICKing off.
QM TICK not unique number, needs to be block-specific
put link to tick https://expo.survex.com/handbook/survey/qmentry.html#tick in the QM reports !
fix bad error on QM TICK stuff. out of range crash on importing for ;QM22 TICK ...
QM tick duplicate? Just number and date, must also be survex lock specific
30 completed items
1627 caves in https://expo.survex.com/caves have bogus links to .3d files, which do exist
Check 2018-dm-02 files. 2018-ad-02 is garlic cave
cave html file import. Serious bugs in do_entrances, error msgs quote variables not available.
Check in survexdir report that the svx file path is always an exact match for the survexdirectory field, in which case the survexdirectory field can be eliminated.
WHY are many Caves missing a primary survex file ? see http://localhost:8000/survexdir
I seem to have broken the table of the list of survex files which should appear eg in http://localhost:8000/survexfile/145 as there are no sd s attached to a cave and thus no way to get form a cave to a set of sds
REWITE svxcavessingle and svxcavesseveral to work properly again
Clean up survex parser removing Survex Directory stuff
replace IdentifyCave with lookup function in survex parser
class SurvexDirectory is not needed ? primarysurvexfile could just be a proprty of Cave ?? Or does a Cave have many SurvexDirectories? Maybe it does, as they are sub-directories
then do jss- and
how does 'arge' appear in the aliases list - because it is given as an "Unofficial number" !
FIx notable caves getting 1626 as well
check 138 works f0r both and separately
no wallets found for 1623-2017-21 or 22 even though these are now real caves. Just entrances. Not linked in to survey network. Emailed Becka re this.
** Duplicate cave id count=2 id:'1624-190' cave __str__:'b9'
! Already exists, caveid:1624-101 in area 1624 <QuerySet [<Cave: 1626-101>]>Refactor survexcaveslist(request) and fix check_cave_registered()
bad link in AllSurvex to http://localhost:8000/survexfile/langgustl
Not discovering 1626/107 as a cave that needs to be put into pending list, despite there being a /1626/107.svx file
AND it gets misallocated to cave 1623-107 (which I guess is understandable as "107" is then an allowable short name)
Cave check 107 gets a SD for EACH of 1623, 1626 even when it is 1623-107 !!, but both these SDs have cave=1623-107
True for 145 too
1626-107 missing from all survex files in http://localhost:8000/survexdir
Remove all QM TICK stuff. Keep to former method.
survexfile/290 is what the link says, but it shoudl really be surveexfile/cave-1623/290/290.svx !
Add link to /survexfile/359 on both the QM reports
QM - new report formatted to be tick-list at top camp
Add link to /survexfile/359 on the survexfile editing page
EditCave page to get data from the 1623-115.html file and parse it, not from database.
New report on all SDs showing which Cave they link to and ALERT if the Area is different.
Remove all sub-area stuff. Just the 4 Areas. Where is this set ? 249 files in expoweb/cave_data/ have fields of the form: <area>4</area> which we could just ignore... No. keep as comment somehow.. grep "^<area>[^1<]" *
Remove Class Area! Just an enumeration of "1623", "1626" etc.
Remove all code from aborted TICK system
Troggle TESTS
Test forms directly, not via request, use https://adamj.eu/tech/2020/06/15/how-to-unit-test-a-django-form/
Can I use the overwrite_settings thinggy ?
https://docs.djangoproject.com/en/4.2/topics/testing/tools/#overriding-settings
Remove all get_url code ? There are 87 of these in templates. They are tested (mostly) in test suite. Test ALL of them.
New test which parses 1623-115.html file
New tests to properly exercise all combinations for register new user/old user, as anonymous, as expo, as other logged on user, as admin logged on user..
write lots of factories for test data as per https://gogognome.nl/how-to-write-tests-that-need-a-lot-of-data.html
/1623/76/76.htm which uses the .lookup() functions#Check there is a test for every entry in urls.py - a bit overkill ?
Test new entrances gpx stuff and check wookeys documn#need tests for HTML editor that Martin did using several weird template files
Try a Selenium test suite to check for Apache and cgit funnies or https://playwright.dev/python/
write tests for editexpopage, wallet edit, drawing upload and git commit
write tests for wallets tick lists BEFORE refactoring tick lists code
Need tests for PARSERS with dummy input files
folk parser
survex parser
cave & entrance parsers
Troggle Photos
map display showing pins at the GPS locations. Of any subset of photos
Dependency injection for settings for inserting settings for inserting photos into different sorts of documents. See Becka email May 2025
Index all photos by date, and list photos "on this day" at the bottom of Wallet, Logbook and Survex file pages.
Add "Photos on this date", go to placeholder page, on survexfile, wallet, logbookentry pages, views/photos.py
Photos, create PHOTOS/year/dateindex.json by resetPhotos.py using parsers/photos.py
Run "make" in databaseReset to check if any year of photos needs its dateindex refreshing, from timestamps on files.
Extract GPS from exif, put in dateindex.json in each /year/ folder in PHOTOS & GPS
Parse and collect Google Photos share for 2023 expo
loads of entrance photos in 2012 PHOTOS by filename, but with no GPS data
Replace placeholder page (which??) with thumbnails, and gps coords??
Given a location, find all photos within 200m. Package with geoproximity search? Or quick sql bounds on easting/northing followed by pythag dist on that subset.
Add this "photos within 100m" to each Entrance Description.
Sort srtm list by x, and a duplicate by y. Then implement patch search to get closest 100m square before doing exhaustive search.
new GIS function "distance" in django supported by MariaDB, sqllite so can use it... but how stable will this be?
Display a report page with thumbnails. Put on each CAVE page
put git comment field on survex editor, wallet editor, logbook editor.
SRTM
replace SRTM with 1m laser terrain model. How ?
Just DELETE all SRTM altitudes, set to zero, but have a URL to an SRTM-altitude calculator on every entrance?
Use camera+gpx to add exif to datestamped photos if we have the GPX
https://github.com/FrancoisSchnell/GPicSync/wiki/Getting-started
4 completed items
Put my photos geotagger into scripts folder and document in webpage
Use bard to make python version of gpx2survex (in OCAML)
Check version of libgdan on django 3.2 on laptop
run exif extractor on google expo photos
EXPO Logbooks
When editing logbook entry, if date is changed, then
Forbid year change.
change the ID to match.
Detect if a logbook has NO images or diagrams? Do a report on all expo logbooks.
More than one person as author
more than one cave on a logbook
add Martin's IMAGE thing to logbook editing.
make each entry a separate file.
Can we make logbook entry ids persistent in the face of editing and inserting? This should be a goal. Needs redesign.
some logbook entry crashes leave a stranded file not checked in to git. Detect this and fix it !
edit in diagrams for 2017, 2018, 2019, 2022, 2023, 2024
Check 2001 logbook all sanitary with new diagrams scanned
Gwyneth Martin was on expo but is not recorded. 1988?
Becka: looking for blank lines where someone was listed but did not participate is useful, and I will be making a report to that effect in the database reset parser to check
new-expo year functions in troggle,
Make 3 html pages into troggle pages to use current_year. Harder than it looks.
Parsing. Try Person& PersonExpedition all in python in parsers/people.py and then commit as two bulk transactions. test if links between them work when done like that.
New report page per cave listing all logbook entries that reference that cave (separate page as this would be rather long for 204.. )
de-pds.awk the old CUCC journal articles in /years/ 1982-84, then hand-edit from gcal to html
refactor using item 29 "compose classes instead of deeply nesting Dicts, Lists, Tuples"
56 completed items
Stop logbook editor saving entries with a different order of participants every single time !
Put name of lbe being edited above the submit button.
Take wookey's email 25 oct and make web page on cavelengths
Person with no attendances at expo is a bug e.g Alex Faunce (now deleted). Must be removed or it crashes the aliases system.
Filter out Emojis that people put in logbook entries as tehy crash MariaDB.. now fixed on teh server with a db setting (I hope)
Forbid changing year in new lbe
Make default date for new lbe to be yesterday, not just a placeholder
Bug: If you create a logbook entry with a date in the wrong year, you have to delete the whole thing and start again.
Otherwise you end up with a entry dated e.g. 7th July 2024, but it will have been stored in the *2023* logbook. Which cocks everything up mightily. STOP THIS HAPPENING.
Each year's worth of stuff gets stored in an entirely different place. Simply changing the date does not untangle the mess.
/logbookedit/bad crashes horribly and I can't stop it. Login problem fights redirect.
create logbook-blog fold-in instructions
add 2016 camping-in-tunnocks-elaine
MANUALLY CHECK 2022 logbook re missing bits of blog entries
Extract training weekend (blog) entires from logbook for 2019 and 2022 and relocate.
edit in Dour's KrakenWakes blog into 2016 logbook (already done Elaine's)
Edit in ash's logbokk entries
Process uk cavong blog 2023
Add/edit a logbook entry, destroy old entry
Example parsed edited lbe should correct image urls so that images appear on logbookedit page
DETECT duplicate id string in _original_ logbook.html ! Make dataissue and make new slug with md5 thing
New cp trigger to save db as new logbook, replace old and do git stuff
Parser import, preserve tripid and use as slug
Import parser preserves sequence of entries, as well as date? Used for export. But can't work for online entries as there is no sequence. Old logbooks have date sequence anyway due to re import.
Fix test for logbook entry page
Logbook, why does ttile pf lbe on expedition page not get updated when logbook is reloaded?
Logbook edit, check that *beetle not forgotten. create test. Oops it is.
Finish programming the foreign_friends code to cope with ARGE people without an initial *
Logbook edit, check that 'place' is not deleted (even if not recognised) . create test
Logbook edit is saving FULL NAMES not the nicknames. hmph. Chnage logbook2005html template to export nicknames
Logbook edit, check tripid does not increment on reload
Logbook edit is writing back who the author was, even when it had to guess when reading it. Hmph.
Logbook check that a cave is recognised from place text
Logbook edit : author
Manual: move detailed edit instructions to more obscure programming page
Create test for logbook form edit page
Overflow>26 use unique code for tripid
refactor logbook save.add/commit with upload drwg add/commit to use common utility that Martin wrote
Hide generated html source in form page
Fix tid to be 'date+[ab]' permanent reference not ephemeral in parser and exporter.
refactor troggle file save/git my and Martins do same thing
what is the *prefix for unknown attendee mean?
fix broken logfile reading for 3 bad years.
the reload from logbook button seems to be better at identifying all the trips, and the reload link puts things in the right place better, but I am still very amused their results are not the same...
add unknown names for 2022 logbook to German list
do round-trip 2019 logbook and hand-edit export to remove duplicates of blog entries
do round-trip 2018 UKCaving expo training weekend blog
check 6 pages 2018 callout book is in logbook
2009 logbook parser misses first 300 lines. Fault in wiki parser.. Also no content for any entry into database
Delete logbooks parsing swapped title / people.
Finish check for expofiles links in logbooks, some of these are valid to orig large photos or to other documents.
Logbook import errors in 2007
1976, 77, 78 logbooks ALL NEED reformatting !
Replace id strings with date-related stable ids, not just sequence numbers.
1979 logbook NEEDs reformatting ! Get the old s/w and parse it ! On another laptop?
disable Edit This Page for logbook pages. - fix for remaining logbooks
logbook-editor laptop docum for Harry Kettle. maybe
EXPO Hardware and system software
handbook document running tests on the expo server.
document deptry for troggle https://github.com/fpgmaas/deptry
venv script broken with pip3 and python 3.11 - crashes
test venv with py3.11 on ubuntu 22.04
Buy cuccexpo.eu and set up email redirect for logbook entries and photos ? Nah. Google photo group works fine.
Move all repos into \\wsl$ for speed and fix local backup to work
Troggle immediate
Essentials
rebuild essentials2025.gpx and check for Ghast locality on gps prune map
Find GhastHole 33T 411454 5283151 47.695674 N 13.819901 E from essentials. Check other caves from that logbook entry by Buck
Rebuild all.svx to include gpx from kataster boundaries: gpx/all\_gpx got removed in latest essentials rejig, which is (probably?) fine (why is it now gone?), but that broke all the top-level '1623-and-1626' type files. I've now commented-out all the usages so that all the files work. You (phil) fixed 2 of 6 but forgot the others.
Fix bug b entrance without a entrance, notging in cavelist 2025-LB-00
Bug https://expo.survex.com/enttags
Build a Keep export to HTML utility for all my troggle to-do lists. gkeepapi not working from WSL. Try a new App Password . Try on a "real" ubuntu system, e.g. okchai
Add django view design to troggle https://www.loopwerk.io/articles/2025/django-views/?utm_source=www.pythonweekly.com&utm_medium=newsletter&utm_campaign=python-weekly-issue-712-september-4-2025&_bhlid=6ece59f0c3de24278c50871556723844d8ab734a
Install skylos to find dead code https://github.com/duriantaco/skylos
Make new cave for things found on Buck's logbook entries.
Recreate Gschwandalm and other 2024 walks photos+ .gpx tracks for checking entrances
add gpslogs to 'on this day' list, as well as photos
Wookey gpxfix form to calc a *fix, re-do using Django magic form builder.
This year only: links to surveyers on walletedit page
Make grey not pink for non-,tunnelled wallets before 2025
Detect and add to Complaints (,but blue) output if sexytopo or topodroid (frank)
EXPO: archive off all my 2024 photos, many already downloaded and on GoogleDrive, remove all expo photos from GooglePhotos
Does cookie timeout just do git editor setting or does it also cache login, e.g. as 'expo'?
get photo of Kai from 2023, dinner photos?
Create caves or prospects for all ents in https://expo.survex.com/logbookentry/2025-07-05/2025-07-05d#
do the set difference of SurvexStations and SurvexStations which are on entrances: these include the *fix and the programmatically created MapLocations - these are all potential entrances which should be in the undropped list
Do not require 1623 prefix for Entrance stations, insert automatically and remove if prrsent. We know which area it is.
35 completed items
un refreshed troggle_import_root.pos file from .3d file, when it should always be refreshed! DOn't need to do this for both survex and locations, modify.
create missing entrances for Lara file
check Lara's template file for new survex file.
create new cave 2025-PS-02 with *fix correctly
finish entrance visits of July 23
re edit and correct http://localhost:8000/handbook/survey/caveentry.html because of new cave addressing things
check through all plastic wallets,
check mine #30 in index sheet wallets
All QMs on all caves are marked as ticked because of a bad regex
on the walletform page, make live links to the persons' all_wallets page, so you can easily find the other wallets that someone has done.
EXPO copy and resize and archive GooglePhotos from 2025 expo
document do_essentials2025.sh
I did 2006-01, but check edits on all the other caves I did on Weds.
Recreate entrances2025.gpx essentials2025.gpx
fix total survey length report to exclude ARGE and in include "wild", un-walleted survex files
Check handbook instructions for buck's mistake, corrected in winlaptop, check for linuxlaptop
Cookie thing for Anathema/Crowley/Aziraphale shared computer: timeout 1 hour not 2 years. detect the cookie
"public_laptop" with the value "this is a public laptop",
re-set the COOKIE_MAX_AGE to be a function cookie_max_age() in all the views that use it.
Add link in /drawings page to https://expo.survex.com/repositories/drawings/.git/tree/ and a link in the expoweb/drawings directory
configure troggle config to save by machine name not by hardcoded os type
check Who/When against folk list
Tell harry where to put latex code
revise fig on EditThisPage
Get photo of Dan Gorst
Invalid 1623 areacode may still leave git in bad state. Protect more thoroughly.
Make podman container work. permissions problem creating database with databaseReset
CaveID on a wallet without a survex file is not indexed on parsing
invalid tag station: 2025-ash-01a
insert prefix 1626 in Edit Entrance form for tag and other stations if not there already.
look for missing ".svx" in survex file name specified in a cave html page.
produce a prospecting GPX with just the undescended caves.
https://expo.survex.com/accounts/register/philip-sargent allows anyone to re-register an already-registered person ! If already registered, abort this form. If logged in as "expo", then log-out automatically before proceeding.
Expo Survex parsing
Create 'upload new survex file' page
Change default survex file to wookey style of splays at the end and docm. of each survey point.
Make report of *all* survex blocks (not just by year) which do NOT have a valid *ref AND are by people who were on expo (no ARGE)
Look for lengths in feet (Phil Balister) and create data issue
Use memoryview & buffer & bytesIO to read from survex files, and shutil() to write. See https://pythonspeed.com/articles/bytesio-reduce-memory-usage/
Make link to wallet mentioned in *ref(s) on survex edit page
check *ref is correct at line 663 in parsers/survex.py
survexfile: Everything seems to use multiplefiles and nothing triggers singlefile?
use cavern to calc survey lengths, need to break up individual blocks though, as cavern only reports on the whole file.. Then can ditch a lot of the survex parser. Do in parallel to my code to check. Test on single file upload svx.
Why is ropelessconn appreaing as being in file caves-1623/107/0805 in the report http://localhost:8000/survexfilewild/2013 when it should be in 1623/107/107 ?
Finish cleaning up root survex block for unseens
refactor using item 29 "compose classes instead of deeply nesting Dicts, Lists, Tuples"
block essentials 2023-07-31 has parent block essentials (in file 11895 kataster/kataster-boundaries-lukas-plan-2018-07-17/kataster-boundaries.svx)
When we pop out of the *include for the kataster boundaries, we are not properly re-setting the current survex file to be the top level one
Why zero survey length an 'no dated blocks' message for http://localhost:8000/survexfile/caves-1623/2023-lc-01/2023-lc-01.svx
Survex, fix bad inherited *team ! *team 2018 'Pete Lancaster' FAIL personexpedition lookup on *team kataster/kataster-boundaries-lukas-plan-2018-07-17/kataster-boundaries (troggle_unseens) in 'Inst Pete Lancaster'
get(id=1) FAILS when only survex is parsed
troggle_unseens has me as a surveyor! How? Why??https://expo.survex.com/personexpedition/PhilipSargent/1982
why is troggle_unseens appearing in 1982 and is actually a kataster survex file? This is the same survexblockparent thing which confused me so much when trying to parse a single survex file.
redo survex parser to defer all team update until the *end point, then do bulk creation
should also collect all the .err files, line 1834 in survex parser runs cavern
Rrunning survex on isolated .svx files is often pointless. Can I detect when not to do this?
run profiler on the other bits of the parser
errors giving wrong URL to bad survex file in DataIssues ! Value Error: Clino misread in line ['00aa01', '47.68158', '13.80487', '0'] in caves-1623/115/115cufix http://localhost:8000/survexfile/caves-1623/115/115cufix.svx uncomment the gps00raw.svx to trigger this error, also bad Dates do this
14 completed items
Survex long report: why so many duplicate name - bad message
Do the same SameDate thing for Survex Files
Detect the previously-seen survex path BEFORE loading it and pushing the stack, not after. Refeuse to load it. see line 1721 in process_line(svxline) in PushdownStackScan(). Abort when we see it, not later. Or at least label the svxlinear.log line nicely.
Same survexfile is included multiple times. What is the correct way to deal with this?
Improve error message in DataIssues for the QM parsing failures
Length WRONG for https://expo.survex.com/survexfile/caves-1626/359/Austria_Homecoming_4th_pitch_tube.svx - see Frank Tully wallet summary: 1km not 147m
survex *set, check if any begin/end names are affected by this and report if not.
or, detect *ref directly in .svx file, without relying on parser: so that recent updates are seen immediately. Even on files which are not fully re-parsed.
Survex bad inherited team. Insert warning comment in the survex file.
*date not inherited into sub-blocks in caves-1623/290/sciencevsfun
re-parse an individual svx file? Yes, do this.
also process svx when edited and saved online.
What are all the foreign keys to a block that need fixing when a survex file is replaced?
is duplicate SurvexFile object created for 264/horizontalentrance - is this still a problem after I fixed to use update_or_create() ?
Caves & Ents
Document that cave ids must end on a digit.
Forbid new cave ids ending in a letter. Tricky as this is read from the filename.. if found, add "-01" ?
Disallow CAPITAL letters for entrance identifiers and filenames
Make a system to rotate images in Cave Descriptions after upload. Frank's are all sideways.
allow entrance *fix (tag) reference to not have a 1623. prefix, since it knows which area the cave is in and can therefore insert it.
New quick NewHole form that just does the NewCaveSheet stuff., but does create C+Ent, and also makes a *fix
Then delete the <entrance> lines on all cave_data files, but check that editing the <letter> works properly first..
Ents
Enforce lower case for entrance letters in filenames. Harder than it looks, tied up with the CaveAndENtrance object thing.
After an Entrance is created, if the letter is changed e.g. from null to 'b', (this is editable) then the .name is NOT changed to match. Fix this.
ents <letter></letter> field - not needed at all now? Use filename, and check that filename is cavename[+letter]
ents <letter></letter> field How do we manage user editing of this ?
Ensure it is never used, then ignore the field and remove from user interface ? But it is used because it is manually editable from the editentranceform.
write TESTS for entrance data and cave data links.
CaveAndEntrance redesign, quote this redesign - is needed (I tried) to connect cave to slug. https://docs.djangoproject.com/en/4.2/ref/models/relations/
When renaming an ent station using the form, re-do the setting in db so that the gps position appears immediately, not only after a db reset . Needs .pos regen and re read?
Update SRTM ALTITUDE data with fixed data from Radost: fix code and then correct 60 caves, or better, with lidar data.
Horrible hack
create TESTS for the variant cave content /1623/100 , /1623/100/100, /1623/100/100.html, /1623/l/entrance100.html /1623/100/100/entrance.jpeg (when it is really ine /1623/100/entrance.jpeg
Produce a plan for fixing all those hard-coded links in cave_data files 50,50,20,19 in caves/ents 1623/1626 so that the Horrible Hack can be removed. e.g. 110/thing.jpg becomes /1623/110/110/thing.jpg
Write a report listing the ones that need fixing.. horrible hack.
need a report on all *fix stations which are NOT assigned to an Entrance... 20,000 track points.. hmm.
Put missing *ref marker on survex blocks in manywallets table? And on caves in main caves/ list
*fix without survex file or station in *entrances file means we don't know which it is.
split CaveEdit form into two forms: one for Data and one for Description, but keep a single file for holding the data? And refresh the file from the current db data, not the data returned from the form.
fix non exist cave message when running tests. Of course they don't exist. Pre-create GCaveLookup in test setup
Ents page
Generate single html file of all entrances, unique id for each description etc. Urls for this are encoded in a json export of all ent locations
ARGE caves have their *fix locations in the fixedpts 1626 svx file. put the survey point in when the cave is reified.
Katastered caves? Rename all svx links inside json files instead of doing it manually.
Wookey on cave ids: "I'd add 1000 to that function so it's longer before it goes wrong in the future (we are on >318 already). Also is that really the right way to deal with things that aren't actually integers? "
65 completed items
FIX the problem that when creating a cave, the first entrance must not be edited.
Fix this: Editing creating a new survex file, Aidan said:
When I typed in the new URL, I just went on editing and then saved. What I should have done was type in the new URL, press enter to go to that URL and then edit.
Put name of survex file being edited above the Submit button.
NOT ARGE, most of those coves and survex are VfHO.
New Cave form failing with uncreated Cave object
How and why the entrance data has not been consistently updated has now been sorted out: just needs doing..
..OK 17 of the caves now have correct entrance tag locations
But there are 25 wallets with incorrect links to 2023 survex files which still need fixing.
WHy does 315 still have 2023-JSS-01 in the name when I do _edit_cave ?!
Fix the caves where the filename is not quite the same as the slug
Write DataIssue if ent filename != caveslug[+letter]
Stop reading the slug fields, get everything on an entrance from the filename. Look for the field for validation, but if it is not there, don't worry.
fix handbook to says fields not used.
why are cave.slug() values sometimes not set correctly, dfaulting to django db id.
Make cave aliases list a spearate text file like pendingcaves.txt
Write parser for cavealiases.txt file, and have an oldcavealiases.txt file too for the ancient stuff
Remove timestamps in cave and entrance files.
seveal zillion 'aliases ok' dataissues on server (seems to be from logbook editing)
Widen cave description edit fields so that they fill screen.
Bug // in EditThsPage url when editing pages which are part of cave descriptions, e.g. http://localhost:8000/1623/161/136desc.htm
Make Cave have a unique slug, and use it for everything. Not the separate CaveSlug object
remove all <caveslug> lines from cave_data files.
Stop reading the <entrance> tag and content on a cave html file, get what we need just from the filenames in entrance_data
Look for the fields for validation, but if it is not there, don't worry.
remove all <slug> lines from all entrance_data files.
Fix required letter for new entrance only if b or later..
REDIRECT /areacode/name and /areacode/name.html to that, and /name/index.html too.
Cave description image editor:put button at top, not bottom, and prefill most fields.
rewriting cave ids for variant virtual directory, filter out // in url before use.
Find and fix all the internal links to which fail now that all Description pages are 1623/110/110.html
Then get rid of the Horrible Hack
Uploading photos to new cave still puts them in /t,i,l not in /caveid/t,i,l
2023-BuzzardHole done?
Make cave.url always be /areacode/name/name.html
Cave description image editor: save to cave folder, not generic shared folder. - does this already if cave url has a folder.
new style caves does not find all of them! Not getting some that are explicit on the wallet. Do get filled in when YEAR wallets is run, so do whatever that does, but on all of them on reset
amalgamate BS17 and 2012-OK-01 Organhohle
5 hannah caves from 2022 to be created.
fix delicate bridge cave 2017
amalgamate 2012-ns-07 and 2016-01
Do the *fix tht Becka said was OK.
Inset a *fix for 1623-114 from my GPS and waypoints
Remove <area> stuff from cave subareas? Never used ? Make it NOT <area>. In all the .html cave_data
rename <area> as <subarea>
DOCUMENT the *fix process in handbook.
What is the *fix register keyword
Document *fix See Becka' long post on Matrix 26 Sept 2023
Ask/tell Martin re 2 routes to cave page
On loading survex files, if no survex file set on Cave, then set it AND make a DataIssue so it can be fixed
fix LA34 in 1623 and 1626
2017-CUCC-21 and 2017-21 are the SAME cave, ditto 22
Detect entrances with no survey station, orange triangle
Detect caves with no survey stations on any entrances
Do not default to area 1623 for any date after 2017. Yes, do it for caves referenced in Wallets ONLY.
check slug capitalisation for ENTRANCES as well as caves
Reify 2023-WW-01
download 359 expofiles survey images
BuzzardHohle problem creation
check unique url when creating cave
url suppied to do_ARGE_cave is it cave or survexfile?
Port Radost srtm stuff into troggle
https://expo.survex.com/expofiles/tools/ Radost's new altitude stuff on ents page
On ents page, find cave name for each entry of p stations in last table. Create the inverse index
Why do we have a duplicate 78b entrance ?!
Why do the numbers on entrances not stack up on parsing.
Rewrite gpx2survex in python using bard conversion.
Remove /cave/1626-359 way of getting st cave info page? Only /1626/ etc.? Posted discussion on Matrix.
Re-architect the gps2survex stuff now that we have code to do everything
Need to go and visit 228 and see if it is really there, and photograph entrance. I think it might be same as 114.
EXPO Wallets
Wallet index pages in top level of /photos, move them
Extend to 3-digit wallet numbers
Troggle knows about survex files which have the *ref on them, but does not LIST them in the table, only their lengths.. Add them in to the report
Flag for wallet "reserved" as taken up the hill.
Remove ""you are logged-in individually": "on"" from JSON saved
cave id in wallets reports only works if there is a survex file, even when the id is explicit on the wallet. FIX THIS
Fix unrecognised cavenames in wallets should produce dataissue !
In cave wallet page list the people wallets.persons under the caves
Ensure all manywallets are query sets with select related done.
Calc the depth of each survex block too, so that we can report it on the annual wallets/surveys reports: ideally use cavern depth? "Down" or -" in compass doesn't work with topo things. use cavern: read the .3d file directly? Cant just do pitches as sexytopo fikes only near vertical.
Survex file {sx} was not found in LOSER repo" in models/wallets.py line 209 FIX THIS to look for survex files which have been renamed using the ALIAS to whatever was used and failed, e.g 309.svx is renamed 2023-ASH-09.svx
add to wallet edit page the survexblocks and links to survexfiles which we know are relevant because of the *ref. Not just the survexfile explcictly listed in the JSON
Rotate page - Wallet scans
Play with cache refresh options in rotate page.
Want to cache other file images but not current image. do
cache or instant-thumbnail for wallets images
check ref to svxfile is valid when loading a wallet in scans.py
Obscure Bug warning: https://expo.survex.com/cave/scans/1623-290 includes a reference to 2018#49 which is actually 264 rubberman not 290 rubblerumble2 & 3. I think this is a parsing/coding error..
Wallets where survex file is not in system yet should give sensible message, re "2022#40 and #44 are misbehaving"
Try wallets pages with no data imported, what works? Write tests
fpath in every wallet is rooted. Should instead be relative to SCANS_ROOT ?
write tests for wallets tick lists BEFORE refactoring tick lists code
parser/scans.py should read JSON and do the people, date, caveid thing if there is a survex file which has not got the *ref in it.
do get_ticks() tick list properly, not just from on-file JSON
These links to non standard wallets do not work, because I have messed up the wallet path for nonstandard wallets. The LUSS one works, because it has no /year/ directory above it. Try out the new scans parser and see if it works now.
Redesign: many tick-lists should be on the SurvexFile not on the Wallet!
Redesign: multiple caves per wallet: a list in the JSON and a m..n link in database. Or 1..n, m..1 easier?
Fixed?
on the server, there are DataIssues for 'scans' which do not appear on local PC - but whenever a wallet is created, a JSON file should be created. And none are on the server. IS this now fixed?
models/wallets.py fix the broken reprn of archaic wallets without breaking all the tick-lists !
if len(wyear) != 4 or len(wname) !=6:
is not the way to do it - but is it broken?
Things it might do in future (if someone gets around to it) include:
- checking the cave number specified matches the folder for the .svx file,
- checking that the *ref: filed in the survex file is the same as the wallet name
- being more intelligent about .topo files and thus the lack of scan files,
- checking the date is in the recent past etc.
29 completed items
select wallets with no PersonExpedition on them, exclude survey length from total (arge)
Wallets with subdirectories currently give misleading error messages: detect and suppress these, give better msg.
- Loaded All Survex Blocks.
- Update wallets with survex data
! /home/philip/drawings/walletjson/2015DL01/survex/contents.json is not a file:
wyear='2015DL01' (should be eg. '2023')
wname='survex' (should be eg. '2023#13')
self.fpath='/home/philip/expofiles/surveyscans/2024/2024#15/2015DL01/survex'
and
7.74 s to set survexblock:wallet using JSON survexfiles
set walletdate when parsing input for wallets
fix bug http://localhost:8000/scanupload/2020:01
DoesNotExist at /scanupload/2020:01
make default wallet be the one after the last one that exists in the system, not #00
set walletdate when saving a new or edited wallet
Add "Create this wallet" instead of asking user to upload an empty file
Update bug for 2022:00
REDESIGN the nav bar for wallets !
when editing wallet metadata, it does NOT store changed wallet name, or people ?! why or how ? BECAUSE a blank entry now triggers the repopulation from other sources! Makes it seem flaky.
Wallets: when there is no notes file, add a checkbox to say no notes file required: to enable changing the N red block to a green block
TRAINING: need a stupid-person's guide to Wallets page
fix bogus Wallet objects created by spiderbots
fix bad old wallet display without killing tick boxes in wallets
Find out what is causing the black box for survexfiles in some wallet table displays
! In 2007#28 there is an unrecognised cave name 'surface' (out of 2,939 cave names and aliases). reset db & check if fixed.
add views/scans.py page to the list on the todo list
When creating wallet, check that there are not files or folders in the prposed new /surveyscan/ folder
on first parsing,, make wallets store names as a list of Person slugs, not fullnames, or keep as done lazily ?
add the participants on an explicit wallet list to .slugpeople so that they get proper URL-linked
on the per-person wallet report, and do the same thing for per-cave and per-year wallet reports
make separate tick box for electronic surveys NOT simply Therion/Tunnel
Relabel Website Updated tickbox
Rotate image option in image rename form
Make a list of cave ids work as well as a single caveid
in wallet editing page (scan upload) produce the coloured bocks for just this wallet.
survexfile not showing against reports for https://expo.survex.com/survey_scans/2018%252339/ on server, OK on localhost !
Missing notes for Backslash in https://expo.survex.com/logbookentry/2019-07-19/t2019-07-19y
And add SameDate *wallets* to the walletform page.
-walletslistyear - Failed to find cave object from id 1623-2012-ns-05
EXPO Troggle
Raise exceptions instead of returning None in troggle.
Return a dataclass, not a long tuple in logbook parsing.
Make "drawings" a first class object in troggle? Scan?
Logbook editing
put in "\n" into logbook entries when saving them. No, replace with tinymce.
If url begins with expofiles, do not insert /years/
Try tinyMCE in /logbookedit/ to see how it works. Use cloud hosting https://www.tiny.cloud/docs/tinymce/6/cloud-quick-start/
enable Martin's image add tool to Logbook edit. But where is "current directory"? Needs attention as \logbookedit is not /years/2025/*_edit , which perhaps it should be ?
Document images upload process in handbook
document new ents tags report in handbook, there are several entrances reports
Drawings upload
Register the uploaded drawing file (views/uploads.py) using the functions in parsers/drawings.py so that queries of the database can find newly uploaded files without having to do a database reset.
Expoweb photo upload
re-upload photos of my cave entrances in 2024 (and 2023) so that the GPS data gets stored.
Check signal 18/2/25 for Wookey & Olly comments on this:
"1623/41/115.htm" inside "cave_data/1623-115.html"
"1623/41/144.htm" inside "cave_data/1623-144.html"
"1623/258/misc.html" inside "cave_data/1623-258.html"
"1623/41/41.htm" inside "cave_data/1623-41.html"
Finish coding 'Using prefetch_related for Reverse Foreign Key Relationships' - use copilot text
When getting Class with lots of fields, select only fields needed. i.e. Caves
Django query optimisations for scans page report. Hard when doing inverse search on /scans/
Essentials. make entirely new make_entrances script using GPX as the master format. Actually entrances gpx not essentials.
Check becka & martin upload photos to cave description and write documentation. 2023 See emails.
find Becka example where ent photo GPS is of the *previous* cave
Find photo in potato hut where GPS is outside on the hill
When copying survex files in databaseReset.py, use shutil.copyfileobj(ifile, sf) as it is MUCH faster
Check Flagged emails for to-do things: Martin Green tags and entrances in 2023.. re-visit sometime...
Martin's 10/12/2024 email is jQuery docum which belongs in troggle handbook
Generic Error page to produce an online archive of errors: in database? Centralise Generic errors to one common function.
EMAIL me/ nerds for any "GENERIC" error pages when they occur.
Detect common git and autofix and email nerds with git status checks frequently
Generic error page: record a note of who and when and email me. Mostly bots?
Diagnostics page which runs git status on each repo and displays results on an HTML page.
Install CaveView in os-trog.sh and set a new localsettings route for it. Can do same for TinyMCE?
put as much as possible of handwritten to-do lists into Google Keep.
Change tuples returned from functions to named-tuples (or first, *_=..) so they can be keyword-addressed rather than using [0] and [1] https://docs.python.org/3/library/collections.html#collections.namedtuple
replace number-indexed tuples with named-tuples, such as things returned from matches, look for [0] and [1] in code.
Dont use named tuples https://snarky.ca/dont-use-named-tuples-in-new-apis/
get BING image on my OSMand using Wookey's instructions
get contours on OSMand by downloading it from f-droid on Wave8 phone
New Expo Year automation: list of jobs in https://expo.survex.com/handbook/computing/newyear.html
33 occurrences of =open(), including the fairly nasty idiom
return HttpResponse(content=open(imagefile, "rb"), content_type=getmimetype(file))
which never does close the file handle ?
cd troggle
grep -nir --exclude=".js" --exclude=".pyc" "=\s*open("|wc
XML files url-routed to a new INFO page with option to download or to see the XML code
replace pyaes python implementation of Fernet with cryptography package when the rust/subinterpreters thing is fixed with wsgi (Aug.2025 fix)
Look for all the .filter() where we just use [0] and detect multiple objects returned and do something about them. write expect_single() to encapsulate a .filter() call, and .count()
Use select_for_update() and a transaction to prevent conflicts when 2 people try to save the same file. But MariaDB support lacking. Maybe only when asgi working for troggle.
archive (wget) the CUCC organisational wikis 2008-2019 https://camcaving.uk/Documents/Expo/Legacy/
parse the uploaded drawing file for links to wallets and scan files as done in parsers/drawings.py
replace all old os. libraries with pathlib https://docs.python.org/3/library/pathlib.html#correspondence-to-tools-in-the-os-module
therion images, omit from report those scan files which work
FIX drawings upload form when some bugger has FTP'd or git'ted some files into the repo. --Cannot reproduce fault either locally or on server when editing JSON, either simple file present or when git added but not committed
Get the SLACK messages archived off
when importing drawings, check for recursive folder structure and infinite loop
Why no errors on parsing tunnel files ? Is it only WSL2 ?
RESTORE DataIssues, don't delete
Make data entry templates use more Form object to render the HTML, and more ModelForm use in some cases. Makes maintenance easier and provides better in-use validation feedback to users. No Class-based views!
Cull items from the online to-do list webpages - mostly cave description and tunneling https://expo.survex.com/handbook/computing/todo-data.html#264
265 completed items
statistics incorrect for some years, do not add up the survex files. svx files not listed under wallets of course.
Extract GPS from EXIF on uploaded photos and display on /l/ page.
Re-copy my handwritten to-do lists and
settings.PHOTO_YEAR needs removing, user current_year()
Wallet form: if surveying paperless you MUST upload your Topodroid/Sexytopo/etc original files AND an output (jpg or png ideally
Check odd the 55 and 255 appear differently e.g. https://expo.survex.com/survexfile/255 https://expo.survex.com/survexfile/55 and also lots of others.
get localsettings.py from Muscogee
Not in the alias list so not checked? also http://localhost:8000/survexfile/158
document uv activate/deactivate
get /PHOTOS to Mohawk, from laptop?
Change Submit button to say whic cave/survex/logbook is being overwritten. To fix The Underwood Problem.
Do Martins thumbnails and image uploads preserve exif locations ?! No!
Fix default *team in template and handbook
re-register the EXIF gps on my Geshwandalm walk photos using the GPS track, and then update the entrance photos on the website.
fix .url file with correct links
remove 1623. from entrance names on entrances.gpx
Write up displaced photos miles away, e.g the one of the walk on the stoger weg 30km away.
Rsync photos with expo server
Check rsync all expofiles
look at Martin's JavaScript popup for image editing
Survexfile/264 works /1623-264 doesnt. Should not be /1623/264?
document
/cave_data/cavealiases.txt_edit
Document the New Kataster Number procedures in http://localhost:8000/handbook/computing/newkataster.html
revise the Name parser for the 19 (?)unrecognised names
still not seeing "entrances" dataissues in report
cookie to store name of online-editor to add to commit messages for survex files, caves and handbook pages.
Do file rename form for Nadia
fix tests which now fail with multiple caves per kataster number..
Do thumbnails for wallet images below line on rename form
FIX BUG in troggle test suite for logins. Due to different hash function? Make test person with a factory method not an imported file. Or due to secrets not being managed properly?
/logbookedit/2023 is downloading a previous entry instead of producing a blank one !
Return code 1 is OK from git IFF we are on the development machine. Use this to stop daft failures on the test laptop e.g for updating/editing logbook
Update my expofiles/ on laptop
Sort out untyped 2023 logbook using git history - identify the missing entries still
make a delete entry capability for the logbooks.
Find out how James does multiple entries
make current_year() NOT use user "expo"
need file locking for logbook.html?
Martin's photo upload stuff just puts them in :expoweb:/i /l /t instead of into :expoweb:/1623/2023-MS-01/i , l, t
fix essentials2024.gpx manually
Upload GPX form.
base.html and menu.html rely on year being passed and have a default of 2024. This should be {% now "Y" %} somehow..
Upload callout 2022 2023 to server
New Year not working automatically for 2024 logbook without editing python, in parsing logbooks
Fix bad image links in https://expo.survex.com/logbookentry/2022-08-16/2022-08-16d
http://expo.survex.com/survexfile/1623-2023-JSS-01 shows 2012-ft-01 ! So does http://expo.survex.com/cave/scans/1623-2023-jss-01
Do historic expo leaders page becka emails
fix bad URLS to years/2022/ukcavingblog_files/
search for cave names inside list as error on wallets with a list of caveids
make list of cave ids on wallet form be detected individually as caves.
Stop noedit bypass by using _edit hack.
Botch.
Fix 6 caves without 1623 prefix in entrances and cave slugs
Make a newcave insist on a new entrance. Test ?!
fix unrecognised cave name in scans.py
Laptop: do mugshot files for joel, evelyn and maddie
Lizie new cave survexfile problem, fix hsndbook! NewCave form should say NewCave not Edit cave, and should have link to right bit of handbook
New table on ents page listing everything with lat/long
Move EOL & UTF nerdery on http://localhost:8000/handbook/computing/hbmanual1.html to separate page also on newcave page
test failure if no therionrefs.log so must run reset before running test on new install. Or touch it as part of setupbefore test?
Use radost's expofiles/tools to get altitudes of all entrances from positions
Add readme to expofiles/drawings/
Edit this Cave: make it read the cave_data html file first, not the stuff already in the db, before presenting it to be edited.
New EDIT page for text files such as PENDING (and README?)
Done no wallet survex file report
Do person slug thing in urls.py
Redesign person name so no regex anywhere. Slugify. see https://expo.survex.com/handbook/troggle/namesredesign.html
update lengths script to do 290, 291, HC as well as 115, 161, 258, 264 etc.
screwy table formatting on http://localhost:8000/survexfile/264
Get the TRELLO messages archived off, wookey did this.
why no error message when two *ref in one block in http://localhost:8000/survexfile/caves-1623/204/swings/juicybits.svx
Import all old wallets in parser/scan not just smhks - but they seem to be there anyway !?
update docm about things which now work in wallets: newcave, newwallet, onlinewallets
weird http://localhost:8000/dwgdataraw/290/290+291+295-Oct2022-Pre+Post2022ExpoOK.xml file not found, but the link is there in Drawings and it is...
Scan callout book (again), post to website
Fix python 3.11 problems in parsers/logbooks.py
Remove all caching from logbooks.py, 0.9s faster that's all.
remove all Object Store code attempt in logbooks.py. We need the multi-user DB ! Comment out first: how much faster ?
check 2019 callouts against 2019 logbook
Logbooks
create logbook-blog fold in instructions
2017 caving blog needs parsing into the troggle system just like 2019.
missing photos in 2017 blog are in expofiles photos ChrisDensham
add 2016 camping-in-tunnocks-elaine
the reload from logbook button seems to be better at identifying all the trips, and the reload link puts things in the right place better, but I am still very amused their results are not the same...
logbook-editor laptop docum for Harry Kettle. maybe
do round-trip 2019 logbook and hand-edit export to remove duplicates of blog entries
2019 logbook add scanned diagrams
add unknown names for 2022 logbook to German list
check blogs against 2019 logbook and copy text and photos
Should I write a parser just for UK Caving blog ?
do round-trip 2018 UKCaving expo training weekend blog
2022 caving blog - does it exist ?
check 6 pages 2018 callout book is in logbook
2009 logbook parser misses first 300 lines. Fault in wiki parser.. Also no content for any entry into database
add a test that just copies a file to /drawings, /expofiles/photos /expofiles/surveyscans etc.
fix broken logfile reading for 3 bad years.
Logbook import errors in 2007
NEW FORM to add a logbook entry, which adds to logbook.html and does git commit.
Logbooks not parsing swapped title / people properly still.
Change documn. re Windows bulk update laptop to use WSL1 ONLY.
Remove WSL bits from troglaptop and put in WSLlaptop ?
Wallets
Wallets where survex file is not in system yet should give sensible message, re "2022#40 and #44 are misbehaving"
Add "Create this wallet" instead of asking user to upload an empty file
Wallets: whern there is no notes file, add a checkbox to say no notes file required: to enable changing the first red block to a green block
Wallet surface/cave radio button, grey out cave id. Check all old wallets for word 'surface'
Try wallets pages with no data imported, what works? Write tests
fpath in every wallet is rooted. SHould instead be relative to SCANS_ROOT ?
when editing wallet metadata, it doen NOT store changed wallet name, or people ?! why or how ? BECAUSE a blank entry now triggers the repopulation from other sources!
write tests for wallets tick lists.
BUT FIRST change databaseReset to run for only a singe year for a logbook
fix APPEND SLASH properly in middleware
https://docs.djangoproject.com/en/5.1/ref/middleware/
https://gregbrown.co/code/append-or-remove-slash/
https://djangosnippets.org/snippets/601/
add a test that just copies a file to /drawings, /expofiles/photos /expofiles/surveyscans etc. to narrow down permissions errors.
update handbook re removal of old awk script /handbook/troggle/scriptscurrent.html#survex
http://localhost:8000/svxvalid.html
Check templates,
check templates never (?) used in templates/ folder
check templates which don't exit referenced in python code
how do I make pydoc work on troggle ? import naming issue?
why is 115 or 145 not appearing in http://localhost:8000/survey_scans/ for 1983, because the json is not parsed on import. Fixed in the django template: calls wallet.cave()
link in DataIssues does not get to the survex file which caused it ! 2017-dm-01 Pending cave write-up - creating as empty object. No XML file available yet. url: 1623/2017-dm-01
do a web page which prints out the contents of the personexpeditions lookup table
fix wallets link in person page
oconee WSL1
check ownership structure on SnowWhite and Muscogee and where the venv is, and who owns it.
horrible mess wth file ownerships for expofiles not being writeable by troggle or by rsync scripts
horrible mess with git complaining about dubious ownership and refusing to sync
venv script barely working, but links not right
Do I give up with WSL1 (and thus with oconee?)
fix names all being lower case now from survex files
fix per-person survey lengths, e.g. Paul Fox is not zero !
on *date, reset the date for all the personrole objects attached to the block, as the *team line may have come first..
Entrance tag type:Tag : metal, paint :yes' no tag in entrance data model. Already there ?
This only count number of logbook trips. Should do survex surveys too http://localhost:8000/person/EmmaWilson
But this means adding 'person' as a Django object link to the wallet, not just having a string with a JSON list of people.
why does scorchio not show people s valid people whereas teh other blocks do ? http://expo.survex.com/survexfile/caves-1623/161/triassic/scorchio.svx
still not getting people from survex file in 2022#35, should happen even though the survex file is not parsed ? Invalid *team, fixed? try again..
wllet status link incorrect on /personexpedition/GeorgeBreley/2015
Move many DataIssue things into separate troggle web pages, e.g. Therion stuff, and group all those pages as Data Integrity inc. current entrances page
the exclusion of gpx, kataster etc does not work when they are *included. fix a test soemhow
Caves in areas 1624 not shown? survex file list is identical between snowwhite and expo, why are the new survex files not being shown ? Fiters ?
1987 is different /expedition/1987
Find and process non-tree svx files,
Change reading linear file into memory before parsing it. Redo as generator: 30 MB !
unrecognized survex files producing wrong error for survex files in subfolders.
some caves have url links and some don't in wallets report pages, e.g. http://localhost:8000/wallets/person/ChrisDensham why ?
scans dataissue: prevent duplication on rerun . Do not create if already exists. But why is it run not during import?
create walletsindex checklist table on the cave/year/person wallets pages
add list of logbook entries and survex files for this same date as the wallet. For the wallet page.
It is the viewing of drawings, not the upload, that uses the db instead of just looking in the filesystem. Fix. http://localhost:8000/dwgdataraw/junkk.xml
test creates 2020/2020#00 even if it doesn't exist. Stop this happening!
fix dirty git repo drawings wallets json. How, How to fix ?
wallet reports not showing people if a survex file exists but the JSON is blank e.g. http://expo.survex.com/survey_scans/2022%252342/
cf difference between 2019#03 and #11
big problem, upload test file to completely empty wallet, it inherits old wd JSON data somehow
Need bug report when wallet JSON refers to a svx file which is not there (or has been renamed or moved)
still getting old wallet data when creating new one
fix dates if not ISO format when first seen in survex files or wallet JSON. Parser should creat DataIssue if changing . to - does not fix.
fix git origin/master on snowwhite
How can the same form have 2 different URLs ?!
which is still named /scanupload/2022:17 or, apparently alternatively, /survey_scans/2022%252317/ (which should be impossible..))
works as far back as 2012 (though it fails for logbook entries in 2011, not sure why yet
wallets- populate empty wallet field in the uploadscans form (single wallet) not just in the reports
Bug in survex passing, picks up ; 2022#15 when there is no *ref or ;ref in caves-1623/290/nicolascage
bug in [people] list 2015#38 and 39, one shows people, one doesnot.
missing svx files in reports even after data import
2022#25 has no link to survex file, but http://localhost:8000/survexfile/caves-1623/290/pickingbalconysnostril.svx does contain a correct *ref. How is this bug possible ? And is shown in report.
why is 2022 #43 not showing that there is a survex file?
if there are no files in the expofiles/surveyscans wallet, then the data in the JSON file is NOT VISIBLE and not presented ! Neither are the names in the JSON file presented on any reports. I uploaded desktop.ini to 2022#55 but it still lists as black across the board. 'created' value not useful?
2012#07 and 09 , 07 showing wrong survex file
2022#17 has a blank json file. So why are several bits ticked on the tick list ?
2012#20 and 21 one showing S as green the other not. Depends on ".svx" in waldata["survex file"] field somehow
edit /handbook/survey/onlinewallet.html to update
put url link to view contetns.json directly from the upload page to check against data displayed.
Find Frames in use and fix so not used
Put hugtheplug email text into readme file in that scanfolder
finish cleanup of parsers/scans.py of all wallets contents using Path.rglob
Move aliases to person from personexpefition
drawings bug, image files not rendering
http://localhost:8000/survey_scans/2006%252306/
http://localhost:8000/survey_scans/2017%252327/plan-1.jpeg
but http://localhost:8000/survey_scans/2004%252318/ is fine
ExpeditionDay is attached to PersonRole on a survex file, but not on a PersonTrip attached to a logbookentry
remove use of save)carefully in parsers/people and parsers/QMs
ExpeditionDay, unused in Logbooks. But is it used in TEMPLATES ?!
document where all.svx is used or mentioned and replace with _<whtever the file is>.svx
rename PersonTrip as PersonLogEntry
survex parser is not inheriting-down a *team into sub-survexblocks which do not have any *team entries
remove expeditionday from Expedition
remove nickname from PersonExpedition
do bulk creation for the deferred DataIssues in store_data_issues()
SurvexBlock, why is the 'cave' field empty ?
run ruff on more of the code, the views
todo
update http://localhost:8000/todo/anything
Update todo section at top of each file of python code,
Make todo properly visible on troggle without iframe
Move KeninWassermelon survey but check first whether expoweb files links would break
Bug in 2018#26 https://expo.survex.com/logbookentry/2018-07-24/t2018-07-24a_homecoming
Timesramp in cave and ents files in expoweb
Entrsnce field for date last visited.
Many names in survex fikes still not being recognised, but fix 'on expo' name check first
1983 wallets not parsed in databasereset
wallets- Make repo master for contents json
Git commit upload drawing file. Huh? It does this. TEST it.
Drawings upload does not show live filelist
Update db wallets contents on wallet save, check.
If svx file has *ref then link it to that wallet in json !
Populate empty date and people on wallets on parser import 'scans'
Readme.txt. Missing in troggle/Readme on barbie
Rename file on photo upload
Copy note from matrix and make page on names in handbook
Do the same SameDate thing for logbook entries
Survex parser: detect bad dates using single digit day number. Dot is correct separator. Also detect date ranges properly.
Add catch-all free text box to wallets JSON
Img rotate extrndion for chrome on laptop
Wallet to wallet relationship when notes are drawn up into plan and elev in a different wallet. OR free text field.
http://localhost:8000/survexfile/caves-1623/290/nicolascage.svx has *ref #14 but appears in list as #15 ! both JSON are correct. Both svx are correct. Recent import done.
Becka: I don't understand why, in a minority of cases (eg wallet 2022 #14 and #35) the cave (eg 1623/290) doesn't get automatically filled in. In other cases that looked just the same to me they did get filled in.
Add same date survex files and logbook entries to the wallet page
Update handbook scripts: obsolege re wallwts.py
wallets- Update handbook re wallets - again. http://localhost:8000/handbook/survey/onlinewallet.html
Use include for upper table in the 3 wallets reports
When teplacing a pending file with a real ine does it barf ?
go through becka's list of moved svx files and check dataissues
copy all contents.json to e.g. drawings/wallets/2015#25.json and commit on import or when wallet is updated.
weird bug on https://expo.survex.com/cave/scans/1626-359
weird bug in http://localhost:8000/cave/scans/1623-204 truncating id
Date before name bug in parsing survex files, produce a dataissue msg
https://expo.survex.com/survexfile/caves/ incorrect links for 354 ie /survexfile/354 but /survexfile/359 resolves fine. Hmm.
http://localhost:8000/survexfile/361 not resolved
do therion *ref doing regex for e.g. in the field 2019#12
https://expo.survex.com//survexfile/55 correct, but https://expo.survex.com//survexfile/255 incorrect, both are caves in both areas 1626-255 seems to be missing now..
Fix link to cav4s on ents page
we need a report of wallets for all the wallets ordered by Person, like the one per cave
fix git for online edited svx files
Fix test with upload scanfile which complains a bit on git add but not commit.
CSV QM import does not process the 'ticked' field.
QM single end page does not have link to the survex file from which it was extracted
remove links to old walletsindex pages
Add ollys comment re survexport
GPS guide not Photography Guide in handbook menu. Possibly Prospecting Guide ?
QMs, remove the whole linked-logbook thing. We only have QMs from CSV or survex.
work through the remaning PENDING caves and create 1623-XX.html files for them properly, and rename the files with 1623- prefix for cave_data too
UTF8 stuff
Detect failed UTF8 file at runtime and redirect to an error page with helpful message in expo.py. Will usually happen in EditThisPage or in editing survex files.
create test to check for locale is UTF8
However in the WSGI environment the system/locale encodings are:sys.getdefaultencoding() = utf-8
sys.getfilesystemencoding() = ascii
locale.getdefaultlocale() = (None, None)
locale.getpreferredencoding() = ANSI_X3.4-1968
Scans list, but for just one cave
Fix new 2019 logbook entries
logbook parsing mismatch : total 1,906 log entries parsed in all expeditions ** total trips in ObjStore:1,942
QMreport page basic
Why no table 1 on /people on recent django 3.2? - because of Django template security chnage
Do <details> and <summary> in to-do pages
python generator to read/process survex files
Fix duplicated entries on person expedition page, wookey
System
Install Expo s/w on SnowWhite WSL2 and check documn works.