forked from expo/troggle
tunnelpath to dwgpath
This commit is contained in:
parent
37403a7234
commit
dc840c9bc7
@ -200,7 +200,7 @@ class SingleScan(models.Model):
|
|||||||
return "Survey Scan Image: " + str(self.name) + " in " + str(self.scansfolder)
|
return "Survey Scan Image: " + str(self.name) + " in " + str(self.scansfolder)
|
||||||
|
|
||||||
class DrawingFile(models.Model):
|
class DrawingFile(models.Model):
|
||||||
tunnelpath = models.CharField(max_length=200)
|
dwgpath = models.CharField(max_length=200)
|
||||||
tunnelname = models.CharField(max_length=200)
|
tunnelname = models.CharField(max_length=200)
|
||||||
bfontcolours = models.BooleanField(default=False) # UNUSED now, can be deleted
|
bfontcolours = models.BooleanField(default=False) # UNUSED now, can be deleted
|
||||||
manyscansfolders = models.ManyToManyField("ScansFolder") # implicitly links via folders to scans to SVX files
|
manyscansfolders = models.ManyToManyField("ScansFolder") # implicitly links via folders to scans to SVX files
|
||||||
@ -211,4 +211,4 @@ class DrawingFile(models.Model):
|
|||||||
survexfiles = models.ManyToManyField("SurvexFile") # direct link to SVX files - not populated yet
|
survexfiles = models.ManyToManyField("SurvexFile") # direct link to SVX files - not populated yet
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
ordering = ('tunnelpath',)
|
ordering = ('dwgpath',)
|
@ -59,12 +59,12 @@ def dwgfilesingle(request, path):
|
|||||||
but it might be a Therion file
|
but it might be a Therion file
|
||||||
'''
|
'''
|
||||||
try:
|
try:
|
||||||
dwgfile = DrawingFile.objects.get(tunnelpath=urlunquote(path))
|
dwgfile = DrawingFile.objects.get(dwgpath=urlunquote(path))
|
||||||
except:
|
except:
|
||||||
message = f'Drawing file error or not found \'{path}\' .'
|
message = f'Drawing file error or not found \'{path}\' .'
|
||||||
return render(request, 'errors/generic.html', {'message': message})
|
return render(request, 'errors/generic.html', {'message': message})
|
||||||
|
|
||||||
tfile = Path(settings.TUNNEL_DATA, dwgfile.tunnelpath)
|
tfile = Path(settings.TUNNEL_DATA, dwgfile.dwgpath)
|
||||||
try: # for display not download
|
try: # for display not download
|
||||||
return HttpResponse(content=open(tfile, errors='strict'), content_type="text/xhtml")
|
return HttpResponse(content=open(tfile, errors='strict'), content_type="text/xhtml")
|
||||||
except UnicodeDecodeError:
|
except UnicodeDecodeError:
|
||||||
@ -82,11 +82,11 @@ def dwgfileupload(request, path):
|
|||||||
'''uploads a drawing file, but where is the Form? This just processes POST info. Apparently unfinished?
|
'''uploads a drawing file, but where is the Form? This just processes POST info. Apparently unfinished?
|
||||||
'''
|
'''
|
||||||
try:
|
try:
|
||||||
dwgfile = DrawingFile.objects.get(tunnelpath=urlunquote(path)) # need to check if inavlid query string and produce friendly error
|
dwgfile = DrawingFile.objects.get(dwgpath=urlunquote(path)) # need to check if inavlid query string and produce friendly error
|
||||||
except:
|
except:
|
||||||
message = f'Drawing file error or not found \'{path}\' .'
|
message = f'Drawing file error or not found \'{path}\' .'
|
||||||
return render(request, 'errors/generic.html', {'message': message})
|
return render(request, 'errors/generic.html', {'message': message})
|
||||||
tfile = Path(settings.TUNNEL_DATA, dwgfile.tunnelpath)
|
tfile = Path(settings.TUNNEL_DATA, dwgfile.dwgpath)
|
||||||
|
|
||||||
project, user, password, tunnelversion = request.POST["tunnelproject"], request.POST["tunneluser"], request.POST["tunnelpassword"], request.POST["tunnelversion"]
|
project, user, password, tunnelversion = request.POST["tunnelproject"], request.POST["tunneluser"], request.POST["tunnelpassword"], request.POST["tunnelversion"]
|
||||||
print(project, user, tunnelversion)
|
print(project, user, tunnelversion)
|
||||||
|
@ -61,7 +61,7 @@ def set_dummy_entrance(id, slug, cave, msg="DUMMY"):
|
|||||||
letter = ""
|
letter = ""
|
||||||
entrances_xslug[slug] = entrance
|
entrances_xslug[slug] = entrance
|
||||||
ce = CaveAndEntrance.objects.update_or_create(cave = cave, entrance_letter = "", entrance = entrance)
|
ce = CaveAndEntrance.objects.update_or_create(cave = cave, entrance_letter = "", entrance = entrance)
|
||||||
message = f' ! Entrance Dummy setting WORKED, slug:"{slug}" cave id:"{id}" '
|
message = f' ! Warning: Dummy Entrance created for {id}, slug:"{slug}" '
|
||||||
DataIssue.objects.create(parser='caves', message=message, url=f'/cave/{slug}')
|
DataIssue.objects.create(parser='caves', message=message, url=f'/cave/{slug}')
|
||||||
print(message)
|
print(message)
|
||||||
except:
|
except:
|
||||||
|
@ -130,7 +130,7 @@ def find_tunnel_scan(dwgfile, path):
|
|||||||
if len(scansfolderl):
|
if len(scansfolderl):
|
||||||
scansfolder = scansfolderl[0]
|
scansfolder = scansfolderl[0]
|
||||||
if len(scansfolderl) > 1:
|
if len(scansfolderl) > 1:
|
||||||
message = "! More than one scan FOLDER matches filter query. [{}]: {} {} {} {}".format(scansfilel[0], mscansdir.group(1), mscansdir.group(2), dwgfile.tunnelpath, path)
|
message = "! More than one scan FOLDER matches filter query. [{}]: {} {} {} {}".format(scansfilel[0], mscansdir.group(1), mscansdir.group(2), dwgfile.dwgpath, path)
|
||||||
print(message)
|
print(message)
|
||||||
DataIssue.objects.create(parser='Tunnel', message=message)
|
DataIssue.objects.create(parser='Tunnel', message=message)
|
||||||
|
|
||||||
@ -138,7 +138,7 @@ def find_tunnel_scan(dwgfile, path):
|
|||||||
scansfilel = scansfolder.singlescan_set.filter(name=mscansdir.group(2))
|
scansfilel = scansfolder.singlescan_set.filter(name=mscansdir.group(2))
|
||||||
if len(scansfilel):
|
if len(scansfilel):
|
||||||
if len(scansfilel) > 1:
|
if len(scansfilel) > 1:
|
||||||
message = "! More than one image FILENAME matches filter query. [{}]: {} {} {} {}".format(scansfilel[0], mscansdir.group(1), mscansdir.group(2), dwgfile.tunnelpath, path)
|
message = "! More than one image FILENAME matches filter query. [{}]: {} {} {} {}".format(scansfilel[0], mscansdir.group(1), mscansdir.group(2), dwgfile.dwgpath, path)
|
||||||
print(message)
|
print(message)
|
||||||
DataIssue.objects.create(parser='Tunnel', message=message)
|
DataIssue.objects.create(parser='Tunnel', message=message)
|
||||||
scansfile = scansfilel[0]
|
scansfile = scansfilel[0]
|
||||||
@ -179,7 +179,7 @@ def settherionfileinfo(filetuple):
|
|||||||
'''
|
'''
|
||||||
thtype, therionfile = filetuple
|
thtype, therionfile = filetuple
|
||||||
|
|
||||||
ff = os.path.join(settings.TUNNEL_DATA, therionfile.tunnelpath)
|
ff = os.path.join(settings.TUNNEL_DATA, therionfile.dwgpath)
|
||||||
therionfile.filesize = os.stat(ff)[stat.ST_SIZE]
|
therionfile.filesize = os.stat(ff)[stat.ST_SIZE]
|
||||||
if therionfile.filesize <= 0:
|
if therionfile.filesize <= 0:
|
||||||
message = "! Zero length therion file {}".format(ff)
|
message = "! Zero length therion file {}".format(ff)
|
||||||
@ -206,7 +206,7 @@ def settherionfileinfo(filetuple):
|
|||||||
# scrap blownout -projection plan -scale [-81.0 -42.0 216.0 -42.0 0.0 0.0 7.5438 0.0 m]
|
# scrap blownout -projection plan -scale [-81.0 -42.0 216.0 -42.0 0.0 0.0 7.5438 0.0 m]
|
||||||
|
|
||||||
for xth_me in rx_xth_me.findall(ttext):
|
for xth_me in rx_xth_me.findall(ttext):
|
||||||
message = f'! Un-parsed image filename: {therionfile.tunnelname} : {xth_me.split()[-3]} - {therionfile.tunnelpath}'
|
message = f'! Un-parsed image filename: {therionfile.tunnelname} : {xth_me.split()[-3]} - {therionfile.dwgpath}'
|
||||||
#print(message)
|
#print(message)
|
||||||
DataIssue.objects.create(parser='Therion', message=message)
|
DataIssue.objects.create(parser='Therion', message=message)
|
||||||
findimageinsert(therionfile, xth_me)
|
findimageinsert(therionfile, xth_me)
|
||||||
@ -214,7 +214,7 @@ def settherionfileinfo(filetuple):
|
|||||||
for inp in rx_input.findall(ttext):
|
for inp in rx_input.findall(ttext):
|
||||||
# if this 'input' is a .th2 file we have already seen, then we can assign this as a sub-file
|
# if this 'input' is a .th2 file we have already seen, then we can assign this as a sub-file
|
||||||
# but we would need to disentangle to get the current path properly
|
# but we would need to disentangle to get the current path properly
|
||||||
message = f'! Un-set Therion .th2 input: - {therionfile.tunnelname} : {inp} - {therionfile.tunnelpath}'
|
message = f'! Un-set Therion .th2 input: - {therionfile.tunnelname} : {inp} - {therionfile.dwgpath}'
|
||||||
#print(message)
|
#print(message)
|
||||||
DataIssue.objects.create(parser='Therion', message=message)
|
DataIssue.objects.create(parser='Therion', message=message)
|
||||||
findimportinsert(therionfile, inp)
|
findimportinsert(therionfile, inp)
|
||||||
@ -229,7 +229,7 @@ def setdwgfileinfo(dwgfile):
|
|||||||
Should try to read the date too e.g. tunneldate="2010-08-16 22:51:57
|
Should try to read the date too e.g. tunneldate="2010-08-16 22:51:57
|
||||||
then we could display on the master calendar per expo.
|
then we could display on the master calendar per expo.
|
||||||
'''
|
'''
|
||||||
ff = os.path.join(settings.TUNNEL_DATA, dwgfile.tunnelpath)
|
ff = os.path.join(settings.TUNNEL_DATA, dwgfile.dwgpath)
|
||||||
dwgfile.filesize = os.stat(ff)[stat.ST_SIZE]
|
dwgfile.filesize = os.stat(ff)[stat.ST_SIZE]
|
||||||
if dwgfile.filesize <= 0:
|
if dwgfile.filesize <= 0:
|
||||||
message = "! Zero length xml file {}".format(ff)
|
message = "! Zero length xml file {}".format(ff)
|
||||||
@ -278,17 +278,17 @@ def load_drawings_files():
|
|||||||
drawingsdirs.append(lf) # lunatic! adding to list in middle of list while loop!
|
drawingsdirs.append(lf) # lunatic! adding to list in middle of list while loop!
|
||||||
elif f[-4:] == ".xml":
|
elif f[-4:] == ".xml":
|
||||||
# Always creates new
|
# Always creates new
|
||||||
dwgfile = DrawingFile(tunnelpath=lf, tunnelname=os.path.split(f[:-4])[1])
|
dwgfile = DrawingFile(dwgpath=lf, tunnelname=os.path.split(f[:-4])[1])
|
||||||
dwgfile.save()
|
dwgfile.save()
|
||||||
all_xml.append(('xml',dwgfile))
|
all_xml.append(('xml',dwgfile))
|
||||||
elif f[-3:] == ".th":
|
elif f[-3:] == ".th":
|
||||||
# Always creates new
|
# Always creates new
|
||||||
dwgfile = DrawingFile(tunnelpath=lf, tunnelname=os.path.split(f[:-4])[1])
|
dwgfile = DrawingFile(dwgpath=lf, tunnelname=os.path.split(f[:-4])[1])
|
||||||
dwgfile.save()
|
dwgfile.save()
|
||||||
all_xml.append(('th',dwgfile))
|
all_xml.append(('th',dwgfile))
|
||||||
elif f[-4:] == ".th2":
|
elif f[-4:] == ".th2":
|
||||||
# Always creates new
|
# Always creates new
|
||||||
dwgfile = DrawingFile(tunnelpath=lf, tunnelname=os.path.split(f[:-4])[1])
|
dwgfile = DrawingFile(dwgpath=lf, tunnelname=os.path.split(f[:-4])[1])
|
||||||
dwgfile.save()
|
dwgfile.save()
|
||||||
all_xml.append(('th2',dwgfile))
|
all_xml.append(('th2',dwgfile))
|
||||||
|
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
{% for dwgfile in dwgfiles %}
|
{% for dwgfile in dwgfiles %}
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="{% url "dwgfilesingle" dwgfile.tunnelpath %}">{{dwgfile.tunnelpath}}</a></td>
|
<td><a href="{% url "dwgfilesingle" dwgfile.dwgpath %}">{{dwgfile.dwgpath}}</a></td>
|
||||||
<td align="right" style="padding:2px">{{dwgfile.filesize}}</td>
|
<td align="right" style="padding:2px">{{dwgfile.filesize}}</td>
|
||||||
<td align="right" style="padding:2px">{{dwgfile.npaths}}</td>
|
<td align="right" style="padding:2px">{{dwgfile.npaths}}</td>
|
||||||
|
|
||||||
@ -30,7 +30,7 @@
|
|||||||
|
|
||||||
<td style="padding:2px">
|
<td style="padding:2px">
|
||||||
{% for rdwgfile in dwgfile.tunnelcontains.all %}
|
{% for rdwgfile in dwgfile.tunnelcontains.all %}
|
||||||
<a href="{% url "dwgfilesingle" rdwgfile.tunnelpath %}">{{rdwgfile.tunnelpath}}</a>
|
<a href="{% url "dwgfilesingle" rdwgfile.dwgpath %}">{{rdwgfile.dwgpath}}</a>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
Loading…
Reference in New Issue
Block a user