summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorSam Wenham <sam@wenhams.co.uk>2018-04-17 22:19:20 +0100
committerSam Wenham <sam@wenhams.co.uk>2018-04-17 22:19:20 +0100
commitbcaa4b27d2b55bca4046fa565fa1c116426e655c (patch)
tree49c33aca466b7b4d2df83d669b6c37feb6752aa4 /core
parente61dffbfead152e45677ce05ddd65adc97192a08 (diff)
parentd0e0eee15a0f02a35121bf1758547e01ce22d22a (diff)
downloadtroggle-bcaa4b27d2b55bca4046fa565fa1c116426e655c.tar.gz
troggle-bcaa4b27d2b55bca4046fa565fa1c116426e655c.tar.bz2
troggle-bcaa4b27d2b55bca4046fa565fa1c116426e655c.zip
Merge with django-upgrade
Diffstat (limited to 'core')
-rw-r--r--core/views_caves.py20
1 files changed, 17 insertions, 3 deletions
diff --git a/core/views_caves.py b/core/views_caves.py
index e8503e2..f6a2bcf 100644
--- a/core/views_caves.py
+++ b/core/views_caves.py
@@ -59,12 +59,26 @@ def caveindex(request):
caves1626.sort(caveCmp)
return render_with_context(request,'caveindex.html', {'caves1623': caves1623, 'caves1626': caves1626, 'notablecaves':notablecaves, 'cavepage': True})
+def cave3d(request, cave_id):
+ cave = getCave(cave_id)
+ survexfilename = '/home/expo/loser/' + cave.survex_file
+ threedfilename = '/home/expo/expowebcache/3d/%s.3d' % cave_id
+ if True or os.path.getmtime(survexfilename) > os.path.getmtime(threedfilename):
+ subprocess.call(["cavern", "--output=%s" % threedfilename, survexfilename])
+ test_file = open(threedfilename, 'rb')
+ response = HttpResponse(content=test_file, mimetype='application/3d')#mimetype is replaced by content_type for django 1.7
+ response['Content-Disposition'] = 'attachment; filename=%s.3d' % cave_id
+ # response['X-Sendfile'] = "%s.3d" % cave_id
+ # It's usually a good idea to set the 'Content-Length' header too.
+ # You can also set any other required headers: Cache-Control, etc.
+ return response
+
def cave(request, cave_id='', offical_name=''):
cave=getCave(cave_id)
if cave.non_public and settings.PUBLIC_SITE and not request.user.is_authenticated():
- return render_with_context(request,'nonpublic.html', {'instance': cave, 'cavepage': True})
+ return render_with_context(request,'nonpublic.html', {'instance': cave, 'cavepage': True, 'cave_id': cave_id})
else:
- return render_with_context(request,'cave.html', {'settings': settings, 'cave': cave, 'cavepage': True})
+ return render_with_context(request,'cave.html', {'settings': settings, 'cave': cave, 'cavepage': True, 'cave_id': cave_id})
def caveEntrance(request, slug):
cave = Cave.objects.get(caveslug__slug = slug)
@@ -203,7 +217,7 @@ def qm(request,cave_id,qm_id,year,grade=None):
return HttpResponseRedirect(url)
-
+
def ent(request, cave_id, ent_letter):
cave = Cave.objects.filter(kataster_number = cave_id)[0]
cave_and_ent = CaveAndEntrance.objects.filter(cave = cave).filter(entrance_letter = ent_letter)[0]