summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPhilip Sargent <philip.sargent@gmail.com>2023-03-12 00:35:37 +0000
committerPhilip Sargent <philip.sargent@gmail.com>2023-03-12 00:35:37 +0000
commitb88b1423328d26081457e9d0bb5f55cf86232f24 (patch)
tree53aabd0ba57e962156aff05619ec5e768e48d890
parent870b2907265310d7f050ea31bcda7c2adfaf5fea (diff)
downloadtroggle-b88b1423328d26081457e9d0bb5f55cf86232f24.tar.gz
troggle-b88b1423328d26081457e9d0bb5f55cf86232f24.tar.bz2
troggle-b88b1423328d26081457e9d0bb5f55cf86232f24.zip
fixing bad splay detection
-rw-r--r--core/views/survex.py5
-rw-r--r--parsers/survex.py28
-rw-r--r--templates/onthisdate.html2
-rw-r--r--templates/personexpedition.html18
-rw-r--r--templates/statistics.html5
-rw-r--r--templates/svxfile.html1
6 files changed, 30 insertions, 29 deletions
diff --git a/core/views/survex.py b/core/views/survex.py
index e91d228..edc3b1f 100644
--- a/core/views/survex.py
+++ b/core/views/survex.py
@@ -350,6 +350,10 @@ def svx(request, survex_file):
svxblocks = []
try:
svxblocksall = svxfile.survexblock_set.all()
+ svxlength = 0.0
+ for b in svxblocksall:
+ svxlength += b.legslength
+ print(svxlength,b)
except AttributeError: # some survexfiles just *include files and have no blocks themselves
svxblocksall = []
else:
@@ -366,6 +370,7 @@ def svx(request, survex_file):
"warning": warning,
"has_3d": (Path(survexdatasetpath) / Path(survex_file + ".3d")).is_file(),
"title": survex_file,
+ "svxlength": svxlength,
"svxblocks": svxblocks,
"svxincludes": svxincludes,
"difflist": difflist,
diff --git a/parsers/survex.py b/parsers/survex.py
index d91eabe..6cff3e5 100644
--- a/parsers/survex.py
+++ b/parsers/survex.py
@@ -497,9 +497,10 @@ class LoadingSurvex:
def LoadSurvexAlias(self, survexblock, line):
# *alias station - ..
- splayalias = re.match("(?i)station\s*\-\s*\.\.\s*$", line)
+ splayalias = re.match("(?i)\s*station\s*\-\s*\.\.\s*$", line)
if splayalias:
self.flagsstar["splayalias"] = True
+ print(line)
else:
message = f"! Bad *ALIAS: '{line}' ({survexblock}) {survexblock.survexfile.path}"
print(self.insp + message)
@@ -696,7 +697,13 @@ class LoadingSurvex:
survexleg = SurvexLeg()
# skip all splay legs
- try:
+ try:
+ if "splayalias" in self.flagsstar:
+ if ls[datastar["from"]] == "-" or ls[datastar["to"]] == "-":
+ if debugprint:
+ print("Aliased splay in ", survexblock.survexfile.path)
+ return
+
if ls[datastar["from"]] == ".." or ls[datastar["from"]] == ".":
if debugprint:
print("Splay in ", survexblock.survexfile.path)
@@ -705,15 +712,14 @@ class LoadingSurvex:
if debugprint:
print("Splay in ", survexblock.survexfile.path)
return
- if self.flagsstar["splayalias"]:
- if ls[datastar["from"]] == "-":
- if debugprint:
- print("Aliased splay in ", survexblock.survexfile.path)
- return
- if ls[datastar["to"]] == "-":
- if debugprint:
- print("Aliased splay in ", survexblock.survexfile.path)
- return
+
+ if ls[datastar["to"]] == "-":
+ message = f" ! Suspected splay, not declared, in line {ls} in {survexblock.survexfile.path}"
+ print(self.insp + message)
+ stash_data_issue(
+ parser="survexleg", message=message, url=None, sb=(survexblock.survexfile.path)
+ )
+ return
except:
message = f" ! datastar parsing from/to incorrect in line {ls} in {survexblock.survexfile.path}"
print(self.insp + message)
diff --git a/templates/onthisdate.html b/templates/onthisdate.html
index e2f44d1..eea001b 100644
--- a/templates/onthisdate.html
+++ b/templates/onthisdate.html
@@ -3,7 +3,7 @@
{% if svxothers %}<u>Survex files</u> on this date:<br>
<span style="font-size: 70%; ">
{% for item in svxothers %}
- &nbsp;&nbsp;&nbsp;&nbsp;<a href="/survexfile/{{item.path}}">{{item.path|safe}}</a><br/>
+ &nbsp;&nbsp;&nbsp;&nbsp;<a href="/survexfile/{{item.path}}">{{item.path|safe}}</a> <br/>
{% empty %}
<em>None found for this date.</em><br>
{% endfor %}
diff --git a/templates/personexpedition.html b/templates/personexpedition.html
index ea26088..365c812 100644
--- a/templates/personexpedition.html
+++ b/templates/personexpedition.html
@@ -1,10 +1,5 @@
{% extends "base.html" %}
{% block title %}Person {{personexpedition.person}} for {{personexpedition.expedition}}{% endblock %}
-<!-- I am removing 'role' as a thing that troggle cares about.
-This will remove the Class Role (but keep PersonRole)
-and 1 foreign key role
-If anyone really cares, they can always look in the original survex file
--->
{% block content %}
<h1>
@@ -13,7 +8,7 @@ If anyone really cares, they can always look in the original survex file
</h1>
<p>{{message}}</p>
-<p>{{personexpedition.surveyedleglength|stringformat:".1f"}} m surveyed this year.</p>
+<p>{{personexpedition.surveyedleglength|floatformat:1}} m surveyed this year.</p>
<p><b>Other years:&nbsp;</b>
{% for otherpersonexpedition in personexpedition.person.personexpedition_set.all %}
@@ -31,8 +26,6 @@ If anyone really cares, they can always look in the original survex file
<h3>Table of all trips and surveys aligned by date</h3>
<div>
<table class="survexcontibutions">
-<!--
-<tr><th>Date</th><th colspan="2">Trips</th><th colspan="3">Surveys</th></tr> Remove 'role' -->
<tr><th>Date</th><th colspan="2">Trips</th><th colspan="2">Surveys</th></tr>
{% for persondate in personchronology %}
<tr>
@@ -47,14 +40,9 @@ If anyone really cares, they can always look in the original survex file
{% if persondate.2 %}
<td class="survexblock"><a href="{% url "svx" persondate.2.survexfile.path %}">{{persondate.2.name}}</a></td>
- {%comment%}
- <td class="roles" style="padding-right: 3px; text-align:right">
- {% for survexpersonrole in persondate.2.survexpersonrole_set.all %}
- {{survexpersonrole.nrole}}
- {% endfor %}
- </td>{%endcomment%}
+
<td style="text-align:right">
- {{persondate.2.legslength|stringformat:".1f"}} m
+ {{persondate.2.legslength|floatformat:1}} m
</td>
{% else %}
<td colspan="3"> </td>
diff --git a/templates/statistics.html b/templates/statistics.html
index 67a895d..9439fdc 100644
--- a/templates/statistics.html
+++ b/templates/statistics.html
@@ -12,17 +12,18 @@ Total length: {{addupsurvexlength|stringformat:".1f"}} km adding up the total fo
<p>These are uncorrected tape lengths which include pitches and duplicates but exclude splays or surface-surveys.
<p>
-This is work in progress (Feb.2023).
+This is work in progress (March 2023): the last column is floatng point numbers, the 3rd column appears to be strings..
<p>This includes ARGE and other surveys currently. It will be changed to only include lengths surveyed by valid Expo-attendees.
<table>
-<tr><th>Year</th><th>Survex<br>Survey<br>Blocks</th><th>Survex<br>Survey Legs</th><th>Total length<br>(m)</th></tr>
+<tr><th>Year</th><th>Survex<br>Survey<br>Blocks</th><th>Survex<br>Survey Legs</th><th>Total length<br>(m)</th><th>Total length<br>(m)</th></tr>
{% for legs in legsbyexpo %}
<tr>
<td style="text-align:center"><a href="{{ legs.0.get_absolute_url }}">{{legs.0}}</a></td>
<td style="text-align:center">{{legs.0.survexblock_set.all|length}}</td>
<td style="text-align:center">{{legs.1.nsurvexlegs|rjust:"10"}} </td>
<td style="text-align:right">{{legs.1.survexleglength}}</td>
+ <td style="text-align:right">{{legs.1.survexleglength|floatformat:0}}</td>
</tr>
{% endfor %}
</table>
diff --git a/templates/svxfile.html b/templates/svxfile.html
index 22abaf6..ca35cde 100644
--- a/templates/svxfile.html
+++ b/templates/svxfile.html
@@ -80,6 +80,7 @@ LOGMESSAGES
-->
{% endif %}
</div>
+survey length: {{svxlength|floatformat:2}} metres
<span style="font-family: monospace; font-size: 130%; ">
{% for sb in svxblocks %}
{% empty %}