summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/models/caves.py22
1 files changed, 20 insertions, 2 deletions
diff --git a/core/models/caves.py b/core/models/caves.py
index b3f6dfe..b60fbcf 100644
--- a/core/models/caves.py
+++ b/core/models/caves.py
@@ -717,9 +717,11 @@ def GetCaveLookup():
Gcave_count.pop(d) # so should not get a duplicate msg below..
ldup.append(d)
if ldup:
- message = f" - Ambiguous aliases removed: {ldup}"
+ message = f" - Ambiguous aliases being removed: {ldup}"
print(message)
- DataIssue.objects.update_or_create(parser="aliases ok", message=message)
+ update_dataissue("aliases ok", message)
+ DataIssue.objects.update_or_create(parser="aliases ok", message=message)
+
for c in Gcave_count:
if Gcave_count[c] > 1:
@@ -728,3 +730,19 @@ def GetCaveLookup():
DataIssue.objects.update_or_create(parser="aliases", message=message)
return Gcavelookup
+
+def update_dataissue(parsercode, message):
+ try:
+ DataIssue.objects.update_or_create(parser=parsercode, message=message)
+ except:
+ # Complete bollocks, but MariaDB barfs when it shouldn't : Django 3.2
+ issues = DataIssue.objects.filter(parser=parsercode, message=message)
+
+ print(f" # EXCEPTION looking for DataIssue '{parsercode}' {message})")
+ if len(issues) > 1:
+ print(f" # MULTIPLE DataIssues '{parsercode}' {message}")
+ for s in issues:
+ print(f" # {s.id=} DataIssues '{parsercode}' {message}") # .id is Django internal field, not one of ours
+ message = "#2 " + message
+ issue[0].message = message
+ issue[0].save() \ No newline at end of file