42 lines
770 B
Python
42 lines
770 B
Python
# -*- coding: utf-8 -*-
|
|
# Copyright (c) 2020 Salvador E. Tropea
|
|
# Copyright (c) 2020 Instituto Nacional de Tecnología Industrial
|
|
# License: GPL-3.0
|
|
# Project: KiBot (formerly KiPlot)
|
|
"""
|
|
KiBot errors
|
|
"""
|
|
from sys import (exit, exc_info)
|
|
from traceback import print_tb
|
|
from .gs import GS
|
|
from .misc import (EXIT_BAD_CONFIG)
|
|
# Logger
|
|
from . import log
|
|
|
|
logger = log.get_logger(__name__)
|
|
|
|
|
|
class KiPlotError(Exception):
|
|
pass
|
|
|
|
|
|
class PlotError(KiPlotError):
|
|
pass
|
|
|
|
|
|
class KiPlotConfigurationError(KiPlotError):
|
|
pass
|
|
|
|
|
|
def trace_dump():
|
|
if GS.debug_enabled:
|
|
logger.error('Trace stack:')
|
|
(type, value, traceback) = exc_info()
|
|
print_tb(traceback)
|
|
|
|
|
|
def config_error(msg):
|
|
trace_dump()
|
|
logger.error(msg)
|
|
exit(EXIT_BAD_CONFIG)
|