[svn] survey block object

Copied from http://cucc@cucc.survex.com/svn/trunk/expoweb/troggle/, rev. 8199 by julian @ 1/19/2009 12:22 AM
This commit is contained in:
substantialnoninfringinguser
2009-05-13 05:39:52 +01:00
parent 39ab4d2514
commit 0ba4dd4ef4
20 changed files with 201 additions and 31 deletions

View File

@@ -7,6 +7,7 @@ from django.core.files.storage import FileSystemStorage
import os
import troggle.settings as settings
import datetime
from models_survex import *
class Expedition(models.Model):
@@ -27,6 +28,7 @@ class Expedition(models.Model):
date+=datetime.timedelta(days=1)
return res
# deprecated
def GetPersonExpedition(self, name):
person_expeditions = PersonExpedition.objects.filter(expedition=self)
res = None
@@ -38,6 +40,8 @@ class Expedition(models.Model):
res = person_expedition
return res
class Person(models.Model):
first_name = models.CharField(max_length=100)
@@ -64,6 +68,7 @@ class PersonExpedition(models.Model):
is_guest = models.BooleanField(default=False)
nickname = models.CharField(max_length=100,blank=True,null=True)
# deprecated
def GetPossibleNameForms(self):
res = [ ]
if self.person.last_name:

View File

@@ -6,6 +6,8 @@ class SurvexBlock(models.Model):
name = models.CharField(max_length=100, blank=True, null=True)
parent = models.ForeignKey('SurvexBlock', blank=True, null=True)
text = models.TextField()
# non-useful representation of incomplete data
start_year = models.IntegerField(blank=True, null=True)
start_month = models.IntegerField(blank=True, null=True)
start_day = models.IntegerField(blank=True, null=True)
@@ -13,8 +15,13 @@ class SurvexBlock(models.Model):
end_month = models.IntegerField(blank=True, null=True)
end_day = models.IntegerField(blank=True, null=True)
person = models.ManyToManyField('Person', through='PersonRole', blank=True, null=True)
date = models.DateField(blank=True, null=True)
survexpath = models.CharField(max_length=100)
# superfluous
person = models.ManyToManyField('Person', through='PersonRole', blank=True, null=True)
# code for where in the survex data files this block sits
begin_file = models.CharField(max_length=200)
begin_char = models.IntegerField()
end_file = models.CharField(max_length=200, blank=True, null=True)
@@ -25,8 +32,8 @@ class SurvexBlock(models.Model):
def filecontents(self):
f = os.path.join(settings.SURVEX_DATA, self.begin_file)
fin = open(f)
res = fin.read()
fin = open(f, "rb")
res = fin.read().decode("latin1")
fin.close()
return res
@@ -43,4 +50,5 @@ class PersonRole(models.Model):
class Role(models.Model):
name = models.CharField(max_length=50)
def __unicode__(self):
return unicode(self.name)
return unicode(self.name)

View File

@@ -6,6 +6,7 @@ import re
register = template.Library()
# seems to add extra lines between the commented lines, which isn't so great.
regexes = []
regexes.append((re.compile(r"(;.*)$", re.IGNORECASE|re.MULTILINE),
r'<span class = "comment">\1</span>\n'))

View File

@@ -1,5 +1,6 @@
from django.shortcuts import render_to_response
from troggle.expo.models import Cave, CaveAndEntrance, Survey, Expedition
import troggle.expo.models as models
import troggle.settings as settings
from troggle.expo.forms import CaveForm
import search
@@ -20,6 +21,11 @@ def ent(request, cave_id, ent_letter):
'entrance': cave_and_ent.entrance,
'letter': cave_and_ent.entrance_letter,
'settings': settings})
def survexblock(request, survexpath):
survexblock = models.SurvexBlock.objects.get(survexpath=survexpath)
#ftext = survexblock.filecontents()
ftext = survexblock.text
return render_to_response('survexblock.html', {'survexblock':survexblock, 'ftext':ftext, 'settings':settings })
def caveSearch(request):
query_string = ''
@@ -54,4 +60,5 @@ def survey(request,year,wallet_number):
dictToPass=locals()
dictToPass.update({'settings':settings})
return render_to_response('survey.html',dictToPass)
return render_to_response('survey.html',dictToPass)

View File

@@ -1,7 +1,10 @@
from django.shortcuts import render_to_response
from troggle.expo.models import Expedition, Person, PersonExpedition, PersonTrip, LogbookEntry
import troggle.settings as settings
from troggle.parsers.logbooks import LoadLogbookForExpedition
from troggle.parsers.people import GetPersonExpeditionNameLookup
import search
import re
@@ -17,7 +20,7 @@ def expedition(request, expeditionname):
message = "No message"
if "reload" in request.GET:
message = LoadLogbookForExpedition(expedition)
#message = str(GetPersonExpeditionNameLookup(expedition).keys())
logbookentries = expedition.logbookentry_set.order_by('date')
return render_to_response('expedition.html', {'expedition': expedition, 'expedition_next':expedition_next, 'expedition_prev':expedition_prev, 'logbookentries':logbookentries, 'message':message, 'settings': settings})

View File

@@ -5,6 +5,7 @@ from django import forms
from django.db.models import Q
from troggle.parsers.people import LoadPersonsExpos
import re
from troggle.parsers.survex import LoadAllSurvexBlocks
import randSent
from django.core.urlresolvers import reverse
@@ -19,9 +20,13 @@ def stats(request):
def frontPage(request):
message = "no test message" #reverse('personn', kwargs={"name":"hkjhjh"})
if "reload" in request.GET:
if "reloadexpos" in request.GET:
message = LoadPersonsExpos()
message = "Reloaded personexpos"
if "reloadsurvex" in request.GET:
message = LoadAllSurvexBlocks()
message = "Reloaded survexblocks"
#'randSent':randSent.randomLogbookSentence(),
expeditions = Expedition.objects.all()
return render_to_response('index.html', {'expeditions':expeditions, 'settings':settings, "message":message})

View File

@@ -41,4 +41,4 @@ def process(survex_file):
cwd = os.getcwd()
os.chdir(os.path.split(settings.SURVEX_DATA + survex_file)[0])
os.system(settings.CAVERN + " --log " +settings.SURVEX_DATA + survex_file + ".svx")
os.chdir(cwd)
os.chdir(cwd)