mirror of
https://expo.survex.com/repositories/troggle/.git
synced 2024-11-22 07:11:52 +00:00
obscure bug fixed for lines ;*include
This commit is contained in:
parent
9a461c31a8
commit
93622b111f
@ -20,7 +20,7 @@ class SurvexDirectory(models.Model):
|
||||
verbose_name_plural = "Survex directories"
|
||||
|
||||
def __str__(self):
|
||||
return "[SurvexDirectory:"+str(self.path) + "-" + str(self.primarysurvexfile.path) + "-" + str(self.cave)+"]"
|
||||
return "[SurvexDirectory:"+str(self.path) + " | Primary svx:" + str(self.primarysurvexfile.path) +".svx ]"
|
||||
|
||||
|
||||
class SurvexFile(models.Model):
|
||||
|
@ -130,8 +130,8 @@ class LoadingSurvex():
|
||||
|
||||
rx_cave = re.compile(r'(?i)caves-(\d\d\d\d)/([-\d\w]+|\d\d\d\d-?\w+-\d+)')
|
||||
rx_comment = re.compile(r'([^;]*?)\s*(?:;\s*(.*))?\n?$')
|
||||
rx_comminc = re.compile(r'(?i)^\*include[\s]*([-\w/]*).*$') # inserted by linear collate ;*include
|
||||
rx_commcni = re.compile(r'(?i)^\*edulcni[\s]*([-\w/]*).*$') # inserted by linear collate ;*edulcni
|
||||
rx_comminc = re.compile(r'(?i)^\|\*include[\s]*([-\w/]*).*$') # inserted by linear collate ;*include
|
||||
rx_commcni = re.compile(r'(?i)^\|\*edulcni[\s]*([-\w/]*).*$') # inserted by linear collate ;*edulcni
|
||||
rx_include = re.compile(r'(?i)^\s*(\*include[\s].*)$')
|
||||
rx_commref = re.compile(r'(?i)^\s*ref(?:erence)?[\s.:]*(\d+)\s*#\s*(X)?\s*(\d+)')
|
||||
rx_wallet = re.compile(r'(?i)^\s*wallet[\s.:]*(\d+)\s*#\s*(X)?\s*(\d+)')
|
||||
@ -177,7 +177,7 @@ class LoadingSurvex():
|
||||
callcount = 0
|
||||
caverncount = 0
|
||||
ignoreprefix = ["surface", "kataster", "fixedpts", "gpx"]
|
||||
ignorenoncave = ["caves-1623", "caves-1623/2007-neu"]
|
||||
ignorenoncave = ["caves-1623", "caves-1626", "caves-1623/2007-neu"]
|
||||
includedfilename =""
|
||||
currentsurvexblock = None
|
||||
currentsurvexfile = None
|
||||
@ -689,9 +689,7 @@ class LoadingSurvex():
|
||||
def IdentifyCave(self, cavepath):
|
||||
if cavepath.lower() in self.caveslist:
|
||||
return self.caveslist[cavepath.lower()]
|
||||
# TO DO - some of this is already done in generating self.caveslist so simplify this
|
||||
# esp. as it is in a loop.
|
||||
# TO DO recognise cave if different name, e.g. gruenstein == 281
|
||||
# TO DO - this predates the big revision to Gcavelookup so look at this again carefully
|
||||
path_match = self.rx_cave.search(cavepath)
|
||||
if path_match:
|
||||
sluggy = '{}-{}'.format(path_match.group(1), path_match.group(2))
|
||||
@ -724,17 +722,17 @@ class LoadingSurvex():
|
||||
"""Ignore surface, kataser and gpx *include survex files
|
||||
"""
|
||||
if headpath in self.ignorenoncave:
|
||||
#message = f" - {headpath} is <ignorenoncave> (while creating '{includelabel}' sfile & sdirectory)"
|
||||
message = f" - {headpath} is <ignorenoncave> (while creating '{includelabel}' sfile & sdirectory)"
|
||||
#print("\n"+message)
|
||||
#print("\n"+message,file=sys.stderr)
|
||||
return
|
||||
for i in self.ignoreprefix:
|
||||
if headpath.startswith(i):
|
||||
message = f" - {headpath} starts with <ignoreprefix> (while creating '{includelabel}' sfile & sdirectory)"
|
||||
#print("\n"+message)
|
||||
#print("\n"+message,file=sys.stderr)
|
||||
# print("\n"+message)
|
||||
# print("\n"+message,file=sys.stderr)
|
||||
return
|
||||
message = f" ! Error: FAILURE '{headpath}' while creating '{includelabel}' at depth:[{depth}]. Not a cave or in the ignore list:'{self.ignoreprefix}'"
|
||||
message = f" ! Error: not a cave nor ignorable. headpath:'{headpath}' while creating '{includelabel=}' at depth:[{len(depth)}]. ignore prefix list:'{self.ignoreprefix}'"
|
||||
# getting this triggered for gpx/2018 (cavern error) but not for gpx/2017 (no content).
|
||||
print("\n"+message)
|
||||
print("\n"+message,file=sys.stderr)
|
||||
@ -779,7 +777,7 @@ class LoadingSurvex():
|
||||
if cave:
|
||||
newdirectory.cave = cave
|
||||
newfile.cave = cave
|
||||
# print(f"\n - New directory {newdirectory} for cave {newdirectory.cave}",file=sys.stderr)
|
||||
# print(f"\n - New directory '{newdirectory}' for cave '{cave}'",file=sys.stderr)
|
||||
else: # probably a surface survey, or a cave in a new area e.g. 1624 not previously managed, and not in the pending list
|
||||
self.ReportNonCaveIncludes(headpath, svxid, depth)
|
||||
|
||||
@ -861,6 +859,7 @@ class LoadingSurvex():
|
||||
|
||||
included = self.rx_comminc.match(comment)
|
||||
# ;*include means 'we have been included'; whereas *include means 'proceed to include'
|
||||
# bug, If the original survex file contians the line ;*include then we pick it up ! So fix our special code to be ;|*include
|
||||
if included:
|
||||
self.ProcessIncludeLine(included)
|
||||
|
||||
@ -1210,7 +1209,7 @@ class LoadingSurvex():
|
||||
#--------------------------------------------------------
|
||||
self.depthinclude += 1
|
||||
fininclude = open(fullpath,'r')
|
||||
fcollate.write(";*include {}\n".format(includepath))
|
||||
fcollate.write(";|*include {}\n".format(includepath))
|
||||
flinear.write("{:2} {} *include {}\n".format(self.depthinclude, indent, includepath))
|
||||
push = includepath.lower()
|
||||
self.includestack.append(push)
|
||||
@ -1225,7 +1224,7 @@ class LoadingSurvex():
|
||||
print(message,file=sys.stderr)
|
||||
DataIssue.objects.create(parser='survex', message=message, url=get_offending_filename(path))
|
||||
flinear.write("{:2} {} *edulcni {}\n".format(self.depthinclude, indent, pop))
|
||||
fcollate.write(";*edulcni {}\n".format(pop))
|
||||
fcollate.write(";|*edulcni {}\n".format(pop))
|
||||
fininclude.close()
|
||||
self.depthinclude -= 1
|
||||
#--------------------------------------------------------
|
||||
|
Loading…
Reference in New Issue
Block a user