mirror of
https://expo.survex.com/repositories/troggle/.git
synced 2024-11-22 07:11:52 +00:00
SurvexDirectory removed from active code
This commit is contained in:
parent
1ddb8248df
commit
69340db438
@ -8,7 +8,6 @@ from troggle.core.models.survex import (
|
||||
DrawingFile,
|
||||
SingleScan,
|
||||
SurvexBlock,
|
||||
SurvexDirectory,
|
||||
SurvexFile,
|
||||
SurvexPersonRole,
|
||||
SurvexStation,
|
||||
@ -120,11 +119,11 @@ class SurvexFileAdmin(TroggleModelAdmin):
|
||||
search_fields = ("path",)
|
||||
|
||||
|
||||
class SurvexDirectoryAdmin(TroggleModelAdmin):
|
||||
search_fields = (
|
||||
"path",
|
||||
"survexdirectory",
|
||||
)
|
||||
# class SurvexDirectoryAdmin(TroggleModelAdmin):
|
||||
# search_fields = (
|
||||
# "path",
|
||||
# "survexdirectory",
|
||||
# )
|
||||
|
||||
|
||||
class DrawingFileAdmin(TroggleModelAdmin):
|
||||
@ -145,7 +144,7 @@ admin.site.register(DrawingFile, DrawingFileAdmin)
|
||||
admin.site.register(Expedition)
|
||||
admin.site.register(Person, PersonAdmin)
|
||||
admin.site.register(SurvexPersonRole)
|
||||
admin.site.register(SurvexDirectory, SurvexDirectoryAdmin)
|
||||
#admin.site.register(SurvexDirectory, SurvexDirectoryAdmin)
|
||||
admin.site.register(SurvexFile, SurvexFileAdmin)
|
||||
admin.site.register(SurvexStation, SurvexStationAdmin)
|
||||
admin.site.register(PersonExpedition, PersonExpeditionAdmin)
|
||||
|
@ -11,33 +11,33 @@ from django.urls import reverse
|
||||
# from troggle.core.models.troggle import DataIssue # circular import. Hmm
|
||||
|
||||
|
||||
class SurvexDirectory(models.Model):
|
||||
"""This relates a survexfile (identified by path) to the primary SurvexFile
|
||||
which is the 'head' of the survex tree for that cave.
|
||||
Surely this could just be a property of Cave ? No. Several subdirectories
|
||||
all relate to the same Cave.
|
||||
# class SurvexDirectory(models.Model):
|
||||
# """This relates a survexfile (identified by path) to the primary SurvexFile
|
||||
# which is the 'head' of the survex tree for that cave.
|
||||
# Surely this could just be a property of Cave ? No. Several subdirectories
|
||||
# all relate to the same Cave.
|
||||
|
||||
But it *could* be a property of SurvexFile
|
||||
"""
|
||||
path = models.CharField(max_length=200)
|
||||
primarysurvexfile = models.ForeignKey(
|
||||
"SurvexFile", related_name="primarysurvexfile", blank=True, null=True, on_delete=models.SET_NULL
|
||||
)
|
||||
# But it *could* be a property of SurvexFile
|
||||
# """
|
||||
# path = models.CharField(max_length=200)
|
||||
# primarysurvexfile = models.ForeignKey(
|
||||
# "SurvexFile", related_name="primarysurvexfile", blank=True, null=True, on_delete=models.SET_NULL
|
||||
# )
|
||||
|
||||
class Meta:
|
||||
ordering = ("id",)
|
||||
verbose_name_plural = "Survex directories"
|
||||
# class Meta:
|
||||
# ordering = ("id",)
|
||||
# verbose_name_plural = "Survex directories"
|
||||
|
||||
def contents(self):
|
||||
return "[SvxDir:" + str(self.path) + " | Primary svx:" + str(self.primarysurvexfile.path) + ".svx ]"
|
||||
# def contents(self):
|
||||
# return "[SvxDir:" + str(self.path) + " | Primary svx:" + str(self.primarysurvexfile.path) + ".svx ]"
|
||||
|
||||
def __str__(self):
|
||||
return "[SvxDir:" + str(self.path)+ "]"
|
||||
# def __str__(self):
|
||||
# return "[SvxDir:" + str(self.path)+ "]"
|
||||
|
||||
|
||||
class SurvexFile(models.Model):
|
||||
path = models.CharField(max_length=200)
|
||||
survexdirectory = models.ForeignKey("SurvexDirectory", blank=True, null=True, on_delete=models.SET_NULL)
|
||||
#survexdirectory = models.ForeignKey("SurvexDirectory", blank=True, null=True, on_delete=models.SET_NULL)
|
||||
primary = models.ForeignKey(
|
||||
"SurvexFile", related_name="primarysurvex", blank=True, null=True, on_delete=models.SET_NULL
|
||||
)
|
||||
@ -56,18 +56,18 @@ class SurvexFile(models.Model):
|
||||
fname = Path(settings.SURVEX_DATA, self.path + ".svx")
|
||||
return fname.is_file()
|
||||
|
||||
def SetDirectory(self):
|
||||
dirpath = os.path.split(self.path)[0]
|
||||
# pointless search every time we import a survex file if we know there are no duplicates..
|
||||
# don't use this for initial import.
|
||||
survexdirectorylist = SurvexDirectory.objects.filter(cave=self.cave, path=dirpath)
|
||||
if survexdirectorylist:
|
||||
self.survexdirectory = survexdirectorylist[0]
|
||||
else:
|
||||
survexdirectory = SurvexDirectory(path=dirpath, cave=self.cave, primarysurvexfile=self)
|
||||
survexdirectory.save()
|
||||
self.survexdirectory = survexdirectory
|
||||
self.save()
|
||||
# def SetDirectory(self):
|
||||
# dirpath = os.path.split(self.path)[0]
|
||||
# # pointless search every time we import a survex file if we know there are no duplicates..
|
||||
# # don't use this for initial import.
|
||||
# survexdirectorylist = SurvexDirectory.objects.filter(cave=self.cave, path=dirpath)
|
||||
# if survexdirectorylist:
|
||||
# self.survexdirectory = survexdirectorylist[0]
|
||||
# else:
|
||||
# survexdirectory = SurvexDirectory(path=dirpath, cave=self.cave, primarysurvexfile=self)
|
||||
# survexdirectory.save()
|
||||
# self.survexdirectory = survexdirectory
|
||||
# self.save()
|
||||
|
||||
# Don't change from the default as that breaks troggle webpages and internal referencing!
|
||||
# def __str__(self):
|
||||
|
@ -18,7 +18,7 @@ from django.views.decorators.csrf import ensure_csrf_cookie
|
||||
import troggle.settings as settings
|
||||
from troggle.core.models.logbooks import LogbookEntry
|
||||
from troggle.core.models.caves import Cave, GetCaveLookup
|
||||
from troggle.core.models.survex import SurvexFile, SurvexBlock, SurvexDirectory
|
||||
from troggle.core.models.survex import SurvexFile, SurvexBlock #, SurvexDirectory
|
||||
from troggle.core.models.wallets import Wallet
|
||||
from troggle.core.utils import only_commit
|
||||
from troggle.parsers.survex import parse_one_file
|
||||
@ -654,27 +654,19 @@ def survexdir(request):
|
||||
as the info it holds is always embedded in the survexFile path directories
|
||||
"""
|
||||
|
||||
sds = SurvexDirectory.objects.all() #.order_by("cave")
|
||||
for sd in sds:
|
||||
sd.matchbad = True
|
||||
if f"{sd.primarysurvexfile}".startswith(str(sd.path)):
|
||||
sd.matchbad = False
|
||||
# sds = SurvexDirectory.objects.all() #.order_by("cave")
|
||||
sds ={}
|
||||
# for sd in sds:
|
||||
# sd.matchbad = True
|
||||
# if f"{sd.primarysurvexfile}".startswith(str(sd.path)):
|
||||
# sd.matchbad = False
|
||||
|
||||
sd.pathbad = True
|
||||
if Path(settings.SURVEX_DATA, f"{sd.primarysurvexfile}.svx").is_file():
|
||||
sd.pathbad = False
|
||||
# sd.pathbad = True
|
||||
# if Path(settings.SURVEX_DATA, f"{sd.primarysurvexfile}.svx").is_file():
|
||||
# sd.pathbad = False
|
||||
|
||||
survexfiles = SurvexFile.objects.all().order_by("cave")
|
||||
for f in survexfiles:
|
||||
if f.survexdirectory:
|
||||
f.matchbad = True
|
||||
if f"{f.path}".startswith(str(f.survexdirectory.path)):
|
||||
f.matchbad = False
|
||||
f.primarybad = True
|
||||
if f.primary:
|
||||
f.pathparent = Path(f.primary.path).parent
|
||||
if str(f.survexdirectory.path) == str(f.pathparent):
|
||||
f.primarybad = False
|
||||
f.pathbad = True
|
||||
if Path(settings.SURVEX_DATA, f"{f.path}.svx").is_file():
|
||||
f.pathbad = False
|
||||
|
@ -163,7 +163,7 @@ def get_complaints(complaints, waldata, svxfiles, files, wallet, wurl):
|
||||
# can happen if connecting a wallet to a survex file.. i think..
|
||||
QSsvxfiles = SurvexFile.objects.filter(path=sxpath)
|
||||
for s in QSsvxfiles:
|
||||
print(s.path, s.cave, s.survexdirectory)
|
||||
print(s.path, s.cave, s.primary)
|
||||
# QSsvxfiles[0] # dont' know how this happened, fix later..
|
||||
except:
|
||||
file_complaint = (
|
||||
|
@ -11,7 +11,7 @@ from pathlib import Path
|
||||
import troggle.settings as settings
|
||||
from troggle.core.models.caves import Cave, Entrance
|
||||
from troggle.core.models.logbooks import QM
|
||||
from troggle.core.models.survex import SurvexBlock, SurvexDirectory, SurvexFile, SurvexPersonRole, SurvexStation
|
||||
from troggle.core.models.survex import SurvexBlock, SurvexFile, SurvexPersonRole, SurvexStation
|
||||
from troggle.core.models.wallets import Wallet
|
||||
from troggle.core.models.troggle import DataIssue, Expedition
|
||||
from troggle.core.utils import chaosmonkey, get_process_memory
|
||||
|
@ -10,7 +10,7 @@ from pathlib import Path
|
||||
import troggle.settings as settings
|
||||
from troggle.core.models.caves import Cave, Entrance, GetCaveLookup
|
||||
from troggle.core.models.logbooks import QM
|
||||
from troggle.core.models.survex import SurvexBlock, SurvexDirectory, SurvexFile, SurvexPersonRole, SurvexStation
|
||||
from troggle.core.models.survex import SurvexBlock, SurvexFile, SurvexPersonRole, SurvexStation
|
||||
from troggle.core.models.wallets import Wallet
|
||||
from troggle.core.models.troggle import DataIssue, Expedition
|
||||
from troggle.core.utils import chaosmonkey, get_process_memory
|
||||
@ -2137,7 +2137,8 @@ def FindAndLoadSurvex(survexblockroot):
|
||||
svx_scan = LoadingSurvex()
|
||||
svx_scan.callcount = 0
|
||||
svx_scan.depthinclude = 0
|
||||
fullpathtotop = os.path.join(survexfileroot.survexdirectory.path, survexfileroot.path)
|
||||
#fullpathtotop = os.path.join(survexfileroot.survexdirectory.path, survexfileroot.path)
|
||||
fullpathtotop = str(Path(survexfileroot.path).parent / survexfileroot.path)
|
||||
|
||||
print(f" - RunSurvexIfNeeded cavern on '{fullpathtotop}'", file=sys.stderr)
|
||||
svx_scan.RunSurvexIfNeeded(fullpathtotop, fullpathtotop)
|
||||
@ -2254,7 +2255,7 @@ def FindAndLoadSurvex(survexblockroot):
|
||||
omit_scan = LoadingSurvex()
|
||||
omit_scan.callcount = 0
|
||||
omit_scan.depthinclude = 0
|
||||
fullpathtotop = os.path.join(survexfileroot.survexdirectory.path, UNSEENS)
|
||||
fullpathtotop = str(Path(settings.SURVEX_DATA, UNSEENS))
|
||||
|
||||
# copy the list to prime the next pass through the files
|
||||
omit_scan.svxfileslist = svx_scan.svxfileslist[:]
|
||||
@ -2363,7 +2364,7 @@ def display_contents(blocks):
|
||||
for sf in sfs:
|
||||
print(f" SF {sf}")
|
||||
# print(f" SD {sf.survexdirectory} {sf.survexdirectory.cave}")
|
||||
print(f" SD {sf.survexdirectory} {sf.survexdirectory.path}")
|
||||
#print(f" SD {sf.survexdirectory} {sf.survexdirectory.path}")
|
||||
|
||||
ws = Wallet.objects.filter(survexblock=b)
|
||||
for w in ws:
|
||||
@ -2511,12 +2512,12 @@ def MakeSurvexFileRoot():
|
||||
|
||||
fileroot = SurvexFile(path=settings.SURVEX_TOPNAME, cave=None)
|
||||
fileroot.save()
|
||||
directoryroot = SurvexDirectory(path=settings.SURVEX_DATA, primarysurvexfile=fileroot)
|
||||
#directoryroot = SurvexDirectory(path=settings.SURVEX_DATA, primarysurvexfile=fileroot)
|
||||
# MariaDB doesn't like this hack. Complains about non-null cave_id EVEN THOUGH our model file says this is OK:
|
||||
# cave = models.ForeignKey('Cave', blank=True, null=True,on_delete=models.SET_NULL)
|
||||
directoryroot.save()
|
||||
fileroot.survexdirectory = directoryroot # i.e. SURVEX_DATA/SURVEX_TOPNAME
|
||||
fileroot.save() # mutually dependent objects need a double-save like this
|
||||
#directoryroot.save()
|
||||
#fileroot.survexdirectory = directoryroot # i.e. SURVEX_DATA/SURVEX_TOPNAME
|
||||
#fileroot.save() # mutually dependent objects need a double-save like this
|
||||
return fileroot
|
||||
|
||||
|
||||
@ -2532,10 +2533,10 @@ def MakeFileRoot(fn):
|
||||
print(f" - Making/finding a new root survexfile for this import: {fn}")
|
||||
|
||||
fileroot = SurvexFile(path=fn, cave=cave)
|
||||
try:
|
||||
fileroot.survexdirectory = SurvexDirectory.objects.get(id=1) # default
|
||||
except:
|
||||
fileroot.survexdirectory = None
|
||||
# try:
|
||||
# fileroot.survexdirectory = SurvexDirectory.objects.get(id=1) # default
|
||||
# except:
|
||||
# fileroot.survexdirectory = None
|
||||
|
||||
|
||||
# if cave:
|
||||
@ -2566,7 +2567,6 @@ def LoadSurvexBlocks():
|
||||
# https://docs.djangoproject.com/en/dev/ref/models/fields/#django.db.models.ForeignKey.on_delete
|
||||
SurvexBlock.objects.all().delete()
|
||||
SurvexFile.objects.all().delete()
|
||||
SurvexDirectory.objects.all().delete()
|
||||
SurvexPersonRole.objects.all().delete()
|
||||
SurvexStation.objects.all().delete()
|
||||
mem1 = get_process_memory()
|
||||
|
@ -81,8 +81,8 @@ LOGMESSAGES
|
||||
{% endif %}
|
||||
</div>
|
||||
underground survey length: {{svxlength|floatformat:2}} metres<br />
|
||||
parent survex file <a href="/survexfile/{{ survexfile.cave.survex_file }}">{{survexfile.cave.survex_file}}</a> for this cave <br>
|
||||
survex directory <a href="/survexfile/{{survexfile.primary}}.svx">{{survexfile.primary}}</a> <br />
|
||||
cave primary survexfile <a href="/survexfile/{{ survexfile.cave.survex_file }}">{{survexfile.cave.survex_file}}</a> <br>
|
||||
directory primary survexfile <a href="/survexfile/{{survexfile.primary}}.svx">{{survexfile.primary}}</a> <br />
|
||||
{% for sb in svxblocks %}
|
||||
block <em>{{sb}}</em> has parent block <em>{{sb.parent}}</em><br />
|
||||
{% empty %}
|
||||
|
Loading…
Reference in New Issue
Block a user