From 3b2bba6dbb1278ac4fe63e4323a5f4b59af5acc6 Mon Sep 17 00:00:00 2001 From: Frank Severinsen Date: Tue, 2 Jul 2019 00:36:26 +0200 Subject: [PATCH] minor improvements to 3D coverage check --- pcb/check_3d_coverage.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/pcb/check_3d_coverage.py b/pcb/check_3d_coverage.py index 74e760e0..f6acced9 100755 --- a/pcb/check_3d_coverage.py +++ b/pcb/check_3d_coverage.py @@ -5,7 +5,7 @@ import os import argparse -from kicad_mod import * +from kicad_mod import * from print_color import * common = os.path.abspath(os.path.join(sys.path[0], '..', 'common')) @@ -49,7 +49,7 @@ def footprint_dir_name(self, pretty_name): def valid_pretty_names(self): try: - prettys = sorted([f.split('.')[0] for f in os.listdir(self.pretty_root) if os.path.isdir(os.path.join(self.pretty_root, f)) and f.endswith('.pretty')]) + prettys = sorted([f.split('.pretty')[0] for f in os.listdir(self.pretty_root) if os.path.isdir(os.path.join(self.pretty_root, f)) and f.endswith('.pretty')]) except FileNotFoundError: printer.red('EXIT: problem reading from module root: {mr:s}'.format(mr=self.pretty_root)) sys.exit(1) @@ -116,12 +116,16 @@ def parse_module(filename, warnings): try: long_reference = module.models[0]['file'] except IndexError: - printer.yellow("- No model file specified in {fn:s}".format(fn=filename)) - warnings += 1 + if module.attribute != 'virtual': + printer.yellow("- No model file specified in {fn:s}".format(fn=filename)) + warnings += 1 return None try: # Accept both forward and backward slash characters in path long_reference = '/'.join(long_reference.split('\\')) + if not long_reference.startswith('${KISYS3DMOD}'): + printer.yellow('No KISYS3DMOD In: {fn:s}'.format(fn=filename)) + warnings += 1 return os.path.basename(long_reference) except: printer.yellow("- Invalid model reference {f:s}".format(f=full))