diff --git a/fixhdr/LibTrace.py b/fixhdr/LibTrace.py index 49cbda32f1c27cdc4880908f58c6fcaffdc3e91e..bfb488364873d129047e18f0deeb8d44aa174a5a 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 #########################################################