forked from expo/troggle
[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)
|
tocavetab.writeCaveTab(outfile)
|
||||||
outfile.close()
|
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.http import HttpResponse, HttpResponseRedirect
|
||||||
from django.core.urlresolvers import reverse
|
from django.core.urlresolvers import reverse
|
||||||
from troggle.alwaysUseRequestContext import render_response # see views_logbooks for explanation on this.
|
from troggle.alwaysUseRequestContext import render_response # see views_logbooks for explanation on this.
|
||||||
|
from expo.models import *
|
||||||
|
|
||||||
def showrequest(request):
|
def showrequest(request):
|
||||||
return HttpResponse(request.GET)
|
return HttpResponse(request.GET)
|
||||||
@ -69,12 +70,32 @@ def controlPanel(request):
|
|||||||
else:
|
else:
|
||||||
return HttpResponseRedirect(reverse('auth_login'))
|
return HttpResponseRedirect(reverse('auth_login'))
|
||||||
|
|
||||||
return render_response(request,'controlPanel.html', )
|
return render_response(request,'controlPanel.html', {'caves':Cave.objects.all()} )
|
||||||
|
|
||||||
def downloadCavetab(request):
|
def downloadCavetab(request):
|
||||||
from export import tocavetab
|
from export import tocavetab
|
||||||
response = HttpResponse(mimetype='text/csv')
|
response = HttpResponse(mimetype='text/csv')
|
||||||
response['Content-Disposition'] = 'attachment; filename=CAVEETAB2.CSV'
|
response['Content-Disposition'] = 'attachment; filename=CAVETAB2.CSV'
|
||||||
tocavetab.writeCaveTab(response)
|
tocavetab.writeCaveTab(response)
|
||||||
return 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-bottom-width: thin;
|
||||||
border-left-width: thin;
|
border-left-width: thin;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.menuBarItem : hover {
|
||||||
|
background: "rgb(125, 125, 125)";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
.behind {
|
.behind {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
# -*- coding: UTF-8 -*-
|
# -*- coding: UTF-8 -*-
|
||||||
|
|
||||||
import csv
|
import csv
|
||||||
import settings
|
from django.conf import settings
|
||||||
from expo.models import QM, LogbookEntry, Cave
|
from expo.models import QM, LogbookEntry, Cave
|
||||||
from datetime import *
|
from datetime import *
|
||||||
from troggle.save_carefully import save_carefully
|
from troggle.save_carefully import save_carefully
|
||||||
import re
|
import re, os
|
||||||
|
|
||||||
def deleteQMs():
|
def deleteQMs():
|
||||||
QM.objects.all().delete()
|
QM.objects.all().delete()
|
||||||
@ -23,15 +23,14 @@ def parseCaveQMs(cave,inputFile):
|
|||||||
try:
|
try:
|
||||||
hauchHl=Cave.objects.get(official_name="Hauchhöhle")
|
hauchHl=Cave.objects.get(official_name="Hauchhöhle")
|
||||||
except Cave.DoesNotExist:
|
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
|
return
|
||||||
elif cave =='kh':
|
elif cave =='kh':
|
||||||
try:
|
try:
|
||||||
kh=Cave.objects.get(official_name="Kaninchenhöhle")
|
kh=Cave.objects.get(official_name="Kaninchenhöhle")
|
||||||
except Cave.DoesNotExist:
|
except Cave.DoesNotExist:
|
||||||
print "Steinbruckenhoehle is not in the database. Please run parsers.cavetab first."
|
print "KH is not in the database. Please run parsers.cavetab first."
|
||||||
for file in inputFile:
|
parse_KH_QMs(kh, inputFile=inputFile)
|
||||||
parse_KH_QMs(kh, inputFile=file)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
qmPath = settings.EXPOWEB+inputFile
|
qmPath = settings.EXPOWEB+inputFile
|
||||||
@ -109,12 +108,9 @@ def parse_KH_QMs(kh, inputFile):
|
|||||||
'location_description':res['description']
|
'location_description':res['description']
|
||||||
}
|
}
|
||||||
|
|
||||||
if
|
|
||||||
|
|
||||||
save_carefully(QM,lookupArgs,nonLookupArgs)
|
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='stein',inputFile=r"smkridge/204/qm.csv")
|
||||||
parseCaveQMs(cave='hauch',inputFile=r"smkridge/234/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.js" type="text/javascript"></script>
|
||||||
<script src="{{ settings.MEDIA_URL }}js/jquery.quicksearch.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 src="{{ settings.MEDIA_URL }}js/base.js" type="text/javascript"></script>
|
||||||
<script>
|
<script language="javascript">
|
||||||
contentHeight();
|
window.onload = contentHeight;
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
{% block head %}{% endblock %}
|
{% block head %}{% endblock %}
|
||||||
</head>
|
</head>
|
||||||
<body onLoad="contentHeight()">
|
<body>
|
||||||
|
|
||||||
<div id="header">
|
<div id="header">
|
||||||
<h1>CUCC Expeditions to Austria: 1976 - 2009</h1>
|
<h1>CUCC Expeditions to Austria: 1976 - 2009</h1>
|
||||||
|
@ -42,16 +42,54 @@
|
|||||||
</form>
|
</form>
|
||||||
</td>
|
</td>
|
||||||
<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>
|
<p>Download a CAVETAB2.CSV file which is dynamically generated by Troggle.</p>
|
||||||
<input name="download_cavetab" type="submit" value="Download CAVETAB2.CSV" />
|
<input name="download_cavetab" type="submit" value="Download CAVETAB2.CSV" />
|
||||||
</form>
|
</form>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</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>
|
<td>qms to qms.csv</td><td>
|
||||||
<input name="export_cavetab" type="submit" value="Update qms file for" disabled />
|
<form name="export_qms" method="get" action="downloadqms">
|
||||||
<input name="export_cavetab_view" type="submit" value="Download file" disabled />
|
|
||||||
|
<!--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>
|
</td></tr>
|
||||||
</table>
|
</table>
|
||||||
</form>
|
</form>
|
||||||
|
@ -11,57 +11,7 @@
|
|||||||
blankColor = "rgb(153, 153, 153)"
|
blankColor = "rgb(153, 153, 153)"
|
||||||
highlightedColor = "rgb(125, 125, 125)"
|
highlightedColor = "rgb(125, 125, 125)"
|
||||||
chosenColor = "rgb(255, 255, 255)"
|
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>
|
</script>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
@ -95,7 +45,7 @@
|
|||||||
|
|
||||||
<div>
|
<div>
|
||||||
<!-- <h4>Click to toggle:</h4>-->
|
<!-- <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>
|
survey progress table </div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -120,16 +70,16 @@
|
|||||||
</center>
|
</center>
|
||||||
<!-- <h4>Click to toggle:</h4>-->
|
<!-- <h4>Click to toggle:</h4>-->
|
||||||
<div id="surveyWalletNav">
|
<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>
|
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>
|
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>
|
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>
|
scanned passage sketch </div>
|
||||||
<div id="tunnelXMLfile" class="menuBarItem" onMouseOver="highlight(this)" onMouseOut="unhighlight(this)" onClick="toggle(this)">tunnel xml file</div>
|
<div id="tunnelXMLfile" class="menuBarItem" >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="mainSketchIntegration" class="menuBarItem" >add to main sketch</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
@ -191,7 +141,7 @@
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% 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>
|
</div>
|
||||||
<br class="clearfloat" />
|
<br class="clearfloat" />
|
||||||
<div id="survexFileContent" class="behind"> survex file editor, keeping file in original structure <br />
|
<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),
|
url(r'^cave/(?P<cave_id>[^/]+)/?(?P<ent_letter>[^/])$', ent),
|
||||||
#(r'^cave/(?P<cave_id>[^/]+)/edit/$', edit_cave),
|
#(r'^cave/(?P<cave_id>[^/]+)/edit/$', edit_cave),
|
||||||
#(r'^cavesearch', caveSearch),
|
#(r'^cavesearch', caveSearch),
|
||||||
url(r'^cave/(?P<cave_id>[^/]+)(?P<subcave>/.*)/?$', subcave, name="subcave"),
|
|
||||||
|
|
||||||
url(r'^survex/(.*?)\.index$', views_survex.index, name="survexindex"),
|
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'^survey/(?P<year>\d\d\d\d)\#(?P<wallet_number>\d*)$', survey, name="survey"),
|
||||||
|
|
||||||
url(r'^controlpanel/?$', views_other.controlPanel, name="controlpanel"),
|
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/doc/?', include('django.contrib.admindocs.urls')),
|
||||||
(r'^admin/(.*)', admin.site.root),
|
(r'^admin/(.*)', admin.site.root),
|
||||||
|
Loading…
Reference in New Issue
Block a user