diff options
Diffstat (limited to 'core/views')
-rw-r--r-- | core/views/auth.py | 1 | ||||
-rw-r--r-- | core/views/caves.py | 19 | ||||
-rw-r--r-- | core/views/drawings.py | 5 | ||||
-rw-r--r-- | core/views/editor_helpers.py | 9 | ||||
-rw-r--r-- | core/views/expo.py | 7 | ||||
-rw-r--r-- | core/views/logbooks.py | 21 | ||||
-rw-r--r-- | core/views/other.py | 15 | ||||
-rw-r--r-- | core/views/prospect.py | 8 | ||||
-rw-r--r-- | core/views/scans.py | 21 | ||||
-rw-r--r-- | core/views/statistics.py | 11 | ||||
-rw-r--r-- | core/views/survex.py | 18 | ||||
-rw-r--r-- | core/views/uploads.py | 45 |
12 files changed, 51 insertions, 129 deletions
diff --git a/core/views/auth.py b/core/views/auth.py index 9b303c9..2257dd0 100644 --- a/core/views/auth.py +++ b/core/views/auth.py @@ -1,4 +1,3 @@ -from builtins import str from django.conf import settings from django.contrib.auth import authenticate diff --git a/core/views/caves.py b/core/views/caves.py index 3ffbbbb..168e076 100644 --- a/core/views/caves.py +++ b/core/views/caves.py @@ -1,24 +1,18 @@ import os import re -import string import subprocess -import urllib.parse from pathlib import Path -from django import forms -from django.conf import settings from django.core.exceptions import MultipleObjectsReturned, ObjectDoesNotExist from django.http import HttpResponse, HttpResponseNotFound, HttpResponseRedirect -from django.shortcuts import get_object_or_404, render -from django.urls import NoReverseMatch, reverse +from django.shortcuts import render +from django.urls import NoReverseMatch -import settings import troggle.settings as settings from troggle.core.forms import CaveAndEntranceFormSet, CaveForm, EntranceForm, EntranceLetterForm -from troggle.core.models.caves import Area, Cave, CaveAndEntrance, Entrance, EntranceSlug, GetCaveLookup, SurvexStation +from troggle.core.models.caves import Cave, CaveAndEntrance, Entrance, EntranceSlug, GetCaveLookup from troggle.core.models.logbooks import CaveSlug, QM -from troggle.core.models.troggle import DataIssue, Expedition -from troggle.core.utils import write_and_commit, writetrogglefile +from troggle.core.utils import write_and_commit from troggle.core.views import expo from .auth import login_required_if_public @@ -107,13 +101,13 @@ def getnotablecaves(): caves = Cave.objects.all().filter(kataster_number=kataster_number) for c in caves: # print(c.kataster_number, c.slug()) - if c.slug() != None: + if c.slug() is not None: notablecaves.append(c) return notablecaves def caveindex(request): - caves = Cave.objects.all() + Cave.objects.all() caves1623 = list(Cave.objects.filter(area__short_name="1623")) caves1626 = list(Cave.objects.filter(area__short_name="1626")) caves1623.sort(key=caveKey) @@ -201,7 +195,6 @@ def file3d(request, cave, cave_id): survexpath = Path(settings.SURVEX_DATA, cave.survex_file) threedname = Path(survexname).with_suffix(".3d") # removes .svx, replaces with .3d threedpath = Path(settings.SURVEX_DATA, threedname) - threedcachedir = Path(settings.SURVEX_DATA) # These if statements need refactoring more cleanly if cave.survex_file: diff --git a/core/views/drawings.py b/core/views/drawings.py index d6565a5..9fdaf52 100644 --- a/core/views/drawings.py +++ b/core/views/drawings.py @@ -1,9 +1,4 @@ -import os -import re -import stat from pathlib import Path -from urllib.parse import unquote as urlunquote -from urllib.parse import urljoin from django.conf import settings from django.http import HttpResponse diff --git a/core/views/editor_helpers.py b/core/views/editor_helpers.py index a49c571..cd1638b 100644 --- a/core/views/editor_helpers.py +++ b/core/views/editor_helpers.py @@ -1,12 +1,11 @@ import io -import re from pathlib import Path import django.forms as forms -from django.http import Http404, HttpResponse, HttpResponseRedirect, JsonResponse -from django.shortcuts import redirect, render -from django.template import Context, loader -from django.urls import resolve, reverse +from django.http import JsonResponse +from django.shortcuts import render +from django.template import loader +from django.urls import reverse from django.views.decorators.csrf import ensure_csrf_cookie from PIL import Image diff --git a/core/views/expo.py b/core/views/expo.py index ffd62a1..0ee78ca 100644 --- a/core/views/expo.py +++ b/core/views/expo.py @@ -4,14 +4,11 @@ from pathlib import Path from sys import getfilesystemencoding as sys_getfilesystemencoding from urllib.parse import unquote as urlunquote from urllib.parse import urljoin -from urllib.request import urlopen import django.forms as forms -from django.contrib import admin -from django.http import Http404, HttpResponse, HttpResponseRedirect +from django.http import HttpResponse, HttpResponseRedirect from django.shortcuts import redirect, render -from django.template import Context, loader -from django.urls import resolve, reverse +from django.urls import reverse from django.views.decorators.csrf import ensure_csrf_cookie import troggle.core.views.caves diff --git a/core/views/logbooks.py b/core/views/logbooks.py index 54c48c4..37d6aa9 100644 --- a/core/views/logbooks.py +++ b/core/views/logbooks.py @@ -1,28 +1,15 @@ -import datetime -import os.path -import re -import time - -import django.db.models -from django.db.models import Max, Min -from django.http import HttpResponse, HttpResponseRedirect + from django.shortcuts import render -from django.template import Context, loader -from django.template.defaultfilters import slugify -from django.urls import reverse -from django.utils import timezone from django.views.generic.list import ListView import troggle.settings as settings from troggle.core.models.logbooks import LogbookEntry, PersonLogEntry from troggle.core.models.survex import SurvexBlock -from troggle.core.models.troggle import Expedition, Person, PersonExpedition +from troggle.core.models.troggle import Expedition, Person from troggle.core.models.wallets import Wallet from troggle.core.utils import TROG from troggle.parsers.imports import import_logbook -from troggle.parsers.people import GetPersonExpeditionNameLookup -from .auth import login_required_if_public """These views are for logbook items when they appear in an 'expedition' page and for persons: their individual pages and their perseonexpedition pages. @@ -78,7 +65,7 @@ def expedition(request, expeditionname): expo = Expedition.objects.get(year=int(expeditionname)) except: message = ( - f"Expedition not found - database apparently empty, you probably need to do a full re-import of all data." + "Expedition not found - database apparently empty, you probably need to do a full re-import of all data." ) return render(request, "errors/generic.html", {"message": message}) @@ -92,7 +79,7 @@ def expedition(request, expeditionname): ts = TROG["pagecache"]["expedition"] # not much use unless single user! if settings.CACHEDPAGES: - nexpos = len(TROG["pagecache"]["expedition"]) + len(TROG["pagecache"]["expedition"]) # print(f'! - expo {expeditionname} CACHEDPAGES {nexpos} expo pages in cache.') if expeditionname in ts: # print('! - expo {expeditionanme} using cached page') diff --git a/core/views/other.py b/core/views/other.py index bad5f75..5552f71 100644 --- a/core/views/other.py +++ b/core/views/other.py @@ -1,23 +1,16 @@ -import os import re -import subprocess from pathlib import Path -from django import forms from django.conf import settings -from django.core.files.storage import FileSystemStorage, default_storage -from django.db.models import Q -from django.http import HttpResponse, HttpResponseRedirect +from django.http import HttpResponse from django.shortcuts import render -from django.template import Context, loader -from django.urls import reverse +from django.template import loader from troggle.core.models.caves import Cave -from troggle.core.models.logbooks import QM, LogbookEntry # , PersonLogEntry -from troggle.core.models.survex import DrawingFile +from troggle.core.models.logbooks import LogbookEntry # , PersonLogEntry # from databaseReset import reinit_db # don't do this. databaseRest runs code *at import time* -from troggle.core.models.troggle import Expedition, Person, PersonExpedition +from troggle.core.models.troggle import Expedition from troggle.parsers.imports import ( import_caves, import_drawingsfiles, diff --git a/core/views/prospect.py b/core/views/prospect.py index e20281a..a538ab6 100644 --- a/core/views/prospect.py +++ b/core/views/prospect.py @@ -1,15 +1,11 @@ import os -import re -import string -import urllib.parse from django.http import HttpResponse from django.shortcuts import render import troggle.settings as settings -from troggle.core.models.caves import Area, Cave, Entrance, SurvexStation +from troggle.core.models.caves import Area, Cave, Entrance from troggle.core.views.caves import caveKey -from troggle.parsers.locations import MapLocations # from pathlib import Path @@ -65,7 +61,7 @@ def prospecting(request): has been disabled. """ message = ( - f"This prospecting guide text report contains many broken URLs because of a major redesign\n" + "This prospecting guide text report contains many broken URLs because of a major redesign\n" + " to put caves into 1623/ and 1624/ folders in 2017. It was mostly useless because recent QM info was not in it anyway.\n\n" + 'It is disabled in the python code in "prospecting(request):" in troggle/core/views/prospect.py' ) diff --git a/core/views/scans.py b/core/views/scans.py index e1db7e6..39aebbc 100644 --- a/core/views/scans.py +++ b/core/views/scans.py @@ -1,19 +1,14 @@ import datetime -import os -import re -import stat from pathlib import Path from urllib.parse import unquote as urlunquote -from urllib.parse import urljoin -from urllib.request import urlopen from django.conf import settings -from django.db import transaction from django.http import HttpResponse from django.shortcuts import render from troggle.core.models.caves import GetCaveLookup -from troggle.core.models.survex import SingleScan, SurvexBlock, Wallet +from troggle.core.models.survex import SingleScan, SurvexBlock +from troggle.core.models.wallets import Wallet from troggle.core.models.troggle import DataIssue, Expedition, Person from troggle.core.views.expo import getmimetype @@ -158,7 +153,7 @@ def walletslistperson(request, first_name, last_name): fixsurvextick(w, w.ticks) return manywallets - print(f"-walletslistperson") + print("-walletslistperson") try: if last_name: @@ -176,7 +171,7 @@ def walletslistperson(request, first_name, last_name): manywallets = tickspersonwallet(p) expeditions = Expedition.objects.all() - print(f"--") + print("--") return render( request, "personwallets.html", @@ -209,7 +204,7 @@ def walletslistyear(request, year): return manywallets - print(f"-walletslistyear") + print("-walletslistyear") if year < 1976 or year > 2050: return render(request, "errors/generic.html", {"message": "Year out of range. Must be between 1976 and 2050"}) @@ -219,7 +214,7 @@ def walletslistyear(request, year): manywallets = ticksyearwallet(year) expeditions = Expedition.objects.all() expedition = expeditions.filter(year=year) - print(f"--") + print("--") return render( request, "yearwallets.html", @@ -235,7 +230,7 @@ def walletslistyear(request, year): def cavewallets(request, caveid): """Returns all the wallets for just one cave""" - print(f"-cavewalletsl") + print("-cavewalletsl") Gcavelookup = GetCaveLookup() if caveid in Gcavelookup: @@ -270,7 +265,7 @@ def cavewallets(request, caveid): w.ticks = w.get_ticks() # the complaints in colour form, from the json file on disc fixsurvextick(w, w.ticks) expeditions = Expedition.objects.all() - print(f"--") + print("--") return render( request, "cavewallets.html", diff --git a/core/views/statistics.py b/core/views/statistics.py index 1f39d5b..b7af823 100644 --- a/core/views/statistics.py +++ b/core/views/statistics.py @@ -1,21 +1,12 @@ -import datetime -import operator -import os.path -import re from collections import OrderedDict from pathlib import Path -import django.db.models -from django.db.models import Max, Min from django.shortcuts import render -from django.template import Context, loader -from django.template.defaultfilters import slugify -from django.utils import timezone import troggle.settings as settings from troggle.core.models.caves import Cave, Entrance from troggle.core.models.logbooks import LogbookEntry -from troggle.core.models.survex import SurvexBlock, SurvexStation +from troggle.core.models.survex import SurvexStation from troggle.core.models.troggle import DataIssue, Expedition, Person, PersonExpedition from troggle.parsers.people import GetPersonExpeditionNameLookup, foreign_friends diff --git a/core/views/survex.py b/core/views/survex.py index 14b904e..3575bc9 100644 --- a/core/views/survex.py +++ b/core/views/survex.py @@ -7,19 +7,13 @@ from pathlib import Path from django import forms from django.core.exceptions import MultipleObjectsReturned, ObjectDoesNotExist -from django.http import Http404, HttpResponse, HttpResponseRedirect +from django.http import HttpResponse from django.shortcuts import render -from django.template.context_processors import csrf from django.views.decorators.csrf import ensure_csrf_cookie -import parsers.survex import troggle.settings as settings from troggle.core.models.caves import Cave -from troggle.core.models.logbooks import LogbookEntry # , PersonLogEntry -from troggle.core.models.survex import SurvexBlock, SurvexDirectory, SurvexFile, SurvexPersonRole -from troggle.core.models.troggle import Expedition, Person, PersonExpedition -from troggle.core.utils import WriteAndCommitError, only_commit -from troggle.parsers.people import GetPersonExpeditionNameLookup +from troggle.core.utils import only_commit """Everything that views survexfiles but also displays data on a cave or caves when there is ambiguity @@ -165,8 +159,8 @@ class SvxForm(forms.Form): ) # javascript seems to insert CRLF on WSL1 whatever you say. So fix that: - res = fout.write(rcode.replace("\r", "")) - res = fout.write("\n") + fout.write(rcode.replace("\r", "")) + fout.write("\n") fout.close() if socket.gethostname() == "expo": @@ -323,7 +317,7 @@ def process(survex_file): def threed(request, survex_file): filepath3d = survexdatasetpath / str(survex_file + ".3d") - filepathlog = survexdatasetpath / str(survex_file + ".log") + survexdatasetpath / str(survex_file + ".log") if filepath3d.is_file(): threed = open(filepath3d, "rb") return HttpResponse(threed, content_type="application/x-aven") @@ -447,7 +441,7 @@ def survexcaveslist(request): if os.path.isdir(gcavedir) and cavedir[0] != ".": subdirs, subsvx = identifycavedircontents(gcavedir) - caveid = check_cave_registered( + check_cave_registered( area, cavedir ) # should do this only once per database load or it will be slow survdirobj = [] diff --git a/core/views/uploads.py b/core/views/uploads.py index ebd326f..6763d8c 100644 --- a/core/views/uploads.py +++ b/core/views/uploads.py @@ -1,45 +1,30 @@ import datetime import json -import operator import os import re import socket import subprocess import urllib -from functools import reduce from pathlib import Path -from urllib.parse import unquote from django import forms -from django.conf import settings from django.core.exceptions import MultipleObjectsReturned, ObjectDoesNotExist -from django.core.files.storage import FileSystemStorage, default_storage -from django.db.models import Q -from django.http import HttpResponse, HttpResponseRedirect +from django.core.files.storage import FileSystemStorage +from django.http import HttpResponseRedirect from django.shortcuts import render -from django.template import Context, loader -from django.urls import reverse import settings from troggle.core.models.caves import Cave -from troggle.core.models.logbooks import QM, LogbookEntry # , PersonLogEntry -from troggle.core.models.survex import DrawingFile, SurvexBlock, SurvexFile, SurvexPersonRole, Wallet +from troggle.core.models.logbooks import LogbookEntry # , PersonLogEntry +from troggle.core.models.survex import DrawingFile, SurvexBlock, SurvexFile, SurvexPersonRole +from troggle.core.models.wallets import Wallet # from databaseReset import reinit_db # don't do this. databaseRest runs code *at import time* -from troggle.core.models.troggle import DataIssue, Expedition, Person, PersonExpedition +from troggle.core.models.troggle import DataIssue, Expedition from troggle.core.views.caves import getCave from troggle.core.views.scans import caveifywallet, oldwallet # from troggle import settings -from troggle.parsers.imports import ( - import_caves, - import_drawingsfiles, - import_logbooks, - import_people, - import_QMs, - import_survex, - import_surveyscans, -) from troggle.parsers.scans import contentsjson from .auth import login_required_if_public @@ -194,13 +179,13 @@ def get_complaints(complaints, waldata, svxfiles, files, wallet, wurl): else: try: sxpath = str(Path(sx).with_suffix("")) - svxfile = SurvexFile.objects.get(path=sxpath) + SurvexFile.objects.get(path=sxpath) except MultipleObjectsReturned: # can happen if connecting a wallet to a survex file.. i think.. QSsvxfiles = SurvexFile.objects.filter(path=sxpath) for s in QSsvxfiles: print(s.path, s.cave, s.survexdirectory) - svxfile = QSsvxfiles[0] # dont' know how this happened, fix later.. + # QSsvxfiles[0] # dont' know how this happened, fix later.. except: file_complaint = ( f"{wallet} Survex file {sx} exists, but is not registered in the database {sxpath}. How?.." @@ -286,7 +271,7 @@ def get_complaints(complaints, waldata, svxfiles, files, wallet, wurl): caveobject = None else: complaints.append( - f'No cave ID is given. If there is no survex file, please give something, even if it is just "1623-000", "surface survey" or "scraps found in hut"' + 'No cave ID is given. If there is no survex file, please give something, even if it is just "1623-000", "surface survey" or "scraps found in hut"' ) caveobject = None @@ -323,7 +308,6 @@ def scanupload(request, path=None): Should sanitise to ensure no spurious backslashes e.g. in windows style paths""" waldata = {} if contents_path.is_file(): - create = False # yes wallet exists because JSON exists, even if no files in the surveyscans folder, or even if that folder does not exist with open(contents_path) as json_file: try: waldata = json.load(json_file) @@ -333,7 +317,7 @@ def scanupload(request, path=None): DataIssue.objects.create(parser="scans", message=message, url=wurl) # set URL to this wallet folder raise else: # no JSON file exists - print(f"--- No JSON exists, so creating blank copy") + print("--- No JSON exists, so creating blank copy") waldata = WALLET_BLANK_JSON.copy() if not waldata["survex file"]: try: @@ -347,10 +331,9 @@ def scanupload(request, path=None): return waldata def save_json(jsondict): - newfolder = contents_path.parent # print(f'--- Wallet directory in :drawings: repo {newfolder=} {jsondict}') if not os.path.exists(contents_path.parent): - print(f"--- No wallet directory in :drawings: repo, so creating it") + print("--- No wallet directory in :drawings: repo, so creating it") os.makedirs(contents_path.parent) with open(contents_path, "w") as jfile: @@ -521,7 +504,7 @@ def scanupload(request, path=None): commit_json(wd) else: - print(f"--- INVALID JSON Update form submitted") + print("--- INVALID JSON Update form submitted") print(formj.errors) return render(request, "errors/generic.html", {"message": formj.errors}) @@ -671,7 +654,7 @@ def scanupload(request, path=None): # else: # print(f' - Wallet not matching *ref {b.scanswallet=} {wallet}') except: - message = f"Specified survex file not found - database may be empty, or this survex file is not *included anywhere." + message = "Specified survex file not found - database may be empty, or this survex file is not *included anywhere." # return render(request, 'errors/generic.html', {'message': message}) pass @@ -704,7 +687,7 @@ def scanupload(request, path=None): print(f" - Setting wallet name to {names[0]}") elif len(names) == 0: waldata["name"] = "" - print(f" - Setting wallet name blank") + print(" - Setting wallet name blank") else: waldata["name"] = f"several, please edit: {names}" print( |