From cd875f29dcd44362334f0313fd9bff38fb0c2312 Mon Sep 17 00:00:00 2001 From: Maeva Pourpoint <maeva@passcal.nmt.edu> Date: Wed, 14 Oct 2020 12:25:09 -0600 Subject: [PATCH] Fix "error writing fixed header" bug --- fixhdr/LibTrace.py | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/fixhdr/LibTrace.py b/fixhdr/LibTrace.py index 49cbda3..bfb4883 100755 --- a/fixhdr/LibTrace.py +++ b/fixhdr/LibTrace.py @@ -141,7 +141,7 @@ class futils: """ def __init__(self, infile): - self.infile = open(infile, 'rb') + self.infile = open(infile, 'r+b') def close(self): self.infile.close() @@ -561,16 +561,19 @@ class Mseed(futils): SeqNum = self.Pad(hdrlist[0][0], 6) # SeqNum DQual = hdrlist[0][1] # DataQual Res = hdrlist[0][2] # Reserved - try: - Stat = self.Pad(hdrlist[0][3], 5).encode() # Stat - Loc = self.Pad(hdrlist[0][4], 2).encode() # Loc - Chan = self.Pad(hdrlist[0][5], 3).encode() # Chan - Net = self.Pad(hdrlist[0][6], 2).encode() # Net - except AttributeError: - Stat = self.Pad(hdrlist[0][3], 5) # Stat - Loc = self.Pad(hdrlist[0][4], 2) # Loc - Chan = self.Pad(hdrlist[0][5], 3) # Chan - Net = self.Pad(hdrlist[0][6], 2) # Net + + Stat = self.Pad(hdrlist[0][3], 5) # Stat + Loc = self.Pad(hdrlist[0][4], 2) # Loc + Chan = self.Pad(hdrlist[0][5], 3) # Chan + Net = self.Pad(hdrlist[0][6], 2) # Net + if isinstance(Stat, str): + Stat = Stat.encode() + if isinstance(Loc, str): + Loc = Loc.encode() + if isinstance(Chan, str): + Chan = Chan.encode() + if isinstance(Net, str): + Net = Net.encode() # time info # fmtstr1 = fmtorderstr + "HHBBBBH" @@ -603,8 +606,8 @@ class Mseed(futils): self.infilewrite(pack_hdr) return 48 - except Exception: - print("error writing fixed header") + except Exception as e: + print("error writing fixed header - {}".format(e)) return 0 ######################################################### -- GitLab