summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsubstantialnoninfringinguser <substantialnoninfringinguser@gmail.com>2009-05-13 05:59:40 +0100
committersubstantialnoninfringinguser <substantialnoninfringinguser@gmail.com>2009-05-13 05:59:40 +0100
commita4edfca30e254aa5135a059870ebd60219874087 (patch)
tree702260858e4fb84e946602b996d80ebd213735ef
parent90da85e8563298a23e860db08db952f9a6b46f2d (diff)
downloadtroggle-a4edfca30e254aa5135a059870ebd60219874087.tar.gz
troggle-a4edfca30e254aa5135a059870ebd60219874087.tar.bz2
troggle-a4edfca30e254aa5135a059870ebd60219874087.zip
[svn] Got QM pages working.
Started scripts for exporting to old expo format. Copied from http://cucc@cucc.survex.com/svn/trunk/expoweb/troggle/, rev. 8269 by aaron @ 3/12/2009 2:22 PM
-rw-r--r--expo/views_caves.py18
-rw-r--r--export/__init__.py0
-rw-r--r--export/tocavetab.py79
-rw-r--r--export/tologbooks.py0
-rw-r--r--export/toqms.py0
-rw-r--r--parsers/QMs.py8
-rw-r--r--templates/cave.html23
-rw-r--r--templates/qm.html40
-rw-r--r--urls.py5
9 files changed, 163 insertions, 10 deletions
diff --git a/expo/views_caves.py b/expo/views_caves.py
index 487bbc9..169dbec 100644
--- a/expo/views_caves.py
+++ b/expo/views_caves.py
@@ -5,6 +5,14 @@ from troggle.expo.forms import CaveForm
import search
from troggle.alwaysUseRequestContext import render_response # see views_logbooks for explanation on this.
+def getCave(cave_id):
+ """Returns a cave object when given a cave name or number. It is used by views including cavehref, ent, and qm."""
+ try:
+ cave = Cave.objects.get(kataster_number=cave_id)
+ except Cave.DoesNotExist:
+ cave = Cave.objects.get(unofficial_number=cave_id)
+ return cave
+
def caveindex(request):
caves = Cave.objects.all()
notablecavehrefs = [ "161", "204", "258", "76" ] # could detect notability by trips and notability of people who have been down them
@@ -12,12 +20,12 @@ def caveindex(request):
return render_response(request,'caveindex.html', {'caves': caves, 'notablecaves':notablecaves})
def cavehref(request, cave_id='', offical_name=''):
- try:
- cave = Cave.objects.get(kataster_number=cave_id)
- except Cave.DoesNotExist:
- cave = Cave.objects.get(unofficial_number=cave_id)
- return render_response(request,'cave.html', {'cave': cave,})
+ return render_response(request,'cave.html', {'cave': getCave(cave_id),})
+def qm(request,cave_id,qm_id,year):
+ year=int(year)
+ qm=getCave(cave_id).get_QMs().get(number=qm_id,found_by__date__year=year)
+ return render_response(request,'qm.html',{'qm':qm,})
def ent(request, cave_id, ent_letter):
cave = Cave.objects.filter(kataster_number = cave_id)[0]
diff --git a/export/__init__.py b/export/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/export/__init__.py
diff --git a/export/tocavetab.py b/export/tocavetab.py
new file mode 100644
index 0000000..5be866c
--- /dev/null
+++ b/export/tocavetab.py
@@ -0,0 +1,79 @@
+import troggle.expo.models as models
+from django.conf import settings
+
+import csv
+import re
+import os
+
+##format of CAVETAB2.CSV is
+KatasterNumber = 0
+KatStatusCode = 1
+Entrances = 2
+UnofficialNumber = 3
+MultipleEntrances = 4
+AutogenFile = 5
+LinkFile = 6
+LinkEntrance = 7
+Name = 8
+UnofficialName = 9
+Comment = 10
+Area = 11
+Explorers = 12
+UndergroundDescription = 13
+Equipment = 14
+QMList = 15
+KatasterStatus = 16
+References = 17
+UndergroundCentreLine = 18
+UndergroundDrawnSurvey = 19
+SurvexFile = 20
+Length = 21
+Depth = 22
+Extent = 23
+Notes = 24
+EntranceName = 25
+TagPoint = 26
+OtherPoint = 27
+DescriptionOfOtherPoint = 28
+ExactEntrance = 29
+TypeOfFix = 30
+GPSpreSA = 31
+GPSpostSA = 32
+Northing = 33
+Easting = 34
+Altitude = 35
+Bearings = 36
+Map = 37
+Location = 38
+Approach = 39
+EntranceDescription = 40
+PhotoOfLocation = 41
+Marking = 42
+MarkingComment = 43
+Findability = 44
+FindabilityComment = 45
+
+##format of CAVETAB2.CSV is
+headers=['KatasterNumber','KatStatusCode','Entrances','UnofficialNumber','MultipleEntrances','AutogenFile','LinkFile','LinkEntrance','Name','UnofficialName',
+ 'Comment','Area','Explorers','UndergroundDescription','Equipment','QMList','KatasterStatus','References','UndergroundCentreLine','UndergroundDrawnSurvey',
+ 'SurvexFile','Length','Depth','Extent','Notes','EntranceName','TagPoint','OtherPoint','DescriptionOfOtherPoint','ExactEntrance','TypeOfFix','GPSpreSA',
+ 'GPSpostSA','Northing','Easting','Altitude','Bearings','Map','Location','Approach','EntranceDescription','PhotoOfLocation','Marking','MarkingComment',
+ 'Findability','FindabilityComment']
+headersDict={}
+x=0
+for column in headers:
+ headersDict[x]=column
+ x+=1
+print headersDict
+
+def writeCaveTab(path):
+ outfile=file(path,'w')
+ cavewriter=csv.writer(outfile)
+ cavewriter.writerows
+ for cave in Cave.objects.all():
+ caverow[KatasterNumber]=cave.kataster_number
+ caverow[KatStatusCode]=cave.katasternumber
+
+def addCell(caverow, attribute):
+ caverow[attribute]=cave.attribute
+
diff --git a/export/tologbooks.py b/export/tologbooks.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/export/tologbooks.py
diff --git a/export/toqms.py b/export/toqms.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/export/toqms.py
diff --git a/parsers/QMs.py b/parsers/QMs.py
index 7858c0c..bad95a7 100644
--- a/parsers/QMs.py
+++ b/parsers/QMs.py
@@ -48,8 +48,12 @@ def parseCaveQMs(cave,pathToCSV):
newQM.grade=line[1]
newQM.area=line[2]
newQM.location_description=line[3]
- newQM.nearest_station_description=line[4]
- newQM.completion_description=line[5]
+
+ newQM.completion_description=line[4]
+ newQM.nearest_station_description=line[5]
+ if newQM.completion_description: # Troggle checks if QMs are completed by checking if they have a ticked_off_by trip. In the table, completion is indicated by the presence of a completion discription.
+ newQM.ticked_off_by=placeholder
+
newQM.comment=line[6]
newQM.save()
print "QM "+str(newQM) + ' added to database\r',
diff --git a/templates/cave.html b/templates/cave.html
index d76a211..9b7c482 100644
--- a/templates/cave.html
+++ b/templates/cave.html
@@ -4,7 +4,7 @@
{% block content %}
<div id="col2">
- <h3>All trips done in this cave</h3>
+ <h3>All logbook entries regarding this cave ({{cave.logbookentry_set.count}})</h3>
<table>
{% for logbookentry in cave.logbookentry_set.all %}
{% if logbookentry.title %}
@@ -64,4 +64,25 @@
<h2>Notes</h2>
{{ cave.notes|wiki_to_html }}
{% endif %}
+
+{% if cave.get_QMs %}
+ <h2>Question marks</h2>
+ <h3>Extant</h3>
+ <ul>
+ {% for QM in cave.get_QMs %}
+ {% if QM.ticked_off_by %}
+ {% else %}
+ <li><a href="{{QM.get_absolute_url}}">{{QM}}</a></li>
+ {% endif %}
+ {% endfor %}
+ </ul>
+ <h3>Ticked off</h3>
+ <ul>
+ {% for QM in cave.get_QMs %}
+ {% if QM.ticked_off_by %}
+ <li><a href="{{QM.get_absolute_url}}">{{QM}}</a></li>
+ {% endif %}
+ {% endfor %}
+ </ul>
+{% endif %}
{% endblock %}
diff --git a/templates/qm.html b/templates/qm.html
new file mode 100644
index 0000000..db3edc4
--- /dev/null
+++ b/templates/qm.html
@@ -0,0 +1,40 @@
+{% extends "base.html" %}
+{% load wiki_markup %}
+
+{% block title %} QM: {{qm|wiki_to_html_short}} {% endblock %}
+
+{% block editLink %}| <a href={{qm.get_admin_url}}>Edit QM {{qm|wiki_to_html_short}}</a>{% endblock %}
+
+
+
+{% block contentheader %}
+<table id="cavepage">
+<tr>
+<th id="kat_no"><a href="{{qm.get_previous_by_id.get_absolute_url}}">Previous</a></th>
+<th id="name">{{qm|wiki_to_html_short}}</th>
+<th id="status"><a href="{{qm.get_next_by_id.get_absolute_url}}">Next</a></th>
+</tr>
+</table>
+{% endblock %}
+
+{% block content %}
+<h3>Location</h3>
+{{qm.location_description}}
+
+
+<h3>Creation</h3>
+Found by <a href="{{qm.found_by.get_absolute_url}}">{{qm.found_by}}</a> on {{qm.found_by.date}}.
+
+<h3>Completion</h3>
+{% if ticked_off_by %}
+{{qm.completion_description}}
+Ticked off by: <a href="{{qm.ticked_off_by.get_absolute_url}}">{{qm.ticked_off_by}}</a><br />
+Description: {{qm.completion_description}}
+{% else %}
+None yet- STILL EXTANT.
+{% endif %}
+
+<h3>Comment</h3>
+{{qm.comment}}
+
+{% endblock %}
diff --git a/urls.py b/urls.py
index cb95636..4ab0f0a 100644
--- a/urls.py
+++ b/urls.py
@@ -27,7 +27,7 @@ urlpatterns = patterns('',
url(r'^survexblock/(.+)$', views_caves.survexblock, name="survexblock"),
url(r'^cavehref/(.+)$', views_caves.cavehref, name="cave"),
-
+
url(r'^jgtfile/(.*)$', view_surveys.jgtfile, name="jgtfile"),
url(r'^jgtuploadfile$', view_surveys.jgtuploadfile, name="jgtuploadfile"),
@@ -41,7 +41,8 @@ urlpatterns = patterns('',
url(r'^cavearea', caveArea, name="caveArea"),
url(r'^survex/(.*?)\.index$', views_survex.index, name="survexindex"),
- url(r'^cave/(?P<cave_id>[^/]+)/?$', views_caves.cavehref), # deprecated
+ url(r'^cave/(?P<cave_id>[^/]+)/?$', views_caves.cavehref),
+ url(r'^cave/(?P<cave_id>[^/]+)/(?P<year>\d\d\d\d)-(?P<qm_id>\d\d)?$', views_caves.qm),
(r'^survex/(?P<survex_file>.*)\.svx$', svx),
(r'^survex/(?P<survex_file>.*)\.3d$', threed),
(r'^survex/(?P<survex_file>.*)\.log$', log),