diff options
Diffstat (limited to 'core/views/uploads.py')
-rw-r--r-- | core/views/uploads.py | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/core/views/uploads.py b/core/views/uploads.py index aa10c7f..038f2d0 100644 --- a/core/views/uploads.py +++ b/core/views/uploads.py @@ -1,6 +1,8 @@ import re, os import subprocess import json +import settings + from pathlib import Path from django import forms @@ -18,6 +20,7 @@ from troggle.parsers.imports import import_caves, import_people, import_surveysc from troggle.parsers.imports import import_logbooks, import_QMs, import_drawingsfiles, import_survex from troggle.parsers.scans import wallet_blank_json, wallet_blank_html, contentsjson, indexhtml # from databaseReset import reinit_db # don't do this. databaseRest runs code *at import time* +from troggle.core.models.troggle import DataIssue from troggle.core.models.troggle import Expedition, Person, PersonExpedition from troggle.core.models.caves import LogbookEntry, QM, Cave, PersonTrip from troggle.core.models.survex import DrawingFile @@ -77,7 +80,8 @@ def scanupload(request, wallet=None): if int(wnumber) == 0: prev = f'{int(wnumber):02d}' - + + wurl = f"/scanupload/{wallet}" wallet = wallet.replace(':','#') dirpath = Path(settings.SURVEY_SCANS, year, wallet) contents_path = dirpath / contentsjson @@ -87,7 +91,7 @@ def scanupload(request, wallet=None): if request.method == 'POST': form = FilesForm(request.POST,request.FILES) - print(f'! - FilesForm POSTED') + #print(f'! - FilesForm POSTED') if form.is_valid(): f = request.FILES["uploadfiles"] @@ -144,10 +148,13 @@ def scanupload(request, wallet=None): except: message = f"! Failed to load {contents_path} JSON file" print(message) - DataIssue.objects.create(parser='Scans', message=message) + DataIssue.objects.create(parser='scans', message=message, url=wurl) # set URL to this wallet folder raise if not waldata["people"]: waldata["people"]=["NOBODY"] + + cave ="" + psg = "" if waldata["cave"]: cave = waldata["cave"] if waldata["name"]: @@ -155,6 +162,13 @@ def scanupload(request, wallet=None): if waldata["survex file"]: if not isinstance(waldata["survex file"], list): waldata["survex file"] = [waldata["survex file"]] + + for svx in waldata["survex file"]: + print(f'{svx}') + if not (Path(settings.SURVEX_DATA) / svx).is_file(): + message = f"! Incorrect survex file in wallet data: {svx} not found in LOSER repo" + print(message) + DataIssue.objects.create(parser='scans', message=message, url=wurl) # set URL to this wallet folder context = {'year': year, 'prev': prev, 'next': next, 'prevy': prevy, 'nexty': nexty, @@ -265,7 +279,7 @@ def dwgupload(request, folder=None, gitdisable='no'): ''' if name in [ '.gitignore', ]: return False - if Path(name).suffix.lower() in ['.xml', '.th', '.th2', '', '.svg', '.txt', '.jpg', '.jpeg', '.png', '.pdf']: + if Path(name).suffix.lower() in ['.xml', '.th', '.th2', '', '.svg', '.txt', '.jpg', '.jpeg', '.png', '.pdf', '.topo']: return True # dangerous, we should check the actual file binary signature return False |