From c66b5e2dadcc7a4b501b479c30f183c3bf81af42 Mon Sep 17 00:00:00 2001 From: goatchurch Date: Wed, 5 Aug 2009 11:58:36 +0100 Subject: [svn] latest hacking for various statistics --- core/models_survex.py | 32 ++++++++++++++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) (limited to 'core/models_survex.py') diff --git a/core/models_survex.py b/core/models_survex.py index 43617f5..ffb3d4d 100644 --- a/core/models_survex.py +++ b/core/models_survex.py @@ -46,6 +46,22 @@ class SurvexFile(models.Model): self.survexdirectory = survexdirectory self.save() +class SurvexEquate(models.Model): + cave = models.ForeignKey('Cave', blank=True, null=True) + +class SurvexStation(models.Model): + name = models.CharField(max_length=20) + block = models.ForeignKey('SurvexBlock') + equate = models.ForeignKey('SurvexEquate', blank=True, null=True) + +class SurvexLeg(models.Model): + block = models.ForeignKey('SurvexBlock') + #title = models.ForeignKey('SurvexTitle') + stationfrom = models.ForeignKey('SurvexStation', related_name='stationfrom') + stationto = models.ForeignKey('SurvexStation', related_name='stationto') + tape = models.FloatField() + compass = models.FloatField() + clino = models.FloatField() # # Single SurvexBlock # @@ -62,6 +78,7 @@ class SurvexBlock(models.Model): begin_char = models.IntegerField() # code for where in the survex data files this block sits survexpath = models.CharField(max_length=200) # the path for the survex stations refscandir = models.CharField(max_length=100) + totalleglength = models.FloatField() class Meta: ordering = ('id',) @@ -78,6 +95,17 @@ class SurvexBlock(models.Model): res.append({'person':personrole.personexpedition.person, 'expeditionyear':personrole.personexpedition.expedition.year, 'roles':str(personrole.role)}) return res + def MakeSurvexStation(self, name): + ssl = self.survexstation_set.filter(name=name) + if ssl: + assert len(ssl) == 1 + return ssl[0] + ss = SurvexStation(name=name, block=self) + ss.save() + return ss + + + class SurvexTitle(models.Model): survexblock = models.ForeignKey('SurvexBlock') title = models.CharField(max_length=200) @@ -87,7 +115,7 @@ class SurvexTitle(models.Model): # member of a SurvexBlock # class PersonRole(models.Model): - survex_block = models.ForeignKey('SurvexBlock') + survexblock = models.ForeignKey('SurvexBlock') ROLE_CHOICES = ( ('insts','Instruments'), @@ -109,6 +137,6 @@ class PersonRole(models.Model): persontrip = models.ForeignKey('PersonTrip', blank=True, null=True) def __unicode__(self): - return unicode(self.person) + " - " + unicode(self.survex_block) + " - " + unicode(self.nrole) + return unicode(self.person) + " - " + unicode(self.survexblock) + " - " + unicode(self.nrole) -- cgit v1.2.3