From 1e2041c447473d9faea065879a9ffea9dc312273 Mon Sep 17 00:00:00 2001 From: Clifford Wolf Date: Tue, 28 Nov 2017 03:04:39 +0100 Subject: [PATCH] Improve HTML output Signed-off-by: Clifford Wolf Signed-off-by: Tim 'mithro' Ansell --- htmlgen/htmlgen.py | 82 +++++++++++++++++++++++++++++++++++++++------- 1 file changed, 71 insertions(+), 11 deletions(-) diff --git a/htmlgen/htmlgen.py b/htmlgen/htmlgen.py index 58e73666..6dcbebfb 100644 --- a/htmlgen/htmlgen.py +++ b/htmlgen/htmlgen.py @@ -2,22 +2,41 @@ import os, sys, json, re -# copy&paste from dbfixup.py -zero_db = [ +bitgroups_db = [ + # copy&paste from zero_db in dbfixup.py "00_21 00_22 00_26 01_28|00_25 01_20 01_21 01_24", "00_23 00_30 01_22 01_25|00_27 00_29 01_26 01_29", "01_12 01_14 01_16 01_18|00_10 00_11 01_09 01_10", "00_13 01_17 00_15 00_17|00_18 00_19 01_13 00_14", "00_34 00_38 01_33 01_37|00_35 00_39 01_38 01_40", "00_33 00_41 01_32 01_34|00_37 00_42 01_36 01_41", + + # other manual groupings for individual bits + "00_02 00_05 00_09 01_04|00_07 01_05 01_06", + "00_01 00_06 01_00 01_08|00_03 01_01 01_02", + "00_59 01_54 01_58 01_61|00_57 00_58 01_56", + "00_55 00_63 01_57 01_62|00_61 00_62 01_60", + "00_43 00_47 00_50 00_53 00_54 01_42|00_51 01_50 01_52", + "00_49 01_44 01_45 01_48 01_49 01_53|00_45 00_46 01_46", + ] -zero_bits = set() +# groupings for SNWE bits in frames 2..7 +for i in range(0, 64, 4): + bitgroups_db.append("02_%02d 03_%02d 05_%02d 06_%02d 07_%02d|05_%02d 03_%02d 04_%02d 04_%02d" % + (i+1, i, i, i, i+1, i+3, i+1, i+1, i+2)) + bitgroups_db.append("02_%02d 04_%02d 05_%02d 05_%02d 06_%02d|02_%02d 03_%02d 04_%02d 07_%02d" % + (i+2, i, i+1, i+2, i+2, i+3, i+2, i+3, i+3)) -for zdb in zero_db: - a, b = zdb.split("|") +left_bits = set() +right_bits = set() + +for entry in bitgroups_db: + a, b = entry.split("|") + for bit in a.split(): + left_bits.add(bit) for bit in b.split(): - zero_bits.add(bit) + right_bits.add(bit) class UnionFind: def __init__(self): @@ -176,6 +195,39 @@ for segtype in segbits.keys(): print("X-Ray %s Database: %s" % (os.getenv("XRAY_DATABASE").upper(), segtype.upper()), file=f) print("

X-Ray %s Database: %s Segment (%s Tile + %s Tile)

" % (os.getenv("XRAY_DATABASE").upper(), segtype.upper(), segtype.upper(), re.sub("clbl[lm]", "int", segtype).upper()), file=f) + + print(""" + + """, file=f) + print("", file=f) gray_bits = 0 @@ -292,8 +344,8 @@ for segtype in segbits.keys(): else: colored_bits += 1 - print("" % - (bgcolor, "\n".join(title), onclick, label), file=f) + print("" % + (bit_pos, bit_pos, bgcolor, "\n".join(title), onclick, label), file=f) print("", file=f) print("
%s%s
", file=f) @@ -382,15 +434,23 @@ for segtype in segbits.keys(): grp_bits |= bits def bit_key(b): - if b in zero_bits: - return "b" + b - return "a" + b + if b in left_bits: + return "a" + b + if b in right_bits: + return "c" + b + return "b" + b grp_bits = sorted(grp_bits, key=bit_key) for bit in grp_bits: print("" % bit, file=f) + print("", file=f) + print("

", file=f) print("

%s

" % title, file=f) print("", file=f)