22 lines
525 B
Python
22 lines
525 B
Python
from abc import ABC, abstractmethod
|
|
|
|
from spotify_shortcuts.config import Config
|
|
from spotipy import Spotify
|
|
|
|
|
|
class Shortcut(ABC):
|
|
@abstractmethod
|
|
def execute(self, client: Spotify, config: Config):
|
|
"""Execute the shortcut action."""
|
|
pass
|
|
|
|
@abstractmethod
|
|
def get_help(self) -> str:
|
|
"""Return a description of the shortcut."""
|
|
pass
|
|
|
|
@abstractmethod
|
|
def get_scopes(self) -> list[str]:
|
|
"""Return the spotify API scopes required for the shortcut."""
|
|
pass
|