mirror of
https://expo.survex.com/repositories/troggle/.git
synced 2024-11-25 08:41:51 +00:00
[svn] - Make control panel downloads (qm.csv for each cave, CAVETAB2.CSV) work.
- Fix problems in QM parsing script
This commit is contained in:
parent
7566faf77b
commit
21c39f70de
@ -65,10 +65,6 @@ def export_cavetab():
|
||||
tocavetab.writeCaveTab(outfile)
|
||||
outfile.close()
|
||||
|
||||
def export_qms(): #finish this. need cave chooser
|
||||
from export import toqms
|
||||
outfile=file(os.path.join(settings.EXPOWEB, "noinfo", "CAVETAB2.CSV"),'w')
|
||||
outfile.close()
|
||||
|
||||
|
||||
|
||||
|
@ -8,6 +8,7 @@ import randSent
|
||||
from django.http import HttpResponse, HttpResponseRedirect
|
||||
from django.core.urlresolvers import reverse
|
||||
from troggle.alwaysUseRequestContext import render_response # see views_logbooks for explanation on this.
|
||||
from expo.models import *
|
||||
|
||||
def showrequest(request):
|
||||
return HttpResponse(request.GET)
|
||||
@ -69,12 +70,32 @@ def controlPanel(request):
|
||||
else:
|
||||
return HttpResponseRedirect(reverse('auth_login'))
|
||||
|
||||
return render_response(request,'controlPanel.html', )
|
||||
return render_response(request,'controlPanel.html', {'caves':Cave.objects.all()} )
|
||||
|
||||
def downloadCavetab(request):
|
||||
from export import tocavetab
|
||||
response = HttpResponse(mimetype='text/csv')
|
||||
response['Content-Disposition'] = 'attachment; filename=CAVEETAB2.CSV'
|
||||
response['Content-Disposition'] = 'attachment; filename=CAVETAB2.CSV'
|
||||
tocavetab.writeCaveTab(response)
|
||||
return response
|
||||
|
||||
|
||||
def downloadSurveys(request):
|
||||
from export import tosurveys
|
||||
response = HttpResponse(mimetype='text/csv')
|
||||
response['Content-Disposition'] = 'attachment; filename=Surveys.csv'
|
||||
tosurveys.writeCaveTab(response)
|
||||
return response
|
||||
|
||||
def downloadQMs(request):
|
||||
if request.method=='GET':
|
||||
try:
|
||||
cave=Cave.objects.get(kataster_number=request.GET['cave_id'])
|
||||
except Cave.DoesNotExist:
|
||||
cave=Cave.objects.get(name=cave_id)
|
||||
|
||||
from export import toqms
|
||||
|
||||
response = HttpResponse(mimetype='text/csv')
|
||||
response['Content-Disposition'] = 'attachment; filename=qm.csv'
|
||||
toqms.writeQmTable(response,cave)
|
||||
return response
|
@ -230,6 +230,12 @@ a.redtext:link {
|
||||
border-bottom-width: thin;
|
||||
border-left-width: thin;
|
||||
}
|
||||
|
||||
.menuBarItem : hover {
|
||||
background: "rgb(125, 125, 125)";
|
||||
}
|
||||
|
||||
|
||||
.behind {
|
||||
display: none;
|
||||
}
|
||||
|
@ -1,11 +1,11 @@
|
||||
# -*- coding: UTF-8 -*-
|
||||
|
||||
import csv
|
||||
import settings
|
||||
from django.conf import settings
|
||||
from expo.models import QM, LogbookEntry, Cave
|
||||
from datetime import *
|
||||
from troggle.save_carefully import save_carefully
|
||||
import re
|
||||
import re, os
|
||||
|
||||
def deleteQMs():
|
||||
QM.objects.all().delete()
|
||||
@ -23,15 +23,14 @@ def parseCaveQMs(cave,inputFile):
|
||||
try:
|
||||
hauchHl=Cave.objects.get(official_name="Hauchhöhle")
|
||||
except Cave.DoesNotExist:
|
||||
print "Steinbruckenhoehle is not in the database. Please run parsers.cavetab first."
|
||||
print "Hauchhoele is not in the database. Please run parsers.cavetab first."
|
||||
return
|
||||
elif cave =='kh':
|
||||
try:
|
||||
kh=Cave.objects.get(official_name="Kaninchenhöhle")
|
||||
except Cave.DoesNotExist:
|
||||
print "Steinbruckenhoehle is not in the database. Please run parsers.cavetab first."
|
||||
for file in inputFile:
|
||||
parse_KH_QMs(kh, inputFile=file)
|
||||
print "KH is not in the database. Please run parsers.cavetab first."
|
||||
parse_KH_QMs(kh, inputFile=inputFile)
|
||||
return
|
||||
|
||||
qmPath = settings.EXPOWEB+inputFile
|
||||
@ -108,13 +107,10 @@ def parse_KH_QMs(kh, inputFile):
|
||||
'nearest_station':res['nearest_station'],
|
||||
'location_description':res['description']
|
||||
}
|
||||
|
||||
if
|
||||
|
||||
|
||||
save_carefully(QM,lookupArgs,nonLookupArgs)
|
||||
|
||||
|
||||
parseCaveQMs(cave='kh', inputFile=r"smkridge/161/qmtodo.htm")
|
||||
parseCaveQMs(cave='stein',inputFile=r"smkridge/204/qm.csv")
|
||||
parseCaveQMs(cave='hauch',inputFile=r"smkridge/234/qm.csv")
|
||||
|
||||
parseCaveQMs(cave='kh', inputFile="smkridge/161/qmtodo.htm")
|
@ -7,13 +7,13 @@
|
||||
<script src="{{ settings.MEDIA_URL }}js/jquery.js" type="text/javascript"></script>
|
||||
<script src="{{ settings.MEDIA_URL }}js/jquery.quicksearch.js" type="text/javascript"></script>
|
||||
<script src="{{ settings.MEDIA_URL }}js/base.js" type="text/javascript"></script>
|
||||
<script>
|
||||
contentHeight();
|
||||
<script language="javascript">
|
||||
window.onload = contentHeight;
|
||||
</script>
|
||||
|
||||
{% block head %}{% endblock %}
|
||||
</head>
|
||||
<body onLoad="contentHeight()">
|
||||
<body>
|
||||
|
||||
<div id="header">
|
||||
<h1>CUCC Expeditions to Austria: 1976 - 2009</h1>
|
||||
|
@ -42,18 +42,56 @@
|
||||
</form>
|
||||
</td>
|
||||
<td>
|
||||
<form name="export" method="get" action={% url downloadcavetab %}>
|
||||
<form name="export" method="get" action="{% url downloadcavetab %}">
|
||||
<p>Download a CAVETAB2.CSV file which is dynamically generated by Troggle.</p>
|
||||
<input name="download_cavetab" type="submit" value="Download CAVETAB2.CSV" />
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
surveys to Surveys.csv
|
||||
</td>
|
||||
<td>
|
||||
<form name="export" method="post" action="">
|
||||
<p>Overwrite the existing Surveys.csv file with one generated by Troggle.</p>
|
||||
<input disabled name="export_surveys" type="submit" value="Update {{settings.SURVEYS}}noinfo/Surveys.csv" />
|
||||
</form>
|
||||
</td>
|
||||
<td>
|
||||
<form name="export" method="get" action={% url downloadsurveys %}>
|
||||
<p>Download a Surveys.csv file which is dynamically generated by Troggle.</p>
|
||||
<input disabled name="download_surveys" type="submit" value="Download Surveys.csv" />
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>qms to qms.csv</td><td>
|
||||
<input name="export_cavetab" type="submit" value="Update qms file for" disabled />
|
||||
<input name="export_cavetab_view" type="submit" value="Download file" disabled />
|
||||
<form name="export_qms" method="get" action="downloadqms">
|
||||
|
||||
<!--This is for choosing caves by area (drilldown).
|
||||
|
||||
<select id="qmcaveareachooser" class="searchable" >
|
||||
</select>
|
||||
|
||||
-->
|
||||
|
||||
Choose a cave.
|
||||
<select name="cave_id" id="qmcavechooser">
|
||||
|
||||
{% for cave in caves %}
|
||||
<option value="{{cave.kataster_number}}">{{cave}}
|
||||
</option>
|
||||
{% endfor %}
|
||||
|
||||
</select>
|
||||
|
||||
<input type="submit" value="Download"/>
|
||||
</form>
|
||||
</td></tr>
|
||||
</table>
|
||||
</form>
|
||||
|
||||
{% endblock %}
|
||||
{% endblock %}
|
@ -11,57 +11,7 @@
|
||||
blankColor = "rgb(153, 153, 153)"
|
||||
highlightedColor = "rgb(125, 125, 125)"
|
||||
chosenColor = "rgb(255, 255, 255)"
|
||||
mnuItmLst=document.getElementsByClassName("menuBarItem")
|
||||
function highlight(div){
|
||||
for (var i = 0, divIter; divIter = mnuItmLst[i]; i++) {
|
||||
/*loop though all menuitems. blank them except ones that are toggled on*/
|
||||
if (divIter.style.backgroundColor!=chosenColor){
|
||||
divIter.style.backgroundColor=blankColor;
|
||||
}
|
||||
}
|
||||
/*highlight the mouseovered div unless it is toggled on*/
|
||||
if (div.style.backgroundColor!=chosenColor){
|
||||
div.style.backgroundColor=highlightedColor;
|
||||
}
|
||||
}
|
||||
|
||||
function unhighlight(div){
|
||||
/*highlight the mouseovered div unless it is the chosen one*/
|
||||
if (div.style.backgroundColor!=chosenColor){
|
||||
div.style.backgroundColor=blankColor;
|
||||
}
|
||||
}
|
||||
|
||||
function toggle(div){
|
||||
if (document.getElementById(div.id+"Content").style.display="none"){
|
||||
document.getElementById(div.id+"Content").style.display="block";
|
||||
div.style.backgroundColor=chosenColor;
|
||||
}
|
||||
else {
|
||||
document.getElementById(div.id+"Content").style.display="none";
|
||||
div.style.backgroundColor=blankColor;
|
||||
}
|
||||
}
|
||||
|
||||
/* function choose(div){
|
||||
for (var i = 0, divIter; divIter = mnuItmLst[i]; i++) {
|
||||
document.getElementById(divIter.id+"Content").style.display="none";
|
||||
}
|
||||
document.getElementById(div.id+"Content").style.display="block";
|
||||
for (var i = 0, divIter; divIter = mnuItmLst[i]; i++) {
|
||||
document.getElementById(divIter.id).style.backgroundColor=blankColor;
|
||||
}
|
||||
div.style.backgroundColor=chosenColor;
|
||||
document.getElementById(progressTableContent).style.display="none";
|
||||
}*/
|
||||
|
||||
function redirectSurvey(){
|
||||
window.location = "{% url survey %}" + '/' + document.getElementById("expeditionChooser").value + "%23" + document.getElementById("surveyChooser").value;
|
||||
}
|
||||
|
||||
function redirectYear(){
|
||||
window.location = "{% url survey %}" + '/' + document.getElementById("expeditionChooser").value + "%23";
|
||||
}
|
||||
|
||||
</script>
|
||||
{% endblock %}
|
||||
|
||||
@ -95,7 +45,7 @@
|
||||
|
||||
<div>
|
||||
<!-- <h4>Click to toggle:</h4>-->
|
||||
<div id="progressTable" class="menuBarItem" onMouseOver="highlight(this)" onMouseOut="unhighlight(this)" onClick="toggle(this)"> {% if current_expedition.survey_set.all %}✓{% endif %}
|
||||
<div id="progressTable" class="menuBarItem" > {% if current_expedition.survey_set.all %}✓{% endif %}
|
||||
survey progress table </div>
|
||||
</div>
|
||||
|
||||
@ -120,16 +70,16 @@
|
||||
</center>
|
||||
<!-- <h4>Click to toggle:</h4>-->
|
||||
<div id="surveyWalletNav">
|
||||
<div id="notes" class="menuBarItem" onMouseOver="highlight(this)" onMouseOut="unhighlight(this)" onClick="toggle(this)"> {% if notes %}✓{% endif %}
|
||||
<div id="notes" class="menuBarItem" > {% if notes %}✓{% endif %}
|
||||
scanned notes </div>
|
||||
<div id="survexFile" class="menuBarItem" onMouseOver="highlight(this)" onMouseOut="unhighlight(this)" onClick="toggle(this)"> {% if current_survey.survex_file %}✓{% endif %}
|
||||
<div id="survexFile" class="menuBarItem" > {% if current_survey.survex_file %}✓{% endif %}
|
||||
survex file </div>
|
||||
<div id="printedCentreline" class="menuBarItem" onMouseOver="highlight(this)" onMouseOut="unhighlight(this)" onClick="toggle(this)"> {% if current_survey.centreline_printed_on %}✓{% endif %}
|
||||
<div id="printedCentreline" class="menuBarItem" > {% if current_survey.centreline_printed_on %}✓{% endif %}
|
||||
printed centreline </div>
|
||||
<div id="scannedPassageSketch" class="menuBarItem" onMouseOver="highlight(this)" onMouseOut="unhighlight(this)" onClick="toggle(this)"> {% if planSketches %}✓{% endif %}
|
||||
<div id="scannedPassageSketch" class="menuBarItem" > {% if planSketches %}✓{% endif %}
|
||||
scanned passage sketch </div>
|
||||
<div id="tunnelXMLfile" class="menuBarItem" onMouseOver="highlight(this)" onMouseOut="unhighlight(this)" onClick="toggle(this)">tunnel xml file</div>
|
||||
<div id="mainSketchIntegration" class="menuBarItem" onMouseOver="highlight(this)" onMouseOut="unhighlight(this)" onClick="toggle(this)">add to main sketch</div>
|
||||
<div id="tunnelXMLfile" class="menuBarItem" >tunnel xml file</div>
|
||||
<div id="mainSketchIntegration" class="menuBarItem" >add to main sketch</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
@ -191,7 +141,7 @@
|
||||
</p>
|
||||
</div>
|
||||
{% endfor %}
|
||||
<div class="figure"> <a href="{{ settings.URL_ROOT }}admin/expo/scannedimage/add/"> <img src="{{ settings.URL_ROOT }}{{ settings.ADMIN_MEDIA_PREFIX }}img/admin/icon_addlink.gif" /> Add a new scanned notes page. </a> </div>
|
||||
<div class="figure"> <a href="{{ settings.URL_ROOT }}admin/expo/scannedimage/add/" target="_blank"> <img src="{{ settings.URL_ROOT }}{{ settings.ADMIN_MEDIA_PREFIX }}img/admin/icon_addlink.gif" /> Add a new scanned notes page. </a> </div>
|
||||
</div>
|
||||
<br class="clearfloat" />
|
||||
<div id="survexFileContent" class="behind"> survex file editor, keeping file in original structure <br />
|
||||
|
7
urls.py
7
urls.py
@ -38,7 +38,6 @@ urlpatterns = patterns('',
|
||||
url(r'^cave/(?P<cave_id>[^/]+)/?(?P<ent_letter>[^/])$', ent),
|
||||
#(r'^cave/(?P<cave_id>[^/]+)/edit/$', edit_cave),
|
||||
#(r'^cavesearch', caveSearch),
|
||||
url(r'^cave/(?P<cave_id>[^/]+)(?P<subcave>/.*)/?$', subcave, name="subcave"),
|
||||
|
||||
url(r'^survex/(.*?)\.index$', views_survex.index, name="survexindex"),
|
||||
|
||||
@ -60,7 +59,11 @@ urlpatterns = patterns('',
|
||||
url(r'^survey/(?P<year>\d\d\d\d)\#(?P<wallet_number>\d*)$', survey, name="survey"),
|
||||
|
||||
url(r'^controlpanel/?$', views_other.controlPanel, name="controlpanel"),
|
||||
url(r'^cavetab/?$', views_other.downloadCavetab, name="downloadcavetab"),
|
||||
url(r'^CAVETAB2\.CSV/?$', views_other.downloadCavetab, name="downloadcavetab"),
|
||||
url(r'^Surveys\.csv/?$', views_other.downloadSurveys, name="downloadsurveys"),
|
||||
url(r'^cave/(?P<cave_id>[^/]+)/qm\.csv/?$', views_other.downloadQMs, name="downloadqms"),
|
||||
(r'^downloadqms$', views_other.downloadQMs),
|
||||
url(r'^cave/(?P<cave_id>[^/]+)(?P<subcave>/.*)/?$', subcave, name="subcave"),
|
||||
|
||||
(r'^admin/doc/?', include('django.contrib.admindocs.urls')),
|
||||
(r'^admin/(.*)', admin.site.root),
|
||||
|
Loading…
Reference in New Issue
Block a user