summaryrefslogtreecommitdiffstats
path: root/core/views
diff options
context:
space:
mode:
Diffstat (limited to 'core/views')
-rw-r--r--core/views/auth.py1
-rw-r--r--core/views/caves.py19
-rw-r--r--core/views/drawings.py5
-rw-r--r--core/views/editor_helpers.py9
-rw-r--r--core/views/expo.py7
-rw-r--r--core/views/logbooks.py21
-rw-r--r--core/views/other.py15
-rw-r--r--core/views/prospect.py8
-rw-r--r--core/views/scans.py21
-rw-r--r--core/views/statistics.py11
-rw-r--r--core/views/survex.py18
-rw-r--r--core/views/uploads.py45
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(