Source code for pyBADA.badaAircraft

"""Generic BADA Family Wrapper."""

from typing import Union

from pyBADA.bada3 import Bada3Aircraft
from pyBADA.bada4 import Bada4Aircraft
from pyBADA.badaH import BadaHAircraft


[docs] class BadaAircraft: """ A wrapper to handle the instantiation of different BADA family models. """ _FAMILY_MAP = { "BADA3": Bada3Aircraft, "BADA4": Bada4Aircraft, "BADAH": BadaHAircraft, } def __new__( cls, badaFamily, badaVersion, acName, **kwargs ) -> Union[Bada3Aircraft, Bada4Aircraft, BadaHAircraft]: target_class = cls._FAMILY_MAP.get(badaFamily) if not target_class: valid_keys = list(cls._FAMILY_MAP.keys()) raise ValueError( f"Unknown BADA family: '{badaFamily}'. Valid options: {valid_keys}" ) return target_class(badaVersion=badaVersion, acName=acName, **kwargs) def __init__(self, *args, **kwargs): pass