Skip to content

Commit

Permalink
Release v4.0.7
Browse files Browse the repository at this point in the history
  • Loading branch information
xnetcat authored Jan 10, 2023
2 parents 49abfa2 + e4738aa commit 23d18c3
Show file tree
Hide file tree
Showing 9 changed files with 1,623 additions and 1,368 deletions.
2,888 changes: 1,559 additions & 1,329 deletions poetry.lock

Large diffs are not rendered by default.

67 changes: 36 additions & 31 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[tool.poetry]
name = "spotdl"
version = "4.0.6"
version = "4.0.7"
description = "Download your Spotify playlists and songs along with album art and metadata"
license = "MIT"
authors = ["spotDL Team <spotdladmins@googlegroups.com>"]
Expand All @@ -26,49 +26,54 @@ classifiers = [
]

[tool.poetry.dependencies]
python = ">=3.7,<=3.11"
python = ">=3.7.2,<3.12"

spotipy = "^2.20.0"
ytmusicapi = "^0.22.0"
pytube = "^12.1.0"
yt-dlp = "^2022.10.4"
spotipy = "^2.22.0"
ytmusicapi = [
{version = "^0.22.0", python = "<3.8"},
{version = "^0.24.0", python = ">=3.8"},
]
pytube = "^12.1.2"
yt-dlp = "^2023.1.6"
mutagen = "^1.46.0"
rich = "^12.6.0"
rich = "^13.0.1"
beautifulsoup4 = "^4.11.1"
requests = "^2.28.1"
rapidfuzz = "^2.13.4"
python-slugify = "^6.1.2"
uvicorn = "^0.17.6"
pydantic = "^1.10.2"
fastapi = "^0.78.0"
platformdirs = "^2.5.4"
rapidfuzz = "^2.13.7"
python-slugify = "^7.0.0"
uvicorn = "^0.20.0"
pydantic = "^1.10.4"
fastapi = "!= 0.89.0"
platformdirs = "^2.6.2"
pykakasi = "^2.2.1"
syncedlyrics = "^0.2.1"

[tool.poetry.dev-dependencies]
pytest = "^7.2.0"
pytest-mock = "^3.10.0"
pytest-vcr = "^1.0.2"
pyfakefs = "^4.7.0"
pytest-cov = "^3.0.0"
pyfakefs = "^5.0.0"
pytest-cov = "^4.0.0"
pytest-subprocess = "^1.4.2"
pytest-asyncio = "^0.18.3"
mypy = "^0.961"
pylint = "^2.13.9"
pytest-asyncio = "^0.20.3"
mypy = "^0.991"
pylint = "^2.15.10"
black = "^22.12.0"
mdformat-gfm = "^0.3.5"
types-orjson = "^3.6.2"
types-python-slugify = "^5.0.4"
types-requests = "^2.28.11.2"
types-setuptools = "^57.4.18"
types-toml = "^0.10.8"
types-ujson = "^5.5.0"
pyinstaller = "^5.6"
mkdocs = "^1.4.1"
mkdocs-material = "^8.5.7"
mkdocstrings = "^0.19.0"
mkdocstrings-python = "^0.7.1"
pymdown-extensions = "^9.7"
mkdocs-gen-files = "^0.3.5"
mkdocs-literate-nav = "^0.4.1"
types-python-slugify = "^7.0.0.1"
types-requests = "^2.28.11.7"
types-setuptools = "^65.6.0.3"
types-toml = "^0.10.8.1"
types-ujson = "^5.7.0.0"
pyinstaller = "^5.7.0"
mkdocs = "^1.4.2"
mkdocs-material = "^9.0.3"
mkdocstrings = "^0.19.1"
mkdocstrings-python = "^0.8.3"
pymdown-extensions = "^9.9"
mkdocs-gen-files = "^0.4.0"
mkdocs-literate-nav = "^0.6.0"
mkdocs-section-index = "^0.3.4"

[tool.poetry.scripts]
Expand Down
2 changes: 1 addition & 1 deletion spotdl/_version.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
Version module for spotdl.
"""

__version__ = "4.0.6"
__version__ = "4.0.7"
6 changes: 3 additions & 3 deletions spotdl/providers/audio/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,21 +21,21 @@ class YTDLLogger:
Custom YT-dlp logger.
"""

def debug(self, msg): # pylint: disable=R0201
def debug(self, msg):
"""
YTDL uses this to print debug messages.
"""

pass # pylint: disable=W0107

def warning(self, msg): # pylint: disable=R0201
def warning(self, msg):
"""
YTDL uses this to print warnings.
"""

pass # pylint: disable=W0107

def error(self, msg): # pylint: disable=R0201
def error(self, msg):
"""
YTDL uses this to print errors.
"""
Expand Down
14 changes: 14 additions & 0 deletions spotdl/types/saved.py
Original file line number Diff line number Diff line change
Expand Up @@ -84,3 +84,17 @@ def get_metadata(url: str = "saved") -> Dict[str, Any]:
"""

return {"name": "Saved tracks", "url": url}

@classmethod
def search(cls, _: str):
"""
Search for a saved list.
### Arguments
- search_term: The search term.
### Returns
- The Saved object.
"""

return cls.create_basic_list()
6 changes: 3 additions & 3 deletions spotdl/utils/web.py
Original file line number Diff line number Diff line change
Expand Up @@ -211,7 +211,7 @@ async def websocket_endpoint(websocket: WebSocket, client_id: str):
await app_state.server.shutdown()


@router.get("/api/song/url")
@router.get("/api/song/url", response_model=None)
def song_from_url(url: str) -> Song:
"""
Search for a song on spotify using url.
Expand All @@ -226,7 +226,7 @@ def song_from_url(url: str) -> Song:
return Song.from_url(url)


@router.get("/api/songs/search")
@router.get("/api/songs/search", response_model=None)
def query_search(query: str) -> List[Song]:
"""
Parse search term and return list of Song objects.
Expand All @@ -241,7 +241,7 @@ def query_search(query: str) -> List[Song]:
return get_search_results(query)


@router.get("/api/albums/search")
@router.get("/api/albums/search", response_model=None)
def query_search_albums(query: str) -> List[Album]:
"""
Parse search term and return list of Album objects.
Expand Down
6 changes: 5 additions & 1 deletion tests/test_matching.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,11 @@
# so we can only find the lyrics version of it
# which is fine but not ideal
"https://open.spotify.com/track/1zi7xx7UVEFkmKfv06H8x0",
["https://www.youtube.com/watch?v=ki0Ocze98U8"],
[
"https://www.youtube.com/watch?v=ki0Ocze98U8",
"https://www.youtube.com/watch?v=2Hr8Ae6yc9A",
"https://www.youtube.com/watch?v=p55-ZrnPDH8",
],
),
(
"https://open.spotify.com/track/2eaSMmKfigsm96aTUJMoIk",
Expand Down
1 change: 1 addition & 0 deletions tests/utils/test_m3u.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@

PLAYLIST = "https://open.spotify.com/playlist/5LkNhFidYyyjRWwnkcMbQs"


def test_create_m3u_content():
playlist = Playlist.from_url(PLAYLIST)
content = create_m3u_content(
Expand Down
1 change: 1 addition & 0 deletions tests/utils/test_search.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ def test_parse_song():
assert len(songs) == 1
assert song.download_url == None


@pytest.mark.vcr()
def test_parse_album():
songs = parse_query(ALBUM)
Expand Down

0 comments on commit 23d18c3

Please sign in to comment.