fix 3d file download on cave page

This commit is contained in:
Philip Sargent 2022-07-21 01:22:07 +03:00
parent 3ab8a5d1ad
commit dd0a448f90
2 changed files with 10 additions and 7 deletions

View File

@ -145,17 +145,21 @@ def file3d(request, cave, cave_id):
- (Use the incomplete cave.survex_file and a guess at the missing directories to guess the real .svx file location ?)
'''
def runcavern(survexpath):
'''This has not yet been properly updated with respect to putting the .3d file in the same folder as the .svx filse
as done in runcavern3d() in parsers/survex.py
Needs testing.
'''
#print(" - Regenerating cavern .log and .3d for '{}'".format(survexpath))
if not survexpath.is_file():
#print(" - - Regeneration ABORT\n - - from '{}'".format(survexpath))
pass
try:
completed_process = subprocess.run([settings.CAVERN, "--log", "--output={}".format(settings.THREEDCACHEDIR), "{}".format(survexpath)])
completed_process = subprocess.run([settings.CAVERN, "--log", "--output={}".format(settings.SURVEX_DATA), "{}".format(survexpath)])
except OSError as ex:
# propagate this to caller.
raise OSError(completed_process.stdout) from ex
op3d = (Path(settings.THREEDCACHEDIR) / Path(survexpath).name).with_suffix('.3d')
op3d = (Path(settings.SURVEX_DATA) / Path(survexpath).name).with_suffix('.3d')
op3dlog = Path(op3d.with_suffix('.log'))
if not op3d.is_file():
@ -177,8 +181,8 @@ def file3d(request, cave, cave_id):
survexname = Path(cave.survex_file).name # removes directories
survexpath = Path(settings.SURVEX_DATA, cave.survex_file)
threedname = Path(survexname).with_suffix('.3d') # removes .svx, replaces with .3d
threedpath = Path(settings.THREEDCACHEDIR, threedname)
threedcachedir = Path(settings.THREEDCACHEDIR)
threedpath = Path(settings.SURVEX_DATA, threedname)
threedcachedir = Path(settings.SURVEX_DATA)
# These if statements need refactoring more cleanly
if cave.survex_file:

View File

@ -518,9 +518,8 @@ div#scene {
{% if cave.survex_file %}
<h2>Survex File</h2>
<p><a href="https://aardgoose.github.io/CaveView.js/">CaveView</a> display of the .3d file is temporarily disabled while we fix things (Nov.2021). See <a href="/handbook/computing/todo.html">/handbook/computing/todo.html</a>.<br>
<a href="/survexfile">All survex files</a> &nbsp;&nbsp;&nbsp;<br>
<a href="{% if cave.kataster_number %}{% url "cave3d" cave.kataster_number %}{% else %}{% url "cave3d" cave.unofficial_number %}{% endif %}">3d file download</a>&nbsp;&nbsp;&nbsp;<br>
<a href="{% if cave.kataster_number %}{% url "survexcavessingle" cave.kataster_number %}">This survex file</a> &nbsp;&nbsp;&nbsp;{% endif %}
<a href="{% if cave.kataster_number %}{% url "cave3d" cave.kataster_number %} {% else %}{% url "cave3d" cave.unofficial_number %} {% endif %}">3d file download</a>&nbsp;for this cave<br>
<a href="{% if cave.kataster_number %}{% url "survexcavessingle" cave.kataster_number %}{% else %}{% url "survexcavessingle" cave.unofficial_number %}{% endif %}">survex file</a> &nbsp;for this cave
<div id='scene'></div>
{% endif %}