From 711fefb0da7b4a744c71f3d1648d3398c401f4fc Mon Sep 17 00:00:00 2001 From: Martin Green Date: Sun, 10 Jun 2012 14:59:21 +0100 Subject: Start to change dataformat for caves, along with there editing. Start to change survex reader to cope better with equates/tags. --- core/models_survex.py | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) (limited to 'core/models_survex.py') diff --git a/core/models_survex.py b/core/models_survex.py index 1bf75ef..b726d59 100644 --- a/core/models_survex.py +++ b/core/models_survex.py @@ -56,16 +56,27 @@ class SurvexStationLookUpManager(models.Manager): def lookup(self, name): blocknames, sep, stationname = name.rpartition(".") return self.get(block = SurvexBlock.objects.lookup(blocknames), - name = stationname) + name__iexact = stationname) class SurvexStation(models.Model): - name = models.CharField(max_length=20) + name = models.CharField(max_length=100) block = models.ForeignKey('SurvexBlock') equate = models.ForeignKey('SurvexEquate', blank=True, null=True) objects = SurvexStationLookUpManager() x = models.FloatField(blank=True, null=True) y = models.FloatField(blank=True, null=True) z = models.FloatField(blank=True, null=True) + + def path(self): + r = self.name + b = self.block + while True: + if b.name: + r = b.name + "." + r + if b.parent: + b = b.parent + else: + return r class SurvexLeg(models.Model): block = models.ForeignKey('SurvexBlock') @@ -85,7 +96,7 @@ class SurvexBlockLookUpManager(models.Manager): blocknames = name.split(".") block = SurvexBlock.objects.get(parent=None, survexfile__path="all") for blockname in blocknames: - block = SurvexBlock.objects.get(parent=block, name=blockname) + block = SurvexBlock.objects.get(parent=block, name__iexact=blockname) return block class SurvexBlock(models.Model): @@ -131,6 +142,7 @@ class SurvexBlock(models.Model): if ssl: assert len(ssl) == 1 return ssl[0] + #print name ss = SurvexStation(name=name, block=self) ss.save() return ss -- cgit v1.2.3