[PR #6] [CLOSED] Added support for downloading discographies, albums #6

Closed
opened 2026-02-28 14:17:56 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/AmarnathCJD/Spot-DL/pull/6
Author: @ghost
Created: 1/12/2026
Status: Closed

Base: kHead: k


📝 Commits (6)

  • d94fecf Added support for searching albums, artists, downloading discographies, downloading albums
  • c1b9ec3 Added config.toml
  • 6dd9cf8 Added config.toml and .cache to .gitignore
  • 613f175 added url to config.toml
  • d001206 Added requirements
  • 9385dc7 Fixed a bug

📊 Changes

9 files changed (+279 additions, -24 deletions)

View changed files

📝 .gitignore (+3 -0)
album_utils.py (+88 -0)
artist_utils.py (+48 -0)
audio_utils.py (+26 -0)
config.toml (+13 -0)
📝 decrypt.py (+19 -17)
filesystem_utils.py (+16 -0)
📝 main.py (+63 -6)
📝 requirements.txt (+3 -1)

📄 Description

Changes

  • New arguments:

    • Added arguments for:
      • --album download a specific album, can be combined with --artist to refine the search
      • --artist download all albums by an artist
      • --url download by Spotify album/artist URL
      • --audio-format choose between ogg/mp3
  • Names, urls, directories:

    • URLs for albums, artists, and tracks are parsed and handled
    • Uses Spotipy to resolve names from IDs
    • Album directories are structured appropriately as <artist>/<album>/...
  • New requirements:

    • libmp3lame for ffmpeg, if -x mp3 is passed (this is lame on arch (btw))
    • python: toml, spotipy
  • Config file:

    • config.toml was added for:
      • spotify_api_id developer API key, required for searches
      • spotify_api_secret developer API secret, required for searches
      • library_path export path for downloaded albums
      • track_sleep time to sleep between tracks
      • album_sleep time to sleep between albums
  • Original code:

    • Existing API endpoints and usage are preserved
    • CLI and API can be used interchangeably
    • Starts the same with no CLI args:
      python main.py

Usage

  • CLI Examples:
    • Download an album:
      python main.py --album "Album Name" --artist "Artist Name"
    • Download all albums by an artist:
      python main.py --artist "Artist Name"
    • Download by Spotify URL:
      python main.py --url https://open.spotify.com/album/...

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/AmarnathCJD/Spot-DL/pull/6 **Author:** [@ghost](https://github.com/ghost) **Created:** 1/12/2026 **Status:** ❌ Closed **Base:** `k` ← **Head:** `k` --- ### 📝 Commits (6) - [`d94fecf`](https://github.com/AmarnathCJD/Spot-DL/commit/d94fecfe1cf4307810c368c66691f8e7c879275b) Added support for searching albums, artists, downloading discographies, downloading albums - [`c1b9ec3`](https://github.com/AmarnathCJD/Spot-DL/commit/c1b9ec3b69142986897a24bb1f731c101661fae5) Added config.toml - [`6dd9cf8`](https://github.com/AmarnathCJD/Spot-DL/commit/6dd9cf8b13ec3b342f07dfe4a9669f070dcaa4cc) Added config.toml and .cache to .gitignore - [`613f175`](https://github.com/AmarnathCJD/Spot-DL/commit/613f175e8587fae736940970108fb4363c479a87) added url to config.toml - [`d001206`](https://github.com/AmarnathCJD/Spot-DL/commit/d0012065fe0f8940df022f815379ae46dae6f679) Added requirements - [`9385dc7`](https://github.com/AmarnathCJD/Spot-DL/commit/9385dc703b942219726fd5dc703505321d41939e) Fixed a bug ### 📊 Changes **9 files changed** (+279 additions, -24 deletions) <details> <summary>View changed files</summary> 📝 `.gitignore` (+3 -0) ➕ `album_utils.py` (+88 -0) ➕ `artist_utils.py` (+48 -0) ➕ `audio_utils.py` (+26 -0) ➕ `config.toml` (+13 -0) 📝 `decrypt.py` (+19 -17) ➕ `filesystem_utils.py` (+16 -0) 📝 `main.py` (+63 -6) 📝 `requirements.txt` (+3 -1) </details> ### 📄 Description ### Changes - **New arguments**: - Added arguments for: - `--album` download a specific album, can be combined with `--artist` to refine the search - `--artist` download all albums by an artist - `--url` download by Spotify album/artist URL - `--audio-format` choose between ogg/mp3 - **Names, urls, directories**: - URLs for albums, artists, and tracks are parsed and handled - Uses Spotipy to resolve names from IDs - Album directories are structured appropriately as `<artist>/<album>/...` - **New requirements**: - `libmp3lame` for ffmpeg, if `-x mp3` is passed (this is `lame` on arch (btw)) - python: `toml`, `spotipy` - **Config file**: - `config.toml` was added for: - `spotify_api_id` developer API key, required for searches - `spotify_api_secret` developer API secret, required for searches - `library_path` export path for downloaded albums - `track_sleep` time to sleep between tracks - `album_sleep` time to sleep between albums - **Original code**: - Existing API endpoints and usage are preserved - CLI and API can be used interchangeably - Starts the same with no CLI args: `python main.py` ### Usage - **CLI Examples:** - Download an album: `python main.py --album "Album Name" --artist "Artist Name"` - Download all albums by an artist: `python main.py --artist "Artist Name"` - Download by Spotify URL: `python main.py --url https://open.spotify.com/album/...` --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-02-28 14:17:56 +03:00
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/Spot-DL#6
No description provided.