Added catch for KiCost errors.

This commit is contained in:
Salvador E. Tropea 2021-10-20 11:50:34 -03:00
parent adfc509fdd
commit 616cdcd6bf
3 changed files with 16 additions and 4 deletions

View File

@ -18,7 +18,8 @@ from base64 import b64decode
from .columnlist import ColumnList
from .kibot_logo import KIBOT_LOGO
from .. import log
from ..misc import W_NOKICOST, W_UNKDIST
from ..misc import W_NOKICOST, W_UNKDIST, KICOST_ERROR
from ..error import trace_dump
from ..__main__ import __version__
try:
from xlsxwriter import Workbook
@ -38,7 +39,7 @@ try:
sys.path.insert(0, rel_path)
# Init the logger first
logger = log.get_logger(__name__)
from kicost.global_vars import set_logger
from kicost.global_vars import set_logger, KiCostError
set_logger(logger)
from kicost import PartGroup
from kicost.kicost import query_part_info
@ -470,7 +471,7 @@ def create_meta_sheets(workbook, used_parts, fmt_head, fmt_cols, cfg):
fmt_cols, cfg.xlsx.max_col_width)
def create_kicost_sheet(workbook, groups, image_data, fmt_title, fmt_info, fmt_subtitle, fmt_head, fmt_cols, cfg):
def _create_kicost_sheet(workbook, groups, image_data, fmt_title, fmt_info, fmt_subtitle, fmt_head, fmt_cols, cfg):
if not KICOST_SUPPORT:
logger.warning(W_NOKICOST, 'KiCost sheet requested but failed to load KiCost support')
return
@ -610,6 +611,15 @@ def create_kicost_sheet(workbook, groups, image_data, fmt_title, fmt_info, fmt_s
return colors
def create_kicost_sheet(workbook, groups, image_data, fmt_title, fmt_info, fmt_subtitle, fmt_head, fmt_cols, cfg):
try:
_create_kicost_sheet(workbook, groups, image_data, fmt_title, fmt_info, fmt_subtitle, fmt_head, fmt_cols, cfg)
except KiCostError as e:
trace_dump()
logger.error('KiCost error: `{}` ({})'.format(e.msg, e.id))
exit(KICOST_ERROR)
def write_xlsx(filename, groups, col_fields, head_names, cfg):
"""
Write BoM out to a XLSX file

View File

@ -34,6 +34,7 @@ PCBDRAW_ERR = 20
SVG_SCH_PRINT = 21
CORRUPTED_SCH = 22
WRONG_INSTALL = 23
KICOST_ERROR = 24
error_level_to_name = ['NONE',
'INTERNAL_ERROR',
'WRONG_ARGUMENTS',
@ -58,6 +59,7 @@ error_level_to_name = ['NONE',
'SVG_SCH_PRINT',
'CORRUPTED_SCH',
'WRONG_INSTALL',
'KICOST_ERROR',
]
CMD_EESCHEMA_DO = 'eeschema_do'
URL_EESCHEMA_DO = 'https://github.com/INTI-CMNB/kicad-automation-scripts'

@ -1 +1 @@
Subproject commit d1b0731775e7fd5cc8c659af5e0f6c810b02d09f
Subproject commit e17771291b100e60516542d22e715d7593c19117