Skip to content

Observers

Abstract base for TrackObservers.

TrackObserver

Bases: ABC

Abstract base class for all TrackObservers.

Source code in nowplaying/track/observers/base.py
class TrackObserver(ABC):
    """Abstract base class for all TrackObservers."""

    name = "TrackObserver"

    class Options(ABC):
        """Abstract base class for add TrackObserver.Options."""

        @classmethod
        @abstractmethod
        def args(
            cls: type[TTrackObserverOptions],
            args: configargparse.ArgParser,
        ) -> None:  # pragma: no cover
            """Get args for Options."""

    def get_name(self: Self) -> str:
        """Get name."""
        return self.name

    @abstractmethod
    def track_started(self: Self, track: Track) -> None:  # pragma: no cover
        """Track started."""

    @abstractmethod
    def track_finished(self: Self, track: Track) -> None:  # pragma: no cover
        """Track finished."""

Options

Bases: ABC

Abstract base class for add TrackObserver.Options.

Source code in nowplaying/track/observers/base.py
class Options(ABC):
    """Abstract base class for add TrackObserver.Options."""

    @classmethod
    @abstractmethod
    def args(
        cls: type[TTrackObserverOptions],
        args: configargparse.ArgParser,
    ) -> None:  # pragma: no cover
        """Get args for Options."""

args(args) abstractmethod classmethod

Get args for Options.

Source code in nowplaying/track/observers/base.py
@classmethod
@abstractmethod
def args(
    cls: type[TTrackObserverOptions],
    args: configargparse.ArgParser,
) -> None:  # pragma: no cover
    """Get args for Options."""

get_name()

Get name.

Source code in nowplaying/track/observers/base.py
def get_name(self: Self) -> str:
    """Get name."""
    return self.name

track_finished(track) abstractmethod

Track finished.

Source code in nowplaying/track/observers/base.py
@abstractmethod
def track_finished(self: Self, track: Track) -> None:  # pragma: no cover
    """Track finished."""

track_started(track) abstractmethod

Track started.

Source code in nowplaying/track/observers/base.py
@abstractmethod
def track_started(self: Self, track: Track) -> None:  # pragma: no cover
    """Track started."""