Source code for hotwing_core.cutting_strategies.factory

from __future__ import division
from .cutting_strategy_1 import CuttingStrategy1
from .cutting_strategy_2 import CuttingStrategy2

import logging
logging.getLogger(__name__)

[docs]class CuttingStrategyFactory(): strategies = [ CuttingStrategy1, CuttingStrategy2 ] default = CuttingStrategy2
[docs] @classmethod def get_cls(cls, name): """ Get a cutting strategy by name Returns: GcodeFormatter object """ name = name.lower() if name == "default": return cls.default for s in cls.strategies: s_name = s.__name__.lower() if s_name == name: return s logging.error("ERROR: CUTTING STRATEGY FACTORY - NAME INCORRECT, FALLING BACK TO DEFAULT") return cls.default