diff options
Diffstat (limited to 'core/views/wallets_edit.py')
-rw-r--r-- | core/views/wallets_edit.py | 31 |
1 files changed, 8 insertions, 23 deletions
diff --git a/core/views/wallets_edit.py b/core/views/wallets_edit.py index 5bf0032..9273fed 100644 --- a/core/views/wallets_edit.py +++ b/core/views/wallets_edit.py @@ -18,7 +18,7 @@ from troggle.core.models.caves import Cave from troggle.core.models.logbooks import LogbookEntry # , PersonLogEntry from troggle.core.models.survex import SurvexBlock, SurvexFile, SurvexPersonRole from troggle.core.models.troggle import DataIssue, Expedition -from troggle.core.models.wallets import Wallet, YEAR_RANGE +from troggle.core.models.wallets import Wallet, YEAR_RANGE, make_valid_date from troggle.core.views.auth import login_required_if_public from troggle.core.views.caves import getCave @@ -32,7 +32,7 @@ from troggle.parsers.scans import contentsjson """ todo = """ -- Nasty bug in navingating to 'previous wallet' when we have a 2-year gap in expos +- Nasty bug in navigating to 'previous wallet' when we have a 2-year gap in expos The xxxx#00 wallet is not getting edited correctly. Something is off by one somewhere.. - Register uploaded filenames in the Django db without needing to wait for a reset & bulk file import @@ -237,8 +237,11 @@ def get_complaints(complaints, waldata, svxfiles, files, wallet, wurl): i = i.replace("/", "-") caveobject = getCave(i) # only the last one gets recorded.. ouch. else: - caveid = caveid - caveobject = getCave(caveid) + caveid = caveid # ?urk? why? + try: + caveobject = getCave(caveid) # may fail if garbage value ,e.g. space, in wallet data + except: + caveobject = None print(f'getCave for id "{waldata["cave"]}" {caveobject}') # if not caveobject.url == waldata["description url"]: # complaints.append(f'The URL of cave description \"{waldata["description url"]}\" does not match the one on record for this cave which is: "{caveobject.url}". If the wallet is not for a cave, put a useful URL here.') @@ -493,25 +496,7 @@ def walletedit(request, path=None): or thing == "[]" or thing is None) - def make_valid_date(date): - datestr = date.replace(".", "-") - try: - samedate = datetime.date.fromisoformat(datestr) - except ValueError: - # probably a single digit day number. HACKUS MAXIMUS. - # clearly we need to fix this when we first import date strings.. - datestr = datestr[:-1] + "0" + datestr[-1] - # datestr = f"{datestr:02d}" - print(f"! - ValueError, trying.. {datestr=} ") - try: - samedate = datetime.date.fromisoformat(datestr) - except: - try: - samedate = datetime.date.fromisoformat(datestr[:10]) - except: - print(f"! - ValueError, FAILED {datestr=} ") - samedate = None - return samedate + def scan_survexblocks(svxfile): """Scans for *team people attached to all the survex blocks in this svxfile |