Source code for aionowplaying.interface

import importlib
import sys
from typing import Type

from aionowplaying.interface.base import BaseInterface

INTERFACES_BY_SYSTEM = {
    'linux': 'aionowplaying.interface.mpris2.Mpris2Interface',
    'win32': 'aionowplaying.interface.windows.WindowsInterface',
    'darwin': 'aionowplaying.interface.macos.MacOSInterface',
}


[docs] def select_interface(system: str = None) -> Type[BaseInterface]: if system is None: system = sys.platform name = INTERFACES_BY_SYSTEM.get(system, 'aionowplaying.interface.base.BaseInterface') mod = name.rsplit('.', 1) return getattr(importlib.import_module(mod[0]), mod[1])