mirror of https://github.com/openXC7/prjxray.git
Improve HTML output
Signed-off-by: Clifford Wolf <clifford@clifford.at> Signed-off-by: Tim 'mithro' Ansell <mithro@mithis.com>
This commit is contained in:
parent
be3d7ec8c7
commit
1e2041c447
|
|
@ -2,22 +2,41 @@
|
||||||
|
|
||||||
import os, sys, json, re
|
import os, sys, json, re
|
||||||
|
|
||||||
# copy&paste from dbfixup.py
|
bitgroups_db = [
|
||||||
zero_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_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",
|
"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",
|
"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_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_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",
|
"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:
|
left_bits = set()
|
||||||
a, b = zdb.split("|")
|
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():
|
for bit in b.split():
|
||||||
zero_bits.add(bit)
|
right_bits.add(bit)
|
||||||
|
|
||||||
class UnionFind:
|
class UnionFind:
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
|
|
@ -176,6 +195,39 @@ for segtype in segbits.keys():
|
||||||
print("<html><title>X-Ray %s Database: %s</title><body>" % (os.getenv("XRAY_DATABASE").upper(), segtype.upper()), file=f)
|
print("<html><title>X-Ray %s Database: %s</title><body>" % (os.getenv("XRAY_DATABASE").upper(), segtype.upper()), file=f)
|
||||||
print("<h3>X-Ray %s Database: %s Segment (%s Tile + %s Tile)</h3>" % (os.getenv("XRAY_DATABASE").upper(), segtype.upper(),
|
print("<h3>X-Ray %s Database: %s Segment (%s Tile + %s Tile)</h3>" % (os.getenv("XRAY_DATABASE").upper(), segtype.upper(),
|
||||||
segtype.upper(), re.sub("clbl[lm]", "int", segtype).upper()), file=f)
|
segtype.upper(), re.sub("clbl[lm]", "int", segtype).upper()), file=f)
|
||||||
|
|
||||||
|
print("""
|
||||||
|
<script><!--
|
||||||
|
var grp2bits = { };
|
||||||
|
var bit2grp = { }
|
||||||
|
var highlight_bits = [ ];
|
||||||
|
|
||||||
|
function ome(bit) {
|
||||||
|
// console.log("ome: " + bit);
|
||||||
|
if (bit in bit2grp) {
|
||||||
|
grp = bit2grp[bit];
|
||||||
|
for (i in grp2bits[grp]) {
|
||||||
|
b = grp2bits[grp][i];
|
||||||
|
// console.log(" -> " + b);
|
||||||
|
el = document.getElementById("bit" + b);
|
||||||
|
el.style.fontWeight = "bold";
|
||||||
|
highlight_bits.push(b);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function oml() {
|
||||||
|
// console.log("oml");
|
||||||
|
for (i in highlight_bits) {
|
||||||
|
b = highlight_bits[i];
|
||||||
|
el = document.getElementById("bit" + b);
|
||||||
|
el.style.fontWeight = "normal";
|
||||||
|
}
|
||||||
|
highlight_bits.length = 0;
|
||||||
|
}
|
||||||
|
//--></script>
|
||||||
|
""", file=f)
|
||||||
|
|
||||||
print("<table border>", file=f)
|
print("<table border>", file=f)
|
||||||
|
|
||||||
gray_bits = 0
|
gray_bits = 0
|
||||||
|
|
@ -292,8 +344,8 @@ for segtype in segbits.keys():
|
||||||
else:
|
else:
|
||||||
colored_bits += 1
|
colored_bits += 1
|
||||||
|
|
||||||
print("<td bgcolor=\"%s\" align=\"center\" title=\"%s\"%s><span style=\"font-size:10px\">%s</span></td>" %
|
print("<td id=\"bit%s\" onmouseenter=\"ome('%s');\" onmouseleave=\"oml();\" bgcolor=\"%s\" align=\"center\" title=\"%s\"%s><span style=\"font-size:10px\">%s</span></td>" %
|
||||||
(bgcolor, "\n".join(title), onclick, label), file=f)
|
(bit_pos, bit_pos, bgcolor, "\n".join(title), onclick, label), file=f)
|
||||||
print("</tr>", file=f)
|
print("</tr>", file=f)
|
||||||
print("</table>", file=f)
|
print("</table>", file=f)
|
||||||
|
|
||||||
|
|
@ -382,15 +434,23 @@ for segtype in segbits.keys():
|
||||||
grp_bits |= bits
|
grp_bits |= bits
|
||||||
|
|
||||||
def bit_key(b):
|
def bit_key(b):
|
||||||
if b in zero_bits:
|
if b in left_bits:
|
||||||
return "b" + b
|
|
||||||
return "a" + b
|
return "a" + b
|
||||||
|
if b in right_bits:
|
||||||
|
return "c" + b
|
||||||
|
return "b" + b
|
||||||
|
|
||||||
grp_bits = sorted(grp_bits, key=bit_key)
|
grp_bits = sorted(grp_bits, key=bit_key)
|
||||||
|
|
||||||
for bit in grp_bits:
|
for bit in grp_bits:
|
||||||
print("<a id=\"b%s\"/>" % bit, file=f)
|
print("<a id=\"b%s\"/>" % bit, file=f)
|
||||||
|
|
||||||
|
print("<script><!--", file=f)
|
||||||
|
print("grp2bits['%s'] = ['%s'];" % (grp_bits[0], "', '".join(grp_bits)), file=f)
|
||||||
|
for bit in grp_bits:
|
||||||
|
print("bit2grp['%s'] = '%s';" % (bit, grp_bits[0]), file=f)
|
||||||
|
print("//--></script>", file=f)
|
||||||
|
|
||||||
print("<p/>", file=f)
|
print("<p/>", file=f)
|
||||||
print("<h4>%s</h4>" % title, file=f)
|
print("<h4>%s</h4>" % title, file=f)
|
||||||
print("<table cellspacing=0>", file=f)
|
print("<table cellspacing=0>", file=f)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue