From a6e6cb7e71208c1bf0fe37c3f6d0204851918129 Mon Sep 17 00:00:00 2001 From: Marvin Schenkel Date: Thu, 7 Jul 2022 16:28:37 +0200 Subject: [PATCH] Remove ytmusic example --- examples/ytmusic.py | 157 -------------------------------------------- 1 file changed, 157 deletions(-) delete mode 100644 examples/ytmusic.py diff --git a/examples/ytmusic.py b/examples/ytmusic.py deleted file mode 100644 index 6e7c77bb..00000000 --- a/examples/ytmusic.py +++ /dev/null @@ -1,157 +0,0 @@ -"""Example file to play music from YTM. Might omit later""" -import argparse -import asyncio -import logging -import os -from os.path import abspath, dirname -from sys import path - -path.insert(1, dirname(dirname(abspath(__file__)))) - -# pylint: disable=wrong-import-position -from music_assistant.mass import MusicAssistant -from music_assistant.models.config import MassConfig, MusicProviderConfig -from music_assistant.models.enums import ProviderType -from music_assistant.models.player import Player, PlayerState - -parser = argparse.ArgumentParser(description="MusicAssistant") -parser.add_argument( - "--youtubemusic_username", - required=False, - help="YoutubeMusic username", -) -parser.add_argument( - "--youtubemusic_cookie", - required=False, - help="YoutubeMusic cookie", -) -args = parser.parse_args() - -# setup logger -logging.basicConfig( - level=logging.DEBUG, - format="%(asctime)-15s %(levelname)-5s %(name)s -- %(message)s", -) -# silence some loggers -logging.getLogger("aiorun").setLevel(logging.WARNING) -logging.getLogger("asyncio").setLevel(logging.INFO) -logging.getLogger("aiosqlite").setLevel(logging.WARNING) -logging.getLogger("databases").setLevel(logging.WARNING) - - -# default database based on sqlite -data_dir = os.getenv("APPDATA") if os.name == "nt" else os.path.expanduser("~") -data_dir = os.path.join(data_dir, ".musicassistant") -if not os.path.isdir(data_dir): - os.makedirs(data_dir) -db_file = os.path.join(data_dir, "music_assistant.db") - - -mass_conf = MassConfig( - database_url=f"sqlite:///{db_file}", -) - -if args.youtubemusic_username and args.youtubemusic_cookie: - mass_conf.providers.append( - MusicProviderConfig( - ProviderType.YTMUSIC, - username=args.youtubemusic_username, - password=args.youtubemusic_cookie, - ) - ) - - -class TestPlayer(Player): - """Demonstatration player implementation.""" - - def __init__(self, player_id: str): - """Init.""" - self.player_id = player_id - self._attr_name = player_id - self._attr_powered = True - self._attr_elapsed_time = 0 - self._attr_current_url = "" - self._attr_state = PlayerState.IDLE - self._attr_available = True - self._attr_volume_level = 100 - - async def play_url(self, url: str) -> None: - """Play the specified url on the player.""" - print(f"stream url: {url}") - self._attr_current_url = url - self.update_state() - - async def stop(self) -> None: - """Send STOP command to player.""" - print("stop called") - self._attr_state = PlayerState.IDLE - self._attr_current_url = None - self._attr_elapsed_time = 0 - self.update_state() - - async def play(self) -> None: - """Send PLAY/UNPAUSE command to player.""" - print("play called") - self._attr_state = PlayerState.PLAYING - self._attr_elapsed_time = 1 - self.update_state() - - async def pause(self) -> None: - """Send PAUSE command to player.""" - print("pause called") - self._attr_state = PlayerState.PAUSED - self.update_state() - - async def power(self, powered: bool) -> None: - """Send POWER command to player.""" - print(f"POWER CALLED - new power: {powered}") - self._attr_powered = powered - self._attr_current_url = None - self.update_state() - - async def volume_set(self, volume_level: int) -> None: - """Send volume level (0..100) command to player.""" - print(f"volume_set called - {volume_level}") - self._attr_volume_level = volume_level - self.update_state() - - -async def main(): - """Handle main execution.""" - - asyncio.get_event_loop().set_debug(True) - - async with MusicAssistant(mass_conf) as mass: - # get some data - ytm = mass.music.get_provider(ProviderType.YTMUSIC) - # track = await ytm.get_track("pE3ju1qS848") - # album = await ytm.get_album("MPREb_AYetWMZunqA") - # await ytm.get_artist_albums("UCFpQsnvFBNlXi7rwQo6IW7g") - tracks = await ytm.get_album_tracks("MPREb_LbqtMRfZssH") - # artist = await ytm.get_artist("UCRwXXG8ovUxqsJe_VwzdnXg") - # print(artist) - for track in tracks: - print(track) - # start sync - # await mass.music.start_sync(schedule=3) - # artists = await mass.music.artists.count() - # print(f"Got {artists} artists in library") - # albums = await mass.music.albums.count() - # print(f"Got {albums} albums in library") - # tracks = await mass.music.tracks.count() - # print(f"Got {tracks} tracks in library") - # playlists = await mass.music.playlists.library() - # print(f"Got {len(playlists)} playlists in library") - # artists = await mass.music.artists.count() - # print(f"Got {artists} artists in library") - # albums = await mass.music.albums.count() - # print(f"Got {albums} albums in library") - - await asyncio.sleep(3600) - - -if __name__ == "__main__": - try: - asyncio.run(main()) - except KeyboardInterrupt: - pass -- 2.34.1