diff options
author | Philip Sargent <philip.sargent@gmail.com> | 2023-03-12 00:35:37 +0000 |
---|---|---|
committer | Philip Sargent <philip.sargent@gmail.com> | 2023-03-12 00:35:37 +0000 |
commit | b88b1423328d26081457e9d0bb5f55cf86232f24 (patch) | |
tree | 53aabd0ba57e962156aff05619ec5e768e48d890 | |
parent | 870b2907265310d7f050ea31bcda7c2adfaf5fea (diff) | |
download | troggle-b88b1423328d26081457e9d0bb5f55cf86232f24.tar.gz troggle-b88b1423328d26081457e9d0bb5f55cf86232f24.tar.bz2 troggle-b88b1423328d26081457e9d0bb5f55cf86232f24.zip |
fixing bad splay detection
-rw-r--r-- | core/views/survex.py | 5 | ||||
-rw-r--r-- | parsers/survex.py | 28 | ||||
-rw-r--r-- | templates/onthisdate.html | 2 | ||||
-rw-r--r-- | templates/personexpedition.html | 18 | ||||
-rw-r--r-- | templates/statistics.html | 5 | ||||
-rw-r--r-- | templates/svxfile.html | 1 |
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 %}
- <a href="/survexfile/{{item.path}}">{{item.path|safe}}</a><br/>
+ <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: </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 %} |