Skip to content

Commit

Permalink
Remove clone methods
Browse files Browse the repository at this point in the history
  • Loading branch information
andrewsayre committed Jan 24, 2025
1 parent 400aafe commit 79311fe
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 55 deletions.
28 changes: 0 additions & 28 deletions pyheos/media.py
Original file line number Diff line number Diff line change
Expand Up @@ -91,18 +91,6 @@ def _update_from_data(self, data: dict[str, Any]) -> None:
self.available = data[c.ATTR_AVAILABLE] == c.VALUE_TRUE
self.service_username = data.get(c.ATTR_SERVICE_USER_NAME)

def clone(self) -> "MediaMusicSource":
"""Create a new instance from the current instance."""
return MediaMusicSource(
source_id=self.source_id,
name=self.name,
type=self.type,
image_url=self.image_url,
available=self.available,
service_username=self.service_username,
heos=self.heos,
)

async def refresh(self) -> None:
"""Refresh the instance with the latest data."""
assert self.heos, "Heos instance not set"
Expand Down Expand Up @@ -163,22 +151,6 @@ def from_data(
heos=heos,
)

def clone(self) -> "MediaItem":
return MediaItem(
source_id=self.source_id,
name=self.name,
type=self.type,
image_url=self.image_url,
playable=self.playable,
browsable=self.browsable,
container_id=self.container_id,
media_id=self.media_id,
artist=self.artist,
album=self.album,
album_id=self.album_id,
heos=self.heos,
)

async def browse(
self,
range_start: int | None = None,
Expand Down
37 changes: 10 additions & 27 deletions tests/conftest.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
"""Test fixtures for pyheos."""

import dataclasses
from collections.abc import AsyncGenerator, Callable, Coroutine
from typing import Any

Expand Down Expand Up @@ -78,65 +79,47 @@ async def target(*args: Any, **kwargs: Any) -> None:

@pytest.fixture
def media_music_source(heos: MockHeos) -> MediaMusicSource:
source = MediaMusicSources.FAVORITES.clone()
source.heos = heos
return source
return dataclasses.replace(MediaMusicSources.FAVORITES, heos=heos)


@pytest.fixture
def media_music_source_unavailable(heos: MockHeos) -> MediaMusicSource:
source = MediaMusicSources.PANDORA.clone()
source.heos = heos
return source
return dataclasses.replace(MediaMusicSources.PANDORA, heos=heos)


@pytest.fixture
def media_music_source_tidal(heos: MockHeos) -> MediaMusicSource:
source = MediaMusicSources.TIDAL.clone()
source.heos = heos
return source
return dataclasses.replace(MediaMusicSources.TIDAL, heos=heos)


@pytest.fixture
def media_item_album(heos: MockHeos) -> MediaItem:
source = MediaItems.ALBUM.clone()
source.heos = heos
return source
return dataclasses.replace(MediaItems.ALBUM, heos=heos)


@pytest.fixture
def media_item_song(heos: MockHeos) -> MediaItem:
source = MediaItems.SONG.clone()
source.heos = heos
return source
return dataclasses.replace(MediaItems.SONG, heos=heos)


@pytest.fixture(name="media_item_input")
def media_item_input_fixture(heos: MockHeos) -> MediaItem:
source = MediaItems.INPUT.clone()
source.heos = heos
return source
return dataclasses.replace(MediaItems.INPUT, heos=heos)


@pytest.fixture
def media_item_station(heos: MockHeos) -> MediaItem:
source = MediaItems.STATION.clone()
source.heos = heos
return source
return dataclasses.replace(MediaItems.STATION, heos=heos)


@pytest.fixture
def media_item_playlist(heos: MockHeos) -> MediaItem:
source = MediaItems.PLAYLIST.clone()
source.heos = heos
return source
return dataclasses.replace(MediaItems.PLAYLIST, heos=heos)


@pytest.fixture
def media_item_device(heos: MockHeos) -> MediaItem:
source = MediaItems.DEVICE.clone()
source.heos = heos
return source
return dataclasses.replace(MediaItems.DEVICE, heos=heos)


@pytest_asyncio.fixture(name="player")
Expand Down

0 comments on commit 79311fe

Please sign in to comment.