From 7b59e623ff686336b40f015c8205ee705a0bf024 Mon Sep 17 00:00:00 2001 From: Nathan Thomas Date: Wed, 27 Dec 2023 14:40:51 -0800 Subject: [PATCH] Make file names shorter in metadata module (#519) * Rename files in metadata module * Fix tests --- streamrip/__init__.py | 3 +++ streamrip/metadata/__init__.py | 12 +++++----- .../metadata/{album_metadata.py => album.py} | 0 .../{artist_metadata.py => artist.py} | 0 .../metadata/{label_metadata.py => label.py} | 0 .../{playlist_metadata.py => playlist.py} | 4 ++-- streamrip/metadata/tagger.py | 2 +- .../metadata/{track_metadata.py => track.py} | 2 +- tests/silence.flac | Bin 8928 -> 12990 bytes tests/test_qobuz_client.py | 21 +++++++++++++----- tests/test_tagger.py | 3 --- tests/test_track.py | 18 ++++++++++----- 12 files changed, 43 insertions(+), 22 deletions(-) rename streamrip/metadata/{album_metadata.py => album.py} (100%) rename streamrip/metadata/{artist_metadata.py => artist.py} (100%) rename streamrip/metadata/{label_metadata.py => label.py} (100%) rename streamrip/metadata/{playlist_metadata.py => playlist.py} (97%) rename streamrip/metadata/{track_metadata.py => track.py} (99%) diff --git a/streamrip/__init__.py b/streamrip/__init__.py index 8b13789..858e6d5 100644 --- a/streamrip/__init__.py +++ b/streamrip/__init__.py @@ -1 +1,4 @@ +from . import converter, db, exceptions, media, metadata +from .config import Config +__all__ = ["Config", "media", "metadata", "converter", "db", "exceptions"] diff --git a/streamrip/metadata/__init__.py b/streamrip/metadata/__init__.py index 80f5c65..71da8a8 100644 --- a/streamrip/metadata/__init__.py +++ b/streamrip/metadata/__init__.py @@ -1,10 +1,10 @@ """Manages the information that will be embeded in the audio file.""" from . import util -from .album_metadata import AlbumMetadata -from .artist_metadata import ArtistMetadata +from .album import AlbumInfo, AlbumMetadata +from .artist import ArtistMetadata from .covers import Covers -from .label_metadata import LabelMetadata -from .playlist_metadata import PlaylistMetadata +from .label import LabelMetadata +from .playlist import PlaylistMetadata from .search_results import ( AlbumSummary, ArtistSummary, @@ -15,11 +15,13 @@ from .search_results import ( TrackSummary, ) from .tagger import tag_file -from .track_metadata import TrackMetadata +from .track import TrackInfo, TrackMetadata __all__ = [ "AlbumMetadata", "ArtistMetadata", + "AlbumInfo", + "TrackInfo", "LabelMetadata", "TrackMetadata", "PlaylistMetadata", diff --git a/streamrip/metadata/album_metadata.py b/streamrip/metadata/album.py similarity index 100% rename from streamrip/metadata/album_metadata.py rename to streamrip/metadata/album.py diff --git a/streamrip/metadata/artist_metadata.py b/streamrip/metadata/artist.py similarity index 100% rename from streamrip/metadata/artist_metadata.py rename to streamrip/metadata/artist.py diff --git a/streamrip/metadata/label_metadata.py b/streamrip/metadata/label.py similarity index 100% rename from streamrip/metadata/label_metadata.py rename to streamrip/metadata/label.py diff --git a/streamrip/metadata/playlist_metadata.py b/streamrip/metadata/playlist.py similarity index 97% rename from streamrip/metadata/playlist_metadata.py rename to streamrip/metadata/playlist.py index 45a612f..d113ba6 100644 --- a/streamrip/metadata/playlist_metadata.py +++ b/streamrip/metadata/playlist.py @@ -1,8 +1,8 @@ import logging from dataclasses import dataclass -from .album_metadata import AlbumMetadata -from .track_metadata import TrackMetadata +from .album import AlbumMetadata +from .track import TrackMetadata from .util import typed NON_STREAMABLE = "_non_streamable" diff --git a/streamrip/metadata/tagger.py b/streamrip/metadata/tagger.py index 5c74f1d..9ed8173 100644 --- a/streamrip/metadata/tagger.py +++ b/streamrip/metadata/tagger.py @@ -12,7 +12,7 @@ from mutagen.id3 import ( ) from mutagen.mp4 import MP4, MP4Cover -from .track_metadata import TrackMetadata +from .track import TrackMetadata logger = logging.getLogger("streamrip") diff --git a/streamrip/metadata/track_metadata.py b/streamrip/metadata/track.py similarity index 99% rename from streamrip/metadata/track_metadata.py rename to streamrip/metadata/track.py index 8572321..72c6c61 100644 --- a/streamrip/metadata/track_metadata.py +++ b/streamrip/metadata/track.py @@ -4,7 +4,7 @@ import logging from dataclasses import dataclass from typing import Optional -from .album_metadata import AlbumMetadata +from .album import AlbumMetadata from .util import safe_get, typed logger = logging.getLogger("streamrip") diff --git a/tests/silence.flac b/tests/silence.flac index f5b15124da99401fe1c31a7f1dce04c6d6889374..38718eb522157ca3718d8a35e74c6c3f58f1952a 100644 GIT binary patch delta 37 XcmaFhx-WIZDwfTxOiP(?5VsWo18WRH delta 12 Tcmdm&`oML=DwfS1B4%;`DH{b! diff --git a/tests/test_qobuz_client.py b/tests/test_qobuz_client.py index b444ce6..30c6d95 100644 --- a/tests/test_qobuz_client.py +++ b/tests/test_qobuz_client.py @@ -1,14 +1,13 @@ import logging +import os import pytest -from util import afor, arun +from util import arun -from streamrip.config import Config from streamrip.client.downloadable import BasicDownloadable -from streamrip.exceptions import MissingCredentialsError from streamrip.client.qobuz import QobuzClient -from fixtures.clients import qobuz_client - +from streamrip.config import Config +from streamrip.exceptions import MissingCredentialsError logger = logging.getLogger("streamrip") @@ -24,6 +23,9 @@ def test_client_raises_missing_credentials(): arun(QobuzClient(c).login()) +@pytest.mark.skipif( + "QOBUZ_EMAIL" not in os.environ, reason="Qobuz credentials not found in env." +) def test_client_get_metadata(client): meta = arun(client.get_metadata("s9nzkwg2rh1nc", "album")) assert meta["title"] == "I Killed Your Dog" @@ -31,6 +33,9 @@ def test_client_get_metadata(client): assert meta["maximum_bit_depth"] == 24 +@pytest.mark.skipif( + "QOBUZ_EMAIL" not in os.environ, reason="Qobuz credentials not found in env." +) def test_client_get_downloadable(client): d = arun(client.get_downloadable("19512574", 3)) assert isinstance(d, BasicDownloadable) @@ -39,6 +44,9 @@ def test_client_get_downloadable(client): assert "https://" in d.url +@pytest.mark.skipif( + "QOBUZ_EMAIL" not in os.environ, reason="Qobuz credentials not found in env." +) def test_client_search_limit(client): res = client.search("album", "rumours", limit=5) total = 0 @@ -47,6 +55,9 @@ def test_client_search_limit(client): assert total == 5 +@pytest.mark.skipif( + "QOBUZ_EMAIL" not in os.environ, reason="Qobuz credentials not found in env." +) def test_client_search_no_limit(client): # Setting no limit has become impossible because `limit: int` now res = client.search("album", "rumours", limit=10000) diff --git a/tests/test_tagger.py b/tests/test_tagger.py index 71b09c5..fc1681d 100644 --- a/tests/test_tagger.py +++ b/tests/test_tagger.py @@ -3,9 +3,6 @@ from mutagen.flac import FLAC from util import arun from streamrip.metadata import * -from streamrip.metadata.tagger import tag_file -from streamrip.metadata.track_metadata import TrackInfo -from streamrip.metadata.album_metadata import AlbumInfo test_flac = "tests/silence.flac" test_cover = "tests/1x1_pixel.jpg" diff --git a/tests/test_track.py b/tests/test_track.py index 159c99b..aed0408 100644 --- a/tests/test_track.py +++ b/tests/test_track.py @@ -1,24 +1,32 @@ import os import shutil +import pytest from util import arun +import streamrip.db as db from streamrip.client.downloadable import Downloadable from streamrip.client.qobuz import QobuzClient from streamrip.media.track import PendingSingle, Track -import streamrip.db as db -from fixtures.clients import qobuz_client +@pytest.mark.skipif( + "QOBUZ_EMAIL" not in os.environ, reason="Qobuz credentials not found in env." +) def test_pending_resolve(qobuz_client: QobuzClient): qobuz_client.config.session.downloads.folder = "./tests" - p = PendingSingle("19512574", qobuz_client, qobuz_client.config, db.Database(db.Dummy(), db.Dummy())) + p = PendingSingle( + "19512574", + qobuz_client, + qobuz_client.config, + db.Database(db.Dummy(), db.Dummy()), + ) t = arun(p.resolve()) dir = "tests/tests/Fleetwood Mac - Rumours (1977) [FLAC] [24B-96kHz]" assert os.path.isdir(dir) assert os.path.isfile(os.path.join(dir, "cover.jpg")) - #embedded_cover_path aka t.cover_path is - #./tests/./tests/Fleetwood Mac - Rumours (1977) [FLAC] [24B-96kHz]/ + # embedded_cover_path aka t.cover_path is + # ./tests/./tests/Fleetwood Mac - Rumours (1977) [FLAC] [24B-96kHz]/ # __artwork/cover-9202762427033526105.jpg assert os.path.isfile(t.cover_path) assert isinstance(t, Track)