diff --git a/core/views/uploads.py b/core/views/uploads.py index 038f2d0..0acd326 100644 --- a/core/views/uploads.py +++ b/core/views/uploads.py @@ -140,37 +140,39 @@ def scanupload(request, wallet=None): if dirs: dirs = sorted(dirs) - waldata = [] + waldata = {} if contents_path.is_file(): with open(contents_path) as json_file: try: waldata = json.load(json_file) except: - message = f"! Failed to load {contents_path} JSON file" + message = f"! {wallet} Failed to load {contents_path} JSON file" print(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"]: - psg = waldata["name"] - 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 - + if waldata: + if not waldata["people"]: + waldata["people"]=["NOBODY"] + + if waldata["cave"]: + cave = waldata["cave"] + if waldata["name"]: + psg = waldata["name"] + 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"! {wallet} 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, 'files': files, 'dirs': dirs, 'waldata': waldata, 'create': create, 'filesaved': filesaved, 'actual_saved': actual_saved } @@ -226,6 +228,7 @@ def photoupload(request, folder=None): if form.is_valid(): f = request.FILES["uploadfiles"] multiple = request.FILES.getlist('uploadfiles') + # NO CHECK that the files being uploaded are image files fs = FileSystemStorage(dirpath) actual_saved = [] @@ -279,7 +282,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', '.topo']: + if Path(name).suffix.lower() in ['.xml', '.th', '.th2', '', '.svg', '.txt', '.jpg', '.jpeg', '.png', '.pdf', '.top', '.topo']: return True # dangerous, we should check the actual file binary signature return False