diff --git a/KiBOM/html_writer.py b/KiBOM/html_writer.py
index b2a70225..fece2498 100644
--- a/KiBOM/html_writer.py
+++ b/KiBOM/html_writer.py
@@ -40,75 +40,68 @@ def WriteHTML(filename, groups, net, headings, prefs):
if not filename.endswith(".html") and not filename.endswith(".htm"):
print("{fn} is not a valid html file".format(fn=filename))
return False
-
- try:
- with open(filename,"w") as html:
+ with open(filename,"w") as html:
+
+ #header
+ html.write("\n")
+ html.write("
\n")
+
+ #PCB info
+ html.write("KiBoM PCB Bill of Materials
\n")
+ html.write("
Source File: {source}\n".format(source=net.getSource()))
+ html.write("
Date: {date}\n".format(date=net.getDate()))
+ html.write("
Schematic Version: {version}\n".format(version=net.getVersion()))
+ html.write("
Total Components: {n}\n".format(n = sum([g.getCount() for g in groups])))
+ html.write("
Component Groups: {n}\n".format(n=len(groups)))
+ html.write("
\n")
+ html.write("Component Groups
\n")
+ html.write('Kicad Fields (default)
\n'.format(bg=BG_KICAD))
+ html.write('Generated Fields
\n'.format(bg=BG_GEN))
+ html.write('User Fields
\n'.format(bg=BG_USER))
+
+ #component groups
+ html.write('\n')
+
+ #row titles:
+ html.write("\n")
+ if prefs.numberRows:
+ html.write("\t | \n")
+ for i,h in enumerate(headings):
+ #cell background color
+ bg = bgColor(h)
+ html.write('\t{h} | \n'.format(
+ h=h,
+ bg = ' bgcolor="{c}"'.format(c=bg) if bg else ''))
+ html.write("
\n")
+
+ rowCount = 0
+
+ for i,group in enumerate(groups):
+
+ if prefs.ignoreDNF and not group.isFitted(): continue
- #header
- html.write("\n")
- html.write("\n")
+ row = group.getRow(headings)
- #PCB info
- html.write("KiBOM PCB Bill of Materials
\n")
- html.write("
Source File: {source}\n".format(source=net.getSource()))
- html.write("
Date: {date}\n".format(date=net.getDate()))
- html.write("
Schematic Version: {version}\n".format(version=net.getVersion()))
- html.write("
Total Components: {n}\n".format(n = sum([g.getCount() for g in groups])))
- html.write("
Component Groups: {n}\n".format(n=len(groups)))
- html.write("
\n")
- html.write("Component Groups
\n")
- html.write('Kicad Fields (default)
\n'.format(bg=BG_KICAD))
- html.write('Generated Fields
\n'.format(bg=BG_GEN))
- html.write('User Fields
\n'.format(bg=BG_USER))
+ rowCount += 1
- #component groups
- html.write('\n')
-
- #row titles:
+
html.write("\n")
+
if prefs.numberRows:
- html.write("\t | \n")
- for i,h in enumerate(headings):
- #cell background color
- bg = bgColor(h)
- html.write('\t{h} | \n'.format(
- h=h,
- bg = ' bgcolor="{c}"'.format(c=bg) if bg else ''))
+ html.write("\t{n} | \n".format(n=rowCount))
+
+ for n, r in enumerate(row):
+ bg = bgColor(headings[n])
+
+ html.write('\t{val} | \n'.format(bg=' bgcolor={c}'.format(c=bg) if bg else '', val=link(r)))
+
+
html.write("
\n")
- rowCount = 0
-
- for i,group in enumerate(groups):
-
- if prefs.ignoreDNF and not group.isFitted(): continue
-
- row = group.getRow(headings)
-
- rowCount += 1
-
-
- html.write("\n")
-
- if prefs.numberRows:
- html.write("\t| {n} | \n".format(n=rowCount))
-
- for n, r in enumerate(row):
- bg = bgColor(headings[n])
-
- html.write('\t{val} | \n'.format(bg=' bgcolor={c}'.format(c=bg) if bg else '', val=link(r)))
-
-
- html.write("
\n")
-
- html.write("
\n")
- html.write("
\n")
-
- html.write("")
-
-
- except BaseException as e:
- print(str(e))
- return False
+ html.write("
\n")
+ html.write("
\n")
+ html.write("")
+
return True
\ No newline at end of file