mirror of
https://expo.survex.com/repositories/troggle/.git
synced 2025-12-14 18:37:18 +00:00
fixing bugs after wookey session
This commit is contained in:
@@ -114,7 +114,7 @@ class LoadingSurvex():
|
||||
rx_names = re.compile(r'(?i)names')
|
||||
rx_flagsnot= re.compile(r"not\s")
|
||||
rx_linelen = re.compile(r"[\d\-+.]+$")
|
||||
instruments = "(waiting_patiently|slacker|Useless|nagging|unknown|Inst|instrument|rig|rigger|rigging|helper|something| compass|comp|clino|Notes|sketch|book|Tape|Dog|Pics|photo|drawing|Helper|GPS|Disto|Distox|Distox2|topodroid|point|Consultant|nail|polish|varnish|bitch|monkey|PowerDrill|drill)"
|
||||
instruments = "(waiting_patiently|slacker|Useless|nagging|unknown|Inst|instrument|rig|rigger|rigging|helper|something| compass|comp|clino|Notes|sketch|book|Tape|Dog|Pics|photo|drawing|Helper|GPS|Disto|Distox|Distox2|topodroid|point|Consultant|nail|polish|nail_polish_bitch|nail_polish_monkey|varnish|nail_polish|nail_varnish|bitch|monkey|PowerDrill|drill)"
|
||||
rx_teammem = re.compile(r"(?i)"+instruments+"?(?:es|s)?\s+(.*)"+instruments+"?(?:es|s)?$")
|
||||
rx_person = re.compile(r"(?i) and | / |, | & | \+ |^both$|^none$")
|
||||
rx_qm = re.compile(r'(?i)^\s*QM(\d)\s+?([a-dA-DxX])\s+([\w\-]+)\.(\d+)\s+(([\w\-]+)\.(\d+)|\-)\s+(.+)$')
|
||||
@@ -448,27 +448,27 @@ class LoadingSurvex():
|
||||
|
||||
def LoadSurvexRef(self, survexblock, args):
|
||||
#print(self.insp+ "*REF ---- '"+ args +"'")
|
||||
|
||||
url=f'/survexfile/{survexblock.survexfile.path}'
|
||||
# *REF but also ; Ref years from 1960 to 2039
|
||||
refline = self.rx_ref_text.match(args)
|
||||
if refline:
|
||||
# a textual reference such as "1996-1999 Not-KH survey book pp 92-95"
|
||||
# print(self.insp+ "*REF quoted text so ignored:"+ args)
|
||||
print(self.insp+ "*REF quoted text so ignored:"+ args)
|
||||
return
|
||||
|
||||
if len(args)< 4:
|
||||
message = " ! Empty or BAD *REF statement '{}' in '{}'".format(args, survexblock.survexfile.path)
|
||||
print((self.insp+message))
|
||||
DataIssue.objects.create(parser='survex', message=message)
|
||||
DataIssue.objects.create(parser='survex', message=message, url=url)
|
||||
return
|
||||
|
||||
argsgps = self.rx_argsref.match(args)
|
||||
if argsgps:
|
||||
yr, letterx, wallet = argsgps.groups()
|
||||
else:
|
||||
message = " ! BAD *REF statement '{}' in '{}'".format(args, survexblock.survexfile.path)
|
||||
message = " ! Wallet *REF '{}' in '{}' ".format(args, survexblock.survexfile.path)
|
||||
print(self.insp+message)
|
||||
DataIssue.objects.create(parser='survex', message=message)
|
||||
DataIssue.objects.create(parser='survex', message=message, url=url)
|
||||
return
|
||||
|
||||
if not letterx:
|
||||
@@ -480,31 +480,31 @@ class LoadingSurvex():
|
||||
if not (int(yr)>1960 and int(yr)<2039):
|
||||
message = " ! Wallet year out of bounds {yr} '{refscan}' {survexblock.survexfile.path}"
|
||||
print((self.insp+message))
|
||||
DataIssue.objects.create(parser='survex', message=message)
|
||||
DataIssue.objects.create(parser='survex', message=message, url=url)
|
||||
|
||||
refscan = "%s#%s%s" % (yr, letterx, wallet)
|
||||
try:
|
||||
if int(wallet)>100:
|
||||
message = " ! Wallet *REF {} - too big in '{}'".format(refscan, survexblock.survexfile.path)
|
||||
print((self.insp+message))
|
||||
DataIssue.objects.create(parser='survex', message=message)
|
||||
DataIssue.objects.create(parser='survex', message=message, url=url)
|
||||
except:
|
||||
message = " ! Wallet *REF {} - not numeric in '{}'".format(refscan, survexblock.survexfile.path)
|
||||
message = " ! Wallet *REF {} - not numeric in '{}' -- parsing continues".format(refscan, survexblock.survexfile.path)
|
||||
print((self.insp+message))
|
||||
DataIssue.objects.create(parser='survex', message=message)
|
||||
DataIssue.objects.create(parser='survex', message=message, url=url)
|
||||
manywallets = Wallet.objects.filter(walletname=refscan)
|
||||
if manywallets:
|
||||
survexblock.scanswallet = manywallets[0] # this is a ForeignKey field
|
||||
print(manywallets[0])
|
||||
survexblock.save()
|
||||
if len(manywallets) > 1:
|
||||
message = " ! Wallet *REF {} - {} scan folders from DB search in {}".format(refscan, len(manywallets), survexblock.survexfile.path)
|
||||
message = " ! Wallet *REF {} - {} scan folders from DB search in {} -- parsing continues".format(refscan, len(manywallets), survexblock.survexfile.path)
|
||||
print((self.insp+message))
|
||||
DataIssue.objects.create(parser='survex', message=message)
|
||||
DataIssue.objects.create(parser='survex', message=message, url=url)
|
||||
else:
|
||||
message = " ! Wallet *REF '{}' - NOT found in DB search '{}'".format(refscan, survexblock.survexfile.path)
|
||||
message = " ! Wallet *REF '{}' - NOT found in DB search '{}' -- parsing continues".format(refscan, survexblock.survexfile.path)
|
||||
print((self.insp+message))
|
||||
DataIssue.objects.create(parser='survex', message=message)
|
||||
DataIssue.objects.create(parser='survex', message=message, url=url)
|
||||
|
||||
def LoadSurvexQM(self, survexblock, qmline):
|
||||
insp = self.insp
|
||||
@@ -668,7 +668,7 @@ class LoadingSurvex():
|
||||
return self.svxdirs[headpath.lower()]
|
||||
|
||||
def ReportNonCaveIncludes(self, headpath, includelabel):
|
||||
"""Ignore surface, kataser and gps *include survex files
|
||||
"""Ignore surface, kataser and gpx *include survex files
|
||||
"""
|
||||
if headpath in self.ignorenoncave:
|
||||
#message = f" - {headpath} is <ignorenoncave> (while creating '{includelabel}' sfile & sdirectory)"
|
||||
@@ -677,11 +677,12 @@ class LoadingSurvex():
|
||||
return
|
||||
for i in self.ignoreprefix:
|
||||
if headpath.startswith(i):
|
||||
#message = f" - {headpath} starts with <ignoreprefix> (while creating '{includelabel}' sfile & sdirectory)"
|
||||
#print("\n"+message)
|
||||
message = f" - {headpath} starts with <ignoreprefix> (while creating '{includelabel}' sfile & sdirectory)"
|
||||
print("\n"+message)
|
||||
#print("\n"+message,file=sys.stderr)
|
||||
return
|
||||
message = f" ! Error: '{headpath}' not a cave or in the ignore list of surface surveys. (while creating '{includelabel}')"
|
||||
message = f" ! Error: '{headpath}' not a cave or in the ignore list of surface surveys. (while creating '{includelabel}' in db)"
|
||||
# getting this triggered for gpx/2018 but not for gpx/2017 ?!
|
||||
print("\n"+message)
|
||||
print("\n"+message,file=sys.stderr)
|
||||
DataIssue.objects.create(parser='survex', message=message)
|
||||
@@ -725,7 +726,7 @@ class LoadingSurvex():
|
||||
if cave:
|
||||
newdirectory.cave = cave
|
||||
newfile.cave = cave
|
||||
#print("\n"+str(newdirectory.cave),file=sys.stderr)
|
||||
print("\n"+str(newdirectory.cave),file=sys.stderr)
|
||||
else: # probably a surface survey
|
||||
self.ReportNonCaveIncludes(headpath, svxid)
|
||||
|
||||
@@ -1214,8 +1215,9 @@ class LoadingSurvex():
|
||||
sp = subprocess.run([settings.CAVERN, "--log", f'--output={outputdir}', f'{fullpath}.svx'],
|
||||
capture_output=True, check=False, text=True)
|
||||
if sp.returncode != 0:
|
||||
message = f' ! Error running {settings.CAVERN}: {fullpath}'
|
||||
DataIssue.objects.create(parser='entrances', message=message)
|
||||
message = f' ! Error running {settings.CAVERN}: {fullpath}'
|
||||
url = f'/survexfile{fullpath}.svx'.replace(settings.SURVEX_DATA, "")
|
||||
DataIssue.objects.create(parser='xEntrances', message=message, url=url)
|
||||
print(message)
|
||||
print(f'stderr:\n\n' + str(sp.stderr) + '\n\n' + str(sp.stdout) + '\n\nreturn code: ' + str(sp.returncode))
|
||||
self.caverncount += 1
|
||||
@@ -1408,6 +1410,7 @@ def LoadSurvexBlocks():
|
||||
DataIssue.objects.filter(parser='survexleg').delete()
|
||||
DataIssue.objects.filter(parser='survexunits').delete()
|
||||
DataIssue.objects.filter(parser='entrances').delete()
|
||||
DataIssue.objects.filter(parser='xEntrances').delete()
|
||||
|
||||
survexfileroot = MakeSurvexFileRoot()
|
||||
# this next makes a block_object assciated with a file_object.path = SURVEX_TOPNAME
|
||||
|
||||
Reference in New Issue
Block a user