summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/views/statistics.py88
-rw-r--r--parsers/survex.py2
-rw-r--r--templates/statistics.html4
-rw-r--r--templates/survexfilewild.html6
4 files changed, 50 insertions, 50 deletions
diff --git a/core/views/statistics.py b/core/views/statistics.py
index 6c1e538..8bd7072 100644
--- a/core/views/statistics.py
+++ b/core/views/statistics.py
@@ -15,21 +15,12 @@ from troggle.parsers.people import GetPersonExpeditionNameLookup, foreign_friend
# from django.views.generic.list import ListView
"""Very simple report pages summarizing data about the whole set of expeditions and of
-the status of data inconsistencies
+the status of data inconsistencies. Also the wallets summary report.
"""
-
-def svxfilewild(request, year=None):
- """Looks for survexfiles which do not have an associated
- wallet, per year
- """
+def legs_by_expo(expos):
legsbyexpo = []
addupsurvexlength = 0.0
addupsurvexlegs = 0
-
- if not year:
- expos = Expedition.objects.all()
- else:
- expos = Expedition.objects.filter(year=year)
for expedition in expos:
survexblocks = expedition.survexblock_set.all()
@@ -42,7 +33,9 @@ def svxfilewild(request, year=None):
addupsurvexlegs += legsyear
legsbyexpo.append((expedition, {"nsurvexlegs": legsyear, "survexleglength": survexleglength}))
legsbyexpo.reverse()
-
+ return legsbyexpo, addupsurvexlegs, addupsurvexlength
+
+def legs_and_lengths(expos):
svxwild = []
svxforeign = []
wildlength = 0.0
@@ -66,6 +59,23 @@ def svxfilewild(request, year=None):
for p in people:
team.append(p.personname)
sb.team = team
+ return svxwild, svxforeign, wildlength, foreignlength
+
+def svxfilewild(request, year=None):
+ """Looks for survexfiles which do not have an associated
+ wallet, per year. This should not be in this file, but with the other wallets reports.
+ """
+
+
+ if not year:
+ expos = Expedition.objects.all()
+ else:
+ expos = Expedition.objects.filter(year=year)
+
+ legsbyexpo, addupsurvexlegs, addupsurvexlength = legs_by_expo(expos)
+
+ svxwild, svxforeign, wildlength, foreignlength = legs_and_lengths(expos)
+
walletslength = 0.0
if year:
wallets = Wallet.objects.filter(walletyear__year=year)
@@ -73,7 +83,7 @@ def svxfilewild(request, year=None):
for sb in w.survexblock_set.all():
walletslength += sb.legslength
if not year:
- year = current_expo()
+ year = " - all years"
return render(request, "survexfilewild.html",
{"addupsurvexlength": addupsurvexlength / 1000,
"legsbyexpo": legsbyexpo,
@@ -86,7 +96,27 @@ def svxfilewild(request, year=None):
"svxwild": svxwild,
"svxforeign": svxforeign}
)
-
+
+def stats(request):
+ """Calculates number of survey blocks, the number of survey legs and the survey length for each year.
+ This is only underground survey legs, but includes ARGE as well as Expo survex files.
+ """
+ statsDict = {}
+ statsDict["expoCount"] = f"{Expedition.objects.count():,}"
+ statsDict["caveCount"] = f"{Cave.objects.count():,}"
+ statsDict["personCount"] = f"{Person.objects.count():,}"
+ statsDict["walletsCount"] = f"{Wallet.objects.count():,}"
+ statsDict["logbookEntryCount"] = f"{LogbookEntry.objects.count():,}"
+
+ expos = Expedition.objects.all()
+ legsbyexpo, addupsurvexlegs, addupsurvexlength = legs_by_expo(expos)
+
+ renderDict = {
+ **statsDict,
+ **{"addupsurvexlength": addupsurvexlength / 1000, "legsbyexpo": legsbyexpo, "nsurvexlegs": addupsurvexlegs, "year": current_expo()},
+ } # new syntax
+ return render(request, "statistics.html", renderDict)
+
def therionissues(request):
"""Page displaying contents of a file produced during data import"""
logname = "therionrefs.log"
@@ -229,36 +259,6 @@ def pathsreport(request):
)
-def stats(request):
- """Calculates number of survey blocks, the number of survey legs and the survey length for each year.
- This is only underground survey legs, but includes ARGE as well as Expo survex files.
- """
- statsDict = {}
- statsDict["expoCount"] = f"{Expedition.objects.count():,}"
- statsDict["caveCount"] = f"{Cave.objects.count():,}"
- statsDict["personCount"] = f"{Person.objects.count():,}"
- statsDict["logbookEntryCount"] = f"{LogbookEntry.objects.count():,}"
-
- legsbyexpo = []
- addupsurvexlength = 0.0
- addupsurvexlegs = 0
- for expedition in Expedition.objects.all():
- survexblocks = expedition.survexblock_set.all()
- legsyear = 0
- survexleglength = 0.0
- for survexblock in survexblocks:
- survexleglength += survexblock.legslength
- legsyear += int(survexblock.legsall)
- addupsurvexlength += survexleglength
- addupsurvexlegs += legsyear
- legsbyexpo.append((expedition, {"nsurvexlegs": legsyear, "survexleglength": survexleglength}))
- legsbyexpo.reverse()
-
- renderDict = {
- **statsDict,
- **{"addupsurvexlength": addupsurvexlength / 1000, "legsbyexpo": legsbyexpo, "nsurvexlegs": addupsurvexlegs, "year": current_expo()},
- } # new syntax
- return render(request, "statistics.html", renderDict)
def dataissues(request):
diff --git a/parsers/survex.py b/parsers/survex.py
index 42b71a3..1256c03 100644
--- a/parsers/survex.py
+++ b/parsers/survex.py
@@ -306,7 +306,7 @@ class LoadingSurvex:
rx_argsref = re.compile(r"(?i)^[\s.:]*((?:19[6789]\d)|(?:20[012345]\d))\s*#?\s*(X)?\s*(.*?\d+.*?)$")
rx_badmerge = re.compile(r"(?i).*(\>\>\>\>\>)|(\=\=\=\=\=)|(\<\<\<\<\<).*$")
rx_ref2 = re.compile(r"(?i)\s*ref[.;]?")
- rx_commteam = re.compile(r"(?i)\s*(Messteam|Zeichner)\s*[:]?(.*)")
+ rx_commteam = re.compile(r"(?i)\s*(Messteam|Zeichner|LUSS Dead Mountains)\s*[:]?(.*)") # non-expo survex files
rx_quotedtitle = re.compile(r'(?i)^"(.*)"$')
"""
diff --git a/templates/statistics.html b/templates/statistics.html
index f3cb0b7..f44fbc3 100644
--- a/templates/statistics.html
+++ b/templates/statistics.html
@@ -5,14 +5,14 @@
<h1>Expedition Statistics</h1>
-<p>{{ expoCount }} expeditions: {{ personCount }} people, {{ caveCount }} caves and {{ logbookEntryCount }} logbook entries.
+<p>{{ expoCount }} expeditions: {{ personCount }} people, {{ caveCount }} caves, {{ walletsCount }} wallets and {{ logbookEntryCount }} logbook entries.
<p>Number of survey legs: {{nsurvexlegs}} <br />
Total length: {{addupsurvexlength|stringformat:".1f"}} km adding up the total for each year.</p>
<p>These are uncorrected tape lengths which include pitches and duplicates but exclude splays or surface-surveys.
<p>
-This is work in progress (March 2023): the underground survey length does not match that in e.g.
+This is work in progress June 2025): the underground survey length does not match that in e.g.
<a href="/wallets/year/2018">wallets for 2018</a> probably because ARGE surveys are not in any of our wallets.
<p>This includes ARGE and other surveys currently. It will be changed to only include lengths surveyed by valid Expo-attendees.
diff --git a/templates/survexfilewild.html b/templates/survexfilewild.html
index da01768..a2fcf49 100644
--- a/templates/survexfilewild.html
+++ b/templates/survexfilewild.html
@@ -6,7 +6,7 @@
<h1>'Wild' Survex files {{year}}</h1>
-<p>
+<p> <a href="/survexfilewild">ALL YEARS</a>
{% for otherexpedition in expeditions %}
| <a <a href="/survexfilewild/{{ otherexpedition.year }}">{{otherexpedition.year}}</a>
{% endfor %}
@@ -14,7 +14,7 @@
<p>These are survex blocks within a survex file which have NO ATTACHED WALLET.
<br />
i.e. they have a survex block (begin..end) with no *REF line which refers to the wallet holding the raw data for that block of data.
-<p>These have "; Messteam" or "; Zeichner" in the survex block, so are non expo surveys.
+<p>These have "; Messteam", "; Zeichner" or "; "LUSS Dead Mountains" in the survex block, so are non expo surveys.
<table>
<tr><th>survex block with no *ref</th><th>date</th><th>parent block</th><th>within survex file</th><th>surveyed length</th></tr>
{% for sb in svxforeign %}
@@ -28,7 +28,7 @@ i.e. they have a survex block (begin..end) with no *REF line which refers to the
{% endfor %}
</table>
-<p>These do not have "; Messteam" or "; Zeichner" in the survex block, so are <em>probably</em> expo surveys; definitely if they have identified team members (or have zero length).
+<p>These do not have "; Messteam", "; Zeichner" or "; "LUSS Dead Mountains" in the survex block, so are <em>probably</em> expo surveys; definitely if they have identified team members (or have zero length).
<table>
<tr><th>survex block with no *ref</th><th>date</th><th>parent block</th><th>within survex file</th><th>surveyed length</th><th>team</th></tr>
{% for sb in svxwild %}