2
0
mirror of https://expo.survex.com/repositories/troggle/.git synced 2025-12-15 12:27:05 +00:00

Start to change dataformat for caves, along with there editing. Start to change survex reader to cope better with equates/tags.

This commit is contained in:
Martin Green
2012-06-10 14:59:21 +01:00
parent 52620ea1c5
commit 9024520184
16 changed files with 388 additions and 136 deletions

View File

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