# HG changeset patch # User Henry S. Thompson # Date 1693931609 -3600 # Node ID e56a7aad9ce9598b3e8678dd4edd3567cb00b2ea # Parent 460f0599e8cd0ba7e655e3c02830e7ed93e858f6 attempt at reordering if necessary diff -r 460f0599e8cd -r e56a7aad9ce9 bin/merge_date.py --- a/bin/merge_date.py Tue Sep 05 17:32:46 2023 +0100 +++ b/bin/merge_date.py Tue Sep 05 17:33:29 2023 +0100 @@ -83,14 +83,25 @@ else: return key, None +dfq = [] # for reordering if needed + with open(sys.argv[1], 'rb') as df: - dl = df.readline() - dcnt += 1 + if dfq: + dl = dfq.pop(0) + else: + dl = df.readline() + dcnt += 1 dkey, ddate, dtime = dl.split(b'\t') while (xl:=nextLine()) is not None: xkey, xdate, xprops = xl.split(b' ', maxsplit=2) xkey1, xkey2 = keys(xkey) + if xkey2 is not None: + while dkey.startswith(xkey1) and dkey!=xkey2: + dfq.append(dl) + dl = df.readline() + dcnt += 1 + dkey, ddate, dtime = dl.split(b'\t') if (ddate != xdate or not dkey.startswith(xkey1) or (xkey2 is not None and dkey!=xkey2)): @@ -100,8 +111,8 @@ " xdate: %s\n" " ddate: %s\n" "k1, k2: |%s|%s|\n" - "FN: %s\n" - "xl: %s"%(xkey, dkey, xdate, ddate, xkey1, xkey2, FN, xl), + "FN: %s dcnt: %s\n" + "xl: %s"%(xkey, dkey, xdate, ddate, xkey1, xkey2, FN, dcnt, xl), file=sys.stderr) raise ValueError() NF.write(xl)