diff --git a/kiplot/bom/csv_writer.py b/kiplot/bom/csv_writer.py index 44d35287..6366d9ab 100644 --- a/kiplot/bom/csv_writer.py +++ b/kiplot/bom/csv_writer.py @@ -53,6 +53,7 @@ def write_csv(filename, ext, groups, headings, head_names, cfg): writer.writerow(["Variant:", ' + '.join(cfg.variant)]) writer.writerow(["Revision:", cfg.revision]) writer.writerow(["Date:", cfg.date]) + writer.writerow(["KiCad Version:", cfg.kicad_version]) if not cfg.csv.hide_stats_info: writer.writerow(["Statistics:"]) writer.writerow(["Component Groups:", cfg.n_groups]) @@ -60,6 +61,5 @@ def write_csv(filename, ext, groups, headings, head_names, cfg): writer.writerow(["Fitted Components:", cfg.n_fitted]) writer.writerow(["Number of PCBs:", cfg.number]) writer.writerow(["Total components:", cfg.n_build]) - # writer.writerow(["KiCad Version:", net.getTool()]) TODO? return True diff --git a/kiplot/bom/html_writer.py b/kiplot/bom/html_writer.py index d30784e3..20a21d31 100644 --- a/kiplot/bom/html_writer.py +++ b/kiplot/bom/html_writer.py @@ -212,6 +212,7 @@ def write_html(filename, groups, headings, head_names, cfg): html.write(" Variant: {}
\n".format(', '.join(cfg.variant))) html.write(" Revision: {}
\n".format(cfg.revision)) html.write(" Date: {}
\n".format(cfg.date)) + html.write(" KiCad Version: {}
\n".format(cfg.kicad_version)) html.write(' \n') html.write(' \n') if not cfg.html.hide_stats_info: diff --git a/kiplot/bom/xlsx_writer.py b/kiplot/bom/xlsx_writer.py index 179436d3..b9e4964b 100644 --- a/kiplot/bom/xlsx_writer.py +++ b/kiplot/bom/xlsx_writer.py @@ -292,7 +292,7 @@ def write_xlsx(filename, groups, col_fields, head_names, cfg): rc = add_info(worksheet, column_widths, rc, col1, fmt_info, "Variant:", ' + '.join(cfg.variant)) rc = add_info(worksheet, column_widths, rc, col1, fmt_info, "Revision:", cfg.revision) rc = add_info(worksheet, column_widths, rc, col1, fmt_info, "Date:", cfg.date) - # row_count = add_info(worksheet, column_widths, row_count, fmt_info, "KiCad Version:", ) TODO? + rc = add_info(worksheet, column_widths, rc, col1, fmt_info, "KiCad Version:", cfg.kicad_version) col1 += 2 rc = r_info_start if not cfg.xlsx.hide_stats_info: diff --git a/kiplot/bom/xml_writer.py b/kiplot/bom/xml_writer.py index bddb394e..6ddc8d39 100644 --- a/kiplot/bom/xml_writer.py +++ b/kiplot/bom/xml_writer.py @@ -23,7 +23,7 @@ def write_xml(filename, groups, headings, head_names, cfg): attrib['Schematic_Date'] = cfg.date attrib['PCB_Variant'] = ', '.join(cfg.variant) # attrib['BOM_Date'] = net.getDate() same as schematic - # attrib['KiCad_Version'] = net.getTool() TODO? + attrib['KiCad_Version'] = cfg.kicad_version attrib['Component_Groups'] = str(cfg.n_groups) attrib['Component_Count'] = str(cfg.n_total) attrib['Fitted_Components'] = str(cfg.n_fitted) diff --git a/kiplot/gs.py b/kiplot/gs.py index 1c55857e..af83c9b3 100644 --- a/kiplot/gs.py +++ b/kiplot/gs.py @@ -33,6 +33,7 @@ class GS(object): n = datetime.now() today = n.strftime('%Y-%m-%d') time = n.strftime('%H-%M-%S') + kicad_version = '' # Data from the SCH because it doesn't have a Python API sch_title = None sch_date = None diff --git a/kiplot/kiplot.py b/kiplot/kiplot.py index cdabb2bc..83e1cb65 100644 --- a/kiplot/kiplot.py +++ b/kiplot/kiplot.py @@ -119,6 +119,8 @@ def load_board(pcb_file=None): def load_sch(): + GS.kicad_version = pcbnew.GetBuildVersion() + logger.debug('KiCad: '+GS.kicad_version) GS.check_sch() GS.sch = Schematic() try: diff --git a/kiplot/out_bom.py b/kiplot/out_bom.py index a24d2489..2e9dd3f0 100644 --- a/kiplot/out_bom.py +++ b/kiplot/out_bom.py @@ -388,6 +388,7 @@ class BoMOptions(BaseOptions): self.date = GS.sch_date self.revision = GS.sch_rev self.debug_level = GS.debug_level + self.kicad_version = GS.kicad_version # Get the components list from the schematic comps = GS.sch.get_components() try: