summaryrefslogtreecommitdiffstats
path: root/core/views/uploads.py
diff options
context:
space:
mode:
Diffstat (limited to 'core/views/uploads.py')
-rw-r--r--core/views/uploads.py36
1 files changed, 26 insertions, 10 deletions
diff --git a/core/views/uploads.py b/core/views/uploads.py
index 62ed56e..500e4bd 100644
--- a/core/views/uploads.py
+++ b/core/views/uploads.py
@@ -23,12 +23,12 @@ from django.core.exceptions import ObjectDoesNotExist, MultipleObjectsReturned
#from troggle import settings
from troggle.parsers.imports import import_caves, import_people, import_surveyscans
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 troggle.parsers.scans import wallet_blank_json, wallet_blank_html, contentsjson, indexhtml, CopyWalletData
# 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
+from troggle.core.models.survex import DrawingFile, Wallet
from troggle.core.views.scans import oldwallet, walletindex
from troggle.core.views.caves import getCave
@@ -93,7 +93,7 @@ xlate = {"url": "description url",
"electronic": "electronic survey",
"pland": "plan drawn",
"elevd": "elev drawn",
- "psg": "name", # not real ?
+ "psg": "name", # a name for this wallet
"survex": "survex file",
}
@@ -115,13 +115,14 @@ def get_complaints(complaints, waldata, svxfiles, files, wallet, wurl):
if not type(waldata["survex file"])==list: # a string also is a sequence type, so do it this way
waldata["survex file"] = [waldata["survex file"]]
for svx in waldata["survex file"]:
- svxfiles.append(svx)
- if not (Path(settings.SURVEX_DATA) / svx).is_file():
- file_complaint = f"{wallet} Incorrect survex file name in wallet data: {svx} not found in LOSER repo"
- complaints.append(file_complaint)
- message = f"! {file_complaint}"
- print(message)
- DataIssue.objects.create(parser='scans', message=message, url=wurl) # set URL to this wallet folder
+ if svx !="":
+ svxfiles.append(svx)
+ if not (Path(settings.SURVEX_DATA) / svx).is_file():
+ file_complaint = f"{wallet} Incorrect survex file name in wallet data: {svx} not found in LOSER repo"
+ complaints.append(file_complaint)
+ message = f"! {file_complaint}"
+ print(message)
+ DataIssue.objects.create(parser='scans', message=message, url=wurl) # set URL to this wallet folder
if waldata["survex not required"] and waldata["survex file"] != "":
survex_complaint = "Survex is stated as not required and yet there is a survex file!"
@@ -290,6 +291,21 @@ def scanupload(request, path=None):
with open(contents_path, "w") as jfile:
json.dump(wd, jfile, indent = 1)
# print(f'--- FINISHED saving to JSON\n')
+
+ # This copies the new data to the drawings repo and commit it
+ # needs the troggle object wallet, not a string
+
+ try:
+ w, created = Wallet.objects.get_or_create(walletname=wallet)
+ print(f'wallet string {wallet}, wallet object {w} created new?: {created}')
+ if created:
+ w.fpath = Path(settings.SCANS_ROOT, wallet[0:4], wallet)
+ w.save()
+ CopyWalletData(w)
+ except:
+ print(f'wallet string {wallet}, FAIL TO GET WALLET OBJECT, maybe we need to create it ?')
+ raise
+
else:
print(f'--- INVALID JSON Update form submitted')
print(formj.errors)