From d27a74c97b19b26b4b2f0eba491595aaf1dae5b8 Mon Sep 17 00:00:00 2001 From: Philip Sargent <philip.sargent@klebos.com> Date: Mon, 6 Jul 2020 21:46:19 +0100 Subject: [PATCH] per svxfile debug printing enabled --- parsers/survex.py | 122 +++++++++++++++++++++++++++------------------- 1 file changed, 73 insertions(+), 49 deletions(-) diff --git a/parsers/survex.py b/parsers/survex.py index 1cf223b..25e72b5 100644 --- a/parsers/survex.py +++ b/parsers/survex.py @@ -22,6 +22,9 @@ from troggle.core.views_caves import MapLocations survexblockroot = None ROOTBLOCK = "rootblock" +debugprint = False # Turns on debug printout for just one *include file +debugprinttrigger = "caves-1623/40/old/EisSVH" + class SurvexLeg(): """No longer a models.Model subclass, so no longer a database table """ @@ -177,10 +180,12 @@ class LoadingSurvex(): invalid_tape = 0.0 if self.flagsstar["skiplegs"]: - #print("skip in ", self.flagsstar, survexblock.survexfile.path) + if debugprint: + print("skip in ", self.flagsstar, survexblock.survexfile.path) return - #print("! LEG datastar type:{}++{}\n{} ".format(self.datastar["type"].upper(), survexblock.survexfile.path, sline)) + if debugprint: + print("! LEG datastar type:{}++{}\n{} ".format(self.datastar["type"].upper(), survexblock.survexfile.path, sline)) # SKIP PASSAGES *data passage if self.datastar["type"] == "passage": return @@ -204,17 +209,21 @@ class LoadingSurvex(): # skip all splay legs if ls[datastar["from"]] == ".." or ls[datastar["from"]] == ".": - #print("Splay in ", survexblock.survexfile.path) + if debugprint: + print("Splay in ", survexblock.survexfile.path) return if ls[datastar["to"]] == ".." or ls[datastar["to"]] == ".": - #print("Splay in ", survexblock.survexfile.path) + if debugprint: + print("Splay in ", survexblock.survexfile.path) return if self.flagsstar["splayalias"]: if ls[datastar["from"]] == "-": - #print("Aliased splay in ", survexblock.survexfile.path) + if debugprint: + print("Aliased splay in ", survexblock.survexfile.path) return if ls[datastar["to"]] == "-": - #print("Aliased splay in ", survexblock.survexfile.path) + if debugprint: + print("Aliased splay in ", survexblock.survexfile.path) return try: @@ -298,7 +307,7 @@ class LoadingSurvex(): 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: @@ -448,7 +457,8 @@ class LoadingSurvex(): argslist = args.split() for s in argslist: flags.append(s) - print(" # flagslist:{}".format(flags),) + if debugprint: + print(" ^ flagslist:{}".format(flags),) if "duplicate" in flags: self.flagsstar["duplicate"] = True @@ -468,6 +478,9 @@ class LoadingSurvex(): # actually we do want to count duplicates as this is for "effort expended in surveying underground" if self.flagsstar["surface"] == True or self.flagsstar["splay"] == True: self.flagsstar["skiplegs"] = True + if debugprint: + print(" $ flagslist:{}".format(flags),) + def IdentifyCave(self, cavepath): if cavepath.lower() in self.caveslist: @@ -521,10 +534,11 @@ class LoadingSurvex(): Creates a new current survexfile and valid .survexdirectory The survexblock passed-in is not necessarily the parent. FIX THIS. """ - # print(" # datastack in LoadSurvexFile:{} 'type':".format(svxid), end="") - # for dict in self.datastack: - # print("'{}' ".format(dict["type"].upper()), end="") - # print("") + if debugprint: + print(" # datastack in LoadSurvexFile:{} 'type':".format(svxid), end="") + for dict in self.datastack: + print("'{}' ".format(dict["type"].upper()), end="") + print("") depth = " " * self.depthbegin @@ -566,23 +580,30 @@ class LoadingSurvex(): print(newdirectory.primarysurvexfile, file=sys.stderr) raise - # print(" # datastack end LoadSurvexFile:{} 'type':".format(svxid), end="") - # for dict in self.datastack: - # print("'{}' ".format(dict["type"].upper()), end="") - # print("") - pass + if debugprint: + print(" # datastack end LoadSurvexFile:{} 'type':".format(svxid), end="") + for dict in self.datastack: + print("'{}' ".format(dict["type"].upper()), end="") + print("") def ProcessIncludeLine(self, included): + global debugprint svxid = included.groups()[0] + if svxid.lower() == debugprinttrigger.lower(): + debugprint = True self.LoadSurvexFile(svxid) self.stacksvxfiles.append(self.currentsurvexfile) def ProcessEdulcniLine(self, edulcni): """Saves the current survexfile in the db """ + global debugprint svxid = edulcni.groups()[0] - #depth = " " * self.depthbegin - #print("{:2}{} - Edulcni survexfile:'{}'".format(self.depthbegin, depth, svxid)) + if debugprint: + depth = " " * self.depthbegin + print("{:2}{} - Edulcni survexfile:'{}'".format(self.depthbegin, depth, svxid)) + if svxid.lower() == debugprinttrigger.lower(): + debugprint = False self.currentsurvexfile.save() self.currentsurvexfile = self.stacksvxfiles.pop() @@ -667,9 +688,9 @@ class LoadingSurvex(): print(" ", file=sys.stderr,end='') sys.stderr.flush() - def addpersonlengths(): - for personexpedition in self.currentpersonexped: - personexpedition.legslength += self.slength + # def addpersonlengths(): + # for personexpedition in self.currentpersonexped: + # personexpedition.legslength += self.slength def printbegin(): nonlocal blkid @@ -693,20 +714,21 @@ class LoadingSurvex(): def pushblock(): nonlocal blkid - - # print(" # datastack at 1 *begin {} 'type':".format(blkid), end="") - # for dict in self.datastack: - # print("'{}' ".format(dict["type"].upper()), end="") - # print("") - # print("'{}' self.datastar ".format(self.datastar["type"].upper())) + if debugprint: + print(" # datastack at 1 *begin {} 'type':".format(blkid), end="") + for dict in self.datastack: + print("'{}' ".format(dict["type"].upper()), end="") + print("") + print("'{}' self.datastar ".format(self.datastar["type"].upper())) # ------------ * DATA self.datastack.append(copy.deepcopy(self.datastar)) # ------------ * DATA - # print(" # datastack at 2 *begin {} 'type':".format(blkid), end="") - # for dict in self.datastack: - # print("'{}' ".format(dict["type"].upper()), end="") - # print("") - # print("'{}' self.datastar ".format(self.datastar["type"].upper())) + if debugprint: + print(" # datastack at 2 *begin {} 'type':".format(blkid), end="") + for dict in self.datastack: + print("'{}' ".format(dict["type"].upper()), end="") + print("") + print("'{}' self.datastar ".format(self.datastar["type"].upper())) # ------------ * FLAGS self.flagsstack.append(copy.deepcopy(self.flagsstar)) @@ -716,26 +738,28 @@ class LoadingSurvex(): def popblock(): nonlocal blkid nonlocal oldflags - - # print(" # datastack at *end '{} 'type':".format(blkid), end="") - # for dict in self.datastack: - # print("'{}' ".format(dict["type"].upper()), end="") - # print("") - # print("'{}' self.datastar ".format(self.datastar["type"].upper())) + if debugprint: + print(" # datastack at *end '{} 'type':".format(blkid), end="") + for dict in self.datastack: + print("'{}' ".format(dict["type"].upper()), end="") + print("") + print("'{}' self.datastar ".format(self.datastar["type"].upper())) # ------------ * DATA self.datastar = copy.deepcopy(self.datastack.pop()) # ------------ * DATA - # print(" # datastack after *end '{} 'type':".format(blkid), end="") - # for dict in self.datastack: - # print("'{}' ".format(dict["type"].upper()), end="") - # print("") - # print("'{}' self.datastar ".format(self.datastar["type"].upper())) + if debugprint: + print(" # datastack after *end '{} 'type':".format(blkid), end="") + for dict in self.datastack: + print("'{}' ".format(dict["type"].upper()), end="") + print("") + print("'{}' self.datastar ".format(self.datastar["type"].upper())) # ------------ * FLAGS self.flagsstar = copy.deepcopy(self.flagsstack.pop()) # ------------ * FLAGS - if oldflags["skiplegs"] != self.flagsstar["skiplegs"]: - print(" # POP 'any' flag now:'{}' was:{} ".format(self.flagsstar["skiplegs"], oldflags["skiplegs"])) + if debugprint: + if oldflags["skiplegs"] != self.flagsstar["skiplegs"]: + print(" # POP 'any' flag now:'{}' was:{} ".format(self.flagsstar["skiplegs"], oldflags["skiplegs"])) def starstatement(star): nonlocal survexblock @@ -777,7 +801,6 @@ class LoadingSurvex(): elif self.rx_end.match(cmd): survexblock.legsall = self.legsnumber survexblock.legslength = self.slength - addpersonlengths() printend() slengthtotal += self.slength nlegstotal += self.legsnumber @@ -816,8 +839,9 @@ class LoadingSurvex(): elif self.rx_flags.match(cmd): oldflags = self.flagsstar self.LoadSurvexFlags(args) - # if oldflags["skiplegs"] != self.flagsstar["skiplegs"]: - # print(" # CHANGE 'any' flag now:'{}' was:{} ".format(self.flagsstar["skiplegs"], oldflags["skiplegs"])) + if debugprint: + if oldflags["skiplegs"] != self.flagsstar["skiplegs"]: + print(" # CHANGE 'any' flag now:'{}' was:{} ".format(self.flagsstar["skiplegs"], oldflags["skiplegs"])) elif self.rx_data.match(cmd): self.LoadSurvexDataCmd(survexblock, args)