2
0
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:
substantialnoninfringinguser 2009-05-17 04:31:23 +01:00
parent 7566faf77b
commit 21c39f70de
8 changed files with 96 additions and 86 deletions

View File

@ -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()

View File

@ -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

View File

@ -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;
}

View File

@ -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")

View File

@ -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>

View File

@ -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 %}

View File

@ -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 %}&#10003;{% endif %}
<div id="progressTable" class="menuBarItem" > {% if current_expedition.survey_set.all %}&#10003;{% 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 %}&#10003;{% endif %}
<div id="notes" class="menuBarItem" > {% if notes %}&#10003;{% endif %}
scanned notes </div>
<div id="survexFile" class="menuBarItem" onMouseOver="highlight(this)" onMouseOut="unhighlight(this)" onClick="toggle(this)"> {% if current_survey.survex_file %}&#10003;{% endif %}
<div id="survexFile" class="menuBarItem" > {% if current_survey.survex_file %}&#10003;{% endif %}
survex file </div>
<div id="printedCentreline" class="menuBarItem" onMouseOver="highlight(this)" onMouseOut="unhighlight(this)" onClick="toggle(this)"> {% if current_survey.centreline_printed_on %}&#10003;{% endif %}
<div id="printedCentreline" class="menuBarItem" > {% if current_survey.centreline_printed_on %}&#10003;{% endif %}
printed centreline </div>
<div id="scannedPassageSketch" class="menuBarItem" onMouseOver="highlight(this)" onMouseOut="unhighlight(this)" onClick="toggle(this)"> {% if planSketches %}&#10003;{% endif %}
<div id="scannedPassageSketch" class="menuBarItem" > {% if planSketches %}&#10003;{% 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 />

View File

@ -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),